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,357 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: finishing-a-development-branch
|
|
3
|
+
description: Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
tags: [workflow, git]
|
|
6
|
+
dependencies: []
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Finishing a Development Branch
|
|
10
|
+
|
|
11
|
+
## When to Use
|
|
12
|
+
|
|
13
|
+
- Implementation is complete and tests pass, and you need to merge/PR/cleanup
|
|
14
|
+
- You must present structured end-of-work options and execute the chosen path
|
|
15
|
+
|
|
16
|
+
## When NOT to Use
|
|
17
|
+
|
|
18
|
+
- Tests or mandatory gates are failing
|
|
19
|
+
- Work is still in progress and not ready for integration
|
|
20
|
+
|
|
21
|
+
## Overview
|
|
22
|
+
|
|
23
|
+
Guide completion of development work by presenting clear options and handling chosen workflow.
|
|
24
|
+
|
|
25
|
+
**Core principle:** Verify tests → Present options → Execute choice → Clean up.
|
|
26
|
+
|
|
27
|
+
**Announce at start:** "I'm using the finishing-a-development-branch skill to complete this work."
|
|
28
|
+
|
|
29
|
+
## The Process
|
|
30
|
+
|
|
31
|
+
### Step 1: Verify Tests
|
|
32
|
+
|
|
33
|
+
#### Completion Prep Checklist
|
|
34
|
+
|
|
35
|
+
- [ ] Run the project's test suite
|
|
36
|
+
- [ ] Stop if any tests fail and report failures
|
|
37
|
+
|
|
38
|
+
**Before presenting options, verify tests pass:**
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
# Run project's test suite
|
|
42
|
+
npm test / cargo test / pytest / go test ./...
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
**If tests fail:**
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
Tests failing (<N> failures). Must fix before completing:
|
|
49
|
+
|
|
50
|
+
[Show failures]
|
|
51
|
+
|
|
52
|
+
Cannot proceed with merge/PR until tests pass.
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Stop. Don't proceed to Step 2.
|
|
56
|
+
|
|
57
|
+
**If tests pass:** Continue to Step 2.
|
|
58
|
+
|
|
59
|
+
### Step 2: Determine Base Branch
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
# Try common base branches
|
|
63
|
+
git merge-base HEAD main 2>/dev/null || git merge-base HEAD master 2>/dev/null
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Or ask: "This branch split from main - is that correct?"
|
|
67
|
+
|
|
68
|
+
### Step 3: Present Options
|
|
69
|
+
|
|
70
|
+
Use question tool to present completion options:
|
|
71
|
+
|
|
72
|
+
```typescript
|
|
73
|
+
question({
|
|
74
|
+
questions: [
|
|
75
|
+
{
|
|
76
|
+
header: "Complete",
|
|
77
|
+
question: "Implementation complete. What would you like to do?",
|
|
78
|
+
options: [
|
|
79
|
+
{
|
|
80
|
+
label: "Merge locally (Recommended)",
|
|
81
|
+
description: "Merge to base branch",
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
label: "Push & create PR",
|
|
85
|
+
description: "Create pull request for review",
|
|
86
|
+
},
|
|
87
|
+
{ label: "Keep branch", description: "I'll handle it later" },
|
|
88
|
+
{ label: "Discard work", description: "Delete this branch" },
|
|
89
|
+
],
|
|
90
|
+
},
|
|
91
|
+
],
|
|
92
|
+
});
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
**Don't add explanation** - keep options concise.
|
|
96
|
+
|
|
97
|
+
### Step 4: Execute Choice
|
|
98
|
+
|
|
99
|
+
#### Execute Choice Checklist
|
|
100
|
+
|
|
101
|
+
- [ ] Follow the selected option's steps exactly
|
|
102
|
+
- [ ] Re-run tests on merged result when applicable
|
|
103
|
+
- [ ] Only cleanup worktree for Options 1, 2, or 4
|
|
104
|
+
|
|
105
|
+
#### Option 1: Merge Locally
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
# Switch to base branch
|
|
109
|
+
git checkout <base-branch>
|
|
110
|
+
|
|
111
|
+
# Pull latest
|
|
112
|
+
git pull
|
|
113
|
+
|
|
114
|
+
# Merge feature branch
|
|
115
|
+
git merge <feature-branch>
|
|
116
|
+
|
|
117
|
+
# Verify tests on merged result
|
|
118
|
+
<test command>
|
|
119
|
+
|
|
120
|
+
# If tests pass
|
|
121
|
+
git branch -d <feature-branch>
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Then: Cleanup worktree (Step 5)
|
|
125
|
+
|
|
126
|
+
#### Option 2: Push and Create PR
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
# Push branch
|
|
130
|
+
git push -u origin <feature-branch>
|
|
131
|
+
|
|
132
|
+
# Create PR
|
|
133
|
+
gh pr create --title "<title>" --body "$(cat <<'EOF'
|
|
134
|
+
## Summary
|
|
135
|
+
<2-3 bullets of what changed>
|
|
136
|
+
|
|
137
|
+
## Test Plan
|
|
138
|
+
- [ ] <verification steps>
|
|
139
|
+
EOF
|
|
140
|
+
)"
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
Then: Cleanup worktree (Step 5)
|
|
144
|
+
|
|
145
|
+
#### Option 3: Keep As-Is
|
|
146
|
+
|
|
147
|
+
Report: "Keeping branch <name>. Worktree preserved at <path>."
|
|
148
|
+
|
|
149
|
+
**Don't cleanup worktree.**
|
|
150
|
+
|
|
151
|
+
#### Option 4: Discard
|
|
152
|
+
|
|
153
|
+
**Confirm first:**
|
|
154
|
+
|
|
155
|
+
```
|
|
156
|
+
This will permanently delete:
|
|
157
|
+
- Branch <name>
|
|
158
|
+
- All commits: <commit-list>
|
|
159
|
+
- Worktree at <path>
|
|
160
|
+
|
|
161
|
+
Type 'discard' to confirm.
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
Wait for exact confirmation.
|
|
165
|
+
|
|
166
|
+
If confirmed:
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
git checkout <base-branch>
|
|
170
|
+
git branch -D <feature-branch>
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
Then: Cleanup worktree (Step 5)
|
|
174
|
+
|
|
175
|
+
### Step 5: Cleanup Worktree
|
|
176
|
+
|
|
177
|
+
**For Options 1, 2, 4:**
|
|
178
|
+
|
|
179
|
+
Check if in worktree:
|
|
180
|
+
|
|
181
|
+
```bash
|
|
182
|
+
git worktree list | grep $(git branch --show-current)
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
If yes:
|
|
186
|
+
|
|
187
|
+
```bash
|
|
188
|
+
git worktree remove <worktree-path>
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
**For Option 3:** Keep worktree.
|
|
192
|
+
|
|
193
|
+
## Quick Reference
|
|
194
|
+
|
|
195
|
+
| Option | Merge | Push | Keep Worktree | Cleanup Branch |
|
|
196
|
+
| ---------------- | ----- | ---- | ------------- | -------------- |
|
|
197
|
+
| 1. Merge locally | ✓ | - | - | ✓ |
|
|
198
|
+
| 2. Create PR | - | ✓ | ✓ | - |
|
|
199
|
+
| 3. Keep as-is | - | - | ✓ | - |
|
|
200
|
+
| 4. Discard | - | - | - | ✓ (force) |
|
|
201
|
+
|
|
202
|
+
## Mandatory Build Gates (Longshot Pattern)
|
|
203
|
+
|
|
204
|
+
**Build gates are non-optional before any merge/PR/close.** Advisory verification has failed at scale — gates must be enforced as hard blockers.
|
|
205
|
+
|
|
206
|
+
### Gate Sequence
|
|
207
|
+
|
|
208
|
+
#### Gate Checklist
|
|
209
|
+
|
|
210
|
+
- [ ] Gate 1: `npm run typecheck`
|
|
211
|
+
- [ ] Gate 2: `npm run lint` (run `npm run lint:fix` if needed)
|
|
212
|
+
- [ ] Gate 3: `vitest`
|
|
213
|
+
- [ ] Stop and fix if any gate fails
|
|
214
|
+
|
|
215
|
+
Every bead MUST pass all three gates in order. No exceptions.
|
|
216
|
+
|
|
217
|
+
```bash
|
|
218
|
+
# Gate 1: Typecheck
|
|
219
|
+
npm run typecheck
|
|
220
|
+
# Must exit 0. If fails → STOP. Fix types first.
|
|
221
|
+
|
|
222
|
+
# Gate 2: Lint
|
|
223
|
+
npm run lint
|
|
224
|
+
# Must exit 0. If fails → STOP. Run npm run lint:fix, then fix remaining.
|
|
225
|
+
|
|
226
|
+
# Gate 3: Tests
|
|
227
|
+
vitest
|
|
228
|
+
# Must exit 0. If fails → STOP. Fix failing tests first.
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
### Gate Enforcement Script
|
|
232
|
+
|
|
233
|
+
Run before every merge, PR creation, or bead close:
|
|
234
|
+
|
|
235
|
+
```bash
|
|
236
|
+
#!/bin/bash
|
|
237
|
+
# Run mandatory gates — all must pass
|
|
238
|
+
|
|
239
|
+
echo "Gate 1/3: Typecheck..."
|
|
240
|
+
npm run typecheck || { echo "FAILED: Fix type errors before proceeding."; exit 1; }
|
|
241
|
+
|
|
242
|
+
echo "Gate 2/3: Lint..."
|
|
243
|
+
npm run lint || {
|
|
244
|
+
echo "Attempting auto-fix..."
|
|
245
|
+
npm run lint:fix
|
|
246
|
+
npm run lint || { echo "FAILED: Fix lint errors before proceeding."; exit 1; }
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
echo "Gate 3/3: Tests..."
|
|
250
|
+
vitest || { echo "FAILED: Fix failing tests before proceeding."; exit 1; }
|
|
251
|
+
|
|
252
|
+
echo "All gates passed. Safe to merge/PR/close."
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
### Gate Failure Response
|
|
256
|
+
|
|
257
|
+
| Gate Failure | First Action | If Still Failing |
|
|
258
|
+
| ------------ | -------------------------------- | --------------------------- |
|
|
259
|
+
| Typecheck | Fix type errors at reported line | Use LSP hover for type info |
|
|
260
|
+
| Lint | Run `npm run lint:fix` | Fix remaining manually |
|
|
261
|
+
| Tests | Read failing test output | Fix implementation or test |
|
|
262
|
+
|
|
263
|
+
### Hard Rules
|
|
264
|
+
|
|
265
|
+
**NEVER:**
|
|
266
|
+
|
|
267
|
+
- Close a bead without passing all 3 gates
|
|
268
|
+
- Create a PR without passing all 3 gates
|
|
269
|
+
- Merge locally without passing all 3 gates on merged result
|
|
270
|
+
- Skip gates "because the change is small"
|
|
271
|
+
|
|
272
|
+
**ALWAYS:**
|
|
273
|
+
|
|
274
|
+
- Run gates after EVERY non-trivial file change
|
|
275
|
+
- Re-run gates after fixing gate failures (to catch regressions)
|
|
276
|
+
- Run gates on the merged result, not just the branch
|
|
277
|
+
|
|
278
|
+
### Integration with Bead Workflow
|
|
279
|
+
|
|
280
|
+
```bash
|
|
281
|
+
# Before closing any bead:
|
|
282
|
+
npm run typecheck && npm run lint && vitest
|
|
283
|
+
|
|
284
|
+
# If all pass:
|
|
285
|
+
br close <id> --reason "Implementation complete. All gates passed."
|
|
286
|
+
br sync --flush-only
|
|
287
|
+
|
|
288
|
+
# If any fail:
|
|
289
|
+
# STOP. Fix. Re-run gates. Then close.
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
### Gate State in Delegation Packets
|
|
293
|
+
|
|
294
|
+
Workers must include gate results in their completion report:
|
|
295
|
+
|
|
296
|
+
```markdown
|
|
297
|
+
## Completion Report
|
|
298
|
+
|
|
299
|
+
### Gate Results
|
|
300
|
+
|
|
301
|
+
- [ ] typecheck: PASS / FAIL (error: ...)
|
|
302
|
+
- [ ] lint: PASS / FAIL (error: ...)
|
|
303
|
+
- [ ] tests: PASS / FAIL (N failed, N passed)
|
|
304
|
+
|
|
305
|
+
### Gate Command Used
|
|
306
|
+
|
|
307
|
+
`npm run typecheck && npm run lint && vitest`
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
## Common Mistakes
|
|
311
|
+
|
|
312
|
+
**Skipping test verification**
|
|
313
|
+
|
|
314
|
+
- **Problem:** Merge broken code, create failing PR
|
|
315
|
+
- **Fix:** Always verify tests before offering options
|
|
316
|
+
|
|
317
|
+
**Open-ended questions**
|
|
318
|
+
|
|
319
|
+
- **Problem:** "What should I do next?" → ambiguous
|
|
320
|
+
- **Fix:** Present exactly 4 structured options
|
|
321
|
+
|
|
322
|
+
**Automatic worktree cleanup**
|
|
323
|
+
|
|
324
|
+
- **Problem:** Remove worktree when might need it (Option 2, 3)
|
|
325
|
+
- **Fix:** Only cleanup for Options 1 and 4
|
|
326
|
+
|
|
327
|
+
**No confirmation for discard**
|
|
328
|
+
|
|
329
|
+
- **Problem:** Accidentally delete work
|
|
330
|
+
- **Fix:** Require typed "discard" confirmation
|
|
331
|
+
|
|
332
|
+
## Red Flags
|
|
333
|
+
|
|
334
|
+
**Never:**
|
|
335
|
+
|
|
336
|
+
- Proceed with failing tests
|
|
337
|
+
- Merge without verifying tests on result
|
|
338
|
+
- Delete work without confirmation
|
|
339
|
+
- Force-push without explicit request
|
|
340
|
+
|
|
341
|
+
**Always:**
|
|
342
|
+
|
|
343
|
+
- Verify tests before offering options
|
|
344
|
+
- Present exactly 4 options
|
|
345
|
+
- Get typed confirmation for Option 4
|
|
346
|
+
- Clean up worktree for Options 1 & 4 only
|
|
347
|
+
|
|
348
|
+
## Integration
|
|
349
|
+
|
|
350
|
+
**Called by:**
|
|
351
|
+
|
|
352
|
+
- **subagent-driven-development** (Step 7) - After all tasks complete
|
|
353
|
+
- **executing-plans** (Step 5) - After all batches complete
|
|
354
|
+
|
|
355
|
+
**Pairs with:**
|
|
356
|
+
|
|
357
|
+
- **using-git-worktrees** - Cleans up worktree created by that skill
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: frontend-design
|
|
3
|
+
description: Create distinctive, production-grade frontend interfaces. Use when building web components, pages, or applications with React-based frameworks. Includes Tailwind CSS v4, shadcn/ui components, Motion animations, and visual design philosophy for avoiding generic AI aesthetics.
|
|
4
|
+
version: 1.1.0
|
|
5
|
+
tags: [ui, design]
|
|
6
|
+
dependencies: []
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Frontend Design
|
|
10
|
+
|
|
11
|
+
## When to Use
|
|
12
|
+
|
|
13
|
+
- Building UI with React frameworks (Next.js, Vite, Remix)
|
|
14
|
+
- Creating visually distinctive, memorable interfaces
|
|
15
|
+
- Implementing accessible components with shadcn/ui
|
|
16
|
+
- Styling with Tailwind CSS v4
|
|
17
|
+
- Adding animations and micro-interactions
|
|
18
|
+
- Creating visual designs, posters, brand materials
|
|
19
|
+
|
|
20
|
+
## When NOT to Use
|
|
21
|
+
|
|
22
|
+
- Backend-only tasks or minimal UI with no visual design requirements.
|
|
23
|
+
|
|
24
|
+
## Reference Documentation
|
|
25
|
+
|
|
26
|
+
### Tailwind CSS v4.1
|
|
27
|
+
|
|
28
|
+
- `./references/tailwind/v4-config.md` - Installation, @theme, CSS-first config
|
|
29
|
+
- `./references/tailwind/v4-features.md` - Container queries, gradients, masks, text shadows
|
|
30
|
+
- `./references/tailwind/utilities-layout.md` - Display, flex, grid, position
|
|
31
|
+
- `./references/tailwind/utilities-styling.md` - Spacing, typography, colors, borders
|
|
32
|
+
- `./references/tailwind/responsive.md` - Breakpoints, mobile-first, container queries
|
|
33
|
+
|
|
34
|
+
Search: `@theme`, `@container`, `OKLCH`, `mask-`, `text-shadow`
|
|
35
|
+
|
|
36
|
+
### shadcn/ui (CLI v3.6)
|
|
37
|
+
|
|
38
|
+
- `./references/shadcn/setup.md` - Installation, visual styles, component list
|
|
39
|
+
- `./references/shadcn/core-components.md` - Button, Card, Dialog, Select, Tabs, Toast
|
|
40
|
+
- `./references/shadcn/form-components.md` - Form, Field, Input Group, 2026 components
|
|
41
|
+
- `./references/shadcn/theming.md` - CSS variables, OKLCH, dark mode
|
|
42
|
+
- `./references/shadcn/accessibility.md` - ARIA, keyboard, screen reader
|
|
43
|
+
|
|
44
|
+
Search: `Field`, `InputGroup`, `Spinner`, `ButtonGroup`, `next-themes`
|
|
45
|
+
|
|
46
|
+
### Animation (Motion + Tailwind)
|
|
47
|
+
|
|
48
|
+
- `./references/animation/motion-core.md` - Timing system, easing constants, performance rules, reduced motion, core patterns
|
|
49
|
+
- `./references/animation/motion-advanced.md` - AnimatePresence, scroll, orchestration, TypeScript
|
|
50
|
+
|
|
51
|
+
**Stack**:
|
|
52
|
+
| Animation Type | Tool |
|
|
53
|
+
|----------------|------|
|
|
54
|
+
| Hover/transitions | Tailwind CSS (`transition-*`) |
|
|
55
|
+
| shadcn states | `tailwindcss-animate` (built-in) |
|
|
56
|
+
| Gestures/layout/exit | Motion (`motion/react`) |
|
|
57
|
+
| Complex SVG morphing | anime.js v4 (niche only) |
|
|
58
|
+
|
|
59
|
+
### Visual Design
|
|
60
|
+
|
|
61
|
+
- `./references/canvas/philosophy.md` - Design movements, core principles
|
|
62
|
+
- `./references/canvas/execution.md` - Multi-page systems, quality standards
|
|
63
|
+
|
|
64
|
+
For sophisticated compositions: posters, brand materials, design systems.
|
|
65
|
+
|
|
66
|
+
### Design Systems (Deep Guides)
|
|
67
|
+
|
|
68
|
+
- `./references/design/color-system.md` - OKLCH, semantic tokens, dark mode architecture
|
|
69
|
+
- `./references/design/typography-rules.md` - Fluid type, modular scale, OpenType features
|
|
70
|
+
- `./references/design/interaction.md` - State models, focus, dialogs/popovers, loading patterns
|
|
71
|
+
- `./references/design/ux-writing.md` - Button copy, error structure, empty states, i18n
|
|
72
|
+
|
|
73
|
+
Search: `AI Slop Test`, `tinted neutrals`, `focus-visible`, `verb + object`, `65ch`
|
|
74
|
+
|
|
75
|
+
## Design Thinking
|
|
76
|
+
|
|
77
|
+
Before coding, commit to BOLD aesthetic direction:
|
|
78
|
+
|
|
79
|
+
- **Purpose**: What problem? Who uses it?
|
|
80
|
+
- **Tone**: Pick extreme - brutally minimal, maximalist chaos, retro-futuristic, organic, luxury, playful, editorial, brutalist, art deco, soft/pastel, industrial
|
|
81
|
+
- **Differentiation**: What makes this UNFORGETTABLE?
|
|
82
|
+
|
|
83
|
+
Bold maximalism and refined minimalism both work. Key is intentionality.
|
|
84
|
+
|
|
85
|
+
## Anti-Patterns (AI Fingerprints — NEVER)
|
|
86
|
+
|
|
87
|
+
These patterns immediately signal "AI made this." Avoid them all.
|
|
88
|
+
|
|
89
|
+
### Typography
|
|
90
|
+
|
|
91
|
+
- **Banned fonts**: Inter, Roboto, Arial, Open Sans, Lato, Montserrat, Space Grotesk, system-ui as display font
|
|
92
|
+
- Monospace used as "developer aesthetic" shorthand
|
|
93
|
+
- Big icons centered above every heading
|
|
94
|
+
- Using `px` for body text (use `rem`/`em` to respect user settings)
|
|
95
|
+
|
|
96
|
+
### Color
|
|
97
|
+
|
|
98
|
+
- **AI palette**: Cyan-on-dark, purple-to-blue gradients, neon accents on dark backgrounds
|
|
99
|
+
- Gray text on colored backgrounds (use darker shade of background color instead)
|
|
100
|
+
- Pure `#000` or `#fff` (always tint — pure black/white don't exist in nature)
|
|
101
|
+
- Gradient text on headings or metrics
|
|
102
|
+
- `rgba()` / heavy alpha transparency as primary palette (design smell — define explicit colors)
|
|
103
|
+
|
|
104
|
+
### Layout
|
|
105
|
+
|
|
106
|
+
- Cards nested inside cards (use typography, spacing, dividers for hierarchy within a card)
|
|
107
|
+
- Identical card grids (icon + heading + text repeated 3-6 times)
|
|
108
|
+
- Hero metric template (big number + small label + gradient accent)
|
|
109
|
+
- Center-aligning everything
|
|
110
|
+
- Same spacing everywhere (no visual rhythm)
|
|
111
|
+
|
|
112
|
+
### Visual
|
|
113
|
+
|
|
114
|
+
- Glassmorphism used decoratively (blur cards, glow borders)
|
|
115
|
+
- Thick colored border on one side of rounded rectangles
|
|
116
|
+
- Sparklines as decoration (not connected to real data)
|
|
117
|
+
- Generic drop shadows on everything
|
|
118
|
+
- Rounded rectangles as the only shape language
|
|
119
|
+
|
|
120
|
+
### Motion
|
|
121
|
+
|
|
122
|
+
- Bounce or elastic easing (real objects decelerate smoothly)
|
|
123
|
+
- Animating `height`, `width`, `padding`, `margin` (causes layout recalculation)
|
|
124
|
+
- Default `ease` (compromise that's rarely optimal — use exponential easing)
|
|
125
|
+
- Missing `prefers-reduced-motion` handling
|
|
126
|
+
|
|
127
|
+
> **The AI Slop Test**: If you showed this interface to someone and said "AI made this," would they believe you immediately? If yes, that's the problem.
|
|
128
|
+
|
|
129
|
+
## Best Practices
|
|
130
|
+
|
|
131
|
+
1. **Accessibility First**: Radix primitives, `:focus-visible` (not `:focus`), semantic HTML, 44px touch targets
|
|
132
|
+
2. **Mobile-First**: Start mobile, layer responsive variants with `min-width` queries
|
|
133
|
+
3. **Design Tokens**: Two-layer system — primitives (`--blue-500`) + semantic (`--color-primary: var(--blue-500)`); dark mode redefines semantic layer only
|
|
134
|
+
4. **Dark Mode**: Not inverted light mode — lighter surfaces create depth (no shadows); desaturate accents; base at `oklch(15-18% …)`
|
|
135
|
+
5. **Container Queries**: Use `@container` for component layout, viewport queries for page layout
|
|
136
|
+
6. **Performance**: `transform` + `opacity` only for animations; CSS purging; avoid dynamic class names
|
|
137
|
+
7. **TypeScript**: Full type safety
|
|
138
|
+
8. **Expert Craftsmanship**: Every detail matters — squint test for hierarchy validation
|
|
139
|
+
|
|
140
|
+
## Core Stack Summary
|
|
141
|
+
|
|
142
|
+
**Tailwind v4.1**: CSS-first config via `@theme`. Single `@import "tailwindcss"`. OKLCH colors. Container queries built-in.
|
|
143
|
+
|
|
144
|
+
**shadcn/ui v3.6**: Copy-paste Radix components. Visual styles: Vega/Nova/Maia/Lyra/Mira. New: Field, InputGroup, Spinner, ButtonGroup.
|
|
145
|
+
|
|
146
|
+
**Motion**: `import { motion, AnimatePresence } from 'motion/react'`. Declarative React animations. Use `tailwindcss-animate` for shadcn states.
|
|
147
|
+
|
|
148
|
+
## Typography
|
|
149
|
+
|
|
150
|
+
→ Consult `./references/design/typography-rules.md` for full fluid type system
|
|
151
|
+
|
|
152
|
+
Choose distinctive fonts. Pair display with body:
|
|
153
|
+
|
|
154
|
+
- **Preferred**: Instrument Sans, Plus Jakarta Sans, Outfit, Onest, Figtree, Urbanist (sans); Fraunces, Newsreader (editorial)
|
|
155
|
+
- **Fluid sizing**: `clamp(1rem, 0.5rem + 2vw, 1.5rem)` — never fixed `px` for body
|
|
156
|
+
- **Modular scale**: Pick one ratio (1.25 major third, 1.333 perfect fourth) — 5 sizes max
|
|
157
|
+
- **Measure**: `max-width: 65ch` for body text
|
|
158
|
+
- **OpenType**: `tabular-nums` for data, `diagonal-fractions` for recipes, `all-small-caps` for abbreviations
|
|
159
|
+
|
|
160
|
+
```css
|
|
161
|
+
@theme {
|
|
162
|
+
--font-display: "Fraunces", serif;
|
|
163
|
+
--font-body: "Instrument Sans", sans-serif;
|
|
164
|
+
}
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
## Color
|
|
168
|
+
|
|
169
|
+
→ Consult `./references/design/color-system.md` for OKLCH deep guide
|
|
170
|
+
|
|
171
|
+
Use OKLCH for perceptually uniform colors. Two-layer token system:
|
|
172
|
+
|
|
173
|
+
```css
|
|
174
|
+
@theme {
|
|
175
|
+
/* Primitives */
|
|
176
|
+
--blue-500: oklch(0.55 0.22 264);
|
|
177
|
+
--amber-400: oklch(0.75 0.18 80);
|
|
178
|
+
/* Semantic (redefine these for dark mode) */
|
|
179
|
+
--color-primary: var(--blue-500);
|
|
180
|
+
--color-accent: var(--amber-400);
|
|
181
|
+
/* Tinted neutrals — chroma 0.01 for subconscious brand cohesion */
|
|
182
|
+
--color-surface: oklch(0.97 0.01 264);
|
|
183
|
+
--color-surface-dark: oklch(0.16 0.01 264);
|
|
184
|
+
}
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
## Motion
|
|
188
|
+
|
|
189
|
+
→ Consult `./references/animation/motion-core.md` for Motion API
|
|
190
|
+
|
|
191
|
+
**Timing**: 100-150ms instant feedback | 200-300ms state changes | 300-500ms layout | exit = 75% of enter
|
|
192
|
+
|
|
193
|
+
**Easing**: Exponential only — `cubic-bezier(0.16, 1, 0.3, 1)` for entrances. Never `ease`, never bounce/elastic.
|
|
194
|
+
|
|
195
|
+
**Performance**: Only animate `transform` and `opacity`. Height expand → `grid-template-rows: 0fr → 1fr`.
|
|
196
|
+
|
|
197
|
+
**Accessibility**: `prefers-reduced-motion` is mandatory (affects ~35% of adults over 40). Swap spatial animations for crossfades.
|
|
198
|
+
|
|
199
|
+
```tsx
|
|
200
|
+
import { motion, AnimatePresence } from 'motion/react';
|
|
201
|
+
|
|
202
|
+
<motion.div initial={{ opacity: 0, y: 12 }} animate={{ opacity: 1, y: 0 }}
|
|
203
|
+
transition={{ duration: 0.3, ease: [0.16, 1, 0.3, 1] }} />
|
|
204
|
+
|
|
205
|
+
<AnimatePresence>
|
|
206
|
+
{show && <motion.div exit={{ opacity: 0 }} transition={{ duration: 0.2 }} />}
|
|
207
|
+
</AnimatePresence>
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
CSS stagger: `animation-delay: calc(var(--i, 0) * 50ms)` — cap total at 500ms.
|
|
211
|
+
|
|
212
|
+
## Spatial Composition
|
|
213
|
+
|
|
214
|
+
- **4pt spacing system**: 4, 8, 12, 16, 24, 32, 48, 64, 96px — not 8pt (too coarse at small gaps)
|
|
215
|
+
- **`gap` over margins** for sibling spacing (eliminates margin collapse)
|
|
216
|
+
- **Self-adjusting grids**: `repeat(auto-fit, minmax(280px, 1fr))` — responsive without breakpoints
|
|
217
|
+
- **Container queries** for components: `container-type: inline-size` on wrapper, `@container` on children
|
|
218
|
+
- **Optical text alignment**: `margin-left: -0.05em` for text that appears indented due to letterform whitespace
|
|
219
|
+
- Asymmetry, overlap, diagonal flow, grid-breaking elements. Generous negative space OR controlled density.
|
|
220
|
+
|
|
221
|
+
## Interaction
|
|
222
|
+
|
|
223
|
+
→ Consult `./references/design/interaction.md`
|
|
224
|
+
|
|
225
|
+
Design all 8 states: Default, Hover, Focus, Active, Disabled, Loading, Error, Success. Use `:focus-visible` not `:focus`. Native `<dialog>` + `inert` for modals. Popover API for tooltips/dropdowns. Skeleton screens over spinners. Undo over confirmation dialogs.
|
|
226
|
+
|
|
227
|
+
## UX Writing
|
|
228
|
+
|
|
229
|
+
→ Consult `./references/design/ux-writing.md`
|
|
230
|
+
|
|
231
|
+
Button labels: specific verb + object ("Save changes" not "OK"). Error formula: What happened + Why + How to fix. Empty states are onboarding opportunities. Plan for 30% text expansion (i18n).
|
|
232
|
+
|
|
233
|
+
## Backgrounds
|
|
234
|
+
|
|
235
|
+
Create atmosphere: gradient meshes, noise textures, geometric patterns, layered transparencies, dramatic shadows, grain overlays.
|