@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,82 @@
1
+ # Directory Coverage for AGENTS.md
2
+
3
+ Comprehensive AGENTS.md coverage means creating files in ALL key directories, not just root.
4
+
5
+ ## Why Full Coverage Matters
6
+
7
+ - Each directory has unique patterns and conventions
8
+ - AI agents working in subdirectories benefit from local context
9
+ - Reduces need to navigate up to root AGENTS.md
10
+
11
+ ## Standard Directory Structure
12
+
13
+ ### PHP/TYPO3 Projects
14
+
15
+ | Directory | AGENTS.md Content |
16
+ |-----------|-------------------|
17
+ | Root | Project overview, precedence list, architecture diagram |
18
+ | `Classes/` | DI patterns, service layer, security rules |
19
+ | `Configuration/` | TCA, Services.yaml, module registration |
20
+ | `Documentation/` | RST standards, directives, rendering |
21
+ | `Resources/` | Templates, XLIFF, assets |
22
+ | `Tests/` | Unit/functional patterns, fixtures |
23
+ | `Tests/E2E/` | E2E-specific patterns (if exists) |
24
+
25
+ ### Go Projects
26
+
27
+ | Directory | AGENTS.md Content |
28
+ |-----------|-------------------|
29
+ | Root | Module overview, build commands |
30
+ | `cmd/` | CLI entry points, flags |
31
+ | `internal/` | Private packages, no export |
32
+ | `pkg/` | Public API patterns |
33
+
34
+ ### Python Projects
35
+
36
+ | Directory | AGENTS.md Content |
37
+ |-----------|-------------------|
38
+ | Root | Project overview, pyproject.toml config |
39
+ | `src/` | Source code patterns, type hints |
40
+ | `tests/` | pytest conventions, fixtures, markers |
41
+ | `scripts/` | CLI scripts, entry points |
42
+ | `docs/` | Sphinx/MkDocs documentation standards |
43
+
44
+ ### TypeScript/Node Projects
45
+
46
+ | Directory | AGENTS.md Content |
47
+ |-----------|-------------------|
48
+ | Root | Package overview, scripts |
49
+ | `src/` | Source patterns, imports |
50
+ | `components/` | UI component patterns |
51
+ | `tests/` or `__tests__/` | Testing patterns |
52
+
53
+ ### Skill Repos (Claude Code Plugins)
54
+
55
+ | Directory | AGENTS.md Content |
56
+ |-----------|-------------------|
57
+ | Root | Project overview, plugin.json, licensing |
58
+ | `skills/<name>/` | Skill-specific patterns, SKILL.md rules |
59
+ | `skills/<name>/scripts/` | Shell script conventions |
60
+ | `skills/<name>/references/` | Extended documentation patterns |
61
+ | `.github/workflows/` | CI workflow patterns (validate, auto-merge) |
62
+
63
+ ## Precedence Rules
64
+
65
+ Root AGENTS.md should list all child files:
66
+
67
+ ```markdown
68
+ ## Precedence
69
+
70
+ 1. This file (root)
71
+ 2. Directory-specific files:
72
+ - `Classes/AGENTS.md`
73
+ - `Configuration/AGENTS.md`
74
+ - `Tests/AGENTS.md`
75
+ 3. Framework standards
76
+ ```
77
+
78
+ ## Anti-pattern
79
+
80
+ **Wrong**: Only creating root AGENTS.md and Tests/AGENTS.md
81
+
82
+ **Right**: Create AGENTS.md in EVERY directory with unique patterns
@@ -0,0 +1,70 @@
1
+ <!-- FOR AI AGENTS - Human readability is a side effect, not a goal -->
2
+ <!-- Managed by agent: keep sections and order; edit content, not structure -->
3
+ <!-- Last updated: 2026-02-05 | Last verified: never -->
4
+
5
+ # AGENTS.md
6
+
7
+ **Precedence:** the **closest `AGENTS.md`** to the files you're changing wins. Root holds global defaults only.
8
+
9
+ ## Commands (unverified)
10
+ > Source: go.mod — CI-sourced commands are most reliable
11
+
12
+ <!-- AGENTS-GENERATED:START commands -->
13
+ | Task | Command | ~Time |
14
+ |------|---------|-------|
15
+ | Typecheck | go build -v ./... | ~15s |
16
+ | Format | gofmt -w . | ~5s |
17
+ | Test (single) | go test -v -race | ~2s |
18
+ | Test (all) | go test -v -race -short ./... | ~30s |
19
+ | Build | go build -v ./... | ~30s |
20
+ <!-- AGENTS-GENERATED:END commands -->
21
+
22
+ > If commands fail, verify against Makefile/package.json/composer.json or ask user to update.
23
+
24
+ ## Workflow
25
+ 1. **Before coding**: Read nearest `AGENTS.md` + check Golden Samples for the area you're touching
26
+ 2. **After each change**: Run the smallest relevant check (lint → typecheck → single test)
27
+ 3. **Before committing**: Run full test suite if changes affect >2 files or touch shared code
28
+
29
+ ## Heuristics (quick decisions)
30
+ <!-- AGENTS-GENERATED:START heuristics -->
31
+ | When | Do |
32
+ |------|-----|
33
+ | Adding package | Internal → `internal/`, Public → `pkg/` |
34
+ | Committing | Use Conventional Commits (feat:, fix:, docs:, etc.) |
35
+ | Merging PRs | Squash and merge |
36
+ | Adding dependency | Ask first - we minimize deps |
37
+ | Unsure about pattern | Check Golden Samples above |
38
+ <!-- AGENTS-GENERATED:END heuristics -->
39
+
40
+ ## Repository Settings
41
+ <!-- AGENTS-GENERATED:START repo-settings -->
42
+ - **Default branch:** `main`
43
+ - **Merge strategy:** squash, merge, rebase
44
+ <!-- AGENTS-GENERATED:END repo-settings -->
45
+
46
+ ## Boundaries
47
+
48
+ ### Always Do
49
+ - Run pre-commit checks before committing
50
+ - Add tests for new code paths
51
+ - Use conventional commit format: `type(scope): subject`
52
+ - Follow Go 1.25 conventions and idioms
53
+
54
+ ### Ask First
55
+ - Adding new dependencies
56
+ - Modifying CI/CD configuration
57
+ - Changing public API signatures
58
+ - Running full e2e test suites
59
+ - Repo-wide refactoring or rewrites
60
+
61
+ ### Never Do
62
+ - Commit secrets, credentials, or sensitive data
63
+ - Modify vendor/, node_modules/, or generated files
64
+ - Push directly to main/master branch
65
+ - Delete migration files or schema changes
66
+ - Commit go.sum without go.mod changes
67
+
68
+ ## When instructions conflict
69
+ The nearest `AGENTS.md` wins. Explicit user prompts override files.
70
+ - For Go-specific patterns, defer to language idioms and standard library conventions
@@ -0,0 +1,3 @@
1
+ module example.com/coding-agent-cli
2
+
3
+ go 1.25
@@ -0,0 +1,389 @@
1
+ <!-- Managed by agent: keep sections & order; edit content, not structure. Last updated: 2025-10-09 -->
2
+
3
+ # Installation Scripts - Agent Guide
4
+
5
+ **Scope:** Shell scripts for tool installation, update, uninstall, reconcile
6
+
7
+ ## Overview
8
+
9
+ 13+ Bash scripts for installing developer tools with multiple actions:
10
+ - **install**: Fresh installation (default action)
11
+ - **update**: Upgrade to latest version
12
+ - **uninstall**: Remove installation
13
+ - **reconcile**: Switch to preferred installation method (e.g., system → user)
14
+
15
+ **Key scripts:**
16
+ - `install_core.sh`: Core tools (fd, fzf, ripgrep, jq, yq, bat, delta, just)
17
+ - `install_python.sh`: Python toolchain via uv
18
+ - `install_node.sh`: Node.js via nvm
19
+ - `install_rust.sh`: Rust via rustup
20
+ - `install_go.sh`, `install_aws.sh`, `install_kubectl.sh`, etc.
21
+ - `guide.sh`: Interactive upgrade guide
22
+ - `test_smoke.sh`: Smoke test for audit output
23
+
24
+ **Shared utilities:** `lib/` directory (colors, logging, common functions)
25
+
26
+ ## Setup
27
+
28
+ **Requirements:**
29
+ - Bash 4.0+
30
+ - `curl` or `wget` for downloads
31
+ - Internet access for fresh installs
32
+ - Appropriate permissions (user for `~/.local/bin`, sudo for system)
33
+
34
+ **Environment variables:**
35
+ ```bash
36
+ INSTALL_PREFIX=${INSTALL_PREFIX:-~/.local} # Default: user-level
37
+ FORCE_INSTALL=1 # Skip confirmation prompts
38
+ DEBUG=1 # Verbose output
39
+ ```
40
+
41
+ **Permissions:**
42
+ ```bash
43
+ make scripts-perms # Ensure all scripts are executable
44
+ ```
45
+
46
+ ## Build & Tests
47
+
48
+ **Run individual script:**
49
+ ```bash
50
+ # Install action (default)
51
+ ./scripts/install_python.sh
52
+
53
+ # Update action
54
+ ./scripts/install_python.sh update
55
+
56
+ # Uninstall action
57
+ ./scripts/install_python.sh uninstall
58
+
59
+ # Reconcile action (switch installation method)
60
+ ./scripts/install_node.sh reconcile
61
+ ```
62
+
63
+ **Via Make:**
64
+ ```bash
65
+ make install-python # Install Python toolchain
66
+ make update-python # Update Python toolchain
67
+ make uninstall-python # Uninstall Python toolchain
68
+ make reconcile-node # Switch Node.js to nvm-managed
69
+ ```
70
+
71
+ **Smoke test:**
72
+ ```bash
73
+ ./scripts/test_smoke.sh # Verify audit output format
74
+ ```
75
+
76
+ **Debug mode:**
77
+ ```bash
78
+ DEBUG=1 ./scripts/install_python.sh
79
+ bash -x ./scripts/install_python.sh # Trace execution
80
+ ```
81
+
82
+ ## Code Style
83
+
84
+ **Shell standards:**
85
+ - Bash 4.0+ features allowed
86
+ - Shebang: `#!/usr/bin/env bash` or `#!/bin/bash`
87
+ - Set strict mode: `set -euo pipefail`
88
+ - `-e`: Exit on error
89
+ - `-u`: Error on undefined variables
90
+ - `-o pipefail`: Fail on pipe errors
91
+
92
+ **Formatting:**
93
+ - 4-space indentation (matches EditorConfig)
94
+ - Function names: lowercase_with_underscores
95
+ - Constants: UPPER_CASE
96
+ - Local variables: lowercase
97
+
98
+ **Structure:**
99
+ ```bash
100
+ #!/usr/bin/env bash
101
+ set -euo pipefail
102
+
103
+ # Source shared utilities
104
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
105
+ source "${SCRIPT_DIR}/lib/colors.sh" || true
106
+ source "${SCRIPT_DIR}/lib/common.sh" || true
107
+
108
+ # Main function per action
109
+ install_tool() {
110
+ echo_info "Installing <tool>..."
111
+ # Implementation
112
+ }
113
+
114
+ update_tool() {
115
+ echo_info "Updating <tool>..."
116
+ # Implementation
117
+ }
118
+
119
+ uninstall_tool() {
120
+ echo_info "Uninstalling <tool>..."
121
+ # Implementation
122
+ }
123
+
124
+ reconcile_tool() {
125
+ echo_info "Reconciling <tool>..."
126
+ # Implementation
127
+ }
128
+
129
+ # Action dispatcher
130
+ ACTION="${1:-install}"
131
+ case "$ACTION" in
132
+ install) install_tool ;;
133
+ update) update_tool ;;
134
+ uninstall) uninstall_tool ;;
135
+ reconcile) reconcile_tool ;;
136
+ *) echo "Usage: $0 {install|update|uninstall|reconcile}"; exit 1 ;;
137
+ esac
138
+ ```
139
+
140
+ **Error handling:**
141
+ ```bash
142
+ # Good: Check command exists before using
143
+ if ! command -v curl >/dev/null 2>&1; then
144
+ echo_error "curl not found. Install it first."
145
+ exit 1
146
+ fi
147
+
148
+ # Good: Check return codes
149
+ if ! download_file "$URL" "$DEST"; then
150
+ echo_error "Download failed"
151
+ exit 1
152
+ fi
153
+
154
+ # Good: Cleanup on error
155
+ trap 'rm -rf "$TMPDIR"' EXIT ERR
156
+ ```
157
+
158
+ **Confirmation prompts:**
159
+ ```bash
160
+ # Good: Skip prompt if FORCE_INSTALL=1
161
+ if [[ "${FORCE_INSTALL:-0}" != "1" ]]; then
162
+ read -p "Install <tool>? [y/N] " -n 1 -r
163
+ echo
164
+ [[ ! $REPLY =~ ^[Yy]$ ]] && exit 0
165
+ fi
166
+ ```
167
+
168
+ ## Security
169
+
170
+ **Download verification:**
171
+ ```bash
172
+ # Always use HTTPS
173
+ URL="https://github.com/owner/repo/releases/download/..."
174
+
175
+ # Verify checksums when available
176
+ EXPECTED_SHA256="abc123..."
177
+ ACTUAL_SHA256=$(sha256sum "$FILE" | awk '{print $1}')
178
+ if [[ "$ACTUAL_SHA256" != "$EXPECTED_SHA256" ]]; then
179
+ echo_error "Checksum mismatch!"
180
+ exit 1
181
+ fi
182
+ ```
183
+
184
+ **Path safety:**
185
+ ```bash
186
+ # Good: Quote variables, use absolute paths
187
+ INSTALL_DIR="${HOME}/.local/bin"
188
+ mkdir -p "$INSTALL_DIR"
189
+ mv "$TMPFILE" "$INSTALL_DIR/tool"
190
+
191
+ # Bad: Unquoted, relative paths
192
+ mkdir -p $INSTALL_DIR
193
+ mv tool bin/
194
+ ```
195
+
196
+ **Sudo usage:**
197
+ ```bash
198
+ # Good: Prompt for sudo only when needed
199
+ if [[ "$INSTALL_PREFIX" == "/usr/local" ]]; then
200
+ if ! sudo -v; then
201
+ echo_error "Sudo required for system installation"
202
+ exit 1
203
+ fi
204
+ sudo mv "$FILE" "$INSTALL_PREFIX/bin/"
205
+ else
206
+ # User-level, no sudo
207
+ mv "$FILE" "$INSTALL_PREFIX/bin/"
208
+ fi
209
+ ```
210
+
211
+ **No secrets in scripts:**
212
+ - No API keys, tokens, passwords in scripts
213
+ - Use environment variables: `${GITHUB_TOKEN:-}`
214
+ - Document required env vars in script comments
215
+
216
+ ## PR/Commit Checklist
217
+
218
+ **Before commit:**
219
+ - [ ] Run `shellcheck <script>` (if available)
220
+ - [ ] Test install action: `./scripts/install_<tool>.sh`
221
+ - [ ] Test update action: `./scripts/install_<tool>.sh update`
222
+ - [ ] Test uninstall action: `./scripts/install_<tool>.sh uninstall`
223
+ - [ ] Update `scripts/README.md` if new script or behavior change
224
+ - [ ] Verify script permissions: `make scripts-perms`
225
+
226
+ **Script checklist:**
227
+ - [ ] Shebang: `#!/usr/bin/env bash`
228
+ - [ ] Strict mode: `set -euo pipefail`
229
+ - [ ] Source shared lib: `source "${SCRIPT_DIR}/lib/colors.sh"`
230
+ - [ ] Action dispatcher (install/update/uninstall/reconcile)
231
+ - [ ] Error handling (check return codes, trap on exit)
232
+ - [ ] Confirmation prompts (respect FORCE_INSTALL)
233
+ - [ ] PATH updates (add to ~/.bashrc or ~/.zshrc if needed)
234
+
235
+ **Commit messages:**
236
+ - `feat(scripts): add install_terraform.sh`
237
+ - `fix(install-python): handle uv bootstrap failure`
238
+ - `docs(scripts): update README with reconcile action`
239
+
240
+ ## Good vs Bad Examples
241
+
242
+ **Good: Robust download with fallback**
243
+ ```bash
244
+ download_file() {
245
+ local url="$1"
246
+ local dest="$2"
247
+
248
+ if command -v curl >/dev/null 2>&1; then
249
+ curl -fsSL "$url" -o "$dest"
250
+ elif command -v wget >/dev/null 2>&1; then
251
+ wget -q "$url" -O "$dest"
252
+ else
253
+ echo_error "Neither curl nor wget found"
254
+ return 1
255
+ fi
256
+ }
257
+ ```
258
+
259
+ **Bad: Assumes curl exists**
260
+ ```bash
261
+ download_file() {
262
+ curl -fsSL "$1" -o "$2" # Fails if curl not installed
263
+ }
264
+ ```
265
+
266
+ **Good: Version comparison**
267
+ ```bash
268
+ version_gt() {
269
+ test "$(printf '%s\n' "$@" | sort -V | head -n 1)" != "$1"
270
+ }
271
+
272
+ CURRENT_VERSION="1.2.3"
273
+ LATEST_VERSION="1.3.0"
274
+
275
+ if version_gt "$LATEST_VERSION" "$CURRENT_VERSION"; then
276
+ echo "Upgrade available"
277
+ fi
278
+ ```
279
+
280
+ **Bad: String comparison for versions**
281
+ ```bash
282
+ if [[ "$LATEST_VERSION" > "$CURRENT_VERSION" ]]; then
283
+ # Wrong: "1.10.0" < "1.9.0" (string comparison)
284
+ echo "Upgrade available"
285
+ fi
286
+ ```
287
+
288
+ **Good: Cleanup on exit**
289
+ ```bash
290
+ TMPDIR=$(mktemp -d)
291
+ trap 'rm -rf "$TMPDIR"' EXIT ERR
292
+
293
+ # Download to temp
294
+ download_file "$URL" "$TMPDIR/file"
295
+ # ... process ...
296
+ # Cleanup happens automatically via trap
297
+ ```
298
+
299
+ **Bad: Manual cleanup (error-prone)**
300
+ ```bash
301
+ TMPDIR=$(mktemp -d)
302
+ download_file "$URL" "$TMPDIR/file"
303
+ # ... process ...
304
+ rm -rf "$TMPDIR" # Skipped if earlier command fails
305
+ ```
306
+
307
+ **Good: Action-specific logic**
308
+ ```bash
309
+ install_rust() {
310
+ if command -v rustup >/dev/null 2>&1; then
311
+ echo_warn "rustup already installed"
312
+ return 0
313
+ fi
314
+
315
+ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
316
+ source "$HOME/.cargo/env"
317
+ }
318
+
319
+ update_rust() {
320
+ if ! command -v rustup >/dev/null 2>&1; then
321
+ echo_error "rustup not installed. Run install first."
322
+ return 1
323
+ fi
324
+
325
+ rustup update
326
+ }
327
+ ```
328
+
329
+ ## When Stuck
330
+
331
+ **Script fails silently:**
332
+ 1. Add debug: `bash -x ./scripts/install_<tool>.sh`
333
+ 2. Check logs: `./scripts/install_<tool>.sh 2>&1 | tee install.log`
334
+ 3. Verify permissions: `ls -la scripts/`
335
+
336
+ **Download fails:**
337
+ 1. Check network: `curl -I https://github.com`
338
+ 2. Check URL: `echo "$URL"` (verify it's correct)
339
+ 3. Try manual download: `curl -fsSL "$URL"`
340
+
341
+ **Installation fails:**
342
+ 1. Check prerequisites (e.g., Python for uv, curl for rustup)
343
+ 2. Check disk space: `df -h`
344
+ 3. Check permissions: `ls -ld "$INSTALL_PREFIX"`
345
+
346
+ **PATH not updated:**
347
+ 1. Source shell config: `source ~/.bashrc` or `source ~/.zshrc`
348
+ 2. Check PATH: `echo $PATH | tr ':' '\n' | grep local`
349
+ 3. Verify binary location: `ls -la ~/.local/bin/<tool>`
350
+
351
+ **Reconcile fails:**
352
+ 1. Check current installation: `which <tool>`
353
+ 2. Check installation method: `cli_audit.py --only <tool>`
354
+ 3. Manually remove old version first: `apt remove <tool>` or `cargo uninstall <tool>`
355
+
356
+ **Documentation:**
357
+ - Script-specific docs: [README.md](README.md) (this directory)
358
+ - Troubleshooting: [../docs/TROUBLESHOOTING.md](../docs/TROUBLESHOOTING.md)
359
+ - Architecture: [../docs/DEPLOYMENT.md](../docs/DEPLOYMENT.md#installation-scripts)
360
+
361
+ ## House Rules
362
+
363
+ **Installation preferences** (Phase 2 planning):
364
+ - User-level preferred: `~/.local/bin` (workstations)
365
+ - System-level for servers: `/usr/local/bin`
366
+ - Vendor tools first: rustup, nvm, uv over system packages
367
+ - See [../docs/adr/ADR-002-package-manager-hierarchy.md](../docs/adr/ADR-002-package-manager-hierarchy.md)
368
+
369
+ **Reconciliation strategy:**
370
+ - Parallel approach: Keep both installations, prefer user via PATH
371
+ - No automatic removal (user chooses)
372
+ - See [../docs/adr/ADR-003-parallel-installation-approach.md](../docs/adr/ADR-003-parallel-installation-approach.md)
373
+
374
+ **Version policy:**
375
+ - Always latest by default
376
+ - Warn on major version upgrades
377
+ - See [../docs/adr/ADR-004-always-latest-version-policy.md](../docs/adr/ADR-004-always-latest-version-policy.md)
378
+
379
+ **Script structure:**
380
+ - Multi-action support: install, update, uninstall, reconcile
381
+ - Shared utilities in `lib/`
382
+ - Consistent error handling and logging
383
+ - Make integration via `make install-<tool>`
384
+
385
+ ---
386
+
387
+ **Quick Start:** Run `make install-core` to install essential tools, then `make audit` to verify.
388
+
389
+ **Troubleshooting:** See [README.md](README.md) for per-script troubleshooting and [../docs/TROUBLESHOOTING.md](../docs/TROUBLESHOOTING.md) for general issues.
@@ -0,0 +1,13 @@
1
+ # Server Configuration
2
+ PORT=3000
3
+ NODE_ENV=development
4
+
5
+ # Database
6
+ DATABASE_URL=postgresql://user:password@localhost:5432/api
7
+
8
+ # Logging
9
+ LOG_LEVEL=info
10
+
11
+ # Security
12
+ JWT_SECRET=change-me-in-production
13
+ CORS_ORIGIN=http://localhost:3000
@@ -0,0 +1,91 @@
1
+ <!-- FOR AI AGENTS - Human readability is a side effect, not a goal -->
2
+ <!-- Managed by agent: keep sections and order; edit content, not structure -->
3
+ <!-- Last updated: 2026-02-05 | Last verified: never -->
4
+
5
+ # AGENTS.md
6
+
7
+ **Precedence:** the **closest `AGENTS.md`** to the files you're changing wins. Root holds global defaults only.
8
+
9
+ ## Commands (unverified)
10
+ > Source: package.json — CI-sourced commands are most reliable
11
+
12
+ <!-- AGENTS-GENERATED:START commands -->
13
+ | Task | Command | ~Time |
14
+ |------|---------|-------|
15
+ | Typecheck | pnpm typecheck | ~15s |
16
+ | Lint | pnpm lint | ~10s |
17
+ | Format | pnpm format | ~5s |
18
+ | Test (single) | pnpm dlx vitest run | ~2s |
19
+ | Test (all) | pnpm test | ~30s |
20
+ | Build | pnpm build | ~30s |
21
+ <!-- AGENTS-GENERATED:END commands -->
22
+
23
+ > If commands fail, verify against Makefile/package.json/composer.json or ask user to update.
24
+
25
+ ## Workflow
26
+ 1. **Before coding**: Read nearest `AGENTS.md` + check Golden Samples for the area you're touching
27
+ 2. **After each change**: Run the smallest relevant check (lint → typecheck → single test)
28
+ 3. **Before committing**: Run full test suite if changes affect >2 files or touch shared code
29
+
30
+ ## File Map
31
+ <!-- AGENTS-GENERATED:START filemap -->
32
+ ```
33
+ src/ → application source code
34
+ ```
35
+ <!-- AGENTS-GENERATED:END filemap -->
36
+
37
+ ## Golden Samples (follow these patterns)
38
+ <!-- AGENTS-GENERATED:START golden-samples -->
39
+ | For | Reference | Key patterns |
40
+ |-----|-----------|--------------|
41
+ | Entrypoint | `src/index.ts` | standard patterns |
42
+ <!-- AGENTS-GENERATED:END golden-samples -->
43
+
44
+ ## Heuristics (quick decisions)
45
+ <!-- AGENTS-GENERATED:START heuristics -->
46
+ | When | Do |
47
+ |------|-----|
48
+ | Adding env var | Add to `.env.example` first |
49
+ | Committing | Use Conventional Commits (feat:, fix:, docs:, etc.) |
50
+ | Merging PRs | Squash and merge |
51
+ | Adding dependency | Ask first - we minimize deps |
52
+ | Unsure about pattern | Check Golden Samples above |
53
+ <!-- AGENTS-GENERATED:END heuristics -->
54
+
55
+ ## Repository Settings
56
+ <!-- AGENTS-GENERATED:START repo-settings -->
57
+ - **Default branch:** `main`
58
+ - **Merge strategy:** squash, merge, rebase
59
+ <!-- AGENTS-GENERATED:END repo-settings -->
60
+
61
+ ## Boundaries
62
+
63
+ ### Always Do
64
+ - Run pre-commit checks before committing
65
+ - Add tests for new code paths
66
+ - Use conventional commit format: `type(scope): subject`
67
+ - Use TypeScript strict mode with proper type annotations
68
+
69
+ ### Ask First
70
+ - Adding new dependencies
71
+ - Modifying CI/CD configuration
72
+ - Changing public API signatures
73
+ - Running full e2e test suites
74
+ - Repo-wide refactoring or rewrites
75
+
76
+ ### Never Do
77
+ - Commit secrets, credentials, or sensitive data
78
+ - Modify vendor/, node_modules/, or generated files
79
+ - Push directly to main/master branch
80
+ - Delete migration files or schema changes
81
+ - Commit package-lock.json without package.json changes
82
+ - Use any type without justification
83
+
84
+ ## Index of scoped AGENTS.md
85
+ <!-- AGENTS-GENERATED:START scope-index -->
86
+ - `./src/AGENTS.md` — Backend services (TypeScript/Node.js)
87
+ <!-- AGENTS-GENERATED:END scope-index -->
88
+
89
+ ## When instructions conflict
90
+ The nearest `AGENTS.md` wins. Explicit user prompts override files.
91
+ - For TypeScript/JavaScript patterns, follow project eslint/prettier config
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "express-api-ts",
3
+ "version": "1.0.0",
4
+ "description": "Express.js REST API with TypeScript",
5
+ "main": "dist/index.js",
6
+ "scripts": {
7
+ "dev": "tsx watch src/index.ts",
8
+ "build": "tsc",
9
+ "start": "node dist/index.js",
10
+ "test": "vitest run",
11
+ "test:watch": "vitest",
12
+ "lint": "eslint src/",
13
+ "format": "prettier --write src/",
14
+ "typecheck": "tsc --noEmit"
15
+ },
16
+ "dependencies": {
17
+ "express": "^4.21.0",
18
+ "zod": "^3.23.0",
19
+ "winston": "^3.14.0"
20
+ },
21
+ "devDependencies": {
22
+ "@types/express": "^4.17.21",
23
+ "@types/node": "^22.0.0",
24
+ "eslint": "^9.12.0",
25
+ "prettier": "^3.3.0",
26
+ "tsx": "^4.19.0",
27
+ "typescript": "^5.6.0",
28
+ "vitest": "^2.1.0"
29
+ },
30
+ "engines": {
31
+ "node": ">=20.0.0"
32
+ }
33
+ }
@@ -0,0 +1,3 @@
1
+ # pnpm lockfile placeholder
2
+ # This file indicates pnpm is the package manager
3
+ lockfileVersion: '9.0'