- Rust 42%
- JavaScript 22.3%
- TypeScript 15.4%
- Svelte 10.7%
- Python 8.3%
- Other 1.1%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014qEmEDW2NSgMgEoADduiQi |
||
| .forgejo/workflows | ||
| apps | ||
| assets/brand/app-icon | ||
| bench | ||
| contracts | ||
| crates | ||
| deploy | ||
| docs | ||
| fuzz | ||
| licenses/voice | ||
| packages | ||
| scripts | ||
| spikes | ||
| tests | ||
| vendor/sherpa-onnx-sys | ||
| .containerignore | ||
| .editorconfig | ||
| .gitignore | ||
| AGENTS.md | ||
| audit-findings.md | ||
| bun.lock | ||
| Cargo.lock | ||
| Cargo.toml | ||
| CLAUDE.md | ||
| Containerfile | ||
| CONTEXT.md | ||
| CONTRIBUTING.md | ||
| deny.toml | ||
| LICENSE | ||
| NOTICE | ||
| package.json | ||
| README.md | ||
| review-1110.md | ||
| review-1130.md | ||
| review-1140-second.md | ||
| review-1140.md | ||
| review-1148.md | ||
| review-1153.md | ||
| review-1157.md | ||
| review-1160.md | ||
| review-findings.md | ||
| rust-toolchain.toml | ||
calternal
calternal is a self-hosted personal and company cloud. The repository starts with a Rust server and a static SvelteKit web app; feature crates and API contracts are added in separate work.
Requirements
- Rust 1.98.1 with
rustfmtandclippy(selected byrust-toolchain.toml) - Bun 1.4 or newer
Run the web app
From the repository root:
bun install
cd apps/web
bun run dev
The web app uses Svelte 5 runes, TypeScript strict mode, Tailwind CSS v4,
shadcn-svelte and bits-ui. ⌘K (or Ctrl+K) opens the command menu.
Build and run the server
Build the SPA first so the server can embed apps/web/build:
bun run --cwd apps/web build
export CARGO_PROFILE_DEV_DEBUG=line-tables-only
export CARGO_INCREMENTAL=0
cargo run -p calternal-server
The server listens on 127.0.0.1:8080 by default. It reads optional settings
from config.toml in the current directory, then applies CALTERNAL_*
environment variables. crates/calternal-server/config.example.toml shows the
available initial settings; for example,
CALTERNAL_SERVER__BIND=0.0.0.0:8080 overrides the bind address.
Set CALTERNAL_SERVER__TRACE_WRITES=true for one profiling run to emit
trace-only write-stage timings. The default is off.
Checks
export CARGO_PROFILE_DEV_DEBUG=line-tables-only
export CARGO_INCREMENTAL=0
cargo fmt --check
cargo clippy --all-targets -- -D warnings
cargo test
bun install
cd apps/web
bun run check
bun run test
bun run build
The multi-stage Containerfile builds the SPA, embeds it in the server binary,
and runs the final image as a non-root user with /data as its data directory.
License
AGPL-3.0-only. See LICENSE.