Skip to main content

Your codebase, understood by any LLM. Generate a checked-in wiki and skill files from any repo — no cloud, no lock-in.

Project description

kiwiskil — Your codebase, understood by any LLM.

A ranked, checked-in map any AI agent reads instead of crawling your source — no cloud, no lock-in.

PyPI version Python >=3.11 License: MIT PyPI downloads Backed by xysq.ai

Why · Install · Quick start · What you get · CLI · Configuration · Contributing


kiwiskil turns any codebase into a static, checked-in map that any AI agent can navigate and debug — fast, and with a fraction of the tokens of reading source. It parses your code into a call graph, ranks what matters with PageRank, and writes it all to plain markdown in your repo. No cloud service, no vector database, no running server, no lock-in — the map is just files an agent reads directly, and a git hook keeps it current.


Why kiwiskil

Code-context tools tend to be either dumb committed blobs (whole-repo dumps) or smart graphs behind a service (vector/graph DBs you have to run). kiwiskil is the missing third thing — a smart, ranked, relational map that's just committed files.

PageRank map · Impact inline · Zero API key · Always fresh

Also: OKF-native markdown (+ SCIP IDs for IDE interop), and six languages — Python, JS/TS, Go, Java, Ruby, Rust — via tree-sitter, no build step.


How it works

Your code → parse & rank → markdown map (committed to git) → any agent reads it


Install

pip install kiwiskil

Quick start

# in any git repo
kiwiskil init       # config + git hook + CLAUDE.md / AGENTS.md
kiwiskil run        # build the map → wiki/ + .indexer/skills/codebase.md

That's it. Every commit re-indexes what changed automatically. No API key needed if you're signed in to the claude CLI.

What you get

  • wiki/INDEX.md — a system overview, key flows, the PageRank repo map (most load-bearing symbols first), and the core abstractions.
  • wiki/<group>.md — per module: symbols with one-line descriptions, and each symbol's callers, calls, and blast radius ("editing this affects…").
  • .indexer/skills/codebase.md — a skill file that teaches any agent to navigate via the map instead of reading source.
  • .indexer/manifest.json — every file → its wiki page and component IDs (with SCIP descriptors).

All plain markdown, OKF-framed, checked into your repo. See this repo's own wiki/ for a live example.

CLI

kiwiskil run                     # incremental + deep enrichment (default)
kiwiskil run --force             # full re-index
kiwiskil run --skip-deep         # structural only, faster
kiwiskil run --smart             # verify + repair/fill anything broken or missing
kiwiskil run --smart --dry-run   # report drift only; exits non-zero → CI drift-gate
kiwiskil status                  # last indexed commit, stale files, stats

Configuration

.indexer.toml (created by init):

[llm]
provider = "anthropic/claude-sonnet-4-6"  # any LiteLLM model; leave api_key_env unset to use the claude CLI
api_key_env = "ANTHROPIC_API_KEY"

[indexer]
map_tokens = 1024          # token budget for the ranked repo map
merge_threshold = 2        # min files under a folder before it gets its own page

[hooks]
pre_commit = true
deep = true                # narrative / flows / constraints (set false for speed)

No API key? If the claude CLI is installed and signed in, kiwiskil uses your session — zero config. Otherwise any LiteLLM provider works (OpenAI, Gemini, Ollama, local). With no LLM at all, you still get the full structural map (symbols, call graph, repo map, blast radius); only the written descriptions are skipped.

Languages

Python, JavaScript/TypeScript, Go, Java, Ruby, Rust — via tree-sitter, no build step. A file whose grammar isn't installed is skipped gracefully, never a crash.

Loading the skill

Point your agent at .indexer/skills/codebase.md — it's plain markdown that activates on any codebase question. kiwiskil init already wires up CLAUDE.md and AGENTS.md; for other tools, drop the file into your rules/instructions path (.cursor/rules/, .windsurfrules, .github/copilot-instructions.md, …).

License

MIT · backed by xysq.ai

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kiwiskil-0.4.1.tar.gz (64.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kiwiskil-0.4.1-py3-none-any.whl (51.0 kB view details)

Uploaded Python 3

File details

Details for the file kiwiskil-0.4.1.tar.gz.

File metadata

  • Download URL: kiwiskil-0.4.1.tar.gz
  • Upload date:
  • Size: 64.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for kiwiskil-0.4.1.tar.gz
Algorithm Hash digest
SHA256 c57431ca3f6ee80c889cfd083af5cde9c428085ead19f99a854da44c09027691
MD5 25b603dbe8512c77a9329f882a695f3a
BLAKE2b-256 b594d2e39f62edc4d0a138e568717b8f6842e8bcda56adf6a6f21d717acf5690

See more details on using hashes here.

File details

Details for the file kiwiskil-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: kiwiskil-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 51.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for kiwiskil-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 72119b753f0201acd6da15696a4319e7e42d0c4e7836de9db62799587d3af06a
MD5 e00bc573140ecf6a24bd1d88261f36c9
BLAKE2b-256 e3b87d0406903e594eb639c0d9d056bc48b0ab77dc2c51dfb5ac87c3c47353f1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page