@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
@@ -0,0 +1,137 @@
1
+ # {{PROJECT_NAME}}
2
+
3
+ {{PROJECT_DESCRIPTION}}
4
+
5
+ ## How to use this file
6
+
7
+ `AGENTS.md` is the open-standard project-context file read by AI coding agents (Claude Code, Codex, Cursor, Aider, …). It describes what this project is, how to run common commands, and the safety rules that apply.
8
+
9
+ For agent-specific config, see the editor-specific files alongside this one — `CLAUDE.md` (Claude Code), `.cursor/rules` (Cursor), etc. — which point back here for shared context.
10
+
11
+ ## What dxkit does in this repo
12
+
13
+ This repo is managed by [`@vyuhlabs/dxkit`](https://github.com/vyuh-labs/dxkit). dxkit measures code health across 6 dimensions, captures a per-finding baseline, and gates PRs on net-new regressions.
14
+
15
+ Six skills are installed under `.claude/skills/` (Claude Code auto-discovers via skill frontmatter):
16
+
17
+ - **dxkit-learn** — explains dxkit concepts (baselines, dimensions, scanners)
18
+ - **dxkit-init** — interactive setup walkthrough
19
+ - **dxkit-config** — edit `.dxkit-ignore`, `.vyuh-dxkit.json`, policy
20
+ - **dxkit-hooks** — install / troubleshoot git hooks
21
+ - **dxkit-reports** — run analyzers, explain output, dashboard
22
+ - **dxkit-action** — prioritize + fix + verify + re-baseline
23
+
24
+ Reach for the relevant skill when working in this repo. They wrap the `vyuh-dxkit` CLI with workflow guidance.
25
+
26
+ {{#IF_PYTHON}}
27
+ ## Python {{PYTHON_VERSION}}
28
+
29
+ - **Tests**: `pytest`
30
+ - **Lint/format**: `ruff check .` / `ruff format .`
31
+ - **Type check**: `mypy src/`
32
+ - **Package config**: `pyproject.toml`
33
+ {{/IF_PYTHON}}
34
+
35
+ {{#IF_GO}}
36
+ ## Go {{GO_VERSION}}
37
+
38
+ - **Tests**: `go test ./...`
39
+ - **Lint**: `golangci-lint run`
40
+ - **Format**: `gofmt -w .` / `goimports -w .`
41
+ - **Module**: `go.mod`
42
+ {{/IF_GO}}
43
+
44
+ {{#IF_NODE}}
45
+ ## Node.js {{NODE_VERSION}}
46
+
47
+ - **Tests**: `npm test`
48
+ - **Build**: `npm run build`
49
+ - **Lint/format**: `npx eslint .` / `npx prettier --write .`
50
+ - **Package config**: `package.json`, `tsconfig.json`
51
+ {{/IF_NODE}}
52
+
53
+ {{#IF_NEXTJS}}
54
+ ## Next.js
55
+
56
+ - **Directory**: `frontend/`
57
+ - **Dev server**: `cd frontend && npm run dev`
58
+ - **Build**: `cd frontend && npm run build`
59
+ - **Lint**: `cd frontend && npm run lint`
60
+ {{/IF_NEXTJS}}
61
+
62
+ {{#IF_RUST}}
63
+ ## Rust {{RUST_VERSION}}
64
+
65
+ - **Tests**: `cargo test`
66
+ - **Build**: `cargo build` / `cargo build --release`
67
+ - **Lint**: `cargo clippy`
68
+ - **Format**: `cargo fmt`
69
+ - **Package**: `Cargo.toml`
70
+ {{/IF_RUST}}
71
+
72
+ {{#IF_CSHARP}}
73
+ ## C# {{CSHARP_VERSION}}
74
+
75
+ - **Tests**: `dotnet test`
76
+ - **Build**: `dotnet build` / `dotnet publish -c Release`
77
+ - **Format**: `dotnet format`
78
+ - **Solution**: `*.sln`, projects under `*.csproj`
79
+ {{/IF_CSHARP}}
80
+
81
+ {{#IF_KOTLIN}}
82
+ ## Kotlin {{KOTLIN_VERSION}}
83
+
84
+ - **Tests**: `./gradlew test`
85
+ - **Build**: `./gradlew build`
86
+ - **Lint**: `detekt`
87
+ - **Package**: `build.gradle.kts` / `settings.gradle.kts`
88
+ {{/IF_KOTLIN}}
89
+
90
+ {{#IF_JAVA}}
91
+ ## Java {{JAVA_VERSION}}
92
+
93
+ - **Tests**: `mvn test` / `./gradlew test`
94
+ - **Build**: `mvn package` / `./gradlew build`
95
+ - **Lint**: `pmd`
96
+ - **Package**: `pom.xml` / `build.gradle`
97
+ {{/IF_JAVA}}
98
+
99
+ {{#IF_RUBY}}
100
+ ## Ruby {{RUBY_VERSION}}
101
+
102
+ - **Tests**: `bundle exec rspec` / `bundle exec rails test`
103
+ - **Lint**: `bundle exec rubocop`
104
+ - **Coverage**: SimpleCov (loaded from `spec_helper.rb`)
105
+ - **Package**: `Gemfile`
106
+ {{/IF_RUBY}}
107
+
108
+ ## dxkit commands
109
+
110
+ | Purpose | Command |
111
+ |---|---|
112
+ | Overall health (6 dimensions) | `npx vyuh-dxkit health` |
113
+ | Deep security scan | `npx vyuh-dxkit vulnerabilities` |
114
+ | Test coverage gaps | `npx vyuh-dxkit test-gaps` |
115
+ | Code quality + slop | `npx vyuh-dxkit quality` |
116
+ | Bill of materials | `npx vyuh-dxkit bom` |
117
+ | Dashboard (HTML) | `npx vyuh-dxkit dashboard` |
118
+ | Guardrail check (baseline diff) | `npx vyuh-dxkit guardrail check` |
119
+ | Doctor (verify setup) | `npx vyuh-dxkit doctor` |
120
+
121
+ The pre-push hook runs `guardrail check` automatically — blocks net-new regressions before they leave your machine.
122
+
123
+ ## Security rules — never violate
124
+
125
+ 1. **Never output, log, or commit secrets** — no API keys, tokens, passwords, or credentials in code, commits, or files Claude writes
126
+ 2. **Never read `.env` directly** — to confirm a variable exists, grep for the variable name only
127
+ 3. **Never pass secrets as CLI arguments** — they appear in process lists and shell history
128
+ 4. **Never include secrets in build args or Dockerfiles**
129
+ 5. **Sensitive files are gitignored**: `.env`, `.env.*`, `.env.secrets`, `.claude/settings.local.json`
130
+ 6. **Before committing**: verify no secrets in staged files (`git diff --cached`)
131
+
132
+ ## Conventions
133
+
134
+ - Run `npx vyuh-dxkit health` before opening a PR
135
+ - For changes to risky areas (auth, payments, data mutations), write tests first
136
+ - Capture surprising behaviors as comments in `.dxkit-ignore` or the relevant skill file
137
+ - Pre-push hook will block net-new regressions — fix them in the same PR or accept-as-baseline with a commit message explaining why
@@ -1,255 +1,26 @@
1
- # {{PROJECT_NAME}}
1
+ # {{PROJECT_NAME}} — Claude Code config
2
2
 
3
- {{PROJECT_DESCRIPTION}}
3
+ Project context lives in [`AGENTS.md`](./AGENTS.md) (open-standard, read by every coding agent). This file is Claude-Code-specific config that points at it.
4
4
 
5
- ## Architecture
5
+ Whenever Claude Code starts a session in this repo, it reads BOTH files: this one (Claude-specific shortcuts) and `AGENTS.md` (project prose).
6
6
 
7
- - Monorepo with make-based task runner
8
- - Configuration driven by `.project.yaml` (single source of truth)
9
- - Quality checks, testing, and formatting enforced via `make check`
7
+ ## dxkit skills
10
8
 
11
- ## Quick Reference
9
+ Six dxkit-specific skills are installed under `.claude/skills/`. Claude Code auto-discovers them via their frontmatter `description` fields:
12
10
 
13
- ### Setup & Diagnostics
14
- - `make setup` - Interactive setup for new developers
15
- - `make doctor` - Diagnose common setup issues
16
- - `make info` - Show project configuration dashboard
17
- - `make config` - Interactive configuration editor
11
+ - `dxkit-learn` explain what dxkit does, what scores mean, what scanners run
12
+ - `dxkit-init` walk through `vyuh-dxkit init` flag choices
13
+ - `dxkit-config` — edit `.dxkit-ignore` / `.vyuh-dxkit.json` / policy
14
+ - `dxkit-hooks` install / troubleshoot git hooks
15
+ - `dxkit-reports` run analyzers + read output
16
+ - `dxkit-action` — prioritize + fix + verify + re-baseline
18
17
 
19
- ### Code Quality
20
- - `make quality` - Run all quality checks (report: tmp/reports/quality-report.md)
21
- - `make quality-fix` - Auto-fix issues
22
- - `make lint` - Lint all code
23
- - `make format` - Format all code
24
- - `make fix` - Fix all auto-fixable issues (quality-fix + format)
25
- - `make check` - Full pre-commit check (validate + quality + test)
18
+ When the user asks about dxkit concepts or wants to run an analyzer, reach for the matching skill before improvising.
26
19
 
27
- ### Testing
28
- - `make test` - Run all tests (report: tmp/reports/test-report.md)
29
- - `make test-unit` - Fast unit tests only
30
- - `make test-coverage` - Detailed coverage report
31
- - Coverage threshold: {{COVERAGE_THRESHOLD}}%
20
+ ## Per-language rules
32
21
 
33
- ### Build & Development
34
- - `make build` - Build all services
35
- - `make clean` - Remove build artifacts
36
- - `make dev` - Start all services (docker-compose up)
37
- - `make stop` - Stop all services
22
+ `.claude/rules/<lang>.md` files carry per-language conventions for any active language pack. They're loaded automatically.
38
23
 
39
- ### Session Workflow
40
- - `make session-start` - Start AI-assisted development session
41
- - `make session-end` - End session and create checkpoint
42
- - `make session-commit` - Commit with quality checks
43
- - `make session-push` - Push to remote
44
- - `make session-pr` - Create PR with auto-generated content
24
+ ## Security rules + per-language commands
45
25
 
46
- {{#IF_INFISICAL}}
47
- ### Secrets Management
48
- - `make secrets-pull` - Pull secrets from Infisical to .env
49
- - `make secrets-show` - Show Infisical configuration (no secrets displayed)
50
- {{/IF_INFISICAL}}
51
-
52
- ### Configuration
53
- - `make lang-list` - Show enabled languages
54
- - `make lang-add LANG=<name>` - Enable a language
55
- - `make lang-remove LANG=<name>` - Disable a language
56
- - `make sync` - Sync .project.yaml to language config files
57
-
58
- ### Code Generation
59
- - `make generate` - Generate all code
60
- - `make validate` - Validate generated code is up-to-date
61
-
62
- {{#IF_PYTHON}}
63
- ## Python {{PYTHON_VERSION}}
64
-
65
- - **Source:** `src/` or `services/python/`
66
- - **Linter/Formatter:** ruff (config: `ruff.toml`, `pyproject.toml`)
67
- - **Type checker:** mypy
68
- - **Tests:** pytest (config: `pytest.ini`)
69
- - **Package config:** `pyproject.toml`
70
- - Run quality: `.project/scripts/quality/lint-python.sh`
71
- {{/IF_PYTHON}}
72
-
73
- {{#IF_GO}}
74
- ## Go {{GO_VERSION}}
75
-
76
- - **Source:** `services/go/`
77
- - **Linter:** golangci-lint (config: `.golangci.yml`)
78
- - **Formatter:** gofmt + goimports
79
- - **Tests:** `go test ./...`
80
- - **Module:** `go.mod`
81
- - Run quality: `.project/scripts/quality/lint-go.sh`
82
- {{/IF_GO}}
83
-
84
- {{#IF_NODE}}
85
- ## Node.js {{NODE_VERSION}}
86
-
87
- - **Package:** `package.json`, `tsconfig.json`
88
- - **Linter:** ESLint
89
- - **Formatter:** Prettier
90
- - **Tests:** npm test
91
- {{/IF_NODE}}
92
-
93
- {{#IF_NEXTJS}}
94
- ## Next.js
95
-
96
- - **Directory:** `frontend/`
97
- - **Stack:** App Router + TypeScript + Tailwind CSS
98
- - **Build:** `cd frontend && npm run build`
99
- - **Lint:** `cd frontend && npm run lint`
100
- {{/IF_NEXTJS}}
101
-
102
- {{#IF_RUST}}
103
- ## Rust {{RUST_VERSION}}
104
-
105
- - **Package:** `Cargo.toml`
106
- - **Linter:** clippy
107
- - **Formatter:** rustfmt
108
- - **Tests:** `cargo test`
109
- {{/IF_RUST}}
110
-
111
- {{#IF_CSHARP}}
112
- ## C# {{CSHARP_VERSION}}
113
-
114
- - **Source:** `src/` or `services/csharp/`
115
- - **Solution:** `*.sln`
116
- - **Project:** `*.csproj`
117
- - **Linter/Analyzer:** Roslyn Analyzers, StyleCop Analyzers
118
- - **Formatter:** `dotnet format`
119
- - **Tests:** `dotnet test` (xUnit)
120
- {{/IF_CSHARP}}
121
-
122
- {{#IF_GCLOUD}}
123
- ## Google Cloud
124
-
125
- - **Auth:** `gcloud auth login` (interactive setup via `make setup`)
126
- - **Project:** Set in `.env` as `GOOGLE_CLOUD_PROJECT`
127
- - **SDK:** Installed via devcontainer post-create script
128
- {{/IF_GCLOUD}}
129
-
130
- {{#IF_PULUMI}}
131
- ## Pulumi
132
-
133
- - **Auth:** `pulumi login`
134
- - **Workflow:** Always `pulumi preview` before `pulumi up`
135
- - **Secrets:** Use `pulumi config set --secret` for sensitive values
136
- {{/IF_PULUMI}}
137
-
138
- ## Claude Code Integration
139
-
140
- ### Skills (`.claude/skills/`)
141
- Domain-specific context loaded on demand. Check skill descriptions before starting work.
142
- - `.claude/skills/learned/references/gotchas.md` - Known project gotchas
143
- - `.claude/skills/learned/references/conventions.md` - Team conventions
144
-
145
- ### Commands (`.claude/commands/`)
146
- Slash commands for common workflows. Run `/help` to list all with descriptions.
147
- - `/session-start` - Start dev session
148
- - `/session-end` - End session with checkpoint
149
- - `/ask <question>` - Ask about the codebase
150
- - `/explore-codebase` - Deep architecture exploration
151
- - `/onboarding` - Generate first-day developer guide
152
- - `/enable-agent <name>` - Activate a dormant agent
153
- - `/help` - List all commands and agents
154
- - `/quality` - Run quality checks (language-aware)
155
- - `/setup-hooks` - Install git pre-commit/pre-push hooks
156
- - `/learn` - Capture a gotcha, convention, or thing to avoid
157
- - `/test` - Run tests
158
- - `/setup-pr-review` - Set up automated PR review with Claude Code
159
- - `/test-gaps` - Find critical untested code paths
160
- - `/deps` - Map dependencies ("what breaks if I change X?")
161
- - `/health` - Comprehensive codebase health audit
162
- - `/vulnerabilities` - Scan dependencies and code for security issues
163
- - `/dev-report` - Developer activity and code quality report
164
- - `/docs` - Audit, write, or improve documentation
165
- - `/plan` - Generate improvement plans with KPIs from reports (fix loop)
166
- - `/execute-plan` - Execute a plan task by task with session management
167
- - `/feature` - Design and plan a new feature
168
- - `/build-feature` - Build a feature from a plan with tests
169
- - `/dashboard` - Generate HTML dashboard from all reports
170
- - `/stealth-mode` - Gitignore DXKit files + install smart scoped git hooks
171
- - `/export-pdf` - Convert markdown reports to PDF
172
- - `/fix-issue <number>` - Investigate and fix a GitHub issue
173
-
174
- ### Rules (`.claude/rules/`)
175
- Language-specific conventions that activate automatically when editing matching files.
176
-
177
- ### Agents
178
- **Active** (`.claude/agents/`) — auto-triggered when your question matches:
179
- - `knowledge-bot` — Answers codebase questions with file:line references (sonnet, read-only)
180
- - `onboarding` — Interactive onboarding buddy for new developers (sonnet, read-only)
181
- - `quality-reviewer` — Reviews changed code for issues before committing (sonnet)
182
- - `doc-writer` — Audits docs, identifies gaps, writes/improves documentation (sonnet)
183
-
184
- **Dormant** (`.claude/agents-available/`) — activate with `/enable-agent <name>`:
185
- - `codebase-explorer` — Deep architecture analysis, generates codebase skill (sonnet, read-only)
186
- - `code-reviewer` — Read-only PR review and security audit (sonnet, no write access)
187
- - `test-writer` — Writes tests for existing code (sonnet)
188
- - `test-gap-finder` — Identifies critical untested code paths (sonnet, read-only)
189
- - `dependency-mapper` — Maps import chains and blast radius (sonnet, read-only)
190
- - `health-auditor` — Comprehensive codebase health audit (sonnet, read-only)
191
- - `vulnerability-scanner` — Dependency and code vulnerability analysis (sonnet)
192
- - `dev-report` — Developer activity, quality patterns, security attribution (sonnet)
193
- - `dashboard-builder` — Generates HTML dashboard from all reports (sonnet)
194
- - `strategic-planner` — Analyzes reports, proposes KPIs, generates improvement plans (sonnet)
195
- - `plan-executor` — Executes plans task by task with session checkpoints (sonnet)
196
- - `feature-planner` — Designs new features, generates implementation plans (sonnet)
197
- - `feature-builder` — Implements features from plans with tests and conventions (sonnet)
198
- - `hooks-configurator` — Configures scoped git hooks from DXKit commands (sonnet)
199
- - `doc-writer` — Audits docs, identifies gaps, writes/improves documentation (sonnet)
200
- - `debugger` — Traces root causes systematically (sonnet, no file edits)
201
-
202
- ## AI-Assisted Development Workflow
203
-
204
- ```
205
- # 1. Start a session
206
- /session-start
207
-
208
- # 2. Create a feature branch
209
- git checkout -b feature/your-feature
210
-
211
- # 3. Ask questions as you go
212
- /ask How does the auth middleware work?
213
-
214
- # 4. Develop — Claude has full project context via skills
215
-
216
- # 5. Run checks before committing
217
- /quality
218
- /test
219
-
220
- # 6. Commit and push
221
- git add -A && git commit -m "feat: your feature"
222
- git push -u origin feature/your-feature
223
-
224
- # 7. End session (creates checkpoint + evolves skills)
225
- /session-end
226
- ```
227
-
228
- ## Security
229
-
230
- **Critical rules — never violate these:**
231
-
232
- 1. **Never output, log, or commit secrets** — no API keys, tokens, passwords, or credentials in code, commits, checkpoints, or skill files
233
- 2. **Never read `.env` directly** — use `make secrets-show` (which masks values) to check configuration
234
- 3. **Never pass secrets as CLI arguments** — they appear in process lists and shell history
235
- 4. **Never include secrets in build args or Dockerfiles**
236
- 5. **Sensitive files are gitignored:** `.env`, `.env.*`, `.env.secrets`, `.claude/settings.local.json`
237
- 6. **Before committing:** verify no secrets in staged files (`git diff --cached`)
238
- {{#IF_INFISICAL}}
239
- 7. **Infisical tokens:** never output `INFISICAL_TOKEN` values; use `make secrets-show` to verify config
240
- {{/IF_INFISICAL}}
241
- {{#IF_GCLOUD}}
242
- 8. **GCP credentials:** never output `gcloud auth print-access-token` or service account JSON keys
243
- {{/IF_GCLOUD}}
244
-
245
- ## Conventions
246
-
247
- - Run quality checks before committing (`/quality` or `make quality`)
248
- - Use `/session-start` to begin work, `/session-end` to checkpoint
249
- - All code changes should pass quality + test checks
250
- {{#IF_PRECOMMIT}}
251
- - Pre-commit hooks run automatically on `git commit`
252
- {{/IF_PRECOMMIT}}
253
- - Keep session checkpoints in `.ai/sessions/<developer>/<date>/`
254
- - Skills evolve over time — gotchas and conventions are captured during `/session-end`
255
- - Check `/help` for all available commands and agents
26
+ See [`AGENTS.md`](./AGENTS.md). All shared project context lives there so other agents (Codex / Cursor / Aider) get the same instructions Claude does.
@@ -1,36 +0,0 @@
1
- export interface CodebaseAnalysis {
2
- entryPoints: {
3
- file: string;
4
- type: string;
5
- }[];
6
- directories: {
7
- path: string;
8
- purpose: string;
9
- }[];
10
- testPatterns: {
11
- framework: string;
12
- location: string;
13
- pattern: string;
14
- }[];
15
- apiEndpoints: {
16
- method: string;
17
- path: string;
18
- file: string;
19
- }[];
20
- configFiles: {
21
- file: string;
22
- purpose: string;
23
- }[];
24
- conventions: {
25
- pattern: string;
26
- description: string;
27
- }[];
28
- fileCount: number;
29
- testFileCount: number;
30
- sourceFileCount: number;
31
- languageBreakdown: Record<string, number>;
32
- }
33
- export declare function scanCodebase(cwd: string): CodebaseAnalysis;
34
- export declare function renderCodebaseSkill(analysis: CodebaseAnalysis): string;
35
- export declare function renderArchitectureRef(analysis: CodebaseAnalysis): string;
36
- //# sourceMappingURL=codebase-scanner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"codebase-scanner.d.ts","sourceRoot":"","sources":["../src/codebase-scanner.ts"],"names":[],"mappings":"AAoDA,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC9C,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACjD,YAAY,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACzE,YAAY,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/D,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACjD,WAAW,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3C;AA6eD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAmD1D;AAID,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAgGtE;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAmDxE"}