@gemdoq/codi 0.1.0 → 0.1.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.
- package/README.md +114 -11
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -12,18 +12,36 @@
|
|
|
12
12
|
# Node.js 20 이상 필요
|
|
13
13
|
node --version # v20.0.0+
|
|
14
14
|
|
|
15
|
-
#
|
|
15
|
+
# npm으로 설치 (추천)
|
|
16
|
+
npm install -g @gemdoq/codi
|
|
17
|
+
|
|
18
|
+
# 또는 설치 없이 바로 실행
|
|
19
|
+
npx @gemdoq/codi
|
|
20
|
+
|
|
21
|
+
# 또는 Homebrew (macOS)
|
|
22
|
+
brew tap gemdoq/codi
|
|
23
|
+
brew install codi
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
<details>
|
|
27
|
+
<summary>소스에서 직접 빌드하기</summary>
|
|
28
|
+
|
|
29
|
+
```bash
|
|
16
30
|
git clone https://github.com/gemdoq/codi.git
|
|
17
31
|
cd codi
|
|
18
32
|
npm install
|
|
19
33
|
npm run build
|
|
20
|
-
npm link # 전역 명령어로 등록
|
|
34
|
+
npm link # 전역 명령어로 등록
|
|
21
35
|
```
|
|
22
36
|
|
|
37
|
+
</details>
|
|
38
|
+
|
|
23
39
|
### 2. API 키 설정
|
|
24
40
|
|
|
25
41
|
Codi는 기본적으로 **Google Gemini 2.5 Flash** (무료)를 사용합니다.
|
|
26
42
|
|
|
43
|
+
처음 실행하면 설정 마법사가 자동으로 안내합니다. 수동 설정도 가능합니다:
|
|
44
|
+
|
|
27
45
|
**API 키 발급:**
|
|
28
46
|
1. [Google AI Studio](https://aistudio.google.com/apikey) 접속
|
|
29
47
|
2. Google 계정으로 로그인
|
|
@@ -58,14 +76,7 @@ EOF
|
|
|
58
76
|
### 3. 실행
|
|
59
77
|
|
|
60
78
|
```bash
|
|
61
|
-
# 대화형 세션 시작
|
|
62
79
|
codi
|
|
63
|
-
|
|
64
|
-
# 또는 빌드된 파일 직접 실행
|
|
65
|
-
node dist/cli.js
|
|
66
|
-
|
|
67
|
-
# 또는 개발 모드 (빌드 없이)
|
|
68
|
-
npx tsx src/cli.ts
|
|
69
80
|
```
|
|
70
81
|
|
|
71
82
|
## 사용법
|
|
@@ -91,6 +102,15 @@ codi -p "이 디렉토리의 파일 목록을 보여줘"
|
|
|
91
102
|
codi -p "README.md를 한국어로 번역해줘"
|
|
92
103
|
```
|
|
93
104
|
|
|
105
|
+
### 종료
|
|
106
|
+
|
|
107
|
+
```
|
|
108
|
+
exit # 또는 quit, q
|
|
109
|
+
/quit # 또는 /exit
|
|
110
|
+
Ctrl+D # 즉시 종료
|
|
111
|
+
Ctrl+C # 두 번 누르면 종료
|
|
112
|
+
```
|
|
113
|
+
|
|
94
114
|
### CLI 옵션
|
|
95
115
|
|
|
96
116
|
| 옵션 | 설명 |
|
|
@@ -343,8 +363,8 @@ EOF
|
|
|
343
363
|
|
|
344
364
|
| 단축키 | 기능 |
|
|
345
365
|
|--------|------|
|
|
346
|
-
| `Ctrl+C` | 현재 작업 취소 |
|
|
347
|
-
| `Ctrl+D` | 종료 |
|
|
366
|
+
| `Ctrl+C` | 현재 작업 취소 (두 번 누르면 종료) |
|
|
367
|
+
| `Ctrl+D` | 즉시 종료 |
|
|
348
368
|
| `Ctrl+L` | 화면 지우기 |
|
|
349
369
|
| `Tab` | 자동 완성 (커맨드, 파일 경로) |
|
|
350
370
|
|
|
@@ -354,6 +374,89 @@ EOF
|
|
|
354
374
|
- **ripgrep** (`rg`) - 코드 검색 성능 향상 (선택, 없으면 grep 사용)
|
|
355
375
|
- **Git** - Git 관련 기능 사용 시 필요
|
|
356
376
|
|
|
377
|
+
## 배포 (메인테이너용)
|
|
378
|
+
|
|
379
|
+
새 버전을 배포하는 방법입니다. 터미널에서 아래 두 줄만 실행하면 됩니다.
|
|
380
|
+
|
|
381
|
+
### 버전 종류
|
|
382
|
+
|
|
383
|
+
| 명령어 | 변화 | 언제 쓰나 |
|
|
384
|
+
|--------|------|----------|
|
|
385
|
+
| `npm version patch` | 0.1.1 → 0.1.**2** | 버그 수정 |
|
|
386
|
+
| `npm version minor` | 0.1.1 → 0.**2**.0 | 새 기능 추가 |
|
|
387
|
+
| `npm version major` | 0.1.1 → **1**.0.0 | 큰 변경 (호환 깨질 때) |
|
|
388
|
+
|
|
389
|
+
### 전체 흐름 (예시)
|
|
390
|
+
|
|
391
|
+
예를 들어 "슬래시 커맨드 `/version`을 추가"하는 작업을 했다면:
|
|
392
|
+
|
|
393
|
+
```bash
|
|
394
|
+
# ① 평소처럼 코드를 수정하고 커밋한다 (여기까지는 항상 하던 것과 동일)
|
|
395
|
+
git add src/config/slash-commands.ts
|
|
396
|
+
git commit -m "feat: add /version slash command"
|
|
397
|
+
|
|
398
|
+
# 필요하면 커밋을 여러 번 해도 된다
|
|
399
|
+
git add src/ui/renderer.ts
|
|
400
|
+
git commit -m "fix: fix rendering bug"
|
|
401
|
+
|
|
402
|
+
# ② 작업이 다 끝나면, 버전을 올린다
|
|
403
|
+
npm version patch
|
|
404
|
+
|
|
405
|
+
# ③ GitHub에 올린다 (이러면 자동으로 npm 배포 + Homebrew 업데이트됨)
|
|
406
|
+
git push origin main --tags
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
`npm version patch`는 내부적으로 이 세 가지를 한번에 해주는 단축 명령어입니다:
|
|
410
|
+
1. `package.json`의 `"version": "0.1.1"` → `"0.1.2"`로 수정
|
|
411
|
+
2. 자동으로 `git commit`
|
|
412
|
+
3. 자동으로 `git tag v0.1.2` (이 커밋에 버전 이름표 부착)
|
|
413
|
+
|
|
414
|
+
그래서 흐름을 정리하면:
|
|
415
|
+
|
|
416
|
+
```
|
|
417
|
+
[평소 작업] [배포]
|
|
418
|
+
|
|
419
|
+
코드 수정 → git commit npm version patch → git push origin main --tags
|
|
420
|
+
코드 수정 → git commit ↓
|
|
421
|
+
코드 수정 → git commit GitHub Actions 자동 실행
|
|
422
|
+
↓ ↓
|
|
423
|
+
여기까지는 평소랑 똑같음 npm 배포 + Homebrew 업데이트
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
### 배포 절차 (요약)
|
|
427
|
+
|
|
428
|
+
```bash
|
|
429
|
+
cd ~/codi
|
|
430
|
+
npm version patch # 버전업 + 자동 커밋 + 자동 태그
|
|
431
|
+
git push origin main --tags # push하면 자동 배포
|
|
432
|
+
```
|
|
433
|
+
|
|
434
|
+
이게 끝입니다. GitHub Actions가 자동으로:
|
|
435
|
+
1. 테스트 실행
|
|
436
|
+
2. npm에 새 버전 배포
|
|
437
|
+
3. Homebrew Formula 업데이트
|
|
438
|
+
|
|
439
|
+
### 배포 확인
|
|
440
|
+
|
|
441
|
+
```bash
|
|
442
|
+
# npm에 올라갔는지 확인
|
|
443
|
+
npm info @gemdoq/codi version
|
|
444
|
+
|
|
445
|
+
# GitHub Actions 탭에서 워크플로우 성공 여부 확인
|
|
446
|
+
# https://github.com/gemdoq/codi/actions
|
|
447
|
+
```
|
|
448
|
+
|
|
449
|
+
### 사전 준비 (최초 1회만)
|
|
450
|
+
|
|
451
|
+
배포 자동화를 위해 GitHub Secrets에 두 개의 토큰이 등록되어 있어야 합니다:
|
|
452
|
+
|
|
453
|
+
| Secret 이름 | 용도 | 발급 위치 |
|
|
454
|
+
|-------------|------|----------|
|
|
455
|
+
| `NPM_TOKEN` | npm 배포 인증 | https://www.npmjs.com/settings/gemdoq/tokens |
|
|
456
|
+
| `HOMEBREW_GITHUB_TOKEN` | Homebrew Formula 자동 업데이트 | https://github.com/settings/tokens |
|
|
457
|
+
|
|
458
|
+
등록 위치: https://github.com/gemdoq/codi/settings/secrets/actions
|
|
459
|
+
|
|
357
460
|
## 문제 해결
|
|
358
461
|
|
|
359
462
|
### "Could not resolve authentication method" 에러
|