lee-spec-kit 0.9.0 → 0.9.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.en.md +2 -1
- package/README.md +3 -2
- package/dist/bootstrap-Q77MTW3Q.js +0 -0
- package/dist/chunk-3AFCPGGS.js +0 -0
- package/dist/chunk-7V7RMGEU.js +0 -0
- package/dist/chunk-GR7JQBWF.js +0 -0
- package/dist/hooks-373Z6JG2.js +0 -0
- package/dist/index.js +600 -89
- package/dist/index.js.map +1 -1
- package/package.json +13 -15
- package/templates/en/common/README.md +11 -9
- package/templates/en/common/agents/agents.md +9 -3
- package/templates/en/common/agents/git-workflow.md +27 -8
- package/templates/en/common/agents/skills/split-feature.md +2 -1
- package/templates/en/common/agents/ui-ux-design.md +128 -0
- package/templates/en/common/designs/README.md +39 -1
- package/templates/en/common/features/README.md +6 -2
- package/templates/en/common/features/feature-base/decisions.md +3 -1
- package/templates/en/common/features/feature-base/spec.md +3 -0
- package/templates/en/common/features/feature-base/tasks.md +4 -3
- package/templates/ko/common/README.md +11 -9
- package/templates/ko/common/agents/agents.md +9 -3
- package/templates/ko/common/agents/git-workflow.md +27 -8
- package/templates/ko/common/agents/skills/split-feature.md +4 -3
- package/templates/ko/common/agents/ui-ux-design.md +128 -0
- package/templates/ko/common/designs/README.md +39 -1
- package/templates/ko/common/features/README.md +6 -2
- package/templates/ko/common/features/feature-base/decisions.md +3 -1
- package/templates/ko/common/features/feature-base/spec.md +3 -0
- package/templates/ko/common/features/feature-base/tasks.md +4 -3
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# Feature 범위 분할 가이드
|
|
1
|
+
# Feature 범위 분할 가이드
|
|
2
2
|
|
|
3
|
-
하나의 Feature
|
|
3
|
+
하나의 Feature가 리뷰 가능한 범위를 넘었을 때 사용하는 가이드입니다. GitHub workflow에서는 Feature가 Issue에 대응하고, local workflow에서는 Feature ID로 추적합니다.
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
주의:
|
|
17
17
|
|
|
18
18
|
- 작은 범위, 강결합 작업은 단일 이슈 유지가 가능합니다.
|
|
19
|
-
-
|
|
19
|
+
- GitHub workflow에서는 각 child Feature에 대응하는 child Issue를 생성합니다.
|
|
20
|
+
- local workflow에서는 Issue 없이 각 child Feature의 고유 Feature ID로 추적합니다.
|
|
20
21
|
|
|
21
22
|
---
|
|
22
23
|
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# UI/UX 디자인 문서 정책
|
|
2
|
+
|
|
3
|
+
UI/UX 요청에서 장기 디자인 규칙과 Feature별 시각 자료를 분리하는 선택적 정책입니다.
|
|
4
|
+
이 문서는 workflow stage나 승인 gate를 추가하지 않습니다.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 활성화 조건
|
|
9
|
+
|
|
10
|
+
사용자 요청에 다음 의도가 **명시적으로 포함된 경우에만** 이 정책을 적용합니다.
|
|
11
|
+
|
|
12
|
+
- design system 또는 디자인 시스템
|
|
13
|
+
- UI redesign 또는 visual redesign
|
|
14
|
+
- 디자인 일관성
|
|
15
|
+
- 공통 UI 또는 component library 정리
|
|
16
|
+
- branding 또는 theme/token 재설계
|
|
17
|
+
- Figma나 디자인 이미지 기반 구현
|
|
18
|
+
|
|
19
|
+
다음 경우에는 적용하지 않습니다.
|
|
20
|
+
|
|
21
|
+
- 단순히 대상 component가 web/frontend인 경우
|
|
22
|
+
- 비 UI 프로젝트나 backend Feature
|
|
23
|
+
- 장기 디자인 규칙을 바꾸지 않는 단순 버그 수정
|
|
24
|
+
- 기존 컴포넌트 한 곳의 국소적인 스타일 수정
|
|
25
|
+
|
|
26
|
+
애매하면 문서를 만들지 말고 활성 Feature 문서만 사용합니다.
|
|
27
|
+
|
|
28
|
+
## 권장 구조
|
|
29
|
+
|
|
30
|
+
활성화 조건을 충족하고 장기 규칙 또는 시각 참조가 실제로 필요할 때만 다음 구조의 필요한 부분을 사용합니다.
|
|
31
|
+
|
|
32
|
+
```text
|
|
33
|
+
docs/designs/
|
|
34
|
+
├── README.md
|
|
35
|
+
├── design-system.md
|
|
36
|
+
├── <feature-visual-brief>.md
|
|
37
|
+
└── assets/
|
|
38
|
+
└── <feature-name>/
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
- 모든 파일을 한꺼번에 만들지 않습니다.
|
|
42
|
+
- `docs/designs/design-system.md`가 이미 있으면 새 파일을 만들지 않고 기존 문서를 참조하거나 갱신합니다.
|
|
43
|
+
- Feature마다 `design.md`를 만드는 방식을 기본값으로 사용하지 않습니다.
|
|
44
|
+
- 기존 프로젝트의 문서 구조를 마이그레이션하거나 이 문서를 필수 gate로 만들지 않습니다.
|
|
45
|
+
|
|
46
|
+
## 문서별 책임
|
|
47
|
+
|
|
48
|
+
### `docs/designs/design-system.md`
|
|
49
|
+
|
|
50
|
+
여러 Feature가 공유하는 장기적인 의미와 사용 규칙을 기록합니다.
|
|
51
|
+
|
|
52
|
+
- semantic color tokens
|
|
53
|
+
- typography
|
|
54
|
+
- spacing과 layout
|
|
55
|
+
- radius, border, shadow
|
|
56
|
+
- 공통 component와 variant
|
|
57
|
+
- loading, empty, error, processing 같은 상태 표현
|
|
58
|
+
- responsive 규칙
|
|
59
|
+
- accessibility와 motion 규칙
|
|
60
|
+
- content voice
|
|
61
|
+
- 디자인 시스템 변경, deprecation, 동기화 정책
|
|
62
|
+
|
|
63
|
+
이 파일에는 다음 frontmatter를 사용합니다.
|
|
64
|
+
|
|
65
|
+
```yaml
|
|
66
|
+
---
|
|
67
|
+
lee-spec-kit:
|
|
68
|
+
kind: design-system
|
|
69
|
+
scope: project
|
|
70
|
+
---
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### `docs/designs/<feature-visual-brief>.md`
|
|
74
|
+
|
|
75
|
+
특정 Feature의 UX 방향과 시각 참조를 기록합니다.
|
|
76
|
+
|
|
77
|
+
- Figma 원본 URL과 필요한 repo 내부 snapshot
|
|
78
|
+
- 디자인 이미지와 참고 화면
|
|
79
|
+
- 화면/flow별 의도와 핵심 상태
|
|
80
|
+
- 현재 데이터/API 계약과 시안 사이의 차이
|
|
81
|
+
- 적용할 `design-system.md` 규칙과 Feature 전용 해석
|
|
82
|
+
|
|
83
|
+
내용에 따라 `kind: ux-design` 또는 `kind: visual-reference`, `scope: project` frontmatter를 사용합니다. 이 문서는 Feature의 시각적 참조 정본이지만 요구사항, 구현 계획, 기술 결정의 정본을 대체하지 않습니다.
|
|
84
|
+
|
|
85
|
+
### Feature `spec.md`
|
|
86
|
+
|
|
87
|
+
- 사용자 요구사항과 acceptance criteria를 유지합니다.
|
|
88
|
+
- 관련 문서의 선택적 `Design Refs`에 design system과 visual brief의 프로젝트 루트 기준 경로를 연결합니다.
|
|
89
|
+
|
|
90
|
+
### Feature `plan.md`
|
|
91
|
+
|
|
92
|
+
- token/theme 파일, 공통 component, route/screen, Storybook 또는 동등한 workbench의 변경 범위를 기록합니다.
|
|
93
|
+
- 디자인 규칙을 실제 코드와 테스트에 적용하는 방법을 기록합니다.
|
|
94
|
+
|
|
95
|
+
### Feature `decisions.md`
|
|
96
|
+
|
|
97
|
+
- 디자인 시스템을 바꾸거나 예외를 두는 이유를 기록합니다.
|
|
98
|
+
- 예외의 적용 범위, 영향 받는 규칙, 제거 조건을 함께 기록합니다.
|
|
99
|
+
|
|
100
|
+
## 실행 가능한 정본과 역할 분리
|
|
101
|
+
|
|
102
|
+
`design-system.md` 하나만 단독 SSOT로 취급하지 않습니다.
|
|
103
|
+
|
|
104
|
+
| 대상 | 책임 |
|
|
105
|
+
| --------------------------------- | --------------------------------- |
|
|
106
|
+
| `docs/designs/design-system.md` | 의미, 의도, 사용 규칙 |
|
|
107
|
+
| CSS theme/globals 또는 token 파일 | 실행되는 실제 token 값 |
|
|
108
|
+
| 공통 UI 디렉터리 | 실제 component API와 variant 계약 |
|
|
109
|
+
| Storybook 또는 동등한 workbench | variant와 상태의 실행 가능한 예시 |
|
|
110
|
+
| Feature `decisions.md` | 예외, 변경 이유, 제거 조건 |
|
|
111
|
+
|
|
112
|
+
문서가 의미를 설명하고 코드와 workbench가 실행 가능한 계약을 증명하도록 유지합니다.
|
|
113
|
+
|
|
114
|
+
## 동기화 규칙
|
|
115
|
+
|
|
116
|
+
- `design-system.md`가 바뀌는 Feature에서는 `tasks.md`의 같은 task에 영향 받는 디자인 문서, token/theme, 공통 UI, Storybook/workbench, 관련 검증을 구체적으로 적습니다.
|
|
117
|
+
- 실제 영향이 없는 영역을 억지로 변경하지는 않지만, 영향 여부를 task checklist에서 확인합니다.
|
|
118
|
+
- 문서와 코드가 달라지면 같은 Feature task 안에서 영향을 받는 문서와 실행 가능한 정본을 함께 동기화합니다.
|
|
119
|
+
- 디자인 시스템 예외는 `decisions.md`에 이유와 제거 조건을 남깁니다.
|
|
120
|
+
- visual reference 파일은 `docs/designs/assets/<feature-name>/`처럼 repo 내부 경로에 보관하고 개인 컴퓨터의 절대 경로에 의존하지 않습니다.
|
|
121
|
+
- 외부 Figma나 원본 URL은 출처로 유지하되, 구현에 필요한 고정 snapshot이 있으면 repo 내부 asset도 함께 참조합니다.
|
|
122
|
+
|
|
123
|
+
## 하위 호환성
|
|
124
|
+
|
|
125
|
+
- `design-system.md`, visual brief, `Design Refs`는 모두 선택 사항입니다.
|
|
126
|
+
- 기존 Feature 문서에 새 section을 backfill할 필요가 없습니다.
|
|
127
|
+
- 이 정책은 spec/plan/tasks 승인 단계나 `workflow-stage` 결과를 변경하지 않습니다.
|
|
128
|
+
- UI/UX 감지 조건을 충족하지 않는 요청에는 기존 Feature 문서 흐름만 사용합니다.
|
|
@@ -6,12 +6,39 @@
|
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
+
## 선택적 적용
|
|
10
|
+
|
|
11
|
+
`design-system.md`와 Feature visual brief는 모든 프로젝트의 필수 문서가 아닙니다.
|
|
12
|
+
|
|
13
|
+
- design system, UI/visual redesign, 디자인 일관성, 공통 UI/component library 정리, branding/theme/token 재설계, Figma/디자인 이미지 기반 구현 요청에만 사용을 검토합니다.
|
|
14
|
+
- 단순 web/frontend Feature, backend Feature, 장기 디자인 규칙을 바꾸지 않는 버그 수정에는 만들지 않습니다.
|
|
15
|
+
- 세부 정책: `npx lee-spec-kit docs get ui-ux-design --json`
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
9
19
|
## 포함 대상
|
|
10
20
|
|
|
11
21
|
- 화면/플로우 참고 자료 (Figma, 이미지, 링크)
|
|
12
22
|
- 컴포넌트/패턴 가이드 (버튼, 폼, 네비게이션 등)
|
|
13
23
|
- 브랜드/타이포/컬러 토큰 등 UI 규칙
|
|
14
24
|
|
|
25
|
+
## 권장 구조와 책임
|
|
26
|
+
|
|
27
|
+
```text
|
|
28
|
+
docs/designs/
|
|
29
|
+
├── README.md
|
|
30
|
+
├── design-system.md
|
|
31
|
+
├── <feature-visual-brief>.md
|
|
32
|
+
└── assets/
|
|
33
|
+
└── <feature-name>/
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
- `design-system.md`: 여러 Feature가 공유하는 의미와 사용 규칙
|
|
37
|
+
- `<feature-visual-brief>.md`: 특정 Feature의 Figma/이미지, UX 방향, 데이터 계약과 시안의 차이
|
|
38
|
+
- `assets/<feature-name>/`: 구현이 의존하는 repo 내부 visual snapshot
|
|
39
|
+
|
|
40
|
+
이미 `design-system.md`가 있으면 새 파일을 만들지 않고 기존 문서를 참조하거나 갱신합니다. Feature마다 `design.md`를 만드는 방식을 기본값으로 사용하지 않습니다.
|
|
41
|
+
|
|
15
42
|
---
|
|
16
43
|
|
|
17
44
|
## 포함하지 않는 문서
|
|
@@ -30,7 +57,18 @@
|
|
|
30
57
|
|
|
31
58
|
- 외부 링크는 가능한 한 **원본 URL + 요약(또는 캡처)**를 함께 남깁니다.
|
|
32
59
|
- 파일명은 kebab-case 사용 (예: `auth-flow.md`, `design-system.md`)
|
|
33
|
-
- 이미지/첨부
|
|
60
|
+
- 이미지/첨부 파일은 `assets/<feature-name>/` 같은 repo 내부 경로에서 관리하고 개인 컴퓨터의 절대 경로에 의존하지 않습니다.
|
|
61
|
+
- 디자인 문서는 `kind: ux-design`, `kind: design-system`, `kind: visual-reference` 중 맞는 frontmatter와 `scope: project`를 사용합니다.
|
|
62
|
+
|
|
63
|
+
## 실행 가능한 정본
|
|
64
|
+
|
|
65
|
+
- `design-system.md`: 의미와 사용 규칙
|
|
66
|
+
- CSS theme/globals 또는 token 파일: 실제 token 값
|
|
67
|
+
- 공통 UI 디렉터리: 실제 component/variant 계약
|
|
68
|
+
- Storybook 또는 동등한 workbench: variant와 상태의 실행 가능한 예시
|
|
69
|
+
- Feature `decisions.md`: 예외, 변경 이유, 제거 조건
|
|
70
|
+
|
|
71
|
+
`design-system.md`가 바뀌면 같은 Feature task에서 영향 받는 문서, token/theme, 공통 UI, Storybook/workbench와 검증을 함께 확인하고 동기화합니다.
|
|
34
72
|
|
|
35
73
|
---
|
|
36
74
|
|
|
@@ -45,7 +45,7 @@ Feature는 PRD → idea → feature 흐름에서 실제 구현을 진행하는
|
|
|
45
45
|
- 번호는 **최소 3자리 패딩** (001, 002, ...)
|
|
46
46
|
- 999를 초과하면 **4자리 이상으로 확장** (F1000, F1001, ...)
|
|
47
47
|
- 기능명은 kebab-case
|
|
48
|
-
- **Feature
|
|
48
|
+
- **Feature 식별자는 workflow에 따라 결정**: GitHub workflow에서는 각 Feature가 하나의 GitHub Issue에 대응합니다. local workflow에서는 Issue 없이 `F027` 같은 안정적인 Feature ID를 canonical 식별자로 사용합니다.
|
|
49
49
|
|
|
50
50
|
---
|
|
51
51
|
|
|
@@ -57,7 +57,11 @@ npx lee-spec-kit workflow-stage <feature-ref> --json
|
|
|
57
57
|
|
|
58
58
|
반환되는 `stage`, `nextAction`, `implementationAllowed` 값을 현재 워크플로우 상태로 사용하세요.
|
|
59
59
|
|
|
60
|
-
`
|
|
60
|
+
`tasks.md`의 최종 완료 체크박스 3개에는 `lee-spec-kit:completion:*` HTML marker가 있습니다. 사용자에게 보이는 문구는 바꿔도 되지만 각 체크박스 라인의 marker는 유지하세요. `workflow-stage`는 marker를 machine-readable identity로 우선 사용하고, 기존 프로젝트 호환을 위해 marker가 없으면 이전 canonical 문구를 fallback으로 인식합니다.
|
|
61
|
+
|
|
62
|
+
`completionStrategy`가 `"local-ff"` 또는 `"local-squash"`인 local workflow의 완료 흐름은 `implementation_approve → feature_verify → local_merge → local_cleanup → done`입니다. 검사 실패 시 구현이 허용된 `feature_remediation`으로 이동합니다. `local-ff`는 검증된 Feature SHA만 옮기고, `local-squash`는 통합 tree가 검증된 Feature tree와 같아야 합니다. 둘 다 cleanup 후에만 `done`입니다.
|
|
63
|
+
|
|
64
|
+
remediation 커밋이 추가되면 기존 검증과 local merge 승인은 무효입니다. Pre-PR review가 활성화되어 있다면 변경된 diff의 review evidence를 갱신하고 새 tip을 검증한 뒤 local merge 승인을 다시 받습니다.
|
|
61
65
|
|
|
62
66
|
---
|
|
63
67
|
|
|
@@ -6,7 +6,8 @@ canonical docs surface 밖의 unmanaged docs 산출물(예: `docs/plans/*`, `doc
|
|
|
6
6
|
> ADR(Architecture Decision Record)은 구현 중 내린 중요한 기술/구조 결정을 남기는 기록입니다.
|
|
7
7
|
> 나중에 "왜 이렇게 만들었는지"를 추적하고, 팀 합의를 재확인하기 위해 작성합니다.
|
|
8
8
|
|
|
9
|
-
> 형식: `
|
|
9
|
+
> 형식: `DNNN: {결정 제목} ({YYYY-MM-DD})`
|
|
10
|
+
> 결정 ID는 Feature별로 독립된 번호를 사용하며 Feature ID와 관계없이 `D001`부터 시작합니다.
|
|
10
11
|
|
|
11
12
|
기록 원칙:
|
|
12
13
|
|
|
@@ -17,6 +18,7 @@ canonical docs surface 밖의 unmanaged docs 산출물(예: `docs/plans/*`, `doc
|
|
|
17
18
|
- 태스크 완료 직전(`[DOING] -> [DONE]`): `Options/Decision/Rationale`를 최종화하고 `Trace`를 보강
|
|
18
19
|
- PR 머지 후: 실제 결과/영향을 `Trace(머지 후 확인)`에 1~2줄 추가
|
|
19
20
|
- 모든 ADR에는 최소 1개 이상의 **Evidence 링크**(커밋/PR/테스트 로그 중 하나 이상)를 남깁니다.
|
|
21
|
+
- 디자인 시스템 변경이나 예외를 기록할 때는 영향 받는 규칙과 범위, 예외 이유, 제거 조건, 실행 가능한 정본의 동기화 영향을 함께 남깁니다.
|
|
20
22
|
|
|
21
23
|
---
|
|
22
24
|
|
|
@@ -60,3 +60,6 @@
|
|
|
60
60
|
- 레거시 요구사항 문서에 아직 PRD ID가 없다면, 먼저 원문에 ID를 backfill한 뒤 이 필드와 `tasks.md` 태스크 태그를 함께 갱신하세요.
|
|
61
61
|
- 요구사항/스코프 변경 시 PRD 문서 + 이 필드 + `tasks.md` 태스크 태그를 함께 갱신하세요.
|
|
62
62
|
- 구현 중 더 나은 사용자 동작이 발견되어 최종 요구사항이 바뀌었다면, 이를 영구적인 `[NON-PRD]` 예외로 두지 말고 PRD 업데이트로 취급하세요.
|
|
63
|
+
- Design Refs: - (선택 사항, 명시적인 UI/UX 디자인 작업에만 프로젝트 루트 기준 경로 사용)
|
|
64
|
+
- Design System: - (예: `docs/designs/design-system.md`)
|
|
65
|
+
- Visual Brief: - (예: `docs/designs/<feature-visual-brief>.md`)
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
- 단, `tasks.md`에서 PRD ID를 임의로 만들지 마세요. `docs/prd` 또는 상위 요구사항 문서에 먼저 정의된 ID만 참조해야 합니다.
|
|
14
14
|
- 레거시 문서에 아직 PRD ID가 없다면, 먼저 원문 요구사항 문서에 ID를 backfill한 뒤 `spec.md`의 `PRD Refs`와 태스크 태그를 함께 맞추세요.
|
|
15
15
|
- `[NON-PRD]`는 내부 구현 작업 전용입니다. 사용자 동작, acceptance criteria, 범위가 바뀌는 태스크라면 PRD를 먼저 backfill하고 `[PRD-...]`로 태깅하세요.
|
|
16
|
+
- **디자인 시스템 동기화(조건부)**: `docs/designs/design-system.md`를 변경하는 태스크는 영향 받는 디자인 문서, token/theme, 공통 UI, Storybook/workbench와 검증을 같은 task의 `Checklist`에서 추적하세요. 영향이 없는 영역은 변경하지 말고 영향 여부만 확인합니다.
|
|
16
17
|
|
|
17
18
|
---
|
|
18
19
|
|
|
@@ -80,9 +81,9 @@
|
|
|
80
81
|
|
|
81
82
|
> ⚠️ 아래 항목은 **최종 확인 체크리스트**입니다. 실제로 확인/실행한 뒤에만 체크하세요.
|
|
82
83
|
|
|
83
|
-
- [ ] 모든 태스크가 `[DONE]`이며, 각 태스크의 `Acceptance` 검증 및 `Checklist` 체크 완료
|
|
84
|
-
- [ ] 테스트 실행 및 통과 (아래에 명령어/결과 기록)
|
|
85
|
-
- [ ] 최종 결과를 공유했고, 필요한 사용자 확인을 문서화된 workflow checkpoint 기준으로 기록함
|
|
84
|
+
- [ ] 모든 태스크가 `[DONE]`이며, 각 태스크의 `Acceptance` 검증 및 `Checklist` 체크 완료 <!-- lee-spec-kit:completion:all-tasks -->
|
|
85
|
+
- [ ] 테스트 실행 및 통과 (아래에 명령어/결과 기록) <!-- lee-spec-kit:completion:tests -->
|
|
86
|
+
- [ ] 최종 결과를 공유했고, 필요한 사용자 확인을 문서화된 workflow checkpoint 기준으로 기록함 <!-- lee-spec-kit:completion:final-outcome -->
|
|
86
87
|
|
|
87
88
|
### 테스트 실행 기록
|
|
88
89
|
|