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.2.tar.gz (65.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.2-py3-none-any.whl (51.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kiwiskil-0.4.2.tar.gz
  • Upload date:
  • Size: 65.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.2.tar.gz
Algorithm Hash digest
SHA256 2766202145487296676dac27885293ff36eeda65cf2497d7ae97e4454e4487a9
MD5 c365264826014b924187d735adab4e7d
BLAKE2b-256 57fb56de0ffc48793d940a670a16629dc2ad3843d5e4aa28b8d8e47f13b2522a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kiwiskil-0.4.2-py3-none-any.whl
  • Upload date:
  • Size: 51.4 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 fc7d467c2660efe27ea30f4d08f8c6a9f394fc1c069519f0bcb99e34c8b38eb9
MD5 77c6f71a50318400ca5a8b0189ee4d29
BLAKE2b-256 d55b6c2a6e7e456dcc64ad90d29cf634e7d30e55bdefc6b3d7459d0d4ddc2560

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