@synapta/skills 0.1.0 → 0.1.2

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 (353) hide show
  1. package/dist/index.js +11 -4
  2. package/package.json +3 -4
  3. package/skills/ATTRIBUTION.md +80 -0
  4. package/skills/accessibility-audit/SKILL.md +325 -0
  5. package/skills/accessibility-audit/reference/wcag-checklist.md +103 -0
  6. package/skills/apns-notifier/SKILL.md +86 -0
  7. package/skills/approval-policy-enforcer/SKILL.md +66 -0
  8. package/skills/apps-sdk-builder/LICENSE.txt +201 -0
  9. package/skills/apps-sdk-builder/SKILL.md +328 -0
  10. package/skills/apps-sdk-builder/agents/openai.yaml +13 -0
  11. package/skills/apps-sdk-builder/references/app-archetypes.md +132 -0
  12. package/skills/apps-sdk-builder/references/apps-sdk-docs-workflow.md +135 -0
  13. package/skills/apps-sdk-builder/references/interactive-state-sync-patterns.md +113 -0
  14. package/skills/apps-sdk-builder/references/repo-contract-and-validation.md +93 -0
  15. package/skills/apps-sdk-builder/references/search-fetch-standard.md +67 -0
  16. package/skills/apps-sdk-builder/references/upstream-example-workflow.md +79 -0
  17. package/skills/apps-sdk-builder/references/window-openai-patterns.md +79 -0
  18. package/skills/apps-sdk-builder/scripts/scaffold_node_ext_apps.mjs +606 -0
  19. package/skills/architecture-selector/SKILL.md +64 -0
  20. package/skills/backlog-planner/SKILL.md +68 -0
  21. package/skills/carplay-entitlement-checker/SKILL.md +82 -0
  22. package/skills/concept-discovery/SKILL.md +517 -0
  23. package/skills/concept-discovery/assets/sample-analysis.json +81 -0
  24. package/skills/concept-discovery/expected_outputs/sample-enum-dictionary.md +25 -0
  25. package/skills/concept-discovery/expected_outputs/sample-page-user-list.md +83 -0
  26. package/skills/concept-discovery/expected_outputs/sample-prd-readme.md +43 -0
  27. package/skills/concept-discovery/references/framework-patterns.md +228 -0
  28. package/skills/concept-discovery/references/prd-quality-checklist.md +65 -0
  29. package/skills/concept-discovery/scripts/codebase_analyzer.py +732 -0
  30. package/skills/concept-discovery/scripts/prd_scaffolder.py +435 -0
  31. package/skills/dast-zap/SKILL.md +453 -0
  32. package/skills/dast-zap/assets/.gitkeep +9 -0
  33. package/skills/dast-zap/assets/github_action.yml +207 -0
  34. package/skills/dast-zap/assets/gitlab_ci.yml +226 -0
  35. package/skills/dast-zap/assets/zap_automation.yaml +196 -0
  36. package/skills/dast-zap/assets/zap_context.xml +192 -0
  37. package/skills/dast-zap/references/EXAMPLE.md +40 -0
  38. package/skills/dast-zap/references/api_testing_guide.md +475 -0
  39. package/skills/dast-zap/references/authentication_guide.md +431 -0
  40. package/skills/dast-zap/references/false_positive_handling.md +427 -0
  41. package/skills/dast-zap/references/owasp_mapping.md +255 -0
  42. package/skills/dep-sbom-scan/SKILL.md +466 -0
  43. package/skills/deploy-cloudflare/SKILL.md +930 -0
  44. package/skills/deploy-docker/SKILL.md +55 -0
  45. package/skills/deploy-fly/SKILL.md +228 -0
  46. package/skills/deploy-k8s/SKILL.md +108 -0
  47. package/skills/deploy-k8s/assets/logo.png +0 -0
  48. package/skills/deploy-k8s/docs/README.md +29 -0
  49. package/skills/deploy-k8s/docs/SUMMARY.md +56 -0
  50. package/skills/deploy-k8s/docs/advanced/token-efficiency.md +61 -0
  51. package/skills/deploy-k8s/docs/architecture/multi-tenancy.md +96 -0
  52. package/skills/deploy-k8s/docs/architecture/storage-and-state.md +102 -0
  53. package/skills/deploy-k8s/docs/architecture/workload-patterns.md +87 -0
  54. package/skills/deploy-k8s/docs/book.json +16 -0
  55. package/skills/deploy-k8s/docs/community/changelog.md +34 -0
  56. package/skills/deploy-k8s/docs/community/contributing.md +67 -0
  57. package/skills/deploy-k8s/docs/core-concepts/failure-modes.md +153 -0
  58. package/skills/deploy-k8s/docs/core-concepts/philosophy.md +83 -0
  59. package/skills/deploy-k8s/docs/core-concepts/workflow.md +124 -0
  60. package/skills/deploy-k8s/docs/examples/bad-patterns.md +47 -0
  61. package/skills/deploy-k8s/docs/examples/do-dont-checklist.md +37 -0
  62. package/skills/deploy-k8s/docs/examples/good-patterns.md +49 -0
  63. package/skills/deploy-k8s/docs/failure-modes/api-drift.md +104 -0
  64. package/skills/deploy-k8s/docs/failure-modes/fragile-rollouts.md +99 -0
  65. package/skills/deploy-k8s/docs/failure-modes/insecure-workload-defaults.md +80 -0
  66. package/skills/deploy-k8s/docs/failure-modes/network-exposure.md +98 -0
  67. package/skills/deploy-k8s/docs/failure-modes/privilege-sprawl.md +91 -0
  68. package/skills/deploy-k8s/docs/failure-modes/resource-starvation.md +85 -0
  69. package/skills/deploy-k8s/docs/getting-started/installation.md +152 -0
  70. package/skills/deploy-k8s/docs/getting-started/quick-start.md +115 -0
  71. package/skills/deploy-k8s/docs/guides/helm-patterns.md +71 -0
  72. package/skills/deploy-k8s/docs/guides/kustomize-patterns.md +65 -0
  73. package/skills/deploy-k8s/docs/guides/observability.md +67 -0
  74. package/skills/deploy-k8s/docs/guides/security-hardening.md +59 -0
  75. package/skills/deploy-k8s/docs/guides/validation-and-policy.md +66 -0
  76. package/skills/deploy-k8s/docs/integrations/mcp-integration.md +52 -0
  77. package/skills/deploy-k8s/docs/package-lock.json +2892 -0
  78. package/skills/deploy-k8s/docs/package.json +13 -0
  79. package/skills/deploy-k8s/references/api-drift.md +298 -0
  80. package/skills/deploy-k8s/references/conditional/aks-patterns.md +70 -0
  81. package/skills/deploy-k8s/references/conditional/eks-patterns.md +79 -0
  82. package/skills/deploy-k8s/references/conditional/gitops-controllers.md +71 -0
  83. package/skills/deploy-k8s/references/conditional/gke-patterns.md +74 -0
  84. package/skills/deploy-k8s/references/conditional/observability-stacks.md +80 -0
  85. package/skills/deploy-k8s/references/conditional/openshift-patterns.md +67 -0
  86. package/skills/deploy-k8s/references/daemonset-operator-patterns.md +155 -0
  87. package/skills/deploy-k8s/references/deployment-patterns.md +146 -0
  88. package/skills/deploy-k8s/references/do-dont-patterns.md +87 -0
  89. package/skills/deploy-k8s/references/examples-bad.md +282 -0
  90. package/skills/deploy-k8s/references/examples-good.md +440 -0
  91. package/skills/deploy-k8s/references/fragile-rollouts.md +303 -0
  92. package/skills/deploy-k8s/references/helm-patterns.md +203 -0
  93. package/skills/deploy-k8s/references/insecure-workload-defaults.md +300 -0
  94. package/skills/deploy-k8s/references/job-patterns.md +120 -0
  95. package/skills/deploy-k8s/references/kustomize-patterns.md +239 -0
  96. package/skills/deploy-k8s/references/multi-tenancy.md +343 -0
  97. package/skills/deploy-k8s/references/network-exposure.md +481 -0
  98. package/skills/deploy-k8s/references/observability.md +302 -0
  99. package/skills/deploy-k8s/references/privilege-sprawl.md +273 -0
  100. package/skills/deploy-k8s/references/resource-starvation.md +374 -0
  101. package/skills/deploy-k8s/references/security-hardening.md +209 -0
  102. package/skills/deploy-k8s/references/stateful-patterns.md +130 -0
  103. package/skills/deploy-k8s/references/storage-and-state.md +330 -0
  104. package/skills/deploy-k8s/references/validation-and-policy.md +242 -0
  105. package/skills/deploy-railway/SKILL.md +235 -0
  106. package/skills/deploy-railway/references/analyze-db-mongo.md +84 -0
  107. package/skills/deploy-railway/references/analyze-db-mysql.md +254 -0
  108. package/skills/deploy-railway/references/analyze-db-postgres.md +479 -0
  109. package/skills/deploy-railway/references/analyze-db-redis.md +208 -0
  110. package/skills/deploy-railway/references/analyze-db.md +344 -0
  111. package/skills/deploy-railway/references/configure.md +309 -0
  112. package/skills/deploy-railway/references/deploy.md +195 -0
  113. package/skills/deploy-railway/references/operate.md +214 -0
  114. package/skills/deploy-railway/references/request.md +248 -0
  115. package/skills/deploy-railway/references/setup.md +312 -0
  116. package/skills/deploy-railway/scripts/analyze-mongo.py +1549 -0
  117. package/skills/deploy-railway/scripts/analyze-mysql.py +1195 -0
  118. package/skills/deploy-railway/scripts/analyze-postgres.py +3058 -0
  119. package/skills/deploy-railway/scripts/analyze-redis.py +1090 -0
  120. package/skills/deploy-railway/scripts/dal.py +671 -0
  121. package/skills/deploy-railway/scripts/enable-pg-stats.py +170 -0
  122. package/skills/deploy-railway/scripts/pg-extensions.py +370 -0
  123. package/skills/deploy-railway/scripts/railway-api.sh +52 -0
  124. package/skills/deploy-ssh/SKILL.md +91 -0
  125. package/skills/deploy-vercel/SKILL.md +304 -0
  126. package/skills/deploy-vercel/resources/deploy-codex.sh +301 -0
  127. package/skills/deploy-vercel/resources/deploy.sh +301 -0
  128. package/skills/docs-runbooks/SKILL.md +399 -0
  129. package/skills/drive-status-renderer/SKILL.md +62 -0
  130. package/skills/iac-scan/SKILL.md +680 -0
  131. package/skills/iac-scan/assets/.gitkeep +9 -0
  132. package/skills/iac-scan/assets/checkov_config.yaml +94 -0
  133. package/skills/iac-scan/assets/github_actions.yml +199 -0
  134. package/skills/iac-scan/assets/gitlab_ci.yml +218 -0
  135. package/skills/iac-scan/assets/pre_commit_config.yaml +92 -0
  136. package/skills/iac-scan/references/EXAMPLE.md +40 -0
  137. package/skills/iac-scan/references/compliance_mapping.md +237 -0
  138. package/skills/iac-scan/references/custom_policies.md +460 -0
  139. package/skills/iac-scan/references/suppression_guide.md +431 -0
  140. package/skills/incident-briefing/SKILL.md +66 -0
  141. package/skills/incident-triage/SKILL.md +481 -0
  142. package/{LICENSE → skills/mcp-builder/LICENSE.txt} +15 -14
  143. package/skills/mcp-builder/SKILL.md +244 -0
  144. package/skills/mcp-builder/reference/evaluation.md +602 -0
  145. package/skills/mcp-builder/reference/mcp_best_practices.md +249 -0
  146. package/skills/mcp-builder/reference/node_mcp_server.md +970 -0
  147. package/skills/mcp-builder/reference/python_mcp_server.md +719 -0
  148. package/skills/mcp-builder/scripts/connections.py +151 -0
  149. package/skills/mcp-builder/scripts/evaluation.py +373 -0
  150. package/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
  151. package/skills/mcp-builder/scripts/requirements.txt +2 -0
  152. package/skills/mobile-pairing/SKILL.md +52 -0
  153. package/skills/ops-sre/SKILL.md +297 -0
  154. package/skills/playwright-qa/LICENSE.txt +201 -0
  155. package/skills/playwright-qa/NOTICE.txt +14 -0
  156. package/skills/playwright-qa/SKILL.md +156 -0
  157. package/skills/playwright-qa/agents/openai.yaml +6 -0
  158. package/skills/playwright-qa/assets/playwright-small.svg +3 -0
  159. package/skills/playwright-qa/assets/playwright.png +0 -0
  160. package/skills/playwright-qa/references/cli.md +116 -0
  161. package/skills/playwright-qa/references/workflows.md +95 -0
  162. package/skills/playwright-qa/scripts/playwright_cli.sh +25 -0
  163. package/skills/release-publish/SKILL.md +85 -0
  164. package/skills/repo-bootstrap/SKILL.md +92 -0
  165. package/skills/repo-bootstrap/assets/example-workflows/validate-agents.yml +89 -0
  166. package/skills/repo-bootstrap/assets/root-thin.md +141 -0
  167. package/skills/repo-bootstrap/assets/root-verbose.md +149 -0
  168. package/skills/repo-bootstrap/assets/scoped/backend-go.md +107 -0
  169. package/skills/repo-bootstrap/assets/scoped/backend-php.md +94 -0
  170. package/skills/repo-bootstrap/assets/scoped/backend-python.md +84 -0
  171. package/skills/repo-bootstrap/assets/scoped/backend-typescript.md +89 -0
  172. package/skills/repo-bootstrap/assets/scoped/claude-code-skill.md +101 -0
  173. package/skills/repo-bootstrap/assets/scoped/cli.md +83 -0
  174. package/skills/repo-bootstrap/assets/scoped/concourse.md +196 -0
  175. package/skills/repo-bootstrap/assets/scoped/ddev.md +68 -0
  176. package/skills/repo-bootstrap/assets/scoped/docker.md +160 -0
  177. package/skills/repo-bootstrap/assets/scoped/documentation.md +98 -0
  178. package/skills/repo-bootstrap/assets/scoped/examples.md +96 -0
  179. package/skills/repo-bootstrap/assets/scoped/frontend-typescript.md +88 -0
  180. package/skills/repo-bootstrap/assets/scoped/github-actions.md +174 -0
  181. package/skills/repo-bootstrap/assets/scoped/gitlab-ci.md +174 -0
  182. package/skills/repo-bootstrap/assets/scoped/oro-bundle.md +209 -0
  183. package/skills/repo-bootstrap/assets/scoped/oro-project.md +170 -0
  184. package/skills/repo-bootstrap/assets/scoped/python-modern.md +170 -0
  185. package/skills/repo-bootstrap/assets/scoped/resources.md +96 -0
  186. package/skills/repo-bootstrap/assets/scoped/skill-repo.md +139 -0
  187. package/skills/repo-bootstrap/assets/scoped/symfony.md +168 -0
  188. package/skills/repo-bootstrap/assets/scoped/testing.md +87 -0
  189. package/skills/repo-bootstrap/assets/scoped/typo3-docs.md +103 -0
  190. package/skills/repo-bootstrap/assets/scoped/typo3-extension.md +133 -0
  191. package/skills/repo-bootstrap/assets/scoped/typo3-project.md +137 -0
  192. package/skills/repo-bootstrap/assets/scoped/typo3-testing.md +80 -0
  193. package/skills/repo-bootstrap/checkpoints.yaml +279 -0
  194. package/skills/repo-bootstrap/evals/evals.json +385 -0
  195. package/skills/repo-bootstrap/references/ai-contribution-guidelines.md +63 -0
  196. package/skills/repo-bootstrap/references/ai-tool-compatibility.md +223 -0
  197. package/skills/repo-bootstrap/references/directory-coverage.md +82 -0
  198. package/skills/repo-bootstrap/references/examples/coding-agent-cli/AGENTS.md +70 -0
  199. package/skills/repo-bootstrap/references/examples/coding-agent-cli/go.mod +3 -0
  200. package/skills/repo-bootstrap/references/examples/coding-agent-cli/scripts-AGENTS.md +389 -0
  201. package/skills/repo-bootstrap/references/examples/express-api-ts/.env.example +13 -0
  202. package/skills/repo-bootstrap/references/examples/express-api-ts/AGENTS.md +91 -0
  203. package/skills/repo-bootstrap/references/examples/express-api-ts/package.json +33 -0
  204. package/skills/repo-bootstrap/references/examples/express-api-ts/pnpm-lock.yaml +3 -0
  205. package/skills/repo-bootstrap/references/examples/express-api-ts/src/AGENTS.md +91 -0
  206. package/skills/repo-bootstrap/references/examples/express-api-ts/src/config.ts +28 -0
  207. package/skills/repo-bootstrap/references/examples/express-api-ts/src/controllers/userController.ts +74 -0
  208. package/skills/repo-bootstrap/references/examples/express-api-ts/src/index.ts +26 -0
  209. package/skills/repo-bootstrap/references/examples/express-api-ts/src/middleware/errorHandler.ts +45 -0
  210. package/skills/repo-bootstrap/references/examples/express-api-ts/src/middleware/requestLogger.ts +18 -0
  211. package/skills/repo-bootstrap/references/examples/express-api-ts/src/routes/health.ts +18 -0
  212. package/skills/repo-bootstrap/references/examples/express-api-ts/src/routes/users.ts +13 -0
  213. package/skills/repo-bootstrap/references/examples/express-api-ts/src/utils/errors.ts +40 -0
  214. package/skills/repo-bootstrap/references/examples/express-api-ts/src/utils/logger.ts +14 -0
  215. package/skills/repo-bootstrap/references/examples/express-api-ts/tsconfig.json +24 -0
  216. package/skills/repo-bootstrap/references/examples/fastapi-app/.env.example +19 -0
  217. package/skills/repo-bootstrap/references/examples/fastapi-app/AGENTS.md +92 -0
  218. package/skills/repo-bootstrap/references/examples/fastapi-app/pyproject.toml +88 -0
  219. package/skills/repo-bootstrap/references/examples/fastapi-app/src/AGENTS.md +85 -0
  220. package/skills/repo-bootstrap/references/examples/fastapi-app/src/__init__.py +3 -0
  221. package/skills/repo-bootstrap/references/examples/fastapi-app/src/config.py +49 -0
  222. package/skills/repo-bootstrap/references/examples/fastapi-app/src/main.py +66 -0
  223. package/skills/repo-bootstrap/references/examples/fastapi-app/src/models/__init__.py +13 -0
  224. package/skills/repo-bootstrap/references/examples/fastapi-app/src/models/item.py +43 -0
  225. package/skills/repo-bootstrap/references/examples/fastapi-app/src/models/user.py +40 -0
  226. package/skills/repo-bootstrap/references/examples/fastapi-app/src/routes/__init__.py +5 -0
  227. package/skills/repo-bootstrap/references/examples/fastapi-app/src/routes/health.py +20 -0
  228. package/skills/repo-bootstrap/references/examples/fastapi-app/src/routes/items.py +61 -0
  229. package/skills/repo-bootstrap/references/examples/fastapi-app/src/routes/users.py +55 -0
  230. package/skills/repo-bootstrap/references/examples/fastapi-app/src/services/__init__.py +6 -0
  231. package/skills/repo-bootstrap/references/examples/fastapi-app/src/services/item_service.py +77 -0
  232. package/skills/repo-bootstrap/references/examples/fastapi-app/src/services/user_service.py +69 -0
  233. package/skills/repo-bootstrap/references/examples/fastapi-app/uv.lock +4 -0
  234. package/skills/repo-bootstrap/references/examples/go-api-with-react-admin/.scopes +3 -0
  235. package/skills/repo-bootstrap/references/examples/go-api-with-react-admin/AGENTS.md +86 -0
  236. package/skills/repo-bootstrap/references/examples/go-api-with-react-admin/admin/package.json +20 -0
  237. package/skills/repo-bootstrap/references/examples/go-api-with-react-admin/admin/src/App.tsx +5 -0
  238. package/skills/repo-bootstrap/references/examples/go-api-with-react-admin/cmd/api/main.go +7 -0
  239. package/skills/repo-bootstrap/references/examples/go-api-with-react-admin/go.mod +2 -0
  240. package/skills/repo-bootstrap/references/examples/go-api-with-react-admin/main.go +7 -0
  241. package/skills/repo-bootstrap/references/examples/go-with-internal-web-tsx/.scopes +3 -0
  242. package/skills/repo-bootstrap/references/examples/go-with-internal-web-tsx/AGENTS.md +89 -0
  243. package/skills/repo-bootstrap/references/examples/go-with-internal-web-tsx/go.mod +2 -0
  244. package/skills/repo-bootstrap/references/examples/go-with-internal-web-tsx/internal/web/AGENTS.md +90 -0
  245. package/skills/repo-bootstrap/references/examples/go-with-internal-web-tsx/internal/web/package.json +17 -0
  246. package/skills/repo-bootstrap/references/examples/go-with-internal-web-tsx/internal/web/src/App.tsx +1 -0
  247. package/skills/repo-bootstrap/references/examples/go-with-internal-web-tsx/internal/web/src/Button.tsx +1 -0
  248. package/skills/repo-bootstrap/references/examples/go-with-internal-web-tsx/internal/web/src/Footer.tsx +1 -0
  249. package/skills/repo-bootstrap/references/examples/go-with-internal-web-tsx/internal/web/src/Header.tsx +1 -0
  250. package/skills/repo-bootstrap/references/examples/go-with-internal-web-tsx/internal/web/src/Sidebar.tsx +1 -0
  251. package/skills/repo-bootstrap/references/examples/go-with-internal-web-tsx/main.go +7 -0
  252. package/skills/repo-bootstrap/references/examples/go-with-internal-web-tsx/package-lock.json +0 -0
  253. package/skills/repo-bootstrap/references/examples/go-with-internal-web-tsx/package.json +12 -0
  254. package/skills/repo-bootstrap/references/examples/ldap-selfservice/AGENTS.md +70 -0
  255. package/skills/repo-bootstrap/references/examples/ldap-selfservice/go.mod +3 -0
  256. package/skills/repo-bootstrap/references/examples/ldap-selfservice/internal-AGENTS.md +371 -0
  257. package/skills/repo-bootstrap/references/examples/ldap-selfservice/internal-web-AGENTS.md +448 -0
  258. package/skills/repo-bootstrap/references/examples/php-with-frontend/.scopes +3 -0
  259. package/skills/repo-bootstrap/references/examples/php-with-frontend/AGENTS.md +91 -0
  260. package/skills/repo-bootstrap/references/examples/php-with-frontend/composer.json +8 -0
  261. package/skills/repo-bootstrap/references/examples/php-with-frontend/package.json +15 -0
  262. package/skills/repo-bootstrap/references/examples/php-with-frontend/pnpm-lock.yaml +0 -0
  263. package/skills/repo-bootstrap/references/examples/php-with-frontend/src/Controller.php +3 -0
  264. package/skills/repo-bootstrap/references/examples/php-with-frontend/web/AGENTS.md +92 -0
  265. package/skills/repo-bootstrap/references/examples/php-with-frontend/web/package.json +26 -0
  266. package/skills/repo-bootstrap/references/examples/php-with-frontend/web/src/App.tsx +3 -0
  267. package/skills/repo-bootstrap/references/examples/php-with-frontend/web/src/Button.tsx +10 -0
  268. package/skills/repo-bootstrap/references/examples/php-with-frontend/web/src/Footer.tsx +9 -0
  269. package/skills/repo-bootstrap/references/examples/php-with-frontend/web/src/Header.tsx +9 -0
  270. package/skills/repo-bootstrap/references/examples/php-with-frontend/web/src/main.tsx +3 -0
  271. package/skills/repo-bootstrap/references/examples/php-with-frontend/web/tsconfig.json +13 -0
  272. package/skills/repo-bootstrap/references/examples/pnpm-workspace/AGENTS.md +75 -0
  273. package/skills/repo-bootstrap/references/examples/pnpm-workspace/package.json +7 -0
  274. package/skills/repo-bootstrap/references/examples/pnpm-workspace/packages/web/package.json +11 -0
  275. package/skills/repo-bootstrap/references/examples/pnpm-workspace/packages/web/src/index.ts +11 -0
  276. package/skills/repo-bootstrap/references/examples/pnpm-workspace/pnpm-lock.yaml +42 -0
  277. package/skills/repo-bootstrap/references/examples/pnpm-workspace/pnpm-workspace.yaml +2 -0
  278. package/skills/repo-bootstrap/references/examples/simple-ldap-go/AGENTS.md +70 -0
  279. package/skills/repo-bootstrap/references/examples/simple-ldap-go/examples-AGENTS.md +45 -0
  280. package/skills/repo-bootstrap/references/examples/simple-ldap-go/go.mod +3 -0
  281. package/skills/repo-bootstrap/references/examples/t3x-rte-ckeditor-image/AGENTS.md +70 -0
  282. package/skills/repo-bootstrap/references/examples/t3x-rte-ckeditor-image/Classes-AGENTS.md +392 -0
  283. package/skills/repo-bootstrap/references/examples/t3x-rte-ckeditor-image/composer.json +8 -0
  284. package/skills/repo-bootstrap/references/feedback-memory-schema.md +135 -0
  285. package/skills/repo-bootstrap/references/git-hooks-setup.md +79 -0
  286. package/skills/repo-bootstrap/references/output-structure.md +124 -0
  287. package/skills/repo-bootstrap/references/scripts-guide.md +175 -0
  288. package/skills/repo-bootstrap/references/verification-guide.md +137 -0
  289. package/skills/repo-bootstrap/scripts/analyze-git-history.sh +315 -0
  290. package/skills/repo-bootstrap/scripts/check-freshness.sh +230 -0
  291. package/skills/repo-bootstrap/scripts/detect-golden-samples.sh +161 -0
  292. package/skills/repo-bootstrap/scripts/detect-heuristics.sh +93 -0
  293. package/skills/repo-bootstrap/scripts/detect-project.sh +486 -0
  294. package/skills/repo-bootstrap/scripts/detect-scopes.sh +330 -0
  295. package/skills/repo-bootstrap/scripts/detect-utilities.sh +133 -0
  296. package/skills/repo-bootstrap/scripts/extract-adrs.sh +194 -0
  297. package/skills/repo-bootstrap/scripts/extract-agent-configs.sh +331 -0
  298. package/skills/repo-bootstrap/scripts/extract-architecture-rules.sh +522 -0
  299. package/skills/repo-bootstrap/scripts/extract-ci-commands.sh +385 -0
  300. package/skills/repo-bootstrap/scripts/extract-ci-rules.sh +384 -0
  301. package/skills/repo-bootstrap/scripts/extract-commands.sh +358 -0
  302. package/skills/repo-bootstrap/scripts/extract-documentation.sh +308 -0
  303. package/skills/repo-bootstrap/scripts/extract-github-rulesets.sh +96 -0
  304. package/skills/repo-bootstrap/scripts/extract-github-settings.sh +88 -0
  305. package/skills/repo-bootstrap/scripts/extract-ide-settings.sh +228 -0
  306. package/skills/repo-bootstrap/scripts/extract-platform-files.sh +290 -0
  307. package/skills/repo-bootstrap/scripts/extract-quality-configs.sh +442 -0
  308. package/skills/repo-bootstrap/scripts/generate-agents.sh +2424 -0
  309. package/skills/repo-bootstrap/scripts/generate-file-map.sh +153 -0
  310. package/skills/repo-bootstrap/scripts/lib/config-root.sh +211 -0
  311. package/skills/repo-bootstrap/scripts/lib/summary.sh +244 -0
  312. package/skills/repo-bootstrap/scripts/lib/template.sh +397 -0
  313. package/skills/repo-bootstrap/scripts/validate-structure.sh +324 -0
  314. package/skills/repo-bootstrap/scripts/verify-commands.sh +615 -0
  315. package/skills/repo-bootstrap/scripts/verify-content.sh +302 -0
  316. package/skills/schema-api-contracts/SKILL.md +56 -0
  317. package/skills/secret-hygiene/SKILL.md +511 -0
  318. package/skills/secret-hygiene/assets/.gitkeep +9 -0
  319. package/skills/secret-hygiene/assets/config-balanced.toml +81 -0
  320. package/skills/secret-hygiene/assets/config-custom.toml +178 -0
  321. package/skills/secret-hygiene/assets/config-strict.toml +48 -0
  322. package/skills/secret-hygiene/assets/github-action.yml +181 -0
  323. package/skills/secret-hygiene/assets/gitlab-ci.yml +257 -0
  324. package/skills/secret-hygiene/assets/precommit-config.yaml +70 -0
  325. package/skills/secret-hygiene/references/EXAMPLE.md +40 -0
  326. package/skills/secret-hygiene/references/compliance_mapping.md +538 -0
  327. package/skills/secret-hygiene/references/detection_rules.md +276 -0
  328. package/skills/secret-hygiene/references/false_positives.md +598 -0
  329. package/skills/secret-hygiene/references/remediation_guide.md +530 -0
  330. package/skills/stack-selector/SKILL.md +56 -0
  331. package/skills/telegram-control/SKILL.md +110 -0
  332. package/skills/telegram-control/references/architecture.md +184 -0
  333. package/skills/telegram-control/references/convex.md +173 -0
  334. package/skills/telegram-control/references/error_handling.md +212 -0
  335. package/skills/telegram-control/references/initial_setup.md +165 -0
  336. package/skills/telegram-control/references/telegram_api.md +156 -0
  337. package/skills/telegram-control/scripts/cancel_message.ts +53 -0
  338. package/skills/telegram-control/scripts/list_scheduled.ts +103 -0
  339. package/skills/telegram-control/scripts/logger.ts +121 -0
  340. package/skills/telegram-control/scripts/proxy-util.ts +11 -0
  341. package/skills/telegram-control/scripts/schedule_message.ts +216 -0
  342. package/skills/telegram-control/scripts/send_message.ts +115 -0
  343. package/skills/telegram-control/scripts/setup.ts +185 -0
  344. package/skills/telegram-control/scripts/types.ts +75 -0
  345. package/skills/telegram-control/scripts/view_history.ts +74 -0
  346. package/skills/test-strategy/SKILL.md +352 -0
  347. package/skills/threat-model/SKILL.md +303 -0
  348. package/skills/threat-model/examples/example-output.md +196 -0
  349. package/skills/threat-model/template.md +96 -0
  350. package/skills/ts-lint/SKILL.md +80 -0
  351. package/skills/ui-flow/SKILL.md +668 -0
  352. package/skills/voice-command-router/SKILL.md +51 -0
  353. package/skills/widget-live-activity-sync/SKILL.md +66 -0
@@ -0,0 +1,214 @@
1
+ # Operate
2
+
3
+ Check health, read logs, query metrics, and troubleshoot failures.
4
+
5
+ ## Health snapshot
6
+
7
+ Start broad, then narrow:
8
+
9
+ ```bash
10
+ railway status --json # linked context
11
+ railway service list --json # services in current environment
12
+ railway deployment list --limit 10 --json # recent deployments
13
+ ```
14
+
15
+ Deployment statuses: `SUCCESS`, `BUILDING`, `DEPLOYING`, `FAILED`, `CRASHED`, `REMOVED`.
16
+
17
+ For projects with buckets, include bucket status:
18
+
19
+ ```bash
20
+ railway bucket list --json # buckets in current environment
21
+ railway bucket info --bucket <name> --json # storage size, object count, region
22
+ ```
23
+
24
+ If everything looks healthy, return a summary and stop. If something is degraded or failing, continue to log inspection.
25
+
26
+ ## Logs
27
+
28
+ ### Recent logs
29
+
30
+ ```bash
31
+ railway logs --service <service> --lines 200 --json # runtime logs
32
+ railway logs --service <service> --build --lines 200 --json # build logs
33
+ railway logs --latest --lines 200 --json # latest deployment
34
+ ```
35
+
36
+ In an interactive terminal, `railway logs` streams indefinitely when no bounding flags are given. Always use `--lines`, `--since`, or `--until` to get a bounded fetch for agent workflows.
37
+
38
+ ### Time-bounded queries
39
+
40
+ ```bash
41
+ railway logs --service <service> --since 1h --lines 400 --json
42
+ railway logs --service <service> --since 30m --until 10m --lines 400 --json
43
+ ```
44
+
45
+ ### Filtered queries
46
+
47
+ Use `--filter` to narrow logs without scanning everything manually:
48
+
49
+ ```bash
50
+ railway logs --service <service> --lines 200 --filter "@level:error" --json
51
+ railway logs --service <service> --lines 200 --filter "@level:warn AND timeout" --json
52
+ railway logs --service <service> --lines 200 --filter "connection refused" --json
53
+ ```
54
+
55
+ Filter syntax supports text search (`"error message"`), attribute filters (`@level:error`, `@level:warn`), and boolean operators (`AND`, `OR`, `-` for negation). Full syntax: https://docs.railway.com/guides/logs
56
+
57
+ ### Scoped by environment
58
+
59
+ ```bash
60
+ railway logs --service <service> --environment <env> --lines 200 --json
61
+ ```
62
+
63
+ ### HTTP logs
64
+
65
+ Use HTTP logs when a service responds with errors, latency spikes, or routing problems:
66
+
67
+ ```bash
68
+ railway logs --service <service> --http --status ">=400" --lines 100 --json
69
+ railway logs --service <service> --http --method POST --path /api/users --lines 100 --json
70
+ railway logs --service <service> --http --request-id <request-id> --lines 20 --json
71
+ railway logs --service <service> --http --filter "@totalDuration:>=1000" --lines 100 --json
72
+ ```
73
+
74
+ HTTP filter fields include `@method`, `@path`, `@host`, `@requestId`, `@srcIp`, `@edgeRegion`, `@httpStatus`, `@totalDuration`, `@responseTime`, `@txBytes`, and `@rxBytes`.
75
+
76
+ ## Metrics
77
+
78
+ Use `railway metrics` for resource and HTTP metrics. It summarizes CPU, memory, network, volume, and HTTP data for the linked service by default.
79
+
80
+ ```bash
81
+ railway metrics --service <service> --since 1h --json
82
+ railway metrics --service <service> --since 6h --cpu --memory --json
83
+ railway metrics --service <service> --http --method POST --path /api/users --json
84
+ railway metrics --all --environment production --json
85
+ ```
86
+
87
+ Use `--raw` for time-series data points:
88
+
89
+ ```bash
90
+ railway metrics --service <service> --raw --cpu --json
91
+ ```
92
+
93
+ Metric flags can be combined: `--cpu`, `--memory`, `--network`, `--volume`, and `--http`. Use `--watch` only in an interactive terminal; it opens a live TUI and conflicts with `--json` and `--raw`.
94
+
95
+ For custom grouping or measurements the CLI doesn't expose, use the GraphQL fallback in [request.md](request.md).
96
+
97
+ ## SSH
98
+
99
+ Use SSH when logs and metrics don't expose enough state and the user needs shell-level inspection inside a running service.
100
+
101
+ ```bash
102
+ railway ssh --service <service> --environment <env>
103
+ railway ssh --service <service> --environment <env> -- "printenv | sort"
104
+ railway ssh --service <service> --environment <env> --session railway-debug
105
+ railway ssh --service <service> --environment <env> --identity-file ~/.ssh/id_ed25519_railway
106
+ ```
107
+
108
+ Manage Railway SSH keys with:
109
+
110
+ ```bash
111
+ railway ssh keys list
112
+ railway ssh keys add --key ~/.ssh/id_ed25519.pub --name <key-name>
113
+ railway ssh keys github
114
+ railway ssh keys remove <key-id> --2fa-code <code>
115
+ ```
116
+
117
+ Workspace-owned keys use `--workspace <workspace-id>` and require workspace Admin access. SSH key management doesn't work with project tokens (`RAILWAY_TOKEN`); use `railway login` or a workspace-scoped `RAILWAY_API_TOKEN`.
118
+
119
+ ## Database inspection
120
+
121
+ For database-level metrics and introspection, use the analysis scripts. `railway metrics` can provide infrastructure metrics and supported database summaries, while the scripts provide deeper engine-level analysis. See [analyze-db.md](analyze-db.md) for comprehensive database analysis including:
122
+
123
+ - Deep Postgres analysis (pg_stat_statements, vacuum health, index health, cache hit ratios)
124
+ - HA cluster checks (Patroni, etcd, HAProxy)
125
+ - Redis, MySQL, and MongoDB introspection
126
+ - Combined analysis via `scripts/analyze-<type>.py` (postgres, mysql, redis, mongo)
127
+
128
+ ## Failure triage
129
+
130
+ When something is broken, classify the failure first. The fix depends on the class.
131
+
132
+ ### Build failures
133
+
134
+ The service failed to build. Look at build logs:
135
+
136
+ ```bash
137
+ railway logs --latest --build --lines 400 --json
138
+ ```
139
+
140
+ Common causes and fixes:
141
+ - **Missing dependencies**: check lockfiles, verify package manager detection
142
+ - **Wrong build command**: override with `railway environment edit --service-config <service> build.buildCommand "<command>"`
143
+ - **Builder mismatch**: switch builders with `railway environment edit --service-config <service> build.builder RAILPACK`
144
+ - **Wrong root directory** (monorepo): set `source.rootDirectory` to the correct package path
145
+
146
+ ### Runtime failures
147
+
148
+ The build succeeded but the service crashes or misbehaves:
149
+
150
+ ```bash
151
+ railway logs --latest --lines 400 --json
152
+ railway logs --service <service> --since 1h --lines 400 --json
153
+ ```
154
+
155
+ Common causes and fixes:
156
+ - **Bad start command**: override with `railway environment edit --service-config <service> deploy.startCommand "<command>"`
157
+ - **Missing runtime variable**: check `railway variable list --service <service> --json` and set missing values
158
+ - **Port mismatch**: the service must listen on `$PORT` (Railway injects this). Verify with logs.
159
+ - **Upstream dependency down**: check other services' status and logs
160
+
161
+ ### Config-driven failures
162
+
163
+ Something worked before and broke after a config change:
164
+
165
+ ```bash
166
+ railway environment config --json
167
+ railway variable list --service <service> --json
168
+ ```
169
+
170
+ Compare the config against expected values. Look for changes that may have introduced the regression.
171
+
172
+ ### Networking failures
173
+
174
+ Domain returns errors, or service-to-service calls fail:
175
+
176
+ ```bash
177
+ railway domain --service <service> --json
178
+ railway logs --service <service> --lines 200 --json
179
+ railway logs --service <service> --http --status ">=400" --lines 100 --json
180
+ ```
181
+
182
+ Check: target port matches what the service listens on, domain status is healthy, private domain variable references are correct.
183
+
184
+ ## Recovery
185
+
186
+ After identifying the cause, fix and verify:
187
+
188
+ ```bash
189
+ # Fix (examples)
190
+ railway environment edit --service-config <service> deploy.startCommand "<correct-command>"
191
+ railway variable set MISSING_VAR=value --service <service>
192
+
193
+ # Redeploy
194
+ railway redeploy --service <service> --yes
195
+
196
+ # Verify
197
+ railway service status --service <service> --json
198
+ railway logs --service <service> --lines 200 --json
199
+ ```
200
+
201
+ Always verify after fixing. Don't assume the redeploy succeeded.
202
+
203
+ ## Troubleshoot common blockers
204
+
205
+ - **Unlinked context**: `railway link --project <id-or-name>`
206
+ - **Missing service scope for logs**: pass `--service` and `--environment` explicitly
207
+ - **No deployments found**: the service exists but has never deployed, create an initial deploy first
208
+ - **Metrics return empty**: check the time window, service scope, and whether the service has active deployments
209
+ - **Config patch type error**: check the typed paths in [configure.md](configure.md), for example, `numReplicas` is an integer, not a string
210
+
211
+ ## Validated against
212
+
213
+ - Docs: [status.md](https://docs.railway.com/cli/status), [service.md](https://docs.railway.com/cli/service), [logs.md](https://docs.railway.com/cli/logs), [metrics.md](https://docs.railway.com/cli/metrics), [ssh.md](https://docs.railway.com/cli/ssh), [observability/logs.md](https://docs.railway.com/observability/logs), [observability/metrics.md](https://docs.railway.com/observability/metrics)
214
+ - CLI source: [status.rs](https://github.com/railwayapp/cli/blob/v4.58.0/src/commands/status.rs), [service.rs](https://github.com/railwayapp/cli/blob/v4.58.0/src/commands/service.rs), [logs.rs](https://github.com/railwayapp/cli/blob/v4.58.0/src/commands/logs.rs), [metrics.rs](https://github.com/railwayapp/cli/blob/v4.58.0/src/commands/metrics.rs), [ssh/mod.rs](https://github.com/railwayapp/cli/blob/v4.58.0/src/commands/ssh/mod.rs), [deployment.rs](https://github.com/railwayapp/cli/blob/v4.58.0/src/commands/deployment.rs), [redeploy.rs](https://github.com/railwayapp/cli/blob/v4.58.0/src/commands/redeploy.rs)
@@ -0,0 +1,248 @@
1
+ # Request
2
+
3
+ Official documentation and community endpoints. GraphQL operations for things the CLI doesn't expose.
4
+
5
+ ## Official documentation
6
+
7
+ Primary sources for authoritative Railway information:
8
+
9
+ - **Full LLM docs**: `https://docs.railway.com/api/llms-docs.md`
10
+ - **LLM summary**: `https://railway.com/llms.txt`
11
+ - **Templates**: `https://railway.com/llms-templates.md`
12
+ - **Changelog**: `https://railway.com/llms-changelog.md`
13
+ - **Blog**: `https://blog.railway.com/llms-blog.md`
14
+ - **Direct doc pages**: `https://docs.railway.com/<path>` (for example, `cli/up`, `networking/domains`, `observability/logs`)
15
+
16
+ Tip: append `.md` to any `docs.railway.com` page URL to get a markdown version suitable for LLM consumption.
17
+
18
+ Common doc paths:
19
+
20
+ | Topic | Path |
21
+ |---|---|
22
+ | Projects | `guides/projects` |
23
+ | Deployments | `guides/deployments` |
24
+ | Volumes | `guides/volumes` |
25
+ | Variables | `guides/variables` |
26
+ | CLI reference | `reference/cli-api` |
27
+ | Pricing | `reference/pricing` |
28
+ | Public networking | `networking/public-networking` |
29
+ | Private networking | `networking/private-networking` |
30
+
31
+ Fetch official docs first for product behavior questions. Use Central Station only when you need community evidence, prior incidents, or implementation anecdotes.
32
+
33
+
34
+ ## Central Station (community)
35
+
36
+ Search and browse Railway's community platform for prior discussions, issue patterns, and field solutions.
37
+
38
+ ### Recent threads
39
+
40
+ ```bash
41
+ curl -s 'https://station-server.railway.com/gql' \
42
+ -H 'content-type: application/json' \
43
+ -d '{"query":"{ threads(first: 10, sort: recent_activity) { edges { node { slug subject status upvoteCount createdAt topic { slug displayName } } } } }"}'
44
+ ```
45
+
46
+ Filter by topic with the `topic` parameter (`"questions"`, `"feedback"`, `"community"`, `"billing"`):
47
+
48
+ ```bash
49
+ curl -s 'https://station-server.railway.com/gql' \
50
+ -H 'content-type: application/json' \
51
+ -d '{"query":"{ threads(first: 10, sort: recent_activity, topic: \"questions\") { edges { node { slug subject status topic { displayName } upvoteCount } } } }"}'
52
+ ```
53
+
54
+ Sort options: `recent_activity` (default), `newest`, `highest_votes`.
55
+
56
+ ### Search threads
57
+
58
+ ```bash
59
+ curl -s 'https://station-server.railway.com/gql' \
60
+ -H 'content-type: application/json' \
61
+ -d '{"query":"{ threads(first: 10, search: \"<search-term>\") { edges { node { slug subject status } } } }"}'
62
+ ```
63
+
64
+ ### LLM data export
65
+
66
+ Bulk search alternative, fetches all public threads with full content:
67
+
68
+ ```bash
69
+ curl -s 'https://station-server.railway.com/api/llms-station'
70
+ ```
71
+
72
+ ### Read a full thread
73
+
74
+ ```bash
75
+ curl -s 'https://station-server.railway.com/api/threads/<slug>?format=md'
76
+ ```
77
+
78
+ Thread URLs follow the format: `https://station.railway.com/{topic_slug}/{thread_slug}`
79
+
80
+ Community threads are anecdotal. Always pair with official docs when the answer informs an operational decision.
81
+
82
+
83
+ ## GraphQL helper
84
+
85
+ All GraphQL operations use the API helper script, which handles authentication automatically:
86
+
87
+ ```bash
88
+ scripts/railway-api.sh '<query>' '<variables-json>'
89
+ ```
90
+
91
+ The script reads the API token from `~/.railway/config.json` and sends requests to `https://backboard.railway.com/graphql/v2`.
92
+
93
+ For the full API schema, see: https://docs.railway.com/api/llms-docs.md
94
+
95
+ ## Project mutations
96
+
97
+ The CLI doesn't expose project setting updates (rename, PR deploys, visibility). Use GraphQL:
98
+
99
+ ```bash
100
+ scripts/railway-api.sh \
101
+ 'mutation updateProject($id: String!, $input: ProjectUpdateInput!) {
102
+ projectUpdate(id: $id, input: $input) { id name isPublic prDeploys botPrEnvironments }
103
+ }' \
104
+ '{"id":"<project-id>","input":{"name":"new-name","prDeploys":true}}'
105
+ ```
106
+
107
+ Common `ProjectUpdateInput` fields: `name`, `isPublic`, `prDeploys`, `botPrEnvironments`.
108
+
109
+
110
+ ## Service mutations
111
+
112
+ The CLI can create services (`railway add`) but cannot rename them or change icons. Use GraphQL:
113
+
114
+ ```bash
115
+ scripts/railway-api.sh \
116
+ 'mutation updateService($id: String!, $input: ServiceUpdateInput!) {
117
+ serviceUpdate(id: $id, input: $input) { id name icon }
118
+ }' \
119
+ '{"id":"<service-id>","input":{"name":"new-name"}}'
120
+ ```
121
+
122
+ `ServiceUpdateInput` fields: `name`, `icon` (image URL, animated GIF, or devicons URL like `https://devicons.railway.app/postgres`).
123
+
124
+ Get the service ID from `railway service list --json`.
125
+
126
+
127
+ ## Service creation via GraphQL
128
+
129
+ Prefer `railway add` for most cases. Use GraphQL for programmatic or advanced use:
130
+
131
+ ```bash
132
+ scripts/railway-api.sh \
133
+ 'mutation createService($input: ServiceCreateInput!) {
134
+ serviceCreate(input: $input) { id name }
135
+ }' \
136
+ '{"input":{"projectId":"<project-id>","name":"my-service","source":{"image":"nginx:latest"}}}'
137
+ ```
138
+
139
+ `ServiceCreateInput` fields:
140
+
141
+ | Field | Type | Description |
142
+ |---|---|---|
143
+ | `projectId` | String! | Target project (required) |
144
+ | `name` | String | Service name (auto-generated if omitted) |
145
+ | `source.image` | String | Docker image (for example, `nginx:latest`) |
146
+ | `source.repo` | String | GitHub repo (for example, `user/repo`) |
147
+ | `branch` | String | Git branch for repo source |
148
+ | `environmentId` | String | Create only in a specific environment |
149
+
150
+ After creating a service via GraphQL, configure it with a JSON config patch including `isCreated: true` (see [configure.md](configure.md)).
151
+
152
+
153
+ ## Metrics queries
154
+
155
+ Use `railway metrics` for routine metric checks. Use GraphQL only when you need custom measurements, grouping, sample rates, or averaging windows that the CLI doesn't expose.
156
+
157
+ ```bash
158
+ scripts/railway-api.sh \
159
+ 'query metrics($environmentId: String!, $serviceId: String, $startDate: DateTime!, $endDate: DateTime, $sampleRateSeconds: Int, $averagingWindowSeconds: Int, $groupBy: [MetricTag!], $measurements: [MetricMeasurement!]!) {
160
+ metrics(environmentId: $environmentId, serviceId: $serviceId, startDate: $startDate, endDate: $endDate, sampleRateSeconds: $sampleRateSeconds, averagingWindowSeconds: $averagingWindowSeconds, groupBy: $groupBy, measurements: $measurements) {
161
+ measurement tags { serviceId deploymentId region } values { ts value }
162
+ }
163
+ }' \
164
+ '{"environmentId":"<env-id>","serviceId":"<service-id>","startDate":"2026-02-19T00:00:00Z","measurements":["CPU_USAGE","MEMORY_USAGE_GB"]}'
165
+ ```
166
+
167
+ Available `MetricMeasurement` values: `CPU_USAGE`, `CPU_LIMIT`, `MEMORY_USAGE_GB`, `MEMORY_LIMIT_GB`, `NETWORK_RX_GB`, `NETWORK_TX_GB`, `DISK_USAGE_GB`, `EPHEMERAL_DISK_USAGE_GB`, `BACKUP_USAGE_GB`.
168
+
169
+ Optional parameters: `endDate` (defaults to now), `sampleRateSeconds`, `averagingWindowSeconds`. Use `groupBy: ["SERVICE_ID"]` without `serviceId` to query all services in an environment at once. Valid `MetricTag` values for `groupBy`: `SERVICE_ID`, `DEPLOYMENT_ID`, `DEPLOYMENT_INSTANCE_ID`, `REGION`.
170
+
171
+ Get the environment ID from `railway status --json`. Get service IDs from `railway service list --json`.
172
+
173
+ ## Template search
174
+
175
+ Use the CLI for template search:
176
+
177
+ ```bash
178
+ railway templates search redis --verified true --json
179
+ railway templates search --category database --limit 10 --json
180
+ railway templates search --after <cursor> --json
181
+ ```
182
+
183
+ The CLI search command doesn't require authentication and supports pagination with `pageInfo.endCursor`.
184
+
185
+ Use GraphQL only when the CLI output isn't enough for the workflow:
186
+
187
+ ```bash
188
+ scripts/railway-api.sh \
189
+ 'query templates($query: String!, $verified: Boolean, $recommended: Boolean) {
190
+ templates(query: $query, verified: $verified, recommended: $recommended) {
191
+ edges { node { code name description category } }
192
+ }
193
+ }' \
194
+ '{"query":"redis","verified":true}'
195
+ ```
196
+
197
+ | Parameter | Type | Description |
198
+ |---|---|---|
199
+ | `query` | String | Search term |
200
+ | `verified` | Boolean | Only verified templates |
201
+ | `recommended` | Boolean | Only recommended templates |
202
+ | `first` | Int | Number of results |
203
+
204
+ Common template codes: `ghost`, `strapi`, `minio`, `n8n`, `uptime-kuma`, `umami`, `postgres`, `redis`, `mysql`, `mongodb`.
205
+
206
+ Deploy a found template via CLI:
207
+
208
+ ```bash
209
+ railway deploy --template <template-code>
210
+ ```
211
+
212
+ ### GraphQL template deployment
213
+
214
+ For deploying into a specific environment or tracking the workflow, use the two-step GraphQL flow:
215
+
216
+ **Step 1**: Fetch the template config:
217
+
218
+ ```bash
219
+ scripts/railway-api.sh \
220
+ 'query template($code: String!) {
221
+ template(code: $code) { id serializedConfig }
222
+ }' \
223
+ '{"code":"postgres"}'
224
+ ```
225
+
226
+ **Step 2**: Deploy with `templateDeployV2`:
227
+
228
+ ```bash
229
+ scripts/railway-api.sh \
230
+ 'mutation deploy($input: TemplateDeployV2Input!) {
231
+ templateDeployV2(input: $input) { projectId workflowId }
232
+ }' \
233
+ '{"input":{
234
+ "templateId":"<id-from-step-1>",
235
+ "serializedConfig":<config-object-from-step-1>,
236
+ "projectId":"<project-id>",
237
+ "environmentId":"<env-id>",
238
+ "workspaceId":"<workspace-id>"
239
+ }}'
240
+ ```
241
+
242
+ `serializedConfig` is the raw JSON object from the template query, not a string. Get `workspaceId` via `scripts/railway-api.sh 'query { project(id: "<project-id>") { workspaceId } }' '{}'`.
243
+
244
+
245
+ ## Validated against
246
+
247
+ - Docs: [api docs](https://docs.railway.com/api/llms-docs.md), [community.md](https://docs.railway.com/community), [cli/docs.md](https://docs.railway.com/cli/docs), [templates.md](https://docs.railway.com/cli/templates), [metrics.md](https://docs.railway.com/cli/metrics)
248
+ - CLI source: [docs.rs](https://github.com/railwayapp/cli/blob/v4.58.0/src/commands/docs.rs), [templates.rs](https://github.com/railwayapp/cli/blob/v4.58.0/src/commands/templates.rs), [metrics.rs](https://github.com/railwayapp/cli/blob/v4.58.0/src/commands/metrics.rs)