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,224 @@
|
|
|
1
|
+
# Motion Advanced
|
|
2
|
+
|
|
3
|
+
Scroll, orchestration, TypeScript, performance.
|
|
4
|
+
|
|
5
|
+
## Scroll Animations
|
|
6
|
+
|
|
7
|
+
```tsx
|
|
8
|
+
import { motion, useScroll, useTransform } from 'motion/react';
|
|
9
|
+
|
|
10
|
+
// Scroll progress
|
|
11
|
+
const { scrollYProgress } = useScroll();
|
|
12
|
+
const opacity = useTransform(scrollYProgress, [0, 1], [1, 0]);
|
|
13
|
+
|
|
14
|
+
<motion.div style={{ opacity }} />
|
|
15
|
+
|
|
16
|
+
// Element in view
|
|
17
|
+
<motion.div
|
|
18
|
+
initial={{ opacity: 0 }}
|
|
19
|
+
whileInView={{ opacity: 1 }}
|
|
20
|
+
viewport={{ once: true, margin: '-100px' }}
|
|
21
|
+
/>
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Scroll-linked Animations
|
|
25
|
+
|
|
26
|
+
```tsx
|
|
27
|
+
const { scrollYProgress } = useScroll({
|
|
28
|
+
target: ref,
|
|
29
|
+
offset: ['start end', 'end start']
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
const y = useTransform(scrollYProgress, [0, 1], [100, -100]);
|
|
33
|
+
const scale = useTransform(scrollYProgress, [0, 0.5, 1], [0.8, 1, 0.8]);
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## AnimatePresence Modes
|
|
37
|
+
|
|
38
|
+
```tsx
|
|
39
|
+
// Wait for exit before enter
|
|
40
|
+
<AnimatePresence mode="wait">
|
|
41
|
+
<motion.div key={currentPage} />
|
|
42
|
+
</AnimatePresence>
|
|
43
|
+
|
|
44
|
+
// Popover layout (no exit/enter overlap)
|
|
45
|
+
<AnimatePresence mode="popLayout">
|
|
46
|
+
{items.map(item => <motion.div key={item.id} layout />)}
|
|
47
|
+
</AnimatePresence>
|
|
48
|
+
|
|
49
|
+
// Sync (default) - exit and enter simultaneously
|
|
50
|
+
<AnimatePresence mode="sync" />
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Orchestration
|
|
54
|
+
|
|
55
|
+
```tsx
|
|
56
|
+
const container = {
|
|
57
|
+
hidden: { opacity: 0 },
|
|
58
|
+
visible: {
|
|
59
|
+
opacity: 1,
|
|
60
|
+
transition: {
|
|
61
|
+
delayChildren: 0.3,
|
|
62
|
+
staggerChildren: 0.1,
|
|
63
|
+
staggerDirection: -1, // reverse
|
|
64
|
+
when: 'beforeChildren' // or 'afterChildren'
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## TypeScript
|
|
71
|
+
|
|
72
|
+
```tsx
|
|
73
|
+
import type { Variants, Transition, MotionProps } from 'motion/react';
|
|
74
|
+
|
|
75
|
+
const variants: Variants = {
|
|
76
|
+
hidden: { opacity: 0 },
|
|
77
|
+
visible: { opacity: 1 }
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
const transition: Transition = {
|
|
81
|
+
type: 'spring',
|
|
82
|
+
stiffness: 300
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
interface Props extends MotionProps {
|
|
86
|
+
isOpen: boolean;
|
|
87
|
+
}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## useMotionValueEvent
|
|
91
|
+
|
|
92
|
+
```tsx
|
|
93
|
+
import { useMotionValue, useMotionValueEvent } from 'motion/react';
|
|
94
|
+
|
|
95
|
+
const x = useMotionValue(0);
|
|
96
|
+
|
|
97
|
+
useMotionValueEvent(x, 'change', (latest) => {
|
|
98
|
+
console.log('x changed to', latest);
|
|
99
|
+
});
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## useInView
|
|
103
|
+
|
|
104
|
+
```tsx
|
|
105
|
+
import { useInView } from 'motion/react';
|
|
106
|
+
|
|
107
|
+
const ref = useRef(null);
|
|
108
|
+
const isInView = useInView(ref, { once: true });
|
|
109
|
+
|
|
110
|
+
<div ref={ref}>
|
|
111
|
+
{isInView && <motion.div animate={{ opacity: 1 }} />}
|
|
112
|
+
</div>
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## Reorder (Drag to Reorder)
|
|
116
|
+
|
|
117
|
+
```tsx
|
|
118
|
+
import { Reorder } from 'motion/react';
|
|
119
|
+
|
|
120
|
+
const [items, setItems] = useState([1, 2, 3]);
|
|
121
|
+
|
|
122
|
+
<Reorder.Group values={items} onReorder={setItems}>
|
|
123
|
+
{items.map(item => (
|
|
124
|
+
<Reorder.Item key={item} value={item}>
|
|
125
|
+
{item}
|
|
126
|
+
</Reorder.Item>
|
|
127
|
+
))}
|
|
128
|
+
</Reorder.Group>
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## Performance
|
|
132
|
+
|
|
133
|
+
### Use transform properties
|
|
134
|
+
```tsx
|
|
135
|
+
// Good - GPU accelerated
|
|
136
|
+
animate={{ x: 100, scale: 1.1, rotate: 45, opacity: 0.5 }}
|
|
137
|
+
|
|
138
|
+
// Avoid - triggers layout
|
|
139
|
+
animate={{ width: 200, left: 100, marginTop: 20 }}
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### Reduce motion
|
|
143
|
+
```tsx
|
|
144
|
+
import { useReducedMotion } from 'motion/react';
|
|
145
|
+
|
|
146
|
+
const prefersReduced = useReducedMotion();
|
|
147
|
+
|
|
148
|
+
<motion.div
|
|
149
|
+
animate={prefersReduced ? {} : { scale: 1.1 }}
|
|
150
|
+
/>
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### Layout animation performance
|
|
154
|
+
```tsx
|
|
155
|
+
// Add layoutId for better performance on shared layouts
|
|
156
|
+
<motion.div layoutId="card" />
|
|
157
|
+
|
|
158
|
+
// Use layoutRoot to isolate layout calculations
|
|
159
|
+
<motion.div layoutRoot />
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
## Common Patterns
|
|
163
|
+
|
|
164
|
+
### Fade in on scroll
|
|
165
|
+
```tsx
|
|
166
|
+
<motion.div
|
|
167
|
+
initial={{ opacity: 0, y: 50 }}
|
|
168
|
+
whileInView={{ opacity: 1, y: 0 }}
|
|
169
|
+
viewport={{ once: true }}
|
|
170
|
+
transition={{ duration: 0.6 }}
|
|
171
|
+
/>
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### Page transitions
|
|
175
|
+
```tsx
|
|
176
|
+
<AnimatePresence mode="wait">
|
|
177
|
+
<motion.main
|
|
178
|
+
key={pathname}
|
|
179
|
+
initial={{ opacity: 0, x: 20 }}
|
|
180
|
+
animate={{ opacity: 1, x: 0 }}
|
|
181
|
+
exit={{ opacity: 0, x: -20 }}
|
|
182
|
+
>
|
|
183
|
+
{children}
|
|
184
|
+
</motion.main>
|
|
185
|
+
</AnimatePresence>
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
### Expandable card
|
|
189
|
+
```tsx
|
|
190
|
+
<motion.div layout onClick={() => setExpanded(!expanded)}>
|
|
191
|
+
<motion.h2 layout="position">Title</motion.h2>
|
|
192
|
+
<AnimatePresence>
|
|
193
|
+
{expanded && (
|
|
194
|
+
<motion.p
|
|
195
|
+
initial={{ opacity: 0 }}
|
|
196
|
+
animate={{ opacity: 1 }}
|
|
197
|
+
exit={{ opacity: 0 }}
|
|
198
|
+
>
|
|
199
|
+
Content
|
|
200
|
+
</motion.p>
|
|
201
|
+
)}
|
|
202
|
+
</AnimatePresence>
|
|
203
|
+
</motion.div>
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
## When to Use anime.js Instead
|
|
207
|
+
|
|
208
|
+
anime.js v4 still appropriate for:
|
|
209
|
+
- Complex SVG morphing (`svg.morphTo`)
|
|
210
|
+
- SVG line drawing (`svg.createDrawable`)
|
|
211
|
+
- Timeline-heavy sequences in vanilla JS
|
|
212
|
+
- Non-React projects
|
|
213
|
+
|
|
214
|
+
```javascript
|
|
215
|
+
// anime.js for SVG morphing
|
|
216
|
+
import { animate, svg } from 'animejs';
|
|
217
|
+
animate('#path1', { d: svg.morphTo('#path2'), duration: 1 });
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
## Installation
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
npm install motion
|
|
224
|
+
```
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
# Motion Core (motion/react)
|
|
2
|
+
|
|
3
|
+
**Import**: `import { motion, AnimatePresence } from 'motion/react'`
|
|
4
|
+
|
|
5
|
+
## Motion Principles
|
|
6
|
+
|
|
7
|
+
- Animate for clarity, not decoration
|
|
8
|
+
- Use motion to explain state change and hierarchy
|
|
9
|
+
- Prefer subtle distance (`8-16px`) and opacity shifts
|
|
10
|
+
- Use consistent timing/easing system across the app
|
|
11
|
+
|
|
12
|
+
## Timing System
|
|
13
|
+
|
|
14
|
+
| Use Case | Duration |
|
|
15
|
+
| ----------------------------- | ---------- |
|
|
16
|
+
| Instant feedback (hover/tap) | 100-150ms |
|
|
17
|
+
| State changes (menus/toggles) | 200-300ms |
|
|
18
|
+
| Layout transitions | 300-500ms |
|
|
19
|
+
| Large entrances | 500-800ms |
|
|
20
|
+
|
|
21
|
+
**Rule**: exit duration = ~75% of enter duration.
|
|
22
|
+
|
|
23
|
+
## Easing System
|
|
24
|
+
|
|
25
|
+
Use exponential easing by default:
|
|
26
|
+
|
|
27
|
+
```tsx
|
|
28
|
+
const EASING_ENTER = [0.16, 1, 0.3, 1];
|
|
29
|
+
const EASING_EXIT = [0.4, 0, 1, 1];
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Avoid bounce/elastic easings for product UI.
|
|
33
|
+
|
|
34
|
+
## Performance Rules
|
|
35
|
+
|
|
36
|
+
Animate only compositor-friendly properties:
|
|
37
|
+
|
|
38
|
+
- `transform`
|
|
39
|
+
- `opacity`
|
|
40
|
+
|
|
41
|
+
Avoid animating:
|
|
42
|
+
|
|
43
|
+
- `width`, `height`
|
|
44
|
+
- `top`, `left`
|
|
45
|
+
- `margin`, `padding`
|
|
46
|
+
|
|
47
|
+
## Basic Pattern
|
|
48
|
+
|
|
49
|
+
```tsx
|
|
50
|
+
<motion.div
|
|
51
|
+
initial={{ opacity: 0, y: 12 }}
|
|
52
|
+
animate={{ opacity: 1, y: 0 }}
|
|
53
|
+
transition={{ duration: 0.3, ease: [0.16, 1, 0.3, 1] }}
|
|
54
|
+
/>
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Variants Pattern (Recommended)
|
|
58
|
+
|
|
59
|
+
```tsx
|
|
60
|
+
const card = {
|
|
61
|
+
hidden: { opacity: 0, y: 12 },
|
|
62
|
+
visible: {
|
|
63
|
+
opacity: 1,
|
|
64
|
+
y: 0,
|
|
65
|
+
transition: { duration: 0.3, ease: [0.16, 1, 0.3, 1] },
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
<motion.div variants={card} initial="hidden" animate="visible" />
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Use variants for shared timing and maintainability.
|
|
73
|
+
|
|
74
|
+
## Exit Animations (AnimatePresence)
|
|
75
|
+
|
|
76
|
+
```tsx
|
|
77
|
+
<AnimatePresence mode="wait">
|
|
78
|
+
{open && (
|
|
79
|
+
<motion.div
|
|
80
|
+
key="panel"
|
|
81
|
+
initial={{ opacity: 0, y: 8 }}
|
|
82
|
+
animate={{ opacity: 1, y: 0 }}
|
|
83
|
+
exit={{ opacity: 0, y: 4 }}
|
|
84
|
+
transition={{ duration: 0.22, ease: [0.4, 0, 1, 1] }}
|
|
85
|
+
/>
|
|
86
|
+
)}
|
|
87
|
+
</AnimatePresence>
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Always provide stable `key` values for exiting elements.
|
|
91
|
+
|
|
92
|
+
## Stagger Patterns
|
|
93
|
+
|
|
94
|
+
```tsx
|
|
95
|
+
const container = {
|
|
96
|
+
hidden: { opacity: 0 },
|
|
97
|
+
visible: {
|
|
98
|
+
opacity: 1,
|
|
99
|
+
transition: {
|
|
100
|
+
staggerChildren: 0.05,
|
|
101
|
+
delayChildren: 0.05,
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
const item = {
|
|
107
|
+
hidden: { opacity: 0, y: 8 },
|
|
108
|
+
visible: { opacity: 1, y: 0 },
|
|
109
|
+
};
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
Cap total stagger windows to ~500ms.
|
|
113
|
+
|
|
114
|
+
## Layout Animations
|
|
115
|
+
|
|
116
|
+
```tsx
|
|
117
|
+
<motion.div layout />
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
Use `layout` for reordering and size changes. Add spring only when needed:
|
|
121
|
+
|
|
122
|
+
```tsx
|
|
123
|
+
<motion.div layout transition={{ type: 'spring', stiffness: 320, damping: 28 }} />
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## Gestures
|
|
127
|
+
|
|
128
|
+
```tsx
|
|
129
|
+
<motion.button
|
|
130
|
+
whileHover={{ scale: 1.02 }}
|
|
131
|
+
whileTap={{ scale: 0.98 }}
|
|
132
|
+
transition={{ duration: 0.12 }}
|
|
133
|
+
/>
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
Keep gesture amplitudes subtle (`0.98-1.03`).
|
|
137
|
+
|
|
138
|
+
## Height Expand/Collapse (No height animation)
|
|
139
|
+
|
|
140
|
+
Use CSS grid technique:
|
|
141
|
+
|
|
142
|
+
```css
|
|
143
|
+
.accordion-content {
|
|
144
|
+
display: grid;
|
|
145
|
+
grid-template-rows: 0fr;
|
|
146
|
+
transition: grid-template-rows 280ms cubic-bezier(0.16, 1, 0.3, 1);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.accordion-content[data-open='true'] {
|
|
150
|
+
grid-template-rows: 1fr;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
.accordion-inner {
|
|
154
|
+
overflow: hidden;
|
|
155
|
+
}
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
## Reduced Motion (Mandatory)
|
|
159
|
+
|
|
160
|
+
```css
|
|
161
|
+
@media (prefers-reduced-motion: reduce) {
|
|
162
|
+
* {
|
|
163
|
+
animation-duration: 0.01ms !important;
|
|
164
|
+
animation-iteration-count: 1 !important;
|
|
165
|
+
transition-duration: 0.01ms !important;
|
|
166
|
+
scroll-behavior: auto !important;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
For motion/react, switch spatial movement to opacity-only when reduced motion is enabled.
|
|
172
|
+
|
|
173
|
+
## Quick Checklist
|
|
174
|
+
|
|
175
|
+
- [ ] Uses `motion/react` import
|
|
176
|
+
- [ ] Timing follows 100/300/500ms system
|
|
177
|
+
- [ ] Exponential easing, no bounce/elastic
|
|
178
|
+
- [ ] Animates only `transform` and `opacity`
|
|
179
|
+
- [ ] Uses `AnimatePresence` for exit states
|
|
180
|
+
- [ ] Includes reduced motion support
|
|
181
|
+
- [ ] Stagger windows stay under 500ms
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# Canvas Design Execution
|
|
2
|
+
|
|
3
|
+
Implementation, multi-page systems, quality standards.
|
|
4
|
+
|
|
5
|
+
## Subtle Reference Integration
|
|
6
|
+
|
|
7
|
+
Embed conceptual DNA without announcing:
|
|
8
|
+
- Niche reference woven invisibly
|
|
9
|
+
- Those who know feel it intuitively
|
|
10
|
+
- Others experience masterful composition
|
|
11
|
+
- Sophisticated, never literal
|
|
12
|
+
|
|
13
|
+
## Multi-Page Systems
|
|
14
|
+
|
|
15
|
+
### Approach
|
|
16
|
+
- First page as single page in coffee table book
|
|
17
|
+
- Distinctly different but cohesive
|
|
18
|
+
- Pages tell story tastefully
|
|
19
|
+
|
|
20
|
+
### Consistency
|
|
21
|
+
- Shared color palette
|
|
22
|
+
- Consistent typography
|
|
23
|
+
- Related composition
|
|
24
|
+
- Philosophical thread
|
|
25
|
+
|
|
26
|
+
### Variation
|
|
27
|
+
- Unique twist per page
|
|
28
|
+
- Different focal points
|
|
29
|
+
- Varied arrangements
|
|
30
|
+
- Progressive narrative
|
|
31
|
+
|
|
32
|
+
## Execution Checklist
|
|
33
|
+
|
|
34
|
+
Before finalizing:
|
|
35
|
+
- [ ] Philosophy guides every decision
|
|
36
|
+
- [ ] 90% visual, 10% text max
|
|
37
|
+
- [ ] Text minimal and integrated
|
|
38
|
+
- [ ] Nothing overlaps or falls off page
|
|
39
|
+
- [ ] Margins pristine
|
|
40
|
+
- [ ] Composition cohesive
|
|
41
|
+
- [ ] Meticulously crafted appearance
|
|
42
|
+
- [ ] Master-level execution
|
|
43
|
+
- [ ] Could be displayed in museum
|
|
44
|
+
|
|
45
|
+
## Quality Standards
|
|
46
|
+
|
|
47
|
+
### Avoid
|
|
48
|
+
- Cartoony aesthetics
|
|
49
|
+
- Amateur execution
|
|
50
|
+
- Text-heavy composition
|
|
51
|
+
- Random placement
|
|
52
|
+
- Overlapping elements
|
|
53
|
+
- Inconsistent spacing
|
|
54
|
+
- Generic AI generation
|
|
55
|
+
|
|
56
|
+
### Achieve
|
|
57
|
+
- Museum quality
|
|
58
|
+
- Magazine worthy
|
|
59
|
+
- Art object status
|
|
60
|
+
- Top-of-field craftsmanship
|
|
61
|
+
- Philosophical coherence
|
|
62
|
+
- Visual sophistication
|
|
63
|
+
- Systematic precision
|
|
64
|
+
|
|
65
|
+
## Refinement Process
|
|
66
|
+
|
|
67
|
+
### Initial Pass
|
|
68
|
+
Create based on philosophy and principles.
|
|
69
|
+
|
|
70
|
+
### Second Pass (Critical)
|
|
71
|
+
- Don't add more graphics
|
|
72
|
+
- Refine what exists
|
|
73
|
+
- Make extremely crisp
|
|
74
|
+
- Respect minimalism
|
|
75
|
+
- Increase cohesion
|
|
76
|
+
- Polish rather than expand
|
|
77
|
+
|
|
78
|
+
### Final
|
|
79
|
+
Pristine masterpiece, ready for museum display.
|
|
80
|
+
|
|
81
|
+
## Use Cases
|
|
82
|
+
|
|
83
|
+
- Brand identity systems
|
|
84
|
+
- Poster designs
|
|
85
|
+
- Visual manifestos
|
|
86
|
+
- Design system docs
|
|
87
|
+
- Art pieces
|
|
88
|
+
- Editorial design
|
|
89
|
+
- Exhibition materials
|
|
90
|
+
- Coffee table books
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# Canvas Design Philosophy
|
|
2
|
+
|
|
3
|
+
Visual design philosophy for sophisticated compositions.
|
|
4
|
+
|
|
5
|
+
## Two-Phase Approach
|
|
6
|
+
|
|
7
|
+
### Phase 1: Philosophy Creation
|
|
8
|
+
Create aesthetic movement through form, space, color, composition. Not layouts - pure visual philosophy.
|
|
9
|
+
|
|
10
|
+
Structure (4-6 paragraphs):
|
|
11
|
+
- Space and form principles
|
|
12
|
+
- Color and material approach
|
|
13
|
+
- Scale and rhythm guidance
|
|
14
|
+
- Composition and balance
|
|
15
|
+
- Visual hierarchy system
|
|
16
|
+
|
|
17
|
+
### Phase 2: Visual Expression
|
|
18
|
+
Express through canvas:
|
|
19
|
+
- 90% visual design
|
|
20
|
+
- 10% essential text
|
|
21
|
+
- Museum-quality execution
|
|
22
|
+
- Systematic patterns
|
|
23
|
+
|
|
24
|
+
## Core Principles
|
|
25
|
+
|
|
26
|
+
### 1. Visual Communication First
|
|
27
|
+
Information lives in design, not paragraphs:
|
|
28
|
+
- Color zones and fields
|
|
29
|
+
- Geometric precision
|
|
30
|
+
- Spatial relationships
|
|
31
|
+
- Visual weight and tension
|
|
32
|
+
|
|
33
|
+
### 2. Minimal Text
|
|
34
|
+
Text as rare, powerful gesture:
|
|
35
|
+
- Never paragraphs
|
|
36
|
+
- Only essential words
|
|
37
|
+
- Integrated into architecture
|
|
38
|
+
- Typography as visual element
|
|
39
|
+
|
|
40
|
+
### 3. Expert Craftsmanship
|
|
41
|
+
Work must appear:
|
|
42
|
+
- Meticulously crafted
|
|
43
|
+
- Product of countless hours
|
|
44
|
+
- Master-level execution
|
|
45
|
+
- Museum-worthy quality
|
|
46
|
+
|
|
47
|
+
### 4. Systematic Patterns
|
|
48
|
+
Scientific visual language:
|
|
49
|
+
- Repeating patterns = rhythm
|
|
50
|
+
- Perfect geometric shapes
|
|
51
|
+
- Dense accumulation builds meaning
|
|
52
|
+
- Patient repetition rewards viewing
|
|
53
|
+
|
|
54
|
+
## Design Movements
|
|
55
|
+
|
|
56
|
+
### Concrete Poetry
|
|
57
|
+
Monumental form, bold geometry. Massive color blocks. Sculptural typography. Text as rare, powerful gesture.
|
|
58
|
+
|
|
59
|
+
### Chromatic Language
|
|
60
|
+
Color as information. Geometric precision. Color zones create meaning. Words only anchor what color shows.
|
|
61
|
+
|
|
62
|
+
### Analog Meditation
|
|
63
|
+
Quiet contemplation through texture. Paper grain, ink bleeds. Vast negative space. Images breathe across pages.
|
|
64
|
+
|
|
65
|
+
### Organic Systems
|
|
66
|
+
Natural clustering, modular growth. Rounded forms, organic arrangements. Information through diagrams.
|
|
67
|
+
|
|
68
|
+
### Geometric Silence
|
|
69
|
+
Pure order and restraint. Grid precision. Dramatic negative space. Swiss formalism meets Brutalist honesty.
|
|
70
|
+
|
|
71
|
+
## Implementation
|
|
72
|
+
|
|
73
|
+
### Color
|
|
74
|
+
```css
|
|
75
|
+
@theme {
|
|
76
|
+
--color-primary: oklch(0.55 0.22 264);
|
|
77
|
+
--color-accent: oklch(0.75 0.18 45);
|
|
78
|
+
}
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Limited (2-5), cohesive, purposeful relationships.
|
|
82
|
+
|
|
83
|
+
### Typography
|
|
84
|
+
- Light weights (200-300)
|
|
85
|
+
- Clean sans-serifs
|
|
86
|
+
- Geometric precision
|
|
87
|
+
- Small for labels, large for rare impact
|
|
88
|
+
|
|
89
|
+
### Composition
|
|
90
|
+
- Repeating patterns establish rhythm
|
|
91
|
+
- Perfect geometric shapes
|
|
92
|
+
- Nothing falls off page
|
|
93
|
+
- Nothing overlaps unintentionally
|
|
94
|
+
- Proper margins non-negotiable
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# Color System — OKLCH Deep Guide
|
|
2
|
+
|
|
3
|
+
## Why OKLCH Over HSL
|
|
4
|
+
|
|
5
|
+
HSL is **not perceptually uniform** — `hsl(60, 100%, 50%)` (yellow) appears far brighter than `hsl(240, 100%, 50%)` (blue) at the same lightness. OKLCH fixes this: equal lightness steps _look_ equal.
|
|
6
|
+
|
|
7
|
+
```css
|
|
8
|
+
/* HSL: looks inconsistent */
|
|
9
|
+
--blue: hsl(240, 70%, 50%);
|
|
10
|
+
--green: hsl(120, 70%, 50%); /* Appears much brighter */
|
|
11
|
+
|
|
12
|
+
/* OKLCH: looks consistent */
|
|
13
|
+
--blue: oklch(0.55 0.22 264);
|
|
14
|
+
--green: oklch(0.55 0.18 145); /* Same perceived brightness */
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Two-Layer Token Architecture
|
|
18
|
+
|
|
19
|
+
**Layer 1 — Primitives** (raw values, never used directly in components):
|
|
20
|
+
|
|
21
|
+
```css
|
|
22
|
+
@theme {
|
|
23
|
+
--blue-100: oklch(0.95 0.03 264);
|
|
24
|
+
--blue-300: oklch(0.75 0.1 264);
|
|
25
|
+
--blue-500: oklch(0.55 0.22 264);
|
|
26
|
+
--blue-700: oklch(0.4 0.18 264);
|
|
27
|
+
--blue-900: oklch(0.25 0.12 264);
|
|
28
|
+
}
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
**Layer 2 — Semantic** (what components reference; redefine for dark mode):
|
|
32
|
+
|
|
33
|
+
```css
|
|
34
|
+
@theme {
|
|
35
|
+
--color-primary: var(--blue-500);
|
|
36
|
+
--color-primary-hover: var(--blue-700);
|
|
37
|
+
--color-surface: var(--neutral-50);
|
|
38
|
+
--color-surface-elevated: var(--neutral-0);
|
|
39
|
+
--color-text: var(--neutral-900);
|
|
40
|
+
--color-text-muted: var(--neutral-600);
|
|
41
|
+
--color-border: var(--neutral-200);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/* Dark mode: redefine ONLY semantic layer */
|
|
45
|
+
@media (prefers-color-scheme: dark) {
|
|
46
|
+
@theme {
|
|
47
|
+
--color-primary: var(--blue-300);
|
|
48
|
+
--color-primary-hover: var(--blue-100);
|
|
49
|
+
--color-surface: var(--neutral-900);
|
|
50
|
+
--color-surface-elevated: var(--neutral-800);
|
|
51
|
+
--color-text: var(--neutral-100);
|
|
52
|
+
--color-text-muted: var(--neutral-400);
|
|
53
|
+
--color-border: var(--neutral-700);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Tinted Neutrals
|
|
59
|
+
|
|
60
|
+
Never use pure gray (`chroma: 0`). Add `chroma: 0.01` hinted toward brand hue — barely visible but creates subconscious cohesion:
|
|
61
|
+
|
|
62
|
+
```css
|
|
63
|
+
@theme {
|
|
64
|
+
/* Brand hue: 264 (blue) — neutrals subtly tinted */
|
|
65
|
+
--neutral-0: oklch(1 0.005 264);
|
|
66
|
+
--neutral-50: oklch(0.97 0.01 264);
|
|
67
|
+
--neutral-100: oklch(0.93 0.01 264);
|
|
68
|
+
--neutral-200: oklch(0.87 0.01 264);
|
|
69
|
+
--neutral-400: oklch(0.7 0.01 264);
|
|
70
|
+
--neutral-600: oklch(0.5 0.01 264);
|
|
71
|
+
--neutral-800: oklch(0.25 0.01 264);
|
|
72
|
+
--neutral-900: oklch(0.16 0.01 264);
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Dark Mode Rules
|
|
77
|
+
|
|
78
|
+
Dark mode is **not** inverted light mode:
|
|
79
|
+
|
|
80
|
+
| Aspect | Light Mode | Dark Mode |
|
|
81
|
+
| ------- | ---------------------------- | ---------------------------------------------------- |
|
|
82
|
+
| Depth | Shadows create elevation | Lighter surfaces create elevation |
|
|
83
|
+
| Base | `oklch(0.97+ …)` | `oklch(0.15-0.18 …)` — NOT pure black |
|
|
84
|
+
| Accents | Full saturation | Desaturate 10-20% to reduce glare |
|
|
85
|
+
| Text | Dark on light, high contrast | Light on dark, slightly reduced contrast for comfort |
|
|
86
|
+
| Borders | Darker than surface | Lighter than surface |
|
|
87
|
+
|
|
88
|
+
```css
|
|
89
|
+
/* Dark surface elevation via lightness, not shadows */
|
|
90
|
+
--surface-0: oklch(0.15 0.01 264); /* Base */
|
|
91
|
+
--surface-1: oklch(0.18 0.01 264); /* Cards */
|
|
92
|
+
--surface-2: oklch(0.22 0.01 264); /* Modals */
|
|
93
|
+
--surface-3: oklch(0.26 0.01 264); /* Tooltips */
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## 60-30-10 Rule
|
|
97
|
+
|
|
98
|
+
Applied to **visual weight**, not pixel count:
|
|
99
|
+
|
|
100
|
+
- 60% dominant (background, surface colors)
|
|
101
|
+
- 30% secondary (text, icons, subtle accents)
|
|
102
|
+
- 10% accent (CTAs, highlights, active states)
|
|
103
|
+
|
|
104
|
+
Accent works _because_ it's rare — overuse kills its power.
|
|
105
|
+
|
|
106
|
+
## Common Mistakes
|
|
107
|
+
|
|
108
|
+
- **Alpha as palette**: Heavy `rgba()` / transparency means incomplete palette — define explicit overlay colors per context
|
|
109
|
+
- **Gray text on colored background**: Use a darker shade of the background color or apply the text color at reduced opacity
|
|
110
|
+
- **Same accent everywhere**: If everything is "primary blue," nothing stands out
|
|
111
|
+
- **Ignoring contrast in dark mode**: WCAG 4.5:1 for body text, 3:1 for large text and UI components
|