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"
# base_url = "https://opencode.ai/zen/v1"  # optional: route OpenAI-compatible endpoints (OpenCode Zen, LiteLLM proxies, …)

[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.3.tar.gz (67.2 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.3-py3-none-any.whl (51.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kiwiskil-0.4.3.tar.gz
  • Upload date:
  • Size: 67.2 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.3.tar.gz
Algorithm Hash digest
SHA256 6db83e4397255a7f5df1e25614c4ab258ed25e6298ed096af249ea9b763230ac
MD5 eef186e919e3bafbf299b5a9e13cd269
BLAKE2b-256 00e1422772d813685e3b26908d89d2eb3f87a2079490080af893ce05a320e93d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kiwiskil-0.4.3-py3-none-any.whl
  • Upload date:
  • Size: 51.9 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 60ea7fdf1a4cecca28c9d06c8137c7f0312df5c2d24f5baf34ebbd4d9511655e
MD5 55f6411140ff0fd3a325c8a94c8f10e9
BLAKE2b-256 51ba53fae26c86f5c8328ddcd30783d021ef6ab30980f04f4d1e2b2bf798e597

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