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.
Files changed (28) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +248 -20
  3. package/dist/index.js +1097 -134
  4. package/package.json +9 -10
  5. package/templates/en/common/agents/constitution.md +3 -17
  6. package/templates/en/common/agents/skills/create-feature.md +41 -47
  7. package/templates/en/common/agents/skills/create-pr.md +1 -0
  8. package/templates/en/common/agents/skills/execute-task.md +22 -73
  9. package/templates/en/common/designs/README.md +29 -0
  10. package/templates/en/common/ideas/README.md +30 -0
  11. package/templates/en/fullstack/README.md +45 -0
  12. package/templates/en/fullstack/agents/agents.md +4 -0
  13. package/templates/en/fullstack/features/feature-base/tasks.md +9 -2
  14. package/templates/en/single/README.md +45 -0
  15. package/templates/en/single/agents/agents.md +4 -0
  16. package/templates/en/single/features/feature-base/tasks.md +9 -2
  17. package/templates/ko/common/agents/constitution.md +3 -17
  18. package/templates/ko/common/agents/skills/create-feature.md +42 -47
  19. package/templates/ko/common/agents/skills/create-pr.md +1 -0
  20. package/templates/ko/common/agents/skills/execute-task.md +33 -67
  21. package/templates/ko/common/designs/README.md +29 -0
  22. package/templates/ko/common/ideas/README.md +30 -0
  23. package/templates/ko/fullstack/README.md +45 -0
  24. package/templates/ko/fullstack/agents/agents.md +4 -0
  25. package/templates/ko/fullstack/features/feature-base/tasks.md +9 -2
  26. package/templates/ko/single/README.md +45 -0
  27. package/templates/ko/single/agents/agents.md +4 -0
  28. 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.2.3",
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
- "packageManager": "pnpm@10.7.0"
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
- ### 1. Feature-Centric Management
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
- - TypeScript strict mode required
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
- - Manage secrets via environment variables (no repo commits)
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
- # New Feature Creation Process
1
+ # Feature Implementation Process: CLI-driven
2
2
 
3
- Step-by-step guide for adding a new Feature.
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
- ## Steps
8
+ ## 🔄 The Loop (repeat forever)
8
9
 
9
- ### 1. Create Feature Folder
10
+ Repeat this loop until the Feature is complete (docs committed).
10
11
 
11
- ```bash
12
- npx lee-spec-kit feature <name> -d "<description>"
13
- ```
12
+ ### Step 1: Check context
14
13
 
15
- - `<name>`: Feature name (lowercase, hyphens allowed)
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 feature user-auth -d "User authentication and session management"
17
+ npx lee-spec-kit context
22
18
  ```
23
19
 
24
- ### 2. Write spec.md
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
- ### 3. Request User Approval
22
+ Read the `👉 Next Action` output and execute **only that instruction**.
31
23
 
32
- > 🚨 **User Approval Required**
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
- Share full spec.md content with user and wait for **explicit approval (OK)**
28
+ ### Step 3: Repeat
35
29
 
36
- ### 4. Create GitHub Issue
30
+ After completing the action, go back to Step 1 and run `context` again.
37
31
 
38
- → See `skills/create-issue.md`
32
+ ---
39
33
 
40
- ### 5. Create Branch
34
+ ## 🛑 Strict rules
41
35
 
42
- ```bash
43
- git checkout -b feat/{issue-number}-{feature-name}
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
- > ⚠️ **Do NOT work on main branch.** Always create a branch after issue creation.
40
+ ---
47
41
 
48
- ### 6. Pre-Commit Checklist
42
+ ## Reference: the 10-step workflow (reference only)
49
43
 
50
- > ⚠️ **Before committing, verify:**
44
+ > ⚠️ Do NOT execute these from memory. Always follow the CLI.
51
45
 
52
- - [ ] Issue number in spec.md (`- **Issue Number**: #{issue}`)
53
- - [ ] Issue number in tasks.md (`- **Issue**: #{issue}`)
54
- - [ ] Branch name in tasks.md (`feat/{issue-number}-{feature-name}`)
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
- ### 7. Commit Documents
57
+ ---
57
58
 
58
- > 🚨 **User Approval Required**
59
+ ## Getting started
59
60
 
60
- After spec/plan/tasks approval, commit the **entire Feature folder**:
61
+ If the Feature folder does not exist yet:
61
62
 
62
63
  ```bash
63
- git add docs/features/{be|fe}/F{number}-{feature-name}/
64
- git commit -m "docs(#{issue}): F{number} planning complete"
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
- - **Feature Template**: `features/feature-base/`
75
- - **Issue Creation Guide**: `skills/create-issue.md`
67
+ # 2) Enter the loop
68
+ npx lee-spec-kit context
69
+ ```
@@ -7,6 +7,7 @@ Guide for creating Pull Requests.
7
7
  ## Prerequisites
8
8
 
9
9
  - [ ] All tasks in `[DONE]` state
10
+ - [ ] All checkboxes in `tasks.md` "Completion Criteria" are checked
10
11
  - [ ] Changes committed
11
12
  - [ ] Branch pushed
12
13
 
@@ -1,94 +1,43 @@
1
- # Task Execution Process
1
+ # Task Execution Process: CLI-driven
2
2
 
3
- Guide for executing tasks from tasks.md.
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
- ## Steps
8
+ ## 🔄 The Loop (repeat forever)
8
9
 
9
- ### 1. Check Task
10
+ Repeat this loop until the Feature is complete.
10
11
 
11
- - Find next task in `tasks.md`
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
- # 1. Project Commit (If code changed)
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
- ### Principle
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
- - Completed tasks are preserved for **history/record purposes**
71
- - If modifications are needed, **add a new task**
26
+ ### Step 3: Update tasks.md (only what you did)
72
27
 
73
- ### When Modifications Are Needed
28
+ Keep `tasks.md` aligned with reality.
74
29
 
75
- 1. Keep the existing task as-is
76
- 2. Add new task: `T{next-number}: {modification description}`
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
- **Example:**
33
+ ### Step 4: Repeat
80
34
 
81
- ```markdown
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
- ## Reference Documents
39
+ ## 🛑 Strict rules
92
40
 
93
- - **Git Workflow**: `git-workflow.md`
94
- - **Commit Convention**: `git-workflow.md` > "Commit Convention" section
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
- - [ ] All tasks [DONE]
33
- - [ ] All tests passing
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
- - [ ] All tasks [DONE]
33
- - [ ] All tests passing
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
- ### 1. Feature 중심 관리
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
- - TypeScript strict mode 필수
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