How to keep LUMI agent docs aligned with the codebase.
Use CODE_TO_DOC_MAP.md to find the matching page. Minimum updates:
| Change | Update |
|---|---|
New tool in DietCodeDefaultTool |
all-dietcode-tools.mdx + handler in coordinator |
| New wired provider | providers.json, buildApiHandler, provider-config/, model-selection-guide |
| New hook type | hooks.mdx, CODE_TO_DOC_MAP |
New lumi.* setting |
roadmap-steering or relevant feature doc |
| Roadmap auto-governance / completion gate | roadmap-steering · post-mortem |
| Governed swarm / roadmap projection | governed-subagent-execution.md · quickref · CODE_TO_DOC_MAP |
| GitHub community files | .github/ISSUE_TEMPLATE/ · SUPPORT.md · GOVERNANCE.md |
| Architecture move | PROJECT_MAP.md, architecture/current.md, papers/whitepaper.md |
npm run docs:check-all # all doc guardrails + Mintlify links
npm run docs:check-agent-links # required files + relative links
npm run docs:check-agent-branding # no stale user-facing "DietCode" in core dirs
npm run docs:check-root-readme # README.md / readme.md parity + live metrics
npm run docs:check-docs-readme # docs/README.md structure guardrails
npm run docs:check-readme-metrics # README + companion-brief vs live codebase
npm run docs:tag-legacy-providers # prepend legacy notice to unwired provider pages
npm run docs:check-links # Mintlify broken-links (needs docs deps)docs:check-agent-links, docs:check-agent-branding, docs:check-root-readme, docs:check-root-readme-links, docs:check-readme-metrics, and docs:check-docs-readme run in ci:check-all. Run npm run docs:check-all (includes metrics + Mintlify) before publishing docs.
| Use | When |
|---|---|
| LUMI | Product, sidebar, user-facing behavior |
| DietCode | Internal types (DietCodeMessage), paths (.dietcoderules/), historical filenames |
| BroccoliDB | Substrate package only — docs in broccolidb/docs/ |
Do not rewrite broccolidb/docs/ when updating agent docs. Link across layers via AGENT_STACK.md.
Only 4 providers are wired: OpenRouter, ChatGPT Subscription (openai-codex), NousResearch, Cloudflare.
Other docs/provider-config/*.mdx files are reference only. They should include the legacy <Note> from provider-config/README.mdx. Do not delete them without a deliberate deprecation pass.
Major architecture or trust-model changes should update:
- papers/companion-brief.md — metrics table
- papers/philosophy.md — values
- papers/whitepaper.md — technical depth
node scripts/rewrite-agent-docs.mjs # DietCode→LUMI patterns in docs/Review the diff — do not blind-merge enterprise/hosted-service pages that legitimately reference dietcode.bot.
| Registry | Extension ID | package.json name used at publish |
|---|---|---|
| VS Code Marketplace | CardSorting.lumi-vscode |
lumi-vscode (default) |
| Open VSX | CardSorting.lumi |
lumi (patched by script) |
Set tokens: VSCE_PAT (Azure DevOps) · OVSX_PAT (open-vsx.org)
npm run package:vsix # dist/lumi-vscode-<version>-<platform>-<arch>.vsix
npm run package:vsix:openvsx # dist/lumi-<version>-<platform>-<arch>.vsix (CardSorting.lumi)
npm run package:vsix:all # both registry variants for the current host
npm run doctor # health check (packaging + installs)
npm run doctor:install # check installed extensions only (end users)
npm run doctor:fix # repair broken local installs from dist/*.vsix
npm run doctor -- --ci # fail on errors (used in CI / release)
# Publish to both registries (recommended release)
VSCE_PAT=... OVSX_PAT=... npm run publish:all
# Or one at a time
VSCE_PAT=... npm run publish:vscode
OVSX_PAT=... npm run publish:openvsx
# Pre-release builds
VSCE_PAT=... OVSX_PAT=... npm run publish:all:prereleaseOpen VSX publish runs scripts/publish-openvsx.mjs, which packages via scripts/package-openvsx-vsix.mjs and uploads the current host target from dist/lumi-<version>-<platform>-<arch>.vsix. Release CI builds and publishes Windows, Linux, and macOS targets separately; do not publish a universal VSIX containing native modules.
Open VSX shows a warning when the publishing GitHub user is not a verified owner of the CardSorting namespace. This is not fixed by republishing alone — Eclipse must grant namespace ownership.
One-time setup (CardSorting GitHub account):
- Log in at open-vsx.org with the CardSorting GitHub account.
- Link your Eclipse account and sign the Publisher Agreement (Profile → Log in with Eclipse → Show Publisher Agreement).
- Create
OVSX_PATat Access Tokens. - Run
OVSX_PAT=... npm run setup:openvsx(creates namespace + verifies token).
Claim ownership (required to remove the warning):
File an issue at EclipseFdn/open-vsx.org requesting ownership of namespace CardSorting. Include links to https://github.com/CardSorting, https://github.com/CardSorting/LUMI, and https://open-vsx.org/extension/CardSorting/lumi.
Pending claim: Issue #11189
After Eclipse grants ownership (issue labeled granted), republish:
OVSX_PAT=... npm run publish:openvsxNew versions will show the verified shield icon. Existing unverified versions remain marked until republished under the verified namespace.