Commands¶
Run kenn-forge or kenn-forge --help for the complete command tree. Flags
are scoped to the commands that use them; check command help before scripting.
Manage the daemon¶
kenn-forge daemon start
kenn-forge daemon status
kenn-forge daemon status --json
kenn-forge daemon restart
kenn-forge daemon stop
daemon start and daemon stop are idempotent. Start returns after the daemon
publishes its ready identity and safely reuses a compatible running process.
Use daemon restart after changing startup configuration or replacing the
binary.
On Unix, stop sends SIGTERM once. If the daemon does not exit within 15 seconds, the command leaves it running and directs you to inspect and terminate it manually rather than risking a force-kill of a reused PID.
For foreground development or diagnosis, use:
Foreground starts reject a second process using the same data directory.
Check build information¶
The JSON object contains name, version, commit, and buildDate.
buildDate is a UTC RFC3339 timestamp or unknown for an uninjected build.
This command does not read config or connect to a daemon.
Query and sync data¶
The CLI includes commands for activity, issues, pulls, repos,
repo-summaries, stacks, workspaces, rate-limits, and sync. Use the
command help before scripting an output shape:
Relay an API request¶
kenn-forge api list
kenn-forge api GET /api/v1/version
kenn-forge api POST /api/v1/sync
kenn-forge api -i GET /api/v1/pulls
kenn-forge api discovers the selected daemon and supplies its local
credential. Use --data @- to read a request body from stdin. Exit status 0
means 2xx, 1 means another HTTP status, and 2 means no request was made.
Manage historical archives¶
kenn-forge archive start --all
kenn-forge archive start --repo 'github|github.com/owner/repo'
kenn-forge archive status --json
kenn-forge archive pause --all
kenn-forge archive report --days 7
kenn-forge archive report --start 2026-07-01 --end 2026-07-07 --verbose
Use repeated --repo flags for multiple repositories. Reports default to
Markdown. Add --format json or --output PATH when needed.
See Historical activity archive for coverage and status rules.
Read configuration¶
Use Settings or edit TOML for normal configuration changes.
Set up and manage a fleet¶
kenn-forge fleet setup hub --tailscale
kenn-forge fleet setup spoke --tailscale
kenn-forge fleet setup hub --origin https://forge.internal.example
kenn-forge fleet setup spoke --origin https://spoke.internal.example
kenn-forge fleet enrollment-token --base-url https://forge.internal.example
kenn-forge fleet join https://forge.internal.example \
--base-url https://spoke.internal.example
kenn-forge fleet prepare-spoke
kenn-forge fleet abort-preparation
kenn-forge fleet revoke ENROLLMENT_ID
Setup requires exactly one publication mode. --tailscale manages a Tailscale
Serve mapping and browser identity; --origin uses operator-managed private
HTTPS and never invokes Tailscale. See Federated Forge for
the complete enrollment and verification workflow, including
replacing a hub.
For a service with a custom config, pass the same --config /path/to/config.toml
to every fleet command. Joining and preparing use the existing local daemon;
they do not reinstall its service. fleet setup is not needed just to move an
already configured spoke to a new hub.
Manage Docs folders¶
kenn-forge docs list-folders
kenn-forge docs add-folder --name Docs ~/docs
kenn-forge docs add-folder --id project --daemon kata-main ~/project-docs
kenn-forge docs remove-folder project
These commands manage [[doc_folders]] in the selected config file.
Install agent activity hooks¶
kenn-forge agent-hook install
kenn-forge agent-hook install --agent codex
kenn-forge agent-hook uninstall
kenn-forge agent-hook uninstall --agent codex
Without --agent, install or remove every supported integration. Installed
hooks send lifecycle activity to the running daemon. Codex asks you to review
the installed commands through /hooks once.
Manage GitHub App credentials¶
kenn-forge-github-app create
kenn-forge-github-app create --org your-org
kenn-forge-github-app create --role archive
kenn-forge-github-app list
kenn-forge-github-app install
kenn-forge-github-app uninstall
kenn-forge-github-app delete
kenn-forge-github-app open
Use this companion CLI when sync or archive reads should use GitHub App
installation tokens. create --org your-org creates an organization-owned
App; omit --org for personal ownership. Creation includes a browser-based
installation step. See GitHub App reads
for setup and rate limits.
--role archive creates a separate installation route
for historical archive work. Comments, reviews, state changes, and merges
still use the user PAT chain.