@vyuhlabs/dxkit 2.4.8 → 2.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (319) hide show
  1. package/CHANGELOG.md +312 -0
  2. package/README.md +360 -439
  3. package/dist/analyzers/security/aggregator.d.ts.map +1 -1
  4. package/dist/analyzers/security/aggregator.js +4 -46
  5. package/dist/analyzers/security/aggregator.js.map +1 -1
  6. package/dist/analyzers/tools/fingerprint.d.ts +91 -26
  7. package/dist/analyzers/tools/fingerprint.d.ts.map +1 -1
  8. package/dist/analyzers/tools/fingerprint.js +111 -22
  9. package/dist/analyzers/tools/fingerprint.js.map +1 -1
  10. package/dist/analyzers/tools/generic.d.ts.map +1 -1
  11. package/dist/analyzers/tools/generic.js +6 -1
  12. package/dist/analyzers/tools/generic.js.map +1 -1
  13. package/dist/analyzers/tools/gitleaks.d.ts +24 -1
  14. package/dist/analyzers/tools/gitleaks.d.ts.map +1 -1
  15. package/dist/analyzers/tools/gitleaks.js +20 -11
  16. package/dist/analyzers/tools/gitleaks.js.map +1 -1
  17. package/dist/analyzers/tools/graphify.d.ts.map +1 -1
  18. package/dist/analyzers/tools/graphify.js +9 -5
  19. package/dist/analyzers/tools/graphify.js.map +1 -1
  20. package/dist/analyzers/tools/tool-registry.d.ts +19 -1
  21. package/dist/analyzers/tools/tool-registry.d.ts.map +1 -1
  22. package/dist/analyzers/tools/tool-registry.js +25 -0
  23. package/dist/analyzers/tools/tool-registry.js.map +1 -1
  24. package/dist/analyzers/types.d.ts +6 -4
  25. package/dist/analyzers/types.d.ts.map +1 -1
  26. package/dist/baseline/baseline-file.d.ts +104 -0
  27. package/dist/baseline/baseline-file.d.ts.map +1 -0
  28. package/dist/baseline/baseline-file.js +110 -0
  29. package/dist/baseline/baseline-file.js.map +1 -0
  30. package/dist/baseline/check-renderers.d.ts +108 -0
  31. package/dist/baseline/check-renderers.d.ts.map +1 -0
  32. package/dist/baseline/check-renderers.js +379 -0
  33. package/dist/baseline/check-renderers.js.map +1 -0
  34. package/dist/baseline/check.d.ts +127 -0
  35. package/dist/baseline/check.d.ts.map +1 -0
  36. package/dist/baseline/check.js +462 -0
  37. package/dist/baseline/check.js.map +1 -0
  38. package/dist/baseline/content-hash.d.ts +83 -0
  39. package/dist/baseline/content-hash.d.ts.map +1 -0
  40. package/dist/baseline/content-hash.js +131 -0
  41. package/dist/baseline/content-hash.js.map +1 -0
  42. package/dist/baseline/create.d.ts +96 -0
  43. package/dist/baseline/create.d.ts.map +1 -0
  44. package/dist/baseline/create.js +339 -0
  45. package/dist/baseline/create.js.map +1 -0
  46. package/dist/baseline/entry-to-located.d.ts +35 -0
  47. package/dist/baseline/entry-to-located.d.ts.map +1 -0
  48. package/dist/baseline/entry-to-located.js +72 -0
  49. package/dist/baseline/entry-to-located.js.map +1 -0
  50. package/dist/baseline/finding-identity.d.ts +47 -0
  51. package/dist/baseline/finding-identity.d.ts.map +1 -0
  52. package/dist/baseline/finding-identity.js +292 -0
  53. package/dist/baseline/finding-identity.js.map +1 -0
  54. package/dist/baseline/git-aware-match.d.ts +146 -0
  55. package/dist/baseline/git-aware-match.d.ts.map +1 -0
  56. package/dist/baseline/git-aware-match.js +439 -0
  57. package/dist/baseline/git-aware-match.js.map +1 -0
  58. package/dist/baseline/policy.d.ts +171 -0
  59. package/dist/baseline/policy.d.ts.map +1 -0
  60. package/dist/baseline/policy.js +206 -0
  61. package/dist/baseline/policy.js.map +1 -0
  62. package/dist/baseline/producers/health.d.ts +30 -0
  63. package/dist/baseline/producers/health.d.ts.map +1 -0
  64. package/dist/baseline/producers/health.js +42 -0
  65. package/dist/baseline/producers/health.js.map +1 -0
  66. package/dist/baseline/producers/index.d.ts +164 -0
  67. package/dist/baseline/producers/index.d.ts.map +1 -0
  68. package/dist/baseline/producers/index.js +200 -0
  69. package/dist/baseline/producers/index.js.map +1 -0
  70. package/dist/baseline/producers/licenses.d.ts +23 -0
  71. package/dist/baseline/producers/licenses.d.ts.map +1 -0
  72. package/dist/baseline/producers/licenses.js +46 -0
  73. package/dist/baseline/producers/licenses.js.map +1 -0
  74. package/dist/baseline/producers/quality.d.ts +39 -0
  75. package/dist/baseline/producers/quality.d.ts.map +1 -0
  76. package/dist/baseline/producers/quality.js +84 -0
  77. package/dist/baseline/producers/quality.js.map +1 -0
  78. package/dist/baseline/producers/secret-hmac.d.ts +45 -0
  79. package/dist/baseline/producers/secret-hmac.d.ts.map +1 -0
  80. package/dist/baseline/producers/secret-hmac.js +70 -0
  81. package/dist/baseline/producers/secret-hmac.js.map +1 -0
  82. package/dist/baseline/producers/security.d.ts +59 -0
  83. package/dist/baseline/producers/security.d.ts.map +1 -0
  84. package/dist/baseline/producers/security.js +135 -0
  85. package/dist/baseline/producers/security.js.map +1 -0
  86. package/dist/baseline/producers/tests.d.ts +36 -0
  87. package/dist/baseline/producers/tests.d.ts.map +1 -0
  88. package/dist/baseline/producers/tests.js +69 -0
  89. package/dist/baseline/producers/tests.js.map +1 -0
  90. package/dist/baseline/salt.d.ts +45 -0
  91. package/dist/baseline/salt.d.ts.map +1 -0
  92. package/dist/baseline/salt.js +113 -0
  93. package/dist/baseline/salt.js.map +1 -0
  94. package/dist/baseline/show.d.ts +79 -0
  95. package/dist/baseline/show.d.ts.map +1 -0
  96. package/dist/baseline/show.js +233 -0
  97. package/dist/baseline/show.js.map +1 -0
  98. package/dist/baseline/types.d.ts +482 -0
  99. package/dist/baseline/types.d.ts.map +1 -0
  100. package/dist/baseline/types.js +53 -0
  101. package/dist/baseline/types.js.map +1 -0
  102. package/dist/cli.d.ts.map +1 -1
  103. package/dist/cli.js +398 -82
  104. package/dist/cli.js.map +1 -1
  105. package/dist/constants.d.ts.map +1 -1
  106. package/dist/constants.js +0 -4
  107. package/dist/constants.js.map +1 -1
  108. package/dist/doctor.d.ts.map +1 -1
  109. package/dist/doctor.js +39 -35
  110. package/dist/doctor.js.map +1 -1
  111. package/dist/fail-on.d.ts +84 -0
  112. package/dist/fail-on.d.ts.map +1 -0
  113. package/dist/fail-on.js +128 -0
  114. package/dist/fail-on.js.map +1 -0
  115. package/dist/generator.d.ts +1 -1
  116. package/dist/generator.d.ts.map +1 -1
  117. package/dist/generator.js +81 -274
  118. package/dist/generator.js.map +1 -1
  119. package/dist/hooks-cli.d.ts +20 -0
  120. package/dist/hooks-cli.d.ts.map +1 -0
  121. package/dist/hooks-cli.js +145 -0
  122. package/dist/hooks-cli.js.map +1 -0
  123. package/dist/languages/csharp.d.ts.map +1 -1
  124. package/dist/languages/csharp.js +4 -9
  125. package/dist/languages/csharp.js.map +1 -1
  126. package/dist/languages/go.d.ts.map +1 -1
  127. package/dist/languages/go.js +3 -14
  128. package/dist/languages/go.js.map +1 -1
  129. package/dist/languages/index.d.ts +19 -1
  130. package/dist/languages/index.d.ts.map +1 -1
  131. package/dist/languages/index.js +32 -0
  132. package/dist/languages/index.js.map +1 -1
  133. package/dist/languages/java.d.ts.map +1 -1
  134. package/dist/languages/java.js +4 -6
  135. package/dist/languages/java.js.map +1 -1
  136. package/dist/languages/kotlin.d.ts.map +1 -1
  137. package/dist/languages/kotlin.js +9 -11
  138. package/dist/languages/kotlin.js.map +1 -1
  139. package/dist/languages/python.d.ts.map +1 -1
  140. package/dist/languages/python.js +4 -15
  141. package/dist/languages/python.js.map +1 -1
  142. package/dist/languages/ruby.d.ts.map +1 -1
  143. package/dist/languages/ruby.js +4 -6
  144. package/dist/languages/ruby.js.map +1 -1
  145. package/dist/languages/rust.d.ts.map +1 -1
  146. package/dist/languages/rust.js +4 -4
  147. package/dist/languages/rust.js.map +1 -1
  148. package/dist/languages/types.d.ts +29 -28
  149. package/dist/languages/types.d.ts.map +1 -1
  150. package/dist/languages/typescript.d.ts.map +1 -1
  151. package/dist/languages/typescript.js +31 -4
  152. package/dist/languages/typescript.js.map +1 -1
  153. package/dist/lib.d.ts +2 -3
  154. package/dist/lib.d.ts.map +1 -1
  155. package/dist/lib.js +3 -6
  156. package/dist/lib.js.map +1 -1
  157. package/dist/prompts.d.ts.map +1 -1
  158. package/dist/prompts.js +0 -10
  159. package/dist/prompts.js.map +1 -1
  160. package/dist/report-schema.d.ts +42 -0
  161. package/dist/report-schema.d.ts.map +1 -0
  162. package/dist/report-schema.js +54 -0
  163. package/dist/report-schema.js.map +1 -0
  164. package/dist/ship-installers.d.ts +112 -0
  165. package/dist/ship-installers.d.ts.map +1 -0
  166. package/dist/ship-installers.js +530 -0
  167. package/dist/ship-installers.js.map +1 -0
  168. package/dist/tools-cli.d.ts.map +1 -1
  169. package/dist/tools-cli.js +45 -9
  170. package/dist/tools-cli.js.map +1 -1
  171. package/dist/types.d.ts +0 -4
  172. package/dist/types.d.ts.map +1 -1
  173. package/dist/update.d.ts.map +1 -1
  174. package/dist/update.js +0 -4
  175. package/dist/update.js.map +1 -1
  176. package/package.json +17 -11
  177. package/templates/.claude/skills/dxkit-action/SKILL.md +150 -0
  178. package/templates/.claude/skills/dxkit-config/SKILL.md +124 -0
  179. package/templates/.claude/skills/dxkit-hooks/SKILL.md +109 -0
  180. package/templates/.claude/skills/dxkit-init/SKILL.md +93 -0
  181. package/templates/.claude/skills/dxkit-learn/SKILL.md +84 -0
  182. package/templates/.claude/skills/dxkit-reports/SKILL.md +111 -0
  183. package/templates/.devcontainer/devcontainer.json +55 -0
  184. package/templates/.devcontainer/install-agent-clis.sh +42 -0
  185. package/templates/.devcontainer/post-create.sh +81 -0
  186. package/templates/.githooks/pre-commit +55 -0
  187. package/templates/.githooks/pre-push +63 -0
  188. package/templates/.github/workflows/dxkit-baseline-refresh.yml +78 -0
  189. package/templates/.github/workflows/dxkit-guardrails.yml +98 -0
  190. package/templates/AGENTS.md.template +137 -0
  191. package/templates/CLAUDE.md.template +16 -245
  192. package/dist/codebase-scanner.d.ts +0 -36
  193. package/dist/codebase-scanner.d.ts.map +0 -1
  194. package/dist/codebase-scanner.js +0 -688
  195. package/dist/codebase-scanner.js.map +0 -1
  196. package/dist/project-yaml.d.ts +0 -13
  197. package/dist/project-yaml.d.ts.map +0 -1
  198. package/dist/project-yaml.js +0 -188
  199. package/dist/project-yaml.js.map +0 -1
  200. package/templates/.ai/README.md +0 -117
  201. package/templates/.ai/prompts/execution-prompt.md +0 -9
  202. package/templates/.ai/prompts/planning-prompt.md +0 -18
  203. package/templates/.ai/prompts/session-end-template.md +0 -182
  204. package/templates/.ai/prompts/session-end.md +0 -132
  205. package/templates/.ai/prompts/session-start.md +0 -109
  206. package/templates/.ai/prompts/step-by-step.md +0 -113
  207. package/templates/.ai/sessions/.gitkeep +0 -0
  208. package/templates/.claude/agents/doc-writer.md +0 -107
  209. package/templates/.claude/agents/knowledge-bot.md +0 -64
  210. package/templates/.claude/agents/onboarding.md +0 -61
  211. package/templates/.claude/agents/quality-reviewer.md +0 -85
  212. package/templates/.claude/agents-available/code-reviewer.md +0 -29
  213. package/templates/.claude/agents-available/codebase-explorer.md +0 -100
  214. package/templates/.claude/agents-available/dashboard-builder.md +0 -433
  215. package/templates/.claude/agents-available/debugger.md +0 -29
  216. package/templates/.claude/agents-available/dependency-mapper.md +0 -80
  217. package/templates/.claude/agents-available/dev-report.md +0 -108
  218. package/templates/.claude/agents-available/doc-writer.md +0 -107
  219. package/templates/.claude/agents-available/feature-builder.md +0 -163
  220. package/templates/.claude/agents-available/feature-planner.md +0 -185
  221. package/templates/.claude/agents-available/health-auditor.md +0 -95
  222. package/templates/.claude/agents-available/hooks-configurator.md +0 -211
  223. package/templates/.claude/agents-available/knowledge-bot.md +0 -62
  224. package/templates/.claude/agents-available/plan-executor.md +0 -133
  225. package/templates/.claude/agents-available/strategic-planner.md +0 -141
  226. package/templates/.claude/agents-available/test-gap-finder.md +0 -67
  227. package/templates/.claude/agents-available/test-writer.md +0 -34
  228. package/templates/.claude/agents-available/vulnerability-scanner.md +0 -173
  229. package/templates/.claude/commands/ask.md +0 -7
  230. package/templates/.claude/commands/build-feature.md +0 -26
  231. package/templates/.claude/commands/build.md.template +0 -30
  232. package/templates/.claude/commands/check.md.template +0 -43
  233. package/templates/.claude/commands/dashboard.md +0 -28
  234. package/templates/.claude/commands/deps.md +0 -15
  235. package/templates/.claude/commands/dev-report.md +0 -50
  236. package/templates/.claude/commands/docs.md +0 -21
  237. package/templates/.claude/commands/doctor.md +0 -21
  238. package/templates/.claude/commands/enable-agent.md +0 -12
  239. package/templates/.claude/commands/execute-plan.md +0 -25
  240. package/templates/.claude/commands/explore-codebase.md +0 -12
  241. package/templates/.claude/commands/export-pdf.md +0 -30
  242. package/templates/.claude/commands/feature.md +0 -25
  243. package/templates/.claude/commands/fix-issue.md +0 -12
  244. package/templates/.claude/commands/fix.md.template +0 -32
  245. package/templates/.claude/commands/health.md +0 -58
  246. package/templates/.claude/commands/help.md +0 -36
  247. package/templates/.claude/commands/learn.md +0 -48
  248. package/templates/.claude/commands/onboarding.md +0 -21
  249. package/templates/.claude/commands/plan.md +0 -20
  250. package/templates/.claude/commands/quality.md.template +0 -65
  251. package/templates/.claude/commands/session-end.md +0 -40
  252. package/templates/.claude/commands/session-start.md +0 -30
  253. package/templates/.claude/commands/setup-hooks.md +0 -18
  254. package/templates/.claude/commands/setup-pr-review.md +0 -72
  255. package/templates/.claude/commands/stealth-mode.md +0 -17
  256. package/templates/.claude/commands/test-gaps.md +0 -49
  257. package/templates/.claude/commands/test.md.template +0 -40
  258. package/templates/.claude/commands/vulnerabilities.md +0 -49
  259. package/templates/.claude/skills/build/SKILL.md.template +0 -98
  260. package/templates/.claude/skills/deploy/SKILL.md.template +0 -131
  261. package/templates/.claude/skills/deploy/references/gotchas.md +0 -5
  262. package/templates/.claude/skills/doctor/SKILL.md +0 -54
  263. package/templates/.claude/skills/gcloud/SKILL.md +0 -66
  264. package/templates/.claude/skills/gcloud/references/gotchas.md +0 -5
  265. package/templates/.claude/skills/learned/SKILL.md +0 -55
  266. package/templates/.claude/skills/learned/references/conventions.md +0 -11
  267. package/templates/.claude/skills/learned/references/deny-recommendations.md +0 -18
  268. package/templates/.claude/skills/learned/references/gotchas.md +0 -11
  269. package/templates/.claude/skills/pulumi/SKILL.md +0 -73
  270. package/templates/.claude/skills/quality/SKILL.md.template +0 -108
  271. package/templates/.claude/skills/quality/references/gotchas.md +0 -5
  272. package/templates/.claude/skills/review/SKILL.md.template +0 -73
  273. package/templates/.claude/skills/scaffold/SKILL.md.template +0 -123
  274. package/templates/.claude/skills/secrets/SKILL.md +0 -52
  275. package/templates/.claude/skills/session/SKILL.md +0 -43
  276. package/templates/.claude/skills/test/SKILL.md.template +0 -122
  277. package/templates/.claude/skills/test/references/gotchas.md +0 -5
  278. package/templates/.devcontainer/Dockerfile.dev.template +0 -89
  279. package/templates/.devcontainer/devcontainer.json.template +0 -184
  280. package/templates/.devcontainer/docker-compose.yml.template +0 -105
  281. package/templates/.devcontainer/init-scripts/01-init.sql.template +0 -12
  282. package/templates/.devcontainer/post-create.sh.template +0 -298
  283. package/templates/.github/workflows/ci.yml.template +0 -399
  284. package/templates/.github/workflows/quality.yml.template +0 -376
  285. package/templates/.pre-commit-config.yaml.template +0 -106
  286. package/templates/.project/config/edit_config.py +0 -275
  287. package/templates/.project/config/project_config.py +0 -894
  288. package/templates/.project/scripts/codegen/generate-all.sh +0 -20
  289. package/templates/.project/scripts/codegen/validate-all.sh +0 -17
  290. package/templates/.project/scripts/docs/generate-all.sh +0 -30
  291. package/templates/.project/scripts/docs/serve.sh +0 -20
  292. package/templates/.project/scripts/quality/fix-all.sh +0 -138
  293. package/templates/.project/scripts/quality/lint-go.sh +0 -34
  294. package/templates/.project/scripts/quality/lint-python.sh +0 -54
  295. package/templates/.project/scripts/quality/run-all.sh +0 -497
  296. package/templates/.project/scripts/session/commit.sh +0 -70
  297. package/templates/.project/scripts/session/create-pr.sh +0 -165
  298. package/templates/.project/scripts/session/end.sh +0 -207
  299. package/templates/.project/scripts/session/start.sh +0 -233
  300. package/templates/.project/scripts/setup/doctor.sh +0 -404
  301. package/templates/.project/scripts/setup/interactive-setup.sh +0 -585
  302. package/templates/.project/scripts/sync/sync-template.sh +0 -328
  303. package/templates/.project/scripts/test/run-all.sh +0 -179
  304. package/templates/.project/scripts/test/run-quick.sh +0 -25
  305. package/templates/Makefile +0 -514
  306. package/templates/config/versions.yaml +0 -57
  307. package/templates/configs/go/.golangci.yml.template +0 -172
  308. package/templates/configs/go/go.mod.template +0 -15
  309. package/templates/configs/java/README.md +0 -6
  310. package/templates/configs/kotlin/README.md +0 -6
  311. package/templates/configs/node/package.json.template +0 -67
  312. package/templates/configs/node/tsconfig.json.template +0 -53
  313. package/templates/configs/python/pyproject.toml.template +0 -92
  314. package/templates/configs/python/pytest.ini.template +0 -64
  315. package/templates/configs/python/ruff.toml.template +0 -79
  316. package/templates/configs/ruby/README.md +0 -6
  317. package/templates/configs/rust/Cargo.toml.template +0 -51
  318. package/templates/configs/shared/.editorconfig +0 -67
  319. package/templates/scripts/validate-templates.sh +0 -449
@@ -1,105 +0,0 @@
1
- # Generated from template - do not edit directly
2
- # Regenerate with: ./scripts/bootstrap/bootstrap.sh
3
-
4
- version: '3.8'
5
-
6
- services:
7
- # ==========================================================================
8
- # Development Container
9
- # ==========================================================================
10
- dev-environment:
11
- build:
12
- context: .
13
- dockerfile: Dockerfile.dev
14
- volumes:
15
- - ../..:/workspaces:cached
16
- working_dir: /workspaces/{{PROJECT_NAME}}
17
- command: sleep infinity
18
- {{#IF_HAS_SERVICES}}
19
- depends_on:
20
- {{#IF_POSTGRES}}
21
- db:
22
- condition: service_healthy
23
- {{/IF_POSTGRES}}
24
- {{#IF_REDIS}}
25
- redis:
26
- condition: service_healthy
27
- {{/IF_REDIS}}
28
- {{/IF_HAS_SERVICES}}
29
- ports:
30
- - "8080:8080"
31
- - "3000:3000"
32
- environment:
33
- - TERM=xterm-256color
34
- {{#IF_POSTGRES}}
35
- - DATABASE_URL=postgresql://{{DB_USER}}:{{DB_PASSWORD}}@db:5432/{{DB_NAME}}
36
- - DB_HOST=db
37
- - DB_PORT=5432
38
- - DB_NAME={{DB_NAME}}
39
- - DB_USER={{DB_USER}}
40
- - DB_PASSWORD={{DB_PASSWORD}}
41
- {{/IF_POSTGRES}}
42
- {{#IF_REDIS}}
43
- - REDIS_URL=redis://redis:6379
44
- - REDIS_HOST=redis
45
- - REDIS_PORT=6379
46
- {{/IF_REDIS}}
47
-
48
- {{#IF_POSTGRES}}
49
- # ==========================================================================
50
- # PostgreSQL Database
51
- # ==========================================================================
52
- db:
53
- image: postgres:{{POSTGRES_VERSION}}-alpine
54
- restart: unless-stopped
55
- volumes:
56
- - postgres-data:/var/lib/postgresql/data
57
- - ./init-scripts:/docker-entrypoint-initdb.d:ro
58
- environment:
59
- POSTGRES_USER: {{DB_USER}}
60
- POSTGRES_PASSWORD: {{DB_PASSWORD}}
61
- POSTGRES_DB: {{DB_NAME}}
62
- ports:
63
- - "5432:5432"
64
- healthcheck:
65
- test: ["CMD-SHELL", "pg_isready -U {{DB_USER}} -d {{DB_NAME}}"]
66
- interval: 10s
67
- timeout: 5s
68
- retries: 5
69
- start_period: 10s
70
-
71
- {{/IF_POSTGRES}}
72
- {{#IF_REDIS}}
73
- # ==========================================================================
74
- # Redis Cache
75
- # ==========================================================================
76
- redis:
77
- image: redis:{{REDIS_VERSION}}-alpine
78
- restart: unless-stopped
79
- volumes:
80
- - redis-data:/data
81
- ports:
82
- - "6379:6379"
83
- command: redis-server --appendonly yes
84
- healthcheck:
85
- test: ["CMD", "redis-cli", "ping"]
86
- interval: 10s
87
- timeout: 5s
88
- retries: 3
89
- start_period: 5s
90
-
91
- {{/IF_REDIS}}
92
- {{#IF_HAS_SERVICES}}
93
- # ============================================================================
94
- # Volumes
95
- # ============================================================================
96
- volumes:
97
- {{#IF_POSTGRES}}
98
- postgres-data:
99
- name: {{PROJECT_NAME_SNAKE}}_postgres_data
100
- {{/IF_POSTGRES}}
101
- {{#IF_REDIS}}
102
- redis-data:
103
- name: {{PROJECT_NAME_SNAKE}}_redis_data
104
- {{/IF_REDIS}}
105
- {{/IF_HAS_SERVICES}}
@@ -1,12 +0,0 @@
1
- -- PostgreSQL initialization script
2
- -- This script runs when the database container is first created
3
-
4
- -- Create extensions
5
- CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
6
- CREATE EXTENSION IF NOT EXISTS "pgcrypto";
7
-
8
- -- Log completion
9
- DO $$
10
- BEGIN
11
- RAISE NOTICE 'Database initialization complete for {{DB_NAME}}';
12
- END $$;
@@ -1,298 +0,0 @@
1
- #!/bin/bash
2
- # Generated from template - do not edit directly
3
- # Regenerate with: ./scripts/bootstrap/bootstrap.sh
4
-
5
- set -e
6
-
7
- # Colors for output
8
- CYAN='\033[36m'
9
- GREEN='\033[32m'
10
- YELLOW='\033[33m'
11
- RED='\033[31m'
12
- RESET='\033[0m'
13
-
14
- echo ""
15
- echo -e "${CYAN}╔════════════════════════════════════════════════════════════╗${RESET}"
16
- echo -e "${CYAN}║ ║${RESET}"
17
- echo -e "${CYAN}║ 🚀 Setting up {{PROJECT_NAME}} development environment${RESET}"
18
- echo -e "${CYAN}║ ║${RESET}"
19
- echo -e "${CYAN}╚════════════════════════════════════════════════════════════╝${RESET}"
20
- echo ""
21
-
22
- cd /workspaces/{{PROJECT_NAME}} || exit 1
23
-
24
- # ============================================================================
25
- # Wait for Services
26
- # ============================================================================
27
-
28
- {{#IF_POSTGRES}}
29
- echo -e "${CYAN}⏳ Waiting for PostgreSQL...${RESET}"
30
- for i in {1..30}; do
31
- if pg_isready -h db -p 5432 -U {{DB_USER}} > /dev/null 2>&1; then
32
- echo -e "${GREEN}✅ PostgreSQL is ready${RESET}"
33
- break
34
- fi
35
- if [ $i -eq 30 ]; then
36
- echo -e "${YELLOW}⚠️ PostgreSQL not ready after 30 seconds${RESET}"
37
- fi
38
- sleep 1
39
- done
40
-
41
- {{/IF_POSTGRES}}
42
- {{#IF_REDIS}}
43
- echo -e "${CYAN}⏳ Waiting for Redis...${RESET}"
44
- for i in {1..30}; do
45
- if redis-cli -h redis -p 6379 ping > /dev/null 2>&1; then
46
- echo -e "${GREEN}✅ Redis is ready${RESET}"
47
- break
48
- fi
49
- if [ $i -eq 30 ]; then
50
- echo -e "${YELLOW}⚠️ Redis not ready after 30 seconds${RESET}"
51
- fi
52
- sleep 1
53
- done
54
-
55
- {{/IF_REDIS}}
56
- # ============================================================================
57
- # Language-Specific Setup
58
- # ============================================================================
59
-
60
- {{#IF_GO}}
61
- echo -e "${CYAN}🔧 Installing Go development tools...${RESET}"
62
- go install github.com/air-verse/air@latest 2>/dev/null || true
63
- go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest 2>/dev/null || true
64
- go install golang.org/x/tools/cmd/goimports@latest 2>/dev/null || true
65
- go install github.com/go-delve/delve/cmd/dlv@latest 2>/dev/null || true
66
- echo -e "${GREEN}✅ Go tools installed${RESET}"
67
-
68
- {{/IF_GO}}
69
- {{#IF_PYTHON}}
70
- echo -e "${CYAN}🐍 Setting up Python environment...${RESET}"
71
- pip install --upgrade pip --quiet
72
-
73
- # Install common dev tools (versions synced with .template/config/versions.yaml)
74
- pip install --quiet \
75
- "ruff>=0.8.0" \
76
- "mypy>=1.8.0" \
77
- "pytest>=8.0.0" \
78
- pytest-cov \
79
- pytest-asyncio \
80
- httpx \
81
- pyyaml
82
-
83
- # Install project dependencies if pyproject.toml exists
84
- if [ -f "pyproject.toml" ]; then
85
- echo -e "${CYAN} Installing project dependencies...${RESET}"
86
- pip install -e ".[dev]" --quiet 2>/dev/null || pip install -e . --quiet 2>/dev/null || true
87
- fi
88
-
89
- # Install requirements.txt if it exists
90
- if [ -f "requirements.txt" ]; then
91
- echo -e "${CYAN} Installing requirements.txt...${RESET}"
92
- pip install -r requirements.txt --quiet
93
- fi
94
-
95
- if [ -f "requirements-dev.txt" ]; then
96
- echo -e "${CYAN} Installing requirements-dev.txt...${RESET}"
97
- pip install -r requirements-dev.txt --quiet
98
- fi
99
-
100
- echo -e "${GREEN}✅ Python environment ready${RESET}"
101
-
102
- {{/IF_PYTHON}}
103
- {{#IF_NODE}}
104
- echo -e "${CYAN}📦 Setting up Node.js environment...${RESET}"
105
-
106
- # Install global tools
107
- npm install -g npm@latest --silent 2>/dev/null || true
108
-
109
- # Install project dependencies if package.json exists
110
- if [ -f "package.json" ]; then
111
- echo -e "${CYAN} Installing npm dependencies...${RESET}"
112
- npm install --silent 2>/dev/null || true
113
- fi
114
-
115
- echo -e "${GREEN}✅ Node.js environment ready${RESET}"
116
-
117
- {{/IF_NODE}}
118
- {{#IF_NEXTJS}}
119
- echo -e "${CYAN}⚡ Setting up Next.js frontend...${RESET}"
120
-
121
- # Check if frontend directory exists
122
- if [ -d "frontend" ] && [ -f "frontend/package.json" ]; then
123
- echo -e "${CYAN} Installing frontend dependencies...${RESET}"
124
- (cd frontend && npm install --silent 2>/dev/null) || true
125
- echo -e "${GREEN}✅ Next.js frontend ready${RESET}"
126
- echo -e " ${CYAN}Run: cd frontend && npm run dev${RESET}"
127
- else
128
- # Scaffold Next.js app if not created during bootstrap (npx wasn't available)
129
- echo -e "${CYAN} Scaffolding Next.js app...${RESET}"
130
- if npx --yes create-next-app@latest frontend \
131
- --yes \
132
- --typescript \
133
- --tailwind \
134
- --eslint \
135
- --app \
136
- --src-dir \
137
- --import-alias "@/*" \
138
- --use-npm 2>&1; then
139
- echo -e "${GREEN}✅ Next.js frontend created${RESET}"
140
- echo -e " ${CYAN}Run: cd frontend && npm run dev${RESET}"
141
- else
142
- echo -e "${RED}❌ Failed to create Next.js app${RESET}"
143
- echo -e " ${YELLOW}Try manually: npx create-next-app@latest frontend${RESET}"
144
- fi
145
- fi
146
-
147
- {{/IF_NEXTJS}}
148
- {{#IF_RUST}}
149
- echo -e "${CYAN}🦀 Setting up Rust environment...${RESET}"
150
-
151
- # Update rust and install common tools
152
- rustup update stable --quiet 2>/dev/null || true
153
- rustup component add rustfmt clippy --quiet 2>/dev/null || true
154
- cargo install cargo-watch --quiet 2>/dev/null || true
155
-
156
- echo -e "${GREEN}✅ Rust environment ready${RESET}"
157
-
158
- {{/IF_RUST}}
159
- # ============================================================================
160
- # Additional Tools
161
- # ============================================================================
162
-
163
- {{#IF_GH_CLI}}
164
- echo -e "${CYAN}🐙 Installing GitHub CLI...${RESET}"
165
- if ! command -v gh &> /dev/null; then
166
- curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg 2>/dev/null \
167
- && sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg \
168
- && echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \
169
- && sudo apt update -qq \
170
- && sudo apt install gh -y -qq
171
- echo -e "${GREEN}✅ GitHub CLI installed${RESET}"
172
- else
173
- echo -e "${GREEN}✅ GitHub CLI already installed${RESET}"
174
- fi
175
-
176
- {{/IF_GH_CLI}}
177
- {{#IF_PULUMI}}
178
- echo -e "${CYAN}☁️ Installing Pulumi...${RESET}"
179
- if ! command -v pulumi &> /dev/null; then
180
- curl -fsSL https://get.pulumi.com | sh -s -- --no-edit-path 2>/dev/null
181
- echo 'export PATH="$PATH:$HOME/.pulumi/bin"' >> ~/.bashrc
182
- echo -e "${GREEN}✅ Pulumi installed${RESET}"
183
- else
184
- echo -e "${GREEN}✅ Pulumi already installed${RESET}"
185
- fi
186
-
187
- {{/IF_PULUMI}}
188
- {{#IF_GCLOUD}}
189
- echo -e "${CYAN}☁️ Installing Google Cloud SDK...${RESET}"
190
- if ! command -v gcloud &> /dev/null; then
191
- curl -fsSL https://sdk.cloud.google.com | bash -s -- --disable-prompts --install-dir=$HOME 2>/dev/null
192
- echo 'source ~/google-cloud-sdk/path.bash.inc' >> ~/.bashrc
193
- echo 'source ~/google-cloud-sdk/completion.bash.inc' >> ~/.bashrc
194
- export PATH="$PATH:$HOME/google-cloud-sdk/bin"
195
- echo -e "${GREEN}✅ Google Cloud SDK installed${RESET}"
196
- else
197
- echo -e "${GREEN}✅ Google Cloud SDK already installed${RESET}"
198
- fi
199
-
200
- {{/IF_GCLOUD}}
201
- {{#IF_CLAUDE_CODE}}
202
- echo -e "${CYAN}🤖 Installing Claude Code CLI...${RESET}"
203
- if ! command -v claude &> /dev/null; then
204
- curl -fsSL https://claude.ai/install.sh | bash 2>/dev/null || true
205
- echo -e "${GREEN}✅ Claude Code CLI installed${RESET}"
206
- else
207
- echo -e "${GREEN}✅ Claude Code CLI already installed${RESET}"
208
- fi
209
-
210
- {{/IF_CLAUDE_CODE}}
211
- {{#IF_INFISICAL}}
212
- echo -e "${CYAN}🔐 Installing Infisical CLI...${RESET}"
213
- if ! command -v infisical &> /dev/null; then
214
- curl -1sLf 'https://artifacts-cli.infisical.com/setup.deb.sh' | sudo -E bash 2>/dev/null
215
- sudo apt-get update -qq && sudo apt-get install -y -qq infisical
216
- echo -e "${GREEN}✅ Infisical CLI installed${RESET}"
217
- else
218
- echo -e "${GREEN}✅ Infisical CLI already installed${RESET}"
219
- fi
220
-
221
- {{/IF_INFISICAL}}
222
- {{#IF_PRECOMMIT}}
223
- echo -e "${CYAN}🪝 Setting up pre-commit hooks...${RESET}"
224
- if command -v pre-commit &> /dev/null; then
225
- if [ -f ".pre-commit-config.yaml" ]; then
226
- pre-commit install --install-hooks 2>/dev/null || true
227
- echo -e "${GREEN}✅ Pre-commit hooks installed${RESET}"
228
- fi
229
- else
230
- pip install pre-commit --quiet
231
- if [ -f ".pre-commit-config.yaml" ]; then
232
- pre-commit install --install-hooks 2>/dev/null || true
233
- echo -e "${GREEN}✅ Pre-commit hooks installed${RESET}"
234
- fi
235
- fi
236
-
237
- {{/IF_PRECOMMIT}}
238
- # ============================================================================
239
- # Git Configuration
240
- # ============================================================================
241
-
242
- echo -e "${CYAN}🔧 Configuring Git...${RESET}"
243
-
244
- git config --global init.defaultBranch main
245
- git config --global pull.rebase false
246
- git config --global core.autocrlf input
247
- git config --global --add safe.directory /workspaces/{{PROJECT_NAME}}
248
-
249
- echo -e "${GREEN}✅ Git configured${RESET}"
250
-
251
- # ============================================================================
252
- # Shell Aliases
253
- # ============================================================================
254
-
255
- if ! grep -q "# {{PROJECT_NAME}} aliases" ~/.bashrc 2>/dev/null; then
256
- cat >> ~/.bashrc << 'ALIASES'
257
-
258
- # {{PROJECT_NAME}} aliases
259
- alias ll='ls -alF'
260
- alias la='ls -A'
261
- alias ..='cd ..'
262
- alias ...='cd ../..'
263
- alias ws='cd /workspaces/{{PROJECT_NAME}}'
264
- alias mh='make help'
265
- alias mt='make test'
266
- alias mq='make quality'
267
- alias mc='make check'
268
- ALIASES
269
- fi
270
-
271
- # ============================================================================
272
- # Done!
273
- # ============================================================================
274
-
275
- echo ""
276
- echo -e "${GREEN}╔════════════════════════════════════════════════════════════╗${RESET}"
277
- echo -e "${GREEN}║ ✨ Development environment is ready! ║${RESET}"
278
- echo -e "${GREEN}╚════════════════════════════════════════════════════════════╝${RESET}"
279
- echo ""
280
- echo -e "${CYAN}🎯 Next steps:${RESET}"
281
- echo ""
282
- echo " • Run ${CYAN}make doctor${RESET} to verify your setup"
283
- echo " • Run ${CYAN}make help${RESET} to see available commands"
284
- {{#IF_AI_SESSIONS}}
285
- echo " • Run ${CYAN}make session-start${RESET} to begin an AI-assisted dev session"
286
- {{/IF_AI_SESSIONS}}
287
- echo " • Run ${CYAN}make test${RESET} to run tests"
288
- echo " • Run ${CYAN}make quality${RESET} to check code quality"
289
- echo ""
290
- {{#IF_POSTGRES}}
291
- echo -e "${CYAN}📊 Database:${RESET} postgresql://{{DB_USER}}:{{DB_PASSWORD}}@db:5432/{{DB_NAME}}"
292
- {{/IF_POSTGRES}}
293
- {{#IF_REDIS}}
294
- echo -e "${CYAN}📦 Redis:${RESET} redis://redis:6379"
295
- {{/IF_REDIS}}
296
- echo ""
297
- echo -e "${GREEN}Happy coding! 🚀${RESET}"
298
- echo ""