kite
Health Warn
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 5 GitHub stars
Code Fail
- rm -rf — Recursive force deletion command in scripts/download.sh
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
Kite — lean terminal coding agent: plan/build REPL, 15+ LLM providers (BYOK + subscriptions), subagents, checkpoints, headless CI runs. Python, powered by LiteLLM.
Kite
A terminal-first coding agent for local repositories
Plan, build, review, and automate work across local repositories.
Version: 1.0.1
Keywords: coding agent, AI code assistant, terminal coding assistant, agent CLI, SWE-agent style loop, repository automation, code review automation
Why Kite
Working in a terminal on a real repository means juggling plans, edits, tests, and reviews across many tools. Kite puts that loop in one place: describe the task, watch it inspect code, apply guarded edits, and verify the result — without leaving your shell or handing your repo to a black box.
Highlights
- Plan then build — read-only checklist first (
/plan), edits when you say so (/build) - Multi-provider — OpenAI, Anthropic, Groq, OpenCode Zen/Go, NVIDIA NIM, Ollama, and OpenAI-compatible endpoints
- Guarded tools — sandboxing, approval modes, secret redaction, and verification gates on
submit - Memory that persists — sessions, checkpoints, handoffs, and project notes that survive restarts
Quick start
# macOS / Linux / WSL (public repo; private → git clone fallback in script help)
curl -fsSL https://raw.githubusercontent.com/KhanUzeb/kite/main/scripts/download.sh | bash
cd ~/projects/my-app && kite
kite setup # guided API key + model picker on first run
# Windows (ExecutionPolicy bypass if needed — see Setup)
irm https://raw.githubusercontent.com/KhanUzeb/kite/main/scripts/download.ps1 | iex
Example
kite run "explain this repo"
kite run --mode plan "how should we add auth?"
# in the REPL:
/fix flaky login test
/plan
/build
Table of contents
- Why Kite
- Highlights
- Quick start
- Example
- Features
- Setup
- Use Kite on any project
- Tests
- CLI
- Architecture
- Design docs
Features
- Tight agent loop — a mini-swe-agent style sync loop (query → tools → observe → repeat) with budgeted turns and resumable sessions.
- Multi-provider — LiteLLM-backed model resolution across OpenAI, Anthropic, Groq, OpenCode Zen/Go, NVIDIA NIM, Ollama, and OpenAI-compatible endpoints.
- Real coding tools — read, write, edit, bash, grep, glob, ls,
set_cwd,submit(structured completion), web fetch/search/crawl, todo tracking, and asubagentorchestrator. - Evidence-first verification — artifact-aware checks per workspace package;
submitblocked without passing verification; liveverification_statusin the footer. - 0.9 execution pipeline — production loop routes tools through
PolicyEngine+ToolExecutor(guardrails still enforce bash denylist inside tools). - Repo map — Aider-style symbol sketch in project context; git-changed files ranked first.
- Execution context — separate project root vs session cwd;
restrictedorhostexecution mode; parallel safe read-only tools. - Context lifecycle — preserved-fact compaction, auto-checkpoints at ~72% context,
/checkpointrestore,/handoffexport; repo map symbols for faster orientation in large trees. - Harness benchmarks —
kite benchfor repeatable startup/context/tool timing (no live LLM). - Headless tasks —
kite tasks runfor JSONL/plain-text batches;kite run --headlessfor CI/cloud agents with structured stderr logging. - Skills & plugins —
SKILL.mdpacks (npm, npx, GitHub, or a local path symlink into~/.kite/skills), prompt commands, plugins, and.kite/extensions/for custom tools. - Guardrails — path sandboxing, bash danger checks, recursive secret redaction, process-tree teardown on timeout, SSRF-safe HTTP tools, and per-session approval modes (
auto/approve/trust/readonly). - Session privacy —
session_persistence = "redacted"(default) sanitizes transcripts before write;fullordisabledviakite configor/privacy sessions. - Skill trust — bundled skills are trusted; npm/git/project skills are labeled untrusted with provenance metadata.
- Global identity memory —
~/.kite/memory/USER.md,PROFILE.md,WORKING.md(always global, never per-repo); injected as soft untrusted context when present. - Subagent orchestration — bundled personas + custom
~/.kite/subagents/*.md(kite subagents --init,/agents init),profile/roledispatch,/agentscrew board,/live agentsstreaming. - Rich TUI — streaming, collapsed tool blocks, live plan checklist, write/edit diff previews, git-stat diffs, theme/font switching, and a context-usage meter.
- Portable — install once, then run
kitefrom any project directory via--cwd.
Setup
Quick install (global — works anywhere on your machine)
Install once per user. Puts kite on your PATH. Then open any folder and run it — no project clone, no .venv activate.
Recommended — bootstrap scripts (install uv if needed, then uv tool install from GitHub only, not PyPI):
# macOS / Ubuntu / Linux / WSL
curl -fsSL https://raw.githubusercontent.com/KhanUzeb/kite/main/scripts/download.sh | bash
curl -fsSL .../download.sh | bash -s -- --setup # run kite setup after install
curl -fsSL .../download.sh | bash -s -- -- --force # reinstall global CLI
# Windows
irm https://raw.githubusercontent.com/KhanUzeb/kite/main/scripts/download.ps1 | iex
If ExecutionPolicy blocks PowerShell:
powershell -NoProfile -ExecutionPolicy Bypass -Command "irm https://raw.githubusercontent.com/KhanUzeb/kite/main/scripts/download.ps1 | iex"
Requires the GitHub repo to be public for raw.githubusercontent.com. On 404 (private repo), the scripts print exact git clone or uv tool install git+… fallbacks (KITE_REPO_SLUG, KITE_BRANCH, KITE_REPO_URL override the default KhanUzeb/kite).
Needs: curl/irm + git (macOS: xcode-select --install; Ubuntu: sudo apt-get install -y curl git).
Manual (uv + git only):
curl -LsSf https://astral.sh/uv/install.sh | sh
uv tool install --python 3.12 --force "git+https://github.com/KhanUzeb/kite.git"
uv tool update-shell
Then from any directory:
cd ~/projects/my-app # or C:\dev\my-app
kite
Update: uv tool upgrade kite · Uninstall: uv tool uninstall kite
Contributor install (optional)
Only if you are developing kite itself:
git clone https://github.com/KhanUzeb/kite.git && cd kite
./scripts/install.sh --dev # still puts kite on PATH (editable)
# .\scripts\install.ps1 -Dev
Manual global install
uv tool install "git+https://github.com/KhanUzeb/kite.git"
uv tool update-shell
First run
kite setup # guided API key + model picker (recommended)
kite providers # or check keys manually
kite models -p groq --select
Or edit keys manually:
# Copy .env.example to .env (or ~/.kite/.env) and set your key(s)
kite keys # show which keys are set
kite keys --set groq # paste a key into ~/.kite/.env
kite web-keys set tavily # optional paid websearch (also: exa, firecrawl)
kite keys --set firecrawl # same storage path as web-keys set
kite login codex # BYOS: ChatGPT/Codex via openai-codex SDK
kite login claude # BYOS: Claude Code CLI (claude auth login)
kite login grok # BYOS: Grok CLI (or kite login xai)
kite login antigravity # BYOS: Google subscription via agy CLI (calls need GEMINI_API_KEY)
kite logout codex # unlink BYOS subscription
kite models -p groq --select
kite models -p zen --select # OpenCode Zen (OPENCODE_API_KEY)
kite models -p go --select # OpenCode Go
kite models -p nvidia --select # NVIDIA NIM (NVIDIA_API_KEY)
kite runtime-config
REPL shortcuts: Ctrl+O expand tool output · Ctrl+P plan · Ctrl+B build · Ctrl+S status · type / for commands
Use Kite on any project
Install once (global). After that kite is a normal system command for your user — any drive, any folder.
cdinto the project. Workspace = that directory.- Run
kite/kite chat/kite run "…".
cd ~/projects/my-app
kite
kite run "add error handling"
If kite is missing after install, open a new terminal (PATH was updated). Or: uv tool update-shell.
To work on a directory without changing shell cwd, pass --cwd:
kite run --cwd ~/projects/my-app "review auth module"
kite chat --cwd C:\dev\other-repo
kite context --cwd .
Global config, sessions, and identity memory live in ~/.kite/ (USER.md, PROFILE.md, WORKING.md, MEMORY.md under memory/). Per-project overlays (optional): .kite/commands, .kite/plugins, .kite/MEMORY.md for project-scoped facts only.
Tests
pytest # guardrails, agent, sessions, git-stat diffs, skills, UI helpers
pytest -v # verbose
Coverage is a compact ~210-test suite: guardrails/SSRF, approval, agent loop, sessions, verification, orchestrator, credentials/BYOS, CLI/REPL, and PolicyEngine/ToolExecutor. It is not a full integration suite against live LLM APIs. See tests/README.md.
python scripts/sync_version.py --check
ruff check src tests
pytest -q
kite bench --check
CI: GitHub Actions (.github/workflows/tests.yml) runs sync_version.py --check, ruff check src tests, pytest -q, and kite bench --check on Linux and Windows × Python 3.11 and 3.12. Details in CONTRIBUTING.md.
CLI
Interactive (plan/build, slash commands, live plan, diffs, approval):
kite # REPL, prompt is ready immediately
kite chat --mode plan
kite chat --approval approve
One-shot:
kite run "explain this repo"
kite run --mode plan "how should we add auth?"
kite run --mode build --approval approve "add tests"
kite run -p groq -m llama-3.3-70b-versatile "add tests" -v
kite run "/commit"
kite run "/skill:debug flaky login test"
kite resume <session-id>
kite resume <session-id> "also update the README"
In the REPL: start in build mode — type a task. /plan for an opt-in read-only checklist. /help for commands · /agents profiles · Ctrl+C interrupts the turn. Shortcuts: Ctrl+B build · Ctrl+P plan · Ctrl+O expand · F2 status.
Approval modes: auto · approve · trust · readonly. Set KITE_LOADER=grid|dots|orbit|wave|spin for terminal loader style.
Visual walkthrough: guide.md · Full command map: kite_commands.md
Other commands:
kite sessions
kite sessions --show <session-id>
kite sessions --delete <session-id>
kite sessions --delete-all -y
kite skills --show commit
kite skills --add @scope/pkg
kite skills --add ./my-skill # symlink into ~/.kite/skills
kite commands
kite plugins
kite memory
kite memory --remember "prefer ruff"
kite context
kite runtime-config
kite setup # first-run: key + model wizard
kite login [provider] # BYOK key or BYOS subscription
kite logout [provider] # unlink BYOS subscription
kite keys [--set provider] # show or paste API keys (hidden); also tavily|exa|firecrawl
kite web-keys [set|logout] # optional paid web tool keys → ~/.kite/.env
kite keys --logout provider # remove a stored BYOK/web key or BYOS session
kite providers
kite models -p groq
kite models --select
kite config
kite config --select-model
kite bench [--json] [--save PATH] [--compare BASELINE.json] # harness timing (no LLM)
kite tasks init | kite tasks run <file.jsonl> # headless task batches
kite run --headless "task" # non-TTY stderr event log
kite subagents [--show id] [--init id] # subagent personas
Command map: kite_commands.md
Install on a new machine: curl/irm one-liner (global CLI) or scripts/install.sh --dev for contributors. See Setup.
Home: ~/.kite/ (sessions/, trajectories/, configs/, commands/, skills/, plugins/, memory/, catalog.toml, config.toml, .env). Project overlays: .kite/commands, .kite/plugins, .kite/memory.
Architecture
Overview: architecture.md — layers, lifecycle, context/compaction, extension points.
CLI → ApplicationRunService (0.9 adapter) → AgentRuntime → DefaultAgent loop
│ │
├ config/ ├ PolicyEngine → ToolExecutor → tools
├ prompts/ ├ compaction + verification collector
├ skills/ └ sessions / trajectory / replay
├ providers/
└ context/ (+ repomap)
Design docs
Canonical markdown:
architecture.md: system overview — layers, lifecycle, memory, extension pointsCONTEXT.md: domain glossary (terms agents and humans share)AGENTS.md: how to hack on this repo (map, conventions, tests)docs/RELEASE-1.0.0.md: latest release notesCHANGELOG.md: version history
src/kite/
application/ # 0.9 contracts as modules: execution, policy, tools, verification, …
agent/ # loop, runtime, harness, mode, events, exceptions
cli/ # argparse entry, slash index
ui/ # Rich TUI (loaders, chips, context meter)
config/ # ~/.kite prefs + runtime TOML
tools/coding.py
providers/
context/ # discovery, repomap (git-ranked symbols), workspace
memory/
skills/ commands/ plugins/ # plugins/extensions.py loads .kite/extensions
eval.py # ReplayBundle + acceptance criteria (no live LLM)
tasks.py # kite tasks / --headless batches
scripts/ # install + download (unix/win), sync_version.py, bump_release.sh
tests/ # pytest suite (~210 tests, no live LLM)
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found