@vyuhlabs/dxkit 2.5.0 → 2.5.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 (179) hide show
  1. package/CHANGELOG.md +231 -0
  2. package/README.md +48 -28
  3. package/dist/analyzers/tools/graphify.d.ts.map +1 -1
  4. package/dist/analyzers/tools/graphify.js +9 -5
  5. package/dist/analyzers/tools/graphify.js.map +1 -1
  6. package/dist/analyzers/tools/tool-registry.d.ts +19 -1
  7. package/dist/analyzers/tools/tool-registry.d.ts.map +1 -1
  8. package/dist/analyzers/tools/tool-registry.js +50 -8
  9. package/dist/analyzers/tools/tool-registry.js.map +1 -1
  10. package/dist/cli.d.ts.map +1 -1
  11. package/dist/cli.js +104 -11
  12. package/dist/cli.js.map +1 -1
  13. package/dist/constants.d.ts.map +1 -1
  14. package/dist/constants.js +0 -10
  15. package/dist/constants.js.map +1 -1
  16. package/dist/detect.d.ts.map +1 -1
  17. package/dist/detect.js +0 -15
  18. package/dist/detect.js.map +1 -1
  19. package/dist/doctor.d.ts +78 -1
  20. package/dist/doctor.d.ts.map +1 -1
  21. package/dist/doctor.js +509 -103
  22. package/dist/doctor.js.map +1 -1
  23. package/dist/generator.d.ts +1 -1
  24. package/dist/generator.d.ts.map +1 -1
  25. package/dist/generator.js +96 -135
  26. package/dist/generator.js.map +1 -1
  27. package/dist/hooks-cli.d.ts +20 -0
  28. package/dist/hooks-cli.d.ts.map +1 -0
  29. package/dist/hooks-cli.js +145 -0
  30. package/dist/hooks-cli.js.map +1 -0
  31. package/dist/languages/csharp.d.ts.map +1 -1
  32. package/dist/languages/csharp.js +5 -0
  33. package/dist/languages/csharp.js.map +1 -1
  34. package/dist/languages/go.d.ts.map +1 -1
  35. package/dist/languages/go.js +5 -0
  36. package/dist/languages/go.js.map +1 -1
  37. package/dist/languages/index.d.ts +43 -0
  38. package/dist/languages/index.d.ts.map +1 -1
  39. package/dist/languages/index.js +76 -0
  40. package/dist/languages/index.js.map +1 -1
  41. package/dist/languages/java.d.ts.map +1 -1
  42. package/dist/languages/java.js +5 -0
  43. package/dist/languages/java.js.map +1 -1
  44. package/dist/languages/kotlin.d.ts.map +1 -1
  45. package/dist/languages/kotlin.js +10 -0
  46. package/dist/languages/kotlin.js.map +1 -1
  47. package/dist/languages/python.d.ts.map +1 -1
  48. package/dist/languages/python.js +13 -0
  49. package/dist/languages/python.js.map +1 -1
  50. package/dist/languages/ruby.d.ts.map +1 -1
  51. package/dist/languages/ruby.js +5 -0
  52. package/dist/languages/ruby.js.map +1 -1
  53. package/dist/languages/rust.d.ts.map +1 -1
  54. package/dist/languages/rust.js +5 -0
  55. package/dist/languages/rust.js.map +1 -1
  56. package/dist/languages/types.d.ts +47 -0
  57. package/dist/languages/types.d.ts.map +1 -1
  58. package/dist/languages/typescript.d.ts.map +1 -1
  59. package/dist/languages/typescript.js +6 -0
  60. package/dist/languages/typescript.js.map +1 -1
  61. package/dist/prompts.d.ts.map +1 -1
  62. package/dist/prompts.js +0 -5
  63. package/dist/prompts.js.map +1 -1
  64. package/dist/setup-branch-protection.d.ts +34 -0
  65. package/dist/setup-branch-protection.d.ts.map +1 -0
  66. package/dist/setup-branch-protection.js +190 -0
  67. package/dist/setup-branch-protection.js.map +1 -0
  68. package/dist/setup-gh.d.ts +75 -0
  69. package/dist/setup-gh.d.ts.map +1 -0
  70. package/dist/setup-gh.js +213 -0
  71. package/dist/setup-gh.js.map +1 -0
  72. package/dist/setup-prebuild.d.ts +34 -0
  73. package/dist/setup-prebuild.d.ts.map +1 -0
  74. package/dist/setup-prebuild.js +181 -0
  75. package/dist/setup-prebuild.js.map +1 -0
  76. package/dist/ship-installers.d.ts +6 -0
  77. package/dist/ship-installers.d.ts.map +1 -1
  78. package/dist/ship-installers.js +135 -5
  79. package/dist/ship-installers.js.map +1 -1
  80. package/dist/tools-cli.d.ts.map +1 -1
  81. package/dist/tools-cli.js +45 -9
  82. package/dist/tools-cli.js.map +1 -1
  83. package/dist/types.d.ts +24 -6
  84. package/dist/types.d.ts.map +1 -1
  85. package/dist/update.d.ts +41 -0
  86. package/dist/update.d.ts.map +1 -1
  87. package/dist/update.js +154 -15
  88. package/dist/update.js.map +1 -1
  89. package/dist/upgrade.d.ts +88 -0
  90. package/dist/upgrade.d.ts.map +1 -0
  91. package/dist/upgrade.js +324 -0
  92. package/dist/upgrade.js.map +1 -0
  93. package/package.json +1 -1
  94. package/templates/.claude/skills/dxkit-action/SKILL.md +150 -0
  95. package/templates/.claude/skills/dxkit-config/SKILL.md +124 -0
  96. package/templates/.claude/skills/dxkit-fix/SKILL.md +165 -0
  97. package/templates/.claude/skills/dxkit-hooks/SKILL.md +109 -0
  98. package/templates/.claude/skills/dxkit-init/SKILL.md +93 -0
  99. package/templates/.claude/skills/dxkit-learn/SKILL.md +84 -0
  100. package/templates/.claude/skills/dxkit-onboard/SKILL.md +246 -0
  101. package/templates/.claude/skills/dxkit-reports/SKILL.md +111 -0
  102. package/templates/.claude/skills/dxkit-update/SKILL.md +164 -0
  103. package/templates/.devcontainer/devcontainer.json +13 -48
  104. package/templates/.devcontainer/post-create.sh +37 -8
  105. package/templates/AGENTS.md.template +137 -0
  106. package/templates/CLAUDE.md.template +16 -111
  107. package/dist/codebase-scanner.d.ts +0 -36
  108. package/dist/codebase-scanner.d.ts.map +0 -1
  109. package/dist/codebase-scanner.js +0 -687
  110. package/dist/codebase-scanner.js.map +0 -1
  111. package/templates/.claude/agents/doc-writer.md +0 -107
  112. package/templates/.claude/agents/knowledge-bot.md +0 -64
  113. package/templates/.claude/agents/onboarding.md +0 -62
  114. package/templates/.claude/agents/quality-reviewer.md +0 -85
  115. package/templates/.claude/agents-available/code-reviewer.md +0 -29
  116. package/templates/.claude/agents-available/codebase-explorer.md +0 -100
  117. package/templates/.claude/agents-available/dashboard-builder.md +0 -433
  118. package/templates/.claude/agents-available/debugger.md +0 -29
  119. package/templates/.claude/agents-available/dependency-mapper.md +0 -80
  120. package/templates/.claude/agents-available/dev-report.md +0 -108
  121. package/templates/.claude/agents-available/doc-writer.md +0 -107
  122. package/templates/.claude/agents-available/feature-builder.md +0 -163
  123. package/templates/.claude/agents-available/feature-planner.md +0 -185
  124. package/templates/.claude/agents-available/health-auditor.md +0 -95
  125. package/templates/.claude/agents-available/hooks-configurator.md +0 -211
  126. package/templates/.claude/agents-available/knowledge-bot.md +0 -62
  127. package/templates/.claude/agents-available/plan-executor.md +0 -133
  128. package/templates/.claude/agents-available/strategic-planner.md +0 -141
  129. package/templates/.claude/agents-available/test-gap-finder.md +0 -67
  130. package/templates/.claude/agents-available/test-writer.md +0 -34
  131. package/templates/.claude/agents-available/vulnerability-scanner.md +0 -173
  132. package/templates/.claude/commands/ask.md +0 -7
  133. package/templates/.claude/commands/build-feature.md +0 -26
  134. package/templates/.claude/commands/build.md.template +0 -30
  135. package/templates/.claude/commands/check.md.template +0 -43
  136. package/templates/.claude/commands/dashboard.md +0 -28
  137. package/templates/.claude/commands/deps.md +0 -15
  138. package/templates/.claude/commands/dev-report.md +0 -50
  139. package/templates/.claude/commands/docs.md +0 -21
  140. package/templates/.claude/commands/doctor.md +0 -29
  141. package/templates/.claude/commands/enable-agent.md +0 -12
  142. package/templates/.claude/commands/execute-plan.md +0 -25
  143. package/templates/.claude/commands/explore-codebase.md +0 -12
  144. package/templates/.claude/commands/export-pdf.md +0 -30
  145. package/templates/.claude/commands/feature.md +0 -25
  146. package/templates/.claude/commands/fix-issue.md +0 -12
  147. package/templates/.claude/commands/fix.md.template +0 -32
  148. package/templates/.claude/commands/health.md +0 -58
  149. package/templates/.claude/commands/help.md +0 -36
  150. package/templates/.claude/commands/learn.md +0 -48
  151. package/templates/.claude/commands/onboarding.md +0 -21
  152. package/templates/.claude/commands/plan.md +0 -20
  153. package/templates/.claude/commands/quality.md.template +0 -65
  154. package/templates/.claude/commands/session-end.md +0 -40
  155. package/templates/.claude/commands/session-start.md +0 -30
  156. package/templates/.claude/commands/setup-hooks.md +0 -18
  157. package/templates/.claude/commands/stealth-mode.md +0 -17
  158. package/templates/.claude/commands/test-gaps.md +0 -49
  159. package/templates/.claude/commands/test.md.template +0 -40
  160. package/templates/.claude/commands/vulnerabilities.md +0 -49
  161. package/templates/.claude/skills/build/SKILL.md.template +0 -90
  162. package/templates/.claude/skills/deploy/SKILL.md.template +0 -111
  163. package/templates/.claude/skills/deploy/references/gotchas.md +0 -5
  164. package/templates/.claude/skills/doctor/SKILL.md +0 -31
  165. package/templates/.claude/skills/gcloud/SKILL.md +0 -66
  166. package/templates/.claude/skills/gcloud/references/gotchas.md +0 -5
  167. package/templates/.claude/skills/learned/SKILL.md +0 -55
  168. package/templates/.claude/skills/learned/references/conventions.md +0 -11
  169. package/templates/.claude/skills/learned/references/deny-recommendations.md +0 -18
  170. package/templates/.claude/skills/learned/references/gotchas.md +0 -11
  171. package/templates/.claude/skills/pulumi/SKILL.md +0 -73
  172. package/templates/.claude/skills/quality/SKILL.md.template +0 -89
  173. package/templates/.claude/skills/quality/references/gotchas.md +0 -5
  174. package/templates/.claude/skills/review/SKILL.md.template +0 -74
  175. package/templates/.claude/skills/scaffold/SKILL.md.template +0 -113
  176. package/templates/.claude/skills/secrets/SKILL.md +0 -51
  177. package/templates/.claude/skills/session/SKILL.md +0 -32
  178. package/templates/.claude/skills/test/SKILL.md.template +0 -116
  179. package/templates/.claude/skills/test/references/gotchas.md +0 -5
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,6 @@ interface GenerateResult {
5
5
  overwritten: string[];
6
6
  manifest: Manifest;
7
7
  }
8
- export declare function generate(targetDir: string, config: ResolvedConfig, mode: GenerationMode, force: boolean, noScan?: boolean): Promise<GenerateResult>;
8
+ export declare function generate(targetDir: string, config: ResolvedConfig, mode: GenerationMode, force: boolean, _noScan?: boolean, withDxkitAgents?: boolean): Promise<GenerateResult>;
9
9
  export {};
10
10
  //# sourceMappingURL=generator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AA2EnE,UAAU,cAAc;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,wBAAsB,QAAQ,CAC5B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,OAAO,EACd,MAAM,UAAQ,GACb,OAAO,CAAC,cAAc,CAAC,CAiNzB"}
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AA6FnE,UAAU,cAAc;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,wBAAsB,QAAQ,CAC5B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,OAAO,EACd,OAAO,UAAQ,EACf,eAAe,UAAQ,GACtB,OAAO,CAAC,cAAc,CAAC,CAmHzB"}
package/dist/generator.js CHANGED
@@ -39,7 +39,6 @@ const path = __importStar(require("path"));
39
39
  const constants_1 = require("./constants");
40
40
  const template_engine_1 = require("./template-engine");
41
41
  const files_1 = require("./files");
42
- const codebase_scanner_1 = require("./codebase-scanner");
43
42
  const languages_1 = require("./languages");
44
43
  const logger = __importStar(require("./logger"));
45
44
  function getTemplatesDir() {
@@ -52,48 +51,73 @@ function readTemplate(templatePath) {
52
51
  }
53
52
  return fs.readFileSync(fullPath, 'utf-8');
54
53
  }
55
- function buildSettingsJson(config, conditions) {
54
+ /**
55
+ * Narrowed permission list for the dxkit-specific agent surface.
56
+ * Carries only the binaries the six dxkit-* skills actually run:
57
+ * git status/diff/log/branch (read-only inspection), the dxkit binary
58
+ * itself (every analyzer / hook / baseline command), and the active
59
+ * language packs' contributed commands (so the dxkit-action skill
60
+ * can run `npm test` / `pytest` / etc. to verify a fix without
61
+ * prompting on every step).
62
+ *
63
+ * Pre-2.5.1 the file carried Stop-hook noise about a `/learn` slash
64
+ * command that no longer ships, plus conditional gcloud / pulumi /
65
+ * docker entries tied to generic skills that also no longer ship.
66
+ * Dropped here.
67
+ */
68
+ function buildSettingsJson(config) {
56
69
  const perms = [
57
70
  'Bash(git status:*)',
58
71
  'Bash(git diff:*)',
59
72
  'Bash(git log:*)',
60
73
  'Bash(git branch:*)',
61
74
  'Bash(npx vyuh-dxkit:*)',
75
+ 'Bash(./node_modules/.bin/vyuh-dxkit:*)',
76
+ 'Bash(vyuh-dxkit:*)',
62
77
  ];
63
- // Per-language permissions — declared on each pack via
64
- // `LanguageSupport.permissions`, iterated here.
65
78
  for (const lang of (0, languages_1.activeLanguagesFromStack)(config)) {
66
79
  if (lang.permissions)
67
80
  perms.push(...lang.permissions);
68
81
  }
69
- if (conditions.IF_DOCKER)
70
- perms.push('Bash(docker ps:*)', 'Bash(docker-compose ps:*)', 'Bash(docker-compose logs:*)');
71
- if (conditions.IF_GCLOUD)
72
- perms.push('Bash(gcloud config:*)', 'Bash(gcloud projects list:*)', 'Bash(gcloud services list:*)', 'Bash(gcloud run services list:*)');
73
- if (conditions.IF_PULUMI)
74
- perms.push('Bash(pulumi preview:*)', 'Bash(pulumi stack:*)', 'Bash(pulumi config:*)');
75
82
  return (JSON.stringify({
76
83
  $schema: 'https://json.schemastore.org/claude-code-settings.json',
77
84
  permissions: {
78
85
  allow: perms,
79
86
  deny: [],
80
87
  },
81
- hooks: {
82
- Stop: [
83
- {
84
- matcher: '',
85
- hooks: [
86
- {
87
- type: 'command',
88
- command: 'echo "If this conversation involved debugging, fixing issues, or discovering patterns — consider running /learn to capture it for future sessions."',
89
- },
90
- ],
91
- },
92
- ],
93
- },
94
88
  }, null, 2) + '\n');
95
89
  }
96
- async function generate(targetDir, config, mode, force, noScan = false) {
90
+ /**
91
+ * The six dxkit-specific skills shipped under `--with-dxkit-agents`.
92
+ * Each lives at `.claude/skills/<name>/SKILL.md` in the template dir;
93
+ * generator copies them verbatim (no template substitution — the
94
+ * skill content references the canonical `vyuh-dxkit` CLI surface
95
+ * and doesn't need per-project variables).
96
+ */
97
+ const DXKIT_SKILLS = [
98
+ 'dxkit-learn',
99
+ 'dxkit-init',
100
+ 'dxkit-config',
101
+ 'dxkit-hooks',
102
+ 'dxkit-reports',
103
+ 'dxkit-action',
104
+ // dxkit-fix (2.5.2): reactive repair surface. Consumes
105
+ // `vyuh-dxkit doctor --json` output and walks the customer through
106
+ // each fixable check. Lands after the doctor pivot adds structured
107
+ // output + fix metadata in 2.5.2.
108
+ 'dxkit-fix',
109
+ // dxkit-update (2.5.2): existing-install upgrade orchestrator.
110
+ // Consumes `vyuh-dxkit upgrade --plan --json` output and drives
111
+ // conversational upgrade with version-delta analysis, warnings,
112
+ // and per-step confirmation.
113
+ 'dxkit-update',
114
+ // dxkit-onboard (2.5.2): fresh-install orchestrator. Walks the
115
+ // customer through the full first-time setup journey (install,
116
+ // doctor, fix-gaps, baseline, hooks, branch protection, prebuild).
117
+ // Dispatches into the other lifecycle skills for sub-decisions.
118
+ 'dxkit-onboard',
119
+ ];
120
+ async function generate(targetDir, config, mode, force, _noScan = false, withDxkitAgents = false) {
97
121
  const variables = (0, constants_1.buildVariables)(config);
98
122
  const conditions = (0, constants_1.buildConditions)(config);
99
123
  const templatesDir = getTemplatesDir();
@@ -123,7 +147,6 @@ async function generate(targetDir, config, mode, force, noScan = false) {
123
147
  evolving,
124
148
  };
125
149
  }
126
- // Helper: process and write a template file
127
150
  async function writeTemplate(templatePath, outputRel, evolving = false) {
128
151
  const raw = readTemplate(templatePath);
129
152
  const processed = (0, template_engine_1.processTemplate)(raw, variables, conditions);
@@ -131,7 +154,6 @@ async function generate(targetDir, config, mode, force, noScan = false) {
131
154
  const res = await (0, files_1.writeFile)(outputPath, processed, opts(evolving));
132
155
  track(outputPath, processed, res, evolving);
133
156
  }
134
- // Helper: copy a static file
135
157
  function copyStatic(templatePath, outputRel, evolving = false) {
136
158
  const srcPath = path.join(templatesDir, templatePath);
137
159
  if (!fs.existsSync(srcPath))
@@ -141,118 +163,57 @@ async function generate(targetDir, config, mode, force, noScan = false) {
141
163
  const content = evolving ? null : fs.readFileSync(srcPath, 'utf-8');
142
164
  track(outputPath, content, res, evolving);
143
165
  }
144
- // === DX-ONLY TIER ===
145
- logger.header('Generating Agent DX');
146
- // 1. CLAUDE.md
147
- await writeTemplate('CLAUDE.md.template', 'CLAUDE.md');
148
- logger.success('CLAUDE.md');
149
- // 2. settings.json
150
- const settingsContent = buildSettingsJson(config, conditions);
151
- const settingsPath = path.join(targetDir, '.claude', 'settings.json');
152
- const settingsRes = await (0, files_1.writeFile)(settingsPath, settingsContent, opts(false));
153
- track(settingsPath, settingsContent, settingsRes, false);
154
- logger.success('.claude/settings.json');
155
- // 3. Skills — template-processed
156
- for (const skill of ['quality', 'test', 'build', 'review', 'scaffold']) {
157
- await writeTemplate(`.claude/skills/${skill}/SKILL.md.template`, `.claude/skills/${skill}/SKILL.md`);
158
- }
159
- // Skills static (always)
160
- for (const skill of ['doctor', 'session', 'learned']) {
161
- copyStatic(`.claude/skills/${skill}/SKILL.md`, `.claude/skills/${skill}/SKILL.md`);
162
- }
163
- // Deploy skill (template + references)
164
- await writeTemplate('.claude/skills/deploy/SKILL.md.template', '.claude/skills/deploy/SKILL.md');
165
- copyStatic('.claude/skills/deploy/references/gotchas.md', '.claude/skills/deploy/references/gotchas.md', true);
166
- // Evolving reference files
167
- for (const skill of ['quality', 'test', 'learned']) {
168
- const refDir = `.claude/skills/${skill}/references`;
169
- const srcRefDir = path.join(templatesDir, refDir);
170
- if (fs.existsSync(srcRefDir)) {
171
- for (const file of fs.readdirSync(srcRefDir)) {
172
- copyStatic(`${refDir}/${file}`, `${refDir}/${file}`, true);
173
- }
174
- }
175
- }
176
- // Conditional skills
177
- if (conditions.IF_INFISICAL) {
178
- copyStatic('.claude/skills/secrets/SKILL.md', '.claude/skills/secrets/SKILL.md');
179
- }
180
- if (conditions.IF_GCLOUD) {
181
- copyStatic('.claude/skills/gcloud/SKILL.md', '.claude/skills/gcloud/SKILL.md');
182
- copyStatic('.claude/skills/gcloud/references/gotchas.md', '.claude/skills/gcloud/references/gotchas.md', true);
183
- }
184
- if (conditions.IF_PULUMI) {
185
- copyStatic('.claude/skills/pulumi/SKILL.md', '.claude/skills/pulumi/SKILL.md');
186
- }
187
- logger.success('.claude/skills/');
188
- // 4. Rules (conditional on language)
189
- // Per-language rule files declared via `LanguageSupport.ruleFile`.
190
- for (const lang of (0, languages_1.activeLanguagesFromStack)(config)) {
191
- if (lang.ruleFile) {
192
- copyStatic(`.claude/rules/${lang.ruleFile}`, `.claude/rules/${lang.ruleFile}`);
166
+ if (withDxkitAgents) {
167
+ logger.header('Generating dxkit agent context');
168
+ // Open-standard project prose — read by every coding agent
169
+ // (Claude / Codex / Cursor / Aider). Pre-2.5.1 this content lived
170
+ // in CLAUDE.md; AGENTS.md is the cross-platform replacement.
171
+ await writeTemplate('AGENTS.md.template', 'AGENTS.md');
172
+ logger.success('AGENTS.md');
173
+ // CLAUDE.md becomes a small shim that points at AGENTS.md. Claude
174
+ // Code reads both at session start; the shim carries Claude-
175
+ // specific config (skill list, rules pointer) and defers shared
176
+ // context to AGENTS.md.
177
+ await writeTemplate('CLAUDE.md.template', 'CLAUDE.md');
178
+ logger.success('CLAUDE.md');
179
+ // Narrowed settings.json — drops the Stop-hook noise + conditional
180
+ // gcloud/pulumi/docker entries that referenced generic skills that
181
+ // no longer ship.
182
+ const settingsContent = buildSettingsJson(config);
183
+ const settingsPath = path.join(targetDir, '.claude', 'settings.json');
184
+ const settingsRes = await (0, files_1.writeFile)(settingsPath, settingsContent, opts(false));
185
+ track(settingsPath, settingsContent, settingsRes, false);
186
+ logger.success('.claude/settings.json');
187
+ // The six dxkit-specific skills. Each ships as a single SKILL.md
188
+ // under `.claude/skills/dxkit-<name>/`. Auto-discovered by Claude
189
+ // Code via skill frontmatter (`name` + `description`).
190
+ for (const skill of DXKIT_SKILLS) {
191
+ copyStatic(`.claude/skills/${skill}/SKILL.md`, `.claude/skills/${skill}/SKILL.md`);
193
192
  }
194
- }
195
- // Framework-specific rules NOT pack-owned. Frameworks
196
- // (nextjs/loopback/express) live under the top-level `framework`
197
- // signal, not in `languages`. Stay hardcoded here until a
198
- // framework-pack abstraction exists.
199
- if (conditions.IF_NEXTJS)
200
- copyStatic('.claude/rules/nextjs.md', '.claude/rules/nextjs.md');
201
- if (config.framework === 'loopback')
202
- copyStatic('.claude/rules/loopback.md', '.claude/rules/loopback.md');
203
- if (config.framework === 'express')
204
- copyStatic('.claude/rules/express.md', '.claude/rules/express.md');
205
- logger.success('.claude/rules/');
206
- // 5. Commands (static .md copied as-is, .md.template processed through engine)
207
- const commandsDir = path.join(templatesDir, '.claude', 'commands');
208
- if (fs.existsSync(commandsDir)) {
209
- for (const file of fs.readdirSync(commandsDir)) {
210
- if (file.endsWith('.md.template')) {
211
- const outputName = file.replace('.template', '');
212
- await writeTemplate(`.claude/commands/${file}`, `.claude/commands/${outputName}`);
213
- }
214
- else {
215
- copyStatic(`.claude/commands/${file}`, `.claude/commands/${file}`);
193
+ logger.success('.claude/skills/dxkit-*');
194
+ // Per-language rules from each active pack — still useful as
195
+ // contextual hints to any agent (coding conventions, lint rule
196
+ // exceptions, etc.).
197
+ for (const lang of (0, languages_1.activeLanguagesFromStack)(config)) {
198
+ if (lang.ruleFile) {
199
+ copyStatic(`.claude/rules/${lang.ruleFile}`, `.claude/rules/${lang.ruleFile}`);
216
200
  }
217
201
  }
218
- }
219
- logger.success('.claude/commands/');
220
- // Ensure .ai/sessions/ exists for session commands (works in dx-only mode)
221
- fs.mkdirSync(path.join(targetDir, '.ai', 'sessions'), { recursive: true });
222
- // 6. Agents-available (dormant) and agents (active by default)
223
- const agentsAvailDir = path.join(templatesDir, '.claude', 'agents-available');
224
- if (fs.existsSync(agentsAvailDir)) {
225
- fs.mkdirSync(path.join(targetDir, '.claude', 'agents'), { recursive: true });
226
- for (const file of fs.readdirSync(agentsAvailDir)) {
227
- copyStatic(`.claude/agents-available/${file}`, `.claude/agents-available/${file}`);
228
- }
229
- }
230
- const activeAgentsDir = path.join(templatesDir, '.claude', 'agents');
231
- if (fs.existsSync(activeAgentsDir)) {
232
- fs.mkdirSync(path.join(targetDir, '.claude', 'agents'), { recursive: true });
233
- for (const file of fs.readdirSync(activeAgentsDir)) {
234
- copyStatic(`.claude/agents/${file}`, `.claude/agents/${file}`);
235
- }
236
- }
237
- logger.success('.claude/agents/');
238
- // 7. Codebase scan
239
- if (!noScan) {
240
- logger.info('Scanning codebase...');
241
- const analysis = (0, codebase_scanner_1.scanCodebase)(targetDir);
242
- const skillContent = (0, codebase_scanner_1.renderCodebaseSkill)(analysis);
243
- const skillPath = path.join(targetDir, '.claude', 'skills', 'codebase', 'SKILL.md');
244
- const skillRes = await (0, files_1.writeFile)(skillPath, skillContent, opts(true));
245
- track(skillPath, null, skillRes, true);
246
- const refContent = (0, codebase_scanner_1.renderArchitectureRef)(analysis);
247
- const refPath = path.join(targetDir, '.claude', 'skills', 'codebase', 'references', 'architecture.md');
248
- const refRes = await (0, files_1.writeFile)(refPath, refContent, opts(true));
249
- track(refPath, null, refRes, true);
250
- logger.success(`.claude/skills/codebase/ (${analysis.fileCount} files, ${analysis.entryPoints.length} entry points, ${analysis.apiEndpoints.length} API routes)`);
251
- if (analysis.testFileCount < 5 && analysis.sourceFileCount > 20) {
252
- logger.warn(`Minimal tests: ${analysis.testFileCount} test files for ${analysis.sourceFileCount} source files`);
253
- }
254
- }
255
- // Write manifest
202
+ // Framework-specific rules — NOT pack-owned. Frameworks
203
+ // (nextjs/loopback/express) live under the top-level `framework`
204
+ // signal, not in `languages`. Stay hardcoded here until a
205
+ // framework-pack abstraction exists.
206
+ if (conditions.IF_NEXTJS)
207
+ copyStatic('.claude/rules/nextjs.md', '.claude/rules/nextjs.md');
208
+ if (config.framework === 'loopback')
209
+ copyStatic('.claude/rules/loopback.md', '.claude/rules/loopback.md');
210
+ if (config.framework === 'express')
211
+ copyStatic('.claude/rules/express.md', '.claude/rules/express.md');
212
+ logger.success('.claude/rules/');
213
+ }
214
+ // Always write the manifest — `vyuh-dxkit update` / `doctor` / etc.
215
+ // read it to know what was configured even when no agent scaffold
216
+ // is present.
256
217
  const manifestContent = JSON.stringify(result.manifest, null, 2) + '\n';
257
218
  fs.mkdirSync(targetDir, { recursive: true });
258
219
  fs.writeFileSync(path.join(targetDir, '.vyuh-dxkit.json'), manifestContent, 'utf-8');
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ export interface ActivateHooksResult {
2
+ /** True when `core.hooksPath` was set during this call. */
3
+ activated: boolean;
4
+ /** Why the call short-circuited; populated when `activated` is false. */
5
+ reason?: 'not-a-git-repo' | 'git-missing' | 'already-set-elsewhere' | 'already-set-correctly' | 'git-error';
6
+ /** Value `core.hooksPath` held before any write attempt. */
7
+ previousValue?: string;
8
+ }
9
+ /**
10
+ * Pure-ish core: takes a cwd, returns a structured outcome. Side
11
+ * effects are limited to invoking `git config` against the supplied
12
+ * cwd. The CLI wrapper renders log output from the result.
13
+ */
14
+ export declare function activateHooks(cwd: string): ActivateHooksResult;
15
+ /**
16
+ * CLI wrapper. Renders a short status line and ALWAYS exits 0 so a
17
+ * postinstall hook never aborts `npm install`.
18
+ */
19
+ export declare function runHooksActivate(cwd: string): void;
20
+ //# sourceMappingURL=hooks-cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks-cli.d.ts","sourceRoot":"","sources":["../src/hooks-cli.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,mBAAmB;IAClC,2DAA2D;IAC3D,SAAS,EAAE,OAAO,CAAC;IACnB,yEAAyE;IACzE,MAAM,CAAC,EACH,gBAAgB,GAChB,aAAa,GACb,uBAAuB,GACvB,uBAAuB,GACvB,WAAW,CAAC;IAChB,4DAA4D;IAC5D,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAwD9D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CA6BlD"}
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.activateHooks = activateHooks;
37
+ exports.runHooksActivate = runHooksActivate;
38
+ /**
39
+ * CLI handler for `vyuh-dxkit hooks activate`.
40
+ *
41
+ * Idempotent activation of the dxkit hook directory. Designed to be
42
+ * invoked from an `npm postinstall` script in the consumer's
43
+ * package.json, so every clone + `npm install` automatically wires
44
+ * `core.hooksPath` without per-dev manual setup.
45
+ *
46
+ * Always exits 0. A postinstall script that exits non-zero breaks
47
+ * `npm install` for the whole repo, which is a worse failure than
48
+ * "hooks didn't activate this run." If the repo isn't a git checkout
49
+ * or `git` is missing, log a dim notice and return cleanly.
50
+ */
51
+ const child_process_1 = require("child_process");
52
+ const logger = __importStar(require("./logger"));
53
+ /**
54
+ * Pure-ish core: takes a cwd, returns a structured outcome. Side
55
+ * effects are limited to invoking `git config` against the supplied
56
+ * cwd. The CLI wrapper renders log output from the result.
57
+ */
58
+ function activateHooks(cwd) {
59
+ // Refuse to run outside a git worktree — `git config` would write
60
+ // to the global config file instead, which is the worst kind of
61
+ // surprise. `--is-inside-work-tree` returns "true" + exit 0 only
62
+ // when cwd is inside a valid worktree.
63
+ try {
64
+ const out = (0, child_process_1.execFileSync)('git', ['rev-parse', '--is-inside-work-tree'], {
65
+ cwd,
66
+ encoding: 'utf8',
67
+ stdio: ['ignore', 'pipe', 'ignore'],
68
+ }).trim();
69
+ if (out !== 'true') {
70
+ return { activated: false, reason: 'not-a-git-repo' };
71
+ }
72
+ }
73
+ catch (err) {
74
+ const msg = err.message ?? '';
75
+ // ENOENT on the spawn means `git` itself isn't installed. Every
76
+ // other error means cwd isn't a worktree (or .git is corrupted).
77
+ if (msg.includes('ENOENT'))
78
+ return { activated: false, reason: 'git-missing' };
79
+ return { activated: false, reason: 'not-a-git-repo' };
80
+ }
81
+ // Read the current value (if any). `git config --get` exits 1 when
82
+ // the key is unset — that's the happy path for a fresh clone.
83
+ let previousValue;
84
+ try {
85
+ previousValue = (0, child_process_1.execFileSync)('git', ['config', '--local', '--get', 'core.hooksPath'], {
86
+ cwd,
87
+ encoding: 'utf8',
88
+ stdio: ['ignore', 'pipe', 'ignore'],
89
+ }).trim();
90
+ }
91
+ catch {
92
+ previousValue = undefined;
93
+ }
94
+ if (previousValue === '.githooks') {
95
+ return { activated: false, reason: 'already-set-correctly', previousValue };
96
+ }
97
+ if (previousValue && previousValue.length > 0) {
98
+ // Don't clobber a custom hooksPath (husky, lefthook, personal
99
+ // setup). The customer is on the hook for chaining if they want
100
+ // both — same convention as `.dxkit` sidecars when an existing
101
+ // hook is present.
102
+ return { activated: false, reason: 'already-set-elsewhere', previousValue };
103
+ }
104
+ try {
105
+ (0, child_process_1.execFileSync)('git', ['config', '--local', 'core.hooksPath', '.githooks'], {
106
+ cwd,
107
+ stdio: 'ignore',
108
+ });
109
+ return { activated: true };
110
+ }
111
+ catch {
112
+ return { activated: false, reason: 'git-error' };
113
+ }
114
+ }
115
+ /**
116
+ * CLI wrapper. Renders a short status line and ALWAYS exits 0 so a
117
+ * postinstall hook never aborts `npm install`.
118
+ */
119
+ function runHooksActivate(cwd) {
120
+ const result = activateHooks(cwd);
121
+ if (result.activated) {
122
+ logger.dim('dxkit hooks activated (core.hooksPath = .githooks)');
123
+ return;
124
+ }
125
+ switch (result.reason) {
126
+ case 'already-set-correctly':
127
+ // Stay quiet on the steady-state path — every subsequent
128
+ // `npm install` lands here, and noise compounds.
129
+ return;
130
+ case 'already-set-elsewhere':
131
+ logger.dim(`dxkit hooks activation skipped: core.hooksPath already set to '${result.previousValue}'. ` +
132
+ 'Chain dxkit hooks by sourcing .githooks/<name> from your existing hook directory.');
133
+ return;
134
+ case 'not-a-git-repo':
135
+ logger.dim('dxkit hooks activation skipped: not inside a git working tree.');
136
+ return;
137
+ case 'git-missing':
138
+ logger.dim('dxkit hooks activation skipped: git not on PATH.');
139
+ return;
140
+ default:
141
+ logger.dim('dxkit hooks activation skipped: git error (run `vyuh-dxkit doctor` to diagnose).');
142
+ return;
143
+ }
144
+ }
145
+ //# sourceMappingURL=hooks-cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks-cli.js","sourceRoot":"","sources":["../src/hooks-cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"csharp.d.ts","sourceRoot":"","sources":["../../src/languages/csharp.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,6BAA6B,CAAC;AAmB1E,OAAO,KAAK,EAEV,cAAc,EASd,cAAc,EAEf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAuC/C,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAoC/F;AA8GD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,MAAM,GACV;IAAE,MAAM,EAAE,cAAc,CAAC;IAAC,QAAQ,EAAE,cAAc,EAAE,CAAA;CAAE,GAAG,IAAI,CA2D/D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,GACV;IAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;CAAE,GAAG,IAAI,CAqCjE;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE;IAClD,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACjC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;CACjD,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAsBxB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAe9D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAExD;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,aAAa,CAAC;IAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;CAAE,CAAC,GAC9E;IAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;CAAE,CAY1D;AAggBD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAQjE;AAoSD,eAAO,MAAM,MAAM,EAAE,eAsJpB,CAAC"}
1
+ {"version":3,"file":"csharp.d.ts","sourceRoot":"","sources":["../../src/languages/csharp.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,6BAA6B,CAAC;AAmB1E,OAAO,KAAK,EAEV,cAAc,EASd,cAAc,EAEf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAuC/C,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAoC/F;AA8GD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,MAAM,GACV;IAAE,MAAM,EAAE,cAAc,CAAC;IAAC,QAAQ,EAAE,cAAc,EAAE,CAAA;CAAE,GAAG,IAAI,CA2D/D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,GACV;IAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;CAAE,GAAG,IAAI,CAqCjE;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE;IAClD,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACjC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;CACjD,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAsBxB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAe9D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAExD;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,aAAa,CAAC;IAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;CAAE,CAAC,GAC9E;IAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;CAAE,CAY1D;AAggBD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAQjE;AAoSD,eAAO,MAAM,MAAM,EAAE,eA2JpB,CAAC"}
@@ -1288,5 +1288,10 @@ exports.csharp = {
1288
1288
  ruleFile: 'csharp.md',
1289
1289
  defaultVersion: '8.0',
1290
1290
  cliBinaries: ['dotnet'],
1291
+ devcontainerFeature: {
1292
+ name: 'ghcr.io/devcontainers/features/dotnet:2',
1293
+ opts: { version: '8.0' },
1294
+ },
1295
+ devcontainerExtensions: ['ms-dotnettools.csharp'],
1291
1296
  };
1292
1297
  //# sourceMappingURL=csharp.js.map