@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/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` 시 각 에이전트의 특성에 맞는 규칙 파일을 생성합니다.