Skip to main content

Wikifier

License: MIT PyPI version GitHub Stars

A zero-dependency codebase wiki for AI agents — token-efficient maps so LLMs look things up instead of re-reading full sources.

Wikifier is an agent-to-agent tool: it builds a living map of a project (health matrix, dependency graph, short file summaries) and agents keep that map current as they work. Humans can peek via a small dashboard; the product is the agent loop, not a general docs site or IDE.

Works from small scripts to large monorepos (Python + JavaScript/TypeScript imports, barrels, cycles, incremental updates).

Why

Context windows are finite. Re-reading a large file to answer “what is this and who depends on it?” wastes tokens.

Wikifier keeps a small set of artifacts agents can query:

Artifact Role
file_health.md 🟢 / 🟡 / 🔴 matrix — what to trust, what to fix first
library.md File tree, Mermaid dependency map, import tables, cycles + confidence
*.wiki.md Short per-file “what this is for” notes (agent-maintained)
journal/ Semantic why trail from record-change

Lookup beats re-ingest. That’s the whole idea.

Quick start

pip install wikifier            # pure Python stdlib core — no runtime deps
pip install wikifier[mcp]       # optional Model Context Protocol (MCP) server

cd /path/to/your/project
wikifier init
wikifier update-maps            # dependency graph + library.md
wikifier check-changes
wikifier health --summary

Always set an explicit root for external trees:

WIKIFIER_PROJECT_ROOT=/abs/path/to/project wikifier check-changes

Agent loop

Full protocol: skills/run.md.

wikifier check-changes
# prioritize 🔴 then 🟡 in file_health.md / pending_updates.md
# ... edit source ...
wikifier record-change "path/file.py" "why this changed"   # required
# ... refresh that file’s wiki summary ...
wikifier mark-green "path/file.py"
wikifier update-maps            # if imports/structure changed

record-change logs intent a git diff can’t reconstruct for the next agent (or human).

What you get

  • Import analysis — Python + JS/TS (ESM, CommonJS, dynamic imports, path aliases, package exports); per-edge confidence; name-routed barrel expansion (precise leaves, not edge explosion)
  • Incremental pipeline — pure-Python update-maps: dirty parse → import cache → reverse deps → cycles → library.md
  • Scale — reverse index + barrel invalidation so one edit doesn’t re-scan the monorepo
  • MCP tools — optional server for Claude, Cursor, Cline, and other MCP clients (get_project_status, get_dependencies, get_file_wiki, record_change, …)
  • Zero core dependencies — stdlib only; forks can add their own stack on top

Performance (measured)

Project Scale Full update-maps
llama_index ~3.8k Python files ~8.5s
Babylon.js ~3.9k TS files, barrel-heavy ~4.5 min (scoped re-runs ~80s)
Large trees (e.g. LLVM-scale) tens of thousands of files candidate scan in seconds

Tests: python -m unittest discover tests (stdlib only).

Commands

Command Purpose
wikifier init [--target DIR] Bootstrap project + human index.html
wikifier check-changes Incremental scan → health / pending
wikifier record-change <file> "reason" Log why (required after edits)
wikifier mark-green <file> Mark wiki current
wikifier update-maps [--directory=src/] [--max-files=N] Rebuild graph + library.md
wikifier health [--summary|--json] Health matrix (machine-friendly flags)
wikifier cycles Circular deps + break hints
wikifier monitor / daemon Background maintenance
wikifier serve Localhost dashboard with Run/Stop

Library: from wikifier import check_changes, record_change, mark_green, health, update_maps.

MCP

WIKIFIER_PROJECT_ROOT=/abs/path/to/project wikifier-mcp
# or: python3 -m wikifier.mcp.server

Setup and tool list: wikifier/mcp/README.md.

Human dashboard (secondary)

Wikifier dashboard — file tree, health pills, local Run/Stop

wikifier init drops a single index.html. Prefer wikifier serve (e.g. http://localhost:8787/index.html) — file:// can’t load project files. The markdown artifacts and CLI/MCP tools stay the source of truth; the UI is a read-only window.

Scope

In: agent-maintained codebase wiki, dependency intelligence, token-saving lookup for LLMs and coding agents.
Out: general human documentation systems, IDE plugins, “docs for everyone” product growth.

Links

Download files

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

Source Distribution

wikifier-4.5.2.tar.gz (318.2 kB view details)

Uploaded Source

Built Distribution

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

wikifier-4.5.2-py3-none-any.whl (283.8 kB view details)

Uploaded Python 3

File details

Details for the file wikifier-4.5.2.tar.gz.

File metadata

  • Download URL: wikifier-4.5.2.tar.gz
  • Upload date:
  • Size: 318.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for wikifier-4.5.2.tar.gz
Algorithm Hash digest
SHA256 4fbdbf3520b5c19b020d4684ba563ddbf2cd60f64a050cc326f8300f9f475841
MD5 f56fb3c997ee6f9893e03e23043cc688
BLAKE2b-256 1a82258f15e3a6935455a5c0156465658b3f8bb55dd03df903948ad3f0d625f8

See more details on using hashes here.

Provenance

The following attestation bundles were made for wikifier-4.5.2.tar.gz:

Publisher: publish.yml on IronAdamant/wikifier

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file wikifier-4.5.2-py3-none-any.whl.

File metadata

  • Download URL: wikifier-4.5.2-py3-none-any.whl
  • Upload date:
  • Size: 283.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for wikifier-4.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6cba70fd93654bdda31fec39784cf1428afdb7ba8fe6752daeb1aeebad9fd1f7
MD5 0700b1639cb986faa7b4b6c704520625
BLAKE2b-256 77e778590e3823fcab982bf5dad80de3896b76a666778e114627fc17f308cafe

See more details on using hashes here.

Provenance

The following attestation bundles were made for wikifier-4.5.2-py3-none-any.whl:

Publisher: publish.yml on IronAdamant/wikifier

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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