@nahisaho/musubix-core 1.0.2 → 1.0.3
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOzC;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AA4CD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2B1D;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAsDrB"}
|
|
@@ -9,8 +9,9 @@
|
|
|
9
9
|
* @see REQ-ARC-002 - CLI Interface
|
|
10
10
|
* @see DES-MUSUBIX-001 Section 3.2.2 - CLI Commands
|
|
11
11
|
*/
|
|
12
|
-
import { mkdir, writeFile, access } from 'fs/promises';
|
|
13
|
-
import { join } from 'path';
|
|
12
|
+
import { mkdir, writeFile, access, readFile, readdir, cp } from 'fs/promises';
|
|
13
|
+
import { join, dirname } from 'path';
|
|
14
|
+
import { fileURLToPath } from 'url';
|
|
14
15
|
import { ExitCode, getGlobalOptions, outputResult } from '../base.js';
|
|
15
16
|
import { VERSION } from '../../version.js';
|
|
16
17
|
/**
|
|
@@ -49,6 +50,9 @@ const DIRECTORY_STRUCTURE = [
|
|
|
49
50
|
'storage/specs',
|
|
50
51
|
'storage/archive',
|
|
51
52
|
'storage/changes',
|
|
53
|
+
'.github',
|
|
54
|
+
'.github/prompts',
|
|
55
|
+
'.github/skills',
|
|
52
56
|
];
|
|
53
57
|
/**
|
|
54
58
|
* Register init command
|
|
@@ -121,6 +125,8 @@ export async function executeInit(targetPath, options) {
|
|
|
121
125
|
filesCreated.push('musubix.config.json');
|
|
122
126
|
// Create steering documents
|
|
123
127
|
await createSteeringDocuments(projectPath, projectName, filesCreated);
|
|
128
|
+
// Copy AGENTS.md and .github/ from musubix package
|
|
129
|
+
await copyAgentFiles(projectPath, filesCreated);
|
|
124
130
|
// Create .gitkeep files
|
|
125
131
|
await writeFile(join(projectPath, 'storage/archive/.gitkeep'), '');
|
|
126
132
|
await writeFile(join(projectPath, 'storage/changes/.gitkeep'), '');
|
|
@@ -255,4 +261,166 @@ function getProjectNameFromPath(projectPath) {
|
|
|
255
261
|
const parts = projectPath.split(/[/\\]/);
|
|
256
262
|
return parts[parts.length - 1] || 'my-project';
|
|
257
263
|
}
|
|
264
|
+
/**
|
|
265
|
+
* Find musubix package directory in node_modules
|
|
266
|
+
*/
|
|
267
|
+
async function findMusubixPackage() {
|
|
268
|
+
// Try to find musubix package in node_modules
|
|
269
|
+
const searchPaths = [
|
|
270
|
+
// From current working directory
|
|
271
|
+
join(process.cwd(), 'node_modules', 'musubix'),
|
|
272
|
+
// From this package's location (for development)
|
|
273
|
+
join(dirname(fileURLToPath(import.meta.url)), '..', '..', '..', '..', '..'),
|
|
274
|
+
];
|
|
275
|
+
for (const searchPath of searchPaths) {
|
|
276
|
+
try {
|
|
277
|
+
await access(join(searchPath, 'AGENTS.md'));
|
|
278
|
+
return searchPath;
|
|
279
|
+
}
|
|
280
|
+
catch {
|
|
281
|
+
// Not found, try next
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
return null;
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Copy AGENTS.md and .github/ to project root for GitHub Copilot
|
|
288
|
+
*/
|
|
289
|
+
async function copyAgentFiles(projectPath, filesCreated) {
|
|
290
|
+
const musubixPath = await findMusubixPackage();
|
|
291
|
+
if (!musubixPath) {
|
|
292
|
+
// If musubix package not found, create default AGENTS.md
|
|
293
|
+
await createDefaultAgentsFile(projectPath, filesCreated);
|
|
294
|
+
return;
|
|
295
|
+
}
|
|
296
|
+
try {
|
|
297
|
+
// Copy AGENTS.md
|
|
298
|
+
const agentsSource = join(musubixPath, 'AGENTS.md');
|
|
299
|
+
const agentsDest = join(projectPath, 'AGENTS.md');
|
|
300
|
+
const agentsContent = await readFile(agentsSource, 'utf-8');
|
|
301
|
+
await writeFile(agentsDest, agentsContent);
|
|
302
|
+
filesCreated.push('AGENTS.md');
|
|
303
|
+
// Copy .github/ directory
|
|
304
|
+
const githubSource = join(musubixPath, '.github');
|
|
305
|
+
const githubDest = join(projectPath, '.github');
|
|
306
|
+
try {
|
|
307
|
+
await cp(githubSource, githubDest, { recursive: true });
|
|
308
|
+
filesCreated.push('.github/');
|
|
309
|
+
// List copied files
|
|
310
|
+
const promptsDir = join(githubDest, 'prompts');
|
|
311
|
+
const skillsDir = join(githubDest, 'skills');
|
|
312
|
+
try {
|
|
313
|
+
const prompts = await readdir(promptsDir);
|
|
314
|
+
for (const file of prompts) {
|
|
315
|
+
filesCreated.push(`.github/prompts/${file}`);
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
catch {
|
|
319
|
+
// prompts dir might not exist
|
|
320
|
+
}
|
|
321
|
+
try {
|
|
322
|
+
const skills = await readdir(skillsDir);
|
|
323
|
+
for (const skill of skills) {
|
|
324
|
+
filesCreated.push(`.github/skills/${skill}/`);
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
catch {
|
|
328
|
+
// skills dir might not exist
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
catch {
|
|
332
|
+
// .github copy failed, create minimal structure
|
|
333
|
+
await createDefaultGithubFiles(projectPath, filesCreated);
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
catch {
|
|
337
|
+
// Fallback to default files
|
|
338
|
+
await createDefaultAgentsFile(projectPath, filesCreated);
|
|
339
|
+
await createDefaultGithubFiles(projectPath, filesCreated);
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
/**
|
|
343
|
+
* Create default AGENTS.md if musubix package not found
|
|
344
|
+
*/
|
|
345
|
+
async function createDefaultAgentsFile(projectPath, filesCreated) {
|
|
346
|
+
const agentsContent = `# MUSUBIX Project - AI Coding Agent Guide
|
|
347
|
+
|
|
348
|
+
> **AI Coding Agent向け**: このファイルはAIエージェント(GitHub Copilot、Claude等)がプロジェクトを理解するためのガイドです。
|
|
349
|
+
|
|
350
|
+
## 🎯 プロジェクト概要
|
|
351
|
+
|
|
352
|
+
このプロジェクトは **MUSUBIX** (Neuro-Symbolic AI Coding System) を使用しています。
|
|
353
|
+
|
|
354
|
+
## 📋 9憲法条項(Constitutional Articles)
|
|
355
|
+
|
|
356
|
+
| Article | 原則 |
|
|
357
|
+
|---------|------|
|
|
358
|
+
| I | Library-First Architecture |
|
|
359
|
+
| II | CLI Interface Mandate |
|
|
360
|
+
| III | Test-First Development |
|
|
361
|
+
| IV | Project Memory |
|
|
362
|
+
| V | Traceability |
|
|
363
|
+
| VI | Agent Memory Format |
|
|
364
|
+
| VII | Simplicity Gate |
|
|
365
|
+
| VIII | Anti-Abstraction |
|
|
366
|
+
| IX | Integration Testing |
|
|
367
|
+
|
|
368
|
+
## 📂 プロジェクト構造
|
|
369
|
+
|
|
370
|
+
- \`steering/\` - プロジェクトメモリ(決定前に必ず参照)
|
|
371
|
+
- \`storage/specs/\` - 要件・設計・タスク仕様
|
|
372
|
+
- \`musubix.config.json\` - MUSUBIX設定
|
|
373
|
+
|
|
374
|
+
## 🛠️ MUSUBIX CLI
|
|
375
|
+
|
|
376
|
+
\`\`\`bash
|
|
377
|
+
npx musubix --help
|
|
378
|
+
npx musubix requirements analyze <file>
|
|
379
|
+
npx musubix design generate <file>
|
|
380
|
+
npx musubix codegen generate <file>
|
|
381
|
+
\`\`\`
|
|
382
|
+
|
|
383
|
+
---
|
|
384
|
+
|
|
385
|
+
**Generated by**: MUSUBIX v${VERSION}
|
|
386
|
+
**Date**: ${new Date().toISOString().split('T')[0]}
|
|
387
|
+
`;
|
|
388
|
+
await writeFile(join(projectPath, 'AGENTS.md'), agentsContent);
|
|
389
|
+
filesCreated.push('AGENTS.md');
|
|
390
|
+
}
|
|
391
|
+
/**
|
|
392
|
+
* Create default .github files
|
|
393
|
+
*/
|
|
394
|
+
async function createDefaultGithubFiles(projectPath, filesCreated) {
|
|
395
|
+
// Create .github/copilot-instructions.md
|
|
396
|
+
const copilotInstructions = `# GitHub Copilot Instructions
|
|
397
|
+
|
|
398
|
+
このプロジェクトは MUSUBIX (Neuro-Symbolic AI Coding System) を使用しています。
|
|
399
|
+
|
|
400
|
+
## 基本原則
|
|
401
|
+
|
|
402
|
+
1. **steering/ を参照**: 決定前にプロジェクトメモリを確認
|
|
403
|
+
2. **EARS形式**: 要件は EARS 形式で記述
|
|
404
|
+
3. **トレーサビリティ**: コードコメントに要件ID (REQ-*) を記載
|
|
405
|
+
4. **テスト先行**: Red-Green-Blue サイクルを遵守
|
|
406
|
+
|
|
407
|
+
## コマンド
|
|
408
|
+
|
|
409
|
+
\`\`\`bash
|
|
410
|
+
npx musubix requirements analyze <file>
|
|
411
|
+
npx musubix design generate <file>
|
|
412
|
+
npx musubix codegen generate <file>
|
|
413
|
+
npx musubix test generate <file>
|
|
414
|
+
\`\`\`
|
|
415
|
+
|
|
416
|
+
## 参照ドキュメント
|
|
417
|
+
|
|
418
|
+
- \`AGENTS.md\` - AI エージェントガイド
|
|
419
|
+
- \`steering/rules/constitution.md\` - 憲法条項
|
|
420
|
+
- \`steering/product.md\` - プロダクトコンテキスト
|
|
421
|
+
`;
|
|
422
|
+
await mkdir(join(projectPath, '.github'), { recursive: true });
|
|
423
|
+
await writeFile(join(projectPath, '.github', 'copilot-instructions.md'), copilotInstructions);
|
|
424
|
+
filesCreated.push('.github/copilot-instructions.md');
|
|
425
|
+
}
|
|
258
426
|
//# sourceMappingURL=init.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
|