Start with a preview that writes nothing. Each command below says whether it changes files and whether it needs the package installed. Every command was run against v1.42.0.
Install as a dev dependency
Writes files · No install needed
npm install -D llm-wiki-governance
Changes package.json, the lockfile, and node_modules. After this, run it as npx llm-wiki.
Create the doc skeleton
Writes files · No install needed
npx llm-wiki-governance quickstart --write --agent claude
Creates the docs/llm-wiki/ skeleton, llm-wiki.config.json set to lite, CLAUDE.md, and skill and prompt files for the agent. Using Codex? Pass --agent codex.
Check structure and citations
Read-only · After install
npx llm-wiki validate
Checks frontmatter structure and that citations resolve. Writes nothing.
List the review backlog
Read-only · After install
npx llm-wiki review
Lists needs_review docs by risk and separates the ones you can approve from the ones blocked by findings.
Writes status: verified, reviewed_by, and reviewed_at into that doc's frontmatter. Use it only on docs you have actually checked.
Turn change checks on
Writes files · After install
npx llm-wiki mode set standard --write
Changes only the mode in llm-wiki.config.json. It never creates, edits, promotes, or demotes a doc. From then on, impact and drift report warnings.
Find docs to re-review in a PR
Read-only · After install
npx llm-wiki impact --since origin/main
Lists verified docs that cite a source changed since the base ref. In lite it checks nothing and passes.
Do not run npx llm-wiki where the package is not installed: an unrelated npm package has that name. Before installing, always use npx llm-wiki-governance.
KEEP THE JUDGMENT HUMAN
Keep the evidence.
Make the judgment.
Passing the checks does not mean a doc is correct. These limits are stated in the v1.42.0 README itself.
Optional interactive comparison
An illustrative simulation. It is not connected to your repository.
Picking another file undoes the change you applied.
return items.reduce((s, i) => s + i.price, 0);
—billing.mdUnchanged● verified
—shipping.mdUnchanged● verified
No file changed yet.
Pick a file and apply its change: the docs that cite it and the CI result appear here.
Show the actual CLI output
Captured from v1.42.0, after applying this file change
$ npx llm-wiki impact --since main --mode standard
- result: warning
- governance_mode: standard
- changed_files: 1
- impacted_verified_docs: 1
## Documents to re-review
| Document | Changed source it cites |
| --- | --- |
| `docs/llm-wiki/domains/billing.md` | `src/invoice.js` |
## Findings
- [warning] impact.source_changed docs/llm-wiki/domains/billing.md: Verified document depends on src/invoice.js, which changed in this diff, but the document is unchanged; re-review and update it or downgrade to needs_review.
exit 0
Review commands and captured output
Example: reviewing billing.md again after src/invoice.js changed. The commands and output are from a real v1.42.0 run.
drift is date-based: it looks at changes committed after reviewed_at.
It checks that each citation resolves. Whether the sentence is correct is still the reviewer's call. A doc updated with the wrong number can pass.
It cannot prove who approved
reviewed_by is the name passed to the approve command. List agent names under agentReviewers and stats counts their approvals apart.
It does not write your docs
The CLI scaffolds, checks, and prints prompts. You or your agent write the content. In a small experiment recorded in the README (one external repository, one model, six tasks), a wiki that was never filled in did worse than no wiki at all.
Change detection is mostly file-level
Only line-range and Markdown-section citations are narrowed to the region. The date-based drift check can miss changes committed on the day of approval.
Approving a plan is not approving an implementation
Approving a requirement approves the plan. impact.plan_changed names files to re-check; it never shows that code satisfies a requirement.
It is not semantic search or a hosted service
Retrieval ranks keyword matches with BM25. There are no embeddings and no index service, and the CLI makes no network calls of its own.
OPEN SOURCE. OPEN TO YOUR NEXT CHANGE.
A connection for the next change.
A free tool released under the MIT license and maintained by an individual developer. Bug reports and questions are welcome on GitHub.