SPB Git

spb/khaelor Public

KHAELOR — a terminal-native autonomous engineering agent powered by Anthropic.

TypeScript 82.9% HTML 14.9% CSS 1.1% JavaScript 0.7%
4.1 KB

# Content TODO — verify against final CLI

The docs were written from the Phase 1 design contracts (docs/TUI_DESIGN.md, docs/TOOL_PROTOCOL.md, docs/PERMISSION_MODEL.md, CLAUDE.md) and the implemented src/ where it exists. As of writing, src/cli/ does not exist yet (package.json points bin at dist/cli/main.js), and several slash commands are registered as honest "not wired in this build" placeholders in src/tui/app.ts. Re-verify the following once the CLI lands.

# Verify against final CLI

  • CLI flags (docs/getting-started.html#cli-flags): --model, --print, --debug, --version are documented from README/CLAUDE.md. src/cli/main.ts does not exist yet — confirm exact flags and add any missing ones (e.g. --benchmark-startup is internal; keep it out).
  • khaelor --version output formatinstall.sh captures and prints it; confirm it prints a bare version (installer displays it verbatim).
  • Slash commands not yet implemented (placeholders in src/tui/app.ts as of 2026-08-09): /model (Phase 3), /config (Phase 3), /sessions (Phase 6), /context (Phase 6), /compact (Phase 6), /processes (Phase 5), /permissions (Phase 4). Docs describe the designed (final) behavior — confirm panels match the spec screenshots in docs/commands.html once wired.
  • Slash commands documented but not yet registered at all in src/tui/app.ts: /resume, /new, /rename, /clear, /status. They are in the TUI_DESIGN §4.1 V1 set — confirm they ship, and confirm /status output content (docs/commands.html#cmd-status is inferred).
  • Implemented today and verified against code: /diff (d), /cost, /help, /quit (Ctrl+D), Ctrl+K palette.
  • Config keys (docs/configuration.html): verified against src/config/schema.ts (model, auxModel, thinking, maxOutputTokens, permissions; defaults claude-sonnet-4-5 / claude-haiku-4-5 / adaptive / 16000). NOTE: the implemented permissions schema is currently the flat capability → action shorthand only — the nested/rules forms documented on docs/permissions.html come from PERMISSION_MODEL §4.1. Confirm the loader accepts them before launch, or trim the example.
  • Theme key/config panel mock shows a Theme row (khaelor-dark); theme is not in src/config/schema.ts yet. Confirm or remove from the docs/configuration.html panel mock.
  • Session storage path — docs say ~/.khaelor/sessions/; src/session/store.ts should confirm the exact location.
  • Spill paths — TOOL_PROTOCOL uses ~/.khaelor/tool-output/ but TUI_DESIGN §6.2 shows ~/.khaelor/tool-out/. Docs standardized on tool-output — confirm in src/tools/truncate.ts.
  • Default bash timeout / cap (120 s / 300 s), grep 100-line cap, read 2000-line default — confirm constants in src/tools/* match.
  • npm distribution: docs and installer assume the tarball URL (https://www.khaelor.sh/khaelor.tgz). If/when khaelor is published to the npm registry, update index.html, getting-started.html, faq.html (npm uninstall -g khaelor already assumes the package name), and install.sh to prefer npm install -g khaelor.
  • Keychain API key storageCLAUDE.md §6 mentions optional keychain storage; docs currently say "environment only" (matches implemented loader). Update if keychain support ships.

# Deploy-time

  • Build tarball from repo root (npm run build && npm pack) and drop as website/artifacts/khaelor.tgz on the serving node.
  • Smoke-test the full installer path end-to-end on a clean machine once the tarball is real: curl -fsSL https://www.khaelor.sh/install.sh | sh.

Author: Simon-Pierre Boucher · contact@spboucher.ai