codexkit 1.0.0
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/.codex/.env.example +27 -0
- package/.codex/.template-manifest.json +631 -0
- package/.codex/.version +1 -0
- package/.codex/agents/builder.toml +104 -0
- package/.codex/agents/debugger.toml +67 -0
- package/.codex/agents/general.toml +41 -0
- package/.codex/agents/painter.toml +40 -0
- package/.codex/agents/planner.toml +60 -0
- package/.codex/agents/refactorer.toml +76 -0
- package/.codex/agents/reviewer.toml +60 -0
- package/.codex/agents/runner.toml +40 -0
- package/.codex/agents/scout.toml +133 -0
- package/.codex/agents/shipper.toml +69 -0
- package/.codex/agents/vision.toml +69 -0
- package/.codex/config.toml +146 -0
- package/.codex/context/architecture.md +66 -0
- package/.codex/context/conventions.md +98 -0
- package/.codex/context/current-priorities.md +33 -0
- package/.codex/context/decision-log.md +93 -0
- package/.codex/context/gotchas.md +42 -0
- package/.codex/context/index.md +21 -0
- package/.codex/context/session-context.md +11 -0
- package/.codex/context/worklog.md +9 -0
- package/.codex/hooks/README.md +17 -0
- package/.codex/hooks/after_agent.sh +11 -0
- package/.codex/hooks/after_tool_use.sh +10 -0
- package/.codex/hooks/post_commit.sh +10 -0
- package/.codex/hooks/pre_commit.sh +6 -0
- package/.codex/hooks/session_start.sh +18 -0
- package/.codex/hooks/stop.sh +10 -0
- package/.codex/mcp/README.md +143 -0
- package/.codex/mcp/basic-memory.toml.example +10 -0
- package/.codex/mcp/context7.toml.example +13 -0
- package/.codex/mcp/exa.toml.example +12 -0
- package/.codex/mcp/memory-bridge.toml.example +15 -0
- package/.codex/mcp/memory.toml.example +6 -0
- package/.codex/mcp/ref.toml.example +13 -0
- package/.codex/mcp/tilth.toml.example +10 -0
- package/.codex/memory/README.md +29 -0
- package/.codex/memory/_templates/README.md +26 -0
- package/.codex/memory/_templates/design.md +15 -0
- package/.codex/memory/_templates/gotcha.md +9 -0
- package/.codex/memory/_templates/handoff.md +9 -0
- package/.codex/memory/_templates/prd.md +13 -0
- package/.codex/memory/_templates/project.md +9 -0
- package/.codex/memory/_templates/proposal.md +13 -0
- package/.codex/memory/_templates/research.md +9 -0
- package/.codex/memory/_templates/roadmap.md +11 -0
- package/.codex/memory/_templates/session-context.md +7 -0
- package/.codex/memory/_templates/state.md +11 -0
- package/.codex/memory/_templates/tasks.md +9 -0
- package/.codex/memory/_templates/tech-stack.md +9 -0
- package/.codex/memory/_templates/user.md +7 -0
- package/.codex/memory/project/gotchas.md +5 -0
- package/.codex/memory/project/project.md +12 -0
- package/.codex/memory/project/roadmap.md +15 -0
- package/.codex/memory/project/state.md +22 -0
- package/.codex/memory/project/tech-stack.md +19 -0
- package/.codex/memory/project/user.md +10 -0
- package/.codex/memory/research/.gitkeep +1 -0
- package/.codex/memory/session-context.md +18 -0
- package/.codex/plans/README.md +7 -0
- package/.codex/prompts/compound.md +154 -0
- package/.codex/prompts/create.md +238 -0
- package/.codex/prompts/design.md +90 -0
- package/.codex/prompts/handoff.md +184 -0
- package/.codex/prompts/init-context.md +185 -0
- package/.codex/prompts/init-user.md +93 -0
- package/.codex/prompts/init.md +103 -0
- package/.codex/prompts/lfg.md +140 -0
- package/.codex/prompts/plan.md +140 -0
- package/.codex/prompts/pr.md +150 -0
- package/.codex/prompts/research.md +137 -0
- package/.codex/prompts/resume.md +105 -0
- package/.codex/prompts/review-codebase.md +147 -0
- package/.codex/prompts/ship.md +334 -0
- package/.codex/prompts/start.md +141 -0
- package/.codex/prompts/status.md +102 -0
- package/.codex/prompts/ui-inspire.md +151 -0
- package/.codex/prompts/ui-review.md +86 -0
- package/.codex/prompts/verify.md +181 -0
- package/.codex/scripts/append_worklog.sh +20 -0
- package/.codex/scripts/apply_worklog_archive.sh +48 -0
- package/.codex/scripts/audit_memory_hygiene.sh +102 -0
- package/.codex/scripts/build_memory_index.sh +167 -0
- package/.codex/scripts/build_prior_related_work.sh +127 -0
- package/.codex/scripts/build_startup_brief.sh +52 -0
- package/.codex/scripts/close_bead.sh +103 -0
- package/.codex/scripts/detect_changed_files.sh +38 -0
- package/.codex/scripts/ensure_beads.sh +14 -0
- package/.codex/scripts/memory_search.sh +292 -0
- package/.codex/scripts/prepare_worklog_archive.sh +115 -0
- package/.codex/scripts/search_bead_context.sh +214 -0
- package/.codex/scripts/start_bead.sh +129 -0
- package/.codex/scripts/sync_bead_context.sh +288 -0
- package/.codex/scripts/validate_memory_docs.sh +44 -0
- package/.codex/scripts/verify_bead.sh +154 -0
- package/.codex/skills/accessibility-audit/SKILL.md +191 -0
- package/.codex/skills/agent-browser/SKILL.md +413 -0
- package/.codex/skills/agent-teams/SKILL.md +268 -0
- package/.codex/skills/augment-context-engine/SKILL.md +115 -0
- package/.codex/skills/augment-context-engine/mcp.json +6 -0
- package/.codex/skills/beads/SKILL.md +181 -0
- package/.codex/skills/beads/references/BEST_PRACTICES.md +27 -0
- package/.codex/skills/beads/references/BOUNDARIES.md +219 -0
- package/.codex/skills/beads/references/DEPENDENCIES.md +124 -0
- package/.codex/skills/beads/references/EXAMPLES.md +45 -0
- package/.codex/skills/beads/references/FILE_CLAIMING.md +101 -0
- package/.codex/skills/beads/references/GIT_SYNC.md +25 -0
- package/.codex/skills/beads/references/HIERARCHY.md +71 -0
- package/.codex/skills/beads/references/MULTI_AGENT.md +40 -0
- package/.codex/skills/beads/references/RESUMABILITY.md +177 -0
- package/.codex/skills/beads/references/SESSION_PROTOCOL.md +61 -0
- package/.codex/skills/beads/references/TASK_CREATION.md +38 -0
- package/.codex/skills/beads/references/TROUBLESHOOTING.md +38 -0
- package/.codex/skills/beads/references/WORKFLOWS.md +226 -0
- package/.codex/skills/beads-bridge/SKILL.md +321 -0
- package/.codex/skills/brainstorming/SKILL.md +114 -0
- package/.codex/skills/bug-triage/SKILL.md +191 -0
- package/.codex/skills/chrome-devtools/SKILL.md +76 -0
- package/.codex/skills/chrome-devtools/mcp.json +19 -0
- package/.codex/skills/cloudflare/SKILL.md +253 -0
- package/.codex/skills/cloudflare/references/agents-sdk/README.md +35 -0
- package/.codex/skills/cloudflare/references/agents-sdk/api.md +100 -0
- package/.codex/skills/cloudflare/references/agents-sdk/configuration.md +99 -0
- package/.codex/skills/cloudflare/references/agents-sdk/gotchas.md +59 -0
- package/.codex/skills/cloudflare/references/agents-sdk/patterns.md +89 -0
- package/.codex/skills/cloudflare/references/ai-gateway/README.md +695 -0
- package/.codex/skills/cloudflare/references/ai-search/README.md +14 -0
- package/.codex/skills/cloudflare/references/ai-search/api.md +38 -0
- package/.codex/skills/cloudflare/references/ai-search/configuration.md +52 -0
- package/.codex/skills/cloudflare/references/ai-search/gotchas.md +41 -0
- package/.codex/skills/cloudflare/references/ai-search/patterns.md +45 -0
- package/.codex/skills/cloudflare/references/analytics-engine/README.md +14 -0
- package/.codex/skills/cloudflare/references/analytics-engine/api.md +27 -0
- package/.codex/skills/cloudflare/references/analytics-engine/configuration.md +45 -0
- package/.codex/skills/cloudflare/references/analytics-engine/gotchas.md +3 -0
- package/.codex/skills/cloudflare/references/analytics-engine/patterns.md +36 -0
- package/.codex/skills/cloudflare/references/api/README.md +21 -0
- package/.codex/skills/cloudflare/references/api/api.md +31 -0
- package/.codex/skills/cloudflare/references/api/configuration.md +20 -0
- package/.codex/skills/cloudflare/references/api/gotchas.md +28 -0
- package/.codex/skills/cloudflare/references/api/patterns.md +47 -0
- package/.codex/skills/cloudflare/references/api-shield/README.md +20 -0
- package/.codex/skills/cloudflare/references/api-shield/api.md +78 -0
- package/.codex/skills/cloudflare/references/api-shield/configuration.md +128 -0
- package/.codex/skills/cloudflare/references/api-shield/gotchas.md +51 -0
- package/.codex/skills/cloudflare/references/api-shield/patterns.md +145 -0
- package/.codex/skills/cloudflare/references/argo-smart-routing/README.md +16 -0
- package/.codex/skills/cloudflare/references/argo-smart-routing/api.md +50 -0
- package/.codex/skills/cloudflare/references/argo-smart-routing/configuration.md +53 -0
- package/.codex/skills/cloudflare/references/argo-smart-routing/gotchas.md +16 -0
- package/.codex/skills/cloudflare/references/argo-smart-routing/patterns.md +45 -0
- package/.codex/skills/cloudflare/references/bindings/README.md +14 -0
- package/.codex/skills/cloudflare/references/bindings/api.md +3 -0
- package/.codex/skills/cloudflare/references/bindings/configuration.md +58 -0
- package/.codex/skills/cloudflare/references/bindings/gotchas.md +35 -0
- package/.codex/skills/cloudflare/references/bindings/patterns.md +37 -0
- package/.codex/skills/cloudflare/references/bot-management/README.md +71 -0
- package/.codex/skills/cloudflare/references/bot-management/api.md +168 -0
- package/.codex/skills/cloudflare/references/bot-management/configuration.md +114 -0
- package/.codex/skills/cloudflare/references/bot-management/gotchas.md +99 -0
- package/.codex/skills/cloudflare/references/bot-management/patterns.md +125 -0
- package/.codex/skills/cloudflare/references/browser-rendering/README.md +16 -0
- package/.codex/skills/cloudflare/references/browser-rendering/api.md +54 -0
- package/.codex/skills/cloudflare/references/browser-rendering/configuration.md +47 -0
- package/.codex/skills/cloudflare/references/browser-rendering/gotchas.md +29 -0
- package/.codex/skills/cloudflare/references/browser-rendering/patterns.md +29 -0
- package/.codex/skills/cloudflare/references/c3/README.md +264 -0
- package/.codex/skills/cloudflare/references/cache-reserve/README.md +93 -0
- package/.codex/skills/cloudflare/references/cache-reserve/api.md +176 -0
- package/.codex/skills/cloudflare/references/cache-reserve/configuration.md +164 -0
- package/.codex/skills/cloudflare/references/cache-reserve/gotchas.md +203 -0
- package/.codex/skills/cloudflare/references/cache-reserve/patterns.md +180 -0
- package/.codex/skills/cloudflare/references/containers/README.md +16 -0
- package/.codex/skills/cloudflare/references/containers/api.md +43 -0
- package/.codex/skills/cloudflare/references/containers/configuration.md +56 -0
- package/.codex/skills/cloudflare/references/containers/gotchas.md +21 -0
- package/.codex/skills/cloudflare/references/containers/patterns.md +40 -0
- package/.codex/skills/cloudflare/references/cron-triggers/README.md +85 -0
- package/.codex/skills/cloudflare/references/cron-triggers/api.md +198 -0
- package/.codex/skills/cloudflare/references/cron-triggers/configuration.md +151 -0
- package/.codex/skills/cloudflare/references/cron-triggers/gotchas.md +129 -0
- package/.codex/skills/cloudflare/references/cron-triggers/patterns.md +122 -0
- package/.codex/skills/cloudflare/references/d1/README.md +92 -0
- package/.codex/skills/cloudflare/references/d1/api.md +141 -0
- package/.codex/skills/cloudflare/references/d1/configuration.md +127 -0
- package/.codex/skills/cloudflare/references/d1/gotchas.md +70 -0
- package/.codex/skills/cloudflare/references/d1/patterns.md +144 -0
- package/.codex/skills/cloudflare/references/ddos/README.md +34 -0
- package/.codex/skills/cloudflare/references/ddos/api.md +136 -0
- package/.codex/skills/cloudflare/references/ddos/configuration.md +67 -0
- package/.codex/skills/cloudflare/references/ddos/gotchas.md +114 -0
- package/.codex/skills/cloudflare/references/ddos/patterns.md +158 -0
- package/.codex/skills/cloudflare/references/do-storage/README.md +62 -0
- package/.codex/skills/cloudflare/references/do-storage/api.md +89 -0
- package/.codex/skills/cloudflare/references/do-storage/configuration.md +116 -0
- package/.codex/skills/cloudflare/references/do-storage/gotchas.md +93 -0
- package/.codex/skills/cloudflare/references/do-storage/patterns.md +112 -0
- package/.codex/skills/cloudflare/references/durable-objects/README.md +125 -0
- package/.codex/skills/cloudflare/references/durable-objects/api.md +152 -0
- package/.codex/skills/cloudflare/references/durable-objects/configuration.md +148 -0
- package/.codex/skills/cloudflare/references/durable-objects/gotchas.md +158 -0
- package/.codex/skills/cloudflare/references/durable-objects/patterns.md +255 -0
- package/.codex/skills/cloudflare/references/email-routing/README.md +18 -0
- package/.codex/skills/cloudflare/references/email-routing/api.md +46 -0
- package/.codex/skills/cloudflare/references/email-routing/configuration.md +63 -0
- package/.codex/skills/cloudflare/references/email-routing/gotchas.md +16 -0
- package/.codex/skills/cloudflare/references/email-routing/patterns.md +46 -0
- package/.codex/skills/cloudflare/references/email-workers/README.md +598 -0
- package/.codex/skills/cloudflare/references/hyperdrive/README.md +62 -0
- package/.codex/skills/cloudflare/references/hyperdrive/api.md +137 -0
- package/.codex/skills/cloudflare/references/hyperdrive/configuration.md +133 -0
- package/.codex/skills/cloudflare/references/hyperdrive/gotchas.md +184 -0
- package/.codex/skills/cloudflare/references/hyperdrive/patterns.md +176 -0
- package/.codex/skills/cloudflare/references/images/README.md +14 -0
- package/.codex/skills/cloudflare/references/images/api.md +3 -0
- package/.codex/skills/cloudflare/references/images/configuration.md +45 -0
- package/.codex/skills/cloudflare/references/images/gotchas.md +23 -0
- package/.codex/skills/cloudflare/references/images/patterns.md +31 -0
- package/.codex/skills/cloudflare/references/kv/README.md +60 -0
- package/.codex/skills/cloudflare/references/kv/api.md +114 -0
- package/.codex/skills/cloudflare/references/kv/configuration.md +92 -0
- package/.codex/skills/cloudflare/references/kv/gotchas.md +117 -0
- package/.codex/skills/cloudflare/references/kv/patterns.md +139 -0
- package/.codex/skills/cloudflare/references/miniflare/README.md +64 -0
- package/.codex/skills/cloudflare/references/miniflare/api.md +144 -0
- package/.codex/skills/cloudflare/references/miniflare/configuration.md +203 -0
- package/.codex/skills/cloudflare/references/miniflare/gotchas.md +187 -0
- package/.codex/skills/cloudflare/references/miniflare/patterns.md +211 -0
- package/.codex/skills/cloudflare/references/network-interconnect/README.md +60 -0
- package/.codex/skills/cloudflare/references/network-interconnect/api.md +240 -0
- package/.codex/skills/cloudflare/references/network-interconnect/configuration.md +127 -0
- package/.codex/skills/cloudflare/references/network-interconnect/gotchas.md +171 -0
- package/.codex/skills/cloudflare/references/network-interconnect/patterns.md +171 -0
- package/.codex/skills/cloudflare/references/observability/README.md +18 -0
- package/.codex/skills/cloudflare/references/observability/api.md +51 -0
- package/.codex/skills/cloudflare/references/observability/configuration.md +60 -0
- package/.codex/skills/cloudflare/references/observability/gotchas.md +36 -0
- package/.codex/skills/cloudflare/references/observability/patterns.md +42 -0
- package/.codex/skills/cloudflare/references/pages/README.md +76 -0
- package/.codex/skills/cloudflare/references/pages/api.md +200 -0
- package/.codex/skills/cloudflare/references/pages/configuration.md +228 -0
- package/.codex/skills/cloudflare/references/pages/gotchas.md +161 -0
- package/.codex/skills/cloudflare/references/pages/patterns.md +145 -0
- package/.codex/skills/cloudflare/references/pages-functions/README.md +57 -0
- package/.codex/skills/cloudflare/references/pages-functions/api.md +201 -0
- package/.codex/skills/cloudflare/references/pages-functions/configuration.md +159 -0
- package/.codex/skills/cloudflare/references/pages-functions/gotchas.md +151 -0
- package/.codex/skills/cloudflare/references/pages-functions/patterns.md +190 -0
- package/.codex/skills/cloudflare/references/pipelines/README.md +664 -0
- package/.codex/skills/cloudflare/references/pulumi/README.md +107 -0
- package/.codex/skills/cloudflare/references/pulumi/api.md +194 -0
- package/.codex/skills/cloudflare/references/pulumi/configuration.md +216 -0
- package/.codex/skills/cloudflare/references/pulumi/gotchas.md +223 -0
- package/.codex/skills/cloudflare/references/pulumi/patterns.md +139 -0
- package/.codex/skills/cloudflare/references/queues/README.md +69 -0
- package/.codex/skills/cloudflare/references/queues/api.md +138 -0
- package/.codex/skills/cloudflare/references/queues/configuration.md +125 -0
- package/.codex/skills/cloudflare/references/queues/gotchas.md +112 -0
- package/.codex/skills/cloudflare/references/queues/patterns.md +155 -0
- package/.codex/skills/cloudflare/references/r2/README.md +61 -0
- package/.codex/skills/cloudflare/references/r2/api.md +127 -0
- package/.codex/skills/cloudflare/references/r2/configuration.md +76 -0
- package/.codex/skills/cloudflare/references/r2/gotchas.md +94 -0
- package/.codex/skills/cloudflare/references/r2/patterns.md +127 -0
- package/.codex/skills/cloudflare/references/r2-data-catalog/README.md +18 -0
- package/.codex/skills/cloudflare/references/r2-data-catalog/api.md +29 -0
- package/.codex/skills/cloudflare/references/r2-data-catalog/configuration.md +39 -0
- package/.codex/skills/cloudflare/references/r2-data-catalog/gotchas.md +20 -0
- package/.codex/skills/cloudflare/references/r2-data-catalog/patterns.md +46 -0
- package/.codex/skills/cloudflare/references/r2-sql/README.md +512 -0
- package/.codex/skills/cloudflare/references/realtime-sfu/README.md +21 -0
- package/.codex/skills/cloudflare/references/realtime-sfu/api.md +135 -0
- package/.codex/skills/cloudflare/references/realtime-sfu/configuration.md +63 -0
- package/.codex/skills/cloudflare/references/realtime-sfu/gotchas.md +75 -0
- package/.codex/skills/cloudflare/references/realtime-sfu/patterns.md +102 -0
- package/.codex/skills/cloudflare/references/realtimekit/README.md +81 -0
- package/.codex/skills/cloudflare/references/realtimekit/api.md +164 -0
- package/.codex/skills/cloudflare/references/realtimekit/configuration.md +147 -0
- package/.codex/skills/cloudflare/references/realtimekit/gotchas.md +172 -0
- package/.codex/skills/cloudflare/references/realtimekit/patterns.md +155 -0
- package/.codex/skills/cloudflare/references/sandbox/README.md +90 -0
- package/.codex/skills/cloudflare/references/sandbox/api.md +178 -0
- package/.codex/skills/cloudflare/references/sandbox/configuration.md +131 -0
- package/.codex/skills/cloudflare/references/sandbox/gotchas.md +156 -0
- package/.codex/skills/cloudflare/references/sandbox/patterns.md +203 -0
- package/.codex/skills/cloudflare/references/secrets-store/README.md +58 -0
- package/.codex/skills/cloudflare/references/secrets-store/api.md +182 -0
- package/.codex/skills/cloudflare/references/secrets-store/configuration.md +140 -0
- package/.codex/skills/cloudflare/references/secrets-store/gotchas.md +129 -0
- package/.codex/skills/cloudflare/references/secrets-store/patterns.md +218 -0
- package/.codex/skills/cloudflare/references/smart-placement/README.md +91 -0
- package/.codex/skills/cloudflare/references/smart-placement/api.md +139 -0
- package/.codex/skills/cloudflare/references/smart-placement/configuration.md +129 -0
- package/.codex/skills/cloudflare/references/smart-placement/gotchas.md +87 -0
- package/.codex/skills/cloudflare/references/smart-placement/patterns.md +135 -0
- package/.codex/skills/cloudflare/references/snippets/README.md +15 -0
- package/.codex/skills/cloudflare/references/snippets/api.md +47 -0
- package/.codex/skills/cloudflare/references/snippets/configuration.md +33 -0
- package/.codex/skills/cloudflare/references/snippets/gotchas.md +21 -0
- package/.codex/skills/cloudflare/references/snippets/patterns.md +34 -0
- package/.codex/skills/cloudflare/references/spectrum/README.md +16 -0
- package/.codex/skills/cloudflare/references/spectrum/api.md +24 -0
- package/.codex/skills/cloudflare/references/spectrum/configuration.md +43 -0
- package/.codex/skills/cloudflare/references/spectrum/gotchas.md +42 -0
- package/.codex/skills/cloudflare/references/spectrum/patterns.md +40 -0
- package/.codex/skills/cloudflare/references/static-assets/README.md +14 -0
- package/.codex/skills/cloudflare/references/static-assets/api.md +3 -0
- package/.codex/skills/cloudflare/references/static-assets/configuration.md +47 -0
- package/.codex/skills/cloudflare/references/static-assets/gotchas.md +44 -0
- package/.codex/skills/cloudflare/references/static-assets/patterns.md +42 -0
- package/.codex/skills/cloudflare/references/stream/README.md +103 -0
- package/.codex/skills/cloudflare/references/stream/api.md +204 -0
- package/.codex/skills/cloudflare/references/stream/configuration.md +127 -0
- package/.codex/skills/cloudflare/references/stream/gotchas.md +131 -0
- package/.codex/skills/cloudflare/references/stream/patterns.md +152 -0
- package/.codex/skills/cloudflare/references/tail-workers/README.md +640 -0
- package/.codex/skills/cloudflare/references/terraform/README.md +76 -0
- package/.codex/skills/cloudflare/references/terraform/api.md +159 -0
- package/.codex/skills/cloudflare/references/terraform/configuration.md +156 -0
- package/.codex/skills/cloudflare/references/terraform/gotchas.md +207 -0
- package/.codex/skills/cloudflare/references/terraform/patterns.md +135 -0
- package/.codex/skills/cloudflare/references/tunnel/README.md +82 -0
- package/.codex/skills/cloudflare/references/tunnel/api.md +105 -0
- package/.codex/skills/cloudflare/references/tunnel/configuration.md +113 -0
- package/.codex/skills/cloudflare/references/tunnel/gotchas.md +115 -0
- package/.codex/skills/cloudflare/references/tunnel/patterns.md +157 -0
- package/.codex/skills/cloudflare/references/turn/README.md +699 -0
- package/.codex/skills/cloudflare/references/turnstile/README.md +14 -0
- package/.codex/skills/cloudflare/references/turnstile/api.md +3 -0
- package/.codex/skills/cloudflare/references/turnstile/configuration.md +19 -0
- package/.codex/skills/cloudflare/references/turnstile/gotchas.md +27 -0
- package/.codex/skills/cloudflare/references/turnstile/patterns.md +41 -0
- package/.codex/skills/cloudflare/references/vectorize/README.md +682 -0
- package/.codex/skills/cloudflare/references/waf/README.md +14 -0
- package/.codex/skills/cloudflare/references/waf/api.md +3 -0
- package/.codex/skills/cloudflare/references/waf/configuration.md +44 -0
- package/.codex/skills/cloudflare/references/waf/gotchas.md +24 -0
- package/.codex/skills/cloudflare/references/waf/patterns.md +29 -0
- package/.codex/skills/cloudflare/references/web-analytics/README.md +19 -0
- package/.codex/skills/cloudflare/references/web-analytics/api.md +52 -0
- package/.codex/skills/cloudflare/references/web-analytics/configuration.md +31 -0
- package/.codex/skills/cloudflare/references/web-analytics/gotchas.md +28 -0
- package/.codex/skills/cloudflare/references/web-analytics/patterns.md +52 -0
- package/.codex/skills/cloudflare/references/workerd/README.md +47 -0
- package/.codex/skills/cloudflare/references/workerd/api.md +199 -0
- package/.codex/skills/cloudflare/references/workerd/configuration.md +185 -0
- package/.codex/skills/cloudflare/references/workerd/gotchas.md +203 -0
- package/.codex/skills/cloudflare/references/workerd/patterns.md +216 -0
- package/.codex/skills/cloudflare/references/workers/README.md +96 -0
- package/.codex/skills/cloudflare/references/workers/api.md +137 -0
- package/.codex/skills/cloudflare/references/workers/configuration.md +147 -0
- package/.codex/skills/cloudflare/references/workers/gotchas.md +99 -0
- package/.codex/skills/cloudflare/references/workers/patterns.md +149 -0
- package/.codex/skills/cloudflare/references/workers-ai/README.md +116 -0
- package/.codex/skills/cloudflare/references/workers-for-platforms/README.md +48 -0
- package/.codex/skills/cloudflare/references/workers-for-platforms/api.md +169 -0
- package/.codex/skills/cloudflare/references/workers-for-platforms/configuration.md +136 -0
- package/.codex/skills/cloudflare/references/workers-for-platforms/gotchas.md +130 -0
- package/.codex/skills/cloudflare/references/workers-for-platforms/patterns.md +170 -0
- package/.codex/skills/cloudflare/references/workers-playground/README.md +16 -0
- package/.codex/skills/cloudflare/references/workers-playground/api.md +20 -0
- package/.codex/skills/cloudflare/references/workers-playground/configuration.md +3 -0
- package/.codex/skills/cloudflare/references/workers-playground/gotchas.md +35 -0
- package/.codex/skills/cloudflare/references/workers-playground/patterns.md +42 -0
- package/.codex/skills/cloudflare/references/workers-vpc/README.md +579 -0
- package/.codex/skills/cloudflare/references/workflows/README.md +62 -0
- package/.codex/skills/cloudflare/references/workflows/api.md +125 -0
- package/.codex/skills/cloudflare/references/workflows/configuration.md +177 -0
- package/.codex/skills/cloudflare/references/workflows/gotchas.md +136 -0
- package/.codex/skills/cloudflare/references/workflows/patterns.md +132 -0
- package/.codex/skills/cloudflare/references/wrangler/README.md +90 -0
- package/.codex/skills/cloudflare/references/wrangler/api.md +140 -0
- package/.codex/skills/cloudflare/references/wrangler/configuration.md +128 -0
- package/.codex/skills/cloudflare/references/wrangler/gotchas.md +93 -0
- package/.codex/skills/cloudflare/references/wrangler/patterns.md +150 -0
- package/.codex/skills/cloudflare/references/zaraz/README.md +360 -0
- package/.codex/skills/code-navigation/SKILL.md +130 -0
- package/.codex/skills/code-review/SKILL.md +208 -0
- package/.codex/skills/compaction/SKILL.md +317 -0
- package/.codex/skills/condition-based-waiting/SKILL.md +123 -0
- package/.codex/skills/condition-based-waiting/example.ts +158 -0
- package/.codex/skills/context-engineering/SKILL.md +176 -0
- package/.codex/skills/context-initialization/SKILL.md +70 -0
- package/.codex/skills/context-management/SKILL.md +163 -0
- package/.codex/skills/core-data-expert/SKILL.md +93 -0
- package/.codex/skills/core-data-expert/references/batch-operations.md +543 -0
- package/.codex/skills/core-data-expert/references/cloudkit-integration.md +259 -0
- package/.codex/skills/core-data-expert/references/concurrency.md +522 -0
- package/.codex/skills/core-data-expert/references/fetch-requests.md +643 -0
- package/.codex/skills/core-data-expert/references/glossary.md +233 -0
- package/.codex/skills/core-data-expert/references/migration.md +393 -0
- package/.codex/skills/core-data-expert/references/model-configuration.md +597 -0
- package/.codex/skills/core-data-expert/references/performance.md +300 -0
- package/.codex/skills/core-data-expert/references/persistent-history.md +553 -0
- package/.codex/skills/core-data-expert/references/project-audit.md +60 -0
- package/.codex/skills/core-data-expert/references/saving.md +574 -0
- package/.codex/skills/core-data-expert/references/stack-setup.md +625 -0
- package/.codex/skills/core-data-expert/references/testing.md +300 -0
- package/.codex/skills/core-data-expert/references/threading.md +589 -0
- package/.codex/skills/debugging/SKILL.md +203 -0
- package/.codex/skills/deep-research/SKILL.md +384 -0
- package/.codex/skills/defense-in-depth/SKILL.md +166 -0
- package/.codex/skills/dependency-upgrades/SKILL.md +198 -0
- package/.codex/skills/design-system-audit/SKILL.md +153 -0
- package/.codex/skills/development-lifecycle/SKILL.md +356 -0
- package/.codex/skills/dispatching-parallel-agents/SKILL.md +191 -0
- package/.codex/skills/docs-handoff/SKILL.md +175 -0
- package/.codex/skills/executing-plans/SKILL.md +247 -0
- package/.codex/skills/figma/SKILL.md +224 -0
- package/.codex/skills/figma/mcp.json +6 -0
- package/.codex/skills/finishing-a-development-branch/SKILL.md +357 -0
- package/.codex/skills/frontend-design/SKILL.md +176 -0
- package/.codex/skills/gemini-large-context/SKILL.md +216 -0
- package/.codex/skills/git-pr-prep/SKILL.md +179 -0
- package/.codex/skills/index-knowledge/SKILL.md +413 -0
- package/.codex/skills/jira/SKILL.md +283 -0
- package/.codex/skills/jira/mcp.json +6 -0
- package/.codex/skills/memory-system/SKILL.md +93 -0
- package/.codex/skills/mockup-to-code/SKILL.md +184 -0
- package/.codex/skills/mqdh/SKILL.md +171 -0
- package/.codex/skills/obsidian/SKILL.md +187 -0
- package/.codex/skills/obsidian/mcp.json +22 -0
- package/.codex/skills/opensrc/SKILL.md +127 -0
- package/.codex/skills/opensrc/references/architecture.md +176 -0
- package/.codex/skills/opensrc/references/cli-usage.md +176 -0
- package/.codex/skills/opensrc/references/registry-support.md +137 -0
- package/.codex/skills/pdf-extract/SKILL.md +438 -0
- package/.codex/skills/playwright/SKILL.md +320 -0
- package/.codex/skills/playwright/mcp.json +16 -0
- package/.codex/skills/playwriter/SKILL.md +158 -0
- package/.codex/skills/polar/SKILL.md +102 -0
- package/.codex/skills/prd/SKILL.md +146 -0
- package/.codex/skills/prd-task/SKILL.md +182 -0
- package/.codex/skills/prd-task/references/prd-schema.json +124 -0
- package/.codex/skills/prompt-leverage/SKILL.md +69 -0
- package/.codex/skills/prompt-leverage/agents/openai.yaml +4 -0
- package/.codex/skills/prompt-leverage/references/framework.md +91 -0
- package/.codex/skills/prompt-leverage/scripts/augment_prompt.py +114 -0
- package/.codex/skills/ralph/SKILL.md +296 -0
- package/.codex/skills/react-best-practices/AGENTS.md +2410 -0
- package/.codex/skills/react-best-practices/README.md +123 -0
- package/.codex/skills/react-best-practices/SKILL.md +133 -0
- package/.codex/skills/react-best-practices/metadata.json +15 -0
- package/.codex/skills/react-best-practices/rules/_sections.md +46 -0
- package/.codex/skills/react-best-practices/rules/_template.md +28 -0
- package/.codex/skills/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/.codex/skills/react-best-practices/rules/advanced-use-latest.md +49 -0
- package/.codex/skills/react-best-practices/rules/async-api-routes.md +38 -0
- package/.codex/skills/react-best-practices/rules/async-defer-await.md +80 -0
- package/.codex/skills/react-best-practices/rules/async-dependencies.md +36 -0
- package/.codex/skills/react-best-practices/rules/async-parallel.md +28 -0
- package/.codex/skills/react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/.codex/skills/react-best-practices/rules/bundle-barrel-imports.md +59 -0
- package/.codex/skills/react-best-practices/rules/bundle-conditional.md +31 -0
- package/.codex/skills/react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/.codex/skills/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/.codex/skills/react-best-practices/rules/bundle-preload.md +50 -0
- package/.codex/skills/react-best-practices/rules/client-event-listeners.md +74 -0
- package/.codex/skills/react-best-practices/rules/client-localstorage-schema.md +71 -0
- package/.codex/skills/react-best-practices/rules/client-passive-event-listeners.md +48 -0
- package/.codex/skills/react-best-practices/rules/client-swr-dedup.md +56 -0
- package/.codex/skills/react-best-practices/rules/js-batch-dom-css.md +82 -0
- package/.codex/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
- package/.codex/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
- package/.codex/skills/react-best-practices/rules/js-cache-storage.md +70 -0
- package/.codex/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
- package/.codex/skills/react-best-practices/rules/js-early-exit.md +50 -0
- package/.codex/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/.codex/skills/react-best-practices/rules/js-index-maps.md +37 -0
- package/.codex/skills/react-best-practices/rules/js-length-check-first.md +49 -0
- package/.codex/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
- package/.codex/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/.codex/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/.codex/skills/react-best-practices/rules/rendering-activity.md +26 -0
- package/.codex/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/.codex/skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/.codex/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/.codex/skills/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/.codex/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/.codex/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/.codex/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/.codex/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
- package/.codex/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
- package/.codex/skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/.codex/skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/.codex/skills/react-best-practices/rules/rerender-memo.md +44 -0
- package/.codex/skills/react-best-practices/rules/rerender-transitions.md +40 -0
- package/.codex/skills/react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/.codex/skills/react-best-practices/rules/server-cache-lru.md +41 -0
- package/.codex/skills/react-best-practices/rules/server-cache-react.md +76 -0
- package/.codex/skills/react-best-practices/rules/server-parallel-fetching.md +83 -0
- package/.codex/skills/react-best-practices/rules/server-serialization.md +38 -0
- package/.codex/skills/receiving-code-review/SKILL.md +252 -0
- package/.codex/skills/refactoring/SKILL.md +217 -0
- package/.codex/skills/repo-orientation/SKILL.md +156 -0
- package/.codex/skills/requesting-code-review/SKILL.md +397 -0
- package/.codex/skills/resend/SKILL.md +177 -0
- package/.codex/skills/resend/references/react-email.md +287 -0
- package/.codex/skills/resend/references/receive-email.md +248 -0
- package/.codex/skills/resend/references/send-email.md +318 -0
- package/.codex/skills/root-cause-tracing/SKILL.md +192 -0
- package/.codex/skills/root-cause-tracing/find-polluter.sh +63 -0
- package/.codex/skills/safe-implementation/SKILL.md +205 -0
- package/.codex/skills/session-management/SKILL.md +10 -0
- package/.codex/skills/sharing-skills/SKILL.md +214 -0
- package/.codex/skills/skill-creator/SKILL.md +156 -0
- package/.codex/skills/source-code-research/SKILL.md +293 -0
- package/.codex/skills/source-code-research/references/analysis-tips.md +43 -0
- package/.codex/skills/source-code-research/references/anti-patterns.md +36 -0
- package/.codex/skills/source-code-research/references/common-patterns.md +57 -0
- package/.codex/skills/source-code-research/references/example-workflow.md +60 -0
- package/.codex/skills/source-code-research/references/further-reading.md +5 -0
- package/.codex/skills/source-code-research/references/source-structure.md +45 -0
- package/.codex/skills/stitch/SKILL.md +147 -0
- package/.codex/skills/stitch/mcp.json +9 -0
- package/.codex/skills/structured-edit/SKILL.md +181 -0
- package/.codex/skills/subagent-driven-development/SKILL.md +237 -0
- package/.codex/skills/supabase/SKILL.md +130 -0
- package/.codex/skills/supabase/mcp.json +27 -0
- package/.codex/skills/supabase-postgres-best-practices/AGENTS.md +1490 -0
- package/.codex/skills/supabase-postgres-best-practices/SKILL.md +65 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/advanced-full-text-search.md +55 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/advanced-jsonb-indexing.md +49 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/conn-idle-timeout.md +46 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/conn-limits.md +44 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/conn-pooling.md +41 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/conn-prepared-statements.md +46 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/data-batch-inserts.md +54 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/data-n-plus-one.md +53 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/data-pagination.md +50 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/data-upsert.md +50 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/lock-advisory.md +56 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/lock-deadlock-prevention.md +68 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/lock-short-transactions.md +50 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/lock-skip-locked.md +54 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/monitor-explain-analyze.md +45 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/monitor-pg-stat-statements.md +55 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/monitor-vacuum-analyze.md +55 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/query-composite-indexes.md +44 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/query-covering-indexes.md +40 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/query-index-types.md +45 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/query-missing-indexes.md +43 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/query-partial-indexes.md +45 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/schema-data-types.md +46 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/schema-foreign-key-indexes.md +59 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/schema-lowercase-identifiers.md +55 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/schema-partitioning.md +55 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/schema-primary-keys.md +61 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/security-privileges.md +54 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/security-rls-basics.md +50 -0
- package/.codex/skills/supabase-postgres-best-practices/rules/security-rls-performance.md +57 -0
- package/.codex/skills/swarm-coordination/SKILL.md +179 -0
- package/.codex/skills/swarm-coordination/references/architecture.md +39 -0
- package/.codex/skills/swarm-coordination/references/delegation-worker-protocol.md +145 -0
- package/.codex/skills/swarm-coordination/references/dependency-graph.md +50 -0
- package/.codex/skills/swarm-coordination/references/drift-check.md +90 -0
- package/.codex/skills/swarm-coordination/references/integration-beads.md +20 -0
- package/.codex/skills/swarm-coordination/references/launch-flow.md +186 -0
- package/.codex/skills/swarm-coordination/references/reconciler.md +172 -0
- package/.codex/skills/swarm-coordination/references/tier-enforcement.md +78 -0
- package/.codex/skills/swarm-coordination/references/tmux-integration.md +134 -0
- package/.codex/skills/swift-concurrency/SKILL.md +266 -0
- package/.codex/skills/swift-concurrency/references/actors.md +640 -0
- package/.codex/skills/swift-concurrency/references/async-algorithms.md +822 -0
- package/.codex/skills/swift-concurrency/references/async-await-basics.md +249 -0
- package/.codex/skills/swift-concurrency/references/async-sequences.md +670 -0
- package/.codex/skills/swift-concurrency/references/core-data.md +533 -0
- package/.codex/skills/swift-concurrency/references/glossary.md +128 -0
- package/.codex/skills/swift-concurrency/references/linting.md +142 -0
- package/.codex/skills/swift-concurrency/references/memory-management.md +542 -0
- package/.codex/skills/swift-concurrency/references/migration.md +1076 -0
- package/.codex/skills/swift-concurrency/references/performance.md +574 -0
- package/.codex/skills/swift-concurrency/references/sendable.md +578 -0
- package/.codex/skills/swift-concurrency/references/tasks.md +604 -0
- package/.codex/skills/swift-concurrency/references/testing.md +565 -0
- package/.codex/skills/swift-concurrency/references/threading.md +452 -0
- package/.codex/skills/swiftui-expert-skill/SKILL.md +329 -0
- package/.codex/skills/swiftui-expert-skill/references/animation-advanced.md +351 -0
- package/.codex/skills/swiftui-expert-skill/references/animation-basics.md +284 -0
- package/.codex/skills/swiftui-expert-skill/references/animation-transitions.md +326 -0
- package/.codex/skills/swiftui-expert-skill/references/image-optimization.md +286 -0
- package/.codex/skills/swiftui-expert-skill/references/layout-best-practices.md +312 -0
- package/.codex/skills/swiftui-expert-skill/references/liquid-glass.md +377 -0
- package/.codex/skills/swiftui-expert-skill/references/list-patterns.md +153 -0
- package/.codex/skills/swiftui-expert-skill/references/modern-apis.md +400 -0
- package/.codex/skills/swiftui-expert-skill/references/performance-patterns.md +377 -0
- package/.codex/skills/swiftui-expert-skill/references/scroll-patterns.md +305 -0
- package/.codex/skills/swiftui-expert-skill/references/sheet-navigation-patterns.md +292 -0
- package/.codex/skills/swiftui-expert-skill/references/state-management.md +447 -0
- package/.codex/skills/swiftui-expert-skill/references/text-formatting.md +285 -0
- package/.codex/skills/swiftui-expert-skill/references/view-structure.md +276 -0
- package/.codex/skills/systematic-debugging/SKILL.md +402 -0
- package/.codex/skills/task-planning/SKILL.md +205 -0
- package/.codex/skills/test-driven-development/SKILL.md +388 -0
- package/.codex/skills/test-strategy/SKILL.md +186 -0
- package/.codex/skills/testing-anti-patterns/SKILL.md +320 -0
- package/.codex/skills/testing-skills-with-subagents/SKILL.md +405 -0
- package/.codex/skills/tilth-cli/SKILL.md +180 -0
- package/.codex/skills/tool-priority/SKILL.md +299 -0
- package/.codex/skills/ui-inspiration-scout/SKILL.md +203 -0
- package/.codex/skills/ui-ux-research/SKILL.md +35 -0
- package/.codex/skills/using-git-worktrees/SKILL.md +259 -0
- package/.codex/skills/using-skills/SKILL.md +117 -0
- package/.codex/skills/v0/SKILL.md +158 -0
- package/.codex/skills/v0/mcp.json +6 -0
- package/.codex/skills/v1-run/SKILL.md +175 -0
- package/.codex/skills/v1-run/mcp.json +6 -0
- package/.codex/skills/vercel-deploy-claimable/SKILL.md +124 -0
- package/.codex/skills/vercel-deploy-claimable/scripts/deploy.sh +249 -0
- package/.codex/skills/verification/SKILL.md +191 -0
- package/.codex/skills/verification-before-completion/SKILL.md +236 -0
- package/.codex/skills/visual-analysis/SKILL.md +154 -0
- package/.codex/skills/web-design-guidelines/SKILL.md +46 -0
- package/.codex/skills/writing-plans/SKILL.md +320 -0
- package/.codex/skills/writing-skills/SKILL.md +287 -0
- package/.codex/skills/writing-skills/anthropic-best-practices.md +1173 -0
- package/.codex/skills/writing-skills/graphviz-conventions.dot +172 -0
- package/.codex/skills/writing-skills/persuasion-principles.md +220 -0
- package/.codex/skills/writing-skills/references/anti-patterns.md +25 -0
- package/.codex/skills/writing-skills/references/claude-search-optimization.md +140 -0
- package/.codex/skills/writing-skills/references/discovery-workflow.md +11 -0
- package/.codex/skills/writing-skills/references/file-organization.md +32 -0
- package/.codex/skills/writing-skills/references/flowcharts-and-examples.md +57 -0
- package/.codex/skills/writing-skills/references/rationalization-hardening.md +75 -0
- package/.codex/skills/writing-skills/references/testing-skill-types.md +52 -0
- package/.template-manifest.json +631 -0
- package/AGENTS.md +719 -0
- package/AGENTS.override.md.example +7 -0
- package/CHANGELOG.md +28 -0
- package/LICENSE +21 -0
- package/README.md +641 -0
- package/bin/codexkit +148 -0
- package/install/bead-close.sh +20 -0
- package/install/bead-search.sh +18 -0
- package/install/bead-start.sh +20 -0
- package/install/bead-sync.sh +19 -0
- package/install/bead-verify.sh +20 -0
- package/install/generate-manifest.sh +55 -0
- package/install/install-global.sh +150 -0
- package/install/install-project.sh +704 -0
- package/install/install-remote.sh +152 -0
- package/install/patch.sh +478 -0
- package/install/plugin.sh +565 -0
- package/install/run-codex.sh +68 -0
- package/install/template.sh +620 -0
- package/install/validate.sh +653 -0
- package/package.json +39 -0
- package/templates/global/.codex-config-template.toml +87 -0
- package/templates/global/AGENTS.override.md +18 -0
- package/templates/global/README.md +29 -0
- package/templates/project/.codex-config-template.toml +26 -0
- package/templates/project/AGENTS.md.template +27 -0
- package/templates/project/README.md +24 -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,176 @@
|
|
|
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.0.0
|
|
5
|
+
tags: [ui, design]
|
|
6
|
+
dependencies: []
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Frontend Design
|
|
10
|
+
|
|
11
|
+
## When to Use
|
|
12
|
+
- Building or refactoring React UI (Next.js, Remix, Vite)
|
|
13
|
+
- Creating reusable component systems with Tailwind and shadcn/ui
|
|
14
|
+
- Shipping accessible, responsive, motion-aware interfaces
|
|
15
|
+
- Raising visual quality beyond generic template aesthetics
|
|
16
|
+
|
|
17
|
+
## When NOT to Use
|
|
18
|
+
- Backend-only tasks with no user-facing surface
|
|
19
|
+
|
|
20
|
+
## Design Intent First
|
|
21
|
+
Define before coding:
|
|
22
|
+
1. Audience and usage context
|
|
23
|
+
2. Visual direction (minimal/editorial/playful/industrial/luxury)
|
|
24
|
+
3. Interaction tone (calm/fast/expressive/utilitarian)
|
|
25
|
+
4. Primary success metric (clarity, conversion, task speed)
|
|
26
|
+
|
|
27
|
+
If intent is fuzzy, align first; implementation quality depends on this.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Component Architecture Patterns
|
|
32
|
+
|
|
33
|
+
### 1) Primitive → Composite → Screen
|
|
34
|
+
- **Primitives:** Button, Input, Badge, Icon, Stack
|
|
35
|
+
- **Composites:** SearchBar, FilterPanel, ProductCard
|
|
36
|
+
- **Screen sections:** Hero, ResultsGrid, CheckoutSummary
|
|
37
|
+
|
|
38
|
+
Keep business logic out of primitives; place behavior in composites/hooks.
|
|
39
|
+
|
|
40
|
+
### 2) Headless behavior + visual shells
|
|
41
|
+
- Encapsulate logic in hooks (`useDialogState`, `useComboboxFilter`)
|
|
42
|
+
- Keep visual components presentational
|
|
43
|
+
- Improves portability and testability
|
|
44
|
+
|
|
45
|
+
### 3) Composition over prop explosion
|
|
46
|
+
Prefer slot/compound APIs over huge prop matrices.
|
|
47
|
+
|
|
48
|
+
```tsx
|
|
49
|
+
<Card>
|
|
50
|
+
<Card.Header />
|
|
51
|
+
<Card.Body />
|
|
52
|
+
<Card.Footer />
|
|
53
|
+
</Card>
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### 4) State locality
|
|
57
|
+
- Keep transient UI state local
|
|
58
|
+
- Lift only shared/derived state
|
|
59
|
+
- Use URL state for shareable filters/tabs/pagination
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Tailwind and CSS Best Practices
|
|
64
|
+
|
|
65
|
+
### Tokenize decisions
|
|
66
|
+
Use theme tokens for color, spacing, typography, radius, shadow.
|
|
67
|
+
Avoid scattered arbitrary values.
|
|
68
|
+
|
|
69
|
+
```css
|
|
70
|
+
@theme {
|
|
71
|
+
--color-brand-500: oklch(0.62 0.2 252);
|
|
72
|
+
--radius-md: 0.625rem;
|
|
73
|
+
--space-18: 4.5rem;
|
|
74
|
+
}
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### Deterministic class generation
|
|
78
|
+
- Avoid dynamic class strings purge tools can’t statically detect
|
|
79
|
+
- Use `cva`/`clsx` with explicit variant maps
|
|
80
|
+
|
|
81
|
+
### Layout discipline
|
|
82
|
+
- Grid for page-level structure
|
|
83
|
+
- Flex for one-dimensional alignment
|
|
84
|
+
- Consistent spacing scale (`gap-*`, `space-y-*`)
|
|
85
|
+
- Avoid one-off dimensions unless design requires them
|
|
86
|
+
|
|
87
|
+
### Dark mode parity
|
|
88
|
+
Every themed component must preserve hierarchy and contrast in dark mode.
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Responsive Design Checklist
|
|
93
|
+
- [ ] Mobile-first base styles
|
|
94
|
+
- [ ] Progressive breakpoints (`sm`→`2xl`)
|
|
95
|
+
- [ ] Touch targets at least 44×44px
|
|
96
|
+
- [ ] Navigation works without hover
|
|
97
|
+
- [ ] Dense tables reflow for narrow screens
|
|
98
|
+
- [ ] Long text wraps without clipping
|
|
99
|
+
- [ ] Safe-area support where relevant
|
|
100
|
+
- [ ] Container queries for component-level adaptation
|
|
101
|
+
|
|
102
|
+
Practical defaults:
|
|
103
|
+
- Collapse multi-column layouts below `md`
|
|
104
|
+
- Convert large tables to cards on small screens
|
|
105
|
+
- Keep primary CTA visible early in scroll
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Accessibility Requirements
|
|
110
|
+
|
|
111
|
+
### Semantics
|
|
112
|
+
- Use correct landmarks (`header`, `nav`, `main`, `footer`)
|
|
113
|
+
- Use `<button>` for actions, `<a>` for navigation
|
|
114
|
+
- Preserve heading hierarchy
|
|
115
|
+
|
|
116
|
+
### Keyboard
|
|
117
|
+
- Full feature use without mouse
|
|
118
|
+
- Visible `focus-visible` styles
|
|
119
|
+
- No keyboard trap in dialogs/menus
|
|
120
|
+
|
|
121
|
+
### Labels and ARIA
|
|
122
|
+
- Prefer native semantics; add ARIA only when necessary
|
|
123
|
+
- All form controls have accessible labels
|
|
124
|
+
- Icon-only controls require `aria-label`
|
|
125
|
+
|
|
126
|
+
### Contrast and motion safety
|
|
127
|
+
- Meet WCAG AA contrast for text and controls
|
|
128
|
+
- Respect `prefers-reduced-motion`
|
|
129
|
+
- Avoid disorienting motion patterns
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Animation Guidelines
|
|
134
|
+
|
|
135
|
+
### Motion hierarchy
|
|
136
|
+
1. Micro-interactions: 120–180ms
|
|
137
|
+
2. State transitions: 180–260ms
|
|
138
|
+
3. Section/page transitions: 220–320ms
|
|
139
|
+
|
|
140
|
+
### Tool selection
|
|
141
|
+
- Tailwind transitions for simple state feedback
|
|
142
|
+
- Motion for layout, gestures, enter/exit choreography
|
|
143
|
+
|
|
144
|
+
```tsx
|
|
145
|
+
<motion.div
|
|
146
|
+
initial={{ opacity: 0, y: 8 }}
|
|
147
|
+
animate={{ opacity: 1, y: 0 }}
|
|
148
|
+
exit={{ opacity: 0, y: -6 }}
|
|
149
|
+
transition={{ duration: 0.22 }}
|
|
150
|
+
/>
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### Performance rules
|
|
154
|
+
- Prefer transform/opacity animations
|
|
155
|
+
- Avoid expensive paint/layout animations on large surfaces
|
|
156
|
+
- Test on low-end devices for jank
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## Common UI Anti-Patterns
|
|
161
|
+
- Generic gradient-heavy hero with weak hierarchy
|
|
162
|
+
- Inconsistent spacing/radius across components
|
|
163
|
+
- Too many accent colors without semantic mapping
|
|
164
|
+
- Decorative animation that slows core tasks
|
|
165
|
+
- Copied components with drifted behavior/naming
|
|
166
|
+
|
|
167
|
+
## Pre-Ship QA Pass
|
|
168
|
+
1. Visual check at mobile/tablet/desktop widths
|
|
169
|
+
2. Keyboard-only interaction pass
|
|
170
|
+
3. Screen-reader label sanity pass
|
|
171
|
+
4. Reduced-motion behavior pass
|
|
172
|
+
5. Empty/loading/error state pass
|
|
173
|
+
6. Performance smoke for interaction smoothness
|
|
174
|
+
|
|
175
|
+
## Bottom Line
|
|
176
|
+
Build interfaces with clear intent, strong visual character, accessible interaction, and production-grade responsiveness/performance from the first iteration.
|