spec-feature 1.0.3 → 1.0.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 +60 -58
- package/bin/cli.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,58 +1,60 @@
|
|
|
1
|
-
#
|
|
1
|
+
# 🚀 Spec Feature
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
> **Turn your idea into a ready development plan in minutes!**
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
`Spec Feature` is your personal assistant for creating technical specifications. Simply describe what you want to build, and get a complete specification, technical plan, and task list for your development team. All documents are created by AI from a single description.
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
The specification becomes the single source of truth — you guess less about what you intended to build.
|
|
7
|
+
## 🎯 Why use Spec Feature?
|
|
9
8
|
|
|
10
|
-
###
|
|
11
|
-
|
|
9
|
+
### **⭐ Clear project start**
|
|
10
|
+
The specification becomes the single source of truth — no more guessing about what you intended to build.
|
|
12
11
|
|
|
13
|
-
###
|
|
14
|
-
"
|
|
12
|
+
### **🤝 Fewer misunderstandings between human and AI**
|
|
13
|
+
Clear "contracts" / specifications help avoid "vibe coding" — when AI "guesses" your intentions and often builds something not quite what you need.
|
|
15
14
|
|
|
16
|
-
###
|
|
15
|
+
### **📚 Architecture and decisions are documented**
|
|
16
|
+
"Why did we choose this solution?" will be captured in the specification, not in emails, chats, or someone's head.
|
|
17
|
+
|
|
18
|
+
### **✅ Controlled task breakdown**
|
|
17
19
|
Small tasks are easier to review, test, and correct — fewer "big commits that are hard to understand".
|
|
18
20
|
|
|
19
|
-
###
|
|
21
|
+
### **🔄 Flexibility and evolution**
|
|
20
22
|
Specifications are not "dead" — they can be updated, refactored, and revised when requirements change.
|
|
21
23
|
|
|
22
|
-
###
|
|
23
|
-
Specification + plan + tasks
|
|
24
|
+
### **🤖 AI assistant integration**
|
|
25
|
+
Specification + plan + tasks give AI "context" and boundaries within which it can generate code more safely.
|
|
24
26
|
|
|
25
|
-
##
|
|
27
|
+
## ⚡ Quick Start
|
|
26
28
|
|
|
27
|
-
### Using npx (recommended)
|
|
29
|
+
### 🚀 Using npx (recommended)
|
|
28
30
|
|
|
29
|
-
The easiest way to
|
|
31
|
+
The easiest way to get started with Spec Feature:
|
|
30
32
|
|
|
31
33
|
```bash
|
|
32
|
-
# Initialize
|
|
34
|
+
# Initialize Spec Feature in current directory
|
|
33
35
|
npx spec-feature init
|
|
34
36
|
|
|
35
|
-
# Initialize
|
|
37
|
+
# Initialize with custom folder name
|
|
36
38
|
npx spec-feature init my-project-docs
|
|
37
39
|
```
|
|
38
40
|
|
|
39
|
-
This will create a `spec` folder (or your custom
|
|
41
|
+
This will create a `spec` folder (or your custom name) with the complete Spec Feature structure ready to use.
|
|
40
42
|
|
|
41
|
-
### Global installation
|
|
43
|
+
### 🌍 Global installation
|
|
42
44
|
|
|
43
|
-
For frequent use,
|
|
45
|
+
For frequent use, install Spec Feature globally:
|
|
44
46
|
|
|
45
47
|
```bash
|
|
46
48
|
npm install -g spec-feature
|
|
47
49
|
|
|
48
|
-
#
|
|
50
|
+
# Now you can use it anywhere
|
|
49
51
|
spec-feature init
|
|
50
52
|
spec-feature init my-features
|
|
51
53
|
```
|
|
52
54
|
|
|
53
|
-
### Local installation
|
|
55
|
+
### 📦 Local installation
|
|
54
56
|
|
|
55
|
-
To install
|
|
57
|
+
To install Spec Feature in your project:
|
|
56
58
|
|
|
57
59
|
```bash
|
|
58
60
|
npm install spec-feature
|
|
@@ -66,33 +68,33 @@ npm install spec-feature
|
|
|
66
68
|
}
|
|
67
69
|
```
|
|
68
70
|
|
|
69
|
-
##
|
|
71
|
+
## 📁 Project Structure `/spec`
|
|
70
72
|
|
|
71
|
-
### Initial structure (created during initialization)
|
|
73
|
+
### 🏗️ Initial structure (created during initialization)
|
|
72
74
|
```
|
|
73
75
|
/spec
|
|
74
76
|
├── README.md ← this guide
|
|
75
|
-
├── feature.md ← main template
|
|
77
|
+
├── feature.md ← main template for launching spec-feature
|
|
76
78
|
└── core ← base templates for specific stages
|
|
77
79
|
├── spec.md ← specification structure
|
|
78
80
|
├── plan.md ← technical plan structure
|
|
79
81
|
├── tasks.md ← task list structure
|
|
80
82
|
├── verify.md ← verification report structure
|
|
81
|
-
└── hotfix.md ← hotfix and
|
|
83
|
+
└── hotfix.md ← hotfix and update structure
|
|
82
84
|
```
|
|
83
85
|
|
|
84
|
-
### Full structure (after creating the first feature)
|
|
86
|
+
### 🎯 Full structure (after creating the first feature)
|
|
85
87
|
```
|
|
86
88
|
/spec
|
|
87
89
|
├── README.md ← this guide
|
|
88
|
-
├── feature.md ← main template
|
|
90
|
+
├── feature.md ← main template for launching spec-feature
|
|
89
91
|
├── core ← base templates for specific stages
|
|
90
92
|
│ ├── spec.md ← specification structure
|
|
91
93
|
│ ├── plan.md ← technical plan structure
|
|
92
94
|
│ ├── tasks.md ← task list structure
|
|
93
95
|
│ ├── verify.md ← verification report structure
|
|
94
|
-
│ └── hotfix.md ← hotfix and
|
|
95
|
-
└── features ←
|
|
96
|
+
│ └── hotfix.md ← hotfix and update structure
|
|
97
|
+
└── features ← folder with feature materials (created automatically)
|
|
96
98
|
├── <feature> ← specific feature folder (e.g., `user-auth`)
|
|
97
99
|
│ ├── spec.md ← current specification
|
|
98
100
|
│ ├── plan.md ← technical plan
|
|
@@ -101,27 +103,27 @@ npm install spec-feature
|
|
|
101
103
|
└── ... ← other features created from templates
|
|
102
104
|
```
|
|
103
105
|
|
|
104
|
-
>
|
|
106
|
+
> **💡 Tip:** The `features` folder is created automatically when creating the first feature through `spec/feature.md`.
|
|
105
107
|
|
|
106
|
-
## Getting
|
|
108
|
+
## 🎬 Getting Started
|
|
107
109
|
|
|
108
|
-
To create a feature specification, use `spec/feature.md` template with any AI Assistant that can create folders and files (such as `Claude Code`, `Gemini CLI`, `Codex CLI`, `Copilot`, `Cursor`, etc.).
|
|
110
|
+
To create a feature specification, use the `spec/feature.md` template with any AI Assistant that can create folders and files (such as `Claude Code`, `Gemini CLI`, `Codex CLI`, `Copilot`, `Cursor`, etc.).
|
|
109
111
|
|
|
110
|
-
### Input parameter format
|
|
112
|
+
### 📝 Input parameter format
|
|
111
113
|
|
|
112
114
|
Pass parameters in one line in the format `@<feature>@ <context>`:
|
|
113
115
|
|
|
114
116
|
- the value between the first two `@` symbols is used as **FEATURE** and determines the feature folder (`@payments@` → `spec/features/payments`);
|
|
115
117
|
- everything following the second `@` is **CONTEXT**. It can span multiple lines, include lists, links, and additional clarifications.
|
|
116
118
|
|
|
117
|
-
### Usage example
|
|
119
|
+
### 🚀 Usage example
|
|
118
120
|
|
|
119
121
|
```
|
|
120
122
|
Use the template from spec/feature.md.
|
|
121
123
|
@user-auth@ Need to add user authentication via email and password. The user should be able to register, log in, and recover their password. Integration with the existing notification system is mandatory.
|
|
122
124
|
```
|
|
123
125
|
|
|
124
|
-
### What happens next
|
|
126
|
+
### ✨ What happens next
|
|
125
127
|
|
|
126
128
|
The AI assistant generates three Markdown documents in sequence:
|
|
127
129
|
- `spec/features/{FEATURE}/spec.md` — specification describing value and user scenarios.
|
|
@@ -130,51 +132,51 @@ The AI assistant generates three Markdown documents in sequence:
|
|
|
130
132
|
|
|
131
133
|
For example, the above command will create the `spec/features/user-auth/` folder with three files: `spec.md`, `plan.md`, and `tasks.md`.
|
|
132
134
|
|
|
133
|
-
##
|
|
135
|
+
## 🚀 Launching Task Execution
|
|
134
136
|
|
|
135
137
|
After creating the specification and plan, you can proceed with implementation:
|
|
136
138
|
|
|
137
|
-
1.
|
|
139
|
+
1. **🎯 Launch task execution**
|
|
138
140
|
```
|
|
139
141
|
Execute all tasks in `spec/features/{FEATURE}/tasks.md`
|
|
140
142
|
```
|
|
141
143
|
|
|
142
|
-
2.
|
|
144
|
+
2. **⚡ What happens during execution**
|
|
143
145
|
- AI assistant sequentially executes tasks from the checklist
|
|
144
146
|
- Each completed task is marked as finished
|
|
145
147
|
- When problems arise, the assistant may request clarifications
|
|
146
148
|
- Progress can be tracked by updating checkboxes in `tasks.md`
|
|
147
149
|
|
|
148
|
-
3.
|
|
150
|
+
3. **📝 Example for user-auth feature**
|
|
149
151
|
```
|
|
150
152
|
Execute all tasks in `spec/features/user-auth/tasks.md`
|
|
151
153
|
```
|
|
152
154
|
|
|
153
|
-
## What
|
|
155
|
+
## ✅ What Happens After Task Execution
|
|
154
156
|
|
|
155
157
|
After completing all tasks, automatic verification is launched:
|
|
156
158
|
|
|
157
|
-
1.
|
|
159
|
+
1. **🔍 Automatic verification**
|
|
158
160
|
- AI assistant uses the `spec/core/verify.md` template
|
|
159
161
|
- Compares implemented functionality with requirements from `spec.md`
|
|
160
162
|
- Checks compliance with the technical plan from `plan.md`
|
|
161
163
|
|
|
162
|
-
2.
|
|
164
|
+
2. **📊 Verification results**
|
|
163
165
|
- A report `spec/features/{FEATURE}/verify-report.md` is created
|
|
164
166
|
- Task statuses in `tasks.md` are updated (✅ completed / ❌ requires refinement)
|
|
165
167
|
- Found discrepancies and recommendations are recorded
|
|
166
168
|
|
|
167
|
-
3.
|
|
169
|
+
3. **📋 Verification report content**
|
|
168
170
|
- Summary of completed tasks
|
|
169
171
|
- List of found problems
|
|
170
172
|
- Recommendations for fixes
|
|
171
173
|
- Assessment of feature readiness for production
|
|
172
174
|
|
|
173
|
-
## Updating
|
|
175
|
+
## 🔄 Updating Existing Feature
|
|
174
176
|
|
|
175
177
|
To update an existing feature, reuse `spec/feature.md`, specifying the name of the required feature folder and a list of changes:
|
|
176
178
|
|
|
177
|
-
|
|
179
|
+
**📝 Update example:**
|
|
178
180
|
```
|
|
179
181
|
Use the template from spec/feature.md.
|
|
180
182
|
@user-auth@ Add two-factor authentication (2FA) via SMS. The user should be able to enable/disable 2FA in profile settings. Integration with existing SMS provider.
|
|
@@ -182,21 +184,21 @@ Use the template from spec/feature.md.
|
|
|
182
184
|
|
|
183
185
|
The AI assistant will correctly overwrite `spec.md`, `plan.md`, and `tasks.md`, preserving the structure and updating the content for new requirements.
|
|
184
186
|
|
|
185
|
-
## Troubleshooting
|
|
187
|
+
## 🛠️ Troubleshooting
|
|
186
188
|
|
|
187
|
-
### Common problems and solutions
|
|
189
|
+
### 🚨 Common problems and solutions
|
|
188
190
|
|
|
189
|
-
|
|
190
|
-
-
|
|
191
|
+
**❌ Problem:** AI assistant doesn't create feature folder
|
|
192
|
+
- **✅ Solution:** Make sure you're using the correct format `@feature@ context` and that the assistant has file creation permissions
|
|
191
193
|
|
|
192
|
-
|
|
193
|
-
-
|
|
194
|
+
**❌ Problem:** Tasks are executed in wrong order
|
|
195
|
+
- **✅ Solution:** Check task numbering in `tasks.md` and reorder if necessary
|
|
194
196
|
|
|
195
|
-
|
|
196
|
-
-
|
|
197
|
+
**❌ Problem:** Verification doesn't launch automatically
|
|
198
|
+
- **✅ Solution:** Make sure all tasks in `tasks.md` are marked as completed, then manually launch verification:
|
|
197
199
|
```
|
|
198
200
|
Use the template from spec/core/verify.md to verify spec/features/{FEATURE}/
|
|
199
201
|
```
|
|
200
202
|
|
|
201
|
-
|
|
202
|
-
-
|
|
203
|
+
**❌ Problem:** Conflict when updating existing feature
|
|
204
|
+
- **✅ Solution:** Create a backup of current files before updating or use git to track changes
|
package/bin/cli.js
CHANGED
|
@@ -48,7 +48,7 @@ if (command === "init") {
|
|
|
48
48
|
}
|
|
49
49
|
});
|
|
50
50
|
|
|
51
|
-
console.log(`✅
|
|
51
|
+
console.log(`✅ Spec Feature initialized in '${folderName}' folder!`);
|
|
52
52
|
} else {
|
|
53
53
|
console.log("Usage: npx spec-feature init [folder-name]");
|
|
54
54
|
}
|