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,191 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: accessibility-audit
|
|
3
|
+
description: Use when auditing UI components or pages for accessibility compliance, checking WCAG conformance, identifying keyboard navigation issues, color contrast problems, and pre-launch accessibility verification
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
tags: [ui, code-quality]
|
|
6
|
+
dependencies: []
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Accessibility Audit Skill
|
|
10
|
+
|
|
11
|
+
## When to Use
|
|
12
|
+
|
|
13
|
+
- Reviewing UI components for accessibility compliance
|
|
14
|
+
- Auditing pages for WCAG conformance
|
|
15
|
+
- Identifying keyboard navigation issues
|
|
16
|
+
- Checking color contrast
|
|
17
|
+
- Pre-launch accessibility verification
|
|
18
|
+
|
|
19
|
+
## When NOT to Use
|
|
20
|
+
|
|
21
|
+
- Non-UI work where accessibility isn't applicable.
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
## Core Workflow
|
|
25
|
+
|
|
26
|
+
### Phase 1: Visual Accessibility Analysis
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
Perform a comprehensive accessibility audit:
|
|
30
|
+
|
|
31
|
+
1. COLOR CONTRAST
|
|
32
|
+
- Check text/background contrast ratios
|
|
33
|
+
- WCAG AA: 4.5:1 normal text, 3:1 large text
|
|
34
|
+
- Identify failing elements
|
|
35
|
+
|
|
36
|
+
2. VISUAL HIERARCHY
|
|
37
|
+
- Heading structure (logical H1-H6)
|
|
38
|
+
- Visual grouping of related elements
|
|
39
|
+
- Touch targets (44x44px minimum)
|
|
40
|
+
|
|
41
|
+
3. CONTENT ACCESSIBILITY
|
|
42
|
+
- Images needing alt text
|
|
43
|
+
- Icons without text labels
|
|
44
|
+
- Color-only information
|
|
45
|
+
|
|
46
|
+
4. INTERACTIVE ELEMENTS
|
|
47
|
+
- Buttons/links with unclear purpose
|
|
48
|
+
- Form fields without labels
|
|
49
|
+
- Missing error states
|
|
50
|
+
|
|
51
|
+
5. MOTION
|
|
52
|
+
- Auto-playing content
|
|
53
|
+
- Potential vestibular triggers
|
|
54
|
+
|
|
55
|
+
Provide WCAG criterion references for each issue.
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Phase 2: Component Checklist
|
|
59
|
+
|
|
60
|
+
For each interactive component:
|
|
61
|
+
|
|
62
|
+
```markdown
|
|
63
|
+
## Component: [Name]
|
|
64
|
+
|
|
65
|
+
### Keyboard Navigation
|
|
66
|
+
|
|
67
|
+
- [ ] Focusable with Tab
|
|
68
|
+
- [ ] Visible focus indicator
|
|
69
|
+
- [ ] Operable with Enter/Space
|
|
70
|
+
- [ ] Escape closes modals
|
|
71
|
+
- [ ] Arrow keys for menus
|
|
72
|
+
|
|
73
|
+
### Screen Reader
|
|
74
|
+
|
|
75
|
+
- [ ] Meaningful accessible name
|
|
76
|
+
- [ ] Role announced correctly
|
|
77
|
+
- [ ] State changes announced
|
|
78
|
+
- [ ] Errors associated with inputs
|
|
79
|
+
|
|
80
|
+
### Visual
|
|
81
|
+
|
|
82
|
+
- [ ] 4.5:1 contrast ratio (text)
|
|
83
|
+
- [ ] 3:1 contrast ratio (UI)
|
|
84
|
+
- [ ] 44x44px touch targets
|
|
85
|
+
- [ ] No color-only information
|
|
86
|
+
|
|
87
|
+
### Motion
|
|
88
|
+
|
|
89
|
+
- [ ] Respects prefers-reduced-motion
|
|
90
|
+
- [ ] No auto-play >5 seconds
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## WCAG Quick Reference
|
|
94
|
+
|
|
95
|
+
### Level A (Minimum)
|
|
96
|
+
|
|
97
|
+
| Criterion | Description | Fix |
|
|
98
|
+
| --------- | ---------------------- | ----------------- |
|
|
99
|
+
| 1.1.1 | Non-text Content | Add alt text |
|
|
100
|
+
| 1.3.1 | Info and Relationships | Use semantic HTML |
|
|
101
|
+
| 2.1.1 | Keyboard | All via keyboard |
|
|
102
|
+
| 2.4.1 | Bypass Blocks | Skip links |
|
|
103
|
+
| 4.1.2 | Name, Role, Value | ARIA labels |
|
|
104
|
+
|
|
105
|
+
### Level AA (Recommended)
|
|
106
|
+
|
|
107
|
+
| Criterion | Description | Fix |
|
|
108
|
+
| --------- | ------------- | ---------------------- |
|
|
109
|
+
| 1.4.3 | Contrast | 4.5:1 text, 3:1 UI |
|
|
110
|
+
| 1.4.4 | Resize Text | Support 200% zoom |
|
|
111
|
+
| 2.4.6 | Headings | Descriptive headings |
|
|
112
|
+
| 2.4.7 | Focus Visible | Clear focus indicators |
|
|
113
|
+
|
|
114
|
+
## Common Fixes
|
|
115
|
+
|
|
116
|
+
### Accessible Button
|
|
117
|
+
|
|
118
|
+
```tsx
|
|
119
|
+
// Bad
|
|
120
|
+
<div onClick={handleClick}>Click me</div>
|
|
121
|
+
|
|
122
|
+
// Good
|
|
123
|
+
<button type="button" onClick={handleClick}>
|
|
124
|
+
Click me
|
|
125
|
+
</button>
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### Accessible Icon Button
|
|
129
|
+
|
|
130
|
+
```tsx
|
|
131
|
+
// Bad
|
|
132
|
+
<button><Icon /></button>
|
|
133
|
+
|
|
134
|
+
// Good
|
|
135
|
+
<button aria-label="Close dialog">
|
|
136
|
+
<Icon aria-hidden="true" />
|
|
137
|
+
</button>
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### Form with Error
|
|
141
|
+
|
|
142
|
+
```tsx
|
|
143
|
+
<label htmlFor="email">Email</label>
|
|
144
|
+
<input
|
|
145
|
+
id="email"
|
|
146
|
+
aria-describedby="email-error"
|
|
147
|
+
aria-invalid={hasError}
|
|
148
|
+
/>
|
|
149
|
+
{hasError && (
|
|
150
|
+
<span id="email-error" role="alert">
|
|
151
|
+
Please enter a valid email
|
|
152
|
+
</span>
|
|
153
|
+
)}
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
## Report Template
|
|
157
|
+
|
|
158
|
+
```markdown
|
|
159
|
+
# Accessibility Audit Report
|
|
160
|
+
|
|
161
|
+
**Date:** [Date]
|
|
162
|
+
**Page:** [Name]
|
|
163
|
+
**WCAG Level:** AA
|
|
164
|
+
|
|
165
|
+
## Summary
|
|
166
|
+
|
|
167
|
+
- Critical Issues: X
|
|
168
|
+
- Major Issues: X
|
|
169
|
+
- Minor Issues: X
|
|
170
|
+
|
|
171
|
+
## Issues
|
|
172
|
+
|
|
173
|
+
### [Issue Title]
|
|
174
|
+
|
|
175
|
+
- **Severity:** Critical/Major/Minor
|
|
176
|
+
- **WCAG:** [X.X.X]
|
|
177
|
+
- **Element:** [selector]
|
|
178
|
+
- **Issue:** [Description]
|
|
179
|
+
- **Fix:** [Recommendation]
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
## Storage
|
|
183
|
+
|
|
184
|
+
Save audit reports to `.opencode/memory/design/accessibility/`
|
|
185
|
+
|
|
186
|
+
## Related Skills
|
|
187
|
+
|
|
188
|
+
| Need | Skill |
|
|
189
|
+
| -------------- | ----------------- |
|
|
190
|
+
| Design quality | `frontend-design` |
|
|
191
|
+
| UI research | `ui-ux-research` |
|
|
@@ -0,0 +1,413 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: agent-browser
|
|
3
|
+
description: Browser automation CLI for AI agents using Playwright
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
tags: [automation, mcp]
|
|
6
|
+
dependencies: []
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# agent-browser
|
|
10
|
+
|
|
11
|
+
## When to Use
|
|
12
|
+
|
|
13
|
+
- When you need Playwright-based browser automation via the agent-browser CLI.
|
|
14
|
+
|
|
15
|
+
## When NOT to Use
|
|
16
|
+
|
|
17
|
+
- When MCP-based browser control is required instead of a CLI workflow.
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
## Installation
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
npm install -g agent-browser
|
|
24
|
+
agent-browser install # Download Chromium
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Linux: `agent-browser install --with-deps`
|
|
28
|
+
|
|
29
|
+
## Architecture
|
|
30
|
+
|
|
31
|
+
- **Rust CLI** (fast native binary) parses commands, communicates with daemon
|
|
32
|
+
- **Node.js daemon** manages Playwright browser instance, persists between commands
|
|
33
|
+
- Daemon auto-starts on first command, stays alive for fast subsequent ops
|
|
34
|
+
- Each session has own daemon process + Unix socket (or TCP on Windows)
|
|
35
|
+
|
|
36
|
+
## Core Workflow
|
|
37
|
+
|
|
38
|
+
1. **Open page**: `agent-browser open <url>`
|
|
39
|
+
2. **Get snapshot**: `agent-browser snapshot -i` (interactive elements only)
|
|
40
|
+
3. **Use refs**: `agent-browser click @e2` / `agent-browser fill @e3 "text"`
|
|
41
|
+
4. **Repeat snapshot** after page changes
|
|
42
|
+
|
|
43
|
+
## Refs (Primary Selection Method)
|
|
44
|
+
|
|
45
|
+
Snapshot generates ARIA accessibility tree with `[ref=eN]` tags. Refs map to `getByRole()` locators internally.
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
agent-browser snapshot
|
|
49
|
+
# - heading "Example Domain" [ref=e1] [level=1]
|
|
50
|
+
# - button "Submit" [ref=e2]
|
|
51
|
+
# - textbox "Email" [ref=e3]
|
|
52
|
+
# - link "Learn more" [ref=e4]
|
|
53
|
+
|
|
54
|
+
agent-browser click @e2 # Click button
|
|
55
|
+
agent-browser fill @e3 "test@example.com"
|
|
56
|
+
agent-browser get text @e1 # Get heading text
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Ref syntax: `@e1`, `e1`, or `ref=e1` all work.
|
|
60
|
+
|
|
61
|
+
**Why refs?**
|
|
62
|
+
|
|
63
|
+
- Deterministic: points to exact element from snapshot
|
|
64
|
+
- Fast: no DOM re-query, uses cached role/name locator
|
|
65
|
+
- AI-friendly: snapshot + ref workflow optimal for LLMs
|
|
66
|
+
|
|
67
|
+
### Interactive Roles (get refs automatically)
|
|
68
|
+
|
|
69
|
+
`button`, `link`, `textbox`, `checkbox`, `radio`, `combobox`, `listbox`, `menuitem`, `option`, `searchbox`, `slider`, `spinbutton`, `switch`, `tab`, `treeitem`
|
|
70
|
+
|
|
71
|
+
### Content Roles (get refs when named)
|
|
72
|
+
|
|
73
|
+
`heading`, `cell`, `gridcell`, `columnheader`, `rowheader`, `listitem`, `article`, `region`, `main`, `navigation`
|
|
74
|
+
|
|
75
|
+
## Commands
|
|
76
|
+
|
|
77
|
+
### Navigation
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
agent-browser open <url> # Auto-prepends https:// if needed
|
|
81
|
+
agent-browser back
|
|
82
|
+
agent-browser forward
|
|
83
|
+
agent-browser reload
|
|
84
|
+
agent-browser close # Closes browser + daemon
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Interaction
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
agent-browser click <sel> # Left click
|
|
91
|
+
agent-browser dblclick <sel> # Double click
|
|
92
|
+
agent-browser fill <sel> <text> # Clear field + set value (atomic)
|
|
93
|
+
agent-browser type <sel> <text> # Type character by character (preserves existing)
|
|
94
|
+
agent-browser press <key> # Key press: Enter, Tab, Control+a, Shift+Tab
|
|
95
|
+
agent-browser keydown <key> # Hold key down
|
|
96
|
+
agent-browser keyup <key> # Release key
|
|
97
|
+
agent-browser hover <sel>
|
|
98
|
+
agent-browser focus <sel>
|
|
99
|
+
agent-browser select <sel> <val> # Select dropdown option by value
|
|
100
|
+
agent-browser check <sel> # Check checkbox
|
|
101
|
+
agent-browser uncheck <sel> # Uncheck checkbox
|
|
102
|
+
agent-browser scroll up|down|left|right [px] # Default 300px
|
|
103
|
+
agent-browser scrollintoview <sel>
|
|
104
|
+
agent-browser drag <src> <tgt> # Drag and drop
|
|
105
|
+
agent-browser upload <sel> <file1> [file2...]
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Get Info
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
agent-browser get text <sel> # textContent
|
|
112
|
+
agent-browser get html <sel> # innerHTML
|
|
113
|
+
agent-browser get value <sel> # input value
|
|
114
|
+
agent-browser get attr <sel> <attr>
|
|
115
|
+
agent-browser get title
|
|
116
|
+
agent-browser get url
|
|
117
|
+
agent-browser get count <sel> # Number of matching elements
|
|
118
|
+
agent-browser get box <sel> # Bounding box {x,y,width,height}
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### Check State
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
agent-browser is visible <sel>
|
|
125
|
+
agent-browser is enabled <sel>
|
|
126
|
+
agent-browser is checked <sel>
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### Snapshot Options
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
agent-browser snapshot # Full accessibility tree
|
|
133
|
+
agent-browser snapshot -i # Interactive elements only (buttons, inputs, links)
|
|
134
|
+
agent-browser snapshot -c # Compact (remove empty structural elements)
|
|
135
|
+
agent-browser snapshot -d 3 # Limit depth to 3 levels
|
|
136
|
+
agent-browser snapshot -s "#main" # Scope to CSS selector
|
|
137
|
+
agent-browser snapshot -i -c -d 5 # Combine options
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### Screenshots & PDF
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
agent-browser screenshot [path] # PNG to stdout (base64) or file
|
|
144
|
+
agent-browser screenshot --full # Full page screenshot
|
|
145
|
+
agent-browser screenshot -f page.png
|
|
146
|
+
agent-browser pdf <path> # Save as PDF (format: Letter, A4, etc)
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### Wait
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
agent-browser wait <selector> # Wait for element visible
|
|
153
|
+
agent-browser wait <ms> # Wait for time (numeric = milliseconds)
|
|
154
|
+
agent-browser wait --text "Welcome"
|
|
155
|
+
agent-browser wait --url "**/dashboard"
|
|
156
|
+
agent-browser wait --load networkidle # load | domcontentloaded | networkidle
|
|
157
|
+
agent-browser wait --fn "window.ready === true" # Wait for JS condition
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### Find (Semantic Locators)
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
agent-browser find role button click --name "Submit"
|
|
164
|
+
agent-browser find text "Sign In" click
|
|
165
|
+
agent-browser find label "Email" fill "test@test.com"
|
|
166
|
+
agent-browser find placeholder "Search" fill "query"
|
|
167
|
+
agent-browser find alt "Logo" click # By alt text
|
|
168
|
+
agent-browser find title "Close" click # By title attribute
|
|
169
|
+
agent-browser find testid "submit-btn" click
|
|
170
|
+
agent-browser find first ".item" click # First match
|
|
171
|
+
agent-browser find last ".item" click # Last match
|
|
172
|
+
agent-browser find nth 2 "a" text # Nth match (0-indexed)
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
Actions: `click`, `fill`, `check`, `hover`, `text`
|
|
176
|
+
|
|
177
|
+
### Sessions (Isolated Browser Instances)
|
|
178
|
+
|
|
179
|
+
```bash
|
|
180
|
+
agent-browser --session agent1 open site-a.com
|
|
181
|
+
agent-browser --session agent2 open site-b.com
|
|
182
|
+
AGENT_BROWSER_SESSION=agent1 agent-browser click @e2
|
|
183
|
+
|
|
184
|
+
agent-browser session list # List active sessions
|
|
185
|
+
agent-browser session # Show current session
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
Each session has: own browser, cookies/storage, navigation history, auth state.
|
|
189
|
+
|
|
190
|
+
### Storage & Cookies
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
agent-browser cookies # Get all cookies
|
|
194
|
+
agent-browser cookies set <name> <val>
|
|
195
|
+
agent-browser cookies clear
|
|
196
|
+
|
|
197
|
+
agent-browser storage local # Get all localStorage
|
|
198
|
+
agent-browser storage local <key> # Get specific key
|
|
199
|
+
agent-browser storage local set <k> <v>
|
|
200
|
+
agent-browser storage local clear
|
|
201
|
+
agent-browser storage session # Same for sessionStorage
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### Tabs & Windows
|
|
205
|
+
|
|
206
|
+
```bash
|
|
207
|
+
agent-browser tab # List tabs
|
|
208
|
+
agent-browser tab new [url] # New tab
|
|
209
|
+
agent-browser tab <n> # Switch to tab n
|
|
210
|
+
agent-browser tab close [n] # Close tab
|
|
211
|
+
agent-browser window new # New window (new context)
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
### Frames
|
|
215
|
+
|
|
216
|
+
```bash
|
|
217
|
+
agent-browser frame <sel> # Switch to iframe by selector
|
|
218
|
+
agent-browser frame main # Back to main frame
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
### Dialogs (alert/confirm/prompt)
|
|
222
|
+
|
|
223
|
+
```bash
|
|
224
|
+
agent-browser dialog accept [text] # Accept (with optional prompt text)
|
|
225
|
+
agent-browser dialog dismiss # Dismiss
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
### Network Interception
|
|
229
|
+
|
|
230
|
+
```bash
|
|
231
|
+
agent-browser network route <url> # Intercept requests
|
|
232
|
+
agent-browser network route <url> --abort # Block requests
|
|
233
|
+
agent-browser network route <url> --body '{"mock":true}' # Mock response
|
|
234
|
+
agent-browser network unroute [url] # Remove routes
|
|
235
|
+
agent-browser network requests # View tracked requests
|
|
236
|
+
agent-browser network requests --filter api # Filter by URL pattern
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
### Browser Settings
|
|
240
|
+
|
|
241
|
+
```bash
|
|
242
|
+
agent-browser set viewport <w> <h>
|
|
243
|
+
agent-browser set device "iPhone 14" # Emulate device
|
|
244
|
+
agent-browser set geo <lat> <lng> # Geolocation
|
|
245
|
+
agent-browser set offline [on|off] # Toggle offline mode
|
|
246
|
+
agent-browser set media dark|light # Color scheme
|
|
247
|
+
agent-browser set credentials <u> <p> # HTTP basic auth
|
|
248
|
+
agent-browser set headers '{"X-Custom":"value"}'
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
### Debug & Tracing
|
|
252
|
+
|
|
253
|
+
```bash
|
|
254
|
+
agent-browser --headed open <url> # Show browser window (not headless)
|
|
255
|
+
agent-browser console # View console messages
|
|
256
|
+
agent-browser console --clear # Clear console
|
|
257
|
+
agent-browser errors # View page errors
|
|
258
|
+
agent-browser errors --clear
|
|
259
|
+
agent-browser highlight <sel> # Highlight element visually
|
|
260
|
+
agent-browser eval <js> # Run JavaScript, returns result
|
|
261
|
+
agent-browser trace start [path] # Start recording trace
|
|
262
|
+
agent-browser trace stop [path] # Stop and save trace
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
### Auth State Persistence
|
|
266
|
+
|
|
267
|
+
```bash
|
|
268
|
+
agent-browser state save auth.json # Save cookies, localStorage, sessionStorage
|
|
269
|
+
agent-browser state load auth.json # Load at next launch (must be at browser start)
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
### Mouse Control
|
|
273
|
+
|
|
274
|
+
```bash
|
|
275
|
+
agent-browser mouse move <x> <y> # Move to coordinates
|
|
276
|
+
agent-browser mouse down [button] # left|right|middle
|
|
277
|
+
agent-browser mouse up [button]
|
|
278
|
+
agent-browser mouse wheel <dy> [dx] # Scroll wheel
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
## Options
|
|
282
|
+
|
|
283
|
+
| Option | Description |
|
|
284
|
+
| ------------------ | ------------------------------------------------- |
|
|
285
|
+
| `--session <name>` | Isolated session (or `AGENT_BROWSER_SESSION` env) |
|
|
286
|
+
| `--json` | JSON output (for parsing) |
|
|
287
|
+
| `--full, -f` | Full page screenshot |
|
|
288
|
+
| `--headed` | Show browser window |
|
|
289
|
+
| `--name, -n` | Locator name filter |
|
|
290
|
+
| `--exact` | Exact text match |
|
|
291
|
+
| `--debug` | Debug output |
|
|
292
|
+
|
|
293
|
+
## Selector Types
|
|
294
|
+
|
|
295
|
+
1. **Refs** (preferred): `@e1`, `@e2` from snapshot
|
|
296
|
+
2. **CSS**: `#id`, `.class`, `div > button`
|
|
297
|
+
3. **Text**: `text=Submit`
|
|
298
|
+
4. **XPath**: `xpath=//button`
|
|
299
|
+
|
|
300
|
+
## JSON Output Format
|
|
301
|
+
|
|
302
|
+
```bash
|
|
303
|
+
agent-browser snapshot --json
|
|
304
|
+
# {"success":true,"data":{"snapshot":"...","refs":{"e1":{"role":"heading","name":"Title"},...}}}
|
|
305
|
+
|
|
306
|
+
agent-browser get text @e1 --json
|
|
307
|
+
# {"success":true,"data":{"text":"Hello World"}}
|
|
308
|
+
|
|
309
|
+
agent-browser is visible @e2 --json
|
|
310
|
+
# {"success":true,"data":{"visible":true}}
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
## Patterns
|
|
314
|
+
|
|
315
|
+
### Login Flow
|
|
316
|
+
|
|
317
|
+
```bash
|
|
318
|
+
agent-browser open https://example.com/login
|
|
319
|
+
agent-browser snapshot -i
|
|
320
|
+
# Identify refs for username, password, submit
|
|
321
|
+
agent-browser fill @e2 "username"
|
|
322
|
+
agent-browser fill @e3 "password"
|
|
323
|
+
agent-browser click @e4
|
|
324
|
+
agent-browser wait --url "**/dashboard"
|
|
325
|
+
agent-browser state save auth.json # Persist auth for later
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
### Form Submission
|
|
329
|
+
|
|
330
|
+
```bash
|
|
331
|
+
agent-browser open https://example.com/form
|
|
332
|
+
agent-browser snapshot -i --json
|
|
333
|
+
# Parse refs from JSON response
|
|
334
|
+
agent-browser fill @e1 "John Doe"
|
|
335
|
+
agent-browser fill @e2 "john@example.com"
|
|
336
|
+
agent-browser select @e3 "option-value"
|
|
337
|
+
agent-browser check @e4
|
|
338
|
+
agent-browser click @e5
|
|
339
|
+
agent-browser wait --text "Success"
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
### Scraping Data
|
|
343
|
+
|
|
344
|
+
```bash
|
|
345
|
+
agent-browser open https://example.com/data
|
|
346
|
+
agent-browser snapshot
|
|
347
|
+
agent-browser get text @e1
|
|
348
|
+
agent-browser get attr @e2 "href"
|
|
349
|
+
agent-browser eval "document.querySelectorAll('.item').length"
|
|
350
|
+
agent-browser eval "JSON.stringify([...document.querySelectorAll('.price')].map(e => e.textContent))"
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
### Multi-page Navigation
|
|
354
|
+
|
|
355
|
+
```bash
|
|
356
|
+
agent-browser open https://example.com
|
|
357
|
+
agent-browser snapshot -i
|
|
358
|
+
agent-browser click @e3 # Navigate to new page
|
|
359
|
+
agent-browser wait --load networkidle
|
|
360
|
+
agent-browser snapshot -i # Fresh snapshot for new page
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
### Parallel Browser Sessions
|
|
364
|
+
|
|
365
|
+
```bash
|
|
366
|
+
# Terminal 1
|
|
367
|
+
agent-browser --session scraper1 open https://site-a.com
|
|
368
|
+
agent-browser --session scraper1 snapshot -i
|
|
369
|
+
|
|
370
|
+
# Terminal 2
|
|
371
|
+
agent-browser --session scraper2 open https://site-b.com
|
|
372
|
+
agent-browser --session scraper2 snapshot -i
|
|
373
|
+
```
|
|
374
|
+
|
|
375
|
+
### Mock API Response
|
|
376
|
+
|
|
377
|
+
```bash
|
|
378
|
+
agent-browser network route "**/api/users" --body '[{"id":1,"name":"Mock User"}]'
|
|
379
|
+
agent-browser open https://example.com # App sees mocked data
|
|
380
|
+
agent-browser network unroute "**/api/users"
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
### Handle File Downloads
|
|
384
|
+
|
|
385
|
+
```bash
|
|
386
|
+
agent-browser open https://example.com/downloads
|
|
387
|
+
agent-browser snapshot -i
|
|
388
|
+
agent-browser click @e2 # Download button
|
|
389
|
+
# Download handled automatically, saved to suggested filename
|
|
390
|
+
```
|
|
391
|
+
|
|
392
|
+
## Anti-Patterns
|
|
393
|
+
|
|
394
|
+
- **Don't use CSS selectors when refs available** - refs from snapshot are deterministic
|
|
395
|
+
- **Don't skip snapshot after page changes** - refs become stale after navigation
|
|
396
|
+
- **Don't use `type` when `fill` works** - `fill` atomically clears + sets, `type` appends
|
|
397
|
+
- **Don't hardcode wait times** - use semantic waits (`--text`, `--url`, `--load`, `--fn`)
|
|
398
|
+
- **Don't use `--headed` in automation** - only for debugging
|
|
399
|
+
- **Don't call `state load` after browser started** - must be at launch time
|
|
400
|
+
|
|
401
|
+
## Timeouts
|
|
402
|
+
|
|
403
|
+
Default timeout: 10 seconds (Playwright default is 30s). Commands will fail after timeout if element not found or condition not met.
|
|
404
|
+
|
|
405
|
+
## Browser Support
|
|
406
|
+
|
|
407
|
+
| Platform | Binary | Fallback |
|
|
408
|
+
| ----------- | ----------- | -------- |
|
|
409
|
+
| macOS ARM64 | Native Rust | Node.js |
|
|
410
|
+
| macOS x64 | Native Rust | Node.js |
|
|
411
|
+
| Linux ARM64 | Native Rust | Node.js |
|
|
412
|
+
| Linux x64 | Native Rust | Node.js |
|
|
413
|
+
| Windows | - | Node.js |
|