@iconsulting-dev/forgekit 1.7.6 → 1.8.0

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.
@@ -112,5 +112,11 @@ describe("ClaudeCodeGenerator", () => {
112
112
  await generateClaudeCode(tmpDir, baseConfig, baseVersions, fakeSkillsDir);
113
113
  expect(await fs.pathExists(path.join(tmpDir, ".claude", "skills"))).toBe(false);
114
114
  });
115
+ it("session-start hook detects unfilled constitution and instructs to run speckit.constitution", async () => {
116
+ await generateClaudeCode(tmpDir, baseConfig, baseVersions);
117
+ const content = await fs.readFile(path.join(tmpDir, ".claude", "hooks", "session-start.sh"), "utf-8");
118
+ expect(content).toContain("Your first principle");
119
+ expect(content).toContain("speckit.constitution");
120
+ });
115
121
  });
116
122
  //# sourceMappingURL=claude-code.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code.test.js","sourceRoot":"","sources":["../../../../src/generators/claude-code/__tests__/claude-code.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-code.test.js","sourceRoot":"","sources":["../../../../src/generators/claude-code/__tests__/claude-code.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/prompts/project.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,aAAa,EAId,MAAM,aAAa,CAAC;AAErB,wBAAsB,mBAAmB,CACvC,QAAQ,GAAE,OAAO,CAAC,aAAa,CAAM,GACpC,OAAO,CAAC,aAAa,CAAC,CA4KxB"}
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/prompts/project.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,aAAa,EAId,MAAM,aAAa,CAAC;AAErB,wBAAsB,mBAAmB,CACvC,QAAQ,GAAE,OAAO,CAAC,aAAa,CAAM,GACpC,OAAO,CAAC,aAAa,CAAC,CAmLxB"}
@@ -2,6 +2,7 @@ import { input, confirm, checkbox, select } from "@inquirer/prompts";
2
2
  import path from "node:path";
3
3
  import { loadConfig } from "../config.js";
4
4
  import { validateProjectName, validateGroupId } from "../utils/validation.js";
5
+ import { isClaudeInstalled } from "../utils/system.js";
5
6
  export async function promptProjectConfig(defaults = {}) {
6
7
  const saved = await loadConfig();
7
8
  const currentDir = path.basename(process.cwd());
@@ -111,6 +112,7 @@ export async function promptProjectConfig(defaults = {}) {
111
112
  defaults.claudeCode === undefined &&
112
113
  defaults.gitInit === undefined) {
113
114
  const hasBackend = backendType !== null;
115
+ const claudeDetected = isClaudeInstalled();
114
116
  const infra = await checkbox({
115
117
  message: "Infrastructure",
116
118
  choices: [
@@ -124,7 +126,13 @@ export async function promptProjectConfig(defaults = {}) {
124
126
  value: "ci",
125
127
  checked: hasBackend || frontend,
126
128
  },
127
- { name: "Claude Code", value: "claudeCode", checked: true },
129
+ {
130
+ name: claudeDetected
131
+ ? "Claude Code"
132
+ : "Claude Code (claude CLI non détecté)",
133
+ value: "claudeCode",
134
+ checked: claudeDetected,
135
+ },
128
136
  { name: "Initialiser Git", value: "gitInit", checked: true },
129
137
  ],
130
138
  });
@@ -1 +1 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/prompts/project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/prompts/project.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,13 @@ fi
9
9
  CONSTITUTION="$REPO_ROOT/.specify/memory/constitution.md"
10
10
 
11
11
  if [ -f "$CONSTITUTION" ]; then
12
- echo "=== {{name}} Architecture Constitution (auto-loaded) ==="
13
- cat "$CONSTITUTION"
14
- echo "=== End Constitution ==="
12
+ if grep -q '\[Your first principle\]' "$CONSTITUTION" 2>/dev/null; then
13
+ echo "⚠️ Constitution not configured yet."
14
+ echo "Please initialize it now by running: /speckit.constitution"
15
+ echo "(This will ask a few questions and fill in your project architecture constitution.)"
16
+ else
17
+ echo "=== {{name}} Architecture Constitution (auto-loaded) ==="
18
+ cat "$CONSTITUTION"
19
+ echo "=== End Constitution ==="
20
+ fi
15
21
  fi
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=system.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.test.d.ts","sourceRoot":"","sources":["../../../src/utils/__tests__/system.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,24 @@
1
+ import { describe, it, expect, vi } from "vitest";
2
+ vi.mock("node:child_process", () => ({
3
+ spawnSync: vi.fn(),
4
+ }));
5
+ import { isClaudeInstalled } from "../system.js";
6
+ import { spawnSync } from "node:child_process";
7
+ describe("isClaudeInstalled", () => {
8
+ it("returns true when claude binary is found in PATH", () => {
9
+ vi.mocked(spawnSync).mockReturnValue({ status: 0 });
10
+ expect(isClaudeInstalled()).toBe(true);
11
+ });
12
+ it("returns false when claude binary is not found", () => {
13
+ vi.mocked(spawnSync).mockReturnValue({ status: 1 });
14
+ expect(isClaudeInstalled()).toBe(false);
15
+ });
16
+ it("returns false when spawnSync throws ENOENT", () => {
17
+ vi.mocked(spawnSync).mockReturnValue({
18
+ status: null,
19
+ error: new Error("ENOENT"),
20
+ });
21
+ expect(isClaudeInstalled()).toBe(false);
22
+ });
23
+ });
24
+ //# sourceMappingURL=system.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.test.js","sourceRoot":"","sources":["../../../src/utils/__tests__/system.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAElD,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE,CAAC,CAAC;IACnC,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;CACnB,CAAC,CAAC,CAAC;AAEJ,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC,EAE/C,CAAC,CAAC;QACH,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC,EAE/C,CAAC,CAAC;QACH,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC;YACnC,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC;SACK,CAAC,CAAC;QACnC,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** Returns true if the claude CLI binary is discoverable in PATH. */
2
+ export declare function isClaudeInstalled(): boolean;
3
+ //# sourceMappingURL=system.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../src/utils/system.ts"],"names":[],"mappings":"AAEA,qEAAqE;AACrE,wBAAgB,iBAAiB,IAAI,OAAO,CAM3C"}
@@ -0,0 +1,10 @@
1
+ import { spawnSync } from "node:child_process";
2
+ /** Returns true if the claude CLI binary is discoverable in PATH. */
3
+ export function isClaudeInstalled() {
4
+ // Intentionally synchronous — called once during the interactive wizard prompt setup,
5
+ // before any async Inquirer prompts run. spawnSync avoids the need for top-level await
6
+ // and keeps the detection transparent to the rest of the async wizard flow.
7
+ const result = spawnSync("claude", ["--version"], { stdio: "ignore" });
8
+ return result.status === 0;
9
+ }
10
+ //# sourceMappingURL=system.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.js","sourceRoot":"","sources":["../../src/utils/system.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,qEAAqE;AACrE,MAAM,UAAU,iBAAiB;IAC/B,sFAAsF;IACtF,uFAAuF;IACvF,4EAA4E;IAC5E,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACvE,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;AAC7B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iconsulting-dev/forgekit",
3
- "version": "1.7.6",
3
+ "version": "1.8.0",
4
4
  "description": "CLI de scaffolding full-stack pour projets Spring Boot + Angular",
5
5
  "type": "module",
6
6
  "bin": {