codesyncer 2.0.0 → 2.0.1
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/README.ko.md +30 -16
- package/README.md +30 -16
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +35 -2
- package/dist/commands/init.js.map +1 -1
- package/package.json +1 -1
package/README.ko.md
CHANGED
|
@@ -127,28 +127,42 @@ codesyncer init
|
|
|
127
127
|
|
|
128
128
|
**CodeSyncer는 여기까지만 합니다!** 프레임워크와 규칙만 제공하고, 이제 AI가 직접 설정합니다.
|
|
129
129
|
|
|
130
|
-
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## ⚠️ 중요: 5단계 - AI가 모든 설정 완료
|
|
133
|
+
|
|
134
|
+
> **🎯 이 단계를 건너뛰지 마세요!** 여기서 마법이 일어납니다.
|
|
131
135
|
|
|
132
|
-
Claude Code (또는 선호하는 AI 어시스턴트)
|
|
136
|
+
**Claude Code 실행** (또는 선호하는 AI 어시스턴트)하고 다음과 같이 말하세요:
|
|
133
137
|
|
|
134
138
|
```
|
|
135
139
|
".codesyncer/SETUP_GUIDE.md 파일을 읽고 지시사항대로 설정해줘"
|
|
136
140
|
```
|
|
137
141
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
142
|
+
### 이후 자동으로 진행되는 작업:
|
|
143
|
+
|
|
144
|
+
**1️⃣ AI가 코드 분석**
|
|
145
|
+
- 각 레포지토리의 실제 파일 읽기
|
|
146
|
+
- 기술 스택, 패턴, 구조 파악
|
|
147
|
+
- 프로젝트 아키텍처 이해
|
|
148
|
+
|
|
149
|
+
**2️⃣ AI가 중요한 질문** (절대 추론하지 않음!)
|
|
150
|
+
- ❓ "API 엔드포인트가 뭐예요?"
|
|
151
|
+
- ❓ "가격 정책과 비즈니스 로직은 어떻게 되나요?"
|
|
152
|
+
- ❓ "어떤 인증 방식을 사용하나요?"
|
|
153
|
+
- ❓ "데이터베이스 스키마는 어떻게 구성되어 있나요?"
|
|
154
|
+
- ❓ "어떤 외부 서비스와 연동하나요?"
|
|
155
|
+
|
|
156
|
+
**3️⃣ AI가 완전한 문서 생성**
|
|
157
|
+
- `.codesyncer/MASTER_CODESYNCER.md` → 멀티 레포 네비게이션
|
|
158
|
+
- `<repo>/.claude/CLAUDE.md` → 코딩 규칙
|
|
159
|
+
- `<repo>/.claude/ARCHITECTURE.md` → 프로젝트 구조
|
|
160
|
+
- `<repo>/.claude/DECISIONS.md` → 의사결정 기록
|
|
161
|
+
- `<repo>/.claude/COMMENT_GUIDE.md` → 주석 태그 가이드
|
|
162
|
+
|
|
163
|
+
> **💡 왜 이게 효과적인가**: AI가 여러분의 실제 코드를 분석하고 질문합니다. 생성된 문서는 일반적인 템플릿이 아닌, 여러분의 프로젝트에 맞춤화된 내용입니다.
|
|
164
|
+
|
|
165
|
+
---
|
|
152
166
|
|
|
153
167
|
### 6단계: 코딩 시작!
|
|
154
168
|
|
package/README.md
CHANGED
|
@@ -127,28 +127,42 @@ You'll be asked:
|
|
|
127
127
|
|
|
128
128
|
**That's all CodeSyncer does!** It provides the framework and rules. Now your AI takes over.
|
|
129
129
|
|
|
130
|
-
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## ⚠️ IMPORTANT: Step 5 - Let AI Set Everything Up
|
|
133
|
+
|
|
134
|
+
> **🎯 Don't skip this step!** This is where the magic happens.
|
|
131
135
|
|
|
132
|
-
Launch Claude Code (or your preferred AI assistant) and say:
|
|
136
|
+
**Launch Claude Code** (or your preferred AI assistant) and say:
|
|
133
137
|
|
|
134
138
|
```
|
|
135
139
|
"Read .codesyncer/SETUP_GUIDE.md and follow the instructions to set up"
|
|
136
140
|
```
|
|
137
141
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
142
|
+
### What happens next (automatically):
|
|
143
|
+
|
|
144
|
+
**1️⃣ AI Analyzes Your Code**
|
|
145
|
+
- Reads actual files in each repository
|
|
146
|
+
- Detects tech stack, patterns, and structure
|
|
147
|
+
- Understands your project architecture
|
|
148
|
+
|
|
149
|
+
**2️⃣ AI Asks Critical Questions** (Never assumes!)
|
|
150
|
+
- ❓ "What are your API endpoints?"
|
|
151
|
+
- ❓ "What's your pricing and business logic?"
|
|
152
|
+
- ❓ "Which authentication method do you use?"
|
|
153
|
+
- ❓ "What's your database schema?"
|
|
154
|
+
- ❓ "Which external services do you integrate?"
|
|
155
|
+
|
|
156
|
+
**3️⃣ AI Generates Complete Documentation**
|
|
157
|
+
- `.codesyncer/MASTER_CODESYNCER.md` → Multi-repo navigation
|
|
158
|
+
- `<repo>/.claude/CLAUDE.md` → Coding rules
|
|
159
|
+
- `<repo>/.claude/ARCHITECTURE.md` → Project structure
|
|
160
|
+
- `<repo>/.claude/DECISIONS.md` → Decision log
|
|
161
|
+
- `<repo>/.claude/COMMENT_GUIDE.md` → Comment tag guide
|
|
162
|
+
|
|
163
|
+
> **💡 Why this works**: AI analyzes YOUR actual code and asks YOU questions. The generated docs are tailored to your specific project, not generic templates.
|
|
164
|
+
|
|
165
|
+
---
|
|
152
166
|
|
|
153
167
|
### Step 6: Start Coding!
|
|
154
168
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAY,MAAM,UAAU,CAAC;AAIjD,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAY,MAAM,UAAU,CAAC;AAIjD,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,iBAuNrD"}
|
package/dist/commands/init.js
CHANGED
|
@@ -123,12 +123,45 @@ async function initCommand(options) {
|
|
|
123
123
|
console.log(` ${chalk_1.default.gray('Desc:')} ${repo.description || 'N/A'}`);
|
|
124
124
|
console.log();
|
|
125
125
|
});
|
|
126
|
+
// STEP 3.5: Select repositories to include
|
|
127
|
+
const { selectedRepos } = await inquirer_1.default.prompt([
|
|
128
|
+
{
|
|
129
|
+
type: 'checkbox',
|
|
130
|
+
name: 'selectedRepos',
|
|
131
|
+
message: lang === 'ko'
|
|
132
|
+
? '포함할 레포지토리를 선택하세요 (스페이스바로 선택, 엔터로 확인):'
|
|
133
|
+
: 'Select repositories to include (space to select, enter to confirm):',
|
|
134
|
+
choices: foundRepos.map(repo => {
|
|
135
|
+
const typeLabel = lang === 'ko'
|
|
136
|
+
? { frontend: '프론트엔드', backend: '백엔드', mobile: '모바일', fullstack: '풀스택' }[repo.type]
|
|
137
|
+
: repo.type;
|
|
138
|
+
return {
|
|
139
|
+
name: `${repo.name} (${typeLabel} - ${repo.techStack?.join(', ') || 'N/A'})`,
|
|
140
|
+
value: repo.name,
|
|
141
|
+
checked: true, // 기본적으로 모두 선택
|
|
142
|
+
};
|
|
143
|
+
}),
|
|
144
|
+
validate: (input) => {
|
|
145
|
+
if (input.length === 0) {
|
|
146
|
+
return lang === 'ko'
|
|
147
|
+
? '최소 하나의 레포지토리를 선택하세요'
|
|
148
|
+
: 'Please select at least one repository';
|
|
149
|
+
}
|
|
150
|
+
return true;
|
|
151
|
+
},
|
|
152
|
+
},
|
|
153
|
+
]);
|
|
154
|
+
// Filter selected repositories
|
|
155
|
+
const includedRepos = foundRepos.filter(repo => selectedRepos.includes(repo.name));
|
|
156
|
+
console.log();
|
|
157
|
+
console.log(chalk_1.default.green(`✓ ${includedRepos.length}${lang === 'ko' ? '개 레포지토리 선택됨' : ' repositories selected'}`));
|
|
158
|
+
console.log();
|
|
126
159
|
// STEP 4: Generate SETUP_GUIDE.md
|
|
127
160
|
console.log(chalk_1.default.bold.cyan(lang === 'ko' ? '📝 설정 가이드 생성 중...\n' : '📝 Generating setup guide...\n'));
|
|
128
161
|
const codeSyncerDir = path.join(currentDir, '.codesyncer');
|
|
129
162
|
await fs.ensureDir(codeSyncerDir);
|
|
130
|
-
// Generate repository list for SETUP_GUIDE
|
|
131
|
-
const repoListText =
|
|
163
|
+
// Generate repository list for SETUP_GUIDE (only selected repos)
|
|
164
|
+
const repoListText = includedRepos.map(repo => {
|
|
132
165
|
const typeLabel = lang === 'ko'
|
|
133
166
|
? { frontend: '프론트엔드', backend: '백엔드', mobile: '모바일', fullstack: '풀스택' }[repo.type]
|
|
134
167
|
: repo.type;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|