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,--versionare documented from README/CLAUDE.md.src/cli/main.tsdoes not exist yet — confirm exact flags and add any missing ones (e.g.--benchmark-startupis internal; keep it out). -
khaelor --versionoutput format — install.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.tsas 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 indocs/commands.htmlonce 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/statusoutput content (docs/commands.html#cmd-status is inferred). - Implemented today and verified against code:
/diff(d),/cost,/help,/quit(Ctrl+D),Ctrl+Kpalette. - Config keys (
docs/configuration.html): verified againstsrc/config/schema.ts(model,auxModel,thinking,maxOutputTokens,permissions; defaults claude-sonnet-4-5 / claude-haiku-4-5 / adaptive / 16000). NOTE: the implementedpermissionsschema is currently the flatcapability → actionshorthand only — the nested/rulesforms documented on docs/permissions.html come from PERMISSION_MODEL §4.1. Confirm the loader accepts them before launch, or trim the example. - Theme key —
/configpanel mock shows aThemerow (khaelor-dark);themeis not insrc/config/schema.tsyet. Confirm or remove from the docs/configuration.html panel mock. - Session storage path — docs say
~/.khaelor/sessions/;src/session/store.tsshould confirm the exact location. - Spill paths — TOOL_PROTOCOL uses
~/.khaelor/tool-output/but TUI_DESIGN §6.2 shows~/.khaelor/tool-out/. Docs standardized ontool-output— confirm insrc/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/whenkhaeloris published to the npm registry, update index.html, getting-started.html, faq.html (npm uninstall -g khaeloralready assumes the package name), and install.sh to prefernpm install -g khaelor. - Keychain API key storage — CLAUDE.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 aswebsite/artifacts/khaelor.tgzon 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