This folder documents the plugin itself.
| Document | What it covers |
|---|---|
| concepts.md | Terminology, architecture, prior art, the three-layer model (raw / wiki / schema) |
| hook-catalog.md | Every hook Memex ships, when it fires, what it enforces, how it fails |
| profile-authoring.md | How to write a new profile (scaffolded template tree + memex.config.json) |
| cookbook.md | Recipes: adding a custom folder, disabling a hook, extending the schema, building a custom profile |
| docsite.md | The optional self-hosted browsable wiki — phases 1–7, configuration, auth modes, write features, per-page opt-outs |
| docker.md | Self-hosting the docsite via Docker / Docker Compose — including Tailscale and reverse-proxy patterns |
See also: ../CONTRIBUTING.md for development setup and coding conventions; ../SECURITY.md for the security policy; ../CHANGELOG.md for release notes.
Slash commands shipped by the plugin. All are namespaced under /memex:.
| Command | Signature | What it does |
|---|---|---|
/memex:init |
/memex:init [profile] |
Scaffolds .memex/, memex.config.json, and appends to CLAUDE.md. Refuses to overwrite. Default profile: generic. |
/memex:ingest |
/memex:ingest <path> |
Reads a raw source, summarises to the wiki, updates entity pages, bumps index.md, appends log.md. |
/memex:query |
/memex:query <question> |
Searches wiki by index → reads matching pages → synthesises a cited answer. Offers to file the answer back. |
/memex:lint |
/memex:lint [scope] |
Health-check: orphans, contradictions, stale claims, missing cross-refs, TODOs inline. |
/memex:log |
/memex:log [--tail N] [--edit] |
Prints recent log; --edit opens for manual entry. |
/memex:open-q |
/memex:open-q <title> |
Files a new open question under .memex/.open-questions/ with the profile's template. |
/memex:promote |
/memex:promote <doc-path> <type> |
Promotes a .research/ or raw/ snippet to a permanent entity / concept / feature page. |
/memex:graph |
/memex:graph [--format mermaid|dot] |
Emits a link graph. Feeds the "is this orphaned?" view. |
/memex:init-profile |
/memex:init-profile [base-profile] |
Interactive: surveys the project, interviews the user, and generates a custom profile tailored to the actual folder shape. Use when none of the built-in profiles fit cleanly. |
/memex:docsite |
/memex:docsite [serve|build|check] |
Wraps the memex-docsite CLI so the docsite is reachable from inside Claude Code. Requires pip install -e ".[docsite]". |
Skills are auto-invoked by Claude when the conversation context matches their trigger phrases. You don't call them directly; the slash command above is usually a thin wrapper around the corresponding skill.
| Skill | Triggered by |
|---|---|
ingest-source |
"ingest this", "process this article", paths into .memex/raw/ |
doc-query |
"what does the wiki say about", "based on my docs" |
wiki-lint |
"lint the wiki", "audit my docs", "health-check the wiki" |
open-questions-triage |
"triage open questions", "what's blocking me" |
doc-refactor |
"split this page", "merge these", "rename this slug" |
profile-builder |
"/memex:init-profile", "help me build a profile", "none of the profiles fit" |
| Agent | Used for |
|---|---|
memex-ingestor |
Large or multi-part source ingests. Runs in worktree isolation so long ingests don't bloat the main session context. |
memex-linter |
Wiki-lint passes on large wikis. Returns summary; original context stays clean. |
memex-planner |
Pre-task planning: reads relevant wiki pages + open questions, produces a plan. |
Every Memex-enabled project has a memex.config.json at its root (or inside .memex/ — both paths are checked). This file drives every hook. See ../schemas/memex.config.schema.json for the full schema.
Minimal config:
{
"$schema": "https://raw.githubusercontent.com/anthril/claude-memex/main/schemas/memex.config.schema.json",
"version": "1",
"profile": "generic",
"root": ".memex"
}See profile-authoring.md for how to extend it.