@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.
Files changed (537) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +89 -85
  3. package/bin/cckit.js +3 -3
  4. package/package.json +7 -5
  5. package/registry.json +43 -9
  6. package/src/adapters/trae-adapter.js +90 -90
  7. package/src/cli.js +2 -2
  8. package/src/commands/init.js +337 -333
  9. package/src/commands/status.js +62 -62
  10. package/src/commands/sync.js +325 -325
  11. package/src/commands/update.js +430 -425
  12. package/src/core/config.js +82 -82
  13. package/src/core/differ.js +57 -57
  14. package/src/core/installer.js +97 -97
  15. package/src/core/plugin-installer.js +278 -232
  16. package/src/core/registry.js +75 -75
  17. package/src/core/templatize.js +42 -42
  18. package/src/core/upstream.js +357 -357
  19. package/src/utils/fs.js +55 -50
  20. package/src/utils/logger.js +16 -16
  21. package/templates/bmad/_config/agent-manifest.csv +12 -12
  22. package/templates/bmad/_config/agents/bmm-analyst.customize.yaml +41 -41
  23. package/templates/bmad/_config/agents/bmm-architect.customize.yaml +41 -41
  24. package/templates/bmad/_config/agents/bmm-dev.customize.yaml +41 -41
  25. package/templates/bmad/_config/agents/bmm-pm.customize.yaml +41 -41
  26. package/templates/bmad/_config/agents/bmm-qa.customize.yaml +41 -41
  27. package/templates/bmad/_config/agents/bmm-quick-flow-solo-dev.customize.yaml +41 -41
  28. package/templates/bmad/_config/agents/bmm-sm.customize.yaml +41 -41
  29. package/templates/bmad/_config/agents/bmm-tech-writer.customize.yaml +41 -41
  30. package/templates/bmad/_config/agents/bmm-ux-designer.customize.yaml +41 -41
  31. package/templates/bmad/_config/agents/core-bmad-master.customize.yaml +41 -41
  32. package/templates/bmad/_config/agents/tea-tea.customize.yaml +41 -41
  33. package/templates/bmad/_config/bmad-help.csv +48 -47
  34. package/templates/bmad/_config/files-manifest.csv +118 -112
  35. package/templates/bmad/_config/ides/claude-code.yaml +2 -2
  36. package/templates/bmad/_config/ides/opencode.yaml +5 -5
  37. package/templates/bmad/_config/ides/trae.yaml +2 -2
  38. package/templates/bmad/_config/task-manifest.csv +8 -7
  39. package/templates/bmad/_config/tool-manifest.csv +1 -1
  40. package/templates/bmad/_config/workflow-manifest.csv +35 -35
  41. package/templates/bmad/bmm/agents/analyst.md +78 -78
  42. package/templates/bmad/bmm/agents/architect.md +58 -58
  43. package/templates/bmad/bmm/agents/dev.md +69 -69
  44. package/templates/bmad/bmm/agents/pm.md +72 -72
  45. package/templates/bmad/bmm/agents/qa.md +92 -92
  46. package/templates/bmad/bmm/agents/quick-flow-solo-dev.md +69 -69
  47. package/templates/bmad/bmm/agents/sm.md +70 -70
  48. package/templates/bmad/bmm/agents/tech-writer/tech-writer.md +70 -70
  49. package/templates/bmad/bmm/agents/ux-designer.md +57 -57
  50. package/templates/bmad/bmm/config.yaml +15 -15
  51. package/templates/bmad/bmm/data/project-context-template.md +26 -26
  52. package/templates/bmad/bmm/module-help.csv +31 -31
  53. package/templates/bmad/bmm/teams/default-party.csv +20 -20
  54. package/templates/bmad/bmm/teams/team-fullstack.yaml +12 -12
  55. package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/product-brief.template.md +10 -10
  56. package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +177 -177
  57. package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +161 -161
  58. package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +199 -199
  59. package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +202 -202
  60. package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +205 -205
  61. package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +219 -219
  62. package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +162 -162
  63. package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md +57 -57
  64. package/templates/bmad/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +137 -137
  65. package/templates/bmad/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +229 -229
  66. package/templates/bmad/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +238 -238
  67. package/templates/bmad/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +206 -206
  68. package/templates/bmad/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +234 -234
  69. package/templates/bmad/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +444 -444
  70. package/templates/bmad/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +182 -182
  71. package/templates/bmad/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +237 -237
  72. package/templates/bmad/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +249 -249
  73. package/templates/bmad/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +259 -259
  74. package/templates/bmad/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +177 -177
  75. package/templates/bmad/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +476 -476
  76. package/templates/bmad/bmm/workflows/1-analysis/research/research.template.md +29 -29
  77. package/templates/bmad/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +137 -137
  78. package/templates/bmad/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +239 -239
  79. package/templates/bmad/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +248 -248
  80. package/templates/bmad/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +202 -202
  81. package/templates/bmad/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +233 -233
  82. package/templates/bmad/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +487 -487
  83. package/templates/bmad/bmm/workflows/1-analysis/research/workflow-domain-research.md +54 -54
  84. package/templates/bmad/bmm/workflows/1-analysis/research/workflow-market-research.md +54 -54
  85. package/templates/bmad/bmm/workflows/1-analysis/research/workflow-technical-research.md +54 -54
  86. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/data/domain-complexity.csv +14 -14
  87. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/data/prd-purpose.md +197 -197
  88. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/data/project-types.csv +10 -10
  89. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01-init.md +191 -191
  90. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01b-continue.md +152 -152
  91. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02-discovery.md +224 -224
  92. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02b-vision.md +154 -154
  93. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02c-executive-summary.md +170 -170
  94. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-03-success.md +226 -226
  95. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-04-journeys.md +213 -213
  96. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-05-domain.md +207 -207
  97. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-06-innovation.md +226 -226
  98. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-07-project-type.md +237 -237
  99. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-08-scoping.md +228 -228
  100. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-09-functional.md +231 -231
  101. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-10-nonfunctional.md +242 -242
  102. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-11-polish.md +217 -217
  103. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-12-complete.md +124 -124
  104. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01-discovery.md +247 -247
  105. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01b-legacy-conversion.md +208 -208
  106. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-02-review.md +249 -249
  107. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-03-edit.md +253 -253
  108. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-04-complete.md +168 -168
  109. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-01-discovery.md +226 -226
  110. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02-format-detection.md +191 -191
  111. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02b-parity-check.md +209 -209
  112. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-03-density-validation.md +174 -174
  113. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-04-brief-coverage-validation.md +214 -214
  114. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-05-measurability-validation.md +228 -228
  115. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-06-traceability-validation.md +217 -217
  116. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-07-implementation-leakage-validation.md +205 -205
  117. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-08-domain-compliance-validation.md +243 -243
  118. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-09-project-type-validation.md +263 -263
  119. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-10-smart-validation.md +209 -209
  120. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-11-holistic-quality-validation.md +264 -264
  121. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-12-completeness-validation.md +242 -242
  122. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-13-report-complete.md +231 -231
  123. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/templates/prd-template.md +10 -10
  124. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-create-prd.md +63 -63
  125. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-edit-prd.md +65 -65
  126. package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md +63 -63
  127. package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +135 -135
  128. package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +127 -127
  129. package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +190 -190
  130. package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +216 -216
  131. package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +219 -219
  132. package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +234 -234
  133. package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +252 -252
  134. package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +254 -254
  135. package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +224 -224
  136. package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +224 -224
  137. package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +241 -241
  138. package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +248 -248
  139. package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +237 -237
  140. package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +264 -264
  141. package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +171 -171
  142. package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +13 -13
  143. package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +42 -42
  144. package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +184 -184
  145. package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +172 -172
  146. package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +173 -173
  147. package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +133 -133
  148. package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +245 -245
  149. package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +129 -129
  150. package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/templates/readiness-report-template.md +4 -4
  151. package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +54 -54
  152. package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md +12 -12
  153. package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/data/domain-complexity.csv +12 -12
  154. package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/data/project-types.csv +6 -6
  155. package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md +153 -153
  156. package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md +173 -173
  157. package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +224 -224
  158. package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +329 -329
  159. package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +318 -318
  160. package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +359 -359
  161. package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +379 -379
  162. package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +359 -359
  163. package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +76 -76
  164. package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md +49 -49
  165. package/templates/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +259 -259
  166. package/templates/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +233 -233
  167. package/templates/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +272 -272
  168. package/templates/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +149 -149
  169. package/templates/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +57 -57
  170. package/templates/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +58 -58
  171. package/templates/bmad/bmm/workflows/4-implementation/code-review/checklist.md +23 -23
  172. package/templates/bmad/bmm/workflows/4-implementation/code-review/instructions.xml +226 -226
  173. package/templates/bmad/bmm/workflows/4-implementation/code-review/workflow.yaml +43 -43
  174. package/templates/bmad/bmm/workflows/4-implementation/correct-course/checklist.md +288 -288
  175. package/templates/bmad/bmm/workflows/4-implementation/correct-course/instructions.md +207 -207
  176. package/templates/bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +53 -53
  177. package/templates/bmad/bmm/workflows/4-implementation/create-story/checklist.md +358 -358
  178. package/templates/bmad/bmm/workflows/4-implementation/create-story/instructions.xml +346 -346
  179. package/templates/bmad/bmm/workflows/4-implementation/create-story/template.md +49 -49
  180. package/templates/bmad/bmm/workflows/4-implementation/create-story/workflow.yaml +52 -52
  181. package/templates/bmad/bmm/workflows/4-implementation/dev-story/checklist.md +80 -80
  182. package/templates/bmad/bmm/workflows/4-implementation/dev-story/instructions.xml +410 -410
  183. package/templates/bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml +20 -20
  184. package/templates/bmad/bmm/workflows/4-implementation/retrospective/instructions.md +1444 -1444
  185. package/templates/bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml +52 -52
  186. package/templates/bmad/bmm/workflows/4-implementation/sprint-planning/checklist.md +33 -33
  187. package/templates/bmad/bmm/workflows/4-implementation/sprint-planning/instructions.md +226 -226
  188. package/templates/bmad/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +55 -55
  189. package/templates/bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +47 -47
  190. package/templates/bmad/bmm/workflows/4-implementation/sprint-status/instructions.md +230 -230
  191. package/templates/bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml +25 -25
  192. package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md +174 -174
  193. package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md +118 -118
  194. package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md +111 -111
  195. package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md +111 -111
  196. package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +104 -104
  197. package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md +146 -146
  198. package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +50 -50
  199. package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-01-understand.md +189 -189
  200. package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-02-investigate.md +143 -143
  201. package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-03-generate.md +126 -126
  202. package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md +200 -200
  203. package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-spec/tech-spec-template.md +74 -74
  204. package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md +79 -79
  205. package/templates/bmad/bmm/workflows/document-project/checklist.md +245 -245
  206. package/templates/bmad/bmm/workflows/document-project/documentation-requirements.csv +12 -12
  207. package/templates/bmad/bmm/workflows/document-project/instructions.md +130 -130
  208. package/templates/bmad/bmm/workflows/document-project/templates/deep-dive-template.md +345 -345
  209. package/templates/bmad/bmm/workflows/document-project/templates/index-template.md +169 -169
  210. package/templates/bmad/bmm/workflows/document-project/templates/project-overview-template.md +103 -103
  211. package/templates/bmad/bmm/workflows/document-project/templates/project-scan-report-schema.json +160 -160
  212. package/templates/bmad/bmm/workflows/document-project/templates/source-tree-template.md +135 -135
  213. package/templates/bmad/bmm/workflows/document-project/workflow.yaml +22 -22
  214. package/templates/bmad/bmm/workflows/document-project/workflows/deep-dive-instructions.md +298 -298
  215. package/templates/bmad/bmm/workflows/document-project/workflows/deep-dive.yaml +31 -31
  216. package/templates/bmad/bmm/workflows/document-project/workflows/full-scan-instructions.md +1106 -1106
  217. package/templates/bmad/bmm/workflows/document-project/workflows/full-scan.yaml +31 -31
  218. package/templates/bmad/bmm/workflows/generate-project-context/project-context-template.md +21 -21
  219. package/templates/bmad/bmm/workflows/generate-project-context/steps/step-01-discover.md +184 -184
  220. package/templates/bmad/bmm/workflows/generate-project-context/steps/step-02-generate.md +318 -318
  221. package/templates/bmad/bmm/workflows/generate-project-context/steps/step-03-complete.md +278 -278
  222. package/templates/bmad/bmm/workflows/generate-project-context/workflow.md +49 -49
  223. package/templates/bmad/bmm/workflows/qa/automate/checklist.md +33 -33
  224. package/templates/bmad/bmm/workflows/qa/automate/instructions.md +110 -110
  225. package/templates/bmad/bmm/workflows/qa/automate/workflow.yaml +44 -44
  226. package/templates/bmad/bmm/workflows/qa-generate-e2e-tests/checklist.md +33 -33
  227. package/templates/bmad/bmm/workflows/qa-generate-e2e-tests/instructions.md +110 -110
  228. package/templates/bmad/bmm/workflows/qa-generate-e2e-tests/workflow.yaml +42 -42
  229. package/templates/bmad/commands/bmad-agent-bmad-master.md +15 -15
  230. package/templates/bmad/commands/bmad-agent-bmm-analyst.md +15 -15
  231. package/templates/bmad/commands/bmad-agent-bmm-architect.md +15 -15
  232. package/templates/bmad/commands/bmad-agent-bmm-dev.md +15 -15
  233. package/templates/bmad/commands/bmad-agent-bmm-pm.md +15 -15
  234. package/templates/bmad/commands/bmad-agent-bmm-qa.md +15 -15
  235. package/templates/bmad/commands/bmad-agent-bmm-quick-flow-solo-dev.md +15 -15
  236. package/templates/bmad/commands/bmad-agent-bmm-sm.md +15 -15
  237. package/templates/bmad/commands/bmad-agent-bmm-tech-writer.md +15 -15
  238. package/templates/bmad/commands/bmad-agent-bmm-ux-designer.md +15 -15
  239. package/templates/bmad/commands/bmad-agent-tea-tea.md +15 -15
  240. package/templates/bmad/commands/bmad-bmm-check-implementation-readiness.md +6 -6
  241. package/templates/bmad/commands/bmad-bmm-code-review.md +14 -14
  242. package/templates/bmad/commands/bmad-bmm-correct-course.md +14 -14
  243. package/templates/bmad/commands/bmad-bmm-create-architecture.md +6 -6
  244. package/templates/bmad/commands/bmad-bmm-create-epics-and-stories.md +6 -6
  245. package/templates/bmad/commands/bmad-bmm-create-prd.md +6 -6
  246. package/templates/bmad/commands/bmad-bmm-create-product-brief.md +6 -6
  247. package/templates/bmad/commands/bmad-bmm-create-story.md +14 -14
  248. package/templates/bmad/commands/bmad-bmm-create-ux-design.md +6 -6
  249. package/templates/bmad/commands/bmad-bmm-dev-story.md +14 -14
  250. package/templates/bmad/commands/bmad-bmm-document-project.md +14 -14
  251. package/templates/bmad/commands/bmad-bmm-domain-research.md +6 -6
  252. package/templates/bmad/commands/bmad-bmm-edit-prd.md +6 -6
  253. package/templates/bmad/commands/bmad-bmm-generate-project-context.md +6 -6
  254. package/templates/bmad/commands/bmad-bmm-market-research.md +6 -6
  255. package/templates/bmad/commands/bmad-bmm-qa-automate.md +15 -15
  256. package/templates/bmad/commands/bmad-bmm-qa-generate-e2e-tests.md +14 -14
  257. package/templates/bmad/commands/bmad-bmm-quick-dev.md +6 -6
  258. package/templates/bmad/commands/bmad-bmm-quick-spec.md +6 -6
  259. package/templates/bmad/commands/bmad-bmm-retrospective.md +14 -14
  260. package/templates/bmad/commands/bmad-bmm-sprint-planning.md +14 -14
  261. package/templates/bmad/commands/bmad-bmm-sprint-status.md +14 -14
  262. package/templates/bmad/commands/bmad-bmm-technical-research.md +6 -6
  263. package/templates/bmad/commands/bmad-bmm-validate-prd.md +6 -6
  264. package/templates/bmad/commands/bmad-brainstorming.md +6 -6
  265. package/templates/bmad/commands/bmad-editorial-review-prose.md +10 -10
  266. package/templates/bmad/commands/bmad-editorial-review-structure.md +10 -10
  267. package/templates/bmad/commands/bmad-help.md +10 -10
  268. package/templates/bmad/commands/bmad-index-docs.md +10 -10
  269. package/templates/bmad/commands/bmad-party-mode.md +6 -6
  270. package/templates/bmad/commands/bmad-review-adversarial-general.md +10 -10
  271. package/templates/bmad/commands/bmad-review-edge-case-hunter.md +10 -0
  272. package/templates/bmad/commands/bmad-shard-doc.md +10 -10
  273. package/templates/bmad/commands/bmad-tea-teach-me-testing.md +6 -6
  274. package/templates/bmad/commands/bmad-tea-testarch-atdd.md +14 -14
  275. package/templates/bmad/commands/bmad-tea-testarch-automate.md +14 -14
  276. package/templates/bmad/commands/bmad-tea-testarch-ci.md +14 -14
  277. package/templates/bmad/commands/bmad-tea-testarch-framework.md +14 -14
  278. package/templates/bmad/commands/bmad-tea-testarch-nfr.md +14 -14
  279. package/templates/bmad/commands/bmad-tea-testarch-test-design.md +14 -14
  280. package/templates/bmad/commands/bmad-tea-testarch-test-review.md +14 -14
  281. package/templates/bmad/commands/bmad-tea-testarch-trace.md +14 -14
  282. package/templates/bmad/core/agents/bmad-master.md +56 -56
  283. package/templates/bmad/core/config.yaml +8 -8
  284. package/templates/bmad/core/module-help.csv +10 -9
  285. package/templates/bmad/core/tasks/editorial-review-prose.xml +101 -101
  286. package/templates/bmad/core/tasks/editorial-review-structure.xml +207 -207
  287. package/templates/bmad/core/tasks/help.md +86 -86
  288. package/templates/bmad/core/tasks/index-docs.xml +64 -64
  289. package/templates/bmad/core/tasks/review-adversarial-general.xml +48 -48
  290. package/templates/bmad/core/tasks/review-edge-case-hunter.xml +63 -0
  291. package/templates/bmad/core/tasks/shard-doc.xml +107 -107
  292. package/templates/bmad/core/tasks/workflow.xml +234 -234
  293. package/templates/bmad/core/workflows/advanced-elicitation/methods.csv +51 -51
  294. package/templates/bmad/core/workflows/advanced-elicitation/workflow.xml +117 -117
  295. package/templates/bmad/core/workflows/brainstorming/brain-methods.csv +61 -61
  296. package/templates/bmad/core/workflows/brainstorming/steps/step-01-session-setup.md +210 -197
  297. package/templates/bmad/core/workflows/brainstorming/steps/step-01b-continue.md +122 -122
  298. package/templates/bmad/core/workflows/brainstorming/steps/step-02a-user-selected.md +225 -225
  299. package/templates/bmad/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +237 -237
  300. package/templates/bmad/core/workflows/brainstorming/steps/step-02c-random-selection.md +209 -209
  301. package/templates/bmad/core/workflows/brainstorming/steps/step-02d-progressive-flow.md +264 -264
  302. package/templates/bmad/core/workflows/brainstorming/steps/step-03-technique-execution.md +399 -399
  303. package/templates/bmad/core/workflows/brainstorming/steps/step-04-idea-organization.md +303 -303
  304. package/templates/bmad/core/workflows/brainstorming/template.md +15 -15
  305. package/templates/bmad/core/workflows/brainstorming/workflow.md +60 -58
  306. package/templates/bmad/core/workflows/party-mode/steps/step-01-agent-loading.md +138 -138
  307. package/templates/bmad/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +187 -187
  308. package/templates/bmad/core/workflows/party-mode/steps/step-03-graceful-exit.md +168 -168
  309. package/templates/bmad/core/workflows/party-mode/workflow.md +194 -194
  310. package/templates/bmad/tea/agents/tea.md +71 -71
  311. package/templates/bmad/tea/config.yaml +24 -20
  312. package/templates/bmad/tea/testarch/knowledge/contract-testing.md +24 -2
  313. package/templates/bmad/tea/testarch/knowledge/pact-mcp.md +204 -0
  314. package/templates/bmad/tea/testarch/knowledge/pactjs-utils-consumer-helpers.md +211 -0
  315. package/templates/bmad/tea/testarch/knowledge/pactjs-utils-overview.md +210 -0
  316. package/templates/bmad/tea/testarch/knowledge/pactjs-utils-provider-verifier.md +315 -0
  317. package/templates/bmad/tea/testarch/knowledge/pactjs-utils-request-filter.md +224 -0
  318. package/templates/bmad/tea/testarch/tea-index.csv +5 -0
  319. package/templates/bmad/tea/workflows/testarch/README.md +1 -1
  320. package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-01-preflight-and-context.md +30 -0
  321. package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-04-generate-tests.md +159 -57
  322. package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-04a-subagent-api-failing.md +215 -0
  323. package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-04b-subagent-e2e-failing.md +244 -0
  324. package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-04c-aggregate.md +31 -15
  325. package/templates/bmad/tea/workflows/testarch/atdd/validation-report-20260127-095021.md +1 -1
  326. package/templates/bmad/tea/workflows/testarch/atdd/validation-report-20260127-102401.md +3 -3
  327. package/templates/bmad/tea/workflows/testarch/atdd/workflow.yaml +2 -2
  328. package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-01-preflight-and-context.md +32 -0
  329. package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-03-generate-tests.md +215 -101
  330. package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-03a-subagent-api.md +193 -0
  331. package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-03b-subagent-backend.md +246 -0
  332. package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-03b-subagent-e2e.md +213 -0
  333. package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-03c-aggregate.md +38 -22
  334. package/templates/bmad/tea/workflows/testarch/automate/validation-report-20260127-095021.md +1 -1
  335. package/templates/bmad/tea/workflows/testarch/automate/validation-report-20260127-102401.md +3 -3
  336. package/templates/bmad/tea/workflows/testarch/automate/workflow.yaml +2 -2
  337. package/templates/bmad/tea/workflows/testarch/ci/steps-c/step-02-generate-pipeline.md +124 -1
  338. package/templates/bmad/tea/workflows/testarch/ci/steps-c/step-03-configure-quality-gates.md +7 -0
  339. package/templates/bmad/tea/workflows/testarch/ci/validation-report-20260127-095021.md +1 -1
  340. package/templates/bmad/tea/workflows/testarch/ci/validation-report-20260127-102401.md +3 -3
  341. package/templates/bmad/tea/workflows/testarch/ci/workflow.yaml +2 -2
  342. package/templates/bmad/tea/workflows/testarch/framework/steps-c/step-03-scaffold-framework.md +126 -3
  343. package/templates/bmad/tea/workflows/testarch/framework/validation-report-20260127-095021.md +1 -1
  344. package/templates/bmad/tea/workflows/testarch/framework/validation-report-20260127-102401.md +3 -3
  345. package/templates/bmad/tea/workflows/testarch/framework/workflow.yaml +2 -2
  346. package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04-evaluate-and-score.md +150 -36
  347. package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04a-subagent-security.md +138 -0
  348. package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04b-subagent-performance.md +84 -0
  349. package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04c-subagent-reliability.md +85 -0
  350. package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04d-subagent-scalability.md +88 -0
  351. package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04e-aggregate-nfr.md +27 -10
  352. package/templates/bmad/tea/workflows/testarch/nfr-assess/validation-report-20260127-095021.md +1 -1
  353. package/templates/bmad/tea/workflows/testarch/nfr-assess/validation-report-20260127-102401.md +3 -3
  354. package/templates/bmad/tea/workflows/testarch/nfr-assess/workflow.yaml +2 -2
  355. package/templates/bmad/tea/workflows/testarch/teach-me-testing/data/tea-resources-index.yaml +3 -3
  356. package/templates/bmad/tea/workflows/testarch/teach-me-testing/workflow-plan-teach-me-testing.md +6 -6
  357. package/templates/bmad/tea/workflows/testarch/teach-me-testing/workflow.md +1 -1
  358. package/templates/bmad/tea/workflows/testarch/test-design/steps-c/step-02-load-context.md +30 -0
  359. package/templates/bmad/tea/workflows/testarch/test-design/steps-c/step-05-generate-output.md +72 -1
  360. package/templates/bmad/tea/workflows/testarch/test-design/validation-report-20260127-095021.md +1 -1
  361. package/templates/bmad/tea/workflows/testarch/test-design/validation-report-20260127-102401.md +3 -3
  362. package/templates/bmad/tea/workflows/testarch/test-design/workflow.yaml +2 -2
  363. package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-01-load-context.md +29 -1
  364. package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03-quality-evaluation.md +147 -46
  365. package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03a-subagent-determinism.md +214 -0
  366. package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03b-subagent-isolation.md +125 -0
  367. package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03c-subagent-maintainability.md +102 -0
  368. package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03e-subagent-performance.md +117 -0
  369. package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03f-aggregate-scores.md +10 -10
  370. package/templates/bmad/tea/workflows/testarch/test-review/validation-report-20260127-095021.md +1 -1
  371. package/templates/bmad/tea/workflows/testarch/test-review/validation-report-20260127-102401.md +3 -3
  372. package/templates/bmad/tea/workflows/testarch/test-review/workflow.yaml +2 -2
  373. package/templates/bmad/tea/workflows/testarch/trace/steps-c/step-04-analyze-gaps.md +92 -1
  374. package/templates/bmad/tea/workflows/testarch/trace/validation-report-20260127-095021.md +1 -1
  375. package/templates/bmad/tea/workflows/testarch/trace/validation-report-20260127-102401.md +3 -3
  376. package/templates/bmad/tea/workflows/testarch/trace/workflow.yaml +2 -2
  377. package/templates/ecc/agents/chief-of-staff.md +151 -0
  378. package/templates/ecc/commands/claw.md +79 -0
  379. package/templates/ecc/rules/README.md +23 -2
  380. package/templates/ecc/rules/common/development-workflow.md +37 -0
  381. package/templates/ecc/rules/common/git-workflow.md +2 -23
  382. package/templates/ecc/rules/swift/coding-style.md +47 -0
  383. package/templates/ecc/rules/swift/hooks.md +20 -0
  384. package/templates/ecc/rules/swift/patterns.md +66 -0
  385. package/templates/ecc/rules/swift/security.md +33 -0
  386. package/templates/ecc/rules/swift/testing.md +45 -0
  387. package/templates/ecc/skills/api-design/SKILL.md +1 -0
  388. package/templates/ecc/skills/article-writing/SKILL.md +85 -0
  389. package/templates/ecc/skills/backend-patterns/SKILL.md +1 -0
  390. package/templates/ecc/skills/clickhouse-io/SKILL.md +1 -0
  391. package/templates/ecc/skills/coding-standards/SKILL.md +1 -0
  392. package/templates/ecc/skills/configure-ecc/SKILL.md +32 -4
  393. package/templates/ecc/skills/content-engine/SKILL.md +88 -0
  394. package/templates/ecc/skills/content-hash-cache-pattern/SKILL.md +1 -0
  395. package/templates/ecc/skills/continuous-learning/SKILL.md +2 -1
  396. package/templates/ecc/skills/continuous-learning-v2/SKILL.md +4 -1
  397. package/templates/ecc/skills/continuous-learning-v2/hooks/observe.sh +14 -7
  398. package/templates/ecc/skills/cost-aware-llm-pipeline/SKILL.md +1 -0
  399. package/templates/ecc/skills/cpp-coding-standards/SKILL.md +1 -0
  400. package/templates/ecc/skills/cpp-testing/SKILL.md +1 -0
  401. package/templates/ecc/skills/database-migrations/SKILL.md +1 -0
  402. package/templates/ecc/skills/deployment-patterns/SKILL.md +1 -0
  403. package/templates/ecc/skills/django-patterns/SKILL.md +1 -0
  404. package/templates/ecc/skills/django-security/SKILL.md +1 -0
  405. package/templates/ecc/skills/django-tdd/SKILL.md +1 -0
  406. package/templates/ecc/skills/django-verification/SKILL.md +1 -0
  407. package/templates/ecc/skills/docker-patterns/SKILL.md +1 -0
  408. package/templates/ecc/skills/e2e-testing/SKILL.md +1 -0
  409. package/templates/ecc/skills/eval-harness/SKILL.md +1 -0
  410. package/templates/ecc/skills/foundation-models-on-device/SKILL.md +243 -0
  411. package/templates/ecc/skills/frontend-patterns/SKILL.md +1 -0
  412. package/templates/ecc/skills/frontend-slides/SKILL.md +184 -0
  413. package/templates/ecc/skills/frontend-slides/STYLE_PRESETS.md +330 -0
  414. package/templates/ecc/skills/golang-patterns/SKILL.md +1 -0
  415. package/templates/ecc/skills/golang-testing/SKILL.md +1 -0
  416. package/templates/ecc/skills/investor-materials/SKILL.md +96 -0
  417. package/templates/ecc/skills/investor-outreach/SKILL.md +76 -0
  418. package/templates/ecc/skills/iterative-retrieval/SKILL.md +1 -0
  419. package/templates/ecc/skills/java-coding-standards/SKILL.md +1 -0
  420. package/templates/ecc/skills/jpa-patterns/SKILL.md +1 -0
  421. package/templates/ecc/skills/liquid-glass-design/SKILL.md +279 -0
  422. package/templates/ecc/skills/market-research/SKILL.md +75 -0
  423. package/templates/ecc/skills/nutrient-document-processing/SKILL.md +1 -1
  424. package/templates/ecc/skills/postgres-patterns/SKILL.md +1 -0
  425. package/templates/ecc/skills/project-guidelines-example/SKILL.md +1 -0
  426. package/templates/ecc/skills/python-patterns/SKILL.md +1 -0
  427. package/templates/ecc/skills/python-testing/SKILL.md +1 -0
  428. package/templates/ecc/skills/regex-vs-llm-structured-text/SKILL.md +1 -0
  429. package/templates/ecc/skills/search-first/SKILL.md +3 -1
  430. package/templates/ecc/skills/security-review/SKILL.md +1 -0
  431. package/templates/ecc/skills/security-scan/SKILL.md +1 -0
  432. package/templates/ecc/skills/skill-stocktake/SKILL.md +176 -0
  433. package/templates/ecc/skills/skill-stocktake/scripts/quick-diff.sh +87 -0
  434. package/templates/ecc/skills/skill-stocktake/scripts/save-results.sh +56 -0
  435. package/templates/ecc/skills/skill-stocktake/scripts/scan.sh +170 -0
  436. package/templates/ecc/skills/springboot-patterns/SKILL.md +1 -0
  437. package/templates/ecc/skills/springboot-security/SKILL.md +1 -0
  438. package/templates/ecc/skills/springboot-tdd/SKILL.md +1 -0
  439. package/templates/ecc/skills/springboot-verification/SKILL.md +1 -0
  440. package/templates/ecc/skills/strategic-compact/SKILL.md +1 -0
  441. package/templates/ecc/skills/swift-actor-persistence/SKILL.md +1 -0
  442. package/templates/ecc/skills/swift-concurrency-6-2/SKILL.md +216 -0
  443. package/templates/ecc/skills/swift-protocol-di-testing/SKILL.md +1 -0
  444. package/templates/ecc/skills/swiftui-patterns/SKILL.md +259 -0
  445. package/templates/ecc/skills/tdd-workflow/SKILL.md +1 -0
  446. package/templates/ecc/skills/verification-loop/SKILL.md +1 -0
  447. package/templates/ecc/skills/visa-doc-translate/README.md +86 -0
  448. package/templates/ecc/skills/visa-doc-translate/SKILL.md +117 -0
  449. package/templates/ext-skills/pinchtab/SKILL.md +89 -486
  450. package/templates/ext-skills/pinchtab/TRUST.md +69 -0
  451. package/templates/ext-skills/pinchtab/references/api.md +297 -0
  452. package/templates/ext-skills/pinchtab/references/env.md +45 -0
  453. package/templates/ext-skills/pinchtab/references/profiles.md +107 -0
  454. package/templates/mcp/claude-code/.mcp.json +35 -35
  455. package/templates/mcp/trae/mcp.json +35 -35
  456. package/templates/plugins/claude-code-setup/.claude-plugin/plugin.json +9 -0
  457. package/templates/plugins/claude-code-setup/LICENSE +202 -0
  458. package/templates/plugins/claude-code-setup/README.md +29 -0
  459. package/templates/plugins/claude-code-setup/automation-recommender-example.png +0 -0
  460. package/templates/plugins/claude-code-setup/skills/claude-automation-recommender/SKILL.md +288 -0
  461. package/templates/plugins/claude-code-setup/skills/claude-automation-recommender/references/hooks-patterns.md +226 -0
  462. package/templates/plugins/claude-code-setup/skills/claude-automation-recommender/references/mcp-servers.md +263 -0
  463. package/templates/plugins/claude-code-setup/skills/claude-automation-recommender/references/plugins-reference.md +98 -0
  464. package/templates/plugins/claude-code-setup/skills/claude-automation-recommender/references/skills-reference.md +408 -0
  465. package/templates/plugins/claude-code-setup/skills/claude-automation-recommender/references/subagent-templates.md +181 -0
  466. package/templates/plugins/claude-md-management/.claude-plugin/plugin.json +9 -0
  467. package/templates/plugins/claude-md-management/LICENSE +202 -0
  468. package/templates/plugins/claude-md-management/README.md +40 -0
  469. package/templates/plugins/claude-md-management/claude-md-improver-example.png +0 -0
  470. package/templates/plugins/claude-md-management/commands/revise-claude-md.md +54 -0
  471. package/templates/plugins/claude-md-management/revise-claude-md-example.png +0 -0
  472. package/templates/plugins/claude-md-management/skills/claude-md-improver/SKILL.md +179 -0
  473. package/templates/plugins/claude-md-management/skills/claude-md-improver/references/quality-criteria.md +109 -0
  474. package/templates/plugins/claude-md-management/skills/claude-md-improver/references/templates.md +253 -0
  475. package/templates/plugins/claude-md-management/skills/claude-md-improver/references/update-guidelines.md +150 -0
  476. package/templates/plugins/code-simplifier/.claude-plugin/plugin.json +9 -0
  477. package/templates/plugins/code-simplifier/LICENSE +202 -0
  478. package/templates/plugins/code-simplifier/agents/code-simplifier.md +52 -0
  479. package/templates/plugins/commit-commands/.claude-plugin/plugin.json +9 -0
  480. package/templates/plugins/commit-commands/LICENSE +202 -0
  481. package/templates/plugins/commit-commands/README.md +225 -0
  482. package/templates/plugins/commit-commands/commands/clean_gone.md +53 -0
  483. package/templates/plugins/commit-commands/commands/commit-push-pr.md +20 -0
  484. package/templates/plugins/commit-commands/commands/commit.md +17 -0
  485. package/templates/trae-bmad/rules/bmad-agent-bmad-master.md +15 -15
  486. package/templates/trae-bmad/rules/bmad-agent-bmm-analyst.md +15 -15
  487. package/templates/trae-bmad/rules/bmad-agent-bmm-architect.md +15 -15
  488. package/templates/trae-bmad/rules/bmad-agent-bmm-dev.md +15 -15
  489. package/templates/trae-bmad/rules/bmad-agent-bmm-pm.md +15 -15
  490. package/templates/trae-bmad/rules/bmad-agent-bmm-qa.md +15 -15
  491. package/templates/trae-bmad/rules/bmad-agent-bmm-quick-flow-solo-dev.md +15 -15
  492. package/templates/trae-bmad/rules/bmad-agent-bmm-sm.md +15 -15
  493. package/templates/trae-bmad/rules/bmad-agent-bmm-tech-writer.md +15 -15
  494. package/templates/trae-bmad/rules/bmad-agent-bmm-ux-designer.md +15 -15
  495. package/templates/trae-bmad/rules/bmad-agent-tea-tea.md +15 -15
  496. package/templates/trae-bmad/rules/bmad-bmm-check-implementation-readiness.md +6 -6
  497. package/templates/trae-bmad/rules/bmad-bmm-code-review.md +14 -14
  498. package/templates/trae-bmad/rules/bmad-bmm-correct-course.md +14 -14
  499. package/templates/trae-bmad/rules/bmad-bmm-create-architecture.md +6 -6
  500. package/templates/trae-bmad/rules/bmad-bmm-create-epics-and-stories.md +6 -6
  501. package/templates/trae-bmad/rules/bmad-bmm-create-prd.md +6 -6
  502. package/templates/trae-bmad/rules/bmad-bmm-create-product-brief.md +6 -6
  503. package/templates/trae-bmad/rules/bmad-bmm-create-story.md +14 -14
  504. package/templates/trae-bmad/rules/bmad-bmm-create-ux-design.md +6 -6
  505. package/templates/trae-bmad/rules/bmad-bmm-dev-story.md +14 -14
  506. package/templates/trae-bmad/rules/bmad-bmm-document-project.md +14 -14
  507. package/templates/trae-bmad/rules/bmad-bmm-domain-research.md +6 -6
  508. package/templates/trae-bmad/rules/bmad-bmm-edit-prd.md +6 -6
  509. package/templates/trae-bmad/rules/bmad-bmm-generate-project-context.md +6 -6
  510. package/templates/trae-bmad/rules/bmad-bmm-market-research.md +6 -6
  511. package/templates/trae-bmad/rules/bmad-bmm-qa-automate.md +15 -15
  512. package/templates/trae-bmad/rules/bmad-bmm-qa-generate-e2e-tests.md +14 -14
  513. package/templates/trae-bmad/rules/bmad-bmm-quick-dev.md +6 -6
  514. package/templates/trae-bmad/rules/bmad-bmm-quick-spec.md +6 -6
  515. package/templates/trae-bmad/rules/bmad-bmm-retrospective.md +14 -14
  516. package/templates/trae-bmad/rules/bmad-bmm-sprint-planning.md +14 -14
  517. package/templates/trae-bmad/rules/bmad-bmm-sprint-status.md +14 -14
  518. package/templates/trae-bmad/rules/bmad-bmm-technical-research.md +6 -6
  519. package/templates/trae-bmad/rules/bmad-bmm-validate-prd.md +6 -6
  520. package/templates/trae-bmad/rules/bmad-brainstorming.md +6 -6
  521. package/templates/trae-bmad/rules/bmad-editorial-review-prose.md +10 -10
  522. package/templates/trae-bmad/rules/bmad-editorial-review-structure.md +10 -10
  523. package/templates/trae-bmad/rules/bmad-help.md +10 -10
  524. package/templates/trae-bmad/rules/bmad-index-docs.md +10 -10
  525. package/templates/trae-bmad/rules/bmad-party-mode.md +6 -6
  526. package/templates/trae-bmad/rules/bmad-review-adversarial-general.md +10 -10
  527. package/templates/trae-bmad/rules/bmad-review-edge-case-hunter.md +10 -0
  528. package/templates/trae-bmad/rules/bmad-shard-doc.md +10 -10
  529. package/templates/trae-bmad/rules/bmad-tea-teach-me-testing.md +6 -6
  530. package/templates/trae-bmad/rules/bmad-tea-testarch-atdd.md +14 -14
  531. package/templates/trae-bmad/rules/bmad-tea-testarch-automate.md +14 -14
  532. package/templates/trae-bmad/rules/bmad-tea-testarch-ci.md +14 -14
  533. package/templates/trae-bmad/rules/bmad-tea-testarch-framework.md +14 -14
  534. package/templates/trae-bmad/rules/bmad-tea-testarch-nfr.md +14 -14
  535. package/templates/trae-bmad/rules/bmad-tea-testarch-test-design.md +14 -14
  536. package/templates/trae-bmad/rules/bmad-tea-testarch-test-review.md +14 -14
  537. package/templates/trae-bmad/rules/bmad-tea-testarch-trace.md +14 -14
@@ -13,224 +13,90 @@ metadata:
13
13
  emoji: "🦀"
14
14
  requires:
15
15
  bins: ["pinchtab"]
16
- env:
17
- - name: BRIDGE_TOKEN
18
- secret: true
19
- optional: true
20
- description: "Bearer auth token for Pinchtab API"
21
- - name: BRIDGE_BIND
22
- optional: true
23
- description: "Bind address (default: 127.0.0.1, set 0.0.0.0 for network access)"
24
- - name: BRIDGE_PORT
25
- optional: true
26
- description: "HTTP port (default: 9867)"
27
- - name: BRIDGE_HEADLESS
28
- optional: true
29
- description: "Run Chrome headless (true/false)"
30
- - name: BRIDGE_PROFILE
31
- optional: true
32
- description: "Chrome profile directory (default: ~/.pinchtab/chrome-profile)"
33
- - name: BRIDGE_STATE_DIR
34
- optional: true
35
- description: "State/session storage directory (default: ~/.pinchtab)"
36
- - name: BRIDGE_NO_RESTORE
37
- optional: true
38
- description: "Skip restoring tabs from previous session (true/false)"
39
- - name: BRIDGE_STEALTH
40
- optional: true
41
- description: "Stealth level: light (default, basic) or full (canvas/WebGL/font spoofing)"
42
- - name: BRIDGE_MAX_TABS
43
- optional: true
44
- description: "Maximum number of open tabs (default: 20, 0 = unlimited)"
45
- - name: BRIDGE_BLOCK_IMAGES
46
- optional: true
47
- description: "Block image loading for faster, lower-bandwidth browsing (true/false)"
48
- - name: BRIDGE_BLOCK_MEDIA
49
- optional: true
50
- description: "Block all media: images + fonts + CSS + video (true/false)"
51
- - name: BRIDGE_NO_ANIMATIONS
52
- optional: true
53
- description: "Disable CSS animations/transitions globally (true/false)"
54
- - name: BRIDGE_TIMEZONE
55
- optional: true
56
- description: "Force browser timezone (IANA tz, e.g. Europe/Rome)"
57
- - name: BRIDGE_CHROME_VERSION
58
- optional: true
59
- description: "Chrome version string used by fingerprint rotation profiles"
60
- - name: CHROME_BINARY
61
- optional: true
62
- description: "Path to Chrome/Chromium binary (auto-detected if not set)"
63
- - name: CHROME_FLAGS
64
- optional: true
65
- description: "Extra Chrome flags, space-separated"
66
- - name: BRIDGE_CONFIG
67
- optional: true
68
- description: "Path to config JSON file (default: ~/.pinchtab/config.json)"
69
- - name: BRIDGE_TIMEOUT
70
- optional: true
71
- description: "Action timeout in seconds (default: 15)"
72
- - name: BRIDGE_NAV_TIMEOUT
73
- optional: true
74
- description: "Navigation timeout in seconds (default: 30)"
75
- - name: CDP_URL
76
- optional: true
77
- description: "Connect to existing Chrome DevTools instead of launching"
78
- - name: BRIDGE_NO_DASHBOARD
79
- optional: true
80
- description: "Disable dashboard/orchestrator endpoints on instance processes"
81
- - name: PINCHTAB_AUTO_LAUNCH
82
- optional: true
83
- description: "Dashboard mode: auto-launch default profile instance on startup"
84
- - name: PINCHTAB_DEFAULT_PROFILE
85
- optional: true
86
- description: "Dashboard mode: default profile name for auto-launch"
87
- - name: PINCHTAB_DEFAULT_PORT
88
- optional: true
89
- description: "Dashboard mode: default port for auto-launched profile"
90
- - name: PINCHTAB_HEADED
91
- optional: true
92
- description: "Dashboard mode: when set, auto-launched profile runs headed"
93
- - name: PINCHTAB_DASHBOARD_URL
94
- optional: true
95
- description: "Base dashboard URL used by `pinchtab connect` helper"
16
+ env: |
17
+ BRIDGE_TOKEN (optional, secret) - Bearer auth token for Pinchtab API
18
+ BRIDGE_PORT (optional) - HTTP port, default 9867
19
+ BRIDGE_HEADLESS (optional) - true/false for headless Chrome
20
+ BRIDGE_PROFILE (optional) - Chrome profile directory
21
+ BRIDGE_BIND (optional) - Bind address, default 127.0.0.1
96
22
  ---
97
23
 
98
24
  # Pinchtab
99
25
 
100
26
  Fast, lightweight browser control for AI agents via HTTP + accessibility tree.
101
27
 
102
- ## Setup
103
-
104
- Start Pinchtab in one of these modes:
105
-
106
- ```bash
107
- # Headless (default) — no UI, pure automation (lowest token cost when using /text and filtered snapshots)
108
- pinchtab &
109
-
110
- # Headed — visible Chrome for human + agent workflows
111
- BRIDGE_HEADLESS=false pinchtab &
112
-
113
- # Dashboard/orchestrator — profile manager + launcher, no browser in dashboard process
114
- pinchtab dashboard &
115
- ```
116
-
117
- Default port: `9867`. Override with `BRIDGE_PORT=9868`.
118
- Auth: set `BRIDGE_TOKEN=<secret>` and pass `Authorization: Bearer <secret>`.
119
-
120
- Base URL for all examples: `http://localhost:9867`
121
-
122
- Token savings come from the API shape (`/text`, `/snapshot?filter=interactive&format=compact`), not from headless vs headed alone.
123
-
124
- ### Headed mode definition
28
+ **Security Note:** Pinchtab runs entirely locally. It does not contact external services, send telemetry, or exfiltrate data. However, it controls a real Chrome instance — if pointed at a profile with saved logins, agents can access authenticated sites. Always use a dedicated empty profile and set BRIDGE_TOKEN when exposing the API. See [TRUST.md](TRUST.md) for the full security model.
125
29
 
126
- Headed mode means a real visible Chrome window managed by Pinchtab.
30
+ ## Quick Start (Agent Workflow)
127
31
 
128
- - Human can open profile(s), log in, pass 2FA/captcha, and validate page state
129
- - Agent then calls Pinchtab HTTP APIs against that same running profile instance
130
- - Session state persists in the profile directory, so follow-up runs reuse cookies/storage
131
-
132
- In dashboard workflows, the dashboard process itself does not launch Chrome; it launches profile instances that run Chrome (headed or headless).
133
-
134
- To resolve a running profile endpoint from dashboard state:
32
+ The 30-second pattern for browser tasks:
135
33
 
136
34
  ```bash
137
- pinchtab connect <profile-name>
138
- ```
139
-
140
- Recommended human + agent flow:
141
-
142
- ```bash
143
- # human
144
- pinchtab dashboard
145
- # setup profile + launch profile instance
146
-
147
- # agent
148
- PINCHTAB_BASE_URL="$(pinchtab connect <profile-name>)"
149
- curl "$PINCHTAB_BASE_URL/health"
150
- ```
151
-
152
- ## Profile Management (Dashboard Mode)
153
-
154
- When running `pinchtab dashboard`, profiles are managed via the dashboard API on port 9867.
155
-
156
- ### List profiles
35
+ # 1. Start Pinchtab (runs forever, local on :9867)
36
+ pinchtab &
157
37
 
158
- ```bash
159
- curl http://localhost:9867/profiles
38
+ # 2. In your agent, follow this loop:
39
+ # a) Navigate to a URL
40
+ # b) Snapshot the page (get refs like e0, e5, e12)
41
+ # c) Act on a ref (click e5, type e12 "search text")
42
+ # d) Snapshot again to see the result
43
+ # e) Repeat step c-d until done
160
44
  ```
161
45
 
162
- Returns array of profiles with `id`, `name`, `accountEmail`, `useWhen`, etc.
46
+ **That's it.** Refs are stable—you don't need to re-snapshot before every action. Only snapshot when the page changes significantly.
163
47
 
164
- ### Start a profile by ID
48
+ ### Recommended Secure Setup
165
49
 
166
50
  ```bash
167
- # Auto-allocate port (recommended)
168
- curl -X POST http://localhost:9867/profiles/278be873adeb/start
169
-
170
- # With specific port and headless mode
171
- curl -X POST http://localhost:9867/profiles/278be873adeb/start \
172
- -H 'Content-Type: application/json' \
173
- -d '{"port": "9868", "headless": true}'
174
-
175
- # Short alias (same behavior)
176
- curl -X POST http://localhost:9867/start/278be873adeb
51
+ # Best practice for AI agents
52
+ BRIDGE_BIND=127.0.0.1 \
53
+ BRIDGE_TOKEN="your-strong-secret" \
54
+ BRIDGE_PROFILE=~/.pinchtab/automation-profile \
55
+ pinchtab &
177
56
  ```
178
57
 
179
- Returns the instance info including the allocated `port`. Use that port for all subsequent API calls (navigate, snapshot, action, etc.).
58
+ **Never expose to 0.0.0.0 without a token. Never point at your daily Chrome profile.**
180
59
 
181
- ### Stop a profile by ID
60
+ ## Setup
182
61
 
183
62
  ```bash
184
- curl -X POST http://localhost:9867/profiles/278be873adeb/stop
185
-
186
- # Short alias
187
- curl -X POST http://localhost:9867/stop/278be873adeb
188
- ```
189
-
190
- ### Check profile instance status
63
+ # Headless (default) — no visible window
64
+ pinchtab &
191
65
 
192
- ```bash
193
- # By profile ID (recommended)
194
- curl http://localhost:9867/profiles/278be873adeb/instance
66
+ # Headed — visible Chrome window for human debugging
67
+ BRIDGE_HEADLESS=false pinchtab &
195
68
 
196
- # By profile name (also works)
197
- curl http://localhost:9867/profiles/Pinchtab%20org/instance
198
- ```
69
+ # With auth token
70
+ BRIDGE_TOKEN="your-secret-token" pinchtab &
199
71
 
200
- ### Launch by name (dashboard style)
72
+ # Custom port
73
+ BRIDGE_PORT=8080 pinchtab &
201
74
 
202
- ```bash
203
- curl -X POST http://localhost:9867/instances/launch \
204
- -H 'Content-Type: application/json' \
205
- -d '{"name": "work", "port": "9868"}'
75
+ # Dashboard/orchestrator — profile manager + tab launcher
76
+ pinchtab dashboard &
206
77
  ```
207
78
 
208
- ### Typical agent flow with profiles
79
+ Default: **port 9867**, no auth required (local). Set `BRIDGE_TOKEN` for remote access.
209
80
 
210
- ```bash
211
- # 1. List profiles to find the right one
212
- PROFILES=$(curl -s http://localhost:9867/profiles)
213
- # Pick the profile ID you need (12-char hex, e.g. "278be873adeb")
214
-
215
- # 2. Start the profile (auto-allocates port)
216
- INSTANCE=$(curl -s -X POST http://localhost:9867/profiles/$PROFILE_ID/start)
217
- PORT=$(echo $INSTANCE | jq -r .port)
81
+ For advanced setup, see [references/profiles.md](references/profiles.md) and [references/env.md](references/env.md).
218
82
 
219
- # 3. Use the instance (all API calls go to the instance port)
220
- curl -X POST http://localhost:$PORT/navigate -H 'Content-Type: application/json' \
221
- -d '{"url": "https://mail.google.com"}'
222
- curl http://localhost:$PORT/snapshot?maxTokens=4000
83
+ ## What a Snapshot Looks Like
223
84
 
224
- # 4. Check instance status
225
- curl http://localhost:9867/profiles/$PROFILE_ID/instance
85
+ After calling `/snapshot`, you get the page's accessibility tree as JSON—flat list of elements with refs:
226
86
 
227
- # 5. Stop when done
228
- curl -s -X POST http://localhost:9867/profiles/$PROFILE_ID/stop
87
+ ```json
88
+ {
89
+ "refs": [
90
+ {"id": "e0", "role": "link", "text": "Sign In", "selector": "a[href='/login']"},
91
+ {"id": "e1", "role": "textbox", "label": "Email", "selector": "input[name='email']"},
92
+ {"id": "e2", "role": "button", "text": "Submit", "selector": "button[type='submit']"}
93
+ ],
94
+ "text": "... readable text version of page ...",
95
+ "title": "Login Page"
96
+ }
229
97
  ```
230
98
 
231
- ### Profile IDs
232
-
233
- Each profile gets a stable 12-char hex ID (SHA-256 of name, truncated) stored in `profile.json`. The ID is generated at creation time and never changes. Use IDs instead of names in automation — they're URL-safe and stable.
99
+ Then you act on refs: `click e0`, `type e1 "user@example.com"`, `press e2 Enter`.
234
100
 
235
101
  ## Core Workflow
236
102
 
@@ -243,268 +109,22 @@ The typical agent loop:
243
109
 
244
110
  Refs (e.g. `e0`, `e5`, `e12`) are cached per tab after each snapshot — no need to re-snapshot before every action unless the page changed significantly.
245
111
 
246
- ## API Reference
247
-
248
- ### Navigate
249
-
250
- ```bash
251
- curl -X POST http://localhost:9867/navigate \
252
- -H 'Content-Type: application/json' \
253
- -d '{"url": "https://example.com"}'
254
-
255
- # With options: custom timeout, block images, open in new tab
256
- curl -X POST http://localhost:9867/navigate \
257
- -H 'Content-Type: application/json' \
258
- -d '{"url": "https://example.com", "timeout": 60, "blockImages": true, "newTab": true}'
259
- ```
260
-
261
- ### Snapshot (accessibility tree)
262
-
263
- ```bash
264
- # Full tree
265
- curl http://localhost:9867/snapshot
266
-
267
- # Interactive elements only (buttons, links, inputs) — much smaller
268
- curl "http://localhost:9867/snapshot?filter=interactive"
269
-
270
- # Limit depth
271
- curl "http://localhost:9867/snapshot?depth=5"
272
-
273
- # Smart diff — only changes since last snapshot (massive token savings)
274
- curl "http://localhost:9867/snapshot?diff=true"
275
-
276
- # Text format — indented tree, ~40-60% fewer tokens than JSON
277
- curl "http://localhost:9867/snapshot?format=text"
278
-
279
- # Compact format — one-line-per-node, 56-64% fewer tokens than JSON (recommended)
280
- curl "http://localhost:9867/snapshot?format=compact"
281
-
282
- # YAML format
283
- curl "http://localhost:9867/snapshot?format=yaml"
284
-
285
- # Scope to CSS selector (e.g. main content only)
286
- curl "http://localhost:9867/snapshot?selector=main"
287
-
288
- # Truncate to ~N tokens
289
- curl "http://localhost:9867/snapshot?maxTokens=2000"
290
-
291
- # Combine for maximum efficiency
292
- curl "http://localhost:9867/snapshot?format=compact&selector=main&maxTokens=2000&filter=interactive"
293
-
294
- # Disable animations before capture
295
- curl "http://localhost:9867/snapshot?noAnimations=true"
296
-
297
- # Write to file
298
- curl "http://localhost:9867/snapshot?output=file&path=/tmp/snapshot.json"
299
- ```
300
-
301
- Returns flat JSON array of nodes with `ref`, `role`, `name`, `depth`, `value`, `nodeId`.
302
-
303
- **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.
304
-
305
- ### Act on elements
112
+ ### Quick examples
306
113
 
307
114
  ```bash
308
- # Click by ref
309
- curl -X POST http://localhost:9867/action \
310
- -H 'Content-Type: application/json' \
311
- -d '{"kind": "click", "ref": "e5"}'
312
-
313
- # Type into focused element (click first, then type)
314
- curl -X POST http://localhost:9867/action \
315
- -H 'Content-Type: application/json' \
316
- -d '{"kind": "click", "ref": "e12"}'
317
- curl -X POST http://localhost:9867/action \
318
- -H 'Content-Type: application/json' \
319
- -d '{"kind": "type", "ref": "e12", "text": "hello world"}'
320
-
321
- # Press a key
322
- curl -X POST http://localhost:9867/action \
323
- -H 'Content-Type: application/json' \
324
- -d '{"kind": "press", "key": "Enter"}'
325
-
326
- # Focus an element
327
- curl -X POST http://localhost:9867/action \
328
- -H 'Content-Type: application/json' \
329
- -d '{"kind": "focus", "ref": "e3"}'
330
-
331
- # Fill (set value directly, no keystrokes)
332
- curl -X POST http://localhost:9867/action \
333
- -H 'Content-Type: application/json' \
334
- -d '{"kind": "fill", "selector": "#email", "text": "user@example.com"}'
335
-
336
- # Hover (trigger dropdowns/tooltips)
337
- curl -X POST http://localhost:9867/action \
338
- -H 'Content-Type: application/json' \
339
- -d '{"kind": "hover", "ref": "e8"}'
340
-
341
- # Select dropdown option (by value or visible text)
342
- curl -X POST http://localhost:9867/action \
343
- -H 'Content-Type: application/json' \
344
- -d '{"kind": "select", "ref": "e10", "value": "option2"}'
345
-
346
- # Scroll to element
347
- curl -X POST http://localhost:9867/action \
348
- -H 'Content-Type: application/json' \
349
- -d '{"kind": "scroll", "ref": "e20"}'
350
-
351
- # Scroll by pixels (infinite scroll pages)
352
- curl -X POST http://localhost:9867/action \
353
- -H 'Content-Type: application/json' \
354
- -d '{"kind": "scroll", "scrollY": 800}'
355
-
356
- # Click and wait for navigation (link clicks)
357
- curl -X POST http://localhost:9867/action \
358
- -H 'Content-Type: application/json' \
359
- -d '{"kind": "click", "ref": "e5", "waitNav": true}'
115
+ pinchtab nav https://example.com
116
+ pinchtab snap -i -c # interactive + compact
117
+ pinchtab click e5
118
+ pinchtab type e12 hello world
119
+ pinchtab press Enter
120
+ pinchtab text # readable text (~1K tokens)
121
+ pinchtab text | jq .text # pipe to jq
122
+ pinchtab ss -o page.jpg # screenshot
123
+ pinchtab eval "document.title" # run JavaScript
124
+ pinchtab pdf -o page.pdf # export PDF
360
125
  ```
361
126
 
362
- ### Extract text
363
-
364
- ```bash
365
- # Readability mode (default) — strips nav/footer/ads, keeps article/main content
366
- curl http://localhost:9867/text
367
-
368
- # Raw innerText (old behavior)
369
- curl "http://localhost:9867/text?mode=raw"
370
- ```
371
-
372
- Returns `{url, title, text}`. Cheapest option (~1K tokens for most pages).
373
-
374
- ### Download files
375
-
376
- ```bash
377
- # Download using browser session (preserves cookies, auth, stealth)
378
- # Returns base64 JSON by default
379
- curl "http://localhost:9867/download?url=https://site.com/report.pdf"
380
-
381
- # Raw bytes (pipe to file)
382
- curl "http://localhost:9867/download?url=https://site.com/image.jpg&raw=true" -o image.jpg
383
-
384
- # Save directly to disk
385
- curl "http://localhost:9867/download?url=https://site.com/export.csv&output=file&path=/tmp/export.csv"
386
- ```
387
-
388
- Key use case: downloading files from authenticated sites — the browser's cookies and stealth settings are used automatically. No need to extract cookies and use curl separately.
389
-
390
- ### Upload files
391
-
392
- ```bash
393
- # Upload a local file to a file input
394
- curl -X POST "http://localhost:9867/upload?tabId=TAB_ID" \
395
- -H "Content-Type: application/json" \
396
- -d '{"selector": "input[type=file]", "paths": ["/tmp/photo.jpg"]}'
397
-
398
- # Upload base64-encoded data
399
- curl -X POST "http://localhost:9867/upload" \
400
- -H "Content-Type: application/json" \
401
- -d '{"selector": "#avatar-input", "files": ["data:image/png;base64,iVBOR..."]}'
402
-
403
- # Combine both — local files + base64
404
- curl -X POST "http://localhost:9867/upload" \
405
- -H "Content-Type: application/json" \
406
- -d '{"selector": "input[type=file]", "paths": ["/tmp/doc.pdf"], "files": ["data:image/png;base64,..."]}'
407
- ```
408
-
409
- Sets files on `<input type=file>` elements via CDP. The browser fires `change` events as if the user picked files. Selector defaults to `input[type=file]` if omitted. Supports base64 data URLs, raw base64 strings, and local file paths.
410
-
411
- ### Screenshot
412
-
413
- ```bash
414
- # Raw JPEG bytes
415
- curl "http://localhost:9867/screenshot?raw=true" -o screenshot.jpg
416
-
417
- # With quality setting (default 80)
418
- curl "http://localhost:9867/screenshot?raw=true&quality=50" -o screenshot.jpg
419
- ```
420
-
421
- ### Evaluate JavaScript
422
-
423
- ```bash
424
- curl -X POST http://localhost:9867/evaluate \
425
- -H 'Content-Type: application/json' \
426
- -d '{"expression": "document.title"}'
427
- ```
428
-
429
- ### Tab management
430
-
431
- ```bash
432
- # List tabs
433
- curl http://localhost:9867/tabs
434
-
435
- # Open new tab
436
- curl -X POST http://localhost:9867/tab \
437
- -H 'Content-Type: application/json' \
438
- -d '{"action": "new", "url": "https://example.com"}'
439
-
440
- # Close tab
441
- curl -X POST http://localhost:9867/tab \
442
- -H 'Content-Type: application/json' \
443
- -d '{"action": "close", "tabId": "TARGET_ID"}'
444
- ```
445
-
446
- Multi-tab: pass `?tabId=TARGET_ID` to snapshot/screenshot/text, or `"tabId"` in POST body.
447
-
448
- ### Tab locking (multi-agent)
449
-
450
- ```bash
451
- # Lock a tab (default 30s timeout, max 5min)
452
- curl -X POST http://localhost:9867/tab/lock \
453
- -H 'Content-Type: application/json' \
454
- -d '{"tabId": "TARGET_ID", "owner": "agent-1", "timeoutSec": 60}'
455
-
456
- # Unlock
457
- curl -X POST http://localhost:9867/tab/unlock \
458
- -H 'Content-Type: application/json' \
459
- -d '{"tabId": "TARGET_ID", "owner": "agent-1"}'
460
- ```
461
-
462
- Locked tabs show `owner` and `lockedUntil` in `/tabs`. Returns 409 on conflict.
463
-
464
- ### Batch actions
465
-
466
- ```bash
467
- # Execute multiple actions in sequence
468
- curl -X POST http://localhost:9867/actions \
469
- -H 'Content-Type: application/json' \
470
- -d '{"actions":[{"kind":"click","ref":"e3"},{"kind":"type","ref":"e3","text":"hello"},{"kind":"press","key":"Enter"}]}'
471
-
472
- # Stop on first error (default: false, continues through all)
473
- curl -X POST http://localhost:9867/actions \
474
- -H 'Content-Type: application/json' \
475
- -d '{"tabId":"TARGET_ID","actions":[...],"stopOnError":true}'
476
- ```
477
-
478
- ### Cookies
479
-
480
- ```bash
481
- # Get cookies for current page
482
- curl http://localhost:9867/cookies
483
-
484
- # Set cookies
485
- curl -X POST http://localhost:9867/cookies \
486
- -H 'Content-Type: application/json' \
487
- -d '{"url":"https://example.com","cookies":[{"name":"session","value":"abc123"}]}'
488
- ```
489
-
490
- ### Stealth
491
-
492
- ```bash
493
- # Check stealth status and score
494
- curl http://localhost:9867/stealth/status
495
-
496
- # Rotate browser fingerprint
497
- curl -X POST http://localhost:9867/fingerprint/rotate \
498
- -H 'Content-Type: application/json' \
499
- -d '{"os":"windows"}'
500
- # os: "windows", "mac", or omit for random
501
- ```
502
-
503
- ### Health check
504
-
505
- ```bash
506
- curl http://localhost:9867/health
507
- ```
127
+ For the full HTTP API (curl examples, download, upload, cookies, stealth, batch actions, PDF export with full parameter control), see [references/api.md](references/api.md).
508
128
 
509
129
  ## Token Cost Guide
510
130
 
@@ -513,58 +133,41 @@ curl http://localhost:9867/health
513
133
  | `/text` | ~800 | Reading page content |
514
134
  | `/snapshot?filter=interactive` | ~3,600 | Finding buttons/links to click |
515
135
  | `/snapshot?diff=true` | varies | Multi-step workflows (only changes) |
516
- | `/snapshot?format=compact` | ~56-64% less | One-line-per-node, best token efficiency |
517
- | `/snapshot?format=text` | ~40-60% less | Indented tree, cheaper than JSON |
136
+ | `/snapshot?format=compact` | ~56-64% less | One-line-per-node, best efficiency |
518
137
  | `/snapshot` | ~10,500 | Full page understanding |
519
138
  | `/screenshot` | ~2K (vision) | Visual verification |
139
+ | `/pdf` | 0 (binary) | Export page as PDF (no token cost) |
520
140
 
521
- **Strategy**: Start with `/snapshot?filter=interactive`. Use `?diff=true` on subsequent snapshots in multi-step tasks. Use `/text` when you only need the readable content. Use `?format=text` to cut token costs further. Use full `/snapshot` only for complete page understanding.
141
+ **Strategy**: Start with `?filter=interactive&format=compact`. Use `?diff=true` on subsequent snapshots. Use `/text` when you only need readable content. Full `/snapshot` only when needed.
522
142
 
523
- ## Environment Variables
143
+ ## Agent Optimization
524
144
 
525
- ### Core runtime
145
+ **Validated Feb 2026**: Testing with AI agents revealed a critical pattern for reliable, token-efficient scraping.
526
146
 
527
- | Var | Default | Description |
528
- |---|---|---|
529
- | `BRIDGE_BIND` | `127.0.0.1` | Bind address — localhost only by default. Set `0.0.0.0` for network access |
530
- | `BRIDGE_PORT` | `9867` | HTTP port |
531
- | `BRIDGE_HEADLESS` | `true` | Run Chrome headless |
532
- | `BRIDGE_TOKEN` | (none) | Bearer auth token (recommended when using `BRIDGE_BIND=0.0.0.0`) |
533
- | `BRIDGE_PROFILE` | `~/.pinchtab/chrome-profile` | Chrome profile dir |
534
- | `BRIDGE_STATE_DIR` | `~/.pinchtab` | State/session storage |
535
- | `BRIDGE_NO_RESTORE` | `false` | Skip tab restore on startup |
536
- | `BRIDGE_STEALTH` | `light` | Stealth level: `light` or `full` |
537
- | `BRIDGE_MAX_TABS` | `20` | Max open tabs (0 = unlimited) |
538
- | `BRIDGE_BLOCK_IMAGES` | `false` | Block image loading |
539
- | `BRIDGE_BLOCK_MEDIA` | `false` | Block all media (images + fonts + CSS + video) |
540
- | `BRIDGE_NO_ANIMATIONS` | `false` | Disable CSS animations/transitions |
541
- | `BRIDGE_TIMEZONE` | (none) | Force browser timezone (IANA tz) |
542
- | `BRIDGE_CHROME_VERSION` | `144.0.7559.133` | Chrome version string used by fingerprint rotation |
543
- | `CHROME_BINARY` | (auto) | Path to Chrome/Chromium binary |
544
- | `CHROME_FLAGS` | (none) | Extra Chrome flags (space-separated) |
545
- | `BRIDGE_CONFIG` | `~/.pinchtab/config.json` | Path to config JSON file |
546
- | `BRIDGE_TIMEOUT` | `15` | Action timeout (seconds) |
547
- | `BRIDGE_NAV_TIMEOUT` | `30` | Navigation timeout (seconds) |
548
- | `CDP_URL` | (none) | Connect to existing Chrome DevTools |
549
- | `BRIDGE_NO_DASHBOARD` | `false` | Disable dashboard/orchestrator endpoints on instance processes |
550
-
551
- ### Dashboard mode (`pinchtab dashboard`)
552
-
553
- | Var | Default | Description |
554
- |---|---|---|
555
- | `PINCHTAB_AUTO_LAUNCH` | `false` | Auto-launch a default profile at dashboard startup |
556
- | `PINCHTAB_DEFAULT_PROFILE` | `default` | Profile name for auto-launch |
557
- | `PINCHTAB_DEFAULT_PORT` | `9867` | Port for auto-launched profile |
558
- | `PINCHTAB_HEADED` | (unset) | If set, auto-launched profile is headed; unset means headless |
559
- | `PINCHTAB_DASHBOARD_URL` | `http://localhost:$BRIDGE_PORT` | CLI helper base URL for `pinchtab connect` |
147
+ **See the full guide:** [docs/agent-optimization.md](../../docs/agent-optimization.md)
148
+
149
+ ### Quick Summary
150
+
151
+ **The 3-second pattern** wait after navigate before snapshot:
152
+
153
+ ```bash
154
+ curl -X POST http://localhost:9867/navigate \
155
+ -H "Content-Type: application/json" \
156
+ -d '{"url": "https://example.com"}' && \
157
+ sleep 3 && \
158
+ curl http://localhost:9867/snapshot | jq '.nodes[] | select(.name | length > 15) | .name'
159
+ ```
160
+
161
+ **Token savings:** 93% reduction (3,842 → 272 tokens) when using prescriptive instructions vs. exploratory agent approach.
162
+
163
+ For detailed findings, system prompt templates, and site-specific notes, see [docs/agent-optimization.md](../../docs/agent-optimization.md).
560
164
 
561
165
  ## Tips
562
166
 
563
- - **Always pass `tabId` explicitly** when working with multiple tabs — active tab tracking can be unreliable
167
+ - **Always pass `tabId` explicitly** when working with multiple tabs
564
168
  - Refs are stable between snapshot and actions — no need to re-snapshot before clicking
565
- - After navigation or major page changes, take a new snapshot to get fresh refs
566
- - Use `filter=interactive` by default, fall back to full snapshot when needed
169
+ - After navigation or major page changes, take a new snapshot for fresh refs
567
170
  - Pinchtab persists sessions — tabs survive restarts (disable with `BRIDGE_NO_RESTORE=true`)
568
171
  - Chrome profile is persistent — cookies/logins carry over between runs
569
- - Chrome uses its native User-Agent by default `BRIDGE_CHROME_VERSION` only affects fingerprint rotation
570
- - Use `BRIDGE_BLOCK_IMAGES=true` or `"blockImages": true` on navigate for read-heavy tasks reduces bandwidth and memory
172
+ - Use `BRIDGE_BLOCK_IMAGES=true` or `"blockImages": true` on navigate for read-heavy tasks
173
+ - **Wait 3+ seconds after navigate before snapshot** Chrome needs time to render 2000+ accessibility tree nodes