claudeos-core 1.0.7 → 1.2.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.
Potentially problematic release.
This version of claudeos-core might be problematic. Click here for more details.
- package/CHANGELOG.md +84 -1
- package/CONTRIBUTING.md +15 -4
- package/README.de.md +187 -11
- package/README.es.md +187 -11
- package/README.fr.md +187 -11
- package/README.hi.md +187 -11
- package/README.ja.md +186 -10
- package/README.ko.md +331 -364
- package/README.md +200 -11
- package/README.ru.md +187 -11
- package/README.vi.md +188 -12
- package/README.zh-CN.md +186 -10
- package/bin/cli.js +183 -61
- package/bootstrap.sh +128 -21
- package/content-validator/index.js +131 -60
- package/health-checker/index.js +29 -23
- package/import-linter/index.js +14 -8
- package/manifest-generator/index.js +26 -20
- package/package.json +84 -75
- package/pass-json-validator/index.js +92 -70
- package/pass-prompts/templates/common/header.md +4 -4
- package/pass-prompts/templates/common/lang-instructions.json +27 -0
- package/pass-prompts/templates/common/pass3-footer.md +2 -3
- package/pass-prompts/templates/java-spring/pass1.md +84 -81
- package/pass-prompts/templates/java-spring/pass2.md +66 -66
- package/pass-prompts/templates/java-spring/pass3.md +60 -60
- package/pass-prompts/templates/kotlin-spring/pass1.md +172 -0
- package/pass-prompts/templates/kotlin-spring/pass2.md +109 -0
- package/pass-prompts/templates/kotlin-spring/pass3.md +98 -0
- package/pass-prompts/templates/node-express/pass1.md +73 -73
- package/pass-prompts/templates/node-express/pass2.md +66 -66
- package/pass-prompts/templates/node-express/pass3.md +53 -53
- package/pass-prompts/templates/node-nextjs/pass1.md +68 -68
- package/pass-prompts/templates/node-nextjs/pass2.md +61 -61
- package/pass-prompts/templates/node-nextjs/pass3.md +48 -48
- package/pass-prompts/templates/python-django/pass1.md +78 -78
- package/pass-prompts/templates/python-django/pass2.md +69 -69
- package/pass-prompts/templates/python-django/pass3.md +45 -45
- package/pass-prompts/templates/python-fastapi/pass1.md +76 -76
- package/pass-prompts/templates/python-fastapi/pass2.md +67 -67
- package/pass-prompts/templates/python-fastapi/pass3.md +45 -45
- package/plan-installer/index.js +623 -97
- package/plan-validator/index.js +54 -23
- package/sync-checker/index.js +25 -14
package/README.ko.md
CHANGED
|
@@ -1,240 +1,289 @@
|
|
|
1
|
-
# ClaudeOS-Core
|
|
1
|
+
# ClaudeOS-Core
|
|
2
|
+
|
|
3
|
+
**명령어 하나로. 실제 소스코드에서 Claude Code 문서 전체를 자동 생성합니다.**
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
npx claudeos-core init
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
ClaudeOS-Core는 코드베이스를 읽고, 발견한 모든 패턴을 추출하여, _여러분의_ 프로젝트에 최적화된 Standards, Rules, Skills, Guides를 완전히 생성합니다. 이후 Claude Code에 "주문 CRUD 만들어줘"라고 말하면, 기존 패턴과 정확히 일치하는 코드를 생성합니다.
|
|
2
10
|
|
|
3
11
|
[🇺🇸 English](./README.md) · [🇨🇳 中文](./README.zh-CN.md) · [🇯🇵 日本語](./README.ja.md) · [🇪🇸 Español](./README.es.md) · [🇻🇳 Tiếng Việt](./README.vi.md) · [🇮🇳 हिन्दी](./README.hi.md) · [🇷🇺 Русский](./README.ru.md) · [🇫🇷 Français](./README.fr.md) · [🇩🇪 Deutsch](./README.de.md)
|
|
4
12
|
|
|
5
|
-
> **한 줄 요약**
|
|
6
|
-
>
|
|
7
|
-
> `npx claudeos-core init` (또는 `bash claudeos-core-tools/bootstrap.sh`) 하나만 실행하면,
|
|
8
|
-
> Claude Code가 프로젝트를 완벽하게 이해하는 데 필요한 모든 문서가 자동 생성됩니다.
|
|
9
13
|
|
|
10
14
|
---
|
|
11
15
|
|
|
12
|
-
##
|
|
16
|
+
## 문제
|
|
13
17
|
|
|
14
|
-
|
|
15
|
-
- [지원 스택 / Supported Stacks](#-지원-스택--supported-stacks)
|
|
16
|
-
- [사전 요구사항 / Prerequisites](#-사전-요구사항--prerequisites)
|
|
17
|
-
- [설치 및 실행 / Installation & Usage](#-설치-및-실행--installation--usage)
|
|
18
|
-
- [작동 원리 / How It Works](#-작동-원리--how-it-works)
|
|
19
|
-
- [생성되는 파일 구조 / Generated File Structure](#-생성되는-파일-구조--generated-file-structure)
|
|
20
|
-
- [규모별 자동 조절 / Auto-scaling by Project Size](#-규모별-자동-조절--auto-scaling-by-project-size)
|
|
21
|
-
- [도구 상세 / Tool Reference](#-도구-상세--tool-reference)
|
|
22
|
-
- [일상 사용법 / Daily Usage](#-일상-사용법--daily-usage)
|
|
23
|
-
- [문제 해결 / Troubleshooting](#-문제-해결--troubleshooting)
|
|
24
|
-
- [FAQ](#-faq)
|
|
18
|
+
Claude Code는 강력하지만, _여러분_ 프로젝트의 컨벤션을 모릅니다. `CLAUDE.md`, 수십 개의 규칙, 스캐폴딩 스킬을 수동으로 작성하려면 몇 시간이 걸리고 — 코드베이스가 발전하는 순간 낡아버립니다.
|
|
25
19
|
|
|
26
|
-
|
|
20
|
+
## 해결책
|
|
27
21
|
|
|
28
|
-
|
|
22
|
+
ClaudeOS-Core가 전체 프로세스를 자동화합니다:
|
|
29
23
|
|
|
30
|
-
|
|
24
|
+
1. **스캔** — 스택, 도메인, ORM, DB, 패키지 매니저를 자동 감지
|
|
25
|
+
2. **분석** — 컨트롤러 패턴, 서비스 레이어, 명명 규칙, 에러 처리, 보안, 테스트 등 50개+ 카테고리 심층 분석
|
|
26
|
+
3. **생성** — `CLAUDE.md`, Standards (15–19개 파일), Rules, Skills, Guides (9개 파일), Master Plans, DB 문서, MCP 가이드 완전 생성
|
|
27
|
+
4. **검증** — 6개 내장 검증 도구로 일관성 자동 확인
|
|
31
28
|
|
|
32
|
-
|
|
29
|
+
총 소요 시간: 프로젝트 규모에 따라 **5–18분**. 수동 설정 불필요.
|
|
33
30
|
|
|
34
|
-
|
|
35
|
-
Claude Code가 참조할 수 있는 표준 문서(Standards), 규칙(Rules), 스킬(Skills), 가이드(Guides)를 생성합니다.
|
|
31
|
+
---
|
|
36
32
|
|
|
37
|
-
|
|
38
|
-
**프로젝트의 기존 패턴과 100% 일치하는 코드**를 생성합니다.
|
|
33
|
+
## 지원 스택
|
|
39
34
|
|
|
40
|
-
|
|
35
|
+
| 스택 | 감지 기준 | 분석 깊이 |
|
|
36
|
+
|---|---|---|
|
|
37
|
+
| **Java / Spring Boot** | `build.gradle`, `pom.xml`, 5가지 패키지 패턴 | 10개 대분류, 59개 소분류 |
|
|
38
|
+
| **Kotlin / Spring Boot** | `build.gradle.kts`, kotlin 플러그인, `settings.gradle.kts`, CQRS/BFF 자동감지 | 12개 대분류, 95개 소분류 |
|
|
39
|
+
| **Node.js / Express / NestJS** | `package.json` | 9개 대분류, 57개 소분류 |
|
|
40
|
+
| **Next.js / React / Vue** | `package.json`, `next.config.*`, FSD 지원 | 9개 대분류, 55개 소분류 |
|
|
41
|
+
| **Python / Django** | `requirements.txt`, `pyproject.toml` | 10개 대분류, 55개 소분류 |
|
|
42
|
+
| **Python / FastAPI** | `requirements.txt`, `pyproject.toml` | 10개 대분류, 58개 소분류 |
|
|
41
43
|
|
|
42
|
-
|
|
44
|
+
자동 감지 항목: 언어 & 버전, 프레임워크 & 버전, ORM (MyBatis, JPA, Exposed, Prisma, TypeORM, SQLAlchemy 등), 데이터베이스 (PostgreSQL, MySQL, Oracle, MongoDB, SQLite), 패키지 매니저 (Gradle, Maven, npm, yarn, pnpm, pip, poetry), 아키텍처 (CQRS, BFF — 모듈명에서 감지), 멀티모듈 구조 (settings.gradle에서 감지).
|
|
43
45
|
|
|
44
|
-
|
|
45
|
-
then generates Standards, Rules, Skills, and Guides that Claude Code can reference.
|
|
46
|
+
**직접 지정할 필요 없습니다. 전부 자동으로 감지합니다.**
|
|
46
47
|
|
|
47
|
-
|
|
48
|
-
Claude Code generates code that **matches your existing patterns 100%**.
|
|
48
|
+
### Java 도메인 감지 (5가지 패턴, 폴백 포함)
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
| 우선순위 | 패턴 | 구조 | 예시 |
|
|
51
|
+
|---|---|---|---|
|
|
52
|
+
| A | 레이어 우선 | `controller/{domain}/` | `controller/user/UserController.java` |
|
|
53
|
+
| B | 도메인 우선 | `{domain}/controller/` | `user/controller/UserController.java` |
|
|
54
|
+
| D | 모듈 접두사 | `{module}/{domain}/controller/` | `front/member/controller/MemberController.java` |
|
|
55
|
+
| E | DDD/헥사고날 | `{domain}/adapter/in/web/` | `user/adapter/in/web/UserController.java` |
|
|
56
|
+
| C | 플랫 | `controller/*.java` | `controller/UserController.java` → 클래스명에서 `user` 추출 |
|
|
57
|
+
|
|
58
|
+
Controller 없는 서비스 전용 도메인도 감지됩니다. 스킵: `common`, `config`, `util`, `front`, `admin`, `v1`, `v2` 등.
|
|
51
59
|
|
|
52
|
-
## 🛠 지원 스택 / Supported Stacks
|
|
53
60
|
|
|
54
|
-
|
|
61
|
+
### Kotlin 멀티모듈 도메인 감지
|
|
62
|
+
|
|
63
|
+
Gradle 멀티모듈 구조의 Kotlin 프로젝트(예: CQRS 모노레포)용:
|
|
64
|
+
|
|
65
|
+
| 단계 | 동작 | 예시 |
|
|
55
66
|
|---|---|---|
|
|
56
|
-
|
|
|
57
|
-
|
|
|
58
|
-
|
|
|
59
|
-
|
|
|
60
|
-
|
|
|
67
|
+
| 1 | `settings.gradle.kts`에서 `include()` 스캔 | 14개 모듈 발견 |
|
|
68
|
+
| 2 | 모듈명에서 타입 감지 | `reservation-command-server` → type: `command` |
|
|
69
|
+
| 3 | 모듈명에서 도메인 추출 | `reservation-command-server` → domain: `reservation` |
|
|
70
|
+
| 4 | 같은 도메인을 모듈 간 그룹핑 | `reservation-command-server` + `common-query-server` → 1개 도메인 |
|
|
71
|
+
| 5 | 아키텍처 감지 | `command` + `query` 모듈 있음 → CQRS |
|
|
61
72
|
|
|
62
|
-
|
|
73
|
+
지원 모듈 타입: `command`, `query`, `bff`, `integration`, `standalone`, `library`. 공유 라이브러리(`shared-lib`, `integration-lib`)는 특수 도메인으로 감지됩니다.
|
|
63
74
|
|
|
64
|
-
|
|
65
|
-
- **프레임워크 & 버전**: Spring Boot 3.x, NestJS 10.x, Next.js 14/15, Django 5.x, FastAPI 0.100+
|
|
66
|
-
- **ORM**: MyBatis, JPA/Hibernate, QueryDSL, Prisma, TypeORM, Sequelize, Drizzle, SQLAlchemy, Tortoise
|
|
67
|
-
- **DB**: PostgreSQL, MySQL, Oracle, MongoDB, SQLite
|
|
68
|
-
- **패키지 매니저**: Gradle, Maven, npm, yarn, pnpm, pip, poetry, pdm, pipenv
|
|
75
|
+
### 프론트엔드 도메인 감지
|
|
69
76
|
|
|
70
|
-
|
|
71
|
-
**
|
|
77
|
+
- **App Router**: `app/{domain}/page.tsx` (Next.js)
|
|
78
|
+
- **Pages Router**: `pages/{domain}/index.tsx`
|
|
79
|
+
- **FSD (Feature-Sliced Design)**: `features/*/`, `widgets/*/`, `entities/*/`
|
|
80
|
+
- **RSC/Client 분리**: `client.tsx` 패턴 감지, Server/Client 컴포넌트 분리 추적
|
|
81
|
+
- **설정 파일 폴백**: `package.json`에 없어도 `next.config.*`, `vite.config.*` 등에서 감지 (모노레포 지원)
|
|
72
82
|
|
|
73
83
|
---
|
|
74
84
|
|
|
75
|
-
##
|
|
76
|
-
|
|
77
|
-
### 필수 / Required
|
|
85
|
+
## 빠른 시작
|
|
78
86
|
|
|
79
|
-
|
|
80
|
-
```bash
|
|
81
|
-
node --version # v18.0.0 이상 확인
|
|
82
|
-
```
|
|
87
|
+
### 사전 요구사항
|
|
83
88
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
claude -p "hello" # 정상 응답 확인
|
|
87
|
-
```
|
|
89
|
+
- **Node.js** v18+
|
|
90
|
+
- **Claude Code CLI** (설치 & 인증 완료)
|
|
88
91
|
|
|
89
|
-
###
|
|
92
|
+
### 설치
|
|
90
93
|
|
|
91
94
|
```bash
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
+
cd /your/project/root
|
|
96
|
+
|
|
97
|
+
# 방법 A: npx (권장 — 설치 불필요)
|
|
98
|
+
npx claudeos-core init
|
|
99
|
+
|
|
100
|
+
# 방법 B: 글로벌 설치
|
|
101
|
+
npm install -g claudeos-core
|
|
102
|
+
claudeos-core init
|
|
103
|
+
|
|
104
|
+
# 방법 C: 프로젝트 devDependency
|
|
105
|
+
npm install --save-dev claudeos-core
|
|
106
|
+
npx claudeos-core init
|
|
107
|
+
|
|
108
|
+
# 방법 D: git clone (개발/기여용)
|
|
109
|
+
git clone https://github.com/claudeos-core/claudeos-core.git claudeos-core-tools
|
|
110
|
+
bash claudeos-core-tools/bootstrap.sh
|
|
95
111
|
```
|
|
96
112
|
|
|
97
|
-
|
|
113
|
+
이게 전부입니다. 5–18분 후 모든 문서가 생성되어 바로 사용 가능합니다.
|
|
114
|
+
|
|
115
|
+
### 수동 단계별 설치
|
|
98
116
|
|
|
99
|
-
|
|
117
|
+
각 단계를 직접 제어하거나, 자동 파이프라인이 특정 단계에서 실패한 경우 수동으로 실행할 수 있습니다. ClaudeOS-Core의 내부 동작을 이해하는 데에도 유용합니다.
|
|
100
118
|
|
|
101
|
-
|
|
119
|
+
#### Step 1: 클론 및 의존성 설치
|
|
102
120
|
|
|
103
121
|
```bash
|
|
104
122
|
cd /your/project/root
|
|
105
123
|
|
|
106
|
-
# 방법 1: git clone (권장)
|
|
107
124
|
git clone https://github.com/claudeos-core/claudeos-core.git claudeos-core-tools
|
|
125
|
+
cd claudeos-core-tools && npm install && cd ..
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
#### Step 2: 디렉토리 구조 생성
|
|
108
129
|
|
|
109
|
-
|
|
110
|
-
#
|
|
130
|
+
```bash
|
|
131
|
+
# Rules
|
|
132
|
+
mkdir -p .claude/rules/{00.core,10.backend,20.frontend,30.security-db,40.infra,50.sync}
|
|
133
|
+
|
|
134
|
+
# Standards
|
|
135
|
+
mkdir -p claudeos-core/standard/{00.core,10.backend-api,20.frontend-ui,30.security-db,40.infra,50.verification,90.optional}
|
|
136
|
+
|
|
137
|
+
# Skills
|
|
138
|
+
mkdir -p claudeos-core/skills/{00.shared,10.backend-crud/scaffold-crud-feature,20.frontend-page/scaffold-page-feature,50.testing,90.experimental}
|
|
139
|
+
|
|
140
|
+
# Guide, Plan, Database, MCP, Generated
|
|
141
|
+
mkdir -p claudeos-core/guide/{01.onboarding,02.usage,03.troubleshooting,04.architecture}
|
|
142
|
+
mkdir -p claudeos-core/{plan,database,mcp-guide,generated}
|
|
111
143
|
```
|
|
112
144
|
|
|
113
|
-
|
|
145
|
+
#### Step 3: plan-installer 실행 (프로젝트 분석)
|
|
146
|
+
|
|
147
|
+
프로젝트를 스캔하여 스택을 감지하고, 도메인을 찾고, 그룹으로 분할하고, 프롬프트를 생성합니다.
|
|
114
148
|
|
|
115
149
|
```bash
|
|
116
|
-
|
|
117
|
-
|
|
150
|
+
node claudeos-core-tools/plan-installer/index.js
|
|
151
|
+
```
|
|
118
152
|
|
|
119
|
-
|
|
120
|
-
|
|
153
|
+
**출력 (`claudeos-core/generated/`):**
|
|
154
|
+
- `project-analysis.json` — 감지된 스택, 도메인, 프론트엔드 정보
|
|
155
|
+
- `domain-groups.json` — Pass 1용 도메인 그룹
|
|
156
|
+
- `pass1-backend-prompt.md` / `pass1-frontend-prompt.md` — 분석 프롬프트
|
|
157
|
+
- `pass2-prompt.md` — 통합 프롬프트
|
|
158
|
+
- `pass3-prompt.md` — 생성 프롬프트
|
|
121
159
|
|
|
122
|
-
|
|
123
|
-
|
|
160
|
+
진행하기 전에 이 파일들을 검토하여 감지 정확도를 확인할 수 있습니다.
|
|
161
|
+
|
|
162
|
+
#### Step 4: Pass 1 — 도메인 그룹별 심층 코드 분석
|
|
163
|
+
|
|
164
|
+
각 도메인 그룹에 대해 Pass 1을 실행합니다. `domain-groups.json`에서 그룹 수를 확인하세요.
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
# Check groups
|
|
168
|
+
cat claudeos-core/generated/domain-groups.json | node -e "
|
|
169
|
+
const g = JSON.parse(require('fs').readFileSync('/dev/stdin','utf-8'));
|
|
170
|
+
g.groups.forEach((g,i) => console.log('Group '+(i+1)+': ['+g.domains.join(', ')+'] ('+g.type+', ~'+g.estimatedFiles+' files)'));
|
|
171
|
+
"
|
|
172
|
+
|
|
173
|
+
# Run Pass 1 for group 1:
|
|
174
|
+
cat claudeos-core/generated/pass1-backend-prompt.md \
|
|
175
|
+
| sed "s/{{DOMAIN_GROUP}}/user, order, product/g" \
|
|
176
|
+
| sed "s/{{PASS_NUM}}/1/g" \
|
|
177
|
+
| claude -p --dangerously-skip-permissions
|
|
178
|
+
|
|
179
|
+
# For frontend groups, use pass1-frontend-prompt.md instead
|
|
124
180
|
```
|
|
125
181
|
|
|
126
|
-
|
|
182
|
+
**확인:** `ls claudeos-core/generated/pass1-*.json`으로 그룹당 하나의 JSON이 있는지 확인합니다.
|
|
183
|
+
|
|
184
|
+
#### Step 5: Pass 2 — 분석 결과 통합
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
cat claudeos-core/generated/pass2-prompt.md \
|
|
188
|
+
| claude -p --dangerously-skip-permissions
|
|
189
|
+
```
|
|
127
190
|
|
|
128
|
-
|
|
129
|
-
After running, all documentation is auto-generated in about 5-18 minutes.
|
|
191
|
+
**확인:** `claudeos-core/generated/pass2-merged.json`이 존재하고 9개 이상의 최상위 키가 있어야 합니다.
|
|
130
192
|
|
|
131
|
-
|
|
193
|
+
#### Step 6: Pass 3 — 전체 문서 생성
|
|
132
194
|
|
|
195
|
+
```bash
|
|
196
|
+
cat claudeos-core/generated/pass3-prompt.md \
|
|
197
|
+
| claude -p --dangerously-skip-permissions
|
|
133
198
|
```
|
|
134
|
-
|
|
135
|
-
|
|
199
|
+
|
|
200
|
+
**확인:** 프로젝트 루트에 `CLAUDE.md`가 존재해야 합니다.
|
|
201
|
+
|
|
202
|
+
#### Step 7: 검증 도구 실행
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
# 메타데이터 생성 (다른 검사 전 필수)
|
|
206
|
+
node claudeos-core-tools/manifest-generator/index.js
|
|
207
|
+
|
|
208
|
+
# 전체 검사 실행
|
|
209
|
+
node claudeos-core-tools/health-checker/index.js
|
|
210
|
+
|
|
211
|
+
# 또는 개별 검사 실행:
|
|
212
|
+
node claudeos-core-tools/import-linter/index.js # @import validation
|
|
213
|
+
node claudeos-core-tools/plan-validator/index.js --check # Plan ↔ disk
|
|
214
|
+
node claudeos-core-tools/sync-checker/index.js # Sync status
|
|
215
|
+
node claudeos-core-tools/content-validator/index.js # Content quality
|
|
216
|
+
node claudeos-core-tools/pass-json-validator/index.js # JSON format
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
#### Step 8: 결과 확인
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
find .claude claudeos-core -type f | grep -v node_modules | wc -l
|
|
223
|
+
head -30 CLAUDE.md
|
|
224
|
+
ls .claude/rules/*/
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
> **Tip:** 특정 단계에서 실패하면 해당 단계만 다시 실행할 수 있습니다. Pass 1/2 결과는 캐시됩니다 — `pass1-N.json` 또는 `pass2-merged.json`이 이미 존재하면 자동 파이프라인이 건너뜁니다. 파일을 삭제하면 강제로 다시 실행됩니다.
|
|
228
|
+
|
|
229
|
+
### 사용 시작
|
|
230
|
+
|
|
231
|
+
```
|
|
232
|
+
# Claude Code에서 자연스럽게 요청하면 됩니다:
|
|
233
|
+
"주문 도메인 CRUD 만들어줘"
|
|
136
234
|
"사용자 인증 API 추가해줘"
|
|
137
|
-
"이
|
|
235
|
+
"이 코드를 프로젝트 패턴에 맞게 리팩토링해줘"
|
|
138
236
|
|
|
139
|
-
Claude Code
|
|
140
|
-
"Create a CRUD for the order domain"
|
|
141
|
-
"Add user authentication API"
|
|
142
|
-
"Refactor this code"
|
|
237
|
+
# Claude Code가 생성된 Standards, Rules, Skills를 자동으로 참조합니다.
|
|
143
238
|
```
|
|
144
239
|
|
|
145
240
|
---
|
|
146
241
|
|
|
147
|
-
##
|
|
148
|
-
|
|
149
|
-
### 전체 흐름도 / Flow Diagram
|
|
242
|
+
## 작동 원리 — 3-Pass 파이프라인
|
|
150
243
|
|
|
151
244
|
```
|
|
152
|
-
|
|
245
|
+
npx claudeos-core init
|
|
153
246
|
│
|
|
154
247
|
├── [1] npm install ← 의존성 설치 (~10초)
|
|
155
|
-
├── [2] 디렉토리 구조 생성 ←
|
|
248
|
+
├── [2] 디렉토리 구조 생성 ← 폴더 생성 (~1초)
|
|
156
249
|
├── [3] plan-installer (Node.js) ← 프로젝트 스캔 (~5초)
|
|
157
250
|
│ ├── 스택 자동 감지 (멀티스택 지원)
|
|
158
|
-
│ ├── 도메인
|
|
251
|
+
│ ├── 도메인 목록 추출 (backend/frontend 태깅)
|
|
159
252
|
│ ├── 도메인 그룹 자동 분할 (타입별)
|
|
160
|
-
│ └──
|
|
253
|
+
│ └── 스택별 프롬프트 선택 (타입별)
|
|
161
254
|
│
|
|
162
|
-
├── [4] Pass 1 × N
|
|
255
|
+
├── [4] Pass 1 × N (claude -p) ← 코드 심층 분석 (~2-8분)
|
|
163
256
|
│ ├── ⚙️ 백엔드 그룹 → 백엔드 분석 프롬프트
|
|
164
257
|
│ └── 🎨 프론트엔드 그룹 → 프론트엔드 분석 프롬프트
|
|
165
258
|
│
|
|
166
|
-
├── [5] Pass 2 × 1
|
|
167
|
-
│ └── Pass 1
|
|
259
|
+
├── [5] Pass 2 × 1 (claude -p) ← 분석 결과 통합 (~1분)
|
|
260
|
+
│ └── 전체 Pass 1 결과 통합 (백엔드 + 프론트엔드)
|
|
261
|
+
│
|
|
262
|
+
├── [6] Pass 3 × 1 (claude -p) ← 전체 생성 (~3-5분)
|
|
263
|
+
│ └── 결합 프롬프트 (백엔드 + 프론트엔드 대상)
|
|
168
264
|
│
|
|
169
|
-
└── [
|
|
170
|
-
└── Standards, Rules, Skills, Guides, Plans 생성
|
|
265
|
+
└── [7] 검증 ← health checker 자동 실행
|
|
171
266
|
```
|
|
172
267
|
|
|
173
|
-
### 3
|
|
174
|
-
|
|
175
|
-
#### Pass 1 — 깊이 분석 / Deep Analysis (`claude -p` × N회)
|
|
176
|
-
|
|
177
|
-
**유일하게 소스 코드를 직접 읽는 Pass입니다.**
|
|
178
|
-
**The only pass that actually reads source code.**
|
|
179
|
-
|
|
180
|
-
`project-analysis.json`을 참조하여 도메인 그룹별로 대표 파일을 선정하고 코드 패턴을 추출합니다.
|
|
181
|
-
스택별로 분석 항목이 다릅니다:
|
|
182
|
-
|
|
183
|
-
| 스택 | 분석 항목 수 | 주요 분석 대상 |
|
|
184
|
-
|---|---|---|
|
|
185
|
-
| Java/Spring | 10개 대분류, 59개 소분류 | Controller, Service, Repository, DTO, AOP, 트랜잭션 |
|
|
186
|
-
| Node Express/NestJS | 9개 대분류, 57개 소분류 | Router, Service, ORM, DTO, Middleware, DI |
|
|
187
|
-
| Next.js/React/Vue | 9개 대분류, 55개 소분류 | Page, Component, Data Fetching, State, Styling |
|
|
188
|
-
| Python/Django | 10개 대분류, 55개 소분류 | View, Serializer, Model, Admin, Celery |
|
|
189
|
-
| Python/FastAPI | 10개 대분류, 58개 소분류 | Router, Pydantic, SQLAlchemy, Depends, Middleware |
|
|
190
|
-
|
|
191
|
-
모든 스택 공통 분석:
|
|
192
|
-
- 설정/환경 패턴, 로깅 패턴, 테스트 패턴
|
|
193
|
-
- 도메인 특화 패턴 (파일 업로드, WebSocket, 캐싱, 메시징 등)
|
|
194
|
-
- 안티패턴 / 비일관성 / 보안 / 성능 문제
|
|
195
|
-
|
|
196
|
-
**입력**: `project-analysis.json`
|
|
197
|
-
**출력**: `pass1-1.json`, `pass1-2.json`, ... (도메인 그룹 수만큼)
|
|
198
|
-
|
|
199
|
-
#### Pass 2 — 통합 / Merge (`claude -p` × 1회)
|
|
200
|
-
|
|
201
|
-
**코드를 읽지 않습니다. JSON만 처리합니다.**
|
|
202
|
-
**Does not read code. Only processes JSON.**
|
|
268
|
+
### 왜 3 Pass인가?
|
|
203
269
|
|
|
204
|
-
Pass 1
|
|
205
|
-
- 전체 공통 패턴 (100% 공유)
|
|
206
|
-
- 다수 공유 패턴 (50%+ 공유)
|
|
207
|
-
- 도메인 특화 패턴
|
|
208
|
-
- 안티패턴 심각도 분류 (CRITICAL/HIGH/MEDIUM/LOW)
|
|
209
|
-
- 명명 규칙, 보안/인증, DB 패턴, 테스트 전략, 로깅, 성능, 코드 품질
|
|
270
|
+
**Pass 1**은 소스코드를 직접 읽는 유일한 Pass입니다. 도메인 그룹별 대표 파일을 선정하고 55–95개 분석 카테고리(스택별)에서 패턴을 추출합니다. 대규모 프로젝트에서는 도메인 그룹당 한 번씩 여러 번 실행됩니다. 멀티스택 프로젝트(예: Java 백엔드 + React 프론트엔드)에서는 백엔드와 프론트엔드 도메인이 각 스택에 맞는 **별도의 분석 프롬프트**를 사용합니다.
|
|
210
271
|
|
|
211
|
-
|
|
212
|
-
**출력**: `pass2-merged.json`
|
|
272
|
+
**Pass 2**는 모든 Pass 1 결과를 통합 분석으로 병합합니다: 공통 패턴 (100% 공유), 다수 패턴 (50%+ 공유), 도메인 특화 패턴, 심각도별 안티패턴, 횡단 관심사 (명명, 보안, DB, 테스트, 로깅, 성능). 백엔드와 프론트엔드 결과가 함께 병합됩니다.
|
|
213
273
|
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
**코드를 읽지 않습니다. 분석 JSON만 참조합니다.**
|
|
217
|
-
**Does not read code. Only references analysis JSON.**
|
|
218
|
-
|
|
219
|
-
분석 결과를 기반으로 전체 ClaudeOS-Core 파일을 생성합니다:
|
|
220
|
-
- CLAUDE.md, Standards, Rules, Skills, Guides, Plans, Database docs, MCP Guide
|
|
221
|
-
- 모든 standard 파일에 ✅ 올바른 예시 / ❌ 잘못된 예시 포함
|
|
222
|
-
- 마스터 플랜에 전체 파일 백업 (`<file>` 블록)
|
|
223
|
-
|
|
224
|
-
**입력**: `project-analysis.json` + `pass2-merged.json`
|
|
225
|
-
**출력**: 전체 파일 생성 + 검증 도구 실행 (manifest-generator → health-checker)
|
|
274
|
+
**Pass 3**는 병합된 분석을 기반으로 전체 파일 생성을 수행합니다. 소스코드를 읽지 않고 분석 JSON만 참조합니다. 멀티스택 모드에서는 생성 프롬프트가 백엔드와 프론트엔드 대상을 결합하여 두 세트의 표준을 한 번에 생성합니다.
|
|
226
275
|
|
|
227
276
|
---
|
|
228
277
|
|
|
229
|
-
##
|
|
278
|
+
## 생성되는 파일 구조
|
|
230
279
|
|
|
231
280
|
```
|
|
232
|
-
|
|
281
|
+
your-project/
|
|
233
282
|
│
|
|
234
283
|
├── CLAUDE.md ← Claude Code 진입점
|
|
235
284
|
│
|
|
236
285
|
├── .claude/
|
|
237
|
-
│ └── rules/ ←
|
|
286
|
+
│ └── rules/ ← Glob 트리거 규칙
|
|
238
287
|
│ ├── 00.core/
|
|
239
288
|
│ ├── 10.backend/
|
|
240
289
|
│ ├── 20.frontend/
|
|
@@ -244,166 +293,177 @@ Pass 1 결과들을 하나로 통합합니다:
|
|
|
244
293
|
│
|
|
245
294
|
├── claudeos-core/ ← 메인 출력 디렉토리
|
|
246
295
|
│ ├── generated/ ← 분석 JSON + 동적 프롬프트
|
|
247
|
-
│ │ ├── project-analysis.json
|
|
248
|
-
│ │ ├── domain-groups.json
|
|
249
|
-
│ │ ├── pass1-
|
|
250
|
-
│ │ ├── pass2-merged.json
|
|
251
|
-
│ │ ├── pass1-backend-prompt.md ← 백엔드 분석 프롬프트
|
|
296
|
+
│ │ ├── project-analysis.json ← 스택 정보 (멀티스택 포함)
|
|
297
|
+
│ │ ├── domain-groups.json ← type: backend/frontend 태깅된 그룹
|
|
298
|
+
│ │ ├── pass1-backend-prompt.md ← 백엔드 분석 프롬프트
|
|
252
299
|
│ │ ├── pass1-frontend-prompt.md ← 프론트엔드 분석 프롬프트 (감지 시)
|
|
253
|
-
│ │ ├──
|
|
254
|
-
│ │
|
|
255
|
-
│
|
|
256
|
-
│ │
|
|
257
|
-
│ │
|
|
258
|
-
│ ├── standard/ ← 코딩 표준 (15~17개 파일)
|
|
259
|
-
│ │ ├── 00.core/ ← 프로젝트 개요, 아키텍처, 명명규칙
|
|
260
|
-
│ │ ├── 10.backend-api/ ← API 패턴 (스택별 맞춤)
|
|
300
|
+
│ │ ├── pass2-prompt.md ← 통합 프롬프트
|
|
301
|
+
│ │ └── pass3-prompt.md ← 생성 프롬프트 (결합)
|
|
302
|
+
│ ├── standard/ ← 코딩 표준 (15-19개 파일)
|
|
303
|
+
│ │ ├── 00.core/ ← 개요, 아키텍처, 명명 규칙
|
|
304
|
+
│ │ ├── 10.backend-api/ ← API 패턴 (스택별)
|
|
261
305
|
│ │ ├── 20.frontend-ui/ ← 프론트엔드 패턴 (감지 시)
|
|
262
|
-
│ │ ├── 30.security-db/ ← 보안, DB 스키마,
|
|
263
|
-
│ │ ├── 40.infra/ ←
|
|
264
|
-
│ │ └── 50.verification/ ← 빌드 검증, 테스트
|
|
265
|
-
│ │
|
|
306
|
+
│ │ ├── 30.security-db/ ← 보안, DB 스키마, 유틸리티
|
|
307
|
+
│ │ ├── 40.infra/ ← 설정, 로깅, CI/CD
|
|
308
|
+
│ │ └── 50.verification/ ← 빌드 검증, 테스트
|
|
266
309
|
│ ├── skills/ ← CRUD 스캐폴딩 스킬
|
|
267
|
-
│ │ ├── 10.backend-crud/ ← 백엔드 CRUD (스택별 맞춤)
|
|
268
|
-
│ │ ├── 20.frontend-page/ ← 프론트엔드 페이지 (감지 시)
|
|
269
|
-
│ │ └── 00.shared/MANIFEST.md ← 스킬 레지스트리
|
|
270
|
-
│ │
|
|
271
310
|
│ ├── guide/ ← 온보딩, FAQ, 트러블슈팅 (9개 파일)
|
|
272
311
|
│ ├── plan/ ← 마스터 플랜 (백업/복원)
|
|
273
312
|
│ ├── database/ ← DB 스키마, 마이그레이션 가이드
|
|
274
313
|
│ └── mcp-guide/ ← MCP 서버 연동 가이드
|
|
275
314
|
│
|
|
276
|
-
└── claudeos-core-tools/ ← 이 도구 (
|
|
315
|
+
└── claudeos-core-tools/ ← 이 도구 (수정 불필요)
|
|
277
316
|
```
|
|
278
317
|
|
|
279
|
-
|
|
318
|
+
모든 standard 파일은 ✅ 올바른 예시, ❌ 잘못된 예시, 규칙 요약 테이블을 포함합니다 — 제네릭 템플릿이 아닌 실제 코드 패턴에서 추출됩니다.
|
|
280
319
|
|
|
281
|
-
|
|
320
|
+
---
|
|
282
321
|
|
|
283
|
-
|
|
284
|
-
Pass 1 count auto-adjusts based on project size.
|
|
322
|
+
## 규모별 자동 조절
|
|
285
323
|
|
|
286
|
-
| 규모
|
|
324
|
+
| 규모 | 도메인 수 | Pass 1 횟수 | 총 `claude -p` | 예상 시간 |
|
|
287
325
|
|---|---|---|---|---|
|
|
288
|
-
| 소규모
|
|
289
|
-
| 중규모
|
|
290
|
-
| 대규모
|
|
291
|
-
| 초대규모
|
|
326
|
+
| 소규모 | 1–4 | 1 | 3 | ~5분 |
|
|
327
|
+
| 중규모 | 5–8 | 2 | 4 | ~8분 |
|
|
328
|
+
| 대규모 | 9–16 | 3–4 | 5–6 | ~12분 |
|
|
329
|
+
| 초대규모 | 17+ | 5+ | 7+ | ~18분+ |
|
|
330
|
+
|
|
331
|
+
멀티스택 프로젝트(예: Java + React)에서는 백엔드와 프론트엔드 도메인이 합산됩니다. 백엔드 6개 + 프론트엔드 4개 = 총 10개로 "대규모"로 스케일링됩니다.
|
|
292
332
|
|
|
293
333
|
---
|
|
294
334
|
|
|
295
|
-
##
|
|
335
|
+
## 검증 도구
|
|
296
336
|
|
|
297
|
-
|
|
337
|
+
ClaudeOS-Core에는 생성 후 자동으로 실행되는 6개의 내장 검증 도구가 포함되어 있습니다:
|
|
298
338
|
|
|
299
339
|
```bash
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
node claudeos-core-tools/bin/cli.js validate # Plan ↔ 디스크 비교
|
|
303
|
-
node claudeos-core-tools/bin/cli.js refresh # 디스크 → Plan 갱신
|
|
304
|
-
node claudeos-core-tools/bin/cli.js restore # Plan → 디스크 복원
|
|
305
|
-
node claudeos-core-tools/bin/cli.js --help # 도움말
|
|
306
|
-
node claudeos-core-tools/bin/cli.js --version # 버전 확인
|
|
307
|
-
```
|
|
308
|
-
|
|
309
|
-
`init` 실행 시 Node 18+ 및 Claude Code CLI 사전 조건을 자동 체크합니다.
|
|
310
|
-
7단계를 자동으로 실행합니다 (의존성 → 구조 → 분석 → Pass 1~3 → 검증).
|
|
340
|
+
# 한 번에 전체 확인 (권장)
|
|
341
|
+
npx claudeos-core health
|
|
311
342
|
|
|
312
|
-
|
|
343
|
+
# 개별 명령어
|
|
344
|
+
npx claudeos-core validate # Plan ↔ 디스크 비교
|
|
345
|
+
npx claudeos-core refresh # 디스크 → Plan 동기화
|
|
346
|
+
npx claudeos-core restore # Plan → 디스크 복원
|
|
313
347
|
|
|
314
|
-
|
|
315
|
-
|
|
348
|
+
# node 직접 실행 (git clone 사용자)
|
|
349
|
+
node claudeos-core-tools/health-checker/index.js
|
|
350
|
+
node claudeos-core-tools/manifest-generator/index.js
|
|
351
|
+
node claudeos-core-tools/import-linter/index.js
|
|
352
|
+
node claudeos-core-tools/plan-validator/index.js --check
|
|
353
|
+
node claudeos-core-tools/sync-checker/index.js
|
|
316
354
|
```
|
|
317
355
|
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
### plan-installer/index.js — 프로젝트 분석기 / Project Analyzer
|
|
321
|
-
|
|
322
|
-
프로젝트를 스캔하고 스택에 맞는 프롬프트를 생성합니다.
|
|
323
|
-
|
|
324
|
-
| 출력 파일 | 설명 |
|
|
356
|
+
| 도구 | 역할 |
|
|
325
357
|
|---|---|
|
|
326
|
-
|
|
|
327
|
-
|
|
|
328
|
-
|
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
설치 후 수동으로 실행하여 상태를 확인할 수 있습니다.
|
|
333
|
-
You can run these manually after installation to check status.
|
|
334
|
-
|
|
335
|
-
```bash
|
|
336
|
-
# 종합 상태 확인 (이것 하나면 됨)
|
|
337
|
-
node claudeos-core-tools/health-checker/index.js
|
|
338
|
-
|
|
339
|
-
# 개별 실행
|
|
340
|
-
node claudeos-core-tools/manifest-generator/index.js # 메타데이터 재생성
|
|
341
|
-
node claudeos-core-tools/import-linter/index.js # @import 경로 검증
|
|
342
|
-
node claudeos-core-tools/plan-validator/index.js --check # Plan ↔ 디스크 비교
|
|
343
|
-
node claudeos-core-tools/plan-validator/index.js --refresh # 디스크 → Plan 갱신
|
|
344
|
-
node claudeos-core-tools/plan-validator/index.js --execute # Plan → 디스크 복원
|
|
345
|
-
node claudeos-core-tools/sync-checker/index.js # 동기화 확인
|
|
346
|
-
```
|
|
358
|
+
| **manifest-generator** | 메타데이터 JSON 생성 (rule-manifest, import-graph, sync-map, plan-manifest) |
|
|
359
|
+
| **import-linter** | `@import` 경로 검증 — 깨진 경로, 중복, 순환 참조 탐지 (DFS) |
|
|
360
|
+
| **plan-validator** | Master Plan `<file>` 블록과 디스크 비교 — check, refresh, restore 3가지 모드 |
|
|
361
|
+
| **sync-checker** | 미등록 파일 (디스크에 있지만 Plan에 없는) 및 고아 항목 탐지 |
|
|
362
|
+
| **content-validator** | 파일 품질 검증 — 빈 파일, ✅/❌ 예시 누락, 필수 섹션 확인 |
|
|
363
|
+
| **pass-json-validator** | Pass 1–3 JSON 구조, 필수 키, 섹션 완성도 검증 |
|
|
347
364
|
|
|
348
365
|
---
|
|
349
366
|
|
|
350
|
-
##
|
|
367
|
+
## 일상 워크플로우
|
|
351
368
|
|
|
352
|
-
### 설치 후
|
|
369
|
+
### 설치 후
|
|
353
370
|
|
|
354
371
|
```
|
|
355
|
-
# Claude Code
|
|
372
|
+
# Claude Code를 평소처럼 사용하면 됩니다 — 표준을 자동으로 참조합니다:
|
|
356
373
|
"주문 도메인 CRUD 만들어줘"
|
|
357
374
|
"사용자 프로필 수정 API 추가해줘"
|
|
358
375
|
"이 코드를 프로젝트 패턴에 맞게 리팩토링해줘"
|
|
359
|
-
|
|
360
|
-
# Claude Code는 자동으로:
|
|
361
|
-
# 1. .claude/rules/ 규칙을 참조
|
|
362
|
-
# 2. claudeos-core/standard/ 표준을 참조
|
|
363
|
-
# 3. claudeos-core/skills/ 스킬을 실행
|
|
364
|
-
# → 프로젝트 패턴에 맞는 코드를 생성합니다
|
|
365
376
|
```
|
|
366
377
|
|
|
367
|
-
###
|
|
368
|
-
|
|
369
|
-
standard 파일을 직접 수정했다면:
|
|
378
|
+
### 표준을 직접 편집한 후
|
|
370
379
|
|
|
371
380
|
```bash
|
|
372
|
-
#
|
|
373
|
-
|
|
374
|
-
node claudeos-core-tools/bin/cli.js health # 전체 상태 확인
|
|
381
|
+
# 변경 사항을 Master Plan에 동기화
|
|
382
|
+
npx claudeos-core refresh
|
|
375
383
|
|
|
376
|
-
#
|
|
377
|
-
|
|
378
|
-
node claudeos-core-tools/health-checker/index.js
|
|
384
|
+
# 전체 일관성 확인
|
|
385
|
+
npx claudeos-core health
|
|
379
386
|
```
|
|
380
387
|
|
|
381
|
-
### 문서가 깨졌을 때
|
|
388
|
+
### 문서가 깨졌을 때
|
|
382
389
|
|
|
383
390
|
```bash
|
|
384
|
-
#
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
# 또는 직접 실행
|
|
388
|
-
node claudeos-core-tools/plan-validator/index.js --execute
|
|
391
|
+
# Master Plan에서 전체 복원
|
|
392
|
+
npx claudeos-core restore
|
|
389
393
|
```
|
|
390
394
|
|
|
391
|
-
### CI/CD 연동
|
|
395
|
+
### CI/CD 연동
|
|
392
396
|
|
|
393
397
|
```yaml
|
|
394
398
|
# GitHub Actions 예시
|
|
395
|
-
- run:
|
|
396
|
-
#
|
|
399
|
+
- run: npx claudeos-core validate
|
|
400
|
+
# Exit code 1이면 PR 블록
|
|
397
401
|
```
|
|
398
402
|
|
|
399
403
|
---
|
|
400
404
|
|
|
405
|
+
## 무엇이 다른가?
|
|
406
|
+
|
|
407
|
+
| | ClaudeOS-Core | SuperClaude | 수동 CLAUDE.md | 제네릭 스킬 |
|
|
408
|
+
|---|---|---|---|---|
|
|
409
|
+
| **코드 분석** | ✅ 심층 분석 (55–95 카테고리) | ❌ 행동 주입 | ❌ 수동 작성 | ❌ 사전 제작 템플릿 |
|
|
410
|
+
| **프로젝트 특화 출력** | ✅ 모든 파일이 실제 패턴 반영 | ❌ 제네릭 명령어 | 부분적 | ❌ 획일적 |
|
|
411
|
+
| **멀티스택** | ✅ 자동 감지 + 별도 분석 | ❌ 스택 무관 | 수동 | 다양 |
|
|
412
|
+
| **Kotlin + CQRS/BFF** | ✅ 멀티모듈, Command/Query 분리 | ❌ | ❌ | ❌ |
|
|
413
|
+
| **자체 검증** | ✅ 6개 검증 도구 | ❌ | ❌ | ❌ |
|
|
414
|
+
| **백업 / 복원** | ✅ Master Plan 시스템 | ❌ | ❌ | ❌ |
|
|
415
|
+
| **설정 시간** | ~5–18분 (자동화) | ~5분 (수동 설정) | 수 시간–며칠 | ~5분 |
|
|
401
416
|
|
|
402
417
|
---
|
|
403
418
|
|
|
404
|
-
##
|
|
419
|
+
## FAQ
|
|
420
|
+
|
|
421
|
+
**Q: 소스코드를 수정하나요?**
|
|
422
|
+
아니요. `CLAUDE.md`, `.claude/rules/`, `claudeos-core/`만 생성합니다. 기존 코드는 절대 수정하지 않습니다.
|
|
423
|
+
|
|
424
|
+
**Q: 비용이 얼마나 드나요?**
|
|
425
|
+
`claude -p`를 3–7회 호출합니다. 일반적인 Claude Code 사용량 내에서 처리됩니다.
|
|
426
|
+
|
|
427
|
+
**Q: 생성된 파일을 Git에 커밋해야 하나요?**
|
|
428
|
+
네, 권장합니다. 팀원 전체가 동일한 Claude Code 표준을 공유할 수 있습니다. `claudeos-core/generated/`는 `.gitignore`에 추가하는 것을 권장합니다 (분석 JSON은 재생성 가능).
|
|
429
|
+
|
|
430
|
+
**Q: 멀티스택 프로젝트(예: Java 백엔드 + React 프론트엔드)는?**
|
|
431
|
+
완전 지원됩니다. ClaudeOS-Core가 두 스택을 자동 감지하고, 도메인을 `backend`/`frontend`로 태깅하여 각각 스택별 분석 프롬프트를 사용합니다. Pass 2에서 통합하고, Pass 3에서 백엔드와 프론트엔드 표준을 한 번에 생성합니다.
|
|
432
|
+
|
|
433
|
+
**Q: 재실행하면 어떻게 되나요?**
|
|
434
|
+
Pass 1/2 JSON이 이미 존재하면 해당 단계를 건너뜁니다. Pass 3는 항상 재실행됩니다. 이전 버전은 Master Plans에서 복원할 수 있습니다.
|
|
405
435
|
|
|
406
|
-
|
|
436
|
+
**Q: Kotlin을 지원하나요?**
|
|
437
|
+
네. ClaudeOS-Core는 `build.gradle.kts` 또는 `build.gradle`의 kotlin 플러그인에서 Kotlin을 자동 감지합니다. Kotlin 전용 `kotlin-spring` 템플릿을 사용하여 data class, sealed class, 코루틴, 확장 함수, MockK 등 Kotlin 고유 패턴을 분석합니다.
|
|
438
|
+
|
|
439
|
+
**Q: CQRS / BFF 아키텍처는?**
|
|
440
|
+
Kotlin 멀티모듈 프로젝트에서 완전 지원됩니다. `settings.gradle.kts`를 읽어 모듈명에서 타입(command, query, bff, integration)을 감지하고, 같은 도메인의 Command/Query 모듈을 그룹핑합니다. 생성되는 표준에는 command controller vs query controller 별도 규칙, BFF/Feign 패턴, 모듈 간 통신 규칙이 포함됩니다.
|
|
441
|
+
|
|
442
|
+
**Q: Gradle 멀티모듈 모노레포는?**
|
|
443
|
+
ClaudeOS-Core는 중첩 깊이에 관계없이 모든 서브모듈(`**/src/main/kotlin/**/*.kt`)을 스캔합니다. 모듈 타입은 이름 규칙으로 추론됩니다 (예: `reservation-command-server` → 도메인: `reservation`, 타입: `command`). 공유 라이브러리(`shared-lib`, `integration-lib`)도 감지됩니다.
|
|
444
|
+
|
|
445
|
+
---
|
|
446
|
+
|
|
447
|
+
## 템플릿 구조
|
|
448
|
+
|
|
449
|
+
```
|
|
450
|
+
pass-prompts/templates/
|
|
451
|
+
├── common/ # 공통 헤더/푸터
|
|
452
|
+
├── java-spring/ # Java / Spring Boot
|
|
453
|
+
├── kotlin-spring/ # Kotlin / Spring Boot (CQRS, BFF, 멀티모듈)
|
|
454
|
+
├── node-express/ # Node.js / Express / NestJS
|
|
455
|
+
├── node-nextjs/ # Next.js / React / Vue
|
|
456
|
+
├── python-django/ # Python / Django (DRF)
|
|
457
|
+
└── python-fastapi/ # Python / FastAPI
|
|
458
|
+
```
|
|
459
|
+
|
|
460
|
+
`plan-installer`가 스택을 자동 감지한 후 타입별 프롬프트를 조합합니다. 멀티스택 프로젝트에서는 `pass1-backend-prompt.md`와 `pass1-frontend-prompt.md`가 별도로 생성되고, `pass3-prompt.md`는 두 스택의 생성 대상을 결합합니다.
|
|
461
|
+
|
|
462
|
+
---
|
|
463
|
+
|
|
464
|
+
## 모노레포 지원
|
|
465
|
+
|
|
466
|
+
ClaudeOS-Core는 **현재 디렉토리**의 `package.json`을 읽습니다. 모노레포 환경(Turborepo, Nx, Lerna, pnpm workspaces)에서는 루트 `package.json`에 `next`, `express`, `react` 같은 프레임워크 의존성이 없는 경우가 많습니다 — 개별 앱 디렉토리에 있기 때문입니다.
|
|
407
467
|
|
|
408
468
|
**모노레포 루트가 아닌 앱 디렉토리에서 실행하세요:**
|
|
409
469
|
|
|
@@ -417,7 +477,7 @@ cd apps/frontend
|
|
|
417
477
|
npx claudeos-core init
|
|
418
478
|
```
|
|
419
479
|
|
|
420
|
-
각
|
|
480
|
+
각 앱은 해당 스택과 패턴에 맞는 독립적인 Standards, Rules, Skills, Guides를 갖게 됩니다.
|
|
421
481
|
|
|
422
482
|
**일반적인 모노레포 구조:**
|
|
423
483
|
|
|
@@ -433,129 +493,36 @@ my-monorepo/ ← 여기서 실행하지 마세요 (루트에
|
|
|
433
493
|
└── package.json ← devDependencies만 (turbo, eslint 등)
|
|
434
494
|
```
|
|
435
495
|
|
|
436
|
-
##
|
|
496
|
+
## 트러블슈팅
|
|
437
497
|
|
|
438
|
-
|
|
498
|
+
**"claude: command not found"** — Claude Code CLI가 설치되지 않았거나 PATH에 없습니다. [Claude Code 공식 문서](https://code.claude.com/docs/en/overview)를 참조하세요.
|
|
439
499
|
|
|
440
|
-
|
|
441
|
-
Claude Code CLI is not installed or not in PATH.
|
|
500
|
+
**"npm install 실패"** — Node.js 버전이 낮을 수 있습니다. v18+ 필요.
|
|
442
501
|
|
|
443
|
-
|
|
444
|
-
# 설치 확인
|
|
445
|
-
which claude
|
|
446
|
-
claude --version
|
|
502
|
+
**"도메인 0개 감지됨"** — 프로젝트 구조가 비표준일 수 있습니다. 스택별 감지 패턴은 위의 [지원 스택](#지원-스택) 섹션을 참조하세요.
|
|
447
503
|
|
|
448
|
-
|
|
449
|
-
```
|
|
504
|
+
**Kotlin 프로젝트에서 "도메인 0개 감지됨"** — 프로젝트 루트에 `build.gradle.kts` (또는 kotlin 플러그인이 있는 `build.gradle`)가 있고, 소스 파일이 `**/src/main/kotlin/` 아래에 있는지 확인하세요. 멀티모듈 프로젝트는 `settings.gradle.kts`에 `include()` 문이 포함되어 있어야 합니다. 단일 모듈 Kotlin 프로젝트(`settings.gradle` 없음)도 지원됩니다 — `src/main/kotlin/` 하위 패키지/클래스 구조에서 도메인을 추출합니다.
|
|
450
505
|
|
|
451
|
-
|
|
506
|
+
**"언어가 kotlin 대신 java로 감지됨"** — ClaudeOS-Core는 루트 `build.gradle(.kts)`를 먼저 확인한 후 서브모듈 빌드 파일을 확인합니다. 루트 빌드 파일이 `kotlin` 없이 `java` 플러그인만 사용하는 경우, 최대 5개 서브모듈 빌드 파일을 폴백으로 검사합니다. 그래도 감지되지 않으면 최소 하나의 `build.gradle.kts`에 `kotlin("jvm")` 또는 `org.jetbrains.kotlin`이 포함되어 있는지 확인하세요.
|
|
452
507
|
|
|
453
|
-
|
|
454
|
-
Node.js version might be too low.
|
|
455
|
-
|
|
456
|
-
```bash
|
|
457
|
-
node --version # v18 이상 필요
|
|
458
|
-
```
|
|
459
|
-
|
|
460
|
-
### "파일 쓰기 권한 프롬프트 / File write permission prompt"
|
|
461
|
-
|
|
462
|
-
`bootstrap.sh`는 `--dangerously-skip-permissions` 플래그를 사용하므로 권한 확인 없이 자동으로 처리됩니다.
|
|
463
|
-
별도 승인이 필요하지 않습니다.
|
|
464
|
-
|
|
465
|
-
`bootstrap.sh` uses the `--dangerously-skip-permissions` flag, so file write permissions are handled automatically.
|
|
466
|
-
No manual approval is required.
|
|
467
|
-
|
|
468
|
-
### "도메인이 0개로 감지됨"
|
|
469
|
-
|
|
470
|
-
프로젝트 구조가 비표준일 수 있습니다. plan-installer가 다음 패턴을 찾습니다:
|
|
471
|
-
|
|
472
|
-
| 스택 | 찾는 패턴 |
|
|
473
|
-
|---|---|
|
|
474
|
-
| Java | `src/main/java/**/controller/*/` |
|
|
475
|
-
| NestJS | `src/modules/*/` 또는 `src/*/` |
|
|
476
|
-
| Next.js | `app/*/`, `pages/*/`, `components/*/` |
|
|
477
|
-
| Django | `**/models.py`가 있는 디렉토리 |
|
|
478
|
-
| FastAPI | `**/{router,routes,endpoints}*.py`가 있는 디렉토리 |
|
|
508
|
+
**"CQRS가 감지되지 않음"** — 아키텍처 감지는 모듈명에 `command`와 `query` 키워드가 포함되어야 합니다. 다른 이름을 사용하는 경우(예: `write-server`, `read-server`) CQRS가 자동 감지되지 않습니다. plan-installer 실행 후 생성된 프롬프트를 수동으로 조정할 수 있습니다.
|
|
479
509
|
|
|
480
510
|
---
|
|
481
511
|
|
|
482
|
-
##
|
|
483
|
-
|
|
484
|
-
### Q: 실행 비용이 얼마나 드나요? / How much does it cost?
|
|
485
|
-
|
|
486
|
-
`claude -p`를 3~7회 호출합니다. Claude Code의 일반 사용량 내에서 처리됩니다.
|
|
487
|
-
Calls `claude -p` 3-7 times. This is within normal Claude Code usage.
|
|
488
|
-
|
|
489
|
-
### Q: 기존 프로젝트 파일을 수정하나요? / Does it modify existing project files?
|
|
490
|
-
|
|
491
|
-
아니요. `CLAUDE.md`, `.claude/rules/`, `claudeos-core/` 만 생성합니다.
|
|
492
|
-
기존 소스 코드는 **절대 수정하지 않습니다.**
|
|
493
|
-
|
|
494
|
-
No. Only creates `CLAUDE.md`, `.claude/rules/`, and `claudeos-core/`.
|
|
495
|
-
It **never modifies** existing source code.
|
|
496
|
-
|
|
497
|
-
### Q: Git에 커밋해야 하나요? / Should I commit to Git?
|
|
498
|
-
|
|
499
|
-
**네, 권장합니다.** 팀원도 같은 Claude Code 표준을 사용할 수 있습니다.
|
|
500
|
-
`.gitignore`에 `claudeos-core/generated/` 를 추가하는 것을 권장합니다 (분석 JSON은 재생성 가능).
|
|
501
|
-
|
|
502
|
-
**Yes, recommended.** Team members can use the same Claude Code standards.
|
|
503
|
-
Consider adding `claudeos-core/generated/` to `.gitignore` (analysis JSON is regeneratable).
|
|
504
|
-
|
|
505
|
-
### Q: 여러 스택이 섞인 프로젝트는? / Mixed-stack projects?
|
|
506
|
-
|
|
507
|
-
Java 백엔드 + React 프론트엔드 같은 모노레포를 완전 지원합니다.
|
|
508
|
-
양쪽 스택을 자동 감지하고, 도메인을 backend/frontend로 태깅하여,
|
|
509
|
-
각각에 맞는 분석 프롬프트로 Pass 1을 실행합니다.
|
|
510
|
-
Pass 2에서 통합, Pass 3에서 양쪽 표준을 한 번에 생성합니다.
|
|
511
|
-
|
|
512
|
-
For monorepos like Java backend + React frontend, both stacks are fully supported.
|
|
513
|
-
Domains are tagged as backend/frontend and analyzed with stack-specific prompts.
|
|
512
|
+
## 기여
|
|
514
513
|
|
|
515
|
-
|
|
514
|
+
기여를 환영합니다! 도움이 가장 필요한 영역:
|
|
516
515
|
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
If pass1/2 JSON files already exist, those steps are skipped automatically.
|
|
522
|
-
Pass 3 always re-runs and overwrites `claudeos-core/` files.
|
|
523
|
-
Previous versions can be restored from master plans (`claudeos-core/plan/`).
|
|
516
|
+
- **새 스택 템플릿** — Ruby/Rails, Go/Gin, PHP/Laravel, Rust/Axum
|
|
517
|
+
- **모노레포 심화 지원** — 서브프로젝트 루트 분리, 워크스페이스 감지
|
|
518
|
+
- **테스트 커버리지** — 전체 검증 도구 단위 테스트
|
|
524
519
|
|
|
525
520
|
---
|
|
526
521
|
|
|
527
|
-
##
|
|
528
|
-
|
|
529
|
-
```
|
|
530
|
-
pass-prompts/templates/
|
|
531
|
-
├── common/ # 공통 헤더/푸터 / Common header/footer
|
|
532
|
-
├── java-spring/ # Java / Spring Boot
|
|
533
|
-
│ ├── pass1.md # 깊이 분석 프롬프트 / Deep analysis prompt
|
|
534
|
-
│ ├── pass2.md # 통합 프롬프트 / Merge prompt
|
|
535
|
-
│ └── pass3.md # 생성 프롬프트 / Generate prompt
|
|
536
|
-
├── node-express/ # Node.js / Express / NestJS
|
|
537
|
-
├── node-nextjs/ # Next.js / React / Vue
|
|
538
|
-
├── python-django/ # Python / Django (DRF)
|
|
539
|
-
└── python-fastapi/ # Python / FastAPI
|
|
540
|
-
```
|
|
541
|
-
|
|
542
|
-
plan-installer가 프로젝트 스택을 자동 감지한 후,
|
|
543
|
-
`common/header.md` + 스택 본문 + `common/pass3-footer.md`를 조합하여
|
|
544
|
-
타입별 프롬프트를 생성합니다. 멀티스택 프로젝트에서는 백엔드/프론트엔드
|
|
545
|
-
각각의 pass1 프롬프트가 생성되고, pass3는 양쪽이 결합됩니다.
|
|
546
|
-
|
|
547
|
-
After auto-detecting the project stack, plan-installer assembles
|
|
548
|
-
type-specific prompts. For multi-stack projects, separate pass1 prompts
|
|
549
|
-
are generated for backend and frontend, while pass3 combines both.
|
|
522
|
+
## 만든 사람
|
|
550
523
|
|
|
551
|
-
|
|
524
|
+
**claudeos-core** — [GitHub](https://github.com/claudeos-core) · [Email](mailto:claudeoscore@gmail.com)
|
|
552
525
|
|
|
553
|
-
##
|
|
526
|
+
## 라이선스
|
|
554
527
|
|
|
555
528
|
ISC
|
|
556
|
-
|
|
557
|
-
---
|
|
558
|
-
|
|
559
|
-
## 만든 사람
|
|
560
|
-
|
|
561
|
-
**claudeos-core** — [GitHub](https://github.com/claudeos-core) · [Email](mailto:claudeoscore@gmail.com)
|