@arthai/agents 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (390) hide show
  1. package/README.md +123 -0
  2. package/VERSION +1 -0
  3. package/agents/ai-consultant.md +999 -0
  4. package/agents/architect.md +174 -0
  5. package/agents/code-reviewer.md +115 -0
  6. package/agents/competitive-analyst.md +688 -0
  7. package/agents/content-strategist.md +607 -0
  8. package/agents/design-studio-create.md +304 -0
  9. package/agents/design-studio-critique.md +258 -0
  10. package/agents/design-studio-think.md +79 -0
  11. package/agents/domain-hunter.md +519 -0
  12. package/agents/explore-light.md +52 -0
  13. package/agents/frontend.md +261 -0
  14. package/agents/gtm-expert.md +811 -0
  15. package/agents/meeting-prep.md +318 -0
  16. package/agents/ops.md +149 -0
  17. package/agents/product-manager.md +563 -0
  18. package/agents/python-backend.md +286 -0
  19. package/agents/qa-baseline-updater.md +45 -0
  20. package/agents/qa-challenger.md +97 -0
  21. package/agents/qa-domain.md +145 -0
  22. package/agents/qa-e2e.md +184 -0
  23. package/agents/qa-test-promoter.md +97 -0
  24. package/agents/qa.md +226 -0
  25. package/agents/setup.md +134 -0
  26. package/agents/sre.md +165 -0
  27. package/agents/stakeholder-reporter.md +94 -0
  28. package/agents/user-researcher.md +602 -0
  29. package/bin/cli.js +322 -0
  30. package/bundles/canvas.json +16 -0
  31. package/bundles/compass.json +16 -0
  32. package/bundles/counsel.json +31 -0
  33. package/bundles/cruise.json +11 -0
  34. package/bundles/forge.json +26 -0
  35. package/bundles/prime.json +10 -0
  36. package/bundles/prism.json +23 -0
  37. package/bundles/scalpel.json +17 -0
  38. package/bundles/sentinel.json +19 -0
  39. package/bundles/shield.json +14 -0
  40. package/bundles/spark.json +19 -0
  41. package/compiler.sh +305 -0
  42. package/dist/plugins/canvas/.claude-plugin/plugin.json +6 -0
  43. package/dist/plugins/canvas/agents/design-studio-create.md +304 -0
  44. package/dist/plugins/canvas/agents/design-studio-critique.md +258 -0
  45. package/dist/plugins/canvas/agents/design-studio-think.md +79 -0
  46. package/dist/plugins/canvas/agents/frontend.md +261 -0
  47. package/dist/plugins/canvas/skills/planning/SKILL.md +436 -0
  48. package/dist/plugins/compass/.claude-plugin/plugin.json +6 -0
  49. package/dist/plugins/compass/agents/content-strategist.md +607 -0
  50. package/dist/plugins/compass/agents/gtm-expert.md +811 -0
  51. package/dist/plugins/compass/agents/product-manager.md +563 -0
  52. package/dist/plugins/compass/agents/user-researcher.md +602 -0
  53. package/dist/plugins/compass/skills/planning/SKILL.md +436 -0
  54. package/dist/plugins/counsel/.claude-plugin/plugin.json +6 -0
  55. package/dist/plugins/counsel/agents/ai-consultant.md +999 -0
  56. package/dist/plugins/counsel/agents/competitive-analyst.md +688 -0
  57. package/dist/plugins/counsel/agents/meeting-prep.md +318 -0
  58. package/dist/plugins/counsel/agents/stakeholder-reporter.md +94 -0
  59. package/dist/plugins/counsel/hooks/check-deliverable.sh +65 -0
  60. package/dist/plugins/counsel/hooks/ensure-client-dir.sh +59 -0
  61. package/dist/plugins/counsel/hooks/hooks.json +28 -0
  62. package/dist/plugins/counsel/skills/client-discovery/SKILL.md +266 -0
  63. package/dist/plugins/counsel/skills/consulting/SKILL.md +282 -0
  64. package/dist/plugins/counsel/skills/deliverable-builder/SKILL.md +928 -0
  65. package/dist/plugins/counsel/skills/engagement-tracker/SKILL.md +380 -0
  66. package/dist/plugins/counsel/skills/market-research/SKILL.md +300 -0
  67. package/dist/plugins/counsel/skills/opportunity-map/SKILL.md +307 -0
  68. package/dist/plugins/counsel/skills/pitch-generator/SKILL.md +378 -0
  69. package/dist/plugins/counsel/skills/roi-calculator/SKILL.md +469 -0
  70. package/dist/plugins/counsel/skills/share/SKILL.md +211 -0
  71. package/dist/plugins/counsel/skills/solution-architect/SKILL.md +566 -0
  72. package/dist/plugins/counsel/skills/templates/SKILL.md +194 -0
  73. package/dist/plugins/counsel/skills/welcome/SKILL.md +136 -0
  74. package/dist/plugins/counsel/skills/wizard/SKILL.md +411 -0
  75. package/dist/plugins/cruise/.claude-plugin/plugin.json +6 -0
  76. package/dist/plugins/cruise/skills/autopilot/SKILL.md +425 -0
  77. package/dist/plugins/forge/.claude-plugin/plugin.json +6 -0
  78. package/dist/plugins/forge/agents/architect.md +174 -0
  79. package/dist/plugins/forge/agents/code-reviewer.md +115 -0
  80. package/dist/plugins/forge/agents/frontend.md +261 -0
  81. package/dist/plugins/forge/agents/product-manager.md +563 -0
  82. package/dist/plugins/forge/agents/python-backend.md +286 -0
  83. package/dist/plugins/forge/agents/qa.md +226 -0
  84. package/dist/plugins/forge/hooks/hooks.json +28 -0
  85. package/dist/plugins/forge/hooks/post-test-summary.sh +115 -0
  86. package/dist/plugins/forge/hooks/triage-router.sh +740 -0
  87. package/dist/plugins/forge/skills/implement/SKILL.md +532 -0
  88. package/dist/plugins/forge/skills/planning/SKILL.md +436 -0
  89. package/dist/plugins/forge/skills/pr/SKILL.md +275 -0
  90. package/dist/plugins/forge/skills/precheck/SKILL.md +159 -0
  91. package/dist/plugins/forge/skills/qa/SKILL.md +127 -0
  92. package/dist/plugins/forge/skills/review-pr/SKILL.md +367 -0
  93. package/dist/plugins/prime/.claude-plugin/plugin.json +6 -0
  94. package/dist/plugins/prime/agents/ai-consultant.md +999 -0
  95. package/dist/plugins/prime/agents/architect.md +174 -0
  96. package/dist/plugins/prime/agents/code-reviewer.md +115 -0
  97. package/dist/plugins/prime/agents/competitive-analyst.md +688 -0
  98. package/dist/plugins/prime/agents/content-strategist.md +607 -0
  99. package/dist/plugins/prime/agents/design-studio-create.md +304 -0
  100. package/dist/plugins/prime/agents/design-studio-critique.md +258 -0
  101. package/dist/plugins/prime/agents/design-studio-think.md +79 -0
  102. package/dist/plugins/prime/agents/explore-light.md +52 -0
  103. package/dist/plugins/prime/agents/frontend.md +261 -0
  104. package/dist/plugins/prime/agents/gtm-expert.md +811 -0
  105. package/dist/plugins/prime/agents/meeting-prep.md +318 -0
  106. package/dist/plugins/prime/agents/ops.md +149 -0
  107. package/dist/plugins/prime/agents/product-manager.md +563 -0
  108. package/dist/plugins/prime/agents/python-backend.md +286 -0
  109. package/dist/plugins/prime/agents/qa-baseline-updater.md +45 -0
  110. package/dist/plugins/prime/agents/qa-challenger.md +97 -0
  111. package/dist/plugins/prime/agents/qa-domain.md +145 -0
  112. package/dist/plugins/prime/agents/qa-e2e.md +184 -0
  113. package/dist/plugins/prime/agents/qa-test-promoter.md +97 -0
  114. package/dist/plugins/prime/agents/qa.md +226 -0
  115. package/dist/plugins/prime/agents/setup.md +134 -0
  116. package/dist/plugins/prime/agents/sre.md +165 -0
  117. package/dist/plugins/prime/agents/stakeholder-reporter.md +94 -0
  118. package/dist/plugins/prime/agents/user-researcher.md +602 -0
  119. package/dist/plugins/prime/hooks/check-deliverable.sh +65 -0
  120. package/dist/plugins/prime/hooks/ensure-client-dir.sh +59 -0
  121. package/dist/plugins/prime/hooks/hooks.json +184 -0
  122. package/dist/plugins/prime/hooks/post-deploy-health.sh +83 -0
  123. package/dist/plugins/prime/hooks/post-diff-test-compare.sh +125 -0
  124. package/dist/plugins/prime/hooks/post-edit-lint.sh +92 -0
  125. package/dist/plugins/prime/hooks/post-git-state.sh +54 -0
  126. package/dist/plugins/prime/hooks/post-merge-cleanup.sh +101 -0
  127. package/dist/plugins/prime/hooks/post-test-summary.sh +115 -0
  128. package/dist/plugins/prime/hooks/pre-bash-guard.sh +142 -0
  129. package/dist/plugins/prime/hooks/pre-edit-guard.sh +121 -0
  130. package/dist/plugins/prime/hooks/pre-task-context.sh +113 -0
  131. package/dist/plugins/prime/hooks/session-bootstrap.sh +379 -0
  132. package/dist/plugins/prime/hooks/session-end.sh +107 -0
  133. package/dist/plugins/prime/hooks/session-summary.sh +97 -0
  134. package/dist/plugins/prime/hooks/sync-agents.sh +269 -0
  135. package/dist/plugins/prime/hooks/triage-router.sh +740 -0
  136. package/dist/plugins/prime/skills/arth/SKILL.md +165 -0
  137. package/dist/plugins/prime/skills/autopilot/SKILL.md +425 -0
  138. package/dist/plugins/prime/skills/calibrate/SKILL.md +1807 -0
  139. package/dist/plugins/prime/skills/ci-fix/SKILL.md +293 -0
  140. package/dist/plugins/prime/skills/client-discovery/SKILL.md +266 -0
  141. package/dist/plugins/prime/skills/consulting/SKILL.md +282 -0
  142. package/dist/plugins/prime/skills/custom-domain/SKILL.md +261 -0
  143. package/dist/plugins/prime/skills/deliverable-builder/SKILL.md +928 -0
  144. package/dist/plugins/prime/skills/discord-ops/SKILL.md +125 -0
  145. package/dist/plugins/prime/skills/engagement-tracker/SKILL.md +380 -0
  146. package/dist/plugins/prime/skills/explore.md +43 -0
  147. package/dist/plugins/prime/skills/fix/SKILL.md +1058 -0
  148. package/dist/plugins/prime/skills/implement/SKILL.md +532 -0
  149. package/dist/plugins/prime/skills/incident/SKILL.md +910 -0
  150. package/dist/plugins/prime/skills/issue/SKILL.md +134 -0
  151. package/dist/plugins/prime/skills/market-research/SKILL.md +300 -0
  152. package/dist/plugins/prime/skills/onboard/SKILL.md +344 -0
  153. package/dist/plugins/prime/skills/opportunity-map/SKILL.md +307 -0
  154. package/dist/plugins/prime/skills/pitch-generator/SKILL.md +378 -0
  155. package/dist/plugins/prime/skills/planning/SKILL.md +436 -0
  156. package/dist/plugins/prime/skills/pr/SKILL.md +275 -0
  157. package/dist/plugins/prime/skills/precheck/SKILL.md +159 -0
  158. package/dist/plugins/prime/skills/qa/SKILL.md +127 -0
  159. package/dist/plugins/prime/skills/qa-incident/SKILL.md +54 -0
  160. package/dist/plugins/prime/skills/qa-learn/SKILL.md +47 -0
  161. package/dist/plugins/prime/skills/restart/SKILL.md +70 -0
  162. package/dist/plugins/prime/skills/review-pr/SKILL.md +367 -0
  163. package/dist/plugins/prime/skills/roi-calculator/SKILL.md +469 -0
  164. package/dist/plugins/prime/skills/scan/SKILL.md +232 -0
  165. package/dist/plugins/prime/skills/setup/SKILL.md +691 -0
  166. package/dist/plugins/prime/skills/share/SKILL.md +211 -0
  167. package/dist/plugins/prime/skills/solution-architect/SKILL.md +566 -0
  168. package/dist/plugins/prime/skills/sre/SKILL.md +362 -0
  169. package/dist/plugins/prime/skills/sync/SKILL.md +188 -0
  170. package/dist/plugins/prime/skills/templates/SKILL.md +194 -0
  171. package/dist/plugins/prime/skills/welcome/SKILL.md +136 -0
  172. package/dist/plugins/prime/skills/wizard/SKILL.md +411 -0
  173. package/dist/plugins/prism/.claude-plugin/plugin.json +6 -0
  174. package/dist/plugins/prism/agents/qa-baseline-updater.md +45 -0
  175. package/dist/plugins/prism/agents/qa-challenger.md +97 -0
  176. package/dist/plugins/prism/agents/qa-domain.md +145 -0
  177. package/dist/plugins/prism/agents/qa-e2e.md +184 -0
  178. package/dist/plugins/prism/agents/qa-test-promoter.md +97 -0
  179. package/dist/plugins/prism/agents/qa.md +226 -0
  180. package/dist/plugins/prism/hooks/hooks.json +26 -0
  181. package/dist/plugins/prism/hooks/post-diff-test-compare.sh +125 -0
  182. package/dist/plugins/prism/hooks/post-test-summary.sh +115 -0
  183. package/dist/plugins/prism/skills/qa/SKILL.md +127 -0
  184. package/dist/plugins/prism/skills/qa-incident/SKILL.md +54 -0
  185. package/dist/plugins/prism/skills/qa-learn/SKILL.md +47 -0
  186. package/dist/plugins/scalpel/.claude-plugin/plugin.json +6 -0
  187. package/dist/plugins/scalpel/agents/code-reviewer.md +115 -0
  188. package/dist/plugins/scalpel/hooks/hooks.json +26 -0
  189. package/dist/plugins/scalpel/hooks/pre-edit-guard.sh +121 -0
  190. package/dist/plugins/scalpel/skills/ci-fix/SKILL.md +293 -0
  191. package/dist/plugins/scalpel/skills/fix/SKILL.md +1058 -0
  192. package/dist/plugins/scalpel/skills/issue/SKILL.md +134 -0
  193. package/dist/plugins/sentinel/.claude-plugin/plugin.json +6 -0
  194. package/dist/plugins/sentinel/agents/ops.md +149 -0
  195. package/dist/plugins/sentinel/agents/sre.md +165 -0
  196. package/dist/plugins/sentinel/hooks/hooks.json +26 -0
  197. package/dist/plugins/sentinel/hooks/post-deploy-health.sh +83 -0
  198. package/dist/plugins/sentinel/hooks/post-git-state.sh +54 -0
  199. package/dist/plugins/sentinel/skills/incident/SKILL.md +910 -0
  200. package/dist/plugins/sentinel/skills/restart/SKILL.md +70 -0
  201. package/dist/plugins/sentinel/skills/sre/SKILL.md +362 -0
  202. package/dist/plugins/shield/.claude-plugin/plugin.json +6 -0
  203. package/dist/plugins/shield/hooks/hooks.json +60 -0
  204. package/dist/plugins/shield/hooks/pre-bash-guard.sh +142 -0
  205. package/dist/plugins/shield/hooks/pre-edit-guard.sh +121 -0
  206. package/dist/plugins/shield/hooks/session-bootstrap.sh +379 -0
  207. package/dist/plugins/shield/hooks/triage-router.sh +740 -0
  208. package/dist/plugins/spark/.claude-plugin/plugin.json +6 -0
  209. package/dist/plugins/spark/agents/explore-light.md +52 -0
  210. package/dist/plugins/spark/agents/setup.md +134 -0
  211. package/dist/plugins/spark/hooks/hooks.json +16 -0
  212. package/dist/plugins/spark/hooks/session-bootstrap.sh +379 -0
  213. package/dist/plugins/spark/skills/calibrate/SKILL.md +1807 -0
  214. package/dist/plugins/spark/skills/onboard/SKILL.md +344 -0
  215. package/dist/plugins/spark/skills/scan/SKILL.md +232 -0
  216. package/dist/plugins/spark/skills/setup/SKILL.md +691 -0
  217. package/hook-defs.json +104 -0
  218. package/hooks/check-deliverable.sh +65 -0
  219. package/hooks/ensure-client-dir.sh +59 -0
  220. package/hooks/hooks.json +16 -0
  221. package/hooks/post-deploy-health.sh +83 -0
  222. package/hooks/post-diff-test-compare.sh +125 -0
  223. package/hooks/post-edit-lint.sh +92 -0
  224. package/hooks/post-git-state.sh +54 -0
  225. package/hooks/post-merge-cleanup.sh +101 -0
  226. package/hooks/post-test-summary.sh +115 -0
  227. package/hooks/pre-bash-guard.sh +142 -0
  228. package/hooks/pre-edit-guard.sh +121 -0
  229. package/hooks/pre-task-context.sh +113 -0
  230. package/hooks/session-bootstrap.sh +379 -0
  231. package/hooks/session-end.sh +107 -0
  232. package/hooks/session-start.sh +46 -0
  233. package/hooks/session-summary.sh +97 -0
  234. package/hooks/sync-agents.sh +269 -0
  235. package/hooks/triage-router.sh +740 -0
  236. package/install.sh +3185 -0
  237. package/package.json +40 -0
  238. package/portable.manifest +112 -0
  239. package/skills/arth/SKILL.md +165 -0
  240. package/skills/autopilot/SKILL.md +425 -0
  241. package/skills/calibrate/SKILL.md +1807 -0
  242. package/skills/ci-fix/SKILL.md +293 -0
  243. package/skills/client-discovery/SKILL.md +266 -0
  244. package/skills/consulting/SKILL.md +282 -0
  245. package/skills/continue/SKILL.md +174 -0
  246. package/skills/custom-domain/SKILL.md +261 -0
  247. package/skills/deliverable-builder/SKILL.md +928 -0
  248. package/skills/discord-ops/SKILL.md +125 -0
  249. package/skills/engagement-tracker/SKILL.md +380 -0
  250. package/skills/explore.md +43 -0
  251. package/skills/fix/SKILL.md +1058 -0
  252. package/skills/implement/SKILL.md +532 -0
  253. package/skills/incident/SKILL.md +910 -0
  254. package/skills/issue/SKILL.md +134 -0
  255. package/skills/market-research/SKILL.md +300 -0
  256. package/skills/onboard/SKILL.md +344 -0
  257. package/skills/opportunity-map/SKILL.md +307 -0
  258. package/skills/pitch-generator/SKILL.md +378 -0
  259. package/skills/planning/SKILL.md +436 -0
  260. package/skills/pr/SKILL.md +275 -0
  261. package/skills/precheck/SKILL.md +159 -0
  262. package/skills/qa/SKILL.md +127 -0
  263. package/skills/qa-incident/SKILL.md +54 -0
  264. package/skills/qa-learn/SKILL.md +47 -0
  265. package/skills/railway/central-station/SKILL.md +226 -0
  266. package/skills/railway/central-station/references/environment-config.md +183 -0
  267. package/skills/railway/central-station/references/monorepo.md +216 -0
  268. package/skills/railway/central-station/references/railpack.md +257 -0
  269. package/skills/railway/central-station/references/variables.md +170 -0
  270. package/skills/railway/database/SKILL.md +284 -0
  271. package/skills/railway/database/references/environment-config.md +183 -0
  272. package/skills/railway/database/references/monorepo.md +216 -0
  273. package/skills/railway/database/references/railpack.md +257 -0
  274. package/skills/railway/database/references/variables.md +170 -0
  275. package/skills/railway/database/scripts/railway-api.sh +41 -0
  276. package/skills/railway/deploy/SKILL.md +128 -0
  277. package/skills/railway/deploy/references/environment-config.md +183 -0
  278. package/skills/railway/deploy/references/monorepo.md +216 -0
  279. package/skills/railway/deploy/references/railpack.md +257 -0
  280. package/skills/railway/deploy/references/variables.md +170 -0
  281. package/skills/railway/deployment/SKILL.md +222 -0
  282. package/skills/railway/deployment/references/environment-config.md +183 -0
  283. package/skills/railway/deployment/references/monorepo.md +216 -0
  284. package/skills/railway/deployment/references/railpack.md +257 -0
  285. package/skills/railway/deployment/references/variables.md +170 -0
  286. package/skills/railway/domain/SKILL.md +137 -0
  287. package/skills/railway/domain/references/environment-config.md +183 -0
  288. package/skills/railway/domain/references/monorepo.md +216 -0
  289. package/skills/railway/domain/references/railpack.md +257 -0
  290. package/skills/railway/domain/references/variables.md +170 -0
  291. package/skills/railway/environment/SKILL.md +266 -0
  292. package/skills/railway/environment/references/environment-config.md +183 -0
  293. package/skills/railway/environment/references/monorepo.md +216 -0
  294. package/skills/railway/environment/references/railpack.md +257 -0
  295. package/skills/railway/environment/references/variables.md +170 -0
  296. package/skills/railway/metrics/SKILL.md +211 -0
  297. package/skills/railway/metrics/references/environment-config.md +183 -0
  298. package/skills/railway/metrics/references/monorepo.md +216 -0
  299. package/skills/railway/metrics/references/railpack.md +257 -0
  300. package/skills/railway/metrics/references/variables.md +170 -0
  301. package/skills/railway/metrics/scripts/railway-api.sh +41 -0
  302. package/skills/railway/new/SKILL.md +489 -0
  303. package/skills/railway/new/references/environment-config.md +183 -0
  304. package/skills/railway/new/references/monorepo.md +216 -0
  305. package/skills/railway/new/references/railpack.md +257 -0
  306. package/skills/railway/new/references/variables.md +170 -0
  307. package/skills/railway/projects/SKILL.md +142 -0
  308. package/skills/railway/projects/references/environment-config.md +183 -0
  309. package/skills/railway/projects/references/monorepo.md +216 -0
  310. package/skills/railway/projects/references/railpack.md +257 -0
  311. package/skills/railway/projects/references/variables.md +170 -0
  312. package/skills/railway/projects/scripts/railway-api.sh +41 -0
  313. package/skills/railway/railway-docs/SKILL.md +47 -0
  314. package/skills/railway/railway-docs/references/environment-config.md +183 -0
  315. package/skills/railway/railway-docs/references/monorepo.md +216 -0
  316. package/skills/railway/railway-docs/references/railpack.md +257 -0
  317. package/skills/railway/railway-docs/references/variables.md +170 -0
  318. package/skills/railway/service/SKILL.md +249 -0
  319. package/skills/railway/service/references/environment-config.md +183 -0
  320. package/skills/railway/service/references/monorepo.md +216 -0
  321. package/skills/railway/service/references/railpack.md +257 -0
  322. package/skills/railway/service/references/variables.md +170 -0
  323. package/skills/railway/service/scripts/railway-api.sh +41 -0
  324. package/skills/railway/status/SKILL.md +91 -0
  325. package/skills/railway/status/references/environment-config.md +183 -0
  326. package/skills/railway/status/references/monorepo.md +216 -0
  327. package/skills/railway/status/references/railpack.md +257 -0
  328. package/skills/railway/status/references/variables.md +170 -0
  329. package/skills/railway/templates/SKILL.md +275 -0
  330. package/skills/railway/templates/references/environment-config.md +183 -0
  331. package/skills/railway/templates/references/monorepo.md +216 -0
  332. package/skills/railway/templates/references/railpack.md +257 -0
  333. package/skills/railway/templates/references/variables.md +170 -0
  334. package/skills/railway/templates/scripts/railway-api.sh +41 -0
  335. package/skills/restart/SKILL.md +70 -0
  336. package/skills/review-pr/SKILL.md +367 -0
  337. package/skills/roi-calculator/SKILL.md +469 -0
  338. package/skills/scan/SKILL.md +232 -0
  339. package/skills/setup/SKILL.md +691 -0
  340. package/skills/share/SKILL.md +211 -0
  341. package/skills/solution-architect/SKILL.md +566 -0
  342. package/skills/sre/SKILL.md +362 -0
  343. package/skills/superpowers/brainstorming/SKILL.md +96 -0
  344. package/skills/superpowers/dispatching-parallel-agents/SKILL.md +180 -0
  345. package/skills/superpowers/executing-plans/SKILL.md +84 -0
  346. package/skills/superpowers/finishing-a-development-branch/SKILL.md +200 -0
  347. package/skills/superpowers/receiving-code-review/SKILL.md +213 -0
  348. package/skills/superpowers/requesting-code-review/SKILL.md +105 -0
  349. package/skills/superpowers/requesting-code-review/code-reviewer.md +146 -0
  350. package/skills/superpowers/subagent-driven-development/SKILL.md +242 -0
  351. package/skills/superpowers/subagent-driven-development/code-quality-reviewer-prompt.md +20 -0
  352. package/skills/superpowers/subagent-driven-development/implementer-prompt.md +78 -0
  353. package/skills/superpowers/subagent-driven-development/spec-reviewer-prompt.md +61 -0
  354. package/skills/superpowers/systematic-debugging/CREATION-LOG.md +119 -0
  355. package/skills/superpowers/systematic-debugging/SKILL.md +296 -0
  356. package/skills/superpowers/systematic-debugging/condition-based-waiting-example.ts +158 -0
  357. package/skills/superpowers/systematic-debugging/condition-based-waiting.md +115 -0
  358. package/skills/superpowers/systematic-debugging/defense-in-depth.md +122 -0
  359. package/skills/superpowers/systematic-debugging/find-polluter.sh +63 -0
  360. package/skills/superpowers/systematic-debugging/root-cause-tracing.md +169 -0
  361. package/skills/superpowers/systematic-debugging/test-academic.md +14 -0
  362. package/skills/superpowers/systematic-debugging/test-pressure-1.md +58 -0
  363. package/skills/superpowers/systematic-debugging/test-pressure-2.md +68 -0
  364. package/skills/superpowers/systematic-debugging/test-pressure-3.md +69 -0
  365. package/skills/superpowers/test-driven-development/SKILL.md +371 -0
  366. package/skills/superpowers/test-driven-development/testing-anti-patterns.md +299 -0
  367. package/skills/superpowers/using-git-worktrees/SKILL.md +218 -0
  368. package/skills/superpowers/using-superpowers/SKILL.md +95 -0
  369. package/skills/superpowers/verification-before-completion/SKILL.md +139 -0
  370. package/skills/superpowers/writing-plans/SKILL.md +116 -0
  371. package/skills/superpowers/writing-skills/SKILL.md +655 -0
  372. package/skills/superpowers/writing-skills/anthropic-best-practices.md +1150 -0
  373. package/skills/superpowers/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -0
  374. package/skills/superpowers/writing-skills/graphviz-conventions.dot +172 -0
  375. package/skills/superpowers/writing-skills/persuasion-principles.md +187 -0
  376. package/skills/superpowers/writing-skills/render-graphs.js +168 -0
  377. package/skills/superpowers/writing-skills/testing-skills-with-subagents.md +384 -0
  378. package/skills/sync/SKILL.md +188 -0
  379. package/skills/templates/SKILL.md +194 -0
  380. package/skills/welcome/SKILL.md +136 -0
  381. package/skills/wizard/SKILL.md +411 -0
  382. package/templates/CLAUDE.md.managed-block +123 -0
  383. package/templates/CLAUDE.md.template +111 -0
  384. package/templates/consulting/engagement-tracker-template.md +181 -0
  385. package/templates/consulting/executive-summary-template.md +83 -0
  386. package/templates/consulting/maturity-assessment-template.md +182 -0
  387. package/templates/consulting/proposal-template.md +209 -0
  388. package/templates/consulting/roi-model-template.md +139 -0
  389. package/templates/consulting/solution-architecture-template.md +313 -0
  390. package/templates/settings.json +130 -0
@@ -0,0 +1,249 @@
1
+ ---
2
+ name: service
3
+ description: This skill should be used when the user asks about service status, wants to rename a service, change service icons, link services, or create services with Docker images. For creating services with local code, prefer the `new` skill. For GitHub repo sources, use `new` skill to create empty service then `environment` skill to configure source.
4
+ allowed-tools: Bash(railway:*)
5
+ ---
6
+
7
+ # Service Management
8
+
9
+ Check status, update properties, and advanced service creation.
10
+
11
+ ## When to Use
12
+
13
+ - User asks about service status, health, or deployments
14
+ - User asks "is my service deployed?"
15
+ - User wants to rename a service or change service icon
16
+ - User wants to link a different service
17
+ - User wants to deploy a Docker image as a new service (advanced)
18
+
19
+ **Note:** For creating services with local code (the common case), prefer the `new` skill which handles project setup, scaffolding, and service creation together.
20
+
21
+ **For GitHub repo sources:** Use `new` skill to create empty service, then `environment` skill to configure source.repo via staged changes API.
22
+
23
+ ## Create Service
24
+
25
+ Create a new service via GraphQL API. There is no CLI command for this.
26
+
27
+ ### Get Context
28
+
29
+ ```bash
30
+ railway status --json
31
+ ```
32
+
33
+ Extract:
34
+ - `project.id` - for creating the service
35
+ - `environment.id` - for staging the instance config
36
+
37
+ ### Create Service Mutation
38
+
39
+ ```graphql
40
+ mutation serviceCreate($input: ServiceCreateInput!) {
41
+ serviceCreate(input: $input) {
42
+ id
43
+ name
44
+ }
45
+ }
46
+ ```
47
+
48
+ ### ServiceCreateInput Fields
49
+
50
+ | Field | Type | Description |
51
+ |-------|------|-------------|
52
+ | `projectId` | String! | Project ID (required) |
53
+ | `name` | String | Service name (auto-generated if omitted) |
54
+ | `source.image` | String | Docker image (e.g., `nginx:latest`) |
55
+ | `source.repo` | String | GitHub repo (e.g., `user/repo`) |
56
+ | `branch` | String | Git branch for repo source |
57
+ | `environmentId` | String | If set and is a fork, only creates in that env |
58
+
59
+ ### Example: Create empty service
60
+
61
+ ```bash
62
+ bash <<'SCRIPT'
63
+ scripts/railway-api.sh \
64
+ 'mutation createService($input: ServiceCreateInput!) {
65
+ serviceCreate(input: $input) { id name }
66
+ }' \
67
+ '{"input": {"projectId": "PROJECT_ID"}}'
68
+ SCRIPT
69
+ ```
70
+
71
+ ### Example: Create service with image
72
+
73
+ ```bash
74
+ bash <<'SCRIPT'
75
+ scripts/railway-api.sh \
76
+ 'mutation createService($input: ServiceCreateInput!) {
77
+ serviceCreate(input: $input) { id name }
78
+ }' \
79
+ '{"input": {"projectId": "PROJECT_ID", "name": "my-service", "source": {"image": "nginx:latest"}}}'
80
+ SCRIPT
81
+ ```
82
+
83
+ ### Connecting a GitHub Repo
84
+
85
+ **Do NOT use serviceCreate with source.repo** - use staged changes API instead.
86
+
87
+ Flow:
88
+ 1. Create empty service: `serviceCreate(input: {projectId: "...", name: "my-service"})`
89
+ 2. Use `environment` skill to configure source via staged changes API
90
+ 3. Apply to trigger deployment
91
+
92
+ ### After Creating: Configure Instance
93
+
94
+ Use `environment` skill to configure the service instance:
95
+
96
+ ```json
97
+ {
98
+ "services": {
99
+ "<serviceId>": {
100
+ "isCreated": true,
101
+ "source": { "image": "nginx:latest" },
102
+ "variables": {
103
+ "PORT": { "value": "8080" }
104
+ }
105
+ }
106
+ }
107
+ }
108
+ ```
109
+
110
+ **Critical:** Always include `isCreated: true` for new service instances.
111
+
112
+ Then use `environment` skill to apply and deploy.
113
+
114
+ For variable references, see [reference/variables.md](references/variables.md).
115
+
116
+ ## Check Service Status
117
+
118
+ ```bash
119
+ railway service status --json
120
+ ```
121
+
122
+ Returns current deployment status for the linked service.
123
+
124
+ ### Deployment History
125
+
126
+ ```bash
127
+ railway deployment list --json --limit 5
128
+ ```
129
+
130
+ ### Present Status
131
+
132
+ Show:
133
+ - **Service**: name and current status
134
+ - **Latest Deployment**: status (SUCCESS, FAILED, DEPLOYING, CRASHED, etc.)
135
+ - **Deployed At**: when the current deployment went live
136
+ - **Recent Deployments**: last 3-5 with status and timestamps
137
+
138
+ ### Deployment Statuses
139
+
140
+ | Status | Meaning |
141
+ |--------|---------|
142
+ | SUCCESS | Deployed and running |
143
+ | FAILED | Build or deploy failed |
144
+ | DEPLOYING | Currently deploying |
145
+ | BUILDING | Build in progress |
146
+ | CRASHED | Runtime crash |
147
+ | REMOVED | Deployment removed |
148
+
149
+ ## Update Service
150
+
151
+ Update service name or icon via GraphQL API.
152
+
153
+ ### Get Service ID
154
+
155
+ ```bash
156
+ railway status --json
157
+ ```
158
+
159
+ Extract `service.id` from the response.
160
+
161
+ ### Update Name
162
+
163
+ ```bash
164
+ bash <<'SCRIPT'
165
+ scripts/railway-api.sh \
166
+ 'mutation updateService($id: String!, $input: ServiceUpdateInput!) {
167
+ serviceUpdate(id: $id, input: $input) { id name }
168
+ }' \
169
+ '{"id": "SERVICE_ID", "input": {"name": "new-name"}}'
170
+ SCRIPT
171
+ ```
172
+
173
+ ### Update Icon
174
+
175
+ Icons can be image URLs or animated GIFs.
176
+
177
+ | Type | Example |
178
+ |------|---------|
179
+ | Image URL | `"icon": "https://example.com/logo.png"` |
180
+ | Animated GIF | `"icon": "https://example.com/animated.gif"` |
181
+ | Devicons | `"icon": "https://devicons.railway.app/github"` |
182
+
183
+ **Railway Devicons:** Query `https://devicons.railway.app/{query}` for common developer icons (e.g., `github`, `postgres`, `redis`, `nodejs`). Browse all at https://devicons.railway.app
184
+
185
+ ```bash
186
+ bash <<'SCRIPT'
187
+ scripts/railway-api.sh \
188
+ 'mutation updateService($id: String!, $input: ServiceUpdateInput!) {
189
+ serviceUpdate(id: $id, input: $input) { id icon }
190
+ }' \
191
+ '{"id": "SERVICE_ID", "input": {"icon": "https://devicons.railway.app/github"}}'
192
+ SCRIPT
193
+ ```
194
+
195
+ ### ServiceUpdateInput Fields
196
+
197
+ | Field | Type | Description |
198
+ |-------|------|-------------|
199
+ | `name` | String | Service name |
200
+ | `icon` | String | Emoji or image URL (including animated GIFs) |
201
+
202
+ ## Link Service
203
+
204
+ Switch the linked service for the current directory:
205
+
206
+ ```bash
207
+ railway service link
208
+ ```
209
+
210
+ Or specify directly:
211
+
212
+ ```bash
213
+ railway service link <service-name>
214
+ ```
215
+
216
+ ## Composability
217
+
218
+ - **Create service with local code**: Use `new` skill (handles scaffolding + creation)
219
+ - **Configure service**: Use `environment` skill (variables, commands, image, etc.)
220
+ - **Delete service**: Use `environment` skill with `isDeleted: true`
221
+ - **Apply changes**: Use `environment` skill
222
+ - **View logs**: Use `deployment` skill
223
+ - **Deploy local code**: Use `deploy` skill
224
+
225
+ ## Error Handling
226
+
227
+ ### No Service Linked
228
+ ```
229
+ No service linked. Run `railway service link` to link a service.
230
+ ```
231
+
232
+ ### No Deployments
233
+ ```
234
+ Service exists but has no deployments yet. Deploy with `railway up`.
235
+ ```
236
+
237
+ ### Service Not Found
238
+ ```
239
+ Service "foo" not found. Check available services with `railway status`.
240
+ ```
241
+
242
+ ### Project Not Found
243
+ User may not be in a linked project. Check `railway status`.
244
+
245
+ ### Permission Denied
246
+ User needs at least DEVELOPER role to create services.
247
+
248
+ ### Invalid Image
249
+ Docker image must be accessible (public or with registry credentials).
@@ -0,0 +1,183 @@
1
+ # Environment Config Reference
2
+
3
+ The `EnvironmentConfig` object is used to configure services, volumes, and shared variables in Railway.
4
+
5
+ ## Structure
6
+
7
+ ```json
8
+ {
9
+ "services": {
10
+ "<serviceId>": {
11
+ "source": { ... },
12
+ "build": { ... },
13
+ "deploy": { ... },
14
+ "variables": { ... },
15
+ "networking": { ... }
16
+ }
17
+ },
18
+ "sharedVariables": { ... },
19
+ "volumes": { ... },
20
+ "buckets": { ... }
21
+ }
22
+ ```
23
+
24
+ Only include fields being changed. The patch is merged with existing config.
25
+
26
+ Apply changes via CLI: `echo '<json>' | railway environment edit --json`
27
+
28
+ ## Service Config
29
+
30
+ ### Source
31
+ | Field | Type | Description |
32
+ |-------|------|-------------|
33
+ | `image` | string | Docker image (e.g., `nginx:latest`) |
34
+ | `repo` | string | Git repository URL |
35
+ | `branch` | string | Git branch to deploy |
36
+ | `commitSha` | string | Specific commit SHA |
37
+ | `rootDirectory` | string | Root directory (monorepos) |
38
+ | `checkSuites` | boolean | Wait for GitHub check suites |
39
+ | `autoUpdates.type` | disabled \| patch \| minor | Auto-update policy for Docker images |
40
+
41
+ ### Build
42
+ | Field | Type | Description |
43
+ |-------|------|-------------|
44
+ | `builder` | NIXPACKS \| DOCKERFILE \| RAILPACK | Build system |
45
+ | `buildCommand` | string | Command for Nixpacks builds |
46
+ | `dockerfilePath` | string | Path to Dockerfile |
47
+ | `watchPatterns` | string[] | Patterns to trigger deploys |
48
+ | `nixpacksConfigPath` | string | Path to nixpacks config |
49
+
50
+ ### Deploy
51
+ | Field | Type | Description |
52
+ |-------|------|-------------|
53
+ | `startCommand` | string | Container start command |
54
+ | `multiRegionConfig` | object | Region → replica config. See [Multi-Region Config](#multi-region-config). |
55
+ | `healthcheckPath` | string | Health check endpoint |
56
+ | `healthcheckTimeout` | number | Seconds to wait for health |
57
+ | `restartPolicyType` | ON_FAILURE \| ALWAYS \| NEVER | Restart behavior |
58
+ | `restartPolicyMaxRetries` | number | Max restart attempts |
59
+ | `cronSchedule` | string | Cron schedule for cron jobs |
60
+ | `sleepApplication` | boolean | Sleep when inactive |
61
+
62
+ ### Variables
63
+ | Field | Type | Description |
64
+ |-------|------|-------------|
65
+ | `value` | string | Variable value |
66
+ | `isOptional` | boolean | Allow empty value |
67
+
68
+ Set to `null` to delete a variable.
69
+
70
+ For variable references, see [variables.md](variables.md).
71
+
72
+ ### Lifecycle
73
+ | Field | Type | Description |
74
+ |-------|------|-------------|
75
+ | `isDeleted` | boolean | Mark for deletion (requires ADMIN) |
76
+ | `isCreated` | boolean | Mark as newly created |
77
+
78
+ ## Multi-Region Config
79
+
80
+ Controls replica count per region. Structure: region name → `{ numReplicas }` or `null` to remove.
81
+
82
+ ```json
83
+ {
84
+ "multiRegionConfig": {
85
+ "us-west2": { "numReplicas": 3 },
86
+ "europe-west4-drams3a": { "numReplicas": 2 }
87
+ }
88
+ }
89
+ ```
90
+
91
+ ### Available Regions
92
+
93
+ | Name | Location | Aliases |
94
+ |------|----------|---------|
95
+ | `us-west2` | US West (California) | "us west", "california" |
96
+ | `us-east4-eqdc4a` | US East (Virginia) | "us east", "virginia" |
97
+ | `europe-west4-drams3a` | EU West (Amsterdam) | "europe", "eu", "amsterdam" |
98
+ | `asia-southeast1-eqsg3a` | Southeast Asia (Singapore) | "asia", "singapore" |
99
+
100
+ ### Interpreting User Requests
101
+
102
+ - "add 3 replicas to europe" → `{ "europe-west4-drams3a": { "numReplicas": 3 } }`
103
+ - "add a replica to all regions" → set `numReplicas: 1` for all 4 regions
104
+ - "remove from asia" → `{ "asia-southeast1-eqsg3a": null }`
105
+ - "increase replicas to 5" (no region specified) → query current config first, update existing region(s)
106
+
107
+ **Important:** When user doesn't specify a region, query the current `multiRegionConfig` and modify the existing region(s). Don't assume a default region.
108
+
109
+ ## Common Operations
110
+
111
+ ### Set Build Command
112
+ ```json
113
+ { "services": { "<serviceId>": { "build": { "buildCommand": "npm run build" } } } }
114
+ ```
115
+
116
+ ### Set Start Command
117
+ ```json
118
+ { "services": { "<serviceId>": { "deploy": { "startCommand": "node server.js" } } } }
119
+ ```
120
+
121
+ ### Set Replicas
122
+ ```json
123
+ { "services": { "<serviceId>": { "deploy": { "multiRegionConfig": { "us-west2": { "numReplicas": 3 } } } } } }
124
+ ```
125
+
126
+ ### Add Variables
127
+ ```json
128
+ { "services": { "<serviceId>": { "variables": { "API_KEY": { "value": "xxx" } } } } }
129
+ ```
130
+
131
+ ### Delete Variable
132
+ ```json
133
+ { "services": { "<serviceId>": { "variables": { "OLD_VAR": null } } } }
134
+ ```
135
+ Via CLI: `echo '{"services":{"<serviceId>":{"variables":{"OLD_VAR":null}}}}' | railway environment edit --json`
136
+
137
+ ### Add Shared Variable
138
+ ```json
139
+ { "sharedVariables": { "DATABASE_URL": { "value": "postgres://..." } } }
140
+ ```
141
+
142
+ ### Change Docker Image
143
+ ```json
144
+ { "services": { "<serviceId>": { "source": { "image": "nginx:latest" } } } }
145
+ ```
146
+
147
+ ### Connect GitHub Repo
148
+ ```json
149
+ { "services": { "<serviceId>": { "source": { "repo": "owner/repo", "branch": "main" } } } }
150
+ ```
151
+
152
+ ### Change Git Branch
153
+ ```json
154
+ { "services": { "<serviceId>": { "source": { "branch": "develop" } } } }
155
+ ```
156
+
157
+ ### Set Health Check
158
+ ```json
159
+ { "services": { "<serviceId>": { "deploy": { "healthcheckPath": "/health", "healthcheckTimeout": 30 } } } }
160
+ ```
161
+
162
+ ### Change Builder
163
+ ```json
164
+ { "services": { "<serviceId>": { "build": { "builder": "DOCKERFILE", "dockerfilePath": "./Dockerfile" } } } }
165
+ ```
166
+
167
+ ### Delete Service
168
+ ```json
169
+ { "services": { "<serviceId>": { "isDeleted": true } } }
170
+ ```
171
+ Via CLI: `echo '{"services":{"<serviceId>":{"isDeleted":true}}}' | railway environment edit --json`
172
+
173
+ ### Delete Volume
174
+ ```json
175
+ { "volumes": { "<volumeId>": { "isDeleted": true } } }
176
+ ```
177
+
178
+ ### New Service Instance
179
+ ```json
180
+ { "services": { "<serviceId>": { "isCreated": true, "source": { "image": "nginx" } } } }
181
+ ```
182
+
183
+ **Note:** `isCreated: true` is required for new service instances.
@@ -0,0 +1,216 @@
1
+ # Monorepo Reference
2
+
3
+ Railway supports two types of monorepo deployments with different configuration approaches.
4
+
5
+ ## Key Decision: Root Directory vs Custom Commands
6
+
7
+ | Approach | When to Use | What Happens |
8
+ |----------|-------------|--------------|
9
+ | **Root Directory** | Isolated apps (no shared code) | Only that directory's code is available |
10
+ | **Custom Commands** | Shared monorepos (TypeScript, workspaces) | Full repo available, filter at build/start |
11
+
12
+ **Critical:** Setting root directory means code outside that directory is NOT available during build. For monorepos with shared packages, use custom commands instead.
13
+
14
+ ## Isolated Monorepo
15
+
16
+ Apps are completely independent - no shared code between directories.
17
+
18
+ ```
19
+ ├── frontend/ # React app (standalone)
20
+ │ ├── package.json
21
+ │ └── src/
22
+ └── backend/ # Python API (standalone)
23
+ ├── requirements.txt
24
+ └── main.py
25
+ ```
26
+
27
+ ### Configuration
28
+
29
+ Set **Root Directory** for each service:
30
+ - Frontend service: `/frontend`
31
+ - Backend service: `/backend`
32
+
33
+ Each service only sees its own directory's code.
34
+
35
+ ### When to Use
36
+
37
+ - Frontend and backend in different languages
38
+ - No shared packages or dependencies
39
+ - Each app has its own package.json/requirements.txt
40
+ - Apps don't import from sibling directories
41
+
42
+ ## Shared Monorepo
43
+
44
+ Apps share code from common packages or the root.
45
+
46
+ ```
47
+ ├── package.json # Root workspace config
48
+ ├── packages/
49
+ │ ├── frontend/
50
+ │ │ ├── package.json
51
+ │ │ └── src/
52
+ │ ├── backend/
53
+ │ │ ├── package.json
54
+ │ │ └── src/
55
+ │ └── shared/ # Shared utilities
56
+ │ ├── package.json
57
+ │ └── src/
58
+ └── tsconfig.json # Shared TS config
59
+ ```
60
+
61
+ ### Configuration
62
+
63
+ Do NOT set root directory. Instead, use custom build and start commands:
64
+
65
+ **pnpm:**
66
+ ```
67
+ Build: pnpm --filter backend build
68
+ Start: pnpm --filter backend start
69
+ ```
70
+
71
+ **npm workspaces:**
72
+ ```
73
+ Build: npm run build --workspace=packages/backend
74
+ Start: npm run start --workspace=packages/backend
75
+ ```
76
+
77
+ **yarn workspaces:**
78
+ ```
79
+ Build: yarn workspace backend build
80
+ Start: yarn workspace backend start
81
+ ```
82
+
83
+ **bun:**
84
+ ```
85
+ Build: bun run --filter backend build
86
+ Start: bun run --filter backend start
87
+ ```
88
+
89
+ **Turborepo:**
90
+ ```
91
+ Build: turbo run build --filter=backend
92
+ Start: turbo run start --filter=backend
93
+ ```
94
+
95
+ ### When to Use
96
+
97
+ - TypeScript/JavaScript monorepo with workspaces
98
+ - Packages import from sibling packages (`@myapp/shared`)
99
+ - Shared tsconfig.json, eslint config at root
100
+ - Using pnpm, yarn workspaces, npm workspaces, or bun
101
+ - Using Turborepo, Nx, or similar build tools
102
+
103
+ ## Watch Paths
104
+
105
+ Prevent changes in one package from triggering rebuilds of other services.
106
+
107
+ Set watch paths for each service to only rebuild when relevant files change:
108
+
109
+ | Service | Watch Paths |
110
+ |---------|-------------|
111
+ | frontend | `/packages/frontend/**`, `/packages/shared/**` |
112
+ | backend | `/packages/backend/**`, `/packages/shared/**` |
113
+
114
+ Include shared packages in watch paths if the service depends on them.
115
+
116
+ ### Pattern Format
117
+
118
+ Uses gitignore-style patterns:
119
+ ```
120
+ /packages/backend/** # All files in backend
121
+ /packages/shared/** # All files in shared (if depends on it)
122
+ !**/*.md # Ignore markdown changes
123
+ ```
124
+
125
+ ## Configuration Examples
126
+
127
+ ### Isolated: React + Python API
128
+
129
+ Two separate apps, no shared code.
130
+
131
+ **Frontend service:**
132
+ - Root Directory: `/frontend`
133
+ - No custom commands needed (Railpack auto-detects)
134
+
135
+ **Backend service:**
136
+ - Root Directory: `/backend`
137
+ - No custom commands needed
138
+
139
+ ### Shared: TypeScript Monorepo with pnpm
140
+
141
+ Frontend and backend share a `@myapp/shared` package.
142
+
143
+ **Frontend service:**
144
+ - Root Directory: (leave empty)
145
+ - Build Command: `pnpm --filter frontend build`
146
+ - Start Command: `pnpm --filter frontend start`
147
+ - Watch Paths: `/packages/frontend/**`, `/packages/shared/**`
148
+
149
+ **Backend service:**
150
+ - Root Directory: (leave empty)
151
+ - Build Command: `pnpm --filter backend build`
152
+ - Start Command: `pnpm --filter backend start`
153
+ - Watch Paths: `/packages/backend/**`, `/packages/shared/**`
154
+
155
+ ### Shared: Turborepo
156
+
157
+ **Frontend service:**
158
+ - Root Directory: (leave empty)
159
+ - Build Command: `turbo run build --filter=frontend`
160
+ - Start Command: `turbo run start --filter=frontend`
161
+ - Watch Paths: `/apps/frontend/**`, `/packages/**`
162
+
163
+ **Backend service:**
164
+ - Root Directory: (leave empty)
165
+ - Build Command: `turbo run build --filter=backend`
166
+ - Start Command: `turbo run start --filter=backend`
167
+ - Watch Paths: `/apps/backend/**`, `/packages/**`
168
+
169
+ ## Common Mistakes
170
+
171
+ ### Using Root Directory for Shared Monorepos
172
+
173
+ **Wrong:**
174
+ ```
175
+ Root Directory: /packages/backend
176
+ ```
177
+ This breaks builds because `@myapp/shared` isn't available.
178
+
179
+ **Right:**
180
+ ```
181
+ Root Directory: (empty)
182
+ Build Command: pnpm --filter backend build
183
+ Start Command: pnpm --filter backend start
184
+ ```
185
+
186
+ ### Forgetting Watch Paths
187
+
188
+ Without watch paths, changing `frontend/` triggers a rebuild of `backend/`.
189
+
190
+ Always set watch paths for monorepos to avoid unnecessary builds.
191
+
192
+ ### Missing Shared Packages in Watch Paths
193
+
194
+ If `backend` imports from `shared`, include both in watch paths:
195
+ ```
196
+ /packages/backend/**
197
+ /packages/shared/**
198
+ ```
199
+
200
+ Otherwise changes to `shared` won't trigger backend rebuilds.
201
+
202
+ ## Detecting Monorepo Type
203
+
204
+ Check for these indicators:
205
+
206
+ **Isolated monorepo:**
207
+ - Separate package.json in each directory
208
+ - No workspace config in root package.json
209
+ - No imports between directories
210
+
211
+ **Shared monorepo:**
212
+ - Root package.json with `workspaces` field
213
+ - `pnpm-workspace.yaml` exists
214
+ - Packages import from each other (`@myapp/shared`)
215
+ - Shared tsconfig.json at root
216
+ - turbo.json or nx.json at root