ccft: an agentic self improvement tool. A streaming flytrap that sits at the network boundary between a coding agent and its API endpoint, mutates the request system prompt to your preferences, and writes a per-response token ledger — all while preserving token-by-token streaming UX byte-for-byte.
Three design properties:
- One artifact, one location. The binary at
~/.local/bin/ccftis everything. No install dir, no rsync. - Streaming is preserved. A custom
Bodywrapper taps the upstream SSE chunk-by-chunk. Tokens reach the client at the same cadence as direct. - Tiny resident footprint. ~6 MB on disk, ~4 MB resident at idle.
Service auto-start runs on macOS (launchd) and Linux (systemd-user). On Windows,
ccft installsets up the binary + CA + config; auto-start isn't wired yet — runccft runmanually.
Prebuilt binary from the latest release:
# macOS (universal aarch64 + x86_64)
curl -L https://github.com/adiled/ccft/releases/latest/download/ccft-macos-universal -o /usr/local/bin/ccft
# Linux (x86_64)
curl -L https://github.com/adiled/ccft/releases/latest/download/ccft-linux-x86_64 -o /usr/local/bin/ccft
chmod +x /usr/local/bin/ccft
ccft install
ccft trust --applyOr build from source (brew install rust):
make install
ccft trust --applyccft install provisions the CA, default config, plist, and launchd unit. ccft trust --apply writes the proxy + CA env into ~/.cc-flytrap/ccft.env and sources it from every shell RC it finds (.zshenv, .zshrc, .bashrc, …), so every shell-launched agent inherits the trust. Full lifecycle in docs/install.md.
TUI — ccft at a tty opens a full-screen dashboard: brainrot chart (bot/driver vibes over time), heat-by-time bars, recent-traffic ledger, sessions/perf overlays. Range dial keys: t y h w W a.
Ledger — every request gets a JSONL line at ~/.local/share/ccft/ledger.jsonl with input/output tokens, cache hits, latency, model, session id, and ccft's own processing time. Schema in docs/reference.md.
Dev mode — ccft dev sets up a parallel dev system: a separate com.ccft.dev service unit on port 7179 with an isolated config + ledger, independent of the main install. Run it locally at your own accord with CCFT_DEV=1 ccft run. Details in docs/install.md#dev-mode.
Config — knobs in ~/.config/ccft/ccft.json: system_override (extra system prompt), pain (false trims Claude Code's bloat blocks), ledger (write JSONL), hosts (which host[:port] endpoints ccft flytraps; env vars like OLLAMA_HOST union in automatically). See docs/reference.md#config.
Architecture — hudsucker (hyper-1.x + tokio + rustls), host-gated to known model-provider hosts (api.anthropic.com, plus any configured OpenAI-compatible local servers). Other CONNECT requests pass straight through, so gh, git, npm, pip keep working from any subprocess. See docs/architecture.md.
- Install / uninstall / lifecycle / dev mode
- Config / ledger schema / file layout / CLI reference
- How it works / TUI / dependencies
MIT — see LICENSE.