musubix2 0.5.0 → 0.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.
@@ -20,6 +20,12 @@ export declare class InitCommandHandler {
20
20
  private readonly dryRunReporter;
21
21
  constructor(detector: PlatformDetector, confirmation: ConfirmationResolver, planner: InstallPlanner, copilotSetup: CopilotSetupService, claudeSetup: ClaudeSetupTransaction, merger: WorkspaceMergeService, writer: WorkspaceWriter, updateService: UpdateService, dryRunReporter: DryRunReporter);
22
22
  run(options: InitOptions): Promise<InitSummary>;
23
+ /**
24
+ * Create the SDD directory skeleton and a parseable starter requirements
25
+ * document. Idempotent and non-destructive — existing files are left as-is.
26
+ * Returns the relative paths of files/dirs actually created.
27
+ */
28
+ private scaffoldSddWorkspace;
23
29
  private buildProjectContext;
24
30
  }
25
31
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"init-command-handler.d.ts","sourceRoot":"","sources":["../../../src/interface/cli/init-command-handler.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EAKZ,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAC;AACzF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uDAAuD,CAAC;AAC/F,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAO5E,OAAO,EAAE,eAAe,EAAE,MAAM,oDAAoD,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc;gBARd,QAAQ,EAAE,gBAAgB,EAC1B,YAAY,EAAE,oBAAoB,EAClC,OAAO,EAAE,cAAc,EACvB,YAAY,EAAE,mBAAmB,EACjC,WAAW,EAAE,sBAAsB,EACnC,MAAM,EAAE,qBAAqB,EAC7B,MAAM,EAAE,eAAe,EACvB,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc;IAG3C,GAAG,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IA6ErD,OAAO,CAAC,mBAAmB;CAmC5B;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,kBAAkB,CAsB7D"}
1
+ {"version":3,"file":"init-command-handler.d.ts","sourceRoot":"","sources":["../../../src/interface/cli/init-command-handler.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EAKZ,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAC;AACzF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uDAAuD,CAAC;AAC/F,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAO5E,OAAO,EAAE,eAAe,EAAE,MAAM,oDAAoD,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAsBvD,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc;gBARd,QAAQ,EAAE,gBAAgB,EAC1B,YAAY,EAAE,oBAAoB,EAClC,OAAO,EAAE,cAAc,EACvB,YAAY,EAAE,mBAAmB,EACjC,WAAW,EAAE,sBAAsB,EACnC,MAAM,EAAE,qBAAqB,EAC7B,MAAM,EAAE,eAAe,EACvB,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc;IAG3C,GAAG,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAmFrD;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAqB5B,OAAO,CAAC,mBAAmB;CAqC5B;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,kBAAkB,CAsB7D"}
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * P3-04 / DES-INS-001: Init command orchestrator — detect → confirm → plan → render → merge → write.
3
3
  */
4
- import { readdirSync } from 'node:fs';
5
- import { basename } from 'node:path';
4
+ import { mkdirSync, writeFileSync, existsSync } from 'node:fs';
5
+ import { basename, join } from 'node:path';
6
6
  import { PlatformDetector } from '../../application/install/platform-detector.js';
7
7
  import { InstallPlanner } from '../../application/install/install-planner.js';
8
8
  import { CopilotSetupService } from '../../application/install/copilot-setup-service.js';
@@ -18,6 +18,25 @@ import { TemplateRenderer } from '../../infrastructure/templates/template-render
18
18
  import { WorkspaceWriter } from '../../infrastructure/workspace/workspace-writer.js';
19
19
  import { ConfirmationResolver } from './confirmation-resolver.js';
20
20
  import { DryRunReporter } from './dry-run-reporter.js';
21
+ /**
22
+ * Starter requirements document in the exact format the EARS parser accepts
23
+ * (`## REQ-XXX-000:` heading + `**要件**:` field). Gives `musubix requirements
24
+ * analyze` something parseable on first run.
25
+ */
26
+ const STARTER_REQUIREMENTS = `# 要件定義書
27
+
28
+ > \`musubix requirements analyze storage/specs/requirements.md\` で解析できます。
29
+ > 要件は見出し形式・ID は \`REQ-<3文字ドメイン>-<3桁連番>\` で記述してください。
30
+
31
+ ## REQ-SMP-001: サンプル要件
32
+ **種別**: UBIQUITOUS
33
+ **優先度**: P1
34
+ **要件**:
35
+ THE システム SHALL ユーザーにサンプル機能を提供する。
36
+
37
+ **受入基準**:
38
+ - [ ] サンプル機能が動作する
39
+ `;
21
40
  export class InitCommandHandler {
22
41
  detector;
23
42
  confirmation;
@@ -97,26 +116,58 @@ export class InitCommandHandler {
97
116
  await this.writer.execute(copilotOps, false);
98
117
  }
99
118
  const summary = await this.writer.execute([], true); // get summary structure
119
+ // 8. Scaffold the SDD workspace (steering/, storage/specs/) with a
120
+ // parseable starter requirements doc. Best-effort; never overwrites.
121
+ const scaffolded = options.dryRun
122
+ ? []
123
+ : this.scaffoldSddWorkspace(options.projectPath);
100
124
  return {
101
125
  detectedPlatforms: selection,
102
- created: summary.created,
126
+ created: [...summary.created, ...scaffolded],
103
127
  updated: summary.updated,
104
128
  skipped: summary.skipped,
105
129
  warnings,
106
130
  durationMs: Date.now() - start,
107
131
  };
108
132
  }
109
- buildProjectContext(projectPath) {
110
- const name = basename(projectPath);
111
- let rootStructure = [];
133
+ /**
134
+ * Create the SDD directory skeleton and a parseable starter requirements
135
+ * document. Idempotent and non-destructive — existing files are left as-is.
136
+ * Returns the relative paths of files/dirs actually created.
137
+ */
138
+ scaffoldSddWorkspace(projectPath) {
139
+ const created = [];
112
140
  try {
113
- rootStructure = readdirSync(projectPath, { withFileTypes: true })
114
- .slice(0, 20)
115
- .map(d => d.isDirectory() ? `${d.name}/` : d.name);
141
+ for (const dir of ['steering', 'storage/specs']) {
142
+ const abs = join(projectPath, dir);
143
+ if (!existsSync(abs)) {
144
+ mkdirSync(abs, { recursive: true });
145
+ created.push(`${dir}/`);
146
+ }
147
+ }
148
+ const reqPath = join(projectPath, 'storage/specs/requirements.md');
149
+ if (!existsSync(reqPath)) {
150
+ writeFileSync(reqPath, STARTER_REQUIREMENTS, 'utf-8');
151
+ created.push('storage/specs/requirements.md');
152
+ }
116
153
  }
117
154
  catch {
118
- // ignore
155
+ // Best-effort — scaffolding failure must not fail init.
119
156
  }
157
+ return created;
158
+ }
159
+ buildProjectContext(projectPath) {
160
+ const name = basename(projectPath);
161
+ // Document the canonical MUSUBIX2 SDD layout rather than a raw directory
162
+ // listing — the generated CLAUDE.md should teach the intended structure,
163
+ // not echo transient files like node_modules/.
164
+ const rootStructure = [
165
+ 'steering/ # プロジェクトメモリ(決定前に参照)',
166
+ 'storage/specs/ # requirements / design / tasks 仕様',
167
+ '.claude/skills/ # SDD Agent Skills',
168
+ 'src/ # 実装コード',
169
+ 'tests/ # テストコード',
170
+ ];
120
171
  return {
121
172
  projectName: name,
122
173
  packageManager: 'npm',
@@ -1 +1 @@
1
- {"version":3,"file":"init-command-handler.js","sourceRoot":"","sources":["../../../src/interface/cli/init-command-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init-command-handler.js","sourceRoot":"","sources":["../../../src/interface/cli/init-command-handler.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,27 @@ Phase 5: Complete
37
37
  | OPTIONAL | WHERE \<feature\>, THE システム SHALL... |
38
38
  | COMPLEX | IF \<condition\>, THEN THE システム SHALL... |
39
39
 
40
+ ## 要件定義書フォーマット(必須)
41
+
42
+ `musubix requirements analyze <file>` は次の構造のみ解析できる。
43
+ 要件は **見出し** として記述し、ID は `REQ-<3文字ドメイン>-<3桁連番>` とすること。
44
+ 箇条書き(`- REQ-001: ...`)や 3 文字ドメインコードの無い ID は認識されない。
45
+
46
+ ```markdown
47
+ ## REQ-AUT-001: ユーザー登録
48
+ **種別**: UBIQUITOUS
49
+ **優先度**: P0
50
+ **要件**:
51
+ THE システム SHALL メールアドレスによるユーザー登録を提供する。
52
+
53
+ **受入基準**:
54
+ - [ ] 有効なメールで登録できる
55
+ - [ ] 重複メールは拒否される
56
+ ```
57
+
58
+ - `**要件**:` の次行に EARS 文を書く(この行がパターン分類の対象)。
59
+ - 種別/優先度/受入基準は任意だが、受入基準が無いと validate で警告となる。
60
+
40
61
  ## スキル一覧
41
62
 
42
63
  {{SKILL_SECTION}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "musubix2",
3
- "version": "0.5.0",
3
+ "version": "0.5.2",
4
4
  "description": "MUSUBIX2 — Specification Driven Development System",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",