@cregis-dev/cckit 0.3.0 → 0.4.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/LICENSE +21 -21
- package/README.md +89 -85
- package/bin/cckit.js +3 -3
- package/package.json +7 -5
- package/registry.json +43 -9
- package/src/adapters/trae-adapter.js +90 -90
- package/src/cli.js +2 -2
- package/src/commands/init.js +337 -333
- package/src/commands/status.js +62 -62
- package/src/commands/sync.js +325 -325
- package/src/commands/update.js +430 -425
- package/src/core/config.js +82 -82
- package/src/core/differ.js +57 -57
- package/src/core/installer.js +97 -97
- package/src/core/plugin-installer.js +278 -232
- package/src/core/registry.js +75 -75
- package/src/core/templatize.js +42 -42
- package/src/core/upstream.js +357 -357
- package/src/utils/fs.js +55 -50
- package/src/utils/logger.js +16 -16
- package/templates/bmad/_config/agent-manifest.csv +12 -12
- package/templates/bmad/_config/agents/bmm-analyst.customize.yaml +41 -41
- package/templates/bmad/_config/agents/bmm-architect.customize.yaml +41 -41
- package/templates/bmad/_config/agents/bmm-dev.customize.yaml +41 -41
- package/templates/bmad/_config/agents/bmm-pm.customize.yaml +41 -41
- package/templates/bmad/_config/agents/bmm-qa.customize.yaml +41 -41
- package/templates/bmad/_config/agents/bmm-quick-flow-solo-dev.customize.yaml +41 -41
- package/templates/bmad/_config/agents/bmm-sm.customize.yaml +41 -41
- package/templates/bmad/_config/agents/bmm-tech-writer.customize.yaml +41 -41
- package/templates/bmad/_config/agents/bmm-ux-designer.customize.yaml +41 -41
- package/templates/bmad/_config/agents/core-bmad-master.customize.yaml +41 -41
- package/templates/bmad/_config/agents/tea-tea.customize.yaml +41 -41
- package/templates/bmad/_config/bmad-help.csv +48 -47
- package/templates/bmad/_config/files-manifest.csv +118 -112
- package/templates/bmad/_config/ides/claude-code.yaml +2 -2
- package/templates/bmad/_config/ides/opencode.yaml +5 -5
- package/templates/bmad/_config/ides/trae.yaml +2 -2
- package/templates/bmad/_config/task-manifest.csv +8 -7
- package/templates/bmad/_config/tool-manifest.csv +1 -1
- package/templates/bmad/_config/workflow-manifest.csv +35 -35
- package/templates/bmad/bmm/agents/analyst.md +78 -78
- package/templates/bmad/bmm/agents/architect.md +58 -58
- package/templates/bmad/bmm/agents/dev.md +69 -69
- package/templates/bmad/bmm/agents/pm.md +72 -72
- package/templates/bmad/bmm/agents/qa.md +92 -92
- package/templates/bmad/bmm/agents/quick-flow-solo-dev.md +69 -69
- package/templates/bmad/bmm/agents/sm.md +70 -70
- package/templates/bmad/bmm/agents/tech-writer/tech-writer.md +70 -70
- package/templates/bmad/bmm/agents/ux-designer.md +57 -57
- package/templates/bmad/bmm/config.yaml +15 -15
- package/templates/bmad/bmm/data/project-context-template.md +26 -26
- package/templates/bmad/bmm/module-help.csv +31 -31
- package/templates/bmad/bmm/teams/default-party.csv +20 -20
- package/templates/bmad/bmm/teams/team-fullstack.yaml +12 -12
- package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/product-brief.template.md +10 -10
- package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +177 -177
- package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +161 -161
- package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +199 -199
- package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +202 -202
- package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +205 -205
- package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +219 -219
- package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +162 -162
- package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md +57 -57
- package/templates/bmad/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +137 -137
- package/templates/bmad/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +229 -229
- package/templates/bmad/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +238 -238
- package/templates/bmad/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +206 -206
- package/templates/bmad/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +234 -234
- package/templates/bmad/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +444 -444
- package/templates/bmad/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +182 -182
- package/templates/bmad/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +237 -237
- package/templates/bmad/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +249 -249
- package/templates/bmad/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +259 -259
- package/templates/bmad/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +177 -177
- package/templates/bmad/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +476 -476
- package/templates/bmad/bmm/workflows/1-analysis/research/research.template.md +29 -29
- package/templates/bmad/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +137 -137
- package/templates/bmad/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +239 -239
- package/templates/bmad/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +248 -248
- package/templates/bmad/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +202 -202
- package/templates/bmad/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +233 -233
- package/templates/bmad/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +487 -487
- package/templates/bmad/bmm/workflows/1-analysis/research/workflow-domain-research.md +54 -54
- package/templates/bmad/bmm/workflows/1-analysis/research/workflow-market-research.md +54 -54
- package/templates/bmad/bmm/workflows/1-analysis/research/workflow-technical-research.md +54 -54
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/data/domain-complexity.csv +14 -14
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/data/prd-purpose.md +197 -197
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/data/project-types.csv +10 -10
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01-init.md +191 -191
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01b-continue.md +152 -152
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02-discovery.md +224 -224
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02b-vision.md +154 -154
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02c-executive-summary.md +170 -170
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-03-success.md +226 -226
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-04-journeys.md +213 -213
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-05-domain.md +207 -207
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-06-innovation.md +226 -226
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-07-project-type.md +237 -237
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-08-scoping.md +228 -228
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-09-functional.md +231 -231
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-10-nonfunctional.md +242 -242
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-11-polish.md +217 -217
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-12-complete.md +124 -124
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01-discovery.md +247 -247
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01b-legacy-conversion.md +208 -208
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-02-review.md +249 -249
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-03-edit.md +253 -253
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-04-complete.md +168 -168
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-01-discovery.md +226 -226
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02-format-detection.md +191 -191
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02b-parity-check.md +209 -209
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-03-density-validation.md +174 -174
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-04-brief-coverage-validation.md +214 -214
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-05-measurability-validation.md +228 -228
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-06-traceability-validation.md +217 -217
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-07-implementation-leakage-validation.md +205 -205
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-08-domain-compliance-validation.md +243 -243
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-09-project-type-validation.md +263 -263
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-10-smart-validation.md +209 -209
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-11-holistic-quality-validation.md +264 -264
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-12-completeness-validation.md +242 -242
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-13-report-complete.md +231 -231
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/templates/prd-template.md +10 -10
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-create-prd.md +63 -63
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-edit-prd.md +65 -65
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md +63 -63
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +135 -135
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +127 -127
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +190 -190
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +216 -216
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +219 -219
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +234 -234
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +252 -252
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +254 -254
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +224 -224
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +224 -224
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +241 -241
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +248 -248
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +237 -237
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +264 -264
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +171 -171
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +13 -13
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +42 -42
- package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +184 -184
- package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +172 -172
- package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +173 -173
- package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +133 -133
- package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +245 -245
- package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +129 -129
- package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/templates/readiness-report-template.md +4 -4
- package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +54 -54
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md +12 -12
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/data/domain-complexity.csv +12 -12
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/data/project-types.csv +6 -6
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md +153 -153
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md +173 -173
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +224 -224
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +329 -329
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +318 -318
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +359 -359
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +379 -379
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +359 -359
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +76 -76
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md +49 -49
- package/templates/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +259 -259
- package/templates/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +233 -233
- package/templates/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +272 -272
- package/templates/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +149 -149
- package/templates/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +57 -57
- package/templates/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +58 -58
- package/templates/bmad/bmm/workflows/4-implementation/code-review/checklist.md +23 -23
- package/templates/bmad/bmm/workflows/4-implementation/code-review/instructions.xml +226 -226
- package/templates/bmad/bmm/workflows/4-implementation/code-review/workflow.yaml +43 -43
- package/templates/bmad/bmm/workflows/4-implementation/correct-course/checklist.md +288 -288
- package/templates/bmad/bmm/workflows/4-implementation/correct-course/instructions.md +207 -207
- package/templates/bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +53 -53
- package/templates/bmad/bmm/workflows/4-implementation/create-story/checklist.md +358 -358
- package/templates/bmad/bmm/workflows/4-implementation/create-story/instructions.xml +346 -346
- package/templates/bmad/bmm/workflows/4-implementation/create-story/template.md +49 -49
- package/templates/bmad/bmm/workflows/4-implementation/create-story/workflow.yaml +52 -52
- package/templates/bmad/bmm/workflows/4-implementation/dev-story/checklist.md +80 -80
- package/templates/bmad/bmm/workflows/4-implementation/dev-story/instructions.xml +410 -410
- package/templates/bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml +20 -20
- package/templates/bmad/bmm/workflows/4-implementation/retrospective/instructions.md +1444 -1444
- package/templates/bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml +52 -52
- package/templates/bmad/bmm/workflows/4-implementation/sprint-planning/checklist.md +33 -33
- package/templates/bmad/bmm/workflows/4-implementation/sprint-planning/instructions.md +226 -226
- package/templates/bmad/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +55 -55
- package/templates/bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +47 -47
- package/templates/bmad/bmm/workflows/4-implementation/sprint-status/instructions.md +230 -230
- package/templates/bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml +25 -25
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md +174 -174
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md +118 -118
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md +111 -111
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md +111 -111
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +104 -104
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md +146 -146
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +50 -50
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-01-understand.md +189 -189
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-02-investigate.md +143 -143
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-03-generate.md +126 -126
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md +200 -200
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-spec/tech-spec-template.md +74 -74
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md +79 -79
- package/templates/bmad/bmm/workflows/document-project/checklist.md +245 -245
- package/templates/bmad/bmm/workflows/document-project/documentation-requirements.csv +12 -12
- package/templates/bmad/bmm/workflows/document-project/instructions.md +130 -130
- package/templates/bmad/bmm/workflows/document-project/templates/deep-dive-template.md +345 -345
- package/templates/bmad/bmm/workflows/document-project/templates/index-template.md +169 -169
- package/templates/bmad/bmm/workflows/document-project/templates/project-overview-template.md +103 -103
- package/templates/bmad/bmm/workflows/document-project/templates/project-scan-report-schema.json +160 -160
- package/templates/bmad/bmm/workflows/document-project/templates/source-tree-template.md +135 -135
- package/templates/bmad/bmm/workflows/document-project/workflow.yaml +22 -22
- package/templates/bmad/bmm/workflows/document-project/workflows/deep-dive-instructions.md +298 -298
- package/templates/bmad/bmm/workflows/document-project/workflows/deep-dive.yaml +31 -31
- package/templates/bmad/bmm/workflows/document-project/workflows/full-scan-instructions.md +1106 -1106
- package/templates/bmad/bmm/workflows/document-project/workflows/full-scan.yaml +31 -31
- package/templates/bmad/bmm/workflows/generate-project-context/project-context-template.md +21 -21
- package/templates/bmad/bmm/workflows/generate-project-context/steps/step-01-discover.md +184 -184
- package/templates/bmad/bmm/workflows/generate-project-context/steps/step-02-generate.md +318 -318
- package/templates/bmad/bmm/workflows/generate-project-context/steps/step-03-complete.md +278 -278
- package/templates/bmad/bmm/workflows/generate-project-context/workflow.md +49 -49
- package/templates/bmad/bmm/workflows/qa/automate/checklist.md +33 -33
- package/templates/bmad/bmm/workflows/qa/automate/instructions.md +110 -110
- package/templates/bmad/bmm/workflows/qa/automate/workflow.yaml +44 -44
- package/templates/bmad/bmm/workflows/qa-generate-e2e-tests/checklist.md +33 -33
- package/templates/bmad/bmm/workflows/qa-generate-e2e-tests/instructions.md +110 -110
- package/templates/bmad/bmm/workflows/qa-generate-e2e-tests/workflow.yaml +42 -42
- package/templates/bmad/commands/bmad-agent-bmad-master.md +15 -15
- package/templates/bmad/commands/bmad-agent-bmm-analyst.md +15 -15
- package/templates/bmad/commands/bmad-agent-bmm-architect.md +15 -15
- package/templates/bmad/commands/bmad-agent-bmm-dev.md +15 -15
- package/templates/bmad/commands/bmad-agent-bmm-pm.md +15 -15
- package/templates/bmad/commands/bmad-agent-bmm-qa.md +15 -15
- package/templates/bmad/commands/bmad-agent-bmm-quick-flow-solo-dev.md +15 -15
- package/templates/bmad/commands/bmad-agent-bmm-sm.md +15 -15
- package/templates/bmad/commands/bmad-agent-bmm-tech-writer.md +15 -15
- package/templates/bmad/commands/bmad-agent-bmm-ux-designer.md +15 -15
- package/templates/bmad/commands/bmad-agent-tea-tea.md +15 -15
- package/templates/bmad/commands/bmad-bmm-check-implementation-readiness.md +6 -6
- package/templates/bmad/commands/bmad-bmm-code-review.md +14 -14
- package/templates/bmad/commands/bmad-bmm-correct-course.md +14 -14
- package/templates/bmad/commands/bmad-bmm-create-architecture.md +6 -6
- package/templates/bmad/commands/bmad-bmm-create-epics-and-stories.md +6 -6
- package/templates/bmad/commands/bmad-bmm-create-prd.md +6 -6
- package/templates/bmad/commands/bmad-bmm-create-product-brief.md +6 -6
- package/templates/bmad/commands/bmad-bmm-create-story.md +14 -14
- package/templates/bmad/commands/bmad-bmm-create-ux-design.md +6 -6
- package/templates/bmad/commands/bmad-bmm-dev-story.md +14 -14
- package/templates/bmad/commands/bmad-bmm-document-project.md +14 -14
- package/templates/bmad/commands/bmad-bmm-domain-research.md +6 -6
- package/templates/bmad/commands/bmad-bmm-edit-prd.md +6 -6
- package/templates/bmad/commands/bmad-bmm-generate-project-context.md +6 -6
- package/templates/bmad/commands/bmad-bmm-market-research.md +6 -6
- package/templates/bmad/commands/bmad-bmm-qa-automate.md +15 -15
- package/templates/bmad/commands/bmad-bmm-qa-generate-e2e-tests.md +14 -14
- package/templates/bmad/commands/bmad-bmm-quick-dev.md +6 -6
- package/templates/bmad/commands/bmad-bmm-quick-spec.md +6 -6
- package/templates/bmad/commands/bmad-bmm-retrospective.md +14 -14
- package/templates/bmad/commands/bmad-bmm-sprint-planning.md +14 -14
- package/templates/bmad/commands/bmad-bmm-sprint-status.md +14 -14
- package/templates/bmad/commands/bmad-bmm-technical-research.md +6 -6
- package/templates/bmad/commands/bmad-bmm-validate-prd.md +6 -6
- package/templates/bmad/commands/bmad-brainstorming.md +6 -6
- package/templates/bmad/commands/bmad-editorial-review-prose.md +10 -10
- package/templates/bmad/commands/bmad-editorial-review-structure.md +10 -10
- package/templates/bmad/commands/bmad-help.md +10 -10
- package/templates/bmad/commands/bmad-index-docs.md +10 -10
- package/templates/bmad/commands/bmad-party-mode.md +6 -6
- package/templates/bmad/commands/bmad-review-adversarial-general.md +10 -10
- package/templates/bmad/commands/bmad-review-edge-case-hunter.md +10 -0
- package/templates/bmad/commands/bmad-shard-doc.md +10 -10
- package/templates/bmad/commands/bmad-tea-teach-me-testing.md +6 -6
- package/templates/bmad/commands/bmad-tea-testarch-atdd.md +14 -14
- package/templates/bmad/commands/bmad-tea-testarch-automate.md +14 -14
- package/templates/bmad/commands/bmad-tea-testarch-ci.md +14 -14
- package/templates/bmad/commands/bmad-tea-testarch-framework.md +14 -14
- package/templates/bmad/commands/bmad-tea-testarch-nfr.md +14 -14
- package/templates/bmad/commands/bmad-tea-testarch-test-design.md +14 -14
- package/templates/bmad/commands/bmad-tea-testarch-test-review.md +14 -14
- package/templates/bmad/commands/bmad-tea-testarch-trace.md +14 -14
- package/templates/bmad/core/agents/bmad-master.md +56 -56
- package/templates/bmad/core/config.yaml +8 -8
- package/templates/bmad/core/module-help.csv +10 -9
- package/templates/bmad/core/tasks/editorial-review-prose.xml +101 -101
- package/templates/bmad/core/tasks/editorial-review-structure.xml +207 -207
- package/templates/bmad/core/tasks/help.md +86 -86
- package/templates/bmad/core/tasks/index-docs.xml +64 -64
- package/templates/bmad/core/tasks/review-adversarial-general.xml +48 -48
- package/templates/bmad/core/tasks/review-edge-case-hunter.xml +63 -0
- package/templates/bmad/core/tasks/shard-doc.xml +107 -107
- package/templates/bmad/core/tasks/workflow.xml +234 -234
- package/templates/bmad/core/workflows/advanced-elicitation/methods.csv +51 -51
- package/templates/bmad/core/workflows/advanced-elicitation/workflow.xml +117 -117
- package/templates/bmad/core/workflows/brainstorming/brain-methods.csv +61 -61
- package/templates/bmad/core/workflows/brainstorming/steps/step-01-session-setup.md +210 -197
- package/templates/bmad/core/workflows/brainstorming/steps/step-01b-continue.md +122 -122
- package/templates/bmad/core/workflows/brainstorming/steps/step-02a-user-selected.md +225 -225
- package/templates/bmad/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +237 -237
- package/templates/bmad/core/workflows/brainstorming/steps/step-02c-random-selection.md +209 -209
- package/templates/bmad/core/workflows/brainstorming/steps/step-02d-progressive-flow.md +264 -264
- package/templates/bmad/core/workflows/brainstorming/steps/step-03-technique-execution.md +399 -399
- package/templates/bmad/core/workflows/brainstorming/steps/step-04-idea-organization.md +303 -303
- package/templates/bmad/core/workflows/brainstorming/template.md +15 -15
- package/templates/bmad/core/workflows/brainstorming/workflow.md +60 -58
- package/templates/bmad/core/workflows/party-mode/steps/step-01-agent-loading.md +138 -138
- package/templates/bmad/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +187 -187
- package/templates/bmad/core/workflows/party-mode/steps/step-03-graceful-exit.md +168 -168
- package/templates/bmad/core/workflows/party-mode/workflow.md +194 -194
- package/templates/bmad/tea/agents/tea.md +71 -71
- package/templates/bmad/tea/config.yaml +24 -20
- package/templates/bmad/tea/testarch/knowledge/contract-testing.md +24 -2
- package/templates/bmad/tea/testarch/knowledge/pact-mcp.md +204 -0
- package/templates/bmad/tea/testarch/knowledge/pactjs-utils-consumer-helpers.md +211 -0
- package/templates/bmad/tea/testarch/knowledge/pactjs-utils-overview.md +210 -0
- package/templates/bmad/tea/testarch/knowledge/pactjs-utils-provider-verifier.md +315 -0
- package/templates/bmad/tea/testarch/knowledge/pactjs-utils-request-filter.md +224 -0
- package/templates/bmad/tea/testarch/tea-index.csv +5 -0
- package/templates/bmad/tea/workflows/testarch/README.md +1 -1
- package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-01-preflight-and-context.md +30 -0
- package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-04-generate-tests.md +159 -57
- package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-04a-subagent-api-failing.md +215 -0
- package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-04b-subagent-e2e-failing.md +244 -0
- package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-04c-aggregate.md +31 -15
- package/templates/bmad/tea/workflows/testarch/atdd/validation-report-20260127-095021.md +1 -1
- package/templates/bmad/tea/workflows/testarch/atdd/validation-report-20260127-102401.md +3 -3
- package/templates/bmad/tea/workflows/testarch/atdd/workflow.yaml +2 -2
- package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-01-preflight-and-context.md +32 -0
- package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-03-generate-tests.md +215 -101
- package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-03a-subagent-api.md +193 -0
- package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-03b-subagent-backend.md +246 -0
- package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-03b-subagent-e2e.md +213 -0
- package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-03c-aggregate.md +38 -22
- package/templates/bmad/tea/workflows/testarch/automate/validation-report-20260127-095021.md +1 -1
- package/templates/bmad/tea/workflows/testarch/automate/validation-report-20260127-102401.md +3 -3
- package/templates/bmad/tea/workflows/testarch/automate/workflow.yaml +2 -2
- package/templates/bmad/tea/workflows/testarch/ci/steps-c/step-02-generate-pipeline.md +124 -1
- package/templates/bmad/tea/workflows/testarch/ci/steps-c/step-03-configure-quality-gates.md +7 -0
- package/templates/bmad/tea/workflows/testarch/ci/validation-report-20260127-095021.md +1 -1
- package/templates/bmad/tea/workflows/testarch/ci/validation-report-20260127-102401.md +3 -3
- package/templates/bmad/tea/workflows/testarch/ci/workflow.yaml +2 -2
- package/templates/bmad/tea/workflows/testarch/framework/steps-c/step-03-scaffold-framework.md +126 -3
- package/templates/bmad/tea/workflows/testarch/framework/validation-report-20260127-095021.md +1 -1
- package/templates/bmad/tea/workflows/testarch/framework/validation-report-20260127-102401.md +3 -3
- package/templates/bmad/tea/workflows/testarch/framework/workflow.yaml +2 -2
- package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04-evaluate-and-score.md +150 -36
- package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04a-subagent-security.md +138 -0
- package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04b-subagent-performance.md +84 -0
- package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04c-subagent-reliability.md +85 -0
- package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04d-subagent-scalability.md +88 -0
- package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04e-aggregate-nfr.md +27 -10
- package/templates/bmad/tea/workflows/testarch/nfr-assess/validation-report-20260127-095021.md +1 -1
- package/templates/bmad/tea/workflows/testarch/nfr-assess/validation-report-20260127-102401.md +3 -3
- package/templates/bmad/tea/workflows/testarch/nfr-assess/workflow.yaml +2 -2
- package/templates/bmad/tea/workflows/testarch/teach-me-testing/data/tea-resources-index.yaml +3 -3
- package/templates/bmad/tea/workflows/testarch/teach-me-testing/workflow-plan-teach-me-testing.md +6 -6
- package/templates/bmad/tea/workflows/testarch/teach-me-testing/workflow.md +1 -1
- package/templates/bmad/tea/workflows/testarch/test-design/steps-c/step-02-load-context.md +30 -0
- package/templates/bmad/tea/workflows/testarch/test-design/steps-c/step-05-generate-output.md +72 -1
- package/templates/bmad/tea/workflows/testarch/test-design/validation-report-20260127-095021.md +1 -1
- package/templates/bmad/tea/workflows/testarch/test-design/validation-report-20260127-102401.md +3 -3
- package/templates/bmad/tea/workflows/testarch/test-design/workflow.yaml +2 -2
- package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-01-load-context.md +29 -1
- package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03-quality-evaluation.md +147 -46
- package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03a-subagent-determinism.md +214 -0
- package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03b-subagent-isolation.md +125 -0
- package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03c-subagent-maintainability.md +102 -0
- package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03e-subagent-performance.md +117 -0
- package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03f-aggregate-scores.md +10 -10
- package/templates/bmad/tea/workflows/testarch/test-review/validation-report-20260127-095021.md +1 -1
- package/templates/bmad/tea/workflows/testarch/test-review/validation-report-20260127-102401.md +3 -3
- package/templates/bmad/tea/workflows/testarch/test-review/workflow.yaml +2 -2
- package/templates/bmad/tea/workflows/testarch/trace/steps-c/step-04-analyze-gaps.md +92 -1
- package/templates/bmad/tea/workflows/testarch/trace/validation-report-20260127-095021.md +1 -1
- package/templates/bmad/tea/workflows/testarch/trace/validation-report-20260127-102401.md +3 -3
- package/templates/bmad/tea/workflows/testarch/trace/workflow.yaml +2 -2
- package/templates/ecc/agents/chief-of-staff.md +151 -0
- package/templates/ecc/commands/claw.md +79 -0
- package/templates/ecc/rules/README.md +23 -2
- package/templates/ecc/rules/common/development-workflow.md +37 -0
- package/templates/ecc/rules/common/git-workflow.md +2 -23
- package/templates/ecc/rules/swift/coding-style.md +47 -0
- package/templates/ecc/rules/swift/hooks.md +20 -0
- package/templates/ecc/rules/swift/patterns.md +66 -0
- package/templates/ecc/rules/swift/security.md +33 -0
- package/templates/ecc/rules/swift/testing.md +45 -0
- package/templates/ecc/skills/api-design/SKILL.md +1 -0
- package/templates/ecc/skills/article-writing/SKILL.md +85 -0
- package/templates/ecc/skills/backend-patterns/SKILL.md +1 -0
- package/templates/ecc/skills/clickhouse-io/SKILL.md +1 -0
- package/templates/ecc/skills/coding-standards/SKILL.md +1 -0
- package/templates/ecc/skills/configure-ecc/SKILL.md +32 -4
- package/templates/ecc/skills/content-engine/SKILL.md +88 -0
- package/templates/ecc/skills/content-hash-cache-pattern/SKILL.md +1 -0
- package/templates/ecc/skills/continuous-learning/SKILL.md +2 -1
- package/templates/ecc/skills/continuous-learning-v2/SKILL.md +4 -1
- package/templates/ecc/skills/continuous-learning-v2/hooks/observe.sh +14 -7
- package/templates/ecc/skills/cost-aware-llm-pipeline/SKILL.md +1 -0
- package/templates/ecc/skills/cpp-coding-standards/SKILL.md +1 -0
- package/templates/ecc/skills/cpp-testing/SKILL.md +1 -0
- package/templates/ecc/skills/database-migrations/SKILL.md +1 -0
- package/templates/ecc/skills/deployment-patterns/SKILL.md +1 -0
- package/templates/ecc/skills/django-patterns/SKILL.md +1 -0
- package/templates/ecc/skills/django-security/SKILL.md +1 -0
- package/templates/ecc/skills/django-tdd/SKILL.md +1 -0
- package/templates/ecc/skills/django-verification/SKILL.md +1 -0
- package/templates/ecc/skills/docker-patterns/SKILL.md +1 -0
- package/templates/ecc/skills/e2e-testing/SKILL.md +1 -0
- package/templates/ecc/skills/eval-harness/SKILL.md +1 -0
- package/templates/ecc/skills/foundation-models-on-device/SKILL.md +243 -0
- package/templates/ecc/skills/frontend-patterns/SKILL.md +1 -0
- package/templates/ecc/skills/frontend-slides/SKILL.md +184 -0
- package/templates/ecc/skills/frontend-slides/STYLE_PRESETS.md +330 -0
- package/templates/ecc/skills/golang-patterns/SKILL.md +1 -0
- package/templates/ecc/skills/golang-testing/SKILL.md +1 -0
- package/templates/ecc/skills/investor-materials/SKILL.md +96 -0
- package/templates/ecc/skills/investor-outreach/SKILL.md +76 -0
- package/templates/ecc/skills/iterative-retrieval/SKILL.md +1 -0
- package/templates/ecc/skills/java-coding-standards/SKILL.md +1 -0
- package/templates/ecc/skills/jpa-patterns/SKILL.md +1 -0
- package/templates/ecc/skills/liquid-glass-design/SKILL.md +279 -0
- package/templates/ecc/skills/market-research/SKILL.md +75 -0
- package/templates/ecc/skills/nutrient-document-processing/SKILL.md +1 -1
- package/templates/ecc/skills/postgres-patterns/SKILL.md +1 -0
- package/templates/ecc/skills/project-guidelines-example/SKILL.md +1 -0
- package/templates/ecc/skills/python-patterns/SKILL.md +1 -0
- package/templates/ecc/skills/python-testing/SKILL.md +1 -0
- package/templates/ecc/skills/regex-vs-llm-structured-text/SKILL.md +1 -0
- package/templates/ecc/skills/search-first/SKILL.md +3 -1
- package/templates/ecc/skills/security-review/SKILL.md +1 -0
- package/templates/ecc/skills/security-scan/SKILL.md +1 -0
- package/templates/ecc/skills/skill-stocktake/SKILL.md +176 -0
- package/templates/ecc/skills/skill-stocktake/scripts/quick-diff.sh +87 -0
- package/templates/ecc/skills/skill-stocktake/scripts/save-results.sh +56 -0
- package/templates/ecc/skills/skill-stocktake/scripts/scan.sh +170 -0
- package/templates/ecc/skills/springboot-patterns/SKILL.md +1 -0
- package/templates/ecc/skills/springboot-security/SKILL.md +1 -0
- package/templates/ecc/skills/springboot-tdd/SKILL.md +1 -0
- package/templates/ecc/skills/springboot-verification/SKILL.md +1 -0
- package/templates/ecc/skills/strategic-compact/SKILL.md +1 -0
- package/templates/ecc/skills/swift-actor-persistence/SKILL.md +1 -0
- package/templates/ecc/skills/swift-concurrency-6-2/SKILL.md +216 -0
- package/templates/ecc/skills/swift-protocol-di-testing/SKILL.md +1 -0
- package/templates/ecc/skills/swiftui-patterns/SKILL.md +259 -0
- package/templates/ecc/skills/tdd-workflow/SKILL.md +1 -0
- package/templates/ecc/skills/verification-loop/SKILL.md +1 -0
- package/templates/ecc/skills/visa-doc-translate/README.md +86 -0
- package/templates/ecc/skills/visa-doc-translate/SKILL.md +117 -0
- package/templates/ext-skills/pinchtab/SKILL.md +89 -486
- package/templates/ext-skills/pinchtab/TRUST.md +69 -0
- package/templates/ext-skills/pinchtab/references/api.md +297 -0
- package/templates/ext-skills/pinchtab/references/env.md +45 -0
- package/templates/ext-skills/pinchtab/references/profiles.md +107 -0
- package/templates/mcp/claude-code/.mcp.json +35 -35
- package/templates/mcp/trae/mcp.json +35 -35
- package/templates/plugins/claude-code-setup/.claude-plugin/plugin.json +9 -0
- package/templates/plugins/claude-code-setup/LICENSE +202 -0
- package/templates/plugins/claude-code-setup/README.md +29 -0
- package/templates/plugins/claude-code-setup/automation-recommender-example.png +0 -0
- package/templates/plugins/claude-code-setup/skills/claude-automation-recommender/SKILL.md +288 -0
- package/templates/plugins/claude-code-setup/skills/claude-automation-recommender/references/hooks-patterns.md +226 -0
- package/templates/plugins/claude-code-setup/skills/claude-automation-recommender/references/mcp-servers.md +263 -0
- package/templates/plugins/claude-code-setup/skills/claude-automation-recommender/references/plugins-reference.md +98 -0
- package/templates/plugins/claude-code-setup/skills/claude-automation-recommender/references/skills-reference.md +408 -0
- package/templates/plugins/claude-code-setup/skills/claude-automation-recommender/references/subagent-templates.md +181 -0
- package/templates/plugins/claude-md-management/.claude-plugin/plugin.json +9 -0
- package/templates/plugins/claude-md-management/LICENSE +202 -0
- package/templates/plugins/claude-md-management/README.md +40 -0
- package/templates/plugins/claude-md-management/claude-md-improver-example.png +0 -0
- package/templates/plugins/claude-md-management/commands/revise-claude-md.md +54 -0
- package/templates/plugins/claude-md-management/revise-claude-md-example.png +0 -0
- package/templates/plugins/claude-md-management/skills/claude-md-improver/SKILL.md +179 -0
- package/templates/plugins/claude-md-management/skills/claude-md-improver/references/quality-criteria.md +109 -0
- package/templates/plugins/claude-md-management/skills/claude-md-improver/references/templates.md +253 -0
- package/templates/plugins/claude-md-management/skills/claude-md-improver/references/update-guidelines.md +150 -0
- package/templates/plugins/code-simplifier/.claude-plugin/plugin.json +9 -0
- package/templates/plugins/code-simplifier/LICENSE +202 -0
- package/templates/plugins/code-simplifier/agents/code-simplifier.md +52 -0
- package/templates/plugins/commit-commands/.claude-plugin/plugin.json +9 -0
- package/templates/plugins/commit-commands/LICENSE +202 -0
- package/templates/plugins/commit-commands/README.md +225 -0
- package/templates/plugins/commit-commands/commands/clean_gone.md +53 -0
- package/templates/plugins/commit-commands/commands/commit-push-pr.md +20 -0
- package/templates/plugins/commit-commands/commands/commit.md +17 -0
- package/templates/trae-bmad/rules/bmad-agent-bmad-master.md +15 -15
- package/templates/trae-bmad/rules/bmad-agent-bmm-analyst.md +15 -15
- package/templates/trae-bmad/rules/bmad-agent-bmm-architect.md +15 -15
- package/templates/trae-bmad/rules/bmad-agent-bmm-dev.md +15 -15
- package/templates/trae-bmad/rules/bmad-agent-bmm-pm.md +15 -15
- package/templates/trae-bmad/rules/bmad-agent-bmm-qa.md +15 -15
- package/templates/trae-bmad/rules/bmad-agent-bmm-quick-flow-solo-dev.md +15 -15
- package/templates/trae-bmad/rules/bmad-agent-bmm-sm.md +15 -15
- package/templates/trae-bmad/rules/bmad-agent-bmm-tech-writer.md +15 -15
- package/templates/trae-bmad/rules/bmad-agent-bmm-ux-designer.md +15 -15
- package/templates/trae-bmad/rules/bmad-agent-tea-tea.md +15 -15
- package/templates/trae-bmad/rules/bmad-bmm-check-implementation-readiness.md +6 -6
- package/templates/trae-bmad/rules/bmad-bmm-code-review.md +14 -14
- package/templates/trae-bmad/rules/bmad-bmm-correct-course.md +14 -14
- package/templates/trae-bmad/rules/bmad-bmm-create-architecture.md +6 -6
- package/templates/trae-bmad/rules/bmad-bmm-create-epics-and-stories.md +6 -6
- package/templates/trae-bmad/rules/bmad-bmm-create-prd.md +6 -6
- package/templates/trae-bmad/rules/bmad-bmm-create-product-brief.md +6 -6
- package/templates/trae-bmad/rules/bmad-bmm-create-story.md +14 -14
- package/templates/trae-bmad/rules/bmad-bmm-create-ux-design.md +6 -6
- package/templates/trae-bmad/rules/bmad-bmm-dev-story.md +14 -14
- package/templates/trae-bmad/rules/bmad-bmm-document-project.md +14 -14
- package/templates/trae-bmad/rules/bmad-bmm-domain-research.md +6 -6
- package/templates/trae-bmad/rules/bmad-bmm-edit-prd.md +6 -6
- package/templates/trae-bmad/rules/bmad-bmm-generate-project-context.md +6 -6
- package/templates/trae-bmad/rules/bmad-bmm-market-research.md +6 -6
- package/templates/trae-bmad/rules/bmad-bmm-qa-automate.md +15 -15
- package/templates/trae-bmad/rules/bmad-bmm-qa-generate-e2e-tests.md +14 -14
- package/templates/trae-bmad/rules/bmad-bmm-quick-dev.md +6 -6
- package/templates/trae-bmad/rules/bmad-bmm-quick-spec.md +6 -6
- package/templates/trae-bmad/rules/bmad-bmm-retrospective.md +14 -14
- package/templates/trae-bmad/rules/bmad-bmm-sprint-planning.md +14 -14
- package/templates/trae-bmad/rules/bmad-bmm-sprint-status.md +14 -14
- package/templates/trae-bmad/rules/bmad-bmm-technical-research.md +6 -6
- package/templates/trae-bmad/rules/bmad-bmm-validate-prd.md +6 -6
- package/templates/trae-bmad/rules/bmad-brainstorming.md +6 -6
- package/templates/trae-bmad/rules/bmad-editorial-review-prose.md +10 -10
- package/templates/trae-bmad/rules/bmad-editorial-review-structure.md +10 -10
- package/templates/trae-bmad/rules/bmad-help.md +10 -10
- package/templates/trae-bmad/rules/bmad-index-docs.md +10 -10
- package/templates/trae-bmad/rules/bmad-party-mode.md +6 -6
- package/templates/trae-bmad/rules/bmad-review-adversarial-general.md +10 -10
- package/templates/trae-bmad/rules/bmad-review-edge-case-hunter.md +10 -0
- package/templates/trae-bmad/rules/bmad-shard-doc.md +10 -10
- package/templates/trae-bmad/rules/bmad-tea-teach-me-testing.md +6 -6
- package/templates/trae-bmad/rules/bmad-tea-testarch-atdd.md +14 -14
- package/templates/trae-bmad/rules/bmad-tea-testarch-automate.md +14 -14
- package/templates/trae-bmad/rules/bmad-tea-testarch-ci.md +14 -14
- package/templates/trae-bmad/rules/bmad-tea-testarch-framework.md +14 -14
- package/templates/trae-bmad/rules/bmad-tea-testarch-nfr.md +14 -14
- package/templates/trae-bmad/rules/bmad-tea-testarch-test-design.md +14 -14
- package/templates/trae-bmad/rules/bmad-tea-testarch-test-review.md +14 -14
- package/templates/trae-bmad/rules/bmad-tea-testarch-trace.md +14 -14
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Pinchtab Security & Trust
|
|
2
|
+
|
|
3
|
+
**TL;DR**: Pinchtab is a local, sandboxed browser control tool. It does not phone home, steal credentials, or exfiltrate data. Source code is public; binaries are signed and published via GitHub.
|
|
4
|
+
|
|
5
|
+
## What Pinchtab Does
|
|
6
|
+
|
|
7
|
+
- Launches a Chrome browser (local, under your control)
|
|
8
|
+
- Exposes navigation, clicking, typing, and page inspection via HTTP API
|
|
9
|
+
- Extracts the page's accessibility tree (for AI agents)
|
|
10
|
+
- Runs screenshots, PDFs, and JavaScript evaluation
|
|
11
|
+
|
|
12
|
+
**All of this stays local.** No telemetry. No external API calls (except to sites you navigate to).
|
|
13
|
+
|
|
14
|
+
## What Pinchtab Does NOT Do
|
|
15
|
+
|
|
16
|
+
- ❌ Doesn't access your saved passwords/credentials (Chrome sandboxing)
|
|
17
|
+
- ❌ Doesn't exfiltrate data to remote servers
|
|
18
|
+
- ❌ Doesn't inject ads, malware, or miners
|
|
19
|
+
- ❌ Doesn't track browsing or send analytics
|
|
20
|
+
- ❌ Doesn't modify system files outside its state directory (`~/.pinchtab`)
|
|
21
|
+
|
|
22
|
+
## Builds & Verification
|
|
23
|
+
|
|
24
|
+
Every release includes **checksums** alongside binaries:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
# After downloading, verify:
|
|
28
|
+
sha256sum -c checksums.txt
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Binaries are built automatically from tagged commits via GitHub Actions (publicly visible at https://github.com/pinchtab/pinchtab/actions).
|
|
32
|
+
|
|
33
|
+
## Open Source
|
|
34
|
+
|
|
35
|
+
- **Source**: https://github.com/pinchtab/pinchtab (Apache 2.0)
|
|
36
|
+
- **Releases**: https://github.com/pinchtab/pinchtab/releases
|
|
37
|
+
- **Latest**: v0.7.0 (Feb 2026)
|
|
38
|
+
|
|
39
|
+
If you're concerned, audit the source—it's 12MB, zero external dependencies, mostly Go stdlib.
|
|
40
|
+
|
|
41
|
+
## VirusTotal Flag
|
|
42
|
+
|
|
43
|
+
Pinchtab may trigger heuristic scanners on VirusTotal because:
|
|
44
|
+
|
|
45
|
+
- ✓ It launches Chrome (subprocess execution — flagged by AV heuristics)
|
|
46
|
+
- ✓ It runs JavaScript evaluation (eval-like operations)
|
|
47
|
+
- ✓ It makes HTTP requests (network activity)
|
|
48
|
+
|
|
49
|
+
These are **intentional design features**, not security flaws. Your browser does all three things by default.
|
|
50
|
+
|
|
51
|
+
**False positives are common for development tools.** The VT flag is a known false positive for chromedp-based tools (subprocess + HTTP server). Always verify SHA256 checksums from GitHub releases before running.
|
|
52
|
+
|
|
53
|
+
For maximum confidence, use the npm package (`npm install -g pinchtab`) or Docker image, which undergo additional validation.
|
|
54
|
+
|
|
55
|
+
## Sandboxing
|
|
56
|
+
|
|
57
|
+
Pinchtab runs a separate Chrome process with:
|
|
58
|
+
|
|
59
|
+
- Isolated profile directory (default: `~/.pinchtab`)
|
|
60
|
+
- No access to your user's home files (unless you explicitly navigate to `file://` URLs)
|
|
61
|
+
- Standard Chrome security model (site isolation, CSP, etc.)
|
|
62
|
+
|
|
63
|
+
Set `BRIDGE_PROFILE_DIR` to use a custom directory if needed.
|
|
64
|
+
|
|
65
|
+
## Questions?
|
|
66
|
+
|
|
67
|
+
- Source code: https://github.com/pinchtab/pinchtab
|
|
68
|
+
- Issues/security reports: https://github.com/pinchtab/pinchtab/issues
|
|
69
|
+
- Docs: https://pinchtab.com
|
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
# Pinchtab API Reference
|
|
2
|
+
|
|
3
|
+
Base URL for all examples: `http://localhost:9867`
|
|
4
|
+
|
|
5
|
+
> **CLI alternative:** All endpoints have CLI equivalents. Use `pinchtab help` for the full list. Examples are shown as `# CLI:` comments below.
|
|
6
|
+
|
|
7
|
+
## Navigate
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# CLI: pinchtab nav https://example.com [--new-tab] [--block-images]
|
|
11
|
+
curl -X POST /navigate \
|
|
12
|
+
-H 'Content-Type: application/json' \
|
|
13
|
+
-d '{"url": "https://example.com"}'
|
|
14
|
+
|
|
15
|
+
# With options: custom timeout, block images, open in new tab
|
|
16
|
+
curl -X POST /navigate \
|
|
17
|
+
-H 'Content-Type: application/json' \
|
|
18
|
+
-d '{"url": "https://example.com", "timeout": 60, "blockImages": true, "newTab": true}'
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Snapshot (accessibility tree)
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
# CLI: pinchtab snap [-i] [-c] [-d] [-s main] [--max-tokens 2000]
|
|
25
|
+
# Full tree
|
|
26
|
+
curl /snapshot
|
|
27
|
+
|
|
28
|
+
# Interactive elements only (buttons, links, inputs) — much smaller
|
|
29
|
+
curl "/snapshot?filter=interactive"
|
|
30
|
+
|
|
31
|
+
# Limit depth
|
|
32
|
+
curl "/snapshot?depth=5"
|
|
33
|
+
|
|
34
|
+
# Smart diff — only changes since last snapshot (massive token savings)
|
|
35
|
+
curl "/snapshot?diff=true"
|
|
36
|
+
|
|
37
|
+
# Text format — indented tree, ~40-60% fewer tokens than JSON
|
|
38
|
+
curl "/snapshot?format=text"
|
|
39
|
+
|
|
40
|
+
# Compact format — one-line-per-node, 56-64% fewer tokens than JSON (recommended)
|
|
41
|
+
curl "/snapshot?format=compact"
|
|
42
|
+
|
|
43
|
+
# YAML format
|
|
44
|
+
curl "/snapshot?format=yaml"
|
|
45
|
+
|
|
46
|
+
# Scope to CSS selector (e.g. main content only)
|
|
47
|
+
curl "/snapshot?selector=main"
|
|
48
|
+
|
|
49
|
+
# Truncate to ~N tokens
|
|
50
|
+
curl "/snapshot?maxTokens=2000"
|
|
51
|
+
|
|
52
|
+
# Combine for maximum efficiency
|
|
53
|
+
curl "/snapshot?format=compact&selector=main&maxTokens=2000&filter=interactive"
|
|
54
|
+
|
|
55
|
+
# Disable animations before capture
|
|
56
|
+
curl "/snapshot?noAnimations=true"
|
|
57
|
+
|
|
58
|
+
# Write to file
|
|
59
|
+
curl "/snapshot?output=file&path=/tmp/snapshot.json"
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Returns flat JSON array of nodes with `ref`, `role`, `name`, `depth`, `value`, `nodeId`.
|
|
63
|
+
|
|
64
|
+
**Token optimization**: Use `?format=compact` for best token efficiency. Add `?filter=interactive` for action-oriented tasks (~75% fewer nodes). Use `?selector=main` to scope to relevant content. Use `?maxTokens=2000` to cap output. Use `?diff=true` on multi-step workflows to see only changes. Combine all params freely.
|
|
65
|
+
|
|
66
|
+
## Act on elements
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
# CLI: pinchtab click e5 / pinchtab type e12 hello / pinchtab press Enter
|
|
70
|
+
# Click by ref
|
|
71
|
+
curl -X POST /action -H 'Content-Type: application/json' \
|
|
72
|
+
-d '{"kind": "click", "ref": "e5"}'
|
|
73
|
+
|
|
74
|
+
# Type into focused element (click first, then type)
|
|
75
|
+
curl -X POST /action -H 'Content-Type: application/json' \
|
|
76
|
+
-d '{"kind": "click", "ref": "e12"}'
|
|
77
|
+
curl -X POST /action -H 'Content-Type: application/json' \
|
|
78
|
+
-d '{"kind": "type", "ref": "e12", "text": "hello world"}'
|
|
79
|
+
|
|
80
|
+
# Press a key
|
|
81
|
+
curl -X POST /action -H 'Content-Type: application/json' \
|
|
82
|
+
-d '{"kind": "press", "key": "Enter"}'
|
|
83
|
+
|
|
84
|
+
# Focus an element
|
|
85
|
+
curl -X POST /action -H 'Content-Type: application/json' \
|
|
86
|
+
-d '{"kind": "focus", "ref": "e3"}'
|
|
87
|
+
|
|
88
|
+
# Fill (set value directly, no keystrokes)
|
|
89
|
+
curl -X POST /action -H 'Content-Type: application/json' \
|
|
90
|
+
-d '{"kind": "fill", "selector": "#email", "text": "user@example.com"}'
|
|
91
|
+
|
|
92
|
+
# Hover (trigger dropdowns/tooltips)
|
|
93
|
+
curl -X POST /action -H 'Content-Type: application/json' \
|
|
94
|
+
-d '{"kind": "hover", "ref": "e8"}'
|
|
95
|
+
|
|
96
|
+
# Select dropdown option (by value or visible text)
|
|
97
|
+
curl -X POST /action -H 'Content-Type: application/json' \
|
|
98
|
+
-d '{"kind": "select", "ref": "e10", "value": "option2"}'
|
|
99
|
+
|
|
100
|
+
# Scroll to element
|
|
101
|
+
curl -X POST /action -H 'Content-Type: application/json' \
|
|
102
|
+
-d '{"kind": "scroll", "ref": "e20"}'
|
|
103
|
+
|
|
104
|
+
# Scroll by pixels (infinite scroll pages)
|
|
105
|
+
curl -X POST /action -H 'Content-Type: application/json' \
|
|
106
|
+
-d '{"kind": "scroll", "scrollY": 800}'
|
|
107
|
+
|
|
108
|
+
# Click and wait for navigation (link clicks)
|
|
109
|
+
curl -X POST /action -H 'Content-Type: application/json' \
|
|
110
|
+
-d '{"kind": "click", "ref": "e5", "waitNav": true}'
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Batch actions
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
# Execute multiple actions in sequence
|
|
117
|
+
curl -X POST /actions -H 'Content-Type: application/json' \
|
|
118
|
+
-d '{"actions":[{"kind":"click","ref":"e3"},{"kind":"type","ref":"e3","text":"hello"},{"kind":"press","key":"Enter"}]}'
|
|
119
|
+
|
|
120
|
+
# Stop on first error (default: false)
|
|
121
|
+
curl -X POST /actions -H 'Content-Type: application/json' \
|
|
122
|
+
-d '{"tabId":"TARGET_ID","actions":[...],"stopOnError":true}'
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## Extract text
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
# CLI: pinchtab text [--raw]
|
|
129
|
+
# Readability mode (default) — strips nav/footer/ads
|
|
130
|
+
curl /text
|
|
131
|
+
|
|
132
|
+
# Raw innerText
|
|
133
|
+
curl "/text?mode=raw"
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
Returns `{url, title, text}`. Cheapest option (~1K tokens for most pages).
|
|
137
|
+
|
|
138
|
+
## PDF export
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
# CLI: pinchtab pdf [-o file.pdf] [--landscape] [--scale 0.8]
|
|
142
|
+
# Returns base64 JSON
|
|
143
|
+
curl /pdf
|
|
144
|
+
|
|
145
|
+
# Raw PDF bytes
|
|
146
|
+
curl "/pdf?raw=true" -o page.pdf
|
|
147
|
+
|
|
148
|
+
# Save to disk
|
|
149
|
+
curl "/pdf?output=file&path=/tmp/page.pdf"
|
|
150
|
+
|
|
151
|
+
# Landscape with custom scale
|
|
152
|
+
curl "/pdf?landscape=true&scale=0.8&raw=true" -o page.pdf
|
|
153
|
+
|
|
154
|
+
# Custom paper size (Letter: 8.5x11, A4: 8.27x11.69)
|
|
155
|
+
curl "/pdf?paperWidth=8.5&paperHeight=11&marginTop=0.5&marginLeft=0.5&raw=true" -o custom.pdf
|
|
156
|
+
|
|
157
|
+
# Export specific pages
|
|
158
|
+
curl "/pdf?pageRanges=1-5&raw=true" -o pages.pdf
|
|
159
|
+
|
|
160
|
+
# With header/footer
|
|
161
|
+
curl "/pdf?displayHeaderFooter=true&headerTemplate=%3Cspan%20class=title%3E%3C/span%3E&raw=true" -o header.pdf
|
|
162
|
+
|
|
163
|
+
# Accessible PDF with document outline
|
|
164
|
+
curl "/pdf?generateTaggedPDF=true&generateDocumentOutline=true&raw=true" -o accessible.pdf
|
|
165
|
+
|
|
166
|
+
# Honor CSS page size
|
|
167
|
+
curl "/pdf?preferCSSPageSize=true&raw=true" -o css-sized.pdf
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
**Query Parameters:**
|
|
171
|
+
|
|
172
|
+
| Param | Type | Default | Description |
|
|
173
|
+
|-------|------|---------|-------------|
|
|
174
|
+
| `paperWidth` | float | 8.5 | Paper width in inches |
|
|
175
|
+
| `paperHeight` | float | 11.0 | Paper height in inches |
|
|
176
|
+
| `landscape` | bool | false | Landscape orientation |
|
|
177
|
+
| `marginTop` | float | 0.4 | Top margin in inches |
|
|
178
|
+
| `marginBottom` | float | 0.4 | Bottom margin in inches |
|
|
179
|
+
| `marginLeft` | float | 0.4 | Left margin in inches |
|
|
180
|
+
| `marginRight` | float | 0.4 | Right margin in inches |
|
|
181
|
+
| `scale` | float | 1.0 | Print scale (0.1–2.0) |
|
|
182
|
+
| `pageRanges` | string | all | Pages to export (e.g., `1-3,5`) |
|
|
183
|
+
| `displayHeaderFooter` | bool | false | Show header and footer |
|
|
184
|
+
| `headerTemplate` | string | — | HTML template for header |
|
|
185
|
+
| `footerTemplate` | string | — | HTML template for footer |
|
|
186
|
+
| `preferCSSPageSize` | bool | false | Honor CSS `@page` size |
|
|
187
|
+
| `generateTaggedPDF` | bool | false | Generate accessible/tagged PDF |
|
|
188
|
+
| `generateDocumentOutline` | bool | false | Embed document outline |
|
|
189
|
+
| `output` | string | JSON | `file` to save to disk, default returns base64 |
|
|
190
|
+
| `path` | string | auto | Custom file path (with `output=file`) |
|
|
191
|
+
| `raw` | bool | false | Return raw PDF bytes instead of JSON |
|
|
192
|
+
|
|
193
|
+
Wraps `Page.printToPDF`. Prints background graphics by default.
|
|
194
|
+
|
|
195
|
+
## Download files
|
|
196
|
+
|
|
197
|
+
```bash
|
|
198
|
+
# Returns base64 JSON by default (uses browser session/cookies/stealth)
|
|
199
|
+
curl "/download?url=https://site.com/report.pdf"
|
|
200
|
+
|
|
201
|
+
# Raw bytes (pipe to file)
|
|
202
|
+
curl "/download?url=https://site.com/image.jpg&raw=true" -o image.jpg
|
|
203
|
+
|
|
204
|
+
# Save directly to disk
|
|
205
|
+
curl "/download?url=https://site.com/export.csv&output=file&path=/tmp/export.csv"
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
## Upload files
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
# Upload a local file to a file input
|
|
212
|
+
curl -X POST "/upload?tabId=TAB_ID" -H "Content-Type: application/json" \
|
|
213
|
+
-d '{"selector": "input[type=file]", "paths": ["/tmp/photo.jpg"]}'
|
|
214
|
+
|
|
215
|
+
# Upload base64-encoded data
|
|
216
|
+
curl -X POST /upload -H "Content-Type: application/json" \
|
|
217
|
+
-d '{"selector": "#avatar-input", "files": ["data:image/png;base64,iVBOR..."]}'
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
Sets files on `<input type=file>` elements via CDP. Fires `change` events. Selector defaults to `input[type=file]` if omitted.
|
|
221
|
+
|
|
222
|
+
## Screenshot
|
|
223
|
+
|
|
224
|
+
```bash
|
|
225
|
+
# CLI: pinchtab ss [-o file.jpg] [-q 80]
|
|
226
|
+
curl "/screenshot?raw=true" -o screenshot.jpg
|
|
227
|
+
curl "/screenshot?raw=true&quality=50" -o screenshot.jpg
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
## Evaluate JavaScript
|
|
231
|
+
|
|
232
|
+
```bash
|
|
233
|
+
# CLI: pinchtab eval "document.title"
|
|
234
|
+
curl -X POST /evaluate -H 'Content-Type: application/json' \
|
|
235
|
+
-d '{"expression": "document.title"}'
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
## Tab management
|
|
239
|
+
|
|
240
|
+
```bash
|
|
241
|
+
# CLI: pinchtab tabs / pinchtab tabs new <url> / pinchtab tabs close <id>
|
|
242
|
+
# List tabs
|
|
243
|
+
curl /tabs
|
|
244
|
+
|
|
245
|
+
# Open new tab
|
|
246
|
+
curl -X POST /tab -H 'Content-Type: application/json' \
|
|
247
|
+
-d '{"action": "new", "url": "https://example.com"}'
|
|
248
|
+
|
|
249
|
+
# Close tab
|
|
250
|
+
curl -X POST /tab -H 'Content-Type: application/json' \
|
|
251
|
+
-d '{"action": "close", "tabId": "TARGET_ID"}'
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
Multi-tab: pass `?tabId=TARGET_ID` to snapshot/screenshot/text, or `"tabId"` in POST body.
|
|
255
|
+
|
|
256
|
+
## Tab locking (multi-agent)
|
|
257
|
+
|
|
258
|
+
```bash
|
|
259
|
+
# Lock a tab (default 30s timeout, max 5min)
|
|
260
|
+
curl -X POST /tab/lock -H 'Content-Type: application/json' \
|
|
261
|
+
-d '{"tabId": "TARGET_ID", "owner": "agent-1", "timeoutSec": 60}'
|
|
262
|
+
|
|
263
|
+
# Unlock
|
|
264
|
+
curl -X POST /tab/unlock -H 'Content-Type: application/json' \
|
|
265
|
+
-d '{"tabId": "TARGET_ID", "owner": "agent-1"}'
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
Locked tabs show `owner` and `lockedUntil` in `/tabs`. Returns 409 on conflict.
|
|
269
|
+
|
|
270
|
+
## Cookies
|
|
271
|
+
|
|
272
|
+
```bash
|
|
273
|
+
# Get cookies for current page
|
|
274
|
+
curl /cookies
|
|
275
|
+
|
|
276
|
+
# Set cookies
|
|
277
|
+
curl -X POST /cookies -H 'Content-Type: application/json' \
|
|
278
|
+
-d '{"url":"https://example.com","cookies":[{"name":"session","value":"abc123"}]}'
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
## Stealth
|
|
282
|
+
|
|
283
|
+
```bash
|
|
284
|
+
# Check stealth status and score
|
|
285
|
+
curl /stealth/status
|
|
286
|
+
|
|
287
|
+
# Rotate browser fingerprint
|
|
288
|
+
curl -X POST /fingerprint/rotate -H 'Content-Type: application/json' \
|
|
289
|
+
-d '{"os":"windows"}'
|
|
290
|
+
# os: "windows", "mac", or omit for random
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
## Health check
|
|
294
|
+
|
|
295
|
+
```bash
|
|
296
|
+
curl /health
|
|
297
|
+
```
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Pinchtab Environment Variables
|
|
2
|
+
|
|
3
|
+
## Core runtime
|
|
4
|
+
|
|
5
|
+
| Var | Default | Description |
|
|
6
|
+
|---|---|---|
|
|
7
|
+
| `BRIDGE_BIND` | `127.0.0.1` | Bind address. Set `0.0.0.0` for network access |
|
|
8
|
+
| `BRIDGE_PORT` | `9867` | HTTP port |
|
|
9
|
+
| `BRIDGE_HEADLESS` | `true` | Run Chrome headless |
|
|
10
|
+
| `BRIDGE_TOKEN` | (none) | Bearer auth token (recommended with `0.0.0.0`) |
|
|
11
|
+
| `BRIDGE_PROFILE` | `~/.pinchtab/chrome-profile` | Chrome profile dir |
|
|
12
|
+
| `BRIDGE_STATE_DIR` | `~/.pinchtab` | State/session storage |
|
|
13
|
+
| `BRIDGE_NO_RESTORE` | `false` | Skip tab restore on startup |
|
|
14
|
+
| `BRIDGE_STEALTH` | `light` | Stealth level: `light` or `full` |
|
|
15
|
+
| `BRIDGE_MAX_TABS` | `20` | Max open tabs (0 = unlimited) |
|
|
16
|
+
| `BRIDGE_BLOCK_IMAGES` | `false` | Block image loading |
|
|
17
|
+
| `BRIDGE_BLOCK_MEDIA` | `false` | Block all media (images + fonts + CSS + video) |
|
|
18
|
+
| `BRIDGE_NO_ANIMATIONS` | `false` | Disable CSS animations/transitions |
|
|
19
|
+
| `BRIDGE_TIMEZONE` | (none) | Force browser timezone (IANA tz) |
|
|
20
|
+
| `BRIDGE_CHROME_VERSION` | `144.0.7559.133` | Chrome version for fingerprint rotation |
|
|
21
|
+
| `BRIDGE_USER_AGENT` | (none) | Custom User-Agent string; also overrides Sec-Ch-Ua client hints via CDP |
|
|
22
|
+
| `CHROME_BINARY` | (auto) | Path to Chrome/Chromium binary |
|
|
23
|
+
| `CHROME_FLAGS` | (none) | Extra Chrome flags (space-separated) |
|
|
24
|
+
| `BRIDGE_CONFIG` | `~/.pinchtab/config.json` | Path to config JSON file |
|
|
25
|
+
| `BRIDGE_TIMEOUT` | `15` | Action timeout (seconds) |
|
|
26
|
+
| `BRIDGE_NAV_TIMEOUT` | `30` | Navigation timeout (seconds) |
|
|
27
|
+
| `CDP_URL` | (none) | Connect to existing Chrome DevTools |
|
|
28
|
+
| `BRIDGE_NO_DASHBOARD` | `false` | Disable dashboard endpoints on instance processes |
|
|
29
|
+
|
|
30
|
+
## CLI client
|
|
31
|
+
|
|
32
|
+
| Var | Default | Description |
|
|
33
|
+
|---|---|---|
|
|
34
|
+
| `PINCHTAB_URL` | `http://localhost:9867` | Pinchtab server URL for CLI commands |
|
|
35
|
+
| `PINCHTAB_TOKEN` | (none) | Auth token for CLI (sent as `Authorization: Bearer`) |
|
|
36
|
+
|
|
37
|
+
## Dashboard mode (`pinchtab dashboard`)
|
|
38
|
+
|
|
39
|
+
| Var | Default | Description |
|
|
40
|
+
|---|---|---|
|
|
41
|
+
| `PINCHTAB_AUTO_LAUNCH` | `false` | Auto-launch default profile at startup |
|
|
42
|
+
| `PINCHTAB_DEFAULT_PROFILE` | `default` | Profile name for auto-launch |
|
|
43
|
+
| `PINCHTAB_DEFAULT_PORT` | `9867` | Port for auto-launched profile |
|
|
44
|
+
| `PINCHTAB_HEADED` | (unset) | If set, auto-launched profile is headed |
|
|
45
|
+
| `PINCHTAB_DASHBOARD_URL` | `http://localhost:$BRIDGE_PORT` | Base URL for `pinchtab connect` |
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# Profile Management (Dashboard Mode)
|
|
2
|
+
|
|
3
|
+
When running `pinchtab dashboard`, profiles are managed via the dashboard API on port 9867.
|
|
4
|
+
|
|
5
|
+
## List profiles
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
curl http://localhost:9867/profiles
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Returns array of profiles with `id`, `name`, `accountEmail`, `useWhen`, etc.
|
|
12
|
+
|
|
13
|
+
## Start a profile
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
# Auto-allocate port (recommended)
|
|
17
|
+
curl -X POST http://localhost:9867/profiles/<ID>/start
|
|
18
|
+
|
|
19
|
+
# With specific port and headless mode
|
|
20
|
+
curl -X POST http://localhost:9867/profiles/<ID>/start \
|
|
21
|
+
-H 'Content-Type: application/json' \
|
|
22
|
+
-d '{"port": "9868", "headless": true}'
|
|
23
|
+
|
|
24
|
+
# Short alias
|
|
25
|
+
curl -X POST http://localhost:9867/start/<ID>
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Returns instance info including allocated `port`. Use that port for all subsequent API calls.
|
|
29
|
+
|
|
30
|
+
## Stop a profile
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
curl -X POST http://localhost:9867/profiles/<ID>/stop
|
|
34
|
+
|
|
35
|
+
# Short alias
|
|
36
|
+
curl -X POST http://localhost:9867/stop/<ID>
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Check instance status
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
# By profile ID (recommended)
|
|
43
|
+
curl http://localhost:9867/profiles/<ID>/instance
|
|
44
|
+
|
|
45
|
+
# By profile name
|
|
46
|
+
curl http://localhost:9867/profiles/My%20Profile/instance
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Launch by name
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
curl -X POST http://localhost:9867/instances/launch \
|
|
53
|
+
-H 'Content-Type: application/json' \
|
|
54
|
+
-d '{"name": "work", "port": "9868"}'
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## CLI usage with profiles
|
|
58
|
+
|
|
59
|
+
The CLI doesn't have profile subcommands yet — use `curl` for profile management.
|
|
60
|
+
Once a profile instance is running, point the CLI at it:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
# Get the instance port, then use CLI
|
|
64
|
+
PINCHTAB_URL=http://localhost:9868 pinchtab snap -i
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Typical agent flow
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
# 1. List profiles
|
|
71
|
+
PROFILES=$(curl -s http://localhost:9867/profiles)
|
|
72
|
+
|
|
73
|
+
# 2. Start profile (auto-allocates port)
|
|
74
|
+
INSTANCE=$(curl -s -X POST http://localhost:9867/profiles/$PROFILE_ID/start)
|
|
75
|
+
PORT=$(echo $INSTANCE | jq -r .port)
|
|
76
|
+
|
|
77
|
+
# 3. Use the instance
|
|
78
|
+
curl -X POST http://localhost:$PORT/navigate -H 'Content-Type: application/json' \
|
|
79
|
+
-d '{"url": "https://mail.google.com"}'
|
|
80
|
+
curl http://localhost:$PORT/snapshot?maxTokens=4000
|
|
81
|
+
|
|
82
|
+
# 4. Stop when done
|
|
83
|
+
curl -s -X POST http://localhost:9867/profiles/$PROFILE_ID/stop
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Profile IDs
|
|
87
|
+
|
|
88
|
+
Each profile gets a stable 12-char hex ID (SHA-256 of name, truncated) stored in `profile.json`. IDs are URL-safe and never change — use them instead of names in automation.
|
|
89
|
+
|
|
90
|
+
## Headed mode
|
|
91
|
+
|
|
92
|
+
Headed mode = real visible Chrome window managed by Pinchtab.
|
|
93
|
+
|
|
94
|
+
- Human can log in, pass 2FA/captcha, validate state
|
|
95
|
+
- Agent calls HTTP APIs against the same running instance
|
|
96
|
+
- Session state persists in profile directory (cookies/storage carry over)
|
|
97
|
+
|
|
98
|
+
Recommended human + agent flow:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
# Human starts dashboard and sets up profile
|
|
102
|
+
pinchtab dashboard
|
|
103
|
+
|
|
104
|
+
# Agent resolves the profile endpoint
|
|
105
|
+
PINCHTAB_BASE_URL="$(pinchtab connect <profile-name>)"
|
|
106
|
+
curl "$PINCHTAB_BASE_URL/health"
|
|
107
|
+
```
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://raw.githubusercontent.com/anthropics/claude-code/main/.mcp.schema.json",
|
|
3
|
-
"mcpServers": {
|
|
4
|
-
"cf-bindings": {
|
|
5
|
-
"command": "npx",
|
|
6
|
-
"args": ["-y", "mcp-remote", "https://bindings.mcp.cloudflare.com/mcp"],
|
|
7
|
-
"description": "Workers Bindings: D1, R2, KV, Queues 资源管理"
|
|
8
|
-
},
|
|
9
|
-
"cf-observability": {
|
|
10
|
-
"command": "npx",
|
|
11
|
-
"args": ["-y", "mcp-remote", "https://observability.mcp.cloudflare.com/mcp"],
|
|
12
|
-
"description": "Workers 日志分析与调试"
|
|
13
|
-
},
|
|
14
|
-
"cf-builds": {
|
|
15
|
-
"command": "npx",
|
|
16
|
-
"args": ["-y", "mcp-remote", "https://builds.mcp.cloudflare.com/mcp"],
|
|
17
|
-
"description": "Workers 构建状态监控"
|
|
18
|
-
},
|
|
19
|
-
"cf-docs": {
|
|
20
|
-
"command": "npx",
|
|
21
|
-
"args": ["-y", "mcp-remote", "https://docs.mcp.cloudflare.com/sse"],
|
|
22
|
-
"description": "Cloudflare 官方文档查询"
|
|
23
|
-
},
|
|
24
|
-
"context7": {
|
|
25
|
-
"command": "npx",
|
|
26
|
-
"args": ["-y", "@upstash/context7-mcp@latest"],
|
|
27
|
-
"description": "库文档实时查询(Hono, Zod, React Query, Zustand, Radix UI 等)"
|
|
28
|
-
},
|
|
29
|
-
"playwright": {
|
|
30
|
-
"command": "npx",
|
|
31
|
-
"args": ["-y", "@anthropic-ai/mcp-playwright@latest"],
|
|
32
|
-
"description": "Playwright 浏览器自动化,用于 E2E 测试和 UI 验证"
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://raw.githubusercontent.com/anthropics/claude-code/main/.mcp.schema.json",
|
|
3
|
+
"mcpServers": {
|
|
4
|
+
"cf-bindings": {
|
|
5
|
+
"command": "npx",
|
|
6
|
+
"args": ["-y", "mcp-remote", "https://bindings.mcp.cloudflare.com/mcp"],
|
|
7
|
+
"description": "Workers Bindings: D1, R2, KV, Queues 资源管理"
|
|
8
|
+
},
|
|
9
|
+
"cf-observability": {
|
|
10
|
+
"command": "npx",
|
|
11
|
+
"args": ["-y", "mcp-remote", "https://observability.mcp.cloudflare.com/mcp"],
|
|
12
|
+
"description": "Workers 日志分析与调试"
|
|
13
|
+
},
|
|
14
|
+
"cf-builds": {
|
|
15
|
+
"command": "npx",
|
|
16
|
+
"args": ["-y", "mcp-remote", "https://builds.mcp.cloudflare.com/mcp"],
|
|
17
|
+
"description": "Workers 构建状态监控"
|
|
18
|
+
},
|
|
19
|
+
"cf-docs": {
|
|
20
|
+
"command": "npx",
|
|
21
|
+
"args": ["-y", "mcp-remote", "https://docs.mcp.cloudflare.com/sse"],
|
|
22
|
+
"description": "Cloudflare 官方文档查询"
|
|
23
|
+
},
|
|
24
|
+
"context7": {
|
|
25
|
+
"command": "npx",
|
|
26
|
+
"args": ["-y", "@upstash/context7-mcp@latest"],
|
|
27
|
+
"description": "库文档实时查询(Hono, Zod, React Query, Zustand, Radix UI 等)"
|
|
28
|
+
},
|
|
29
|
+
"playwright": {
|
|
30
|
+
"command": "npx",
|
|
31
|
+
"args": ["-y", "@anthropic-ai/mcp-playwright@latest"],
|
|
32
|
+
"description": "Playwright 浏览器自动化,用于 E2E 测试和 UI 验证"
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://raw.githubusercontent.com/anthropics/claude-code/main/.mcp.schema.json",
|
|
3
|
-
"mcpServers": {
|
|
4
|
-
"cf-bindings": {
|
|
5
|
-
"command": "npx",
|
|
6
|
-
"args": ["-y", "mcp-remote", "https://bindings.mcp.cloudflare.com/mcp"],
|
|
7
|
-
"description": "Workers Bindings: D1, R2, KV, Queues 资源管理"
|
|
8
|
-
},
|
|
9
|
-
"cf-observability": {
|
|
10
|
-
"command": "npx",
|
|
11
|
-
"args": ["-y", "mcp-remote", "https://observability.mcp.cloudflare.com/mcp"],
|
|
12
|
-
"description": "Workers 日志分析与调试"
|
|
13
|
-
},
|
|
14
|
-
"cf-builds": {
|
|
15
|
-
"command": "npx",
|
|
16
|
-
"args": ["-y", "mcp-remote", "https://builds.mcp.cloudflare.com/mcp"],
|
|
17
|
-
"description": "Workers 构建状态监控"
|
|
18
|
-
},
|
|
19
|
-
"cf-docs": {
|
|
20
|
-
"command": "npx",
|
|
21
|
-
"args": ["-y", "mcp-remote", "https://docs.mcp.cloudflare.com/sse"],
|
|
22
|
-
"description": "Cloudflare 官方文档查询"
|
|
23
|
-
},
|
|
24
|
-
"context7": {
|
|
25
|
-
"command": "npx",
|
|
26
|
-
"args": ["-y", "@upstash/context7-mcp@latest"],
|
|
27
|
-
"description": "库文档实时查询(Hono, Zod, React Query, Zustand, Radix UI 等)"
|
|
28
|
-
},
|
|
29
|
-
"playwright": {
|
|
30
|
-
"command": "npx",
|
|
31
|
-
"args": ["-y", "@anthropic-ai/mcp-playwright@latest"],
|
|
32
|
-
"description": "Playwright 浏览器自动化,用于 E2E 测试和 UI 验证"
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://raw.githubusercontent.com/anthropics/claude-code/main/.mcp.schema.json",
|
|
3
|
+
"mcpServers": {
|
|
4
|
+
"cf-bindings": {
|
|
5
|
+
"command": "npx",
|
|
6
|
+
"args": ["-y", "mcp-remote", "https://bindings.mcp.cloudflare.com/mcp"],
|
|
7
|
+
"description": "Workers Bindings: D1, R2, KV, Queues 资源管理"
|
|
8
|
+
},
|
|
9
|
+
"cf-observability": {
|
|
10
|
+
"command": "npx",
|
|
11
|
+
"args": ["-y", "mcp-remote", "https://observability.mcp.cloudflare.com/mcp"],
|
|
12
|
+
"description": "Workers 日志分析与调试"
|
|
13
|
+
},
|
|
14
|
+
"cf-builds": {
|
|
15
|
+
"command": "npx",
|
|
16
|
+
"args": ["-y", "mcp-remote", "https://builds.mcp.cloudflare.com/mcp"],
|
|
17
|
+
"description": "Workers 构建状态监控"
|
|
18
|
+
},
|
|
19
|
+
"cf-docs": {
|
|
20
|
+
"command": "npx",
|
|
21
|
+
"args": ["-y", "mcp-remote", "https://docs.mcp.cloudflare.com/sse"],
|
|
22
|
+
"description": "Cloudflare 官方文档查询"
|
|
23
|
+
},
|
|
24
|
+
"context7": {
|
|
25
|
+
"command": "npx",
|
|
26
|
+
"args": ["-y", "@upstash/context7-mcp@latest"],
|
|
27
|
+
"description": "库文档实时查询(Hono, Zod, React Query, Zustand, Radix UI 等)"
|
|
28
|
+
},
|
|
29
|
+
"playwright": {
|
|
30
|
+
"command": "npx",
|
|
31
|
+
"args": ["-y", "@anthropic-ai/mcp-playwright@latest"],
|
|
32
|
+
"description": "Playwright 浏览器自动化,用于 E2E 测试和 UI 验证"
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "claude-code-setup",
|
|
3
|
+
"description": "Analyze codebases and recommend tailored Claude Code automations such as hooks, skills, MCP servers, and subagents.",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Anthropic",
|
|
7
|
+
"email": "support@anthropic.com"
|
|
8
|
+
}
|
|
9
|
+
}
|