MeowKit

Memory and Knowledge

Read and write the memory stores, the context budget, and the wiki.

Two layers with different lifetimes: curated memory is short-lived engineering learning, the wiki is long-term project knowledge with provenance and a human approval gate.

memory

View or manage cross-session memory, stored under the runtime-neutral .meowkit/memory/ state root (see Memory System).

npx mewkit memory              # Summary (line counts, pattern count)
npx mewkit memory --stats      # Sessions captured, patterns learned
npx mewkit memory --clear      # Clear all memory (with confirmation)

memory capture

Route a ##-prefixed prompt into the right .meowkit/memory store through the single validated write contract (schema validation, secret scrubbing, injection scanning, per-store locking, atomic replace). This is the capture authority both the Claude and Codex capture hooks call — hooks stay thin wrappers around this one command.

npx mewkit memory capture "##decision: chose X over Y because..."
echo "##pattern: description" | npx mewkit memory capture
npx mewkit memory capture "##note: quick reminder"
PrefixTarget store
##decision:architecture-decisions.json
##pattern:review-patterns.json
##note:quick-notes.md

Reads the prompt from the first argument, or from stdin when no argument is given. A prompt without a recognized prefix is a silent no-op (exit 0).

context

Task-scoped repository-context evidence — an on-demand freshness + provenance ledger, not a retrieval engine. MeowKit records and verifies evidence; the host's own tools acquire the content. Each path resolves to its own owning repository, so a folder containing many repos (e.g. an Aspire-style parent) never conflates their context.

npx mewkit context resolve <path> [--root <boundary>] [--json]         # owning repo, revision, content hash, redaction
npx mewkit context check <envelope.json> [--root <boundary>] [--json]  # per-path freshness, grouped by owning repo
npx mewkit context record --task <id> <envelope.json> [--root <boundary>] [--json]  # merge evidence into a durable task record
SubcommandPurpose
resolveBuild an evidence ref for a path: owning repo + revision (read from git refs, no git binary), content hash, and a redaction flag for secret-shaped paths.
checkRe-hash a recorded envelope's evidence and report fresh / stale / missing / out-of-scope per path, grouped by owning repo (with its revision). Boundary-scoped: paths outside --root are never stat-ed.
recordMerge an envelope's distinct owning repos + evidence paths into an existing durable task record (advisory, best-effort).

wiki

Long-term, gated, provenance-bearing project knowledge with full-text search. Agents may only propose candidates; a human approve (which always re-scans) is the only path to a canonical page. Canonical files live under tasks/wikis/<slug>/; .meowkit/cache/wiki-index.db is a derived, rebuildable FTS index. Wiki content is DATA, never an instruction.

npx mewkit wiki init <slug> --title "<title>"
npx mewkit wiki propose <slug> --title T --file F [--origin agent] [--source-id ID]… [--reuse-scope S] [--salience-json f.json]
npx mewkit wiki approve <slug> <candidate-id> --by <name>
npx mewkit wiki reject <slug> <candidate-id> --reason "<r>"
npx mewkit wiki search "<query>" [--json]
npx mewkit wiki hint "<query>"
npx mewkit wiki context "<keywords>" [--max-pages N] [--json] [--include-content]
npx mewkit wiki handoff suggest --skill <name> --from <artifact> --slug <s> [--json]
npx mewkit wiki handoff propose --skill <name> --from <artifact> --slug <s>
npx mewkit wiki handoff profiles [--json]
npx mewkit wiki list <slug>
npx mewkit wiki render <slug> [--out file.html]
npx mewkit wiki reindex
SubcommandPurpose
initCreate tasks/wikis/<slug>/wiki.json.
proposeScan + scrub content into a candidate (never a page). Provenance flags: --origin, --source-id (repeatable), --reuse-scope, --verification-state, --risk-score, --review-after, --novelty-delta, --salience-json <file>. Defaults preserve prior behavior (human origin, no sources, CLI salience).
approveThe ONLY canonical-page write path; re-runs the scanner before writing.
rejectRecord a rejection intervention.
search / hintFTS results with a project-root-readable path; hint is title/score/path only (no body).
contextDisciplined Phase-0 recall: ranked pages with a readable path, snippet, and token estimate. Snippets only unless --include-content. Fails open (exit 0) when no index exists.
handoff suggestRead-only — build a handoff packet + decision for a skill's terminal artifact; writes nothing.
handoff proposeScan the artifact and propose a candidate when salience clears the gate and the scan is clean; appends one handoff record. Rejects sensitive or out-of-root --from paths before reading.
handoff profilesList registered skills with handoff class (required / conditional / none) + profile.
listPage filenames for a slug.
renderSelf-contained (no-CDN) HTML snapshot.
reindexRebuild the wiki tables in wiki-index.db from the canonical files.

On this page