An OpenWiki for your codebase, powered by your Claude subscription — no API keys.
wijzer (Dutch: signpost / wiser) is a Claude Code
plugin that generates and maintains an agent-facing wiki for a repository, and
keeps it fresh from your git history. Coding agents read the wiki for grounded
context before they touch a subsystem.
It reaches format + behavior parity with
OpenWiki — the generated openwiki/
folder, the .last-update.json state, and the update algorithm are
interchangeable between the two tools — with one deliberate difference:
OpenWiki calls an LLM provider and needs an API key. wijzer runs inside Claude Code, so the inference is your existing Claude Pro/Max subscription. There is no key to configure and no per-token bill. (This is also the only ToS-legitimate way to use a Claude subscription for this — a plugin doesn't offer login, Claude Code is the runtime.)
/plugin marketplace add gpxl/wijzer
/plugin install wijzer@wijzer
| Command | What it does |
|---|---|
/wijzer:init [focus] |
Generate the wiki from scratch into openwiki/, and add a pointer block to your AGENTS.md / CLAUDE.md. |
/wijzer:update [instruction] |
Refresh the wiki from what changed since the last run. No-ops cleanly when nothing meaningful changed. |
/wijzer:ask <question> |
Answer a question from the wiki, with source-map citations. Never modifies the wiki. |
Because the commands are just skills, you can run them non-interactively:
claude -p "/wijzer:update"
examples/github-action.yml shows a scheduled refresh that opens a PR, using
Anthropic's official claude-code-action
with a subscription OAuth token (claude setup-token) — no API key in CI either.
wijzer splits deterministic bookkeeping from model judgment:
scripts/— dependency-free bash (git + coreutils) that owns the exact-semantics bookkeeping: the update no-op verdict (check-noop), the content snapshot (snapshot), the state file (write-state), and the output format gate (check-format). Each emits one JSON object; each is unit-tested against real temp git repos (npm test).skills/+agents/— the model does discovery, git inspection, page planning, writing, and theAGENTS.md/CLAUDE.mdpointer prompt-driven, obeying the disciplines inreferences/(generated from OpenWiki's own prompt) and calling the scripts above for the bookkeeping.
See PARITY.md for exactly what matches OpenWiki and how it's
verified, and CONTRIBUTING below to hack on it.
- Claude Code with an active Claude subscription.
gitand a POSIX shell. On Windows, use Git Bash or WSL.- No Node.js at runtime. The plugin is skills + dependency-free bash; nothing
it runs for you needs
node. Node is a development/CI-only dependency — it's used to run the Vitest suite and to regeneratereferences/disciplines.mdandreferences/wiki-format.mdfrom the vendored OpenWiki prompt (the committed output ships in the plugin, so you never run the generator).
Node is needed here (dev/CI only), not by end users:
npm install
npm test # Vitest: scripts vs temp git repos + the vendored OpenWiki parity tests
npm run lint # shellcheck
When OpenWiki evolves, re-derive the generated doctrine and re-prove parity:
scripts/vendor-openwiki.sh --sha <new> # re-vendor the spec at a new SHA
node scripts/build-disciplines.mjs # regenerate the reference docs
npm test # cross-validation re-proves parity
Contributions welcome — especially parity fixes when OpenWiki evolves (see the re-validation procedure in PARITY.md).
MIT. wijzer is an independent reimplementation; none of OpenWiki's source runs in its runtime (skills + bash). The wiki format, state schema, update algorithm, prompt disciplines, and test structure are adapted from OpenWiki (MIT, © LangChain, Inc.), and a pinned snapshot of a few OpenWiki files is vendored under vendor/openwiki/ for dev/CI parity verification — see the attribution in NOTICE.