claudeos-core 1.5.0 → 1.6.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.
- package/CHANGELOG.md +38 -0
- package/README.de.md +54 -27
- package/README.es.md +54 -26
- package/README.fr.md +54 -26
- package/README.hi.md +54 -27
- package/README.ja.md +53 -26
- package/README.ko.md +56 -29
- package/README.md +53 -26
- package/README.ru.md +54 -27
- package/README.vi.md +54 -27
- package/README.zh-CN.md +54 -27
- package/bin/cli.js +6 -2
- package/bin/commands/init.js +48 -46
- package/bin/lib/cli-utils.js +6 -10
- package/bin/lib/lang-selector.js +10 -8
- package/bin/lib/resume-selector.js +10 -8
- package/content-validator/index.js +7 -12
- package/health-checker/index.js +7 -17
- package/lib/plan-parser.js +149 -0
- package/lib/safe-fs.js +2 -2
- package/lib/stale-report.js +36 -0
- package/manifest-generator/index.js +13 -36
- package/package.json +87 -87
- package/pass-json-validator/index.js +7 -12
- package/pass-prompts/templates/node-nestjs/pass1.md +132 -0
- package/pass-prompts/templates/node-nestjs/pass2.md +97 -0
- package/pass-prompts/templates/node-nestjs/pass3.md +121 -0
- package/pass-prompts/templates/vue-nuxt/pass1.md +119 -0
- package/pass-prompts/templates/vue-nuxt/pass2.md +83 -0
- package/pass-prompts/templates/vue-nuxt/pass3.md +100 -0
- package/plan-installer/domain-grouper.js +5 -2
- package/plan-installer/prompt-generator.js +1 -4
- package/plan-installer/scanners/scan-frontend.js +14 -7
- package/plan-installer/scanners/scan-java.js +18 -13
- package/plan-installer/scanners/scan-kotlin.js +47 -23
- package/plan-installer/scanners/scan-node.js +16 -2
- package/plan-installer/stack-detector.js +42 -1
- package/plan-validator/index.js +11 -121
- package/sync-checker/index.js +6 -19
package/README.hi.md
CHANGED
|
@@ -65,14 +65,16 @@ ClaudeOS-Core ऐसा डॉक्यूमेंटेशन बनाता
|
|
|
65
65
|
|---|---|---|
|
|
66
66
|
| **Java / Spring Boot** | `build.gradle`, `pom.xml`, 5 पैकेज पैटर्न | 10 कैटेगरी, 59 सब-आइटम |
|
|
67
67
|
| **Kotlin / Spring Boot** | `build.gradle.kts`, kotlin plugin, `settings.gradle.kts`, CQRS/BFF auto-detect | 12 कैटेगरी, 95 सब-आइटम |
|
|
68
|
-
| **Node.js / Express
|
|
69
|
-
| **
|
|
68
|
+
| **Node.js / Express** | `package.json` | 9 कैटेगरी, 57 सब-आइटम |
|
|
69
|
+
| **Node.js / NestJS** | `package.json` (`@nestjs/core`) | 10 श्रेणियाँ, 68 उप-आइटम |
|
|
70
|
+
| **Next.js / React** | `package.json`, `next.config.*`, FSD सपोर्ट | 9 कैटेगरी, 55 सब-आइटम |
|
|
71
|
+
| **Vue / Nuxt** | `package.json`, `nuxt.config.*`, Composition API | 9 श्रेणियाँ, 58 उप-आइटम |
|
|
70
72
|
| **Python / Django** | `requirements.txt`, `pyproject.toml` | 10 कैटेगरी, 55 सब-आइटम |
|
|
71
73
|
| **Python / FastAPI** | `requirements.txt`, `pyproject.toml` | 10 कैटेगरी, 58 सब-आइटम |
|
|
72
74
|
| **Node.js / Fastify** | `package.json` | 10 कैटेगरी, 62 सब-आइटम |
|
|
73
75
|
| **Angular** | `package.json`, `angular.json` | 12 कैटेगरी, 78 सब-आइटम |
|
|
74
76
|
|
|
75
|
-
ऑटो-डिटेक्ट: भाषा और वर्शन, फ्रेमवर्क और वर्शन, ORM (MyBatis, JPA, Exposed, Prisma, TypeORM, SQLAlchemy, आदि), डेटाबेस (PostgreSQL, MySQL, Oracle, MongoDB, SQLite), पैकेज मैनेजर (Gradle, Maven, npm, yarn, pnpm, pip, poetry), आर्किटेक्चर (CQRS, BFF — मॉड्यूल नामों से पता लगाया), मल्टी-मॉड्यूल संरचना (settings.gradle से पता लगाया)।
|
|
77
|
+
ऑटो-डिटेक्ट: भाषा और वर्शन, फ्रेमवर्क और वर्शन, ORM (MyBatis, JPA, Exposed, Prisma, TypeORM, SQLAlchemy, आदि), डेटाबेस (PostgreSQL, MySQL, Oracle, MongoDB, SQLite), पैकेज मैनेजर (Gradle, Maven, npm, yarn, pnpm, pip, poetry), आर्किटेक्चर (CQRS, BFF — मॉड्यूल नामों से पता लगाया), मल्टी-मॉड्यूल संरचना (settings.gradle से पता लगाया), मोनोरेपो (Turborepo, pnpm-workspace, Lerna, npm/yarn workspaces)।
|
|
76
78
|
|
|
77
79
|
**आपको कुछ भी स्पेसिफाई करने की ज़रूरत नहीं। सब कुछ ऑटोमैटिकली डिटेक्ट होता है।**
|
|
78
80
|
|
|
@@ -87,7 +89,7 @@ ClaudeOS-Core ऐसा डॉक्यूमेंटेशन बनाता
|
|
|
87
89
|
| E | DDD/हेक्सागोनल | `{domain}/adapter/in/web/` | `user/adapter/in/web/UserController.java` |
|
|
88
90
|
| C | फ्लैट | `controller/*.java` | `controller/UserController.java` → क्लास नाम से `user` एक्सट्रैक्ट |
|
|
89
91
|
|
|
90
|
-
बिना Controller वाले सर्विस-ओनली डोमेन भी `service/`, `dao/`, `aggregator/`, `mapper/`, `repository/` डायरेक्टरी के ज़रिए डिटेक्ट होते हैं। स्किप: `common`, `config`, `util`, `core`, `front`, `admin`, `v1`, `v2` आदि।
|
|
92
|
+
बिना Controller वाले सर्विस-ओनली डोमेन भी `service/`, `dao/`, `aggregator/`, `facade/`, `usecase/`, `orchestrator/`, `mapper/`, `repository/` डायरेक्टरी के ज़रिए डिटेक्ट होते हैं। स्किप: `common`, `config`, `util`, `core`, `front`, `admin`, `v1`, `v2` आदि।
|
|
91
93
|
|
|
92
94
|
|
|
93
95
|
### Kotlin मल्टी-मॉड्यूल डोमेन डिटेक्शन
|
|
@@ -178,7 +180,7 @@ npx claudeos-core init --lang ko # 한국어
|
|
|
178
180
|
|
|
179
181
|
> **नोट:** यह केवल जनरेट होने वाली डॉक्यूमेंट फ़ाइलों की भाषा बदलता है। कोड एनालिसिस (Pass 1–2) हमेशा अंग्रेज़ी में चलता है; केवल जनरेट रिज़ल्ट (Pass 3) चुनी गई भाषा में लिखा जाता है।
|
|
180
182
|
|
|
181
|
-
बस इतना ही। 5–18 मिनट बाद, सारा डॉक्यूमेंटेशन जेनरेट होकर उपयोग के लिए तैयार है।
|
|
183
|
+
बस इतना ही। 5–18 मिनट बाद, सारा डॉक्यूमेंटेशन जेनरेट होकर उपयोग के लिए तैयार है। CLI प्रत्येक Pass का बीता समय और कुल समय पूर्ण बैनर में दिखाता है।
|
|
182
184
|
|
|
183
185
|
### मैन्युअल स्टेप-बाय-स्टेप इंस्टॉलेशन
|
|
184
186
|
|
|
@@ -527,6 +529,15 @@ Use both together.
|
|
|
527
529
|
**प्र: मिक्स्ड-स्टैक प्रोजेक्ट्स (जैसे: Java बैकएंड + React फ्रंटएंड) का क्या?**
|
|
528
530
|
पूर्ण सपोर्ट। ClaudeOS-Core दोनों स्टैक्स ऑटो-डिटेक्ट करता है, डोमेन को `backend` या `frontend` टैग करता है, और प्रत्येक के लिए स्टैक-स्पेसिफिक विश्लेषण प्रॉम्प्ट्स उपयोग करता है। Pass 2 सब कुछ मर्ज करता है, और Pass 3 एक pass में बैकएंड और फ्रंटएंड दोनों स्टैंडर्ड्स जेनरेट करता है।
|
|
529
531
|
|
|
532
|
+
**प्र: क्या यह Turborepo / pnpm workspaces / Lerna monorepo के साथ काम करता है?**
|
|
533
|
+
हाँ। ClaudeOS-Core `turbo.json`, `pnpm-workspace.yaml`, `lerna.json`, या `package.json#workspaces` को डिटेक्ट करता है और फ्रेमवर्क/ORM/DB डिपेंडेंसी के लिए सब-पैकेज `package.json` फाइलें ऑटोमैटिकली स्कैन करता है। डोमेन स्कैनिंग `apps/*/src/` और `packages/*/src/` पैटर्न को कवर करती है। मोनोरेपो रूट से रन करें।
|
|
534
|
+
|
|
535
|
+
**प्र: NestJS को अपना टेम्पलेट मिलता है या Express वाला उपयोग होता है?**
|
|
536
|
+
NestJS एक समर्पित `node-nestjs` टेम्पलेट उपयोग करता है जिसमें NestJS-विशिष्ट विश्लेषण श्रेणियाँ हैं: `@Module`, `@Injectable`, `@Controller` डेकोरेटर, Guards, Pipes, Interceptors, DI container, CQRS पैटर्न, और `Test.createTestingModule`। Express प्रोजेक्ट अलग `node-express` टेम्पलेट उपयोग करते हैं।
|
|
537
|
+
|
|
538
|
+
**प्र: Vue / Nuxt प्रोजेक्ट्स के बारे में क्या?**
|
|
539
|
+
Vue/Nuxt एक समर्पित `vue-nuxt` टेम्पलेट उपयोग करता है जो Composition API, `<script setup>`, defineProps/defineEmits, Pinia stores, `useFetch`/`useAsyncData`, Nitro server routes, और `@nuxt/test-utils` को कवर करता है। Next.js/React प्रोजेक्ट `node-nextjs` टेम्पलेट उपयोग करते हैं।
|
|
540
|
+
|
|
530
541
|
**प्र: दोबारा रन करने पर क्या होता है?**
|
|
531
542
|
यदि पिछले Pass 1/2 के रिज़ल्ट मौजूद हैं, तो इंटरैक्टिव प्रॉम्प्ट आपको चुनने देता है: **Continue** (जहाँ रुका था वहाँ से जारी रखें) या **Fresh** (सब डिलीट करके नए सिरे से शुरू करें)। `--force` का उपयोग करें ताकि प्रॉम्प्ट स्किप हो और हमेशा नए सिरे से शुरू हो। Pass 3 हमेशा दोबारा रन होता है। पिछले वर्शन Master Plans से रीस्टोर किए जा सकते हैं।
|
|
532
543
|
|
|
@@ -548,50 +559,66 @@ pass-prompts/templates/
|
|
|
548
559
|
├── common/ # शेयर्ड हेडर/फुटर
|
|
549
560
|
├── java-spring/ # Java / Spring Boot
|
|
550
561
|
├── kotlin-spring/ # Kotlin / Spring Boot (CQRS, BFF, multi-module)
|
|
551
|
-
├── node-express/ # Node.js / Express
|
|
552
|
-
├── node-
|
|
553
|
-
├── python-django/ # Python / Django (DRF)
|
|
562
|
+
├── node-express/ # Node.js / Express
|
|
563
|
+
├── node-nestjs/ # Node.js / NestJS (Module, DI, Guard, Pipe, Interceptor)
|
|
554
564
|
├── node-fastify/ # Node.js / Fastify
|
|
565
|
+
├── node-nextjs/ # Next.js / React
|
|
566
|
+
├── vue-nuxt/ # Vue / Nuxt (Composition API, Pinia, Nitro)
|
|
555
567
|
├── angular/ # Angular
|
|
568
|
+
├── python-django/ # Python / Django (DRF)
|
|
556
569
|
└── python-fastapi/ # Python / FastAPI
|
|
557
570
|
```
|
|
558
571
|
|
|
559
|
-
`plan-installer` ऑटोमैटिकली आपके स्टैक(स) डिटेक्ट करता है, फिर टाइप-स्पेसिफिक प्रॉम्प्ट्स असेंबल करता है। मल्टी-स्टैक प्रोजेक्ट्स के लिए, `pass1-backend-prompt.md` और `pass1-frontend-prompt.md` अलग-अलग जेनरेट होते हैं, जबकि `pass3-prompt.md` दोनों स्टैक्स के जेनरेशन टारगेट्स को कंबाइन करता है।
|
|
572
|
+
`plan-installer` ऑटोमैटिकली आपके स्टैक(स) डिटेक्ट करता है, फिर टाइप-स्पेसिफिक प्रॉम्प्ट्स असेंबल करता है। NestJS और Vue/Nuxt फ्रेमवर्क-विशिष्ट विश्लेषण श्रेणियों के साथ समर्पित टेम्पलेट का उपयोग करते हैं। मल्टी-स्टैक प्रोजेक्ट्स के लिए, `pass1-backend-prompt.md` और `pass1-frontend-prompt.md` अलग-अलग जेनरेट होते हैं, जबकि `pass3-prompt.md` दोनों स्टैक्स के जेनरेशन टारगेट्स को कंबाइन करता है।
|
|
560
573
|
|
|
561
574
|
---
|
|
562
575
|
|
|
563
576
|
## Monorepo सपोर्ट
|
|
564
577
|
|
|
565
|
-
ClaudeOS-Core
|
|
578
|
+
ClaudeOS-Core JS/TS मोनोरेपो सेटअप को ऑटोमैटिकली डिटेक्ट करता है और सब-पैकेज की डिपेंडेंसी स्कैन करता है।
|
|
566
579
|
|
|
567
|
-
|
|
580
|
+
**सपोर्टेड मोनोरेपो मार्कर** (ऑटो-डिटेक्टेड):
|
|
581
|
+
- `turbo.json` (Turborepo)
|
|
582
|
+
- `pnpm-workspace.yaml` (pnpm workspaces)
|
|
583
|
+
- `lerna.json` (Lerna)
|
|
584
|
+
- `package.json#workspaces` (npm/yarn workspaces)
|
|
568
585
|
|
|
569
|
-
|
|
570
|
-
# उदाहरण: Turborepo का apps/my-app
|
|
571
|
-
cd apps/my-app
|
|
572
|
-
npx claudeos-core init
|
|
586
|
+
**मोनोरेपो रूट से रन करें** — ClaudeOS-Core सब-पैकेज में फ्रेमवर्क/ORM/DB डिपेंडेंसी खोजने के लिए `apps/*/package.json` और `packages/*/package.json` पढ़ता है:
|
|
573
587
|
|
|
574
|
-
|
|
575
|
-
cd
|
|
588
|
+
```bash
|
|
589
|
+
cd my-monorepo
|
|
576
590
|
npx claudeos-core init
|
|
577
591
|
```
|
|
578
592
|
|
|
579
|
-
|
|
593
|
+
**क्या डिटेक्ट होता है:**
|
|
594
|
+
- `apps/web/package.json` से डिपेंडेंसी (जैसे `next`, `react`) → frontend stack
|
|
595
|
+
- `apps/api/package.json` से डिपेंडेंसी (जैसे `express`, `prisma`) → backend stack
|
|
596
|
+
- `packages/db/package.json` से डिपेंडेंसी (जैसे `drizzle-orm`) → ORM/DB
|
|
597
|
+
- `pnpm-workspace.yaml` से कस्टम workspace paths (जैसे `services/*`)
|
|
580
598
|
|
|
581
|
-
|
|
599
|
+
**डोमेन स्कैनिंग मोनोरेपो लेआउट भी कवर करती है:**
|
|
600
|
+
- बैकएंड डोमेन के लिए `apps/api/src/modules/*/` और `apps/api/src/*/`
|
|
601
|
+
- फ्रंटएंड डोमेन के लिए `apps/web/app/*/`, `apps/web/src/app/*/`, `apps/web/pages/*/`
|
|
602
|
+
- शेयर्ड पैकेज डोमेन के लिए `packages/*/src/*/`
|
|
582
603
|
|
|
583
604
|
```
|
|
584
|
-
my-monorepo/ ← यहाँ रन
|
|
605
|
+
my-monorepo/ ← यहाँ रन करें: npx claudeos-core init
|
|
606
|
+
├── turbo.json ← Turborepo ऑटो-डिटेक्ट
|
|
585
607
|
├── apps/
|
|
586
|
-
│ ├── web/ ←
|
|
587
|
-
│ ├──
|
|
588
|
-
│ └──
|
|
608
|
+
│ ├── web/ ← apps/web/package.json से Next.js डिटेक्ट
|
|
609
|
+
│ │ ├── app/dashboard/ ← Frontend domain detected
|
|
610
|
+
│ │ └── package.json ← { "dependencies": { "next": "^14" } }
|
|
611
|
+
│ └── api/ ← apps/api/package.json से Express डिटेक्ट
|
|
612
|
+
│ ├── src/modules/users/ ← Backend domain detected
|
|
613
|
+
│ └── package.json ← { "dependencies": { "express": "^4" } }
|
|
589
614
|
├── packages/
|
|
590
|
-
│ ├──
|
|
591
|
-
│ └──
|
|
592
|
-
└── package.json ←
|
|
615
|
+
│ ├── db/ ← packages/db/package.json से Drizzle डिटेक्ट
|
|
616
|
+
│ └── ui/
|
|
617
|
+
└── package.json ← { "workspaces": ["apps/*", "packages/*"] }
|
|
593
618
|
```
|
|
594
619
|
|
|
620
|
+
> **नोट:** Kotlin/Java मोनोरेपो के लिए, मल्टी-मॉड्यूल डिटेक्शन `settings.gradle.kts` का उपयोग करती है (ऊपर [Kotlin मल्टी-मॉड्यूल डोमेन डिटेक्शन](#kotlin-मल्टी-मॉड्यूल-डोमेन-डिटेक्शन) देखें) और JS मोनोरेपो मार्कर की आवश्यकता नहीं है।
|
|
621
|
+
|
|
595
622
|
## ट्रबलशूटिंग
|
|
596
623
|
|
|
597
624
|
**"claude: command not found"** — Claude Code CLI इंस्टॉल नहीं है या PATH में नहीं है। [Claude Code डॉक्स](https://code.claude.com/docs/en/overview) देखें।
|
|
@@ -614,7 +641,7 @@ my-monorepo/ ← यहाँ रन न करें (रू
|
|
|
614
641
|
|
|
615
642
|
- **नए स्टैक टेम्पलेट्स** — Ruby/Rails, Go/Gin, PHP/Laravel, Rust/Axum
|
|
616
643
|
- **Monorepo डीप सपोर्ट** — अलग सब-प्रोजेक्ट roots, वर्कस्पेस डिटेक्शन
|
|
617
|
-
- **टेस्ट कवरेज** — टेस्ट सूट का विस्तार जारी (वर्तमान में
|
|
644
|
+
- **टेस्ट कवरेज** — टेस्ट सूट का विस्तार जारी (वर्तमान में 256 टेस्ट, सभी स्कैनर, स्टैक डिटेक्शन, डोमेन ग्रुपिंग, प्लान पार्सिंग, प्रॉम्प्ट जेनरेशन, CLI सेलेक्टर, मोनोरेपो डिटेक्शन और वेरिफिकेशन टूल्स कवर)
|
|
618
645
|
|
|
619
646
|
---
|
|
620
647
|
|
package/README.ja.md
CHANGED
|
@@ -75,14 +75,16 @@ ClaudeOS-Core は、プロジェクトが `ApiResponse.ok()` を使用してい
|
|
|
75
75
|
|---|---|---|
|
|
76
76
|
| **Java / Spring Boot** | `build.gradle`、`pom.xml`、5パッケージパターン | 10 大分類、59 小項目 |
|
|
77
77
|
| **Kotlin / Spring Boot** | `build.gradle.kts`, kotlin plugin, `settings.gradle.kts`, CQRS/BFF auto-detect | 12 大分類, 95 小項目 |
|
|
78
|
-
| **Node.js / Express
|
|
79
|
-
| **
|
|
78
|
+
| **Node.js / Express** | `package.json` | 9 大分類、57 小項目 |
|
|
79
|
+
| **Node.js / NestJS** | `package.json` (`@nestjs/core`) | 10 大分類、68 小項目 |
|
|
80
|
+
| **Next.js / React** | `package.json`、`next.config.*`、FSD サポート | 9 大分類、55 小項目 |
|
|
81
|
+
| **Vue / Nuxt** | `package.json`、`nuxt.config.*`、Composition API | 9 大分類、58 小項目 |
|
|
80
82
|
| **Python / Django** | `requirements.txt`、`pyproject.toml` | 10 大分類、55 小項目 |
|
|
81
83
|
| **Python / FastAPI** | `requirements.txt`、`pyproject.toml` | 10 大分類、58 小項目 |
|
|
82
84
|
| **Node.js / Fastify** | `package.json` | 10 大分類、62 小項目 |
|
|
83
85
|
| **Angular** | `package.json`、`angular.json` | 12 大分類、78 小項目 |
|
|
84
86
|
|
|
85
|
-
自動検出対象:言語とバージョン、フレームワークとバージョン、ORM(MyBatis、JPA、Exposed、Prisma、TypeORM、SQLAlchemy 等)、データベース(PostgreSQL、MySQL、Oracle、MongoDB、SQLite)、パッケージマネージャー(Gradle、Maven、npm、yarn、pnpm、pip、poetry)、アーキテクチャ(CQRS、BFF — モジュール名から検出)、マルチモジュール構造(settings.gradle
|
|
87
|
+
自動検出対象:言語とバージョン、フレームワークとバージョン、ORM(MyBatis、JPA、Exposed、Prisma、TypeORM、SQLAlchemy 等)、データベース(PostgreSQL、MySQL、Oracle、MongoDB、SQLite)、パッケージマネージャー(Gradle、Maven、npm、yarn、pnpm、pip、poetry)、アーキテクチャ(CQRS、BFF — モジュール名から検出)、マルチモジュール構造(settings.gradleから検出)、モノレポ(Turborepo、pnpm-workspace、Lerna、npm/yarn workspaces)。
|
|
86
88
|
|
|
87
89
|
**何も指定する必要はありません。すべて自動検出されます。**
|
|
88
90
|
|
|
@@ -97,7 +99,7 @@ ClaudeOS-Core は、プロジェクトが `ApiResponse.ok()` を使用してい
|
|
|
97
99
|
| E | DDD/ヘキサゴナル | `{domain}/adapter/in/web/` | `user/adapter/in/web/UserController.java` |
|
|
98
100
|
| C | フラット | `controller/*.java` | `controller/UserController.java` → クラス名から `user` を抽出 |
|
|
99
101
|
|
|
100
|
-
Controller のないサービスのみのドメインも `service/`、`dao/`、`aggregator/`、`mapper/`、`repository/` ディレクトリを通じて検出されます。スキップ:`common`、`config`、`util`、`core`、`front`、`admin`、`v1`、`v2` など。
|
|
102
|
+
Controller のないサービスのみのドメインも `service/`、`dao/`、`aggregator/`、`facade/`、`usecase/`、`orchestrator/`、`mapper/`、`repository/` ディレクトリを通じて検出されます。スキップ:`common`、`config`、`util`、`core`、`front`、`admin`、`v1`、`v2` など。
|
|
101
103
|
|
|
102
104
|
|
|
103
105
|
### Kotlin マルチモジュールドメイン検出
|
|
@@ -189,7 +191,7 @@ npx claudeos-core init --lang ko # 한국어
|
|
|
189
191
|
|
|
190
192
|
> **注意:** この設定は生成されるドキュメントファイルの言語のみを変更します。コード分析(Pass 1–2)は常に英語で実行され、生成結果(Pass 3)のみ選択した言語で作成されます。コード例は元のプログラミング言語構文のまま維持されます。
|
|
191
193
|
|
|
192
|
-
これだけです。5–18 分後、すべてのドキュメントが生成され、すぐに使えます。
|
|
194
|
+
これだけです。5–18 分後、すべてのドキュメントが生成され、すぐに使えます。CLIは各Passの経過時間と合計時間を完了バナーに表示します。
|
|
193
195
|
|
|
194
196
|
### 手動ステップバイステップインストール
|
|
195
197
|
|
|
@@ -549,6 +551,15 @@ ClaudeOS-Core でプロジェクトルールを生成し、その上に ECC や
|
|
|
549
551
|
**Q:再実行するとどうなりますか?**
|
|
550
552
|
以前の Pass 1/2 の結果が存在する場合、インタラクティブプロンプトが表示されます:**Continue**(中断した箇所から再開)または **Fresh**(すべて削除して最初からやり直し)。`--force` を使用するとプロンプトをスキップし、常に最初からやり直します。Pass 3 は常に再実行されます。以前のバージョンは Master Plans から復元できます。
|
|
551
553
|
|
|
554
|
+
**Q:NestJSはExpressと同じテンプレートを使用しますか?**
|
|
555
|
+
NestJSは専用の`node-nestjs`テンプレートを使用し、NestJS固有の分析カテゴリ(`@Module`、`@Injectable`、`@Controller`デコレータ、Guards、Pipes、Interceptors、DIコンテナ、CQRSパターン、`Test.createTestingModule`)を含みます。Expressプロジェクトは別の`node-express`テンプレートを使用します。
|
|
556
|
+
|
|
557
|
+
**Q:Vue/Nuxtプロジェクトはどうですか?**
|
|
558
|
+
Vue/Nuxtは専用の`vue-nuxt`テンプレートを使用し、Composition API、`<script setup>`、defineProps/defineEmits、Piniaストア、`useFetch`/`useAsyncData`、Nitroサーバールート、`@nuxt/test-utils`をカバーします。Next.js/Reactプロジェクトは`node-nextjs`テンプレートを使用します。
|
|
559
|
+
|
|
560
|
+
**Q:Turborepo/pnpm workspaces/Lernaモノレポで動作しますか?**
|
|
561
|
+
はい。ClaudeOS-Coreは`turbo.json`、`pnpm-workspace.yaml`、`lerna.json`、または`package.json#workspaces`を検出し、サブパッケージの`package.json`ファイルからフレームワーク/ORM/DB依存関係を自動スキャンします。ドメインスキャンは`apps/*/src/`と`packages/*/src/`パターンに対応します。モノレポルートから実行してください。
|
|
562
|
+
|
|
552
563
|
**Q:Kotlinはサポートしていますか?**
|
|
553
564
|
はい。ClaudeOS-Coreは`build.gradle.kts`またはkotlinプラグインのある`build.gradle`からKotlinを自動検出します。Kotlin専用の`kotlin-spring`テンプレートを使用して、data class、sealed class、コルーチン、拡張関数、MockKなどKotlin固有のパターンを分析します。
|
|
554
565
|
|
|
@@ -567,50 +578,66 @@ pass-prompts/templates/
|
|
|
567
578
|
├── common/ # 共有ヘッダー/フッター
|
|
568
579
|
├── java-spring/ # Java / Spring Boot
|
|
569
580
|
├── kotlin-spring/ # Kotlin / Spring Boot (CQRS, BFF, multi-module)
|
|
570
|
-
├── node-express/ # Node.js / Express
|
|
571
|
-
├── node-
|
|
581
|
+
├── node-express/ # Node.js / Express
|
|
582
|
+
├── node-nestjs/ # Node.js / NestJS (Module, DI, Guard, Pipe, Interceptor)
|
|
583
|
+
├── node-nextjs/ # Next.js / React
|
|
584
|
+
├── vue-nuxt/ # Vue / Nuxt (Composition API, Pinia, Nitro)
|
|
572
585
|
├── python-django/ # Python / Django (DRF)
|
|
573
586
|
├── node-fastify/ # Node.js / Fastify
|
|
574
587
|
├── angular/ # Angular
|
|
575
588
|
└── python-fastapi/ # Python / FastAPI
|
|
576
589
|
```
|
|
577
590
|
|
|
578
|
-
`plan-installer`
|
|
591
|
+
`plan-installer` がスタックを自動検出し、タイプ固有のプロンプトを組み立てます。NestJSとVue/Nuxtはフレームワーク固有の分析カテゴリを含む専用テンプレートを使用します(例:NestJSの`@Module`/`@Injectable`/Guards、Vueの`<script setup>`/Pinia/useFetch)。マルチスタックプロジェクトでは、`pass1-backend-prompt.md` と `pass1-frontend-prompt.md` が個別に生成され、`pass3-prompt.md` は両方のスタックの生成ターゲットを統合します。
|
|
579
592
|
|
|
580
593
|
---
|
|
581
594
|
|
|
582
595
|
## Monorepo サポート
|
|
583
596
|
|
|
584
|
-
ClaudeOS-Core
|
|
597
|
+
ClaudeOS-Core はJS/TSモノレポ構成を自動検出し、サブパッケージの依存関係をスキャンします。
|
|
585
598
|
|
|
586
|
-
|
|
599
|
+
**サポートされるモノレポマーカー**(自動検出):
|
|
600
|
+
- `turbo.json`(Turborepo)
|
|
601
|
+
- `pnpm-workspace.yaml`(pnpm workspaces)
|
|
602
|
+
- `lerna.json`(Lerna)
|
|
603
|
+
- `package.json#workspaces`(npm/yarn workspaces)
|
|
587
604
|
|
|
588
|
-
|
|
589
|
-
# 例:Turborepo の apps/my-app
|
|
590
|
-
cd apps/my-app
|
|
591
|
-
npx claudeos-core init
|
|
605
|
+
**モノレポルートから実行してください** — ClaudeOS-Core は `apps/*/package.json` と `packages/*/package.json` を読み取り、サブパッケージ全体のフレームワーク/ORM/DB依存関係を検出します:
|
|
592
606
|
|
|
593
|
-
|
|
594
|
-
cd
|
|
607
|
+
```bash
|
|
608
|
+
cd my-monorepo
|
|
595
609
|
npx claudeos-core init
|
|
596
610
|
```
|
|
597
611
|
|
|
598
|
-
|
|
612
|
+
**検出される内容:**
|
|
613
|
+
- `apps/web/package.json` の依存関係(例:`next`、`react`)→ フロントエンドスタック
|
|
614
|
+
- `apps/api/package.json` の依存関係(例:`express`、`prisma`)→ バックエンドスタック
|
|
615
|
+
- `packages/db/package.json` の依存関係(例:`drizzle-orm`)→ ORM/DB
|
|
616
|
+
- `pnpm-workspace.yaml` のカスタムワークスペースパス(例:`services/*`)
|
|
599
617
|
|
|
600
|
-
|
|
618
|
+
**ドメインスキャンもモノレポレイアウトに対応:**
|
|
619
|
+
- `apps/api/src/modules/*/` と `apps/api/src/*/` でバックエンドドメインを検出
|
|
620
|
+
- `apps/web/app/*/`、`apps/web/src/app/*/`、`apps/web/pages/*/` でフロントエンドドメインを検出
|
|
621
|
+
- `packages/*/src/*/` で共有パッケージドメインを検出
|
|
601
622
|
|
|
602
623
|
```
|
|
603
|
-
my-monorepo/ ←
|
|
624
|
+
my-monorepo/ ← ここで実行:npx claudeos-core init
|
|
625
|
+
├── turbo.json ← Turborepo として自動検出
|
|
604
626
|
├── apps/
|
|
605
|
-
│ ├── web/ ←
|
|
606
|
-
│ ├──
|
|
607
|
-
│ └──
|
|
627
|
+
│ ├── web/ ← apps/web/package.json から Next.js を検出
|
|
628
|
+
│ │ ├── app/dashboard/ ← フロントエンドドメインを検出
|
|
629
|
+
│ │ └── package.json ← { "dependencies": { "next": "^14" } }
|
|
630
|
+
│ └── api/ ← apps/api/package.json から Express を検出
|
|
631
|
+
│ ├── src/modules/users/ ← バックエンドドメインを検出
|
|
632
|
+
│ └── package.json ← { "dependencies": { "express": "^4" } }
|
|
608
633
|
├── packages/
|
|
609
|
-
│ ├──
|
|
610
|
-
│ └──
|
|
611
|
-
└── package.json ←
|
|
634
|
+
│ ├── db/ ← packages/db/package.json から Drizzle を検出
|
|
635
|
+
│ └── ui/
|
|
636
|
+
└── package.json ← { "workspaces": ["apps/*", "packages/*"] }
|
|
612
637
|
```
|
|
613
638
|
|
|
639
|
+
> **注意:** Kotlin/Javaモノレポの場合、マルチモジュール検出は `settings.gradle.kts` を使用します(上記の[Kotlin マルチモジュールドメイン検出](#kotlin-マルチモジュールドメイン検出)を参照)。JSモノレポマーカーは不要です。
|
|
640
|
+
|
|
614
641
|
## トラブルシューティング
|
|
615
642
|
|
|
616
643
|
**"claude: command not found"** — Claude Code CLI がインストールされていないか、PATH に含まれていません。[Claude Code ドキュメント](https://code.claude.com/docs/en/overview)を参照してください。
|
|
@@ -633,7 +660,7 @@ my-monorepo/ ← ここでは実行しないでください
|
|
|
633
660
|
|
|
634
661
|
- **新しいスタックテンプレート** — Ruby/Rails、Go/Gin、PHP/Laravel、Rust/Axum
|
|
635
662
|
- **Monorepo の深いサポート** — 独立したサブプロジェクトルート、ワークスペース検出
|
|
636
|
-
- **テストカバレッジ** — テストスイート拡大中(現在
|
|
663
|
+
- **テストカバレッジ** — テストスイート拡大中(現在 256 テスト、全スキャナー、スタック検出、ドメイングルーピング、プラン解析、プロンプト生成、CLIセレクター、モノレポ検出、検証ツールをカバー)
|
|
637
664
|
|
|
638
665
|
---
|
|
639
666
|
|
package/README.ko.md
CHANGED
|
@@ -76,14 +76,16 @@ ClaudeOS-Core는 프로젝트가 `ApiResponse.ok()`를 쓴다는 것, MyBatis XM
|
|
|
76
76
|
|---|---|---|
|
|
77
77
|
| **Java / Spring Boot** | `build.gradle`, `pom.xml`, 5가지 패키지 패턴 | 10개 대분류, 59개 소분류 |
|
|
78
78
|
| **Kotlin / Spring Boot** | `build.gradle.kts`, kotlin 플러그인, `settings.gradle.kts`, CQRS/BFF 자동감지 | 12개 대분류, 95개 소분류 |
|
|
79
|
-
| **Node.js / Express
|
|
80
|
-
| **
|
|
79
|
+
| **Node.js / Express** | `package.json` | 9개 대분류, 57개 소분류 |
|
|
80
|
+
| **Node.js / NestJS** | `package.json` (`@nestjs/core`) | 10개 대분류, 68개 소분류 |
|
|
81
|
+
| **Next.js / React** | `package.json`, `next.config.*`, FSD 지원 | 9개 대분류, 55개 소분류 |
|
|
82
|
+
| **Vue / Nuxt** | `package.json`, `nuxt.config.*`, Composition API | 9개 대분류, 58개 소분류 |
|
|
81
83
|
| **Python / Django** | `requirements.txt`, `pyproject.toml` | 10개 대분류, 55개 소분류 |
|
|
82
84
|
| **Python / FastAPI** | `requirements.txt`, `pyproject.toml` | 10개 대분류, 58개 소분류 |
|
|
83
85
|
| **Node.js / Fastify** | `package.json` | 10개 대분류, 62개 소분류 |
|
|
84
86
|
| **Angular** | `package.json`, `angular.json` | 12개 대분류, 78개 소분류 |
|
|
85
87
|
|
|
86
|
-
자동 감지 항목: 언어 & 버전, 프레임워크 & 버전, ORM (MyBatis, JPA, Exposed, Prisma, TypeORM, SQLAlchemy 등), 데이터베이스 (PostgreSQL, MySQL, Oracle, MongoDB, SQLite), 패키지 매니저 (Gradle, Maven, npm, yarn, pnpm, pip, poetry), 아키텍처 (CQRS, BFF — 모듈명에서 감지), 멀티모듈 구조 (settings.gradle에서 감지).
|
|
88
|
+
자동 감지 항목: 언어 & 버전, 프레임워크 & 버전, ORM (MyBatis, JPA, Exposed, Prisma, TypeORM, SQLAlchemy 등), 데이터베이스 (PostgreSQL, MySQL, Oracle, MongoDB, SQLite), 패키지 매니저 (Gradle, Maven, npm, yarn, pnpm, pip, poetry), 아키텍처 (CQRS, BFF — 모듈명에서 감지), 멀티모듈 구조 (settings.gradle에서 감지), 모노레포 (Turborepo, pnpm-workspace, Lerna, npm/yarn workspaces).
|
|
87
89
|
|
|
88
90
|
**직접 지정할 필요 없습니다. 전부 자동으로 감지합니다.**
|
|
89
91
|
|
|
@@ -97,7 +99,7 @@ ClaudeOS-Core는 프로젝트가 `ApiResponse.ok()`를 쓴다는 것, MyBatis XM
|
|
|
97
99
|
| E | DDD/헥사고날 | `{domain}/adapter/in/web/` | `user/adapter/in/web/UserController.java` |
|
|
98
100
|
| C | 플랫 | `controller/*.java` | `controller/UserController.java` → 클래스명에서 `user` 추출 |
|
|
99
101
|
|
|
100
|
-
Controller 없는 서비스 전용 도메인도 `service/`, `dao/`, `aggregator/`, `mapper/`, `repository/` 디렉토리를 통해 감지됩니다. 스킵: `common`, `config`, `util`, `core`, `front`, `admin`, `v1`, `v2` 등.
|
|
102
|
+
Controller 없는 서비스 전용 도메인도 `service/`, `dao/`, `aggregator/`, `facade/`, `usecase/`, `orchestrator/`, `mapper/`, `repository/` 디렉토리를 통해 감지됩니다. 스킵: `common`, `config`, `util`, `core`, `front`, `admin`, `v1`, `v2` 등.
|
|
101
103
|
|
|
102
104
|
|
|
103
105
|
### Kotlin 멀티모듈 도메인 감지
|
|
@@ -188,7 +190,7 @@ npx claudeos-core init --lang ja # 日本語
|
|
|
188
190
|
|
|
189
191
|
> **참고:** 이 설정은 생성되는 문서 파일의 언어만 변경합니다. 코드 분석(Pass 1–2)은 항상 영어로 실행되며, 생성 결과(Pass 3)만 선택한 언어로 작성됩니다. 코드 예시는 원래 프로그래밍 언어 구문 그대로 유지됩니다.
|
|
190
192
|
|
|
191
|
-
이게 전부입니다. 5–18분 후 모든 문서가 생성되어 바로 사용 가능합니다.
|
|
193
|
+
이게 전부입니다. 5–18분 후 모든 문서가 생성되어 바로 사용 가능합니다. CLI가 각 Pass별 소요시간과 총 소요시간을 완료 배너에 표시합니다.
|
|
192
194
|
|
|
193
195
|
### 수동 단계별 설치
|
|
194
196
|
|
|
@@ -566,6 +568,15 @@ ClaudeOS-Core로 프로젝트 규칙을 생성한 뒤, ECC나 Harness를 그 위
|
|
|
566
568
|
**Q: 재실행하면 어떻게 되나요?**
|
|
567
569
|
이전 Pass 1/2 결과가 존재하면 인터랙티브 프롬프트가 표시됩니다: **Continue** (중단된 곳에서 재개) 또는 **Fresh** (전부 삭제 후 새로 시작). `--force`를 사용하면 프롬프트 없이 항상 새로 시작합니다. Pass 3는 항상 재실행됩니다. 이전 버전은 Master Plans에서 복원할 수 있습니다.
|
|
568
570
|
|
|
571
|
+
**Q: NestJS는 전용 템플릿이 있나요, 아니면 Express 템플릿을 사용하나요?**
|
|
572
|
+
NestJS는 NestJS 전용 분석 카테고리가 포함된 `node-nestjs` 전용 템플릿을 사용합니다: `@Module`, `@Injectable`, `@Controller` 데코레이터, Guards, Pipes, Interceptors, DI 컨테이너, CQRS 패턴, `Test.createTestingModule`. Express 프로젝트는 별도의 `node-express` 템플릿을 사용합니다.
|
|
573
|
+
|
|
574
|
+
**Q: Vue / Nuxt 프로젝트는?**
|
|
575
|
+
Vue/Nuxt는 Composition API, `<script setup>`, defineProps/defineEmits, Pinia 스토어, `useFetch`/`useAsyncData`, Nitro 서버 라우트, `@nuxt/test-utils`를 커버하는 `vue-nuxt` 전용 템플릿을 사용합니다. Next.js/React 프로젝트는 `node-nextjs` 템플릿을 사용합니다.
|
|
576
|
+
|
|
577
|
+
**Q: Turborepo / pnpm workspaces / Lerna 모노레포에서도 작동하나요?**
|
|
578
|
+
네. ClaudeOS-Core는 `turbo.json`, `pnpm-workspace.yaml`, `lerna.json`, `package.json#workspaces`를 감지하고 서브 패키지 `package.json`에서 프레임워크/ORM/DB 의존성을 자동으로 스캔합니다. 도메인 스캔은 `apps/*/src/`와 `packages/*/src/` 패턴을 지원합니다. 모노레포 루트에서 실행하세요.
|
|
579
|
+
|
|
569
580
|
**Q: Kotlin을 지원하나요?**
|
|
570
581
|
네. ClaudeOS-Core는 `build.gradle.kts` 또는 `build.gradle`의 kotlin 플러그인에서 Kotlin을 자동 감지합니다. Kotlin 전용 `kotlin-spring` 템플릿을 사용하여 data class, sealed class, 코루틴, 확장 함수, MockK 등 Kotlin 고유 패턴을 분석합니다.
|
|
571
582
|
|
|
@@ -581,53 +592,69 @@ ClaudeOS-Core는 중첩 깊이에 관계없이 모든 서브모듈(`**/src/main/
|
|
|
581
592
|
|
|
582
593
|
```
|
|
583
594
|
pass-prompts/templates/
|
|
584
|
-
├── common/ #
|
|
595
|
+
├── common/ # Shared header/footer
|
|
585
596
|
├── java-spring/ # Java / Spring Boot
|
|
586
|
-
├── kotlin-spring/ # Kotlin / Spring Boot (CQRS, BFF,
|
|
587
|
-
├── node-express/ # Node.js / Express
|
|
588
|
-
├── node-
|
|
589
|
-
├── python-django/ # Python / Django (DRF)
|
|
597
|
+
├── kotlin-spring/ # Kotlin / Spring Boot (CQRS, BFF, multi-module)
|
|
598
|
+
├── node-express/ # Node.js / Express
|
|
599
|
+
├── node-nestjs/ # Node.js / NestJS (Module, DI, Guard, Pipe, Interceptor)
|
|
590
600
|
├── node-fastify/ # Node.js / Fastify
|
|
601
|
+
├── node-nextjs/ # Next.js / React
|
|
602
|
+
├── vue-nuxt/ # Vue / Nuxt (Composition API, Pinia, Nitro)
|
|
591
603
|
├── angular/ # Angular
|
|
604
|
+
├── python-django/ # Python / Django (DRF)
|
|
592
605
|
└── python-fastapi/ # Python / FastAPI
|
|
593
606
|
```
|
|
594
607
|
|
|
595
|
-
`plan-installer`가 스택을 자동 감지한 후 타입별 프롬프트를 조합합니다. 멀티스택 프로젝트에서는 `pass1-backend-prompt.md`와 `pass1-frontend-prompt.md`가 별도로 생성되고, `pass3-prompt.md`는 두 스택의 생성 대상을 결합합니다.
|
|
608
|
+
`plan-installer`가 스택을 자동 감지한 후 타입별 프롬프트를 조합합니다. NestJS와 Vue/Nuxt는 프레임워크별 분석 카테고리가 적용된 전용 템플릿을 사용합니다. 멀티스택 프로젝트에서는 `pass1-backend-prompt.md`와 `pass1-frontend-prompt.md`가 별도로 생성되고, `pass3-prompt.md`는 두 스택의 생성 대상을 결합합니다.
|
|
596
609
|
|
|
597
610
|
---
|
|
598
611
|
|
|
599
612
|
## 모노레포 지원
|
|
600
613
|
|
|
601
|
-
ClaudeOS-Core는
|
|
614
|
+
ClaudeOS-Core는 JS/TS 모노레포 구성을 자동으로 감지하고 서브 패키지의 의존성을 스캔합니다.
|
|
602
615
|
|
|
603
|
-
|
|
616
|
+
**지원하는 모노레포 마커** (자동 감지):
|
|
617
|
+
- `turbo.json` (Turborepo)
|
|
618
|
+
- `pnpm-workspace.yaml` (pnpm workspaces)
|
|
619
|
+
- `lerna.json` (Lerna)
|
|
620
|
+
- `package.json#workspaces` (npm/yarn workspaces)
|
|
604
621
|
|
|
605
|
-
|
|
606
|
-
# 예시: Turborepo의 apps/my-app
|
|
607
|
-
cd apps/my-app
|
|
608
|
-
npx claudeos-core init
|
|
622
|
+
**모노레포 루트에서 실행하세요** — ClaudeOS-Core는 `apps/*/package.json`과 `packages/*/package.json`을 읽어 서브 패키지의 프레임워크/ORM/DB 의존성을 자동으로 검색합니다:
|
|
609
623
|
|
|
610
|
-
|
|
611
|
-
cd
|
|
624
|
+
```bash
|
|
625
|
+
cd my-monorepo
|
|
612
626
|
npx claudeos-core init
|
|
613
627
|
```
|
|
614
628
|
|
|
615
|
-
|
|
629
|
+
**감지되는 항목:**
|
|
630
|
+
- `apps/web/package.json`의 의존성 (예: `next`, `react`) → 프론트엔드 스택
|
|
631
|
+
- `apps/api/package.json`의 의존성 (예: `express`, `prisma`) → 백엔드 스택
|
|
632
|
+
- `packages/db/package.json`의 의존성 (예: `drizzle-orm`) → ORM/DB
|
|
633
|
+
- `pnpm-workspace.yaml`의 커스텀 워크스페이스 경로 (예: `services/*`)
|
|
616
634
|
|
|
617
|
-
|
|
635
|
+
**도메인 스캔도 모노레포 레이아웃을 지원합니다:**
|
|
636
|
+
- 백엔드 도메인: `apps/api/src/modules/*/`, `apps/api/src/*/`
|
|
637
|
+
- 프론트엔드 도메인: `apps/web/app/*/`, `apps/web/src/app/*/`, `apps/web/pages/*/`
|
|
638
|
+
- 공유 패키지 도메인: `packages/*/src/*/`
|
|
618
639
|
|
|
619
640
|
```
|
|
620
|
-
my-monorepo/ ← 여기서
|
|
641
|
+
my-monorepo/ ← 여기서 실행: npx claudeos-core init
|
|
642
|
+
├── turbo.json ← Turborepo 자동 감지
|
|
621
643
|
├── apps/
|
|
622
|
-
│ ├── web/ ←
|
|
623
|
-
│ ├──
|
|
624
|
-
│ └──
|
|
644
|
+
│ ├── web/ ← apps/web/package.json에서 Next.js 감지
|
|
645
|
+
│ │ ├── app/dashboard/ ← 프론트엔드 도메인 감지
|
|
646
|
+
│ │ └── package.json ← { "dependencies": { "next": "^14" } }
|
|
647
|
+
│ └── api/ ← apps/api/package.json에서 Express 감지
|
|
648
|
+
│ ├── src/modules/users/ ← 백엔드 도메인 감지
|
|
649
|
+
│ └── package.json ← { "dependencies": { "express": "^4" } }
|
|
625
650
|
├── packages/
|
|
626
|
-
│ ├──
|
|
627
|
-
│ └──
|
|
628
|
-
└── package.json ←
|
|
651
|
+
│ ├── db/ ← packages/db/package.json에서 Drizzle 감지
|
|
652
|
+
│ └── ui/
|
|
653
|
+
└── package.json ← { "workspaces": ["apps/*", "packages/*"] }
|
|
629
654
|
```
|
|
630
655
|
|
|
656
|
+
> **참고:** Kotlin/Java 모노레포의 경우, 멀티모듈 감지는 `settings.gradle.kts`를 사용합니다 (위의 [Kotlin 멀티모듈 도메인 감지](#kotlin-멀티모듈-도메인-감지) 참조). JS 모노레포 마커가 필요하지 않습니다.
|
|
657
|
+
|
|
631
658
|
## 트러블슈팅
|
|
632
659
|
|
|
633
660
|
**"claude: command not found"** — Claude Code CLI가 설치되지 않았거나 PATH에 없습니다. [Claude Code 공식 문서](https://code.claude.com/docs/en/overview)를 참조하세요.
|
|
@@ -650,7 +677,7 @@ my-monorepo/ ← 여기서 실행하지 마세요 (루트에
|
|
|
650
677
|
|
|
651
678
|
- **새 스택 템플릿** — Ruby/Rails, Go/Gin, PHP/Laravel, Rust/Axum
|
|
652
679
|
- **모노레포 심화 지원** — 서브프로젝트 루트 분리, 워크스페이스 감지
|
|
653
|
-
- **테스트 커버리지** — 테스트 스위트 확장 중 (현재
|
|
680
|
+
- **테스트 커버리지** — 테스트 스위트 확장 중 (현재 256개 테스트, 전체 스캐너, 스택 감지, 도메인 그룹핑, 플랜 파싱, 프롬프트 생성, CLI 셀렉터, 모노레포 감지, 검증 도구 커버)
|
|
654
681
|
|
|
655
682
|
---
|
|
656
683
|
|