Files changed: - CHANGES.md - VERSION - docs/how-to/ingest-a-source.md - docs/reference/commands/raw-material-and-uploads.md - instructions/ingest-large-tree.md - instructions/wiki-ingest/SKILL.md - raw/CONTRACT.md - tools/CONTRACT.md - tools/chemenu/commands/raw/_common.py - tools/chemenu/commands/raw/derive.py - tools/chemenu/commands/raw/fetch.py - tools/chemenu/commands/raw/pending.py - tools/chemenu/tests/test_raw_derive.py - tools/chemenu/tests/test_raw_fetch.py - types/source.guidance.md Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
Chemenu - Personal IT Knowledge Base
A structured, LLM-maintained knowledge base for your personal IT work.
Chemenu is a pattern for a personal knowledge base maintained by an LLM. Instead of going back to the raw documents for every question, the LLM incrementally builds and maintains a persistent wiki that compounds over time: knowledge is compiled once and kept current, not re-derived on every question.
Getting started
Two starting points, depending on what you're doing:
-
A new instance. Every instance is installed from a release, into an empty folder you choose: you give your agent one sentence, and it follows
instructions/setup-instance.mdfrom the latest release - preflight, git init, author identity, an optional remote, your authoring conventions and persona, the first commit. The sentence, what the agent will ask you, and what to do when it stops are in INSTALL.md. -
A further checkout of an instance you already have (a second machine). Clone the instance's own repository, then run the preflight and publish the skills, which are generated and not committed:
tools/preflight.sh # checks python/git/rg, records their paths, creates tools/.venv # (PowerShell 7 on Windows: tools/preflight.ps1, see instructions/preflight.md) tools/wikitool instructions synctools/wikitoolrefuses to start (exit 42) until the preflight has passed; if it stops instead, its output says what to install -instructions/preflight.md.instructions synccopies eachinstructions/<name>/SKILL.mdinto.agents/skills/(GitHub Copilot, Codex CLI, Mistral Vibe) and.claude/skills/(Claude Code). Full procedure:instructions/bootstrap.md.
- Working on the stack itself. A clone of this repository is a development checkout, with
a demo corpus; it is never an instance. Setting it up, and
dist exportas the build and test tool it is, are indocs/dev/development.md(for you) andinstructions/dev/dev-setup.md(for the agent).
Documentation
The human documentation lives under docs/, sorted by what you want from it:
- docs/tutorials/ - learning: a guided first walk through an instance, starting with the installation in INSTALL.md.
- docs/how-to/ - doing: one task per page, for the operator of an instance.
- docs/reference/ - looking up: commands, exit codes, skills, page types, configuration. The command reference is docs/reference/commands/; agents use the same records in tools/CONTRACT.md.
- docs/explanation/ - understanding: why the stack is built the way it is.
Most days you need three of the how-to guides: ingest a source, query the wiki and maintain it. How the parts fit together is docs/explanation/architecture.md.
The Gitea wiki of this repository shows these pages for the latest release. It is generated from
docs/ and not edited; how it is built is in docs/dev/development.md.
Your first ingestion
Once the instance runs, From your first source to your first answer takes a sample document that ships with it through an ingest and a cited answer, step by step.
Changelog
Changes to the wiki stack (schema, skills, wikitool, READMEs) are tracked in
CHANGES.md, not in an inline version history here.
Resources
- Original idea: Andrej Karpathy's LLM Wiki
- Extended with: agentmemory patterns
- Search tool: qmd (for scaling)
License
Chemenu is dual-licensed, because it is two things in one repository.
| Half | Licence | File |
|---|---|---|
The stack — tools/, types/ |
GNU AGPL-3.0-or-later | LICENSE |
The content — kb/, raw/, instructions/, the CONTRACT.md layer, and the prose documents at the root |
CC-BY-4.0 | LICENSE-CONTENT |
The boundary between the two is not a list someone maintains by hand: it is the
file plan tools/wikitool dist export already computes, so it cannot drift out
of agreement with what actually ships. NOTICE states that, and carries
the attribution for the vendored Commonplace
research base.
What this means for your own wiki. The pages you write in your own instance are yours; the AGPL covers the compiler, not the knowledge it compiles. What the copyleft asks is that changes to the machinery stay available — including when you run it as a service rather than shipping it, which is why the licence is the Affero variant.
If you set up an instance and later publish it, keep LICENSE, LICENSE-CONTENT
and NOTICE in the tree. dist export puts them there and refuses to build a
distribution without them, so under normal use this takes no effort.