@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,257 @@
1
+ # Railpack Reference
2
+
3
+ Railpack is Railway's default builder. Zero-config for most projects.
4
+
5
+ Full docs: https://railpack.com/llms.txt
6
+
7
+ ## Detection
8
+
9
+ Railpack analyzes source code to detect language, framework, and build requirements automatically.
10
+
11
+ Supported: Node, Python, Go, PHP, Java, Ruby, Rust, Elixir, Gleam, Deno, C/C++, static files.
12
+
13
+ ## Static Sites
14
+
15
+ ### Detection Patterns
16
+
17
+ Railpack serves static files via Caddy when it detects:
18
+ 1. `Staticfile` in root (can specify `root: dist`)
19
+ 2. `index.html` in root
20
+ 3. `public/` directory
21
+ 4. `RAILPACK_STATIC_FILE_ROOT` env var set
22
+
23
+ ### Root Directory Priority
24
+
25
+ 1. `RAILPACK_STATIC_FILE_ROOT` env var
26
+ 2. `root` in `Staticfile`
27
+ 3. `public/` directory
28
+ 4. Current directory (if index.html exists)
29
+
30
+ ### Common Patterns
31
+
32
+ Railpack auto-detects common static build outputs. Only set `RAILPACK_STATIC_FILE_ROOT` for non-standard output directories.
33
+
34
+ | Framework | Build Output | Config Needed |
35
+ |-----------|--------------|---------------|
36
+ | Plain HTML | root | None (auto-detected) |
37
+ | Vite | dist | None (auto-detected) |
38
+ | Astro (static) | dist | None (auto-detected) |
39
+ | Create React App | build | None (auto-detected) |
40
+ | Angular | dist/<project> | `RAILPACK_STATIC_FILE_ROOT=dist/<project>` (non-standard path) |
41
+ | Custom output | varies | Set if output dir is non-standard |
42
+
43
+ ### Custom Caddyfile
44
+
45
+ Put a `Caddyfile` in project root to override default serving behavior.
46
+
47
+ ## Node.js
48
+
49
+ ### Detection
50
+ - `package.json` in root
51
+
52
+ ### Version Priority
53
+ 1. `RAILPACK_NODE_VERSION` env var
54
+ 2. `engines.node` in package.json
55
+ 3. `.nvmrc` or `.node-version`
56
+ 4. Default: Node 22
57
+
58
+ ### Package Manager Detection
59
+ 1. `packageManager` field in package.json (enables Corepack)
60
+ 2. Lock file: `pnpm-lock.yaml`, `bun.lockb`, `yarn.lock`
61
+ 3. Default: npm
62
+
63
+ ### Build Command
64
+ Auto-detected from package.json `scripts.build`. Override via `buildCommand` in service settings.
65
+
66
+ ### Start Command
67
+ Auto-detected:
68
+ 1. `scripts.start` in package.json
69
+ 2. `main` field in package.json
70
+ 3. `index.js` or `index.ts` in root
71
+
72
+ Override via `startCommand` in service settings.
73
+
74
+ ### Framework Detection
75
+
76
+ | Framework | Detection | Notes |
77
+ |-----------|-----------|-------|
78
+ | Next.js | `next` in dependencies | Caches `.next/cache` |
79
+ | Vite | `vite` in devDependencies | Static or SSR mode |
80
+ | Astro | `astro` in dependencies | Caches `.astro` |
81
+ | Nuxt | `nuxt` in dependencies | Auto start command |
82
+ | Remix | `@remix-run/*` in deps | - |
83
+
84
+ ### Static Site Mode (SPA)
85
+
86
+ For frameworks like Vite, CRA, Astro (static), Angular:
87
+ - Railpack builds then serves via Caddy
88
+ - Set `RAILPACK_SPA_OUTPUT_DIR` if output isn't `dist`
89
+
90
+ ## Python
91
+
92
+ ### Detection
93
+ - `requirements.txt`, `pyproject.toml`, `Pipfile`, or `uv.lock`
94
+
95
+ ### Version Priority
96
+ 1. `RAILPACK_PYTHON_VERSION` env var
97
+ 2. `.python-version` file
98
+ 3. `requires-python` in pyproject.toml
99
+ 4. Default: Python 3.12
100
+
101
+ ### WSGI/ASGI Auto-Config
102
+
103
+ | Framework | Start Command |
104
+ |-----------|---------------|
105
+ | Django | `gunicorn <project>.wsgi` |
106
+ | FastAPI | `uvicorn main:app --host 0.0.0.0` |
107
+ | Flask | `gunicorn app:app` |
108
+
109
+ Override via `startCommand` in service settings.
110
+
111
+ ## Go
112
+
113
+ ### Detection
114
+ - `go.mod` in root
115
+
116
+ ### Build
117
+ Compiles to binary automatically. For `cmd/` structure, set binary name or use `RAILPACK_GO_BIN`.
118
+
119
+ ## Rust
120
+
121
+ ### Detection
122
+ - `Cargo.toml` in root
123
+
124
+ ### Build
125
+ Release build by default. Binary auto-detected from Cargo.toml.
126
+
127
+ ## Configuration
128
+
129
+ ### Preferred: Service Settings
130
+
131
+ Use `environment` skill to set:
132
+ - `buildCommand` - Custom build command
133
+ - `startCommand` - Custom start command
134
+
135
+ These are stored in Railway and don't pollute your codebase.
136
+
137
+ ### Environment Variables
138
+
139
+ | Variable | Purpose |
140
+ |----------|---------|
141
+ | `RAILPACK_STATIC_FILE_ROOT` | Static file serving directory |
142
+ | `RAILPACK_SPA_OUTPUT_DIR` | SPA build output (defaults to `dist`) |
143
+ | `RAILPACK_NODE_VERSION` | Node.js version |
144
+ | `RAILPACK_PYTHON_VERSION` | Python version |
145
+ | `RAILPACK_GO_BIN` | Go binary name |
146
+ | `RAILPACK_PACKAGES` | Additional Mise packages (`pkg@version`) |
147
+ | `RAILPACK_BUILD_APT_PACKAGES` | System packages for build |
148
+ | `RAILPACK_DEPLOY_APT_PACKAGES` | System packages for runtime |
149
+
150
+ ### railpack.json
151
+
152
+ Advanced config for custom build steps:
153
+
154
+ ```json
155
+ {
156
+ "$schema": "https://schema.railpack.com",
157
+ "packages": {
158
+ "ffmpeg": "latest"
159
+ },
160
+ "deploy": {
161
+ "aptPackages": ["libmagic1"]
162
+ }
163
+ }
164
+ ```
165
+
166
+ ### railway.toml
167
+
168
+ Alternative config format:
169
+
170
+ ```toml
171
+ [build]
172
+ builder = "RAILPACK"
173
+ buildCommand = "npm run build"
174
+
175
+ [deploy]
176
+ startCommand = "npm start"
177
+ ```
178
+
179
+ ## Minimal Project Scaffolding
180
+
181
+ When no code exists, suggest these patterns:
182
+
183
+ ### Static HTML
184
+ ```html
185
+ <!DOCTYPE html>
186
+ <html lang="en">
187
+ <head>
188
+ <meta charset="UTF-8">
189
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
190
+ <title>My Site</title>
191
+ </head>
192
+ <body>
193
+ <h1>Hello Railway</h1>
194
+ </body>
195
+ </html>
196
+ ```
197
+
198
+ ### Vite React
199
+ ```bash
200
+ npm create vite@latest . -- --template react
201
+ ```
202
+
203
+ ### Astro
204
+ ```bash
205
+ npm create astro@latest
206
+ ```
207
+
208
+ ### Python FastAPI
209
+ ```python
210
+ # main.py
211
+ from fastapi import FastAPI
212
+ app = FastAPI()
213
+
214
+ @app.get("/")
215
+ def root():
216
+ return {"message": "Hello Railway"}
217
+ ```
218
+
219
+ ```txt
220
+ # requirements.txt
221
+ fastapi
222
+ uvicorn
223
+ ```
224
+
225
+ ### Go HTTP Server
226
+ ```go
227
+ // main.go
228
+ package main
229
+
230
+ import (
231
+ "fmt"
232
+ "net/http"
233
+ "os"
234
+ )
235
+
236
+ func main() {
237
+ port := os.Getenv("PORT")
238
+ if port == "" {
239
+ port = "8080"
240
+ }
241
+ http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
242
+ fmt.Fprintf(w, "Hello Railway")
243
+ })
244
+ http.ListenAndServe(":"+port, nil)
245
+ }
246
+ ```
247
+
248
+ ## Troubleshooting
249
+
250
+ | Issue | Solution |
251
+ |-------|----------|
252
+ | Static site 404s | Check output dir - set `RAILPACK_STATIC_FILE_ROOT` if non-standard |
253
+ | Wrong build command | Use `environment` skill to set `buildCommand` |
254
+ | Wrong start command | Use `environment` skill to set `startCommand` |
255
+ | Missing system package | Add to `RAILPACK_BUILD_APT_PACKAGES` or `RAILPACK_DEPLOY_APT_PACKAGES` |
256
+ | Wrong Node version | Set `RAILPACK_NODE_VERSION` or add `.nvmrc` |
257
+ | Wrong Python version | Set `RAILPACK_PYTHON_VERSION` or add `.python-version` |
@@ -0,0 +1,170 @@
1
+ # Variables Reference
2
+
3
+ Variables in Railway support references to other services, shared variables, and Railway-provided values.
4
+
5
+ ## Template Syntax
6
+
7
+ ```
8
+ ${{NAMESPACE.VAR}}
9
+ ```
10
+
11
+ | Namespace | Description |
12
+ |-----------|-------------|
13
+ | `shared` | Shared variables (project-wide) |
14
+ | `<serviceName>` | Variables from another service (case-sensitive) |
15
+
16
+ ## Examples
17
+
18
+ **Reference shared variable:**
19
+ ```json
20
+ { "value": "${{shared.DOMAIN}}" }
21
+ ```
22
+
23
+ **Reference another service's variable:**
24
+ ```json
25
+ { "value": "${{api.API_KEY}}" }
26
+ ```
27
+
28
+ **Combine with text:**
29
+ ```json
30
+ { "value": "https://${{shared.DOMAIN}}/api" }
31
+ ```
32
+
33
+ ## Railway-Provided Variables
34
+
35
+ Railway injects these into every service automatically.
36
+
37
+ ### Networking
38
+ | Variable | Description | Example | Availability |
39
+ |----------|-------------|---------|--------------|
40
+ | `RAILWAY_PUBLIC_DOMAIN` | Public domain | `myapp.up.railway.app` | Only if service has a domain |
41
+ | `RAILWAY_PRIVATE_DOMAIN` | Private DNS (internal only) | `myapp.railway.internal` | Always |
42
+ | `RAILWAY_TCP_PROXY_DOMAIN` | TCP proxy domain | `roundhouse.proxy.rlwy.net` | Only if TCP proxy enabled |
43
+ | `RAILWAY_TCP_PROXY_PORT` | TCP proxy port | `11105` | Only if TCP proxy enabled |
44
+
45
+ **Note:** `RAILWAY_PUBLIC_DOMAIN` is only available if the service has a domain configured.
46
+ Check the service's environment config to verify a domain exists before referencing it.
47
+
48
+ ### Context
49
+ | Variable | Description |
50
+ |----------|-------------|
51
+ | `RAILWAY_PROJECT_ID` | Project ID |
52
+ | `RAILWAY_PROJECT_NAME` | Project name |
53
+ | `RAILWAY_ENVIRONMENT_ID` | Environment ID |
54
+ | `RAILWAY_ENVIRONMENT_NAME` | Environment name |
55
+ | `RAILWAY_SERVICE_ID` | Service ID |
56
+ | `RAILWAY_SERVICE_NAME` | Service name |
57
+ | `RAILWAY_DEPLOYMENT_ID` | Deployment ID |
58
+ | `RAILWAY_REPLICA_ID` | Replica ID |
59
+ | `RAILWAY_REPLICA_REGION` | Region (e.g., `us-west2`) |
60
+
61
+ ### Volume (if attached)
62
+ | Variable | Description |
63
+ |----------|-------------|
64
+ | `RAILWAY_VOLUME_NAME` | Volume name |
65
+ | `RAILWAY_VOLUME_MOUNT_PATH` | Mount path |
66
+
67
+ ### Git (if deployed from GitHub)
68
+ | Variable | Description |
69
+ |----------|-------------|
70
+ | `RAILWAY_GIT_COMMIT_SHA` | Commit SHA |
71
+ | `RAILWAY_GIT_BRANCH` | Branch name |
72
+ | `RAILWAY_GIT_REPO_NAME` | Repository name |
73
+ | `RAILWAY_GIT_REPO_OWNER` | Repository owner |
74
+ | `RAILWAY_GIT_AUTHOR` | Commit author |
75
+ | `RAILWAY_GIT_COMMIT_MESSAGE` | Commit message |
76
+
77
+ ## Wiring Services Together
78
+
79
+ ### Frontend → Backend (public network)
80
+ Use when: Browser makes requests to API (browser can't access private network)
81
+
82
+ ```json
83
+ {
84
+ "services": {
85
+ "<frontendId>": {
86
+ "variables": {
87
+ "API_URL": { "value": "https://${{backend.RAILWAY_PUBLIC_DOMAIN}}" }
88
+ }
89
+ }
90
+ }
91
+ }
92
+ ```
93
+
94
+ ### Service → Database (private network)
95
+ Use when: Backend connects to database (faster, no egress cost, more secure)
96
+
97
+ Railway databases auto-generate connection URL variables. Use the private versions:
98
+
99
+ | Database | Variable Reference |
100
+ |----------|-------------------|
101
+ | Postgres | `${{Postgres.DATABASE_URL}}` |
102
+ | MySQL | `${{MySQL.DATABASE_URL}}` |
103
+ | Redis | `${{Redis.REDIS_URL}}` |
104
+ | Mongo | `${{Mongo.MONGO_URL}}` |
105
+
106
+ **Postgres/MySQL example:**
107
+ ```json
108
+ {
109
+ "services": {
110
+ "<apiId>": {
111
+ "variables": {
112
+ "DATABASE_URL": { "value": "${{Postgres.DATABASE_URL}}" }
113
+ }
114
+ }
115
+ }
116
+ }
117
+ ```
118
+
119
+ **Redis example:**
120
+ ```json
121
+ {
122
+ "services": {
123
+ "<apiId>": {
124
+ "variables": {
125
+ "REDIS_URL": { "value": "${{Redis.REDIS_URL}}" }
126
+ }
127
+ }
128
+ }
129
+ }
130
+ ```
131
+
132
+ **Mongo example:**
133
+ ```json
134
+ {
135
+ "services": {
136
+ "<apiId>": {
137
+ "variables": {
138
+ "MONGO_URL": { "value": "${{Mongo.MONGO_URL}}" }
139
+ }
140
+ }
141
+ }
142
+ }
143
+ ```
144
+
145
+ **Note:** Service names are case-sensitive. Match the exact name from your project (e.g., "Postgres", "Redis").
146
+
147
+ ### Service → Service (private network)
148
+ Use when: Microservices communicate internally
149
+
150
+ ```json
151
+ {
152
+ "services": {
153
+ "<workerServiceId>": {
154
+ "variables": {
155
+ "API_INTERNAL_URL": { "value": "http://${{api.RAILWAY_PRIVATE_DOMAIN}}:${{api.PORT}}" }
156
+ }
157
+ }
158
+ }
159
+ }
160
+ ```
161
+
162
+ ## When to Use Public vs Private
163
+
164
+ | Use Case | Domain | Reason |
165
+ |----------|--------|--------|
166
+ | Browser → API | Public | Browser can't access private network |
167
+ | Service → Service | Private | Faster, no egress, more secure |
168
+ | Service → Database | Private | Databases should never be public |
169
+ | External webhook → Service | Public | External services need public access |
170
+ | Cron job → API | Private | Internal communication |
@@ -0,0 +1,41 @@
1
+ #!/usr/bin/env bash
2
+ # Railway GraphQL API helper
3
+ # Usage: railway-api.sh '<graphql-query>' ['<variables-json>']
4
+
5
+ set -e
6
+
7
+ if ! command -v jq &>/dev/null; then
8
+ echo '{"error": "jq not installed. Install with: brew install jq"}'
9
+ exit 1
10
+ fi
11
+
12
+ CONFIG_FILE="$HOME/.railway/config.json"
13
+
14
+ if [[ ! -f "$CONFIG_FILE" ]]; then
15
+ echo '{"error": "Railway config not found. Run: railway login"}'
16
+ exit 1
17
+ fi
18
+
19
+ TOKEN=$(jq -r '.user.token' "$CONFIG_FILE")
20
+
21
+ if [[ -z "$TOKEN" || "$TOKEN" == "null" ]]; then
22
+ echo '{"error": "No Railway token found. Run: railway login"}'
23
+ exit 1
24
+ fi
25
+
26
+ if [[ -z "$1" ]]; then
27
+ echo '{"error": "No query provided"}'
28
+ exit 1
29
+ fi
30
+
31
+ # Build payload with query and optional variables
32
+ if [[ -n "$2" ]]; then
33
+ PAYLOAD=$(jq -n --arg q "$1" --argjson v "$2" '{query: $q, variables: $v}')
34
+ else
35
+ PAYLOAD=$(jq -n --arg q "$1" '{query: $q}')
36
+ fi
37
+
38
+ curl -s https://backboard.railway.com/graphql/v2 \
39
+ -H "Authorization: Bearer $TOKEN" \
40
+ -H "Content-Type: application/json" \
41
+ -d "$PAYLOAD"
@@ -0,0 +1,47 @@
1
+ ---
2
+ name: railway-docs
3
+ description: This skill should be used when the user asks about Railway features, how Railway works, or shares a docs.railway.com URL. Fetches up-to-date Railway docs to answer accurately.
4
+ ---
5
+
6
+ # Railway Docs
7
+
8
+ Fetch up-to-date Railway documentation to answer questions accurately.
9
+
10
+ ## When to Use
11
+
12
+ - User asks how something works on Railway (projects, deployments, volumes, etc.)
13
+ - User shares a docs.railway.com URL
14
+ - User needs current info about Railway features or pricing
15
+ - Before answering Railway questions from memory - check the docs first
16
+
17
+ ## LLM-Optimized Sources
18
+
19
+ Start here for comprehensive, up-to-date info:
20
+
21
+ | Source | URL |
22
+ | ------------------ | ------------------------------------------- |
23
+ | **Full docs** | `https://docs.railway.com/api/llms-docs.md` |
24
+ | **llms.txt index** | `https://railway.com/llms.txt` |
25
+ | **Templates** | `https://railway.com/llms-templates.md` |
26
+ | **Changelog** | `https://railway.com/llms-changelog.md` |
27
+ | **Blog** | `https://blog.railway.com/llms-blog.md` |
28
+
29
+ ## Fetching Specific Pages
30
+
31
+ Append `.md` to any docs.railway.com URL:
32
+
33
+ ```
34
+ https://docs.railway.com/guides/projects
35
+ → https://docs.railway.com/guides/projects.md
36
+ ```
37
+
38
+ ## Common Doc Paths
39
+
40
+ | Topic | URL |
41
+ | ----------- | ------------------------------------------------ |
42
+ | Projects | `https://docs.railway.com/guides/projects.md` |
43
+ | Deployments | `https://docs.railway.com/guides/deployments.md` |
44
+ | Volumes | `https://docs.railway.com/guides/volumes.md` |
45
+ | Variables | `https://docs.railway.com/guides/variables.md` |
46
+ | CLI | `https://docs.railway.com/reference/cli-api.md` |
47
+ | Pricing | `https://docs.railway.com/reference/pricing.md` |
@@ -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.