opencode-starterkit 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +47 -0
- package/baseline/.env.example +196 -0
- package/baseline/.template-manifest.json +646 -0
- package/baseline/.version +1 -0
- package/baseline/AGENTS.md +410 -0
- package/baseline/AGENT_ALIGNMENT.md +564 -0
- package/baseline/README.md +79 -0
- package/baseline/agent/build.md +373 -0
- package/baseline/agent/explore.md +96 -0
- package/baseline/agent/general.md +186 -0
- package/baseline/agent/painter.md +74 -0
- package/baseline/agent/plan.md +435 -0
- package/baseline/agent/review.md +243 -0
- package/baseline/agent/runner.md +79 -0
- package/baseline/agent/scout.md +100 -0
- package/baseline/agent/vision.md +91 -0
- package/baseline/command/compound.md +143 -0
- package/baseline/command/create.md +213 -0
- package/baseline/command/design.md +112 -0
- package/baseline/command/handoff.md +147 -0
- package/baseline/command/init-context.md +273 -0
- package/baseline/command/init-user.md +105 -0
- package/baseline/command/init.md +117 -0
- package/baseline/command/lfg.md +170 -0
- package/baseline/command/plan.md +355 -0
- package/baseline/command/pr.md +161 -0
- package/baseline/command/research.md +125 -0
- package/baseline/command/resume.md +87 -0
- package/baseline/command/review-codebase.md +131 -0
- package/baseline/command/ship.md +342 -0
- package/baseline/command/start.md +158 -0
- package/baseline/command/status.md +117 -0
- package/baseline/command/ui-review.md +92 -0
- package/baseline/command/ui-slop-check.md +146 -0
- package/baseline/command/verify.md +160 -0
- package/baseline/context/README.md +29 -0
- package/baseline/dcp.jsonc +72 -0
- package/baseline/memory/README.md +89 -0
- package/baseline/memory/_templates/design.md +59 -0
- package/baseline/memory/_templates/prd.md +192 -0
- package/baseline/memory/_templates/project.md +58 -0
- package/baseline/memory/_templates/proposal.md +38 -0
- package/baseline/memory/_templates/roadmap.md +93 -0
- package/baseline/memory/_templates/state.md +89 -0
- package/baseline/memory/_templates/tasks.md +198 -0
- package/baseline/memory/_templates/tech-stack.md +85 -0
- package/baseline/memory/_templates/user.md +26 -0
- package/baseline/memory/project/gotchas.md +67 -0
- package/baseline/memory/project/project.md +92 -0
- package/baseline/memory/project/roadmap.md +142 -0
- package/baseline/memory/project/state.md +84 -0
- package/baseline/memory/project/tech-stack.md +53 -0
- package/baseline/memory/project/user.md +38 -0
- package/baseline/memory/research/benchmark-framework.md +162 -0
- package/baseline/memory/research/ccpm-analysis.md +334 -0
- package/baseline/memory/research/context-management-analysis.md +685 -0
- package/baseline/memory/research/effectiveness-audit.md +213 -0
- package/baseline/memory/research/opencode-mcp-bug-report.md +129 -0
- package/baseline/memory/research/openspec-analysis.md +226 -0
- package/baseline/memory/session-context.md +40 -0
- package/baseline/opencode.json +1431 -0
- package/baseline/opencode.json.tui-migration.bak +1380 -0
- package/baseline/package-lock.json +87 -0
- package/baseline/package.json +21 -0
- package/baseline/plans/1768385996691-silent-wizard.md +247 -0
- package/baseline/plans/1770006237537-mighty-otter.md +418 -0
- package/baseline/plans/1770006913647-glowing-forest.md +170 -0
- package/baseline/plans/1770013678126-witty-planet.md +278 -0
- package/baseline/plans/1770112267595-shiny-rocket.md +258 -0
- package/baseline/plans/swarm-protocol.md +123 -0
- package/baseline/plugin/README.md +70 -0
- package/baseline/plugin/copilot-auth.ts +607 -0
- package/baseline/plugin/lib/capture.ts +177 -0
- package/baseline/plugin/lib/context.ts +198 -0
- package/baseline/plugin/lib/curator.ts +234 -0
- package/baseline/plugin/lib/db/maintenance.ts +312 -0
- package/baseline/plugin/lib/db/observations.ts +299 -0
- package/baseline/plugin/lib/db/pipeline.ts +520 -0
- package/baseline/plugin/lib/db/schema.ts +356 -0
- package/baseline/plugin/lib/db/types.ts +211 -0
- package/baseline/plugin/lib/distill.ts +376 -0
- package/baseline/plugin/lib/inject.ts +126 -0
- package/baseline/plugin/lib/memory-admin-tools.ts +188 -0
- package/baseline/plugin/lib/memory-db.ts +58 -0
- package/baseline/plugin/lib/memory-helpers.ts +111 -0
- package/baseline/plugin/lib/memory-hooks.ts +195 -0
- package/baseline/plugin/lib/memory-tools.ts +341 -0
- package/baseline/plugin/lib/notify.ts +81 -0
- package/baseline/plugin/memory.ts +89 -0
- package/baseline/plugin/notification.ts.bak +64 -0
- package/baseline/plugin/package.json +7 -0
- package/baseline/plugin/sdk/copilot/chat/convert-to-openai-compatible-chat-messages.ts +178 -0
- package/baseline/plugin/sdk/copilot/chat/get-response-metadata.ts +15 -0
- package/baseline/plugin/sdk/copilot/chat/map-openai-compatible-finish-reason.ts +19 -0
- package/baseline/plugin/sdk/copilot/chat/openai-compatible-api-types.ts +72 -0
- package/baseline/plugin/sdk/copilot/chat/openai-compatible-chat-language-model.ts +833 -0
- package/baseline/plugin/sdk/copilot/chat/openai-compatible-chat-options.ts +30 -0
- package/baseline/plugin/sdk/copilot/chat/openai-compatible-metadata-extractor.ts +48 -0
- package/baseline/plugin/sdk/copilot/chat/openai-compatible-prepare-tools.ts +92 -0
- package/baseline/plugin/sdk/copilot/copilot-provider.ts +94 -0
- package/baseline/plugin/sdk/copilot/index.ts +5 -0
- package/baseline/plugin/sdk/copilot/openai-compatible-error.ts +30 -0
- package/baseline/plugin/sessions.ts +428 -0
- package/baseline/plugin/skill-mcp.ts +618 -0
- package/baseline/plugin/tsconfig.json +16 -0
- package/baseline/skill/accessibility-audit/SKILL.md +191 -0
- package/baseline/skill/agent-browser/SKILL.md +413 -0
- package/baseline/skill/agent-teams/SKILL.md +268 -0
- package/baseline/skill/augment-context-engine/SKILL.md +122 -0
- package/baseline/skill/augment-context-engine/mcp.json +6 -0
- package/baseline/skill/beads/SKILL.md +181 -0
- package/baseline/skill/beads/references/BEST_PRACTICES.md +27 -0
- package/baseline/skill/beads/references/BOUNDARIES.md +219 -0
- package/baseline/skill/beads/references/DEPENDENCIES.md +124 -0
- package/baseline/skill/beads/references/EXAMPLES.md +45 -0
- package/baseline/skill/beads/references/FILE_CLAIMING.md +101 -0
- package/baseline/skill/beads/references/GIT_SYNC.md +25 -0
- package/baseline/skill/beads/references/HIERARCHY.md +71 -0
- package/baseline/skill/beads/references/MULTI_AGENT.md +40 -0
- package/baseline/skill/beads/references/RESUMABILITY.md +177 -0
- package/baseline/skill/beads/references/SESSION_PROTOCOL.md +61 -0
- package/baseline/skill/beads/references/TASK_CREATION.md +38 -0
- package/baseline/skill/beads/references/TROUBLESHOOTING.md +38 -0
- package/baseline/skill/beads/references/WORKFLOWS.md +226 -0
- package/baseline/skill/beads-bridge/SKILL.md +321 -0
- package/baseline/skill/brainstorming/SKILL.md +114 -0
- package/baseline/skill/chrome-devtools/SKILL.md +76 -0
- package/baseline/skill/chrome-devtools/mcp.json +19 -0
- package/baseline/skill/cloudflare/SKILL.md +253 -0
- package/baseline/skill/cloudflare/references/agents-sdk/README.md +35 -0
- package/baseline/skill/cloudflare/references/agents-sdk/api.md +100 -0
- package/baseline/skill/cloudflare/references/agents-sdk/configuration.md +99 -0
- package/baseline/skill/cloudflare/references/agents-sdk/gotchas.md +59 -0
- package/baseline/skill/cloudflare/references/agents-sdk/patterns.md +89 -0
- package/baseline/skill/cloudflare/references/ai-gateway/README.md +695 -0
- package/baseline/skill/cloudflare/references/ai-search/README.md +14 -0
- package/baseline/skill/cloudflare/references/ai-search/api.md +38 -0
- package/baseline/skill/cloudflare/references/ai-search/configuration.md +52 -0
- package/baseline/skill/cloudflare/references/ai-search/gotchas.md +41 -0
- package/baseline/skill/cloudflare/references/ai-search/patterns.md +45 -0
- package/baseline/skill/cloudflare/references/analytics-engine/README.md +14 -0
- package/baseline/skill/cloudflare/references/analytics-engine/api.md +27 -0
- package/baseline/skill/cloudflare/references/analytics-engine/configuration.md +45 -0
- package/baseline/skill/cloudflare/references/analytics-engine/gotchas.md +3 -0
- package/baseline/skill/cloudflare/references/analytics-engine/patterns.md +36 -0
- package/baseline/skill/cloudflare/references/api/README.md +21 -0
- package/baseline/skill/cloudflare/references/api/api.md +31 -0
- package/baseline/skill/cloudflare/references/api/configuration.md +20 -0
- package/baseline/skill/cloudflare/references/api/gotchas.md +28 -0
- package/baseline/skill/cloudflare/references/api/patterns.md +47 -0
- package/baseline/skill/cloudflare/references/api-shield/README.md +20 -0
- package/baseline/skill/cloudflare/references/api-shield/api.md +78 -0
- package/baseline/skill/cloudflare/references/api-shield/configuration.md +128 -0
- package/baseline/skill/cloudflare/references/api-shield/gotchas.md +51 -0
- package/baseline/skill/cloudflare/references/api-shield/patterns.md +145 -0
- package/baseline/skill/cloudflare/references/argo-smart-routing/README.md +16 -0
- package/baseline/skill/cloudflare/references/argo-smart-routing/api.md +50 -0
- package/baseline/skill/cloudflare/references/argo-smart-routing/configuration.md +53 -0
- package/baseline/skill/cloudflare/references/argo-smart-routing/gotchas.md +16 -0
- package/baseline/skill/cloudflare/references/argo-smart-routing/patterns.md +45 -0
- package/baseline/skill/cloudflare/references/bindings/README.md +14 -0
- package/baseline/skill/cloudflare/references/bindings/api.md +3 -0
- package/baseline/skill/cloudflare/references/bindings/configuration.md +58 -0
- package/baseline/skill/cloudflare/references/bindings/gotchas.md +35 -0
- package/baseline/skill/cloudflare/references/bindings/patterns.md +37 -0
- package/baseline/skill/cloudflare/references/bot-management/README.md +71 -0
- package/baseline/skill/cloudflare/references/bot-management/api.md +168 -0
- package/baseline/skill/cloudflare/references/bot-management/configuration.md +114 -0
- package/baseline/skill/cloudflare/references/bot-management/gotchas.md +99 -0
- package/baseline/skill/cloudflare/references/bot-management/patterns.md +125 -0
- package/baseline/skill/cloudflare/references/browser-rendering/README.md +16 -0
- package/baseline/skill/cloudflare/references/browser-rendering/api.md +54 -0
- package/baseline/skill/cloudflare/references/browser-rendering/configuration.md +47 -0
- package/baseline/skill/cloudflare/references/browser-rendering/gotchas.md +29 -0
- package/baseline/skill/cloudflare/references/browser-rendering/patterns.md +29 -0
- package/baseline/skill/cloudflare/references/c3/README.md +264 -0
- package/baseline/skill/cloudflare/references/cache-reserve/README.md +93 -0
- package/baseline/skill/cloudflare/references/cache-reserve/api.md +176 -0
- package/baseline/skill/cloudflare/references/cache-reserve/configuration.md +164 -0
- package/baseline/skill/cloudflare/references/cache-reserve/gotchas.md +203 -0
- package/baseline/skill/cloudflare/references/cache-reserve/patterns.md +180 -0
- package/baseline/skill/cloudflare/references/containers/README.md +16 -0
- package/baseline/skill/cloudflare/references/containers/api.md +43 -0
- package/baseline/skill/cloudflare/references/containers/configuration.md +56 -0
- package/baseline/skill/cloudflare/references/containers/gotchas.md +21 -0
- package/baseline/skill/cloudflare/references/containers/patterns.md +40 -0
- package/baseline/skill/cloudflare/references/cron-triggers/README.md +85 -0
- package/baseline/skill/cloudflare/references/cron-triggers/api.md +198 -0
- package/baseline/skill/cloudflare/references/cron-triggers/configuration.md +151 -0
- package/baseline/skill/cloudflare/references/cron-triggers/gotchas.md +129 -0
- package/baseline/skill/cloudflare/references/cron-triggers/patterns.md +122 -0
- package/baseline/skill/cloudflare/references/d1/README.md +92 -0
- package/baseline/skill/cloudflare/references/d1/api.md +141 -0
- package/baseline/skill/cloudflare/references/d1/configuration.md +127 -0
- package/baseline/skill/cloudflare/references/d1/gotchas.md +70 -0
- package/baseline/skill/cloudflare/references/d1/patterns.md +144 -0
- package/baseline/skill/cloudflare/references/ddos/README.md +34 -0
- package/baseline/skill/cloudflare/references/ddos/api.md +136 -0
- package/baseline/skill/cloudflare/references/ddos/configuration.md +67 -0
- package/baseline/skill/cloudflare/references/ddos/gotchas.md +114 -0
- package/baseline/skill/cloudflare/references/ddos/patterns.md +158 -0
- package/baseline/skill/cloudflare/references/do-storage/README.md +62 -0
- package/baseline/skill/cloudflare/references/do-storage/api.md +89 -0
- package/baseline/skill/cloudflare/references/do-storage/configuration.md +116 -0
- package/baseline/skill/cloudflare/references/do-storage/gotchas.md +93 -0
- package/baseline/skill/cloudflare/references/do-storage/patterns.md +112 -0
- package/baseline/skill/cloudflare/references/durable-objects/README.md +125 -0
- package/baseline/skill/cloudflare/references/durable-objects/api.md +152 -0
- package/baseline/skill/cloudflare/references/durable-objects/configuration.md +148 -0
- package/baseline/skill/cloudflare/references/durable-objects/gotchas.md +158 -0
- package/baseline/skill/cloudflare/references/durable-objects/patterns.md +255 -0
- package/baseline/skill/cloudflare/references/email-routing/README.md +18 -0
- package/baseline/skill/cloudflare/references/email-routing/api.md +46 -0
- package/baseline/skill/cloudflare/references/email-routing/configuration.md +63 -0
- package/baseline/skill/cloudflare/references/email-routing/gotchas.md +16 -0
- package/baseline/skill/cloudflare/references/email-routing/patterns.md +46 -0
- package/baseline/skill/cloudflare/references/email-workers/README.md +598 -0
- package/baseline/skill/cloudflare/references/hyperdrive/README.md +62 -0
- package/baseline/skill/cloudflare/references/hyperdrive/api.md +137 -0
- package/baseline/skill/cloudflare/references/hyperdrive/configuration.md +133 -0
- package/baseline/skill/cloudflare/references/hyperdrive/gotchas.md +184 -0
- package/baseline/skill/cloudflare/references/hyperdrive/patterns.md +176 -0
- package/baseline/skill/cloudflare/references/images/README.md +14 -0
- package/baseline/skill/cloudflare/references/images/api.md +3 -0
- package/baseline/skill/cloudflare/references/images/configuration.md +45 -0
- package/baseline/skill/cloudflare/references/images/gotchas.md +23 -0
- package/baseline/skill/cloudflare/references/images/patterns.md +31 -0
- package/baseline/skill/cloudflare/references/kv/README.md +60 -0
- package/baseline/skill/cloudflare/references/kv/api.md +114 -0
- package/baseline/skill/cloudflare/references/kv/configuration.md +92 -0
- package/baseline/skill/cloudflare/references/kv/gotchas.md +117 -0
- package/baseline/skill/cloudflare/references/kv/patterns.md +139 -0
- package/baseline/skill/cloudflare/references/miniflare/README.md +64 -0
- package/baseline/skill/cloudflare/references/miniflare/api.md +144 -0
- package/baseline/skill/cloudflare/references/miniflare/configuration.md +203 -0
- package/baseline/skill/cloudflare/references/miniflare/gotchas.md +187 -0
- package/baseline/skill/cloudflare/references/miniflare/patterns.md +211 -0
- package/baseline/skill/cloudflare/references/network-interconnect/README.md +60 -0
- package/baseline/skill/cloudflare/references/network-interconnect/api.md +240 -0
- package/baseline/skill/cloudflare/references/network-interconnect/configuration.md +127 -0
- package/baseline/skill/cloudflare/references/network-interconnect/gotchas.md +171 -0
- package/baseline/skill/cloudflare/references/network-interconnect/patterns.md +171 -0
- package/baseline/skill/cloudflare/references/observability/README.md +18 -0
- package/baseline/skill/cloudflare/references/observability/api.md +51 -0
- package/baseline/skill/cloudflare/references/observability/configuration.md +60 -0
- package/baseline/skill/cloudflare/references/observability/gotchas.md +36 -0
- package/baseline/skill/cloudflare/references/observability/patterns.md +42 -0
- package/baseline/skill/cloudflare/references/pages/README.md +76 -0
- package/baseline/skill/cloudflare/references/pages/api.md +200 -0
- package/baseline/skill/cloudflare/references/pages/configuration.md +228 -0
- package/baseline/skill/cloudflare/references/pages/gotchas.md +161 -0
- package/baseline/skill/cloudflare/references/pages/patterns.md +145 -0
- package/baseline/skill/cloudflare/references/pages-functions/README.md +57 -0
- package/baseline/skill/cloudflare/references/pages-functions/api.md +201 -0
- package/baseline/skill/cloudflare/references/pages-functions/configuration.md +159 -0
- package/baseline/skill/cloudflare/references/pages-functions/gotchas.md +151 -0
- package/baseline/skill/cloudflare/references/pages-functions/patterns.md +190 -0
- package/baseline/skill/cloudflare/references/pipelines/README.md +664 -0
- package/baseline/skill/cloudflare/references/pulumi/README.md +107 -0
- package/baseline/skill/cloudflare/references/pulumi/api.md +194 -0
- package/baseline/skill/cloudflare/references/pulumi/configuration.md +216 -0
- package/baseline/skill/cloudflare/references/pulumi/gotchas.md +223 -0
- package/baseline/skill/cloudflare/references/pulumi/patterns.md +139 -0
- package/baseline/skill/cloudflare/references/queues/README.md +69 -0
- package/baseline/skill/cloudflare/references/queues/api.md +138 -0
- package/baseline/skill/cloudflare/references/queues/configuration.md +125 -0
- package/baseline/skill/cloudflare/references/queues/gotchas.md +112 -0
- package/baseline/skill/cloudflare/references/queues/patterns.md +155 -0
- package/baseline/skill/cloudflare/references/r2/README.md +61 -0
- package/baseline/skill/cloudflare/references/r2/api.md +127 -0
- package/baseline/skill/cloudflare/references/r2/configuration.md +76 -0
- package/baseline/skill/cloudflare/references/r2/gotchas.md +94 -0
- package/baseline/skill/cloudflare/references/r2/patterns.md +127 -0
- package/baseline/skill/cloudflare/references/r2-data-catalog/README.md +18 -0
- package/baseline/skill/cloudflare/references/r2-data-catalog/api.md +29 -0
- package/baseline/skill/cloudflare/references/r2-data-catalog/configuration.md +39 -0
- package/baseline/skill/cloudflare/references/r2-data-catalog/gotchas.md +20 -0
- package/baseline/skill/cloudflare/references/r2-data-catalog/patterns.md +46 -0
- package/baseline/skill/cloudflare/references/r2-sql/README.md +512 -0
- package/baseline/skill/cloudflare/references/realtime-sfu/README.md +21 -0
- package/baseline/skill/cloudflare/references/realtime-sfu/api.md +135 -0
- package/baseline/skill/cloudflare/references/realtime-sfu/configuration.md +63 -0
- package/baseline/skill/cloudflare/references/realtime-sfu/gotchas.md +75 -0
- package/baseline/skill/cloudflare/references/realtime-sfu/patterns.md +102 -0
- package/baseline/skill/cloudflare/references/realtimekit/README.md +81 -0
- package/baseline/skill/cloudflare/references/realtimekit/api.md +164 -0
- package/baseline/skill/cloudflare/references/realtimekit/configuration.md +147 -0
- package/baseline/skill/cloudflare/references/realtimekit/gotchas.md +172 -0
- package/baseline/skill/cloudflare/references/realtimekit/patterns.md +155 -0
- package/baseline/skill/cloudflare/references/sandbox/README.md +90 -0
- package/baseline/skill/cloudflare/references/sandbox/api.md +178 -0
- package/baseline/skill/cloudflare/references/sandbox/configuration.md +131 -0
- package/baseline/skill/cloudflare/references/sandbox/gotchas.md +156 -0
- package/baseline/skill/cloudflare/references/sandbox/patterns.md +203 -0
- package/baseline/skill/cloudflare/references/secrets-store/README.md +58 -0
- package/baseline/skill/cloudflare/references/secrets-store/api.md +182 -0
- package/baseline/skill/cloudflare/references/secrets-store/configuration.md +140 -0
- package/baseline/skill/cloudflare/references/secrets-store/gotchas.md +129 -0
- package/baseline/skill/cloudflare/references/secrets-store/patterns.md +218 -0
- package/baseline/skill/cloudflare/references/smart-placement/README.md +91 -0
- package/baseline/skill/cloudflare/references/smart-placement/api.md +139 -0
- package/baseline/skill/cloudflare/references/smart-placement/configuration.md +129 -0
- package/baseline/skill/cloudflare/references/smart-placement/gotchas.md +87 -0
- package/baseline/skill/cloudflare/references/smart-placement/patterns.md +135 -0
- package/baseline/skill/cloudflare/references/snippets/README.md +15 -0
- package/baseline/skill/cloudflare/references/snippets/api.md +47 -0
- package/baseline/skill/cloudflare/references/snippets/configuration.md +33 -0
- package/baseline/skill/cloudflare/references/snippets/gotchas.md +21 -0
- package/baseline/skill/cloudflare/references/snippets/patterns.md +34 -0
- package/baseline/skill/cloudflare/references/spectrum/README.md +16 -0
- package/baseline/skill/cloudflare/references/spectrum/api.md +24 -0
- package/baseline/skill/cloudflare/references/spectrum/configuration.md +43 -0
- package/baseline/skill/cloudflare/references/spectrum/gotchas.md +42 -0
- package/baseline/skill/cloudflare/references/spectrum/patterns.md +40 -0
- package/baseline/skill/cloudflare/references/static-assets/README.md +14 -0
- package/baseline/skill/cloudflare/references/static-assets/api.md +3 -0
- package/baseline/skill/cloudflare/references/static-assets/configuration.md +47 -0
- package/baseline/skill/cloudflare/references/static-assets/gotchas.md +44 -0
- package/baseline/skill/cloudflare/references/static-assets/patterns.md +42 -0
- package/baseline/skill/cloudflare/references/stream/README.md +103 -0
- package/baseline/skill/cloudflare/references/stream/api.md +204 -0
- package/baseline/skill/cloudflare/references/stream/configuration.md +127 -0
- package/baseline/skill/cloudflare/references/stream/gotchas.md +131 -0
- package/baseline/skill/cloudflare/references/stream/patterns.md +152 -0
- package/baseline/skill/cloudflare/references/tail-workers/README.md +640 -0
- package/baseline/skill/cloudflare/references/terraform/README.md +76 -0
- package/baseline/skill/cloudflare/references/terraform/api.md +159 -0
- package/baseline/skill/cloudflare/references/terraform/configuration.md +156 -0
- package/baseline/skill/cloudflare/references/terraform/gotchas.md +207 -0
- package/baseline/skill/cloudflare/references/terraform/patterns.md +135 -0
- package/baseline/skill/cloudflare/references/tunnel/README.md +82 -0
- package/baseline/skill/cloudflare/references/tunnel/api.md +105 -0
- package/baseline/skill/cloudflare/references/tunnel/configuration.md +113 -0
- package/baseline/skill/cloudflare/references/tunnel/gotchas.md +115 -0
- package/baseline/skill/cloudflare/references/tunnel/patterns.md +157 -0
- package/baseline/skill/cloudflare/references/turn/README.md +699 -0
- package/baseline/skill/cloudflare/references/turnstile/README.md +14 -0
- package/baseline/skill/cloudflare/references/turnstile/api.md +3 -0
- package/baseline/skill/cloudflare/references/turnstile/configuration.md +19 -0
- package/baseline/skill/cloudflare/references/turnstile/gotchas.md +27 -0
- package/baseline/skill/cloudflare/references/turnstile/patterns.md +41 -0
- package/baseline/skill/cloudflare/references/vectorize/README.md +682 -0
- package/baseline/skill/cloudflare/references/waf/README.md +14 -0
- package/baseline/skill/cloudflare/references/waf/api.md +3 -0
- package/baseline/skill/cloudflare/references/waf/configuration.md +44 -0
- package/baseline/skill/cloudflare/references/waf/gotchas.md +24 -0
- package/baseline/skill/cloudflare/references/waf/patterns.md +29 -0
- package/baseline/skill/cloudflare/references/web-analytics/README.md +19 -0
- package/baseline/skill/cloudflare/references/web-analytics/api.md +52 -0
- package/baseline/skill/cloudflare/references/web-analytics/configuration.md +31 -0
- package/baseline/skill/cloudflare/references/web-analytics/gotchas.md +28 -0
- package/baseline/skill/cloudflare/references/web-analytics/patterns.md +52 -0
- package/baseline/skill/cloudflare/references/workerd/README.md +47 -0
- package/baseline/skill/cloudflare/references/workerd/api.md +199 -0
- package/baseline/skill/cloudflare/references/workerd/configuration.md +185 -0
- package/baseline/skill/cloudflare/references/workerd/gotchas.md +203 -0
- package/baseline/skill/cloudflare/references/workerd/patterns.md +216 -0
- package/baseline/skill/cloudflare/references/workers/README.md +96 -0
- package/baseline/skill/cloudflare/references/workers/api.md +137 -0
- package/baseline/skill/cloudflare/references/workers/configuration.md +147 -0
- package/baseline/skill/cloudflare/references/workers/gotchas.md +99 -0
- package/baseline/skill/cloudflare/references/workers/patterns.md +149 -0
- package/baseline/skill/cloudflare/references/workers-ai/README.md +116 -0
- package/baseline/skill/cloudflare/references/workers-for-platforms/README.md +48 -0
- package/baseline/skill/cloudflare/references/workers-for-platforms/api.md +169 -0
- package/baseline/skill/cloudflare/references/workers-for-platforms/configuration.md +136 -0
- package/baseline/skill/cloudflare/references/workers-for-platforms/gotchas.md +130 -0
- package/baseline/skill/cloudflare/references/workers-for-platforms/patterns.md +170 -0
- package/baseline/skill/cloudflare/references/workers-playground/README.md +16 -0
- package/baseline/skill/cloudflare/references/workers-playground/api.md +20 -0
- package/baseline/skill/cloudflare/references/workers-playground/configuration.md +3 -0
- package/baseline/skill/cloudflare/references/workers-playground/gotchas.md +35 -0
- package/baseline/skill/cloudflare/references/workers-playground/patterns.md +42 -0
- package/baseline/skill/cloudflare/references/workers-vpc/README.md +579 -0
- package/baseline/skill/cloudflare/references/workflows/README.md +62 -0
- package/baseline/skill/cloudflare/references/workflows/api.md +125 -0
- package/baseline/skill/cloudflare/references/workflows/configuration.md +177 -0
- package/baseline/skill/cloudflare/references/workflows/gotchas.md +136 -0
- package/baseline/skill/cloudflare/references/workflows/patterns.md +132 -0
- package/baseline/skill/cloudflare/references/wrangler/README.md +90 -0
- package/baseline/skill/cloudflare/references/wrangler/api.md +140 -0
- package/baseline/skill/cloudflare/references/wrangler/configuration.md +128 -0
- package/baseline/skill/cloudflare/references/wrangler/gotchas.md +93 -0
- package/baseline/skill/cloudflare/references/wrangler/patterns.md +150 -0
- package/baseline/skill/cloudflare/references/zaraz/README.md +360 -0
- package/baseline/skill/code-navigation/SKILL.md +130 -0
- package/baseline/skill/compaction/SKILL.md +317 -0
- package/baseline/skill/condition-based-waiting/SKILL.md +123 -0
- package/baseline/skill/condition-based-waiting/example.ts +158 -0
- package/baseline/skill/context-engineering/SKILL.md +176 -0
- package/baseline/skill/context-initialization/SKILL.md +70 -0
- package/baseline/skill/context-management/SKILL.md +163 -0
- package/baseline/skill/core-data-expert/SKILL.md +93 -0
- package/baseline/skill/core-data-expert/references/batch-operations.md +543 -0
- package/baseline/skill/core-data-expert/references/cloudkit-integration.md +259 -0
- package/baseline/skill/core-data-expert/references/concurrency.md +522 -0
- package/baseline/skill/core-data-expert/references/fetch-requests.md +643 -0
- package/baseline/skill/core-data-expert/references/glossary.md +233 -0
- package/baseline/skill/core-data-expert/references/migration.md +393 -0
- package/baseline/skill/core-data-expert/references/model-configuration.md +597 -0
- package/baseline/skill/core-data-expert/references/performance.md +300 -0
- package/baseline/skill/core-data-expert/references/persistent-history.md +553 -0
- package/baseline/skill/core-data-expert/references/project-audit.md +60 -0
- package/baseline/skill/core-data-expert/references/saving.md +574 -0
- package/baseline/skill/core-data-expert/references/stack-setup.md +625 -0
- package/baseline/skill/core-data-expert/references/testing.md +300 -0
- package/baseline/skill/core-data-expert/references/threading.md +589 -0
- package/baseline/skill/deep-research/SKILL.md +384 -0
- package/baseline/skill/defense-in-depth/SKILL.md +166 -0
- package/baseline/skill/design-system-audit/SKILL.md +153 -0
- package/baseline/skill/development-lifecycle/SKILL.md +356 -0
- package/baseline/skill/dispatching-parallel-agents/SKILL.md +191 -0
- package/baseline/skill/executing-plans/SKILL.md +247 -0
- package/baseline/skill/figma/SKILL.md +224 -0
- package/baseline/skill/finishing-a-development-branch/SKILL.md +357 -0
- package/baseline/skill/frontend-design/SKILL.md +235 -0
- package/baseline/skill/frontend-design/references/animation/motion-advanced.md +224 -0
- package/baseline/skill/frontend-design/references/animation/motion-core.md +181 -0
- package/baseline/skill/frontend-design/references/canvas/execution.md +90 -0
- package/baseline/skill/frontend-design/references/canvas/philosophy.md +94 -0
- package/baseline/skill/frontend-design/references/design/color-system.md +111 -0
- package/baseline/skill/frontend-design/references/design/interaction.md +149 -0
- package/baseline/skill/frontend-design/references/design/typography-rules.md +106 -0
- package/baseline/skill/frontend-design/references/design/ux-writing.md +99 -0
- package/baseline/skill/frontend-design/references/shadcn/accessibility.md +132 -0
- package/baseline/skill/frontend-design/references/shadcn/core-components.md +153 -0
- package/baseline/skill/frontend-design/references/shadcn/form-components.md +158 -0
- package/baseline/skill/frontend-design/references/shadcn/setup.md +69 -0
- package/baseline/skill/frontend-design/references/shadcn/theming.md +152 -0
- package/baseline/skill/frontend-design/references/tailwind/responsive.md +112 -0
- package/baseline/skill/frontend-design/references/tailwind/utilities-layout.md +134 -0
- package/baseline/skill/frontend-design/references/tailwind/utilities-styling.md +165 -0
- package/baseline/skill/frontend-design/references/tailwind/v4-config.md +147 -0
- package/baseline/skill/frontend-design/references/tailwind/v4-features.md +128 -0
- package/baseline/skill/gemini-large-context/SKILL.md +216 -0
- package/baseline/skill/index-knowledge/SKILL.md +413 -0
- package/baseline/skill/jira/SKILL.md +283 -0
- package/baseline/skill/jira/mcp.json +6 -0
- package/baseline/skill/memory-system/SKILL.md +84 -0
- package/baseline/skill/mockup-to-code/SKILL.md +184 -0
- package/baseline/skill/mqdh/SKILL.md +171 -0
- package/baseline/skill/obsidian/SKILL.md +192 -0
- package/baseline/skill/obsidian/mcp.json +22 -0
- package/baseline/skill/opensrc/SKILL.md +127 -0
- package/baseline/skill/opensrc/references/architecture.md +176 -0
- package/baseline/skill/opensrc/references/cli-usage.md +176 -0
- package/baseline/skill/opensrc/references/registry-support.md +137 -0
- package/baseline/skill/pdf-extract/SKILL.md +438 -0
- package/baseline/skill/playwright/SKILL.md +320 -0
- package/baseline/skill/playwright/mcp.json +16 -0
- package/baseline/skill/playwriter/SKILL.md +158 -0
- package/baseline/skill/polar/SKILL.md +102 -0
- package/baseline/skill/prd/SKILL.md +146 -0
- package/baseline/skill/prd-task/SKILL.md +182 -0
- package/baseline/skill/prd-task/references/prd-schema.json +124 -0
- package/baseline/skill/ralph/SKILL.md +296 -0
- package/baseline/skill/react-best-practices/AGENTS.md +2410 -0
- package/baseline/skill/react-best-practices/README.md +123 -0
- package/baseline/skill/react-best-practices/SKILL.md +133 -0
- package/baseline/skill/react-best-practices/metadata.json +15 -0
- package/baseline/skill/react-best-practices/rules/_sections.md +46 -0
- package/baseline/skill/react-best-practices/rules/_template.md +28 -0
- package/baseline/skill/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/baseline/skill/react-best-practices/rules/advanced-use-latest.md +49 -0
- package/baseline/skill/react-best-practices/rules/async-api-routes.md +38 -0
- package/baseline/skill/react-best-practices/rules/async-defer-await.md +80 -0
- package/baseline/skill/react-best-practices/rules/async-dependencies.md +36 -0
- package/baseline/skill/react-best-practices/rules/async-parallel.md +28 -0
- package/baseline/skill/react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/baseline/skill/react-best-practices/rules/bundle-barrel-imports.md +59 -0
- package/baseline/skill/react-best-practices/rules/bundle-conditional.md +31 -0
- package/baseline/skill/react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/baseline/skill/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/baseline/skill/react-best-practices/rules/bundle-preload.md +50 -0
- package/baseline/skill/react-best-practices/rules/client-event-listeners.md +74 -0
- package/baseline/skill/react-best-practices/rules/client-localstorage-schema.md +71 -0
- package/baseline/skill/react-best-practices/rules/client-passive-event-listeners.md +48 -0
- package/baseline/skill/react-best-practices/rules/client-swr-dedup.md +56 -0
- package/baseline/skill/react-best-practices/rules/js-batch-dom-css.md +82 -0
- package/baseline/skill/react-best-practices/rules/js-cache-function-results.md +80 -0
- package/baseline/skill/react-best-practices/rules/js-cache-property-access.md +28 -0
- package/baseline/skill/react-best-practices/rules/js-cache-storage.md +70 -0
- package/baseline/skill/react-best-practices/rules/js-combine-iterations.md +32 -0
- package/baseline/skill/react-best-practices/rules/js-early-exit.md +50 -0
- package/baseline/skill/react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/baseline/skill/react-best-practices/rules/js-index-maps.md +37 -0
- package/baseline/skill/react-best-practices/rules/js-length-check-first.md +49 -0
- package/baseline/skill/react-best-practices/rules/js-min-max-loop.md +82 -0
- package/baseline/skill/react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/baseline/skill/react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/baseline/skill/react-best-practices/rules/rendering-activity.md +26 -0
- package/baseline/skill/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/baseline/skill/react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/baseline/skill/react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/baseline/skill/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/baseline/skill/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/baseline/skill/react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/baseline/skill/react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/baseline/skill/react-best-practices/rules/rerender-dependencies.md +45 -0
- package/baseline/skill/react-best-practices/rules/rerender-derived-state.md +29 -0
- package/baseline/skill/react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/baseline/skill/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/baseline/skill/react-best-practices/rules/rerender-memo.md +44 -0
- package/baseline/skill/react-best-practices/rules/rerender-transitions.md +40 -0
- package/baseline/skill/react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/baseline/skill/react-best-practices/rules/server-cache-lru.md +41 -0
- package/baseline/skill/react-best-practices/rules/server-cache-react.md +76 -0
- package/baseline/skill/react-best-practices/rules/server-parallel-fetching.md +83 -0
- package/baseline/skill/react-best-practices/rules/server-serialization.md +38 -0
- package/baseline/skill/receiving-code-review/SKILL.md +252 -0
- package/baseline/skill/requesting-code-review/SKILL.md +397 -0
- package/baseline/skill/requesting-code-review/review.md +160 -0
- package/baseline/skill/resend/SKILL.md +177 -0
- package/baseline/skill/resend/references/react-email.md +287 -0
- package/baseline/skill/resend/references/receive-email.md +248 -0
- package/baseline/skill/resend/references/send-email.md +318 -0
- package/baseline/skill/root-cause-tracing/SKILL.md +192 -0
- package/baseline/skill/root-cause-tracing/find-polluter.sh +63 -0
- package/baseline/skill/session-management/SKILL.md +9 -0
- package/baseline/skill/sharing-skills/SKILL.md +214 -0
- package/baseline/skill/skill-creator/SKILL.md +156 -0
- package/baseline/skill/source-code-research/SKILL.md +293 -0
- package/baseline/skill/source-code-research/references/analysis-tips.md +43 -0
- package/baseline/skill/source-code-research/references/anti-patterns.md +36 -0
- package/baseline/skill/source-code-research/references/common-patterns.md +57 -0
- package/baseline/skill/source-code-research/references/example-workflow.md +60 -0
- package/baseline/skill/source-code-research/references/further-reading.md +5 -0
- package/baseline/skill/source-code-research/references/source-structure.md +45 -0
- package/baseline/skill/stitch/SKILL.md +147 -0
- package/baseline/skill/stitch/mcp.json +9 -0
- package/baseline/skill/structured-edit/SKILL.md +181 -0
- package/baseline/skill/subagent-driven-development/SKILL.md +237 -0
- package/baseline/skill/supabase/SKILL.md +130 -0
- package/baseline/skill/supabase/mcp.json +27 -0
- package/baseline/skill/supabase-postgres-best-practices/AGENTS.md +1490 -0
- package/baseline/skill/supabase-postgres-best-practices/SKILL.md +65 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/advanced-full-text-search.md +55 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/advanced-jsonb-indexing.md +49 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/conn-idle-timeout.md +46 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/conn-limits.md +44 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/conn-pooling.md +41 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/conn-prepared-statements.md +46 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/data-batch-inserts.md +54 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/data-n-plus-one.md +53 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/data-pagination.md +50 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/data-upsert.md +50 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/lock-advisory.md +56 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/lock-deadlock-prevention.md +68 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/lock-short-transactions.md +50 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/lock-skip-locked.md +54 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/monitor-explain-analyze.md +45 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/monitor-pg-stat-statements.md +55 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/monitor-vacuum-analyze.md +55 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/query-composite-indexes.md +44 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/query-covering-indexes.md +40 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/query-index-types.md +45 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/query-missing-indexes.md +43 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/query-partial-indexes.md +45 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/schema-data-types.md +46 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/schema-foreign-key-indexes.md +59 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/schema-lowercase-identifiers.md +55 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/schema-partitioning.md +55 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/schema-primary-keys.md +61 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/security-privileges.md +54 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/security-rls-basics.md +50 -0
- package/baseline/skill/supabase-postgres-best-practices/rules/security-rls-performance.md +57 -0
- package/baseline/skill/swarm-coordination/SKILL.md +179 -0
- package/baseline/skill/swarm-coordination/references/architecture.md +39 -0
- package/baseline/skill/swarm-coordination/references/delegation-worker-protocol.md +145 -0
- package/baseline/skill/swarm-coordination/references/dependency-graph.md +50 -0
- package/baseline/skill/swarm-coordination/references/drift-check.md +90 -0
- package/baseline/skill/swarm-coordination/references/integration-beads.md +20 -0
- package/baseline/skill/swarm-coordination/references/launch-flow.md +186 -0
- package/baseline/skill/swarm-coordination/references/reconciler.md +172 -0
- package/baseline/skill/swarm-coordination/references/tier-enforcement.md +78 -0
- package/baseline/skill/swarm-coordination/references/tmux-integration.md +134 -0
- package/baseline/skill/swift-concurrency/SKILL.md +266 -0
- package/baseline/skill/swift-concurrency/references/actors.md +640 -0
- package/baseline/skill/swift-concurrency/references/async-algorithms.md +822 -0
- package/baseline/skill/swift-concurrency/references/async-await-basics.md +249 -0
- package/baseline/skill/swift-concurrency/references/async-sequences.md +670 -0
- package/baseline/skill/swift-concurrency/references/core-data.md +533 -0
- package/baseline/skill/swift-concurrency/references/glossary.md +128 -0
- package/baseline/skill/swift-concurrency/references/linting.md +142 -0
- package/baseline/skill/swift-concurrency/references/memory-management.md +542 -0
- package/baseline/skill/swift-concurrency/references/migration.md +1076 -0
- package/baseline/skill/swift-concurrency/references/performance.md +574 -0
- package/baseline/skill/swift-concurrency/references/sendable.md +578 -0
- package/baseline/skill/swift-concurrency/references/tasks.md +604 -0
- package/baseline/skill/swift-concurrency/references/testing.md +565 -0
- package/baseline/skill/swift-concurrency/references/threading.md +452 -0
- package/baseline/skill/swiftui-expert-skill/SKILL.md +329 -0
- package/baseline/skill/swiftui-expert-skill/references/animation-advanced.md +351 -0
- package/baseline/skill/swiftui-expert-skill/references/animation-basics.md +284 -0
- package/baseline/skill/swiftui-expert-skill/references/animation-transitions.md +326 -0
- package/baseline/skill/swiftui-expert-skill/references/image-optimization.md +286 -0
- package/baseline/skill/swiftui-expert-skill/references/layout-best-practices.md +312 -0
- package/baseline/skill/swiftui-expert-skill/references/liquid-glass.md +377 -0
- package/baseline/skill/swiftui-expert-skill/references/list-patterns.md +153 -0
- package/baseline/skill/swiftui-expert-skill/references/modern-apis.md +400 -0
- package/baseline/skill/swiftui-expert-skill/references/performance-patterns.md +377 -0
- package/baseline/skill/swiftui-expert-skill/references/scroll-patterns.md +305 -0
- package/baseline/skill/swiftui-expert-skill/references/sheet-navigation-patterns.md +292 -0
- package/baseline/skill/swiftui-expert-skill/references/state-management.md +447 -0
- package/baseline/skill/swiftui-expert-skill/references/text-formatting.md +285 -0
- package/baseline/skill/swiftui-expert-skill/references/view-structure.md +276 -0
- package/baseline/skill/systematic-debugging/SKILL.md +402 -0
- package/baseline/skill/test-driven-development/SKILL.md +388 -0
- package/baseline/skill/testing-anti-patterns/SKILL.md +333 -0
- package/baseline/skill/testing-skills-with-subagents/SKILL.md +405 -0
- package/baseline/skill/tilth-cli/SKILL.md +180 -0
- package/baseline/skill/tool-priority/SKILL.md +299 -0
- package/baseline/skill/ui-ux-research/SKILL.md +9 -0
- package/baseline/skill/using-git-worktrees/SKILL.md +259 -0
- package/baseline/skill/using-skills/SKILL.md +117 -0
- package/baseline/skill/v0/SKILL.md +158 -0
- package/baseline/skill/v1-run/SKILL.md +175 -0
- package/baseline/skill/v1-run/mcp.json +6 -0
- package/baseline/skill/vercel-deploy-claimable/SKILL.md +124 -0
- package/baseline/skill/vercel-deploy-claimable/scripts/deploy.sh +249 -0
- package/baseline/skill/verification-before-completion/SKILL.md +236 -0
- package/baseline/skill/verification-before-completion/references/VERIFICATION_PROTOCOL.md +171 -0
- package/baseline/skill/visual-analysis/SKILL.md +154 -0
- package/baseline/skill/web-design-guidelines/SKILL.md +46 -0
- package/baseline/skill/writing-plans/SKILL.md +320 -0
- package/baseline/skill/writing-skills/SKILL.md +287 -0
- package/baseline/skill/writing-skills/anthropic-best-practices.md +1173 -0
- package/baseline/skill/writing-skills/graphviz-conventions.dot +172 -0
- package/baseline/skill/writing-skills/persuasion-principles.md +220 -0
- package/baseline/skill/writing-skills/references/anti-patterns.md +25 -0
- package/baseline/skill/writing-skills/references/claude-search-optimization.md +140 -0
- package/baseline/skill/writing-skills/references/discovery-workflow.md +11 -0
- package/baseline/skill/writing-skills/references/file-organization.md +32 -0
- package/baseline/skill/writing-skills/references/flowcharts-and-examples.md +57 -0
- package/baseline/skill/writing-skills/references/rationalization-hardening.md +75 -0
- package/baseline/skill/writing-skills/references/testing-skill-types.md +52 -0
- package/baseline/tool/context7.ts +191 -0
- package/baseline/tool/grepsearch.ts +143 -0
- package/baseline/tsconfig.json +21 -0
- package/baseline/tui.json +15 -0
- package/bin/mrc-opc.mjs +25 -0
- package/bin/ocp.mjs +25 -0
- package/bin/opc.mjs +25 -0
- package/bin/opencode-starterkit.mjs +25 -0
- package/docs/reports/2026-03-18-memory-db-architecture-note.md +47 -0
- package/docs/reports/2026-03-18-vat-opencode-classification-matrix.md +180 -0
- package/package.json +25 -0
- package/src/cli.mjs +41 -0
- package/src/config-merge.mjs +61 -0
- package/src/constants.mjs +58 -0
- package/src/fs-utils.mjs +46 -0
- package/src/install-global.mjs +102 -0
- package/src/install-project.mjs +81 -0
- package/src/memory-bootstrap.mjs +29 -0
- package/src/prompt.mjs +31 -0
- package/src/templates.mjs +31 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: memory-system
|
|
3
|
+
description: Use when persisting learnings, loading previous context, or searching past decisions - covers memory file structure, tools, and when to update each file
|
|
4
|
+
version: 1.1.0
|
|
5
|
+
tags: [context, workflow]
|
|
6
|
+
dependencies: []
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Memory System Best Practices
|
|
10
|
+
|
|
11
|
+
> **Replaces** losing context between sessions — persistent knowledge that survives session boundaries
|
|
12
|
+
|
|
13
|
+
## When to Use
|
|
14
|
+
|
|
15
|
+
- Starting work and needing prior decisions, bugfixes, or patterns
|
|
16
|
+
- Recording non-obvious decisions/learnings for future sessions
|
|
17
|
+
- Creating handoffs so the next session can continue quickly
|
|
18
|
+
|
|
19
|
+
## When NOT to Use
|
|
20
|
+
|
|
21
|
+
- Ephemeral debugging notes that won't matter after the current task
|
|
22
|
+
- Storing generated artifacts/log dumps as long-term memory
|
|
23
|
+
|
|
24
|
+
## Core Principle
|
|
25
|
+
|
|
26
|
+
**Progressive disclosure**: search compactly, fetch fully only when relevant, then record high-signal observations.
|
|
27
|
+
|
|
28
|
+
## Session Workflow
|
|
29
|
+
|
|
30
|
+
1. **Ground (search first)**
|
|
31
|
+
- Run `memory-search` with task keywords before implementation.
|
|
32
|
+
- Check recent handoffs when resuming interrupted work.
|
|
33
|
+
2. **Calibrate (progressive disclosure)**
|
|
34
|
+
- Use search results as index.
|
|
35
|
+
- Fetch full entries only for relevant IDs (`memory-get`).
|
|
36
|
+
- Pull timeline context only when sequencing matters (`memory-timeline`).
|
|
37
|
+
3. **Record (high-signal only)**
|
|
38
|
+
- Create `observation` for decisions, bugfixes, patterns, warnings, or durable learnings.
|
|
39
|
+
- Include searchable concepts and concrete file references.
|
|
40
|
+
4. **Handoff (if session boundary)**
|
|
41
|
+
- Write a concise status note with completed work, blockers, and next steps using `memory-update` under `handoffs/`.
|
|
42
|
+
|
|
43
|
+
## What Goes Where
|
|
44
|
+
|
|
45
|
+
| Store | Put Here | Avoid Here |
|
|
46
|
+
| --- | --- | --- |
|
|
47
|
+
| `observation` (SQLite) | Events: decisions, bugfixes, reusable patterns, warnings | Temporary notes, speculative ideas without evidence |
|
|
48
|
+
| `memory-update` files | Durable docs: handoffs, research, project notes | Every minor runtime detail from a single debug run |
|
|
49
|
+
| Auto pipeline | Captured messages + distillations (automatic) | Manual copying of full transcripts |
|
|
50
|
+
|
|
51
|
+
## Observation Quality Bar
|
|
52
|
+
|
|
53
|
+
Use this checklist before creating an observation:
|
|
54
|
+
|
|
55
|
+
- Is it likely useful in a future session?
|
|
56
|
+
- Is it non-obvious (not already in code/comments)?
|
|
57
|
+
- Can I summarize it in one clear title + short narrative?
|
|
58
|
+
- Did I include strong search terms in `concepts` and relevant files?
|
|
59
|
+
|
|
60
|
+
If most answers are "no", skip creating the observation.
|
|
61
|
+
|
|
62
|
+
## Anti-Patterns
|
|
63
|
+
|
|
64
|
+
| Anti-Pattern | Why It Fails | Instead |
|
|
65
|
+
| --- | --- | --- |
|
|
66
|
+
| Storing transient debugging info as permanent observations | Pollutes search results with low-value noise | Keep transient info in session context; record only durable findings |
|
|
67
|
+
| Creating observations for every small finding (signal-to-noise) | Important items get buried and retrieval quality drops | Batch minor notes; publish one distilled observation per meaningful outcome |
|
|
68
|
+
| Not searching memory before creating duplicate observations | Produces conflicting/duplicated records | Run `memory-search` first; update/supersede existing records when appropriate |
|
|
69
|
+
| Using `memory-update` for data that should be an observation | Durable events become hard to discover and rank | Use `observation` for events; reserve `memory-update` for document-style files |
|
|
70
|
+
|
|
71
|
+
## Verification
|
|
72
|
+
|
|
73
|
+
After creating an observation: `memory-search` with relevant keywords should find it.
|
|
74
|
+
|
|
75
|
+
## Practical Defaults
|
|
76
|
+
|
|
77
|
+
- Prefer specific queries over broad ones (`"auth race condition init"` > `"auth"`).
|
|
78
|
+
- For ongoing work, append to one handoff file per task/day instead of many tiny files.
|
|
79
|
+
- Keep observation titles concrete and action-oriented.
|
|
80
|
+
|
|
81
|
+
## See Also
|
|
82
|
+
|
|
83
|
+
- `context-management`
|
|
84
|
+
- `session-management`
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mockup-to-code
|
|
3
|
+
description: Use when converting UI mockups, screenshots, Figma/Sketch designs, wireframes, or building component libraries from design systems into production-ready code
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
tags: [ui, workflow]
|
|
6
|
+
dependencies: []
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Mockup to Code Skill
|
|
10
|
+
|
|
11
|
+
> **Replaces** manual pixel-by-pixel CSS translation from designs — structured extraction of layout, colors, typography, and components from visual references
|
|
12
|
+
|
|
13
|
+
## When to Use
|
|
14
|
+
|
|
15
|
+
- Converting Figma/Sketch mockups to React/Vue/HTML
|
|
16
|
+
- Implementing pixel-perfect designs
|
|
17
|
+
- Building component libraries from design systems
|
|
18
|
+
- Rapid prototyping from wireframes
|
|
19
|
+
|
|
20
|
+
## When NOT to Use
|
|
21
|
+
|
|
22
|
+
- No visual reference or mockup to implement.
|
|
23
|
+
|
|
24
|
+
## Workflow
|
|
25
|
+
|
|
26
|
+
1. **Analyze** — Use vision agent to extract: layout structure, color palette, typography, spacing, components
|
|
27
|
+
2. **Map** — Match extracted elements to existing design tokens/components in the codebase
|
|
28
|
+
3. **Implement** — Build components using extracted specs, reusing existing tokens where possible
|
|
29
|
+
4. **Verify** — Screenshot the result and compare visually to the original mockup
|
|
30
|
+
|
|
31
|
+
## Core Workflow
|
|
32
|
+
|
|
33
|
+
### Phase 1: Design Analysis
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
Analyze this UI mockup and extract:
|
|
37
|
+
|
|
38
|
+
1. LAYOUT STRUCTURE
|
|
39
|
+
- Grid system (columns, gutters, margins)
|
|
40
|
+
- Component hierarchy
|
|
41
|
+
- Container widths
|
|
42
|
+
|
|
43
|
+
2. VISUAL SPECIFICATIONS
|
|
44
|
+
- Colors (hex values)
|
|
45
|
+
- Typography (sizes, weights)
|
|
46
|
+
- Spacing (padding, margins, gaps)
|
|
47
|
+
- Border radius, shadows
|
|
48
|
+
|
|
49
|
+
3. COMPONENTS IDENTIFIED
|
|
50
|
+
- List each distinct component
|
|
51
|
+
- Note variations
|
|
52
|
+
- Identify reusable patterns
|
|
53
|
+
|
|
54
|
+
4. RESPONSIVE CONSIDERATIONS
|
|
55
|
+
- How might this adapt to mobile?
|
|
56
|
+
- Collapsible sections
|
|
57
|
+
- Priority content
|
|
58
|
+
|
|
59
|
+
Output as structured JSON.
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Phase 2: Component Breakdown
|
|
63
|
+
|
|
64
|
+
```markdown
|
|
65
|
+
## Component: [Name]
|
|
66
|
+
|
|
67
|
+
**Priority:** High/Medium/Low
|
|
68
|
+
**Complexity:** Simple/Medium/Complex
|
|
69
|
+
**Reusability:** One-off/Reusable/Design System
|
|
70
|
+
|
|
71
|
+
**Props Interface:**
|
|
72
|
+
|
|
73
|
+
- variant: 'primary' | 'secondary'
|
|
74
|
+
- size: 'sm' | 'md' | 'lg'
|
|
75
|
+
- disabled?: boolean
|
|
76
|
+
|
|
77
|
+
**Accessibility:**
|
|
78
|
+
|
|
79
|
+
- Keyboard navigation
|
|
80
|
+
- ARIA labels
|
|
81
|
+
- Focus management
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### Phase 3: Implementation
|
|
85
|
+
|
|
86
|
+
Implement with comparison loop:
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
Compare mockup vs implementation:
|
|
90
|
+
|
|
91
|
+
1. What differences do you see?
|
|
92
|
+
2. What's missing?
|
|
93
|
+
3. Spacing/sizing adjustments needed?
|
|
94
|
+
4. Color accuracy?
|
|
95
|
+
5. Typography match?
|
|
96
|
+
|
|
97
|
+
Prioritize fixes by visual impact.
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Technology Patterns
|
|
101
|
+
|
|
102
|
+
### React + Tailwind
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
Convert to React with Tailwind CSS.
|
|
106
|
+
|
|
107
|
+
Requirements:
|
|
108
|
+
- Functional components with TypeScript
|
|
109
|
+
- Tailwind utility classes
|
|
110
|
+
- Extract repeated patterns
|
|
111
|
+
- Semantic HTML
|
|
112
|
+
- Responsive classes (sm:, md:, lg:)
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### Vue 3
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
Convert to Vue 3 component.
|
|
119
|
+
|
|
120
|
+
Requirements:
|
|
121
|
+
- Composition API with <script setup>
|
|
122
|
+
- Scoped styles
|
|
123
|
+
- Props with TypeScript
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### Plain HTML/CSS
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
Convert to semantic HTML and CSS.
|
|
130
|
+
|
|
131
|
+
Requirements:
|
|
132
|
+
- Semantic HTML5 elements
|
|
133
|
+
- CSS Grid/Flexbox layout
|
|
134
|
+
- CSS custom properties
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## Quality Checklist
|
|
138
|
+
|
|
139
|
+
### Visual Fidelity
|
|
140
|
+
|
|
141
|
+
- [ ] Colors match exactly
|
|
142
|
+
- [ ] Typography matches
|
|
143
|
+
- [ ] Spacing is consistent
|
|
144
|
+
- [ ] Border radius matches
|
|
145
|
+
- [ ] Shadows correct
|
|
146
|
+
|
|
147
|
+
### Responsiveness
|
|
148
|
+
|
|
149
|
+
- [ ] Desktop layout matches
|
|
150
|
+
- [ ] Tablet works
|
|
151
|
+
- [ ] Mobile is usable
|
|
152
|
+
- [ ] No horizontal scroll
|
|
153
|
+
|
|
154
|
+
### Interactions
|
|
155
|
+
|
|
156
|
+
- [ ] Hover states
|
|
157
|
+
- [ ] Focus states
|
|
158
|
+
- [ ] Transitions smooth
|
|
159
|
+
|
|
160
|
+
### Code Quality
|
|
161
|
+
|
|
162
|
+
- [ ] Properly typed
|
|
163
|
+
- [ ] Sensible defaults
|
|
164
|
+
- [ ] Uses tokens (no hardcoded values)
|
|
165
|
+
- [ ] Accessible markup
|
|
166
|
+
|
|
167
|
+
## Anti-Patterns
|
|
168
|
+
|
|
169
|
+
| Anti-Pattern | Why It Fails | Instead |
|
|
170
|
+
| ---------------------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------------------- |
|
|
171
|
+
| Hardcoding colors/sizes instead of using design tokens | Creates inconsistency and makes global updates expensive | Map values to existing tokens first; add new tokens only when truly new |
|
|
172
|
+
| Building from scratch when existing components cover 80% of the design | Reintroduces solved problems and increases maintenance cost | Compose and extend existing components, then patch gaps |
|
|
173
|
+
| Pixel-perfect matching without responsive considerations | Breaks on different viewport sizes and device classes | Match intent at multiple breakpoints and validate mobile/tablet/desktop |
|
|
174
|
+
| Not extracting reusable components from repeated patterns | Duplicates code and drifts visual behavior over time | Promote repeated UI blocks into reusable components with variants |
|
|
175
|
+
|
|
176
|
+
## Storage
|
|
177
|
+
|
|
178
|
+
Save implementations to `.opencode/memory/design/implementations/`
|
|
179
|
+
|
|
180
|
+
## See Also
|
|
181
|
+
|
|
182
|
+
- `frontend-design`
|
|
183
|
+
- `visual-analysis`
|
|
184
|
+
- `accessibility-audit`
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mqdh
|
|
3
|
+
description: Meta Quest Developer Hub MCP for VR/AR development. Access Meta Horizon OS docs, ADB tools, device management. Use when building Quest apps or need Meta XR documentation.
|
|
4
|
+
mcp:
|
|
5
|
+
mqdh:
|
|
6
|
+
command: "${MQDH_MCP_PATH}"
|
|
7
|
+
args: []
|
|
8
|
+
version: 1.0.0
|
|
9
|
+
tags: [integration, mcp]
|
|
10
|
+
dependencies: []
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Meta Quest Developer Hub MCP
|
|
14
|
+
|
|
15
|
+
## When to Use
|
|
16
|
+
|
|
17
|
+
- When you need Meta Quest docs, ADB tooling, or device management via MQDH MCP.
|
|
18
|
+
|
|
19
|
+
## When NOT to Use
|
|
20
|
+
|
|
21
|
+
- When you are not working on Meta Quest/VR development or MQDH is unavailable.
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
## Prerequisites
|
|
25
|
+
|
|
26
|
+
### 1. Install MQDH
|
|
27
|
+
|
|
28
|
+
Download and install Meta Quest Developer Hub v6.2.1 or later:
|
|
29
|
+
|
|
30
|
+
- **macOS**: [Download MQDH for Mac](https://developers.meta.com/horizon/documentation/android-apps/meta-quest-developer-hub)
|
|
31
|
+
- **Windows**: [Download MQDH for Windows](https://developers.meta.com/horizon/documentation/android-apps/meta-quest-developer-hub)
|
|
32
|
+
|
|
33
|
+
### 2. Set MCP Path Environment Variable
|
|
34
|
+
|
|
35
|
+
The MCP server is bundled with MQDH. Set the path to the MCP executable:
|
|
36
|
+
|
|
37
|
+
**macOS:**
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
export MQDH_MCP_PATH="/Applications/Meta Quest Developer Hub.app/Contents/Resources/mcp-server"
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
**Windows:**
|
|
44
|
+
|
|
45
|
+
```powershell
|
|
46
|
+
$env:MQDH_MCP_PATH = "C:\Program Files\Meta Quest Developer Hub\resources\mcp-server.exe"
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
> **Note**: Paths may vary based on your installation. Check MQDH's AI Tools settings tab for the exact path.
|
|
50
|
+
|
|
51
|
+
### 3. Alternative: Use MQDH's Built-in Setup
|
|
52
|
+
|
|
53
|
+
MQDH v6.2.1+ includes an **AI Tools settings tab** with:
|
|
54
|
+
|
|
55
|
+
- One-click install for **Cursor** and **VS Code**
|
|
56
|
+
- Guided setup for Claude Desktop, Gemini CLI, Android Studio
|
|
57
|
+
- Manual configuration export for other tools
|
|
58
|
+
|
|
59
|
+
## Quick Start
|
|
60
|
+
|
|
61
|
+
After setting up the environment variable and loading this skill:
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
skill_mcp(skill_name="mqdh", list_tools=true)
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Then invoke tools:
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
skill_mcp(skill_name="mqdh", tool_name="fetch_meta_quest_doc", arguments='{"query": "hand tracking setup"}')
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Available Tools
|
|
74
|
+
|
|
75
|
+
### fetch_meta_quest_doc
|
|
76
|
+
|
|
77
|
+
Search and retrieve Meta Horizon OS documentation.
|
|
78
|
+
|
|
79
|
+
| Parameter | Type | Required | Description |
|
|
80
|
+
| --------- | ------ | -------- | -------------------------- |
|
|
81
|
+
| `query` | string | Yes | Documentation search query |
|
|
82
|
+
|
|
83
|
+
**Example:**
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
skill_mcp(skill_name="mqdh", tool_name="fetch_meta_quest_doc", arguments='{"query": "passthrough API Unity"}')
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### get_adb_path
|
|
90
|
+
|
|
91
|
+
Get the path to the bundled ADB executable.
|
|
92
|
+
|
|
93
|
+
**Example:**
|
|
94
|
+
|
|
95
|
+
```
|
|
96
|
+
skill_mcp(skill_name="mqdh", tool_name="get_adb_path", arguments='{}')
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### device_list
|
|
100
|
+
|
|
101
|
+
List connected Quest devices.
|
|
102
|
+
|
|
103
|
+
**Example:**
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
skill_mcp(skill_name="mqdh", tool_name="device_list", arguments='{}')
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### install_apk
|
|
110
|
+
|
|
111
|
+
Install an APK to a connected Quest device.
|
|
112
|
+
|
|
113
|
+
| Parameter | Type | Required | Description |
|
|
114
|
+
| ----------- | ------ | -------- | ---------------- |
|
|
115
|
+
| `apk_path` | string | Yes | Path to APK file |
|
|
116
|
+
| `device_id` | string | No | Target device ID |
|
|
117
|
+
|
|
118
|
+
**Example:**
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
skill_mcp(skill_name="mqdh", tool_name="install_apk", arguments='{"apk_path": "/path/to/app.apk"}')
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## Use Cases
|
|
125
|
+
|
|
126
|
+
- **Documentation Lookup**: Quickly search Meta Horizon OS docs for APIs, best practices
|
|
127
|
+
- **Device Management**: List devices, install APKs, manage Quest headsets
|
|
128
|
+
- **Development Workflow**: Integrate ADB operations into AI-assisted development
|
|
129
|
+
- **Troubleshooting**: Find solutions in Meta's documentation
|
|
130
|
+
|
|
131
|
+
## Workflow Examples
|
|
132
|
+
|
|
133
|
+
### 1. Look Up API Documentation
|
|
134
|
+
|
|
135
|
+
```
|
|
136
|
+
# Search for hand tracking documentation
|
|
137
|
+
skill_mcp(skill_name="mqdh", tool_name="fetch_meta_quest_doc", arguments='{"query": "hand tracking gesture detection"}')
|
|
138
|
+
|
|
139
|
+
# Search for passthrough setup
|
|
140
|
+
skill_mcp(skill_name="mqdh", tool_name="fetch_meta_quest_doc", arguments='{"query": "mixed reality passthrough Unity"}')
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### 2. Device Operations
|
|
144
|
+
|
|
145
|
+
```
|
|
146
|
+
# List connected devices
|
|
147
|
+
skill_mcp(skill_name="mqdh", tool_name="device_list", arguments='{}')
|
|
148
|
+
|
|
149
|
+
# Install a build
|
|
150
|
+
skill_mcp(skill_name="mqdh", tool_name="install_apk", arguments='{"apk_path": "/builds/myapp.apk", "device_id": "1234567890"}')
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## Transport
|
|
154
|
+
|
|
155
|
+
This MCP uses **STDIO** transport to communicate with the LLM agent.
|
|
156
|
+
|
|
157
|
+
## Troubleshooting
|
|
158
|
+
|
|
159
|
+
**"Command not found"**: Verify `MQDH_MCP_PATH` points to the correct executable. Check MQDH's AI Tools settings for the exact path.
|
|
160
|
+
|
|
161
|
+
**"MQDH not installed"**: Download MQDH v6.2.1+ from [Meta Developer Portal](https://developers.meta.com/horizon/documentation/android-apps/meta-quest-developer-hub).
|
|
162
|
+
|
|
163
|
+
**"Device not found"**: Ensure your Quest is connected via USB and developer mode is enabled.
|
|
164
|
+
|
|
165
|
+
**One-click setup preferred**: Use MQDH's built-in AI Tools settings tab for automatic configuration with Cursor or VS Code.
|
|
166
|
+
|
|
167
|
+
## References
|
|
168
|
+
|
|
169
|
+
- [MQDH MCP Documentation](https://developers.meta.com/horizon/documentation/unity/ts-mqdh-mcp/)
|
|
170
|
+
- [Install MQDH](https://developers.meta.com/horizon/documentation/android-apps/meta-quest-developer-hub)
|
|
171
|
+
- [Meta Horizon OS Developer Docs](https://developers.meta.com/horizon/documentation/)
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: obsidian
|
|
3
|
+
description: Use when working with Obsidian vault via MCP - read/write notes, search, tag management, and vault operations
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
tags: [integration, documentation]
|
|
6
|
+
dependencies: []
|
|
7
|
+
mcp:
|
|
8
|
+
server: @mauricio.wolff/mcp-obsidian
|
|
9
|
+
args: ["{env:OBSIDIAN_VAULT_PATH}"]
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Obsidian Vault (MCP)
|
|
13
|
+
|
|
14
|
+
## When to Use
|
|
15
|
+
|
|
16
|
+
- When you need MCP-based read/write/search operations in an Obsidian vault.
|
|
17
|
+
|
|
18
|
+
## When NOT to Use
|
|
19
|
+
|
|
20
|
+
- When the task does not involve an Obsidian vault or MCP access.
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
## Available Tools
|
|
24
|
+
|
|
25
|
+
### Read Operations
|
|
26
|
+
|
|
27
|
+
| Tool | Purpose | Arguments |
|
|
28
|
+
| --------------------- | --------------------------------- | ------------------------------------------------- |
|
|
29
|
+
| `read_note` | Read note with parsed frontmatter | `path`, `prettyPrint` |
|
|
30
|
+
| `read_multiple_notes` | Batch read (max 10) | `paths[]`, `includeContent`, `includeFrontmatter` |
|
|
31
|
+
| `get_frontmatter` | Extract only frontmatter | `path` |
|
|
32
|
+
| `get_notes_info` | Get metadata without content | `paths[]` |
|
|
33
|
+
| `list_directory` | List files and directories | `path` |
|
|
34
|
+
|
|
35
|
+
### Write Operations
|
|
36
|
+
|
|
37
|
+
| Tool | Purpose | Arguments |
|
|
38
|
+
| -------------------- | ------------------------------------- | ---------------------------------------- |
|
|
39
|
+
| `write_note` | Write note (overwrite/append/prepend) | `path`, `content`, `frontmatter`, `mode` |
|
|
40
|
+
| `update_frontmatter` | Update frontmatter only | `path`, `frontmatter`, `merge` |
|
|
41
|
+
| `delete_note` | Delete note (requires confirmation) | `path`, `confirmPath` |
|
|
42
|
+
| `move_note` | Move/rename note | `oldPath`, `newPath`, `overwrite` |
|
|
43
|
+
|
|
44
|
+
### Search & Tags
|
|
45
|
+
|
|
46
|
+
| Tool | Purpose | Arguments |
|
|
47
|
+
| -------------- | ----------------------------- | ------------------------------------------------------ |
|
|
48
|
+
| `search_notes` | Search by content/frontmatter | `query`, `limit`, `searchContent`, `searchFrontmatter` |
|
|
49
|
+
| `manage_tags` | Add/remove/list tags | `path`, `operation`, `tags[]` |
|
|
50
|
+
|
|
51
|
+
## Write Modes
|
|
52
|
+
|
|
53
|
+
| Mode | Description |
|
|
54
|
+
| ----------- | ------------------------------------- |
|
|
55
|
+
| `overwrite` | Replace entire file content (default) |
|
|
56
|
+
| `append` | Add content to end of file |
|
|
57
|
+
| `prepend` | Add content to beginning of file |
|
|
58
|
+
|
|
59
|
+
## Usage Examples
|
|
60
|
+
|
|
61
|
+
### Read Notes
|
|
62
|
+
|
|
63
|
+
```typescript
|
|
64
|
+
// Read a single note
|
|
65
|
+
skill_mcp({
|
|
66
|
+
skill_name: "obsidian",
|
|
67
|
+
tool_name: "read_note",
|
|
68
|
+
arguments: '{"path": "projects/project-ideas.md"}',
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
// Read multiple notes
|
|
72
|
+
skill_mcp({
|
|
73
|
+
skill_name: "obsidian",
|
|
74
|
+
tool_name: "read_multiple_notes",
|
|
75
|
+
arguments: '{"paths": ["note1.md", "note2.md"], "includeContent": true}',
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
// List directory
|
|
79
|
+
skill_mcp({
|
|
80
|
+
skill_name: "obsidian",
|
|
81
|
+
tool_name: "list_directory",
|
|
82
|
+
arguments: '{"path": "Projects"}',
|
|
83
|
+
});
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Write Notes
|
|
87
|
+
|
|
88
|
+
```typescript
|
|
89
|
+
// Create new note (overwrite)
|
|
90
|
+
skill_mcp({
|
|
91
|
+
skill_name: "obsidian",
|
|
92
|
+
tool_name: "write_note",
|
|
93
|
+
arguments: `{
|
|
94
|
+
"path": "meeting-notes.md",
|
|
95
|
+
"content": "# Team Meeting\\n\\n## Agenda\\n- Project updates",
|
|
96
|
+
"frontmatter": {"title": "Team Meeting", "date": "2025-02-13", "tags": ["meetings", "team"]},
|
|
97
|
+
"mode": "overwrite"
|
|
98
|
+
}`,
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
// Append to existing note
|
|
102
|
+
skill_mcp({
|
|
103
|
+
skill_name: "obsidian",
|
|
104
|
+
tool_name: "write_note",
|
|
105
|
+
arguments:
|
|
106
|
+
'{"path": "daily-log.md", "content": "\\n\\n## 3:00 PM\\n- Completed review", "mode": "append"}',
|
|
107
|
+
});
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Search & Tags
|
|
111
|
+
|
|
112
|
+
```typescript
|
|
113
|
+
// Search notes
|
|
114
|
+
skill_mcp({
|
|
115
|
+
skill_name: "obsidian",
|
|
116
|
+
tool_name: "search_notes",
|
|
117
|
+
arguments: '{"query": "machine learning", "limit": 5, "searchContent": true}',
|
|
118
|
+
});
|
|
119
|
+
|
|
120
|
+
// Add tags
|
|
121
|
+
skill_mcp({
|
|
122
|
+
skill_name: "obsidian",
|
|
123
|
+
tool_name: "manage_tags",
|
|
124
|
+
arguments: '{"path": "research-notes.md", "operation": "add", "tags": ["important", "ai"]}',
|
|
125
|
+
});
|
|
126
|
+
|
|
127
|
+
// List tags
|
|
128
|
+
skill_mcp({
|
|
129
|
+
skill_name: "obsidian",
|
|
130
|
+
tool_name: "manage_tags",
|
|
131
|
+
arguments: '{"path": "research-notes.md", "operation": "list"}',
|
|
132
|
+
});
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### Delete (Safe)
|
|
136
|
+
|
|
137
|
+
```typescript
|
|
138
|
+
// Delete requires confirmation (both paths must match)
|
|
139
|
+
skill_mcp({
|
|
140
|
+
skill_name: "obsidian",
|
|
141
|
+
tool_name: "delete_note",
|
|
142
|
+
arguments: '{"path": "old-draft.md", "confirmPath": "old-draft.md"}',
|
|
143
|
+
});
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
## Configuration
|
|
147
|
+
|
|
148
|
+
### Environment Variable
|
|
149
|
+
|
|
150
|
+
Set your vault path:
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
export OBSIDIAN_VAULT_PATH="/path/to/your/obsidian/vault"
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
Or configure in opencode.json:
|
|
157
|
+
|
|
158
|
+
```json
|
|
159
|
+
{
|
|
160
|
+
"mcp": {
|
|
161
|
+
"obsidian": {
|
|
162
|
+
"command": "npx",
|
|
163
|
+
"args": ["@mauricio.wolff/mcp-obsidian", "/path/to/vault"]
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
## Security
|
|
170
|
+
|
|
171
|
+
- Path traversal protection: prevents access outside vault
|
|
172
|
+
- Auto-excludes: `.obsidian`, `.git`, `node_modules`
|
|
173
|
+
- Frontmatter validation: blocks dangerous objects
|
|
174
|
+
- Confirmation required for deletions
|
|
175
|
+
|
|
176
|
+
## Common Use Cases
|
|
177
|
+
|
|
178
|
+
| Task | Tool | Example |
|
|
179
|
+
| -------------------- | ---------------- | ----------------------------------------------------------------------------- |
|
|
180
|
+
| List vault files | `list_directory` | `list_directory({ path: "" })` |
|
|
181
|
+
| Read specific note | `read_note` | `read_note({ path: "tasks/project.md" })` |
|
|
182
|
+
| Create/update note | `write_note` | `write_note({ path: "new.md", content: "...", mode: "overwrite" })` |
|
|
183
|
+
| Search notes | `search_notes` | `search_notes({ query: "API", limit: 10 })` |
|
|
184
|
+
| Add tags | `manage_tags` | `manage_tags({ path: "note.md", operation: "add", tags: ["urgent"] })` |
|
|
185
|
+
| Append to daily note | `write_note` | `write_note({ path: "daily/2025-02-13.md", content: "...", mode: "append" })` |
|
|
186
|
+
|
|
187
|
+
## Tips
|
|
188
|
+
|
|
189
|
+
- Use `prettyPrint: true` for debugging, `false` (default) for production
|
|
190
|
+
- Batch reads with `read_multiple_notes` (max 10)
|
|
191
|
+
- Search supports content and frontmatter filtering
|
|
192
|
+
- Frontmatter is auto-parsed on read
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"obsidian": {
|
|
3
|
+
"command": "npx",
|
|
4
|
+
"args": ["-y", "@mauricio.wolff/mcp-obsidian", "{env:OBSIDIAN_VAULT_PATH}"],
|
|
5
|
+
"env": {
|
|
6
|
+
"OBSIDIAN_VAULT_PATH": "{env:OBSIDIAN_VAULT_PATH}"
|
|
7
|
+
},
|
|
8
|
+
"includeTools": [
|
|
9
|
+
"read_note",
|
|
10
|
+
"read_multiple_notes",
|
|
11
|
+
"get_frontmatter",
|
|
12
|
+
"get_notes_info",
|
|
13
|
+
"list_directory",
|
|
14
|
+
"write_note",
|
|
15
|
+
"update_frontmatter",
|
|
16
|
+
"delete_note",
|
|
17
|
+
"move_note",
|
|
18
|
+
"search_notes",
|
|
19
|
+
"manage_tags"
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
}
|