LLM Wiki
Local-file LLM Wiki plugin for source ingestion, wiki browsing, query, lint, and maintenance workflows.
Scope
This package is the standalone home for LLM Wiki behavior. Wiki-specific routes, UI, prompts, tools, local-folder templates, migrations, fixtures, and tests live here rather than in Paperclip core.
The alpha surface includes:
- manifest-declared Wiki page, sidebar entry, and settings page
- trusted local folder declaration for
raw/,wiki/,AGENTS.md,IDEA.md,wiki/index.md, andwiki/log.md - plugin database namespace migration for wiki instances, sources, pages, operations, query sessions, and resource bindings
- managed
Wiki Maintaineragent, managedLLM Wikiproject, and paused managed routines for wiki update processing, lint, and index refresh - plugin-operation issue creation using
surfaceVisibility: "plugin_operation" - local source capture into
raw/with metadata rows in the plugin DB namespace - opt-in company-scoped Paperclip event ingestion controls for issues, comments, and documents; event ingestion is disabled by default
- manual Paperclip project/root issue distillation and bounded backfill actions with explicit work items, operation issues, source caps, and estimated cost-cap refusal
- wiki page writes with plugin path validation, atomic local-folder writes, metadata/revision rows, backlink extraction, and optional stale-hash protection
- wiki tools for search/read/write/propose patch/source/log/index/backlinks workflows
Development
pnpm install
pnpm dev # watch builds
pnpm dev:ui # local dev server with hot-reload events
pnpm test
From the Paperclip repo root:
pnpm --filter @paperclipai/plugin-llm-wiki typecheck
pnpm --filter @paperclipai/plugin-llm-wiki test
pnpm --filter @paperclipai/plugin-llm-wiki build
Alpha Verification
Run these commands from the Paperclip repo root before handing off alpha plugin changes:
pnpm --filter @paperclipai/plugin-llm-wiki typecheck
pnpm --filter @paperclipai/plugin-llm-wiki test
pnpm --filter @paperclipai/plugin-llm-wiki build
The focused Vitest suite covers:
- standalone package boundaries and package-local harness dependencies
- required local folder bootstrap writes
- raw source capture plus ingest metadata persistence
- hidden plugin-operation issue creation for ingest/query/file-as-page workflows
- disabled and enabled Paperclip event ingestion paths
- managed routine declarations, manual distill/backfill work items, cost cap refusal, and backfill project/date scoping
- atomic page writes, metadata/revision rows, backlinks, and stale-hash refusal
- query session creation, run-id recording, stream event forwarding, and completion updates
- filing a streamed query answer back into the wiki through a hidden operation
Remaining alpha gaps:
- Browser screenshot capture is maintained separately under
tests/screenshotsand is not part of the cheap package verification path above. - Host-level plugin install and live agent invocation still need Paperclip server/runtime smoke coverage when preparing a release candidate.
Install Into Paperclip
curl -X POST http://127.0.0.1:3100/api/plugins/install \
-H "Content-Type: application/json" \
-d '{"packageName":"/Users/dotta/paperclip/.paperclip/worktrees/PAP-3179-design-a-llm-wiki-plugin/packages/plugins/plugin-llm-wiki","isLocalPath":true}'
Build Options
pnpm builduses esbuild presets from@paperclipai/plugin-sdk/bundlers.pnpm build:rollupuses rollup presets from the same SDK.
Local File Layout
<configured-wiki-root>/
AGENTS.md
IDEA.md
.gitignore
raw/
.gitkeep
wiki/
index.md
log.md
sources/
.gitkeep
projects/
.gitkeep
entities/
.gitkeep
concepts/
.gitkeep
synthesis/
.gitkeep
Use the settings page or bootstrap-root action to configure the folder and
write the starter files. The plugin uses Paperclip's local folder API for path
containment, symlink checks, read/write validation, and atomic writes.
Bootstrap preserves existing files rather than overwriting operator edits. The
default first-install skeleton is copied from the vanilla LLM Wiki layout, with
CLAUDE.md renamed to AGENTS.md.