lee-spec-kit 0.2.3 → 0.3.0
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/LICENSE +1 -1
- package/README.md +248 -20
- package/dist/index.js +1097 -134
- package/package.json +9 -10
- package/templates/en/common/agents/constitution.md +3 -17
- package/templates/en/common/agents/skills/create-feature.md +41 -47
- package/templates/en/common/agents/skills/create-pr.md +1 -0
- package/templates/en/common/agents/skills/execute-task.md +22 -73
- package/templates/en/common/designs/README.md +29 -0
- package/templates/en/common/ideas/README.md +30 -0
- package/templates/en/fullstack/README.md +45 -0
- package/templates/en/fullstack/agents/agents.md +4 -0
- package/templates/en/fullstack/features/feature-base/tasks.md +9 -2
- package/templates/en/single/README.md +45 -0
- package/templates/en/single/agents/agents.md +4 -0
- package/templates/en/single/features/feature-base/tasks.md +9 -2
- package/templates/ko/common/agents/constitution.md +3 -17
- package/templates/ko/common/agents/skills/create-feature.md +42 -47
- package/templates/ko/common/agents/skills/create-pr.md +1 -0
- package/templates/ko/common/agents/skills/execute-task.md +33 -67
- package/templates/ko/common/designs/README.md +29 -0
- package/templates/ko/common/ideas/README.md +30 -0
- package/templates/ko/fullstack/README.md +45 -0
- package/templates/ko/fullstack/agents/agents.md +4 -0
- package/templates/ko/fullstack/features/feature-base/tasks.md +9 -2
- package/templates/ko/single/README.md +45 -0
- package/templates/ko/single/agents/agents.md +4 -0
- package/templates/ko/single/features/feature-base/tasks.md +9 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lee-spec-kit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Project documentation structure generator for AI-assisted development",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -12,13 +12,6 @@
|
|
|
12
12
|
"dist",
|
|
13
13
|
"templates"
|
|
14
14
|
],
|
|
15
|
-
"scripts": {
|
|
16
|
-
"build": "tsup",
|
|
17
|
-
"dev": "tsup --watch",
|
|
18
|
-
"lint": "eslint src",
|
|
19
|
-
"format": "prettier --write .",
|
|
20
|
-
"prepublishOnly": "pnpm build"
|
|
21
|
-
},
|
|
22
15
|
"keywords": [
|
|
23
16
|
"docs",
|
|
24
17
|
"template",
|
|
@@ -45,6 +38,7 @@
|
|
|
45
38
|
"prompts": "^2.4.2"
|
|
46
39
|
},
|
|
47
40
|
"devDependencies": {
|
|
41
|
+
"@eslint/js": "^9.39.2",
|
|
48
42
|
"@types/fs-extra": "^11.0.4",
|
|
49
43
|
"@types/node": "^25.0.3",
|
|
50
44
|
"@types/prompts": "^2.4.9",
|
|
@@ -56,5 +50,10 @@
|
|
|
56
50
|
"tsup": "^8.5.1",
|
|
57
51
|
"typescript": "^5.9.3"
|
|
58
52
|
},
|
|
59
|
-
"
|
|
60
|
-
|
|
53
|
+
"scripts": {
|
|
54
|
+
"build": "tsup",
|
|
55
|
+
"dev": "tsup --watch",
|
|
56
|
+
"lint": "eslint src",
|
|
57
|
+
"format": "prettier --write ."
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -44,33 +44,19 @@ All development decisions are based on this document.
|
|
|
44
44
|
|
|
45
45
|
## Architecture Principles
|
|
46
46
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
- Manage new features in `docs/features/F00X/` structure
|
|
50
|
-
- Develop by **feature unit** (FE/BE separate)
|
|
51
|
-
- spec → plan → tasks → decisions workflow
|
|
52
|
-
|
|
53
|
-
### 2. (Additional Principles)
|
|
54
|
-
|
|
55
|
-
(Write project-specific architecture principles here)
|
|
47
|
+
> (Write project-specific architecture principles here. e.g., layer structure, dependency rules)
|
|
56
48
|
|
|
57
49
|
---
|
|
58
50
|
|
|
59
51
|
## Code Quality Standards
|
|
60
52
|
|
|
61
|
-
|
|
62
|
-
- ESLint + Prettier required
|
|
63
|
-
- Major business logic test coverage **80%+**
|
|
64
|
-
- Components follow **Single Responsibility Principle**
|
|
65
|
-
- Minimize code duplication
|
|
53
|
+
> (Write project code quality standards here. e.g., test coverage, lint rules)
|
|
66
54
|
|
|
67
55
|
---
|
|
68
56
|
|
|
69
57
|
## Security Principles
|
|
70
58
|
|
|
71
|
-
|
|
72
|
-
- **Minimal data collection** for user data
|
|
73
|
-
- CORS only for allowed origins
|
|
59
|
+
> (Write project security principles here. e.g., authentication method, data encryption)
|
|
74
60
|
|
|
75
61
|
---
|
|
76
62
|
|
|
@@ -1,75 +1,69 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Feature Implementation Process: CLI-driven
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
This document defines the **only rule** for adding a new Feature.
|
|
4
|
+
As an agent, do not trust your own judgment—follow the **CLI output** only.
|
|
4
5
|
|
|
5
6
|
---
|
|
6
7
|
|
|
7
|
-
##
|
|
8
|
+
## 🔄 The Loop (repeat forever)
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
Repeat this loop until the Feature is complete (docs committed).
|
|
10
11
|
|
|
11
|
-
|
|
12
|
-
npx lee-spec-kit feature <name> -d "<description>"
|
|
13
|
-
```
|
|
12
|
+
### Step 1: Check context
|
|
14
13
|
|
|
15
|
-
|
|
16
|
-
- `-d`: Feature description (auto-filled in spec.md)
|
|
17
|
-
|
|
18
|
-
**Example:**
|
|
14
|
+
Run this command whenever you start work or finish a step:
|
|
19
15
|
|
|
20
16
|
```bash
|
|
21
|
-
npx lee-spec-kit
|
|
17
|
+
npx lee-spec-kit context
|
|
22
18
|
```
|
|
23
19
|
|
|
24
|
-
### 2
|
|
25
|
-
|
|
26
|
-
- **What**: Clearly describe what the feature does
|
|
27
|
-
- **Why**: Explain why this feature is needed
|
|
28
|
-
- ❌ Do NOT include tech stack (covered in plan.md)
|
|
20
|
+
### Step 2: Do exactly what the CLI says
|
|
29
21
|
|
|
30
|
-
|
|
22
|
+
Read the `👉 Next Action` output and execute **only that instruction**.
|
|
31
23
|
|
|
32
|
-
|
|
24
|
+
- If the CLI indicates **Review**, share the document with the user and stop.
|
|
25
|
+
- If the CLI asks for writing a file, write that file and follow the format.
|
|
26
|
+
- If the CLI prints a command, **copy/paste and run it exactly**. (It may include repo-safe `git -C ...` commands and scopes like `project` vs `docs`.)
|
|
33
27
|
|
|
34
|
-
|
|
28
|
+
### Step 3: Repeat
|
|
35
29
|
|
|
36
|
-
|
|
30
|
+
After completing the action, go back to Step 1 and run `context` again.
|
|
37
31
|
|
|
38
|
-
|
|
32
|
+
---
|
|
39
33
|
|
|
40
|
-
|
|
34
|
+
## 🛑 Strict rules
|
|
41
35
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
36
|
+
1. **Do not jump ahead**: Never do “Plan” when the CLI says “Spec”.
|
|
37
|
+
2. **Do not skip**: Do not fake issue numbers/statuses to advance steps.
|
|
38
|
+
3. **No self-judgment**: If unsure, run `context` again.
|
|
45
39
|
|
|
46
|
-
|
|
40
|
+
---
|
|
47
41
|
|
|
48
|
-
|
|
42
|
+
## Reference: the 10-step workflow (reference only)
|
|
49
43
|
|
|
50
|
-
> ⚠️
|
|
44
|
+
> ⚠️ Do NOT execute these from memory. Always follow the CLI.
|
|
51
45
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
46
|
+
1. Feature folder created
|
|
47
|
+
2. Write `spec.md`
|
|
48
|
+
3. Get `spec.md` approved
|
|
49
|
+
4. Create GitHub Issue and record `#`
|
|
50
|
+
5. Create feature branch
|
|
51
|
+
6. Write `plan.md`
|
|
52
|
+
7. Get `plan.md` approved
|
|
53
|
+
8. Write/execute `tasks.md`
|
|
54
|
+
9. Pre-commit verification
|
|
55
|
+
10. Commit docs
|
|
55
56
|
|
|
56
|
-
|
|
57
|
+
---
|
|
57
58
|
|
|
58
|
-
|
|
59
|
+
## Getting started
|
|
59
60
|
|
|
60
|
-
|
|
61
|
+
If the Feature folder does not exist yet:
|
|
61
62
|
|
|
62
63
|
```bash
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
> 📁 **Included files**: spec.md, plan.md, tasks.md, decisions.md (include even if empty)
|
|
68
|
-
> ⚠️ **Standalone mode**: Switch to Docs repo before committing.
|
|
69
|
-
|
|
70
|
-
---
|
|
71
|
-
|
|
72
|
-
## Reference Documents
|
|
64
|
+
# 1) Create the folder
|
|
65
|
+
npx lee-spec-kit feature <name> -d "<description>"
|
|
73
66
|
|
|
74
|
-
|
|
75
|
-
-
|
|
67
|
+
# 2) Enter the loop
|
|
68
|
+
npx lee-spec-kit context
|
|
69
|
+
```
|
|
@@ -1,94 +1,43 @@
|
|
|
1
|
-
# Task Execution Process
|
|
1
|
+
# Task Execution Process: CLI-driven
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
This document defines the **only rule** for executing tasks.
|
|
4
|
+
As an agent, follow `npx lee-spec-kit context` as the single source of truth.
|
|
4
5
|
|
|
5
6
|
---
|
|
6
7
|
|
|
7
|
-
##
|
|
8
|
+
## 🔄 The Loop (repeat forever)
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
Repeat this loop until the Feature is complete.
|
|
10
11
|
|
|
11
|
-
|
|
12
|
-
- Select task with `[TODO]` status
|
|
13
|
-
- ⚠️ **Verify current branch matches Feature branch** (`feat/{issue-number}-{feature-name}`)
|
|
14
|
-
|
|
15
|
-
### 2. Share Execution Plan
|
|
16
|
-
|
|
17
|
-
> 🚨 **User Approval Required**
|
|
18
|
-
|
|
19
|
-
Share execution plan with user before starting and wait for approval
|
|
20
|
-
|
|
21
|
-
### 3. Update Status
|
|
22
|
-
|
|
23
|
-
| Timing | Status Transition |
|
|
24
|
-
| ------------------- | -------------------- |
|
|
25
|
-
| On start | `[TODO]` → `[DOING]` |
|
|
26
|
-
| After user approval | `[DOING]` → `[DONE]` |
|
|
27
|
-
|
|
28
|
-
> ⚠️ Even after work is complete, **stay in `[DOING]` until user approval**
|
|
29
|
-
|
|
30
|
-
Record date (YYYY-MM-DD) with each status change
|
|
31
|
-
|
|
32
|
-
### 4. Commit After Task Completion (Docs Sync)
|
|
33
|
-
|
|
34
|
-
> 🚨 **User Approval Required**
|
|
35
|
-
|
|
36
|
-
Before committing, share and wait for approval:
|
|
37
|
-
|
|
38
|
-
- Commit message (Applicable repositories)
|
|
39
|
-
- Files to be included
|
|
12
|
+
### Step 1: Check context
|
|
40
13
|
|
|
41
14
|
```bash
|
|
42
|
-
|
|
43
|
-
git add .
|
|
44
|
-
git commit -m "{type}(#{issue}): {task description}"
|
|
45
|
-
|
|
46
|
-
# 2. Docs Commit (If docs changed)
|
|
47
|
-
# For Standalone mode, move to docs repo
|
|
48
|
-
git add .
|
|
49
|
-
git commit -m "docs(#{issue}): {task description} update docs"
|
|
15
|
+
npx lee-spec-kit context
|
|
50
16
|
```
|
|
51
17
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
## Handling Requests Outside tasks.md
|
|
55
|
-
|
|
56
|
-
When user requests work not in tasks.md:
|
|
57
|
-
|
|
58
|
-
1. Ask if it should be added to tasks.md
|
|
59
|
-
2. If approved: Add to tasks.md then execute
|
|
60
|
-
3. If declined: Proceed as temporary work (still included in commit)
|
|
18
|
+
### Step 2: Do the next action only
|
|
61
19
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
## 🚨 Never Modify Completed Tasks
|
|
65
|
-
|
|
66
|
-
> ⚠️ **Tasks in `[DONE]` status must NEVER be modified.**
|
|
20
|
+
Execute the `👉 Next Action` exactly as printed by the CLI.
|
|
67
21
|
|
|
68
|
-
|
|
22
|
+
- If the CLI points to an active task, focus on that task only.
|
|
23
|
+
- If there is no active task, pick the next `[TODO]` task, switch it to `[DOING]`, and start.
|
|
24
|
+
- If the CLI prints commands, copy/paste them. (In standalone setups commands may include `git -C ...` and scopes like `project`/`docs`.)
|
|
69
25
|
|
|
70
|
-
|
|
71
|
-
- If modifications are needed, **add a new task**
|
|
26
|
+
### Step 3: Update tasks.md (only what you did)
|
|
72
27
|
|
|
73
|
-
|
|
28
|
+
Keep `tasks.md` aligned with reality.
|
|
74
29
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
3. Perform changes in the new task
|
|
30
|
+
- Do not mark `[DONE]` without actually completing the work and verifying criteria.
|
|
31
|
+
- If you need to change a completed task, add a new task instead of rewriting history.
|
|
78
32
|
|
|
79
|
-
|
|
33
|
+
### Step 4: Repeat
|
|
80
34
|
|
|
81
|
-
|
|
82
|
-
## Tasks
|
|
83
|
-
|
|
84
|
-
- [DONE] T001: Implement user authentication (2026-01-05)
|
|
85
|
-
- [DONE] T002: Create login page (2026-01-06)
|
|
86
|
-
- [TODO] T003: Fix T002 - Add password validation ← New task for modifications
|
|
87
|
-
```
|
|
35
|
+
After finishing a meaningful chunk of work, run `context` again.
|
|
88
36
|
|
|
89
37
|
---
|
|
90
38
|
|
|
91
|
-
##
|
|
39
|
+
## 🛑 Strict rules
|
|
92
40
|
|
|
93
|
-
|
|
94
|
-
|
|
41
|
+
1. **No skipping**: Never “finish” tasks by editing status only.
|
|
42
|
+
2. **No jumping ahead**: If the CLI is waiting for approvals, stop and ask the user.
|
|
43
|
+
3. **No rewriting history**: Do not modify `[DONE]` tasks; add a new one.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Designs
|
|
2
|
+
|
|
3
|
+
Store design references used by the project.
|
|
4
|
+
|
|
5
|
+
(e.g., Figma links, screenshots, design system rules, UI guidelines)
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## What belongs here
|
|
10
|
+
|
|
11
|
+
- Screen/flow references (Figma, images, links)
|
|
12
|
+
- Component/pattern guidelines (buttons, forms, navigation, etc.)
|
|
13
|
+
- UI rules (brand, typography, colors/tokens)
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Conventions
|
|
18
|
+
|
|
19
|
+
- For external references, keep the **source URL + a short summary (or a snapshot)**.
|
|
20
|
+
- Use kebab-case filenames (e.g., `auth-flow.md`, `design-system.md`).
|
|
21
|
+
- If you need images/files, create and use an `assets/` folder.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## How to reference
|
|
26
|
+
|
|
27
|
+
Prefer **project-root paths** over relative links in feature docs:
|
|
28
|
+
|
|
29
|
+
- Example: `docs/designs/auth-flow.md`
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Ideas
|
|
2
|
+
|
|
3
|
+
A place for pre-feature ideas / to-dos / experiments.
|
|
4
|
+
|
|
5
|
+
Core rule: once an idea becomes a Feature, the SSOT moves to `docs/features/`.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Conventions
|
|
10
|
+
|
|
11
|
+
- 1 idea = 1 file (kebab-case recommended)
|
|
12
|
+
- Example: `login-rate-limit.md`
|
|
13
|
+
- Example: `admin-dashboard-metrics.md`
|
|
14
|
+
- Put at least these at the top:
|
|
15
|
+
- Goal / context
|
|
16
|
+
- Rough scope (what’s in/out)
|
|
17
|
+
- Target repo (optional): `be` / `fe` / `both`
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Promotion / Cleanup (Idea → Feature)
|
|
22
|
+
|
|
23
|
+
1. Create a Feature folder with `npx lee-spec-kit feature <name>`
|
|
24
|
+
2. Add the idea doc path to the new Feature’s `spec.md` or `tasks.md`
|
|
25
|
+
- Example: `docs/ideas/login-rate-limit.md`
|
|
26
|
+
3. Remove the idea from the active list (choose one):
|
|
27
|
+
- **Recommended**: move to `docs/ideas/archive/` and add `Status: Converted`, `Feature: F00X-...` on top
|
|
28
|
+
- Or: delete it (only if you don’t need history)
|
|
29
|
+
|
|
30
|
+
> Tip: archiving is usually better than deleting for traceability (“why this feature exists”).
|
|
@@ -8,5 +8,50 @@ This documentation is organized by feature to help agents quickly understand the
|
|
|
8
8
|
| ------------------- | --------------------- | ------------------------------------------------------------- |
|
|
9
9
|
| `docs/agents/` | Agent operating rules | `agents.md`, `constitution.md`, `git-workflow.md` |
|
|
10
10
|
| `docs/prd/` | Product requirements | Project-specific |
|
|
11
|
+
| `docs/designs/` | Design references | `README.md` (links/guidelines/references) |
|
|
12
|
+
| `docs/ideas/` | Ideas / to-dos | `README.md` (Idea → Feature promotion rules) |
|
|
11
13
|
| `docs/features/be/` | Backend features | `{feature-id}/spec.md`, `plan.md`, `tasks.md`, `decisions.md` |
|
|
12
14
|
| `docs/features/fe/` | Frontend features | `{feature-id}/spec.md`, `plan.md`, `tasks.md`, `decisions.md` |
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## CLI Config (`.lee-spec-kit.json`)
|
|
19
|
+
|
|
20
|
+
When you run `lee-spec-kit init`, it creates `.lee-spec-kit.json` in the docs root (default: `docs/`).
|
|
21
|
+
|
|
22
|
+
- Used by `lee-spec-kit feature`, `status`, and `update` to detect docs location / project type / language.
|
|
23
|
+
- `docsRepo`, `pushDocs`, `docsRemote` are metadata for the **Docs Push rules** in `/docs/agents/git-workflow.md` (the CLI does not auto-push).
|
|
24
|
+
|
|
25
|
+
### Fields
|
|
26
|
+
|
|
27
|
+
- `projectName` (string): Project name
|
|
28
|
+
- `projectType` ("single" | "fullstack"): Project type
|
|
29
|
+
- `lang` ("ko" | "en"): Docs language
|
|
30
|
+
- `createdAt` (string, YYYY-MM-DD): Creation date
|
|
31
|
+
- `docsRepo` ("embedded" | "standalone"): How docs are managed
|
|
32
|
+
- `pushDocs` (boolean, optional): Only written when `docsRepo: "standalone"` (whether to push to remote)
|
|
33
|
+
- `docsRemote` (string, optional): Only written when `pushDocs: true` (remote repo URL)
|
|
34
|
+
|
|
35
|
+
### Examples
|
|
36
|
+
|
|
37
|
+
```json
|
|
38
|
+
{
|
|
39
|
+
"projectName": "{{projectName}}",
|
|
40
|
+
"projectType": "fullstack",
|
|
41
|
+
"lang": "en",
|
|
42
|
+
"createdAt": "{{date}}",
|
|
43
|
+
"docsRepo": "embedded"
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
```json
|
|
48
|
+
{
|
|
49
|
+
"projectName": "{{projectName}}",
|
|
50
|
+
"projectType": "fullstack",
|
|
51
|
+
"lang": "en",
|
|
52
|
+
"createdAt": "{{date}}",
|
|
53
|
+
"docsRepo": "standalone",
|
|
54
|
+
"pushDocs": true,
|
|
55
|
+
"docsRemote": "git@github.com:org/{{projectName}}-docs.git"
|
|
56
|
+
}
|
|
57
|
+
```
|
|
@@ -33,6 +33,8 @@ Operating rules for AI code assistants to perform consistent code generation and
|
|
|
33
33
|
|
|
34
34
|
### Core Documents
|
|
35
35
|
|
|
36
|
+
> 🚨 **You MUST read and understand all core documents before proceeding.**
|
|
37
|
+
|
|
36
38
|
> ⚠️ **Rules in `custom.md` take precedence over all other rules.**
|
|
37
39
|
|
|
38
40
|
- **🔴 Custom Rules (Highest Priority)**: `/docs/agents/custom.md`
|
|
@@ -70,6 +72,8 @@ docs/
|
|
|
70
72
|
│ ├── create-pr.md
|
|
71
73
|
│ └── execute-task.md
|
|
72
74
|
├── prd/ # Product requirements
|
|
75
|
+
├── designs/ # Design references
|
|
76
|
+
├── ideas/ # Pre-feature ideas / to-dos
|
|
73
77
|
├── features/ # Feature documentation
|
|
74
78
|
│ ├── be/ # Backend Features
|
|
75
79
|
│ └── fe/ # Frontend Features
|
|
@@ -29,5 +29,12 @@
|
|
|
29
29
|
|
|
30
30
|
## Completion Criteria
|
|
31
31
|
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
> ⚠️ This is a **final verification checklist**. Only check after you actually verified.
|
|
33
|
+
|
|
34
|
+
- [ ] All tasks are `[DONE]`, and each task's `Acceptance` is verified and `Checklist` is checked
|
|
35
|
+
- [ ] Tests executed and passing (record command/result below)
|
|
36
|
+
|
|
37
|
+
### Test Run Log
|
|
38
|
+
|
|
39
|
+
- Command: `{test command you ran}`
|
|
40
|
+
- Result: `{PASS/FAIL summary}`
|
|
@@ -8,4 +8,49 @@ This documentation is organized by feature to help agents quickly understand the
|
|
|
8
8
|
| ---------------- | --------------------- | ------------------------------------------------------------- |
|
|
9
9
|
| `docs/agents/` | Agent operating rules | `agents.md`, `constitution.md`, `git-workflow.md` |
|
|
10
10
|
| `docs/prd/` | Product requirements | Project-specific |
|
|
11
|
+
| `docs/designs/` | Design references | `README.md` (links/guidelines/references) |
|
|
12
|
+
| `docs/ideas/` | Ideas / to-dos | `README.md` (Idea → Feature promotion rules) |
|
|
11
13
|
| `docs/features/` | Feature documentation | `{feature-id}/spec.md`, `plan.md`, `tasks.md`, `decisions.md` |
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## CLI Config (`.lee-spec-kit.json`)
|
|
18
|
+
|
|
19
|
+
When you run `lee-spec-kit init`, it creates `.lee-spec-kit.json` in the docs root (default: `docs/`).
|
|
20
|
+
|
|
21
|
+
- Used by `lee-spec-kit feature`, `status`, and `update` to detect docs location / project type / language.
|
|
22
|
+
- `docsRepo`, `pushDocs`, `docsRemote` are metadata for the **Docs Push rules** in `/docs/agents/git-workflow.md` (the CLI does not auto-push).
|
|
23
|
+
|
|
24
|
+
### Fields
|
|
25
|
+
|
|
26
|
+
- `projectName` (string): Project name
|
|
27
|
+
- `projectType` ("single" | "fullstack"): Project type
|
|
28
|
+
- `lang` ("ko" | "en"): Docs language
|
|
29
|
+
- `createdAt` (string, YYYY-MM-DD): Creation date
|
|
30
|
+
- `docsRepo` ("embedded" | "standalone"): How docs are managed
|
|
31
|
+
- `pushDocs` (boolean, optional): Only written when `docsRepo: "standalone"` (whether to push to remote)
|
|
32
|
+
- `docsRemote` (string, optional): Only written when `pushDocs: true` (remote repo URL)
|
|
33
|
+
|
|
34
|
+
### Examples
|
|
35
|
+
|
|
36
|
+
```json
|
|
37
|
+
{
|
|
38
|
+
"projectName": "{{projectName}}",
|
|
39
|
+
"projectType": "single",
|
|
40
|
+
"lang": "en",
|
|
41
|
+
"createdAt": "{{date}}",
|
|
42
|
+
"docsRepo": "embedded"
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
```json
|
|
47
|
+
{
|
|
48
|
+
"projectName": "{{projectName}}",
|
|
49
|
+
"projectType": "single",
|
|
50
|
+
"lang": "en",
|
|
51
|
+
"createdAt": "{{date}}",
|
|
52
|
+
"docsRepo": "standalone",
|
|
53
|
+
"pushDocs": true,
|
|
54
|
+
"docsRemote": "git@github.com:org/{{projectName}}-docs.git"
|
|
55
|
+
}
|
|
56
|
+
```
|
|
@@ -33,6 +33,8 @@ Operating rules for AI code assistants to perform consistent code generation and
|
|
|
33
33
|
|
|
34
34
|
### Core Documents
|
|
35
35
|
|
|
36
|
+
> 🚨 **You MUST read and understand all core documents before proceeding.**
|
|
37
|
+
|
|
36
38
|
> ⚠️ **Rules in `custom.md` take precedence over all other rules.**
|
|
37
39
|
|
|
38
40
|
- **🔴 Custom Rules (Highest Priority)**: `/docs/agents/custom.md`
|
|
@@ -65,6 +67,8 @@ docs/
|
|
|
65
67
|
│ ├── create-pr.md
|
|
66
68
|
│ └── execute-task.md
|
|
67
69
|
├── prd/ # Product requirements
|
|
70
|
+
├── designs/ # Design references
|
|
71
|
+
├── ideas/ # Pre-feature ideas / to-dos
|
|
68
72
|
├── features/ # Feature documentation
|
|
69
73
|
│ ├── feature-base/ # Template
|
|
70
74
|
│ └── F00X-{name}/
|
|
@@ -29,5 +29,12 @@
|
|
|
29
29
|
|
|
30
30
|
## Completion Criteria
|
|
31
31
|
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
> ⚠️ This is a **final verification checklist**. Only check after you actually verified.
|
|
33
|
+
|
|
34
|
+
- [ ] All tasks are `[DONE]`, and each task's `Acceptance` is verified and `Checklist` is checked
|
|
35
|
+
- [ ] Tests executed and passing (record command/result below)
|
|
36
|
+
|
|
37
|
+
### Test Run Log
|
|
38
|
+
|
|
39
|
+
- Command: `{test command you ran}`
|
|
40
|
+
- Result: `{PASS/FAIL summary}`
|
|
@@ -44,33 +44,19 @@
|
|
|
44
44
|
|
|
45
45
|
## 아키텍처 원칙
|
|
46
46
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
- 새 기능은 `docs/features/F00X/` 구조로 관리
|
|
50
|
-
- FE/BE 분리하여 **기능 단위**로 개발
|
|
51
|
-
- spec → plan → tasks → decisions 워크플로우
|
|
52
|
-
|
|
53
|
-
### 2. (추가 원칙)
|
|
54
|
-
|
|
55
|
-
(프로젝트별 아키텍처 원칙을 작성하세요)
|
|
47
|
+
> (프로젝트별 아키텍처 원칙을 작성하세요. 예: 레이어 구조, 의존성 규칙 등)
|
|
56
48
|
|
|
57
49
|
---
|
|
58
50
|
|
|
59
51
|
## 코드 품질 기준
|
|
60
52
|
|
|
61
|
-
|
|
62
|
-
- ESLint + Prettier 필수
|
|
63
|
-
- 주요 비즈니스 로직 테스트 커버리지 **80%+**
|
|
64
|
-
- 컴포넌트는 **단일 책임 원칙**
|
|
65
|
-
- 중복 코드 최소화
|
|
53
|
+
> (프로젝트의 코드 품질 기준을 작성하세요. 예: 테스트 커버리지, 린트 규칙 등)
|
|
66
54
|
|
|
67
55
|
---
|
|
68
56
|
|
|
69
57
|
## 보안 원칙
|
|
70
58
|
|
|
71
|
-
|
|
72
|
-
- 사용자 데이터 **최소 수집**
|
|
73
|
-
- CORS는 허용 오리진만 설정
|
|
59
|
+
> (프로젝트의 보안 원칙을 작성하세요. 예: 인증 방식, 데이터 암호화 등)
|
|
74
60
|
|
|
75
61
|
---
|
|
76
62
|
|