@sduck/sduck-cli 0.1.2 → 0.1.4
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/.sduck/sduck-assets/agent-rules/antigravity.md +5 -0
- package/.sduck/sduck-assets/agent-rules/claude-code.md +19 -0
- package/.sduck/sduck-assets/agent-rules/codex.md +19 -0
- package/.sduck/sduck-assets/agent-rules/core.md +94 -0
- package/.sduck/sduck-assets/agent-rules/cursor.mdc +12 -0
- package/.sduck/sduck-assets/agent-rules/gemini-cli.md +19 -0
- package/.sduck/sduck-assets/agent-rules/hooks/sdd-guard.sh +125 -0
- package/.sduck/sduck-assets/agent-rules/opencode.md +19 -0
- package/.sduck/sduck-assets/eval/plan.yml +31 -0
- package/.sduck/sduck-assets/eval/spec.yml +31 -0
- package/.sduck/sduck-assets/eval/task.yml +31 -0
- package/.sduck/sduck-assets/types/build.md +194 -0
- package/.sduck/sduck-assets/types/chore.md +164 -0
- package/.sduck/sduck-assets/types/feature.md +187 -0
- package/.sduck/sduck-assets/types/fix.md +174 -0
- package/.sduck/sduck-assets/types/refactor.md +174 -0
- package/README.md +106 -2
- package/dist/cli.js +267 -73
- package/dist/cli.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -41,8 +41,66 @@ npm install -g @sduck/sduck-cli
|
|
|
41
41
|
sduck init --agents claude-code,cursor,codex
|
|
42
42
|
```
|
|
43
43
|
|
|
44
|
+
### Windows 환경에서 `sduck`을 찾지 못할 때
|
|
45
|
+
|
|
46
|
+
Windows(PowerShell)에서 `npm install -g` 후 `sduck`을 실행했을 때 아래와 같은 에러가 발생할 수 있습니다.
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
sduck : 이 시스템에서 스크립트를 실행할 수 없습니다.
|
|
50
|
+
# 또는
|
|
51
|
+
sduck: The term 'sduck' is not recognized as the name of a cmdlet...
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
이는 npm 전역 설치 경로가 시스템 PATH에 포함되지 않아서 발생합니다.
|
|
55
|
+
|
|
56
|
+
**1. npm 전역 경로 확인**
|
|
57
|
+
|
|
58
|
+
```powershell
|
|
59
|
+
npm config get prefix
|
|
60
|
+
# 예: C:\Users\사용자이름\AppData\Roaming\npm
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
**2. PATH에 포함되어 있는지 확인**
|
|
64
|
+
|
|
65
|
+
```powershell
|
|
66
|
+
$env:PATH -split ';' | Select-String 'npm'
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
결과가 없으면 PATH에 추가해야 합니다.
|
|
70
|
+
|
|
71
|
+
**3. PATH에 영구 추가 (PowerShell)**
|
|
72
|
+
|
|
73
|
+
```powershell
|
|
74
|
+
# 현재 사용자에게 영구 추가
|
|
75
|
+
[Environment]::SetEnvironmentVariable(
|
|
76
|
+
'Path',
|
|
77
|
+
[Environment]::GetEnvironmentVariable('Path', 'User') + ';' + (npm config get prefix),
|
|
78
|
+
'User'
|
|
79
|
+
)
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
설정 후 PowerShell을 재시작하면 `sduck` 명령어가 정상 동작합니다.
|
|
83
|
+
|
|
44
84
|
## 📖 주요 명령어
|
|
45
85
|
|
|
86
|
+
### 빠른 시작 예시
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
# 1) 초기화
|
|
90
|
+
sduck init --agents claude-code,codex
|
|
91
|
+
|
|
92
|
+
# 2) 일반 흐름
|
|
93
|
+
sduck start feature login-system
|
|
94
|
+
sduck spec approve login-system
|
|
95
|
+
sduck plan approve login-system
|
|
96
|
+
|
|
97
|
+
# 3) 빠른 흐름
|
|
98
|
+
sduck fast-track fix copy-bug
|
|
99
|
+
|
|
100
|
+
# 4) 구현 완료 후
|
|
101
|
+
sduck done login-system
|
|
102
|
+
```
|
|
103
|
+
|
|
46
104
|
### 1. 작업 시작 (Start)
|
|
47
105
|
|
|
48
106
|
작업 타입에 맞는 폴더와 템플릿 파일을 생성합니다.
|
|
@@ -53,6 +111,8 @@ sduck start feature login-system
|
|
|
53
111
|
sduck start fix auth-bug
|
|
54
112
|
```
|
|
55
113
|
|
|
114
|
+
생성 직후 상태는 `PENDING_SPEC_APPROVAL`입니다.
|
|
115
|
+
|
|
56
116
|
### 2. 스펙 승인 (Approve Spec)
|
|
57
117
|
|
|
58
118
|
작성된 `spec.md`를 검토한 후 승인합니다. 상태가 `SPEC_APPROVED`로 변경됩니다.
|
|
@@ -66,6 +126,11 @@ sduck spec approve [slug]
|
|
|
66
126
|
|
|
67
127
|
반복적이거나 범위가 명확한 작업은 minimal spec과 minimal plan을 한 번에 생성할 수 있습니다. `spec.md`는 생략되지 않으며, 비대화형 환경에서는 자동 승인 없이 생성만 수행합니다.
|
|
68
128
|
|
|
129
|
+
- `spec.md`는 항상 생성됩니다
|
|
130
|
+
- interactive 환경에서는 확인 1회 후 spec/plan 승인을 묶어 진행할 수 있습니다
|
|
131
|
+
- 비대화형 환경에서는 생성만 수행하고, 이후 `sduck spec approve <slug>` → `sduck plan approve <slug>`로 이어집니다
|
|
132
|
+
- 범위가 크거나 요구사항이 불명확한 작업은 일반 `start` 흐름을 권장합니다
|
|
133
|
+
|
|
69
134
|
```bash
|
|
70
135
|
sduck fast-track <type> <slug>
|
|
71
136
|
```
|
|
@@ -83,10 +148,35 @@ sduck plan approve [slug]
|
|
|
83
148
|
|
|
84
149
|
구현이 끝난 작업의 step 완료 여부, spec 체크리스트, task eval 자산을 확인한 뒤 `DONE` 상태로 마감합니다.
|
|
85
150
|
|
|
151
|
+
- `steps.total`과 `steps.completed`가 모두 맞아야 합니다
|
|
152
|
+
- `spec.md`의 체크리스트가 모두 완료돼야 합니다
|
|
153
|
+
- target을 지정할 때는 정확한 `slug` 또는 전체 task `id`만 허용됩니다
|
|
154
|
+
|
|
86
155
|
```bash
|
|
87
156
|
sduck done [slug]
|
|
88
157
|
```
|
|
89
158
|
|
|
159
|
+
## ✅ 상태 전이
|
|
160
|
+
|
|
161
|
+
```text
|
|
162
|
+
PENDING_SPEC_APPROVAL -> SPEC_APPROVED -> IN_PROGRESS -> DONE
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
- `start`: `PENDING_SPEC_APPROVAL`
|
|
166
|
+
- `spec approve`: `SPEC_APPROVED`
|
|
167
|
+
- `plan approve`: `IN_PROGRESS`
|
|
168
|
+
- `done`: `DONE`
|
|
169
|
+
- `fast-track`: minimal spec/plan을 생성하고, 환경에 따라 `PENDING_SPEC_APPROVAL` 또는 `IN_PROGRESS`까지 진행
|
|
170
|
+
|
|
171
|
+
## 🧭 일반 흐름 vs fast-track
|
|
172
|
+
|
|
173
|
+
| 구분 | 일반 흐름 | fast-track |
|
|
174
|
+
| ------------- | ------------------------------ | ----------------------------------------- |
|
|
175
|
+
| 문서 생성 | 타입 템플릿 기반 spec, 빈 plan | minimal spec + minimal plan |
|
|
176
|
+
| 승인 방식 | spec 승인, plan 승인 각각 진행 | interactive에서는 확인 1회로 묶을 수 있음 |
|
|
177
|
+
| 비대화형 동작 | 각 명령 수동 실행 | 생성만 수행, 승인 자동 진행 없음 |
|
|
178
|
+
| 추천 상황 | 범위가 크거나 애매한 작업 | 반복적이고 범위가 명확한 작업 |
|
|
179
|
+
|
|
90
180
|
## 🎨 자산 커스터마이징 (Asset Customization)
|
|
91
181
|
|
|
92
182
|
sduck은 팀의 컨벤션을 자산(`.sduck/sduck-assets/`)으로 관리합니다. 이 폴더를 Git에 포함하여 팀원 모두가 동일한 기준을 공유하세요.
|
|
@@ -118,12 +208,26 @@ your-project/
|
|
|
118
208
|
│ └── sduck-workspace/ # 📝 작업 이력 (Git 추적 권장)
|
|
119
209
|
│ └── 20260319-1000-feature-login/
|
|
120
210
|
│ ├── meta.yml # 작업 상태 관리 (status, timestamps)
|
|
121
|
-
│ ├── spec.md # 요구사항 명세서
|
|
122
|
-
│ └── plan.md # 상세 구현 계획서
|
|
211
|
+
│ ├── spec.md # 요구사항 명세서 또는 minimal spec
|
|
212
|
+
│ └── plan.md # 상세 구현 계획서 또는 minimal plan
|
|
123
213
|
├── CLAUDE.md # Claude Code용 규칙
|
|
124
214
|
└── AGENT.md # Codex/OpenCode용 규칙
|
|
125
215
|
```
|
|
126
216
|
|
|
217
|
+
`meta.yml`에는 최소 아래 상태 정보가 들어갑니다.
|
|
218
|
+
|
|
219
|
+
```yaml
|
|
220
|
+
status: PENDING_SPEC_APPROVAL | SPEC_APPROVED | IN_PROGRESS | DONE
|
|
221
|
+
spec:
|
|
222
|
+
approved: <boolean>
|
|
223
|
+
plan:
|
|
224
|
+
approved: <boolean>
|
|
225
|
+
steps:
|
|
226
|
+
total: <number | null>
|
|
227
|
+
completed: [<step numbers>]
|
|
228
|
+
completed_at: <timestamp | null>
|
|
229
|
+
```
|
|
230
|
+
|
|
127
231
|
## 🤖 지원 에이전트 (Rule Generation)
|
|
128
232
|
|
|
129
233
|
`sduck init` 시 각 에이전트의 특성에 맞는 규칙 파일을 생성합니다.
|