@simplysm/sd-claude 13.0.33 → 13.0.35

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.
@@ -48,23 +48,16 @@ When the user asks to verify code, YOU will manually execute **EXACTLY THESE 4 S
48
48
 
49
49
  ### Step 1: Environment Pre-check
50
50
 
51
- Before ANY verification, confirm environment setup with these checks **in parallel**:
51
+ Before ANY verification, run the environment check script:
52
52
 
53
- 1. **Root package.json version** - Read `package.json`, verify major version is `13` (e.g., `13.x.x`)
54
- - If not 13: STOP, report "This skill requires simplysm v13. Current: {version}"
55
-
56
- 2. **pnpm workspace** - Verify `pnpm-workspace.yaml` and `pnpm-lock.yaml` exist
57
- - Command: `ls pnpm-workspace.yaml pnpm-lock.yaml`
58
- - If missing: STOP, report to user
59
-
60
- 3. **package.json scripts** - Read root `package.json`, confirm `typecheck` and `lint` scripts defined
61
- - If missing: STOP, report to user
53
+ ```bash
54
+ node .claude/skills/sd-check/env-check.mjs
55
+ ```
62
56
 
63
- 4. **Vitest config** - Verify `vitest.config.ts` exists
64
- - Command: `ls vitest.config.ts`
65
- - If missing: STOP, report to user
57
+ - **Exit 0 + "Environment OK"**: Proceed to Step 2
58
+ - **Exit 1 + "FAIL"**: STOP, report the listed errors to user
66
59
 
67
- **If all pass:** Report "Environment OK", proceed to Step 2.
60
+ The script checks: package.json version (v13), pnpm workspace files, typecheck/lint scripts, vitest config.
68
61
 
69
62
  ### Step 2: Launch 3 Haiku Agents in Parallel
70
63
 
@@ -0,0 +1,45 @@
1
+ import { readFileSync, existsSync } from "fs";
2
+ import { resolve } from "path";
3
+
4
+ const root = resolve(import.meta.dirname, "../../..");
5
+ const errors = [];
6
+
7
+ // 1. Root package.json version check
8
+ const pkgPath = resolve(root, "package.json");
9
+ if (!existsSync(pkgPath)) {
10
+ errors.push("package.json not found");
11
+ } else {
12
+ const pkg = JSON.parse(readFileSync(pkgPath, "utf8"));
13
+ const major = pkg.version?.split(".")[0];
14
+ if (major !== "13") {
15
+ errors.push(`This skill requires simplysm v13. Current: ${pkg.version}`);
16
+ }
17
+
18
+ // 3. Scripts check
19
+ if (!pkg.scripts?.typecheck) {
20
+ errors.push("'typecheck' script not defined in package.json");
21
+ }
22
+ if (!pkg.scripts?.lint) {
23
+ errors.push("'lint' script not defined in package.json");
24
+ }
25
+ }
26
+
27
+ // 2. pnpm workspace files
28
+ for (const f of ["pnpm-workspace.yaml", "pnpm-lock.yaml"]) {
29
+ if (!existsSync(resolve(root, f))) {
30
+ errors.push(`${f} not found`);
31
+ }
32
+ }
33
+
34
+ // 4. Vitest config
35
+ if (!existsSync(resolve(root, "vitest.config.ts"))) {
36
+ errors.push("vitest.config.ts not found");
37
+ }
38
+
39
+ if (errors.length > 0) {
40
+ console.log("FAIL");
41
+ for (const e of errors) console.log(`- ${e}`);
42
+ process.exit(1);
43
+ } else {
44
+ console.log("Environment OK");
45
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simplysm/sd-claude",
3
- "version": "13.0.33",
3
+ "version": "13.0.35",
4
4
  "description": "Simplysm Claude Code CLI — asset installer and cross-platform npx wrapper",
5
5
  "author": "김석래",
6
6
  "license": "Apache-2.0",