sdd-toolkit 1.6.0 → 1.8.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/README.md +262 -62
- package/README.pt.md +320 -121
- package/definitions/sdd.yaml +7 -8
- package/package.json +42 -41
- package/src/index.js +106 -75
- package/src/lib/transformers.js +12 -12
- package/templates/milestones.md +0 -14
- /package/definitions/{coder.yaml → sdd-coder.yaml} +0 -0
- /package/definitions/{feature.yaml → sdd-feature.yaml} +0 -0
- /package/definitions/{log.yaml → sdd-log.yaml} +0 -0
- /package/definitions/{project.yaml → sdd-project.yaml} +0 -0
- /package/definitions/{requirements.yaml → sdd-requirements.yaml} +0 -0
- /package/definitions/{review.yaml → sdd-review.yaml} +0 -0
package/README.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# sdd-toolkit (Universal Spec CLI)
|
|
2
2
|
|
|
3
|
+

|
|
4
|
+

|
|
5
|
+

|
|
6
|
+
|
|
3
7
|
CLI tool to automatically set up the development environment and install AI agents (Auditor, Coder, etc.) for various modern AI tools.
|
|
4
8
|
|
|
5
9
|
## Overview
|
|
@@ -8,6 +12,22 @@ CLI tool to automatically set up the development environment and install AI agen
|
|
|
8
12
|
|
|
9
13
|
The main idea is to stop creating prompts from scratch and install a proven, structured workflow.
|
|
10
14
|
|
|
15
|
+
## 📑 Table of Contents
|
|
16
|
+
|
|
17
|
+
- [Overview](#overview)
|
|
18
|
+
- [Key Features](#-key-features)
|
|
19
|
+
- [The Squad](#-the-squad-agent-roles)
|
|
20
|
+
- [Installation and Usage](#installation-and-usage)
|
|
21
|
+
- [How it Works](#how-it-works)
|
|
22
|
+
- [Development Workflow](#development-workflow)
|
|
23
|
+
- [AI Tool Commands](#ai-tool-commands)
|
|
24
|
+
- [Generated Files Structure](#generated-files-structure)
|
|
25
|
+
- [Usage Examples](#usage-examples)
|
|
26
|
+
- [Troubleshooting](#troubleshooting)
|
|
27
|
+
- [FAQ](#-frequently-asked-questions)
|
|
28
|
+
- [Project Structure](#project-structure)
|
|
29
|
+
- [License](#license)
|
|
30
|
+
|
|
11
31
|
## 🚀 Key Features
|
|
12
32
|
|
|
13
33
|
### 1. Smart & Agile Workflow
|
|
@@ -15,26 +35,20 @@ The main idea is to stop creating prompts from scratch and install a proven, str
|
|
|
15
35
|
- **Smart Context:** Agents automatically scan your `package.json`, `go.mod`, or `requirements.txt` to understand your stack. No more explaining "I use React" every time.
|
|
16
36
|
- **Unified Memory:** All context is stored in a hidden `.sdd-toolkit/` folder, keeping your root directory clean.
|
|
17
37
|
|
|
18
|
-
### 2.
|
|
19
|
-
Agents
|
|
20
|
-
- **`/sdd`**: Access help and list all available agents.
|
|
21
|
-
- **`/flow:debug`**: Paste an error log, and the Coder enters "Surgical Mode" to fix it immediately.
|
|
22
|
-
- **`/flow:tdd`**: Forces the Red-Green-Refactor cycle for high-quality code.
|
|
23
|
-
- **`/flow:refactor`**: Applies Clean Code principles to an existing file.
|
|
24
|
-
- **`/flow:gen-tests`**: Automatically generates unit tests for your code.
|
|
25
|
-
- **`/flow:security`**: Scans your code/plan for vulnerabilities (OWASP).
|
|
26
|
-
- **`/flow:sync`**: Updates the documentation (`project.md`) to match the actual code (Reverse Engineering).
|
|
38
|
+
### 2. Multi-Language Support
|
|
39
|
+
The toolkit supports English, Portuguese (Brazil), and Spanish. Agents automatically adapt their responses to your preferred language.
|
|
27
40
|
|
|
28
41
|
### 3. AI Agent Installation
|
|
29
42
|
Reads agnostic definitions (YAML) and converts them to specific formats:
|
|
30
43
|
- **Gemini CLI:** Generates `.toml` configuration files.
|
|
31
|
-
- **Roo Code
|
|
32
|
-
- **
|
|
33
|
-
- **
|
|
34
|
-
- **
|
|
44
|
+
- **Roo Code:** Generates agents in `.roo/commands/*.md`.
|
|
45
|
+
- **Cline:** Generates custom modes (`_custom_modes.json`) and context rules in `.cline/`.
|
|
46
|
+
- **GitHub Copilot:** Generates instructions in `.github/prompts.md` and agents in `.github/prompts/*.md`.
|
|
47
|
+
- **Cursor:** Generates rules in `.cursor/commands/*.mdc`.
|
|
48
|
+
- **Windsurf:** Generates workflows in `.windsurf/workflows/*.md`.
|
|
35
49
|
- **Trae:** Generates instructions in `.trae/instructions.md`.
|
|
36
|
-
- **OpenCode:** Generates agents in `.opencode
|
|
37
|
-
- **Kilo Code:** Generates Markdown prompts (`.
|
|
50
|
+
- **OpenCode:** Generates agents in `.opencode/commands/*.md`.
|
|
51
|
+
- **Kilo Code:** Generates Markdown prompts (`.kilocode/workflows/*.md`).
|
|
38
52
|
|
|
39
53
|
## 👥 The Squad (Agent Roles)
|
|
40
54
|
|
|
@@ -43,27 +57,40 @@ The system installs a team of specialized agents:
|
|
|
43
57
|
### 🏗️ Strategic Agents
|
|
44
58
|
- **@Project Architect:** Defines the scope and principles.
|
|
45
59
|
- **@Requirements Engineer:** Defines the tech stack (Auto-detected).
|
|
46
|
-
- **@Milestone Manager:** Creates the roadmap.
|
|
47
60
|
|
|
48
61
|
### ⚡ Execution Agents
|
|
49
|
-
- **@
|
|
50
|
-
- **@
|
|
51
|
-
- **@Coder:** The senior developer. Supports TDD, Debug, Refactor, and Test Generation modes.
|
|
62
|
+
- **@Feature Manager:** Manages features, milestones, and tasks.
|
|
63
|
+
- **@Coder:** The senior developer. Implements code following SOLID principles.
|
|
52
64
|
|
|
53
65
|
### 🛡️ Quality Agents
|
|
54
|
-
- **@QA Engineer:** Reviews code against the spec
|
|
55
|
-
- **@DevOps Engineer:** Handles Docker, CI/CD, and Configs.
|
|
66
|
+
- **@QA Engineer:** Reviews code against the spec.
|
|
56
67
|
- **@Release Manager:** Consolidates logs and manages the changelog.
|
|
57
68
|
- **@SDD Helper:** Provides access to all agents and help.
|
|
58
69
|
|
|
59
70
|
## Installation and Usage
|
|
60
71
|
|
|
61
|
-
|
|
72
|
+
### Initial Setup
|
|
73
|
+
Run the tool directly via `npx` without prior installation:
|
|
62
74
|
|
|
63
75
|
```bash
|
|
64
76
|
npx sdd-toolkit
|
|
65
77
|
```
|
|
66
78
|
|
|
79
|
+
### View Project Dashboard
|
|
80
|
+
Check your current project status:
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
sdd-toolkit view
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Upgrade Existing Installation
|
|
87
|
+
Update installed agents without reconfiguration:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
sdd-toolkit upgrade
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Global Installation
|
|
67
94
|
Or install globally:
|
|
68
95
|
|
|
69
96
|
```bash
|
|
@@ -74,61 +101,133 @@ sdd-toolkit
|
|
|
74
101
|
## How it Works
|
|
75
102
|
|
|
76
103
|
1. **Initialization:** The wizard detects your tools and sets up the hidden `.sdd-toolkit/` context folder.
|
|
77
|
-
2. **Agent Building:**
|
|
78
|
-
3. **Execution:**
|
|
104
|
+
2. **Agent Building:** Reads the agent definitions (YAML) and compiles them into your AI tool's native format.
|
|
105
|
+
3. **Execution:** Interact with agents using simplified commands (e.g., `/project`, `/coder`, `/feature`).
|
|
106
|
+
|
|
107
|
+
## Development Workflow
|
|
108
|
+
|
|
109
|
+
The sdd-toolkit provides a structured workflow with specialized agents:
|
|
110
|
+
|
|
111
|
+
### 1. Define Project
|
|
112
|
+
- Command: `/project`
|
|
113
|
+
- Creates `.sdd-toolkit/project.md` with project scope and principles.
|
|
79
114
|
|
|
80
|
-
|
|
115
|
+
### 2. Define Requirements
|
|
116
|
+
- Command: `/requirements`
|
|
117
|
+
- Analyzes your stack and creates `.sdd-toolkit/requirements.md`.
|
|
81
118
|
|
|
82
|
-
|
|
119
|
+
### 3. Plan Features
|
|
120
|
+
- Command: `/feature`
|
|
121
|
+
- Creates `.sdd-toolkit/features/[name].md` with milestones and tasks.
|
|
83
122
|
|
|
84
|
-
###
|
|
123
|
+
### 4. Implement Code
|
|
124
|
+
- Command: `/coder [task-id]`
|
|
125
|
+
- Implements tasks from feature plan and logs work.
|
|
85
126
|
|
|
86
|
-
|
|
87
|
-
-
|
|
88
|
-
-
|
|
89
|
-
- **Finalization:** Release Manager consolidates into changelog with human confirmation.
|
|
127
|
+
### 5. Review Code
|
|
128
|
+
- Command: `/review [task-id]`
|
|
129
|
+
- QA Engineer reviews implementation against requirements.
|
|
90
130
|
|
|
91
|
-
###
|
|
131
|
+
### 6. Release
|
|
132
|
+
- Command: `/log` or `/dev:release`
|
|
133
|
+
- Consolidates logs into changelog and archives completed work.
|
|
92
134
|
|
|
93
|
-
|
|
94
|
-
- Command: `/start "Build a login system"`
|
|
95
|
-
- Action: Project Architect checks for existing `.sdd-toolkit/project.md`.
|
|
96
|
-
- If none: Enters interview mode for basics.
|
|
97
|
-
- If exists: Confirms proceed or restart.
|
|
98
|
-
- Output: Updates `project.md` with hybrid notes (e.g., approval points).
|
|
135
|
+
## AI Tool Commands
|
|
99
136
|
|
|
100
|
-
|
|
101
|
-
- If hotfix: Feature Manager routes directly to task creation.
|
|
102
|
-
- If project: Milestone Manager generates roadmap with human approval.
|
|
103
|
-
- Commands: `/requirements`, `/milestone`, `/tasks`.
|
|
104
|
-
- Output: `requirements.md`, `milestones.md`, `task.md`.
|
|
137
|
+
Once agents are installed, use these commands in your AI coding assistant:
|
|
105
138
|
|
|
106
|
-
|
|
107
|
-
-
|
|
108
|
-
-
|
|
109
|
-
-
|
|
110
|
-
-
|
|
139
|
+
### Access Agents
|
|
140
|
+
- **`/sdd`** - Display available agents and help
|
|
141
|
+
- **`/sdd.project`** - Activate Project Architect
|
|
142
|
+
- **`/sdd.requirements`** - Activate Requirements Engineer
|
|
143
|
+
- **`/sdd.feature`** - Activate Feature Manager
|
|
144
|
+
- **`/sdd.coder`** - Activate Coder
|
|
145
|
+
- **`/sdd.review`** - Activate QA Engineer
|
|
146
|
+
- **`/sdd.log`** - Activate Release Manager
|
|
111
147
|
|
|
112
|
-
|
|
113
|
-
-
|
|
114
|
-
-
|
|
115
|
-
- Output: Review reports in `logs/reviews/`.
|
|
148
|
+
### Special Commands
|
|
149
|
+
- **`/dev:review [Task_ID]`** - Trigger code review for a specific task
|
|
150
|
+
- **`/dev:release`** - Consolidate logs and create changelog
|
|
116
151
|
|
|
117
|
-
|
|
118
|
-
- Command: `/release` or implicit after approval.
|
|
119
|
-
- Action: Release Manager updates `changelog.md` and archives logs after human confirmation.
|
|
120
|
-
- Output: Clean changelog and archived logs.
|
|
152
|
+
## Generated Files Structure
|
|
121
153
|
|
|
122
|
-
|
|
123
|
-
Agents share context via `.sdd-toolkit/` files, ensuring no hallucinations. Power commands enable specialized modes. The flow promotes justification (e.g., "Why this decision?") and human-AI handoffs for reliability.
|
|
154
|
+
After running `sdd-toolkit`, the following structure is created in your project:
|
|
124
155
|
|
|
125
|
-
|
|
156
|
+
```
|
|
157
|
+
.sdd-toolkit/
|
|
158
|
+
├── project.md # Project scope and principles
|
|
159
|
+
├── requirements.md # Technical requirements and stack
|
|
160
|
+
├── guidelines.md # Project development guidelines
|
|
161
|
+
├── milestones.md # Development roadmap
|
|
162
|
+
├── task.md # Task execution backlog
|
|
163
|
+
├── features/ # Individual feature specifications
|
|
164
|
+
│ └── [feature-name].md
|
|
165
|
+
├── logs/
|
|
166
|
+
│ ├── executions/ # Task execution logs
|
|
167
|
+
│ ├── reviews/ # Code review reports
|
|
168
|
+
│ └── archive/ # Archived completed work
|
|
169
|
+
└── agents/ # Custom agent definitions (optional overrides)
|
|
170
|
+
```
|
|
126
171
|
|
|
127
172
|
## Project Structure
|
|
128
173
|
|
|
129
|
-
-
|
|
130
|
-
-
|
|
131
|
-
-
|
|
174
|
+
- `definitions/`: YAML agent definitions
|
|
175
|
+
- `templates/`: Documentation templates
|
|
176
|
+
- `src/`: CLI source code
|
|
177
|
+
|
|
178
|
+
## Usage Examples
|
|
179
|
+
|
|
180
|
+
### Complete Workflow: New Feature
|
|
181
|
+
|
|
182
|
+
1. **Define project:**
|
|
183
|
+
```
|
|
184
|
+
/sdd.project
|
|
185
|
+
```
|
|
186
|
+
Creates `.sdd-toolkit/project.md` with scope and principles.
|
|
187
|
+
|
|
188
|
+
2. **Define technical requirements:**
|
|
189
|
+
```
|
|
190
|
+
/sdd.requirements
|
|
191
|
+
```
|
|
192
|
+
Analyzes your `package.json`/`go.mod` and creates `.sdd-toolkit/requirements.md`.
|
|
193
|
+
|
|
194
|
+
3. **Plan a new feature:**
|
|
195
|
+
```
|
|
196
|
+
/sdd.feature
|
|
197
|
+
```
|
|
198
|
+
Specify your feature (e.g., "Add user authentication"). Creates `.sdd-toolkit/features/auth.md`.
|
|
199
|
+
|
|
200
|
+
4. **Implement tasks:**
|
|
201
|
+
```
|
|
202
|
+
/sdd.coder MT01-task-1
|
|
203
|
+
```
|
|
204
|
+
Coder implements task following SOLID principles and logs work.
|
|
205
|
+
|
|
206
|
+
5. **Review implementation:**
|
|
207
|
+
```
|
|
208
|
+
/sdd.review MT01-task-1
|
|
209
|
+
```
|
|
210
|
+
QA Engineer validates implementation against requirements.
|
|
211
|
+
|
|
212
|
+
6. **Release changes:**
|
|
213
|
+
```
|
|
214
|
+
/sdd.log
|
|
215
|
+
```
|
|
216
|
+
Consolidates logs into changelog and archives completed work.
|
|
217
|
+
|
|
218
|
+
### Quick Bug Fix
|
|
219
|
+
|
|
220
|
+
1. **Use Coder directly:**
|
|
221
|
+
```
|
|
222
|
+
/sdd.coder fix-login-bug
|
|
223
|
+
```
|
|
224
|
+
Coder analyzes, fixes, and documents change.
|
|
225
|
+
|
|
226
|
+
2. **Review fix:**
|
|
227
|
+
```
|
|
228
|
+
/sdd.review fix-login-bug
|
|
229
|
+
```
|
|
230
|
+
Validates that fix meets requirements.
|
|
132
231
|
|
|
133
232
|
## License
|
|
134
233
|
|
|
@@ -137,3 +236,104 @@ MIT
|
|
|
137
236
|
---
|
|
138
237
|
|
|
139
238
|
**Nota:** Uma versão em português deste README está disponível em [README.pt.md](README.pt.md).
|
|
239
|
+
|
|
240
|
+
## Troubleshooting
|
|
241
|
+
|
|
242
|
+
### Agents not appearing in your AI tool
|
|
243
|
+
|
|
244
|
+
**Problem:** After running `sdd-toolkit`, agents don't appear in your AI coding assistant.
|
|
245
|
+
|
|
246
|
+
**Solutions:**
|
|
247
|
+
- **Roo Code/Cline:** Check if you've configured Custom Modes in your settings. See the warning message after installation.
|
|
248
|
+
- **Cursor:** Restart the IDE after installation.
|
|
249
|
+
- **OpenCode:** Refresh the command palette.
|
|
250
|
+
- **Gemini CLI:** Verify `.gemini/commands/dev/` folder exists with `.toml` files.
|
|
251
|
+
|
|
252
|
+
### Permission denied when running sdd-toolkit
|
|
253
|
+
|
|
254
|
+
**Problem:** Getting "Permission denied" or EACCES error when running `npx sdd-toolkit`.
|
|
255
|
+
|
|
256
|
+
**Solutions:**
|
|
257
|
+
- **Option 1:** Run with elevated permissions (not recommended):
|
|
258
|
+
```bash
|
|
259
|
+
sudo npx sdd-toolkit
|
|
260
|
+
```
|
|
261
|
+
- **Option 2:** Fix npm permissions:
|
|
262
|
+
```bash
|
|
263
|
+
npm config set prefix ~/.npm-global
|
|
264
|
+
export PATH=~/.npm-global/bin:$PATH
|
|
265
|
+
```
|
|
266
|
+
- **Option 3:** Install globally with sudo:
|
|
267
|
+
```bash
|
|
268
|
+
sudo npm install -g sdd-toolkit
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
### Agents responding in wrong language
|
|
272
|
+
|
|
273
|
+
**Problem:** Agents are not responding in your preferred language.
|
|
274
|
+
|
|
275
|
+
**Solution:**
|
|
276
|
+
- Re-run `sdd-toolkit` and ensure you select the correct language during setup (English, Portuguese, or Spanish).
|
|
277
|
+
- Or manually edit the `LANGUAGE_RULES` in your agent files.
|
|
278
|
+
|
|
279
|
+
### Stack profile not applying rules
|
|
280
|
+
|
|
281
|
+
**Problem:** Selected stack profile rules are not being used by agents.
|
|
282
|
+
|
|
283
|
+
**Solution:**
|
|
284
|
+
- The stack profile is only applied during initial installation or upgrade. Run:
|
|
285
|
+
```bash
|
|
286
|
+
sdd-toolkit upgrade
|
|
287
|
+
```
|
|
288
|
+
Ensure you select the same stack profile again.
|
|
289
|
+
|
|
290
|
+
### `.sdd-toolkit/` folder not created
|
|
291
|
+
|
|
292
|
+
**Problem:** The hidden folder structure is not created after installation.
|
|
293
|
+
|
|
294
|
+
**Solutions:**
|
|
295
|
+
- Check that you're running the command from your project's root directory (where `package.json` is located).
|
|
296
|
+
- Verify write permissions in the directory.
|
|
297
|
+
- Check for error messages during installation.
|
|
298
|
+
|
|
299
|
+
## ❓ Frequently Asked Questions
|
|
300
|
+
|
|
301
|
+
**Q: Can I use multiple AI assistants simultaneously?**
|
|
302
|
+
|
|
303
|
+
A: Yes! You can install agents for multiple AI tools in the same project. Each tool has its own folder structure (`.roo/`, `.cline/`, `.cursor/`, etc.) and they can coexist without conflicts.
|
|
304
|
+
|
|
305
|
+
**Q: How do I update agents after initial setup?**
|
|
306
|
+
|
|
307
|
+
A: Run `sdd-toolkit upgrade`. This will update all installed agents without requiring you to reconfigure your stack profile or global rules.
|
|
308
|
+
|
|
309
|
+
**Q: Can I customize agent definitions?**
|
|
310
|
+
|
|
311
|
+
A: Yes! Create custom YAML files in `.sdd-toolkit/agents/` folder. The toolkit will use your custom versions instead of the default ones. You can copy and modify the default definitions from the `definitions/` folder in the toolkit.
|
|
312
|
+
|
|
313
|
+
**Q: What happens if I run `sdd-toolkit` multiple times?**
|
|
314
|
+
|
|
315
|
+
A: The tool is idempotent - running it again will only update or regenerate missing files without duplicating existing configurations. Your existing project docs in `.sdd-toolkit/` will be preserved.
|
|
316
|
+
|
|
317
|
+
**Q: Can I use this with projects that already have existing code?**
|
|
318
|
+
|
|
319
|
+
A: Yes! The "Requirements Engineer" agent can analyze your existing `package.json`, `go.mod`, or `requirements.txt` to auto-detect your stack. The "Project Architect" can also formalize existing projects in "hybrid" mode.
|
|
320
|
+
|
|
321
|
+
**Q: Do I need to commit `.sdd-toolkit/` to my repository?**
|
|
322
|
+
|
|
323
|
+
A: Yes, it's recommended. The `.sdd-toolkit/` folder contains your project documentation, specifications, and agent configurations. Committing them ensures consistency across your team and preserves context for future sessions.
|
|
324
|
+
|
|
325
|
+
**Q: How do I remove sdd-toolkit from my project?**
|
|
326
|
+
|
|
327
|
+
A: Simply delete the `.sdd-toolkit/` folder and any tool-specific folders (`.roo/`, `.cline/`, `.cursor/`, etc.). These are all generated files and won't affect your source code.
|
|
328
|
+
|
|
329
|
+
**Q: Are my code changes tracked by sdd-toolkit?**
|
|
330
|
+
|
|
331
|
+
A: No, sdd-toolkit only manages documentation and AI agent configurations. It does not track code changes, read your source files, or interfere with version control.
|
|
332
|
+
|
|
333
|
+
**Q: Can I add my own stack profiles?**
|
|
334
|
+
|
|
335
|
+
A: Currently, stack profiles are hardcoded in the toolkit. To add a custom profile, you can use the "Global Rules" feature during setup to inject your own conventions, or you can fork the repository and add your profile to `src/lib/profiles.js`.
|
|
336
|
+
|
|
337
|
+
**Q: Is this suitable for enterprise projects?**
|
|
338
|
+
|
|
339
|
+
A: Yes, sdd-toolkit is designed to scale. The `.sdd-toolkit/` folder can be committed to your repository, ensuring all team members use the same agent configurations and follow the same development principles defined in `guidelines.md`.
|
package/README.pt.md
CHANGED
|
@@ -1,135 +1,334 @@
|
|
|
1
|
-
# sdd-toolkit (CLI de Especificação Universal)
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
A ideia principal é parar de criar prompts do zero e instalar um workflow comprovado e estruturado.
|
|
10
|
-
|
|
11
|
-
## 🚀 Recursos Principais
|
|
12
|
-
|
|
13
|
-
### 1. Workflow Inteligente e Ágil
|
|
14
|
-
- **Fluxo Híbrido:** Suporta planejamento "Waterfall" (para novos projetos) e execução "Agile" (para hotfixes).
|
|
15
|
-
- **Contexto Inteligente:** Os agentes escaneiam automaticamente seu `package.json`, `go.mod`, ou `requirements.txt` para entender sua stack. Não mais explicar "Eu uso React" toda vez.
|
|
16
|
-
- **Memória Unificada:** Todo contexto é armazenado em uma pasta oculta `.sdd-toolkit/`, mantendo sua raiz limpa.
|
|
17
|
-
|
|
18
|
-
### 2. "Comandos de Potência"
|
|
19
|
-
Os agentes vêm equipados com modos de execução especiais acionados por comandos:
|
|
20
|
-
- **`/sdd`**: Acesso a ajuda e lista de todos os agentes disponíveis.
|
|
21
|
-
- **`/flow:debug`**: Cole um log de erro e o Coder entra no "Modo Cirúrgico" para corrigir imediatamente.
|
|
22
|
-
- **`/flow:tdd`**: Força o ciclo Red-Green-Refactor para código de alta qualidade.
|
|
23
|
-
- **`/flow:refactor`**: Aplica princípios de Clean Code a um arquivo existente.
|
|
24
|
-
- **`/flow:gen-tests`**: Gera automaticamente testes unitários para seu código.
|
|
25
|
-
- **`/flow:security`**: Escaneia seu código/plano em busca de vulnerabilidades (OWASP).
|
|
26
|
-
- **`/flow:sync`**: Atualiza a documentação (`project.md`) para corresponder ao código real (Engenharia Reversa).
|
|
1
|
+
# sdd-toolkit (CLI de Especificação Universal)
|
|
2
|
+
|
|
3
|
+

|
|
4
|
+

|
|
5
|
+

|
|
6
|
+
|
|
7
|
+
CLI tool para configurar automaticamente o ambiente de desenvolvimento e instalar agentes de IA (Auditor, Coder, etc.) para várias ferramentas modernas de IA.
|
|
27
8
|
|
|
28
|
-
|
|
29
|
-
|
|
9
|
+
## Visão Geral
|
|
10
|
+
|
|
11
|
+
**sdd-toolkit** é um "Gerenciador de Pacotes de Agentes de IA". Ele define uma equipe padrão de Desenvolvedores de IA e os instala diretamente no contexto de sua assistente de codificação de IA favorita (como Gemini, Roo Code, Kilo Code, OpenCode).
|
|
12
|
+
|
|
13
|
+
A ideia principal é parar de criar prompts do zero e instalar um workflow comprovado e estruturado.
|
|
14
|
+
|
|
15
|
+
## 📑 Índice
|
|
16
|
+
|
|
17
|
+
- [Visão Geral](#visão-geral)
|
|
18
|
+
- [Recursos Principais](#-recursos-principais)
|
|
19
|
+
- [A Equipe](#-a-equipe-funções-dos-agentes)
|
|
20
|
+
- [Instalação e Uso](#instalação-e-uso)
|
|
21
|
+
- [Como Funciona](#como-funciona)
|
|
22
|
+
- [Fluxo de Desenvolvimento](#fluxo-de-desenvolvimento)
|
|
23
|
+
- [Comandos nas Ferramentas de IA](#comandos-nas-ferramentas-de-ia)
|
|
24
|
+
- [Estrutura de Arquivos Gerados](#estrutura-de-arquivos-gerados)
|
|
25
|
+
- [Exemplos de Uso](#exemplos-de-uso)
|
|
26
|
+
- [Solução de Problemas](#solução-de-problemas)
|
|
27
|
+
- [Perguntas Frequentes](#-perguntas-frequentes)
|
|
28
|
+
- [Estrutura do Projeto](#estrutura-do-projeto)
|
|
29
|
+
- [Licença](#licença)
|
|
30
|
+
|
|
31
|
+
## 🚀 Recursos Principais
|
|
32
|
+
|
|
33
|
+
### 1. Workflow Inteligente e Ágil
|
|
34
|
+
- **Fluxo Híbrido:** Suporta planejamento "Waterfall" (para novos projetos) e execução "Agile" (para hotfixes).
|
|
35
|
+
- **Contexto Inteligente:** Os agentes escaneiam automaticamente seu `package.json`, `go.mod`, ou `requirements.txt` para entender sua stack. Não mais explicar "Eu uso React" toda vez.
|
|
36
|
+
- **Memória Unificada:** Todo contexto é armazenado em uma pasta oculta `.sdd-toolkit/`, mantendo sua raiz limpa.
|
|
37
|
+
|
|
38
|
+
### 2. Suporte Multi-Idiomas
|
|
39
|
+
O toolkit suporta Inglês, Português (Brasil) e Espanhol. Os agentes adaptam automaticamente suas respostas ao idioma preferido.
|
|
40
|
+
|
|
41
|
+
### 3. Instalação de Agentes de IA
|
|
42
|
+
Lê definições agnósticas (YAML) e as converte para formatos específicos:
|
|
30
43
|
- **Gemini CLI:** Gera arquivos de configuração `.toml`.
|
|
31
|
-
- **Roo Code
|
|
32
|
-
- **
|
|
33
|
-
- **
|
|
34
|
-
- **
|
|
35
|
-
- **
|
|
36
|
-
- **
|
|
37
|
-
- **
|
|
44
|
+
- **Roo Code:** Gera agentes em `.roo/commands/*.md`.
|
|
45
|
+
- **Cline:** Gera modos customizados (`_custom_modes.json`) e regras de contexto em `.cline/`.
|
|
46
|
+
- **GitHub Copilot:** Gera instruções em `.github/prompts.md` e agentes em `.github/prompts/*.md`.
|
|
47
|
+
- **Cursor:** Gera regras em `.cursor/commands/*.mdc`.
|
|
48
|
+
- **Windsurf:** Gera workflows em `.windsurf/workflows/*.md`.
|
|
49
|
+
- **Trae:** Gera instruções em `.trae/instructions.md`.
|
|
50
|
+
- **OpenCode:** Gera agentes em `.opencode/commands/*.md`.
|
|
51
|
+
- **Kilo Code:** Gera prompts Markdown (`.kilocode/workflows/*.md`).
|
|
38
52
|
|
|
39
53
|
## 👥 A Equipe (Funções dos Agentes)
|
|
40
54
|
|
|
41
55
|
O sistema instala uma equipe de agentes especializados:
|
|
42
56
|
|
|
43
|
-
### 🏗️ Agentes Estratégicos
|
|
44
|
-
- **@
|
|
45
|
-
- **@
|
|
46
|
-
- **@Gerenciadores de Marcos:** Cria o roadmap.
|
|
47
|
-
|
|
48
|
-
### ⚡ Agentes de Execução
|
|
49
|
-
- **@Planejadores de Tarefas:** Quebra marcos em tarefas atômicas.
|
|
50
|
-
- **@Gerenciadores de Recursos:** O ponto de entrada ágil. Trata solicitações como "Adicionar Login Google" e decide o melhor caminho (Hotfix vs Milestone).
|
|
51
|
-
- **@Codificadores:** O desenvolvedor sênior. Suporta modos TDD, Debug, Refactor e Geração de Testes.
|
|
52
|
-
|
|
53
|
-
### 🛡️ Agentes de Qualidade
|
|
54
|
-
- **@Auditores:** Verifica consistência entre requisitos e tarefas.
|
|
55
|
-
- **@QA Engineers:** Revisa código contra a especificação.
|
|
56
|
-
- **@DevOps Engineers:** Trata Docker, CI/CD e Configs.
|
|
57
|
-
- **@Gerenciadores de Releases:** Consolida logs e gerencia o changelog.
|
|
58
|
-
|
|
59
|
-
## Instalação e Uso
|
|
60
|
-
|
|
61
|
-
Você pode executar a ferramenta diretamente via `npx` sem instalação prévia:
|
|
62
|
-
|
|
63
|
-
```bash
|
|
64
|
-
npx sdd-toolkit
|
|
65
|
-
```
|
|
57
|
+
### 🏗️ Agentes Estratégicos
|
|
58
|
+
- **@Arquiteto de Projeto:** Define o escopo e princípios.
|
|
59
|
+
- **@Engenheiro de Requisitos:** Define a stack técnica (Auto-detectada).
|
|
66
60
|
|
|
67
|
-
|
|
61
|
+
### ⚡ Agentes de Execução
|
|
62
|
+
- **@Gerente de Features:** Gerencia features, marcos e tarefas.
|
|
63
|
+
- **@Codificador:** O desenvolvedor sênior. Implementa código seguindo princípios SOLID.
|
|
64
|
+
|
|
65
|
+
### 🛡️ Agentes de Qualidade
|
|
66
|
+
- **@QA Engineer:** Revisa código contra a especificação.
|
|
67
|
+
- **@Gerente de Releases:** Consolida logs e gerencia o changelog.
|
|
68
68
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
69
|
+
## Instalação e Uso
|
|
70
|
+
|
|
71
|
+
### Configuração Inicial
|
|
72
|
+
Execute a ferramenta diretamente via `npx` sem instalação prévia:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
npx sdd-toolkit
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Ver o Dashboard do Projeto
|
|
79
|
+
Verifique o status atual do seu projeto:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
sdd-toolkit view
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Atualizar Instalação Existente
|
|
86
|
+
Atualize os agentes instalados sem reconfiguração:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
sdd-toolkit upgrade
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### Instalação Global
|
|
93
|
+
Ou instale globalmente:
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
npm install -g sdd-toolkit
|
|
97
|
+
sdd-toolkit
|
|
98
|
+
```
|
|
73
99
|
|
|
74
100
|
## Como Funciona
|
|
75
101
|
|
|
76
102
|
1. **Inicialização:** O assistente detecta suas ferramentas e configura a pasta de contexto oculta `.sdd-toolkit/`.
|
|
77
|
-
2. **Construção de Agentes:** Lê
|
|
78
|
-
3. **Execução:**
|
|
79
|
-
|
|
80
|
-
## Fluxo Completo de Desenvolvimento
|
|
81
|
-
|
|
82
|
-
O sdd-toolkit implementa um **fluxo de trabalho híbrido unificado** que se adapta às suas necessidades, combinando planejamento estruturado para novos projetos com execução ágil para correções rápidas. Ele garante rastreabilidade, justificativa e qualidade através de colaboração IA-humana.
|
|
83
|
-
|
|
84
|
-
### Visão Geral do Fluxo Híbrido Unificado
|
|
85
|
-
|
|
86
|
-
- **Iniciação Inteligente:** Comece com `/dev:start "Descrição"` para roteamento inteligente. O sistema verifica docs existentes e decide entre caminhos quick ou estruturados.
|
|
87
|
-
- **Planejamento Condicional:** Se necessário, escala para planejamento completo (Arquitetos de Projeto → Engenheiros de Requisitos → Gerenciadores de Marcos → Planejadores de Tarefas).
|
|
88
|
-
- **Execução Padronizada:** Codificadores implementam tarefas com logs, seguidos de validação unificada (QA e Auditores).
|
|
89
|
-
- **Finalização:** Gerenciadores de Releases consolidam em changelog com confirmação humana.
|
|
90
|
-
|
|
91
|
-
### Passos Detalhados do Fluxo
|
|
92
|
-
|
|
93
|
-
#### 1. Iniciação (Inteligente)
|
|
94
|
-
- Comando: `/start "Construir um sistema de login"`
|
|
95
|
-
- Ação: Arquitetos de Projeto verificam `.sdd-toolkit/project.md` existente.
|
|
96
|
-
- Se nenhum: Entra no modo de entrevista para o básico.
|
|
97
|
-
- Se existe: Confirma prosseguir ou reiniciar.
|
|
98
|
-
- Saída: Atualiza `project.md` com notas híbridas (ex.: pontos de aprovação).
|
|
99
|
-
|
|
100
|
-
#### 2. Planejamento (Condicional)
|
|
101
|
-
- Se hotfix: Gerenciadores de Recursos roteia diretamente para criação de tarefas.
|
|
102
|
-
- Se projeto: Gerenciadores de Marcos gera roadmap com aprovação humana.
|
|
103
|
-
- Comandos: `/requirements`, `/milestone`, `/tasks`.
|
|
104
|
-
- Saída: `requirements.md`, `milestones.md`, `task.md`.
|
|
105
|
-
|
|
106
|
-
#### 3. Execução (Padronizada)
|
|
107
|
-
- Comando: `/coder`
|
|
108
|
-
- Ação: Codificador lê contexto, implementa, registra logs em `executions/`, marca tarefas como concluídas.
|
|
109
|
-
- Modos: `/flow:debug`, `/flow:refactor`, `/flow:tdd`, etc.
|
|
110
|
-
- Saída: Mudanças no código + logs de execução.
|
|
111
|
-
|
|
112
|
-
#### 4. Validação (Unificada)
|
|
113
|
-
- Comando: `/review`
|
|
114
|
-
- Ação: QA revisa código, Auditores verificam consistência. Pausa para entrada humana em ambiguidades.
|
|
115
|
-
- Saída: Relatórios de revisão em `logs/reviews/`.
|
|
116
|
-
|
|
117
|
-
#### 5. Finalização (Com Confirmação)
|
|
118
|
-
- Comando: `/release` ou implícito após aprovação.
|
|
119
|
-
- Ação: Gerenciadores de Releases atualiza `changelog.md` e arquiva logs após confirmação humana.
|
|
120
|
-
- Saída: Changelog limpo e logs arquivados.
|
|
121
|
-
|
|
122
|
-
### Interações dos Agentes
|
|
123
|
-
Agentes compartilham contexto via arquivos `.sdd-toolkit/`, garantindo sem alucinações. Comandos de potência habilitam modos especializados. O fluxo promove justificativa (ex.: "Por que essa decisão?") e handoffs IA-humana para confiabilidade.
|
|
124
|
-
|
|
125
|
-
Para exemplos, veja os guias de workflow gerados em `.sdd-toolkit/`.
|
|
103
|
+
2. **Construção de Agentes:** Lê as definições dos agentes (YAML) e as compila no formato nativo da sua ferramenta de IA.
|
|
104
|
+
3. **Execução:** Interaja com os agentes usando comandos simplificados (ex.: `/project`, `/coder`, `/feature`).
|
|
126
105
|
|
|
127
|
-
##
|
|
128
|
-
|
|
129
|
-
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
106
|
+
## Fluxo de Desenvolvimento
|
|
107
|
+
|
|
108
|
+
O sdd-toolkit fornece um fluxo de trabalho estruturado com agentes especializados:
|
|
109
|
+
|
|
110
|
+
### 1. Definir Projeto
|
|
111
|
+
- Comando: `/project`
|
|
112
|
+
- Cria `.sdd-toolkit/project.md` com o escopo e princípios do projeto.
|
|
113
|
+
|
|
114
|
+
### 2. Definir Requisitos
|
|
115
|
+
- Comando: `/requirements`
|
|
116
|
+
- Analisa sua stack e cria `.sdd-toolkit/requirements.md`.
|
|
117
|
+
|
|
118
|
+
### 3. Planejar Features
|
|
119
|
+
- Comando: `/feature`
|
|
120
|
+
- Cria `.sdd-toolkit/features/[nome].md` com marcos e tarefas.
|
|
121
|
+
|
|
122
|
+
### 4. Implementar Código
|
|
123
|
+
- Comando: `/coder [task-id]`
|
|
124
|
+
- Implementa tarefas do plano de features e registra o trabalho.
|
|
125
|
+
|
|
126
|
+
### 5. Revisar Código
|
|
127
|
+
- Comando: `/review [task-id]`
|
|
128
|
+
- QA Engineer revisa a implementação contra os requisitos.
|
|
129
|
+
|
|
130
|
+
### 6. Release
|
|
131
|
+
- Comando: `/log` ou `/dev:release`
|
|
132
|
+
- Consolida logs no changelog e arquiva o trabalho concluído.
|
|
133
|
+
|
|
134
|
+
## Comandos nas Ferramentas de IA
|
|
135
|
+
|
|
136
|
+
Uma vez que os agentes estejam instalados, use estes comandos no seu assistente de codificação de IA:
|
|
137
|
+
|
|
138
|
+
### Acessar Agentes
|
|
139
|
+
- **`/sdd`** - Exibe os agentes disponíveis e ajuda
|
|
140
|
+
- **`/sdd.project`** - Ativa o Arquiteto de Projeto
|
|
141
|
+
- **`/sdd.requirements`** - Ativa o Engenheiro de Requisitos
|
|
142
|
+
- **`/sdd.feature`** - Ativa o Gerente de Features
|
|
143
|
+
- **`/sdd.coder`** - Ativa o Codificador
|
|
144
|
+
- **`/sdd.review`** - Ativa o QA Engineer
|
|
145
|
+
- **`/sdd.log`** - Ativa o Gerente de Releases
|
|
146
|
+
|
|
147
|
+
### Comandos Especiais
|
|
148
|
+
- **`/dev:review [Task_ID]`** - Aciona revisão de código para uma tarefa específica
|
|
149
|
+
- **`/dev:release`** - Consolida logs e cria changelog
|
|
150
|
+
|
|
151
|
+
## Estrutura de Arquivos Gerados
|
|
152
|
+
|
|
153
|
+
Após executar `sdd-toolkit`, a seguinte estrutura é criada em seu projeto:
|
|
154
|
+
|
|
155
|
+
```
|
|
156
|
+
.sdd-toolkit/
|
|
157
|
+
├── project.md # Escopo e princípios do projeto
|
|
158
|
+
├── requirements.md # Requisitos técnicos e stack
|
|
159
|
+
├── guidelines.md # Diretrizes de desenvolvimento do projeto
|
|
160
|
+
├── milestones.md # Roadmap de desenvolvimento
|
|
161
|
+
├── task.md # Backlog de execução de tarefas
|
|
162
|
+
├── features/ # Especificações individuais de features
|
|
163
|
+
│ └── [feature-name].md
|
|
164
|
+
├── logs/
|
|
165
|
+
│ ├── executions/ # Logs de execução de tarefas
|
|
166
|
+
│ ├── reviews/ # Relatórios de revisão de código
|
|
167
|
+
│ └── archive/ # Trabalho concluído arquivado
|
|
168
|
+
└── agents/ # Definições personalizadas de agentes (overrides opcionais)
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
## Estrutura do Projeto
|
|
172
|
+
|
|
173
|
+
- `definitions/`: Definições YAML de agentes
|
|
174
|
+
- `templates/`: Modelos de documentação
|
|
175
|
+
- `src/`: Código fonte da CLI
|
|
176
|
+
|
|
177
|
+
## Exemplos de Uso
|
|
178
|
+
|
|
179
|
+
### Fluxo Completo: Nova Feature
|
|
180
|
+
|
|
181
|
+
1. **Definir projeto:**
|
|
182
|
+
```
|
|
183
|
+
/sdd.project
|
|
184
|
+
```
|
|
185
|
+
Cria `.sdd-toolkit/project.md` com escopo e princípios.
|
|
186
|
+
|
|
187
|
+
2. **Definir requisitos técnicos:**
|
|
188
|
+
```
|
|
189
|
+
/sdd.requirements
|
|
190
|
+
```
|
|
191
|
+
Analisa seu `package.json`/`go.mod` e cria `.sdd-toolkit/requirements.md`.
|
|
192
|
+
|
|
193
|
+
3. **Planejar uma nova feature:**
|
|
194
|
+
```
|
|
195
|
+
/sdd.feature
|
|
196
|
+
```
|
|
197
|
+
Especifique sua feature (ex: "Adicionar autenticação de usuário"). Cria `.sdd-toolkit/features/auth.md`.
|
|
198
|
+
|
|
199
|
+
4. **Implementar tarefas:**
|
|
200
|
+
```
|
|
201
|
+
/sdd.coder MT01-task-1
|
|
202
|
+
```
|
|
203
|
+
Codificador implementa a tarefa seguindo princípios SOLID e registra o trabalho.
|
|
204
|
+
|
|
205
|
+
5. **Revisar implementação:**
|
|
206
|
+
```
|
|
207
|
+
/sdd.review MT01-task-1
|
|
208
|
+
```
|
|
209
|
+
QA Engineer valida a implementação contra os requisitos.
|
|
210
|
+
|
|
211
|
+
6. **Release das mudanças:**
|
|
212
|
+
```
|
|
213
|
+
/sdd.log
|
|
214
|
+
```
|
|
215
|
+
Consolida logs no changelog e arquiva o trabalho concluído.
|
|
216
|
+
|
|
217
|
+
### Correção Rápida de Bug
|
|
218
|
+
|
|
219
|
+
1. **Usar Codificador diretamente:**
|
|
220
|
+
```
|
|
221
|
+
/sdd.coder fixar-bug-login
|
|
222
|
+
```
|
|
223
|
+
Codificador analisa, corrige e documenta a mudança.
|
|
224
|
+
|
|
225
|
+
2. **Revisar correção:**
|
|
226
|
+
```
|
|
227
|
+
/sdd.review fixar-bug-login
|
|
228
|
+
```
|
|
229
|
+
Valida que a correção atende os requisitos.
|
|
230
|
+
|
|
231
|
+
## Licença
|
|
232
|
+
|
|
233
|
+
MIT
|
|
234
|
+
|
|
235
|
+
## ❓ Solução de Problemas
|
|
236
|
+
|
|
237
|
+
### Agentes não aparecem na sua ferramenta de IA
|
|
238
|
+
|
|
239
|
+
**Problema:** Depois de executar `sdd-toolkit`, os agentes não aparecem no seu assistente de codificação de IA.
|
|
240
|
+
|
|
241
|
+
**Soluções:**
|
|
242
|
+
- **Roo Code/Cline:** Verifique se você configurou os Modos Personalizados nas configurações. Veja a mensagem de aviso após a instalação.
|
|
243
|
+
- **Cursor:** Reinicie a IDE após a instalação.
|
|
244
|
+
- **OpenCode:** Atualize o painel de comandos.
|
|
245
|
+
- **Gemini CLI:** Verifique se a pasta `.gemini/commands/dev/` existe com arquivos `.toml`.
|
|
246
|
+
|
|
247
|
+
### Erro de permissão ao executar sdd-toolkit
|
|
248
|
+
|
|
249
|
+
**Problema:** Recebendo "Permissão negada" ou erro EACCES ao executar `npx sdd-toolkit`.
|
|
250
|
+
|
|
251
|
+
**Soluções:**
|
|
252
|
+
- **Opção 1:** Execute com permissões elevadas (não recomendado):
|
|
253
|
+
```bash
|
|
254
|
+
sudo npx sdd-toolkit
|
|
255
|
+
```
|
|
256
|
+
- **Opção 2:** Corrija permissões do npm:
|
|
257
|
+
```bash
|
|
258
|
+
npm config set prefix ~/.npm-global
|
|
259
|
+
export PATH=~/.npm-global/bin:$PATH
|
|
260
|
+
```
|
|
261
|
+
- **Opção 3:** Instale globalmente com sudo:
|
|
262
|
+
```bash
|
|
263
|
+
sudo npm install -g sdd-toolkit
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
### Agentes respondendo no idioma errado
|
|
267
|
+
|
|
268
|
+
**Problema:** Os agentes não estão respondendo no seu idioma preferido.
|
|
269
|
+
|
|
270
|
+
**Solução:**
|
|
271
|
+
- Execute `sdd-toolkit` novamente e certifique-se de selecionar o idioma correto durante a configuração (Inglês, Português ou Espanhol).
|
|
272
|
+
- Ou edite manualmente o `LANGUAGE_RULES` nos arquivos dos seus agentes.
|
|
273
|
+
|
|
274
|
+
### Perfil de stack não aplicando regras
|
|
275
|
+
|
|
276
|
+
**Problema:** As regras do perfil de stack selecionado não estão sendo usadas pelos agentes.
|
|
277
|
+
|
|
278
|
+
**Solução:**
|
|
279
|
+
- O perfil de stack é aplicado apenas durante a instalação inicial ou upgrade. Execute:
|
|
280
|
+
```bash
|
|
281
|
+
sdd-toolkit upgrade
|
|
282
|
+
```
|
|
283
|
+
Certifique-se de selecionar o mesmo perfil de stack novamente.
|
|
284
|
+
|
|
285
|
+
### Pasta `.sdd-toolkit/` não criada
|
|
286
|
+
|
|
287
|
+
**Problema:** A estrutura de pastas ocultas não é criada após a instalação.
|
|
288
|
+
|
|
289
|
+
**Soluções:**
|
|
290
|
+
- Verifique se você está executando o comando a partir do diretório raiz do seu projeto (onde está o `package.json`).
|
|
291
|
+
- Verifique as permissões de escrita no diretório.
|
|
292
|
+
- Verifique mensagens de erro durante a instalação.
|
|
293
|
+
|
|
294
|
+
## 🔎 Perguntas Frequentes
|
|
295
|
+
|
|
296
|
+
**P: Posso usar múltiplos assistentes de IA simultaneamente?**
|
|
297
|
+
|
|
298
|
+
R: Sim! Você pode instalar agentes para múltiplas ferramentas de IA no mesmo projeto. Cada ferramenta tem sua própria estrutura de pastas (`.roo/`, `.cline/`, `.cursor/`, etc.) e podem coexistir sem conflitos.
|
|
299
|
+
|
|
300
|
+
**P: Como atualizo os agentes após a configuração inicial?**
|
|
301
|
+
|
|
302
|
+
R: Execute `sdd-toolkit upgrade`. Isso atualizará todos os agentes instalados sem exigir que você reconfigure seu perfil de stack ou regras globais.
|
|
303
|
+
|
|
304
|
+
**P: Posso personalizar as definições dos agentes?**
|
|
305
|
+
|
|
306
|
+
R: Sim! Crie arquivos YAML personalizados na pasta `.sdd-toolkit/agents/`. O toolkit usará suas versões personalizadas em vez das padrão. Você pode copiar e modificar as definições padrão da pasta `definitions/` no toolkit.
|
|
307
|
+
|
|
308
|
+
**P: O que acontece se eu executar `sdd-toolkit` múltiplas vezes?**
|
|
309
|
+
|
|
310
|
+
R: A ferramenta é idempotente - executá-la novamente apenas atualizará ou regerará arquivos ausentes sem duplicar configurações existentes. Seus documentos de projeto existentes em `.sdd-toolkit/` serão preservados.
|
|
311
|
+
|
|
312
|
+
**P: Posso usar isso com projetos que já têm código existente?**
|
|
313
|
+
|
|
314
|
+
R: Sim! O agente "Engenheiro de Requisitos" pode analisar seu `package.json`, `go.mod` ou `requirements.txt` existente para detectar automaticamente sua stack. O "Arquiteto de Projeto" também pode formalizar projetos existentes em modo "híbrido".
|
|
315
|
+
|
|
316
|
+
**P: Preciso commitar a pasta `.sdd-toolkit/` no meu repositório?**
|
|
317
|
+
|
|
318
|
+
R: Sim, é recomendado. A pasta `.sdd-toolkit/` contém a documentação do seu projeto, especificações e configurações dos agentes. Commitá-la garante consistência em toda a equipe e preserva o contexto para sessões futuras.
|
|
319
|
+
|
|
320
|
+
**P: Como removo o sdd-toolkit do meu projeto?**
|
|
321
|
+
|
|
322
|
+
R: Simplesmente delete a pasta `.sdd-toolkit/` e quaisquer pastas específicas de ferramentas (`.roo/`, `.cline/`, `.cursor/`, etc.). Esses são todos arquivos gerados e não afetarão seu código fonte.
|
|
323
|
+
|
|
324
|
+
**P: Minhas mudanças de código são rastreadas pelo sdd-toolkit?**
|
|
325
|
+
|
|
326
|
+
R: Não, o sdd-toolkit apenas gerencia documentação e configurações de agentes de IA. Ele não rastreia mudanças de código, lê seus arquivos fonte, ou interfere com controle de versão.
|
|
327
|
+
|
|
328
|
+
**P: Posso adicionar meus próprios perfis de stack?**
|
|
329
|
+
|
|
330
|
+
R: Atualmente, os perfis de stack são codificados no toolkit. Para adicionar um perfil personalizado, você pode usar o recurso de "Regras Globais" durante a configuração para injetar suas próprias convenções, ou pode fazer um fork do repositório e adicionar seu perfil em `src/lib/profiles.js`.
|
|
331
|
+
|
|
332
|
+
**P: Isso é adequado para projetos empresariais?**
|
|
333
|
+
|
|
334
|
+
R: Sim, o sdd-toolkit é desenhado para escalar. A pasta `.sdd-toolkit/` pode ser commitada no seu repositório, garantindo que todos os membros da equipe usem as mesmas configurações de agentes e sigam os mesmos princípios de desenvolvimento definidos em `guidelines.md`.
|
package/definitions/sdd.yaml
CHANGED
|
@@ -8,14 +8,13 @@ systemPrompt: |
|
|
|
8
8
|
# Core Instructions
|
|
9
9
|
You are the central hub for accessing SDD Toolkit agents. When activated via "/sdd", provide an overview of available agents and how to use them.
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
- **/log**: Logger 📝 - Maintains execution logs and documentation.
|
|
11
|
+
## Available Agents
|
|
12
|
+
- **/sdd.project**: Project Architect 🏛️ - Defines project scope and vision.
|
|
13
|
+
- **/sdd.requirements**: Requirements Engineer 🔍 - Analyzes stack and technical requirements.
|
|
14
|
+
- **/sdd.feature**: Feature Manager ✨ - Manages features, milestones, and tasks.
|
|
15
|
+
- **/sdd.coder**: Coder 💻 - Implements code following SOLID principles.
|
|
16
|
+
- **/sdd.review**: QA Engineer 🔍 - Reviews and validates code quality.
|
|
17
|
+
- **/sdd.log**: Release Manager 📦 - Consolidates logs and manages changelog.
|
|
19
18
|
|
|
20
19
|
## Usage
|
|
21
20
|
- Type "/sdd" to see this help.
|
package/package.json
CHANGED
|
@@ -1,41 +1,42 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "sdd-toolkit",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "Instalador
|
|
5
|
-
"main": "src/index.js",
|
|
6
|
-
"bin": {
|
|
7
|
-
"sdd-toolkit": "./src/index.js"
|
|
8
|
-
},
|
|
9
|
-
"scripts": {
|
|
10
|
-
"start": "node src/index.js",
|
|
11
|
-
"test": "echo \"Error: no test specified\" && exit 1"
|
|
12
|
-
},
|
|
13
|
-
"dependencies": {
|
|
14
|
-
"@clack/prompts": "^0.7.0",
|
|
15
|
-
"js-yaml": "^4.1.0",
|
|
16
|
-
"picocolors": "^1.0.0",
|
|
17
|
-
"zod": "^4.2.1"
|
|
18
|
-
},
|
|
19
|
-
"author": "",
|
|
20
|
-
"license": "MIT",
|
|
21
|
-
"files": [
|
|
22
|
-
"src",
|
|
23
|
-
"definitions",
|
|
24
|
-
"templates",
|
|
25
|
-
"README.md"
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
"
|
|
40
|
-
|
|
41
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "sdd-toolkit",
|
|
3
|
+
"version": "1.8.0",
|
|
4
|
+
"description": "Instalador automatico dos agentes de desenvolvimento",
|
|
5
|
+
"main": "src/index.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"sdd-toolkit": "./src/index.js"
|
|
8
|
+
},
|
|
9
|
+
"scripts": {
|
|
10
|
+
"start": "node src/index.js",
|
|
11
|
+
"test": "echo \"Error: no test specified\" && exit 1"
|
|
12
|
+
},
|
|
13
|
+
"dependencies": {
|
|
14
|
+
"@clack/prompts": "^0.7.0",
|
|
15
|
+
"js-yaml": "^4.1.0",
|
|
16
|
+
"picocolors": "^1.0.0",
|
|
17
|
+
"zod": "^4.2.1"
|
|
18
|
+
},
|
|
19
|
+
"author": "",
|
|
20
|
+
"license": "MIT",
|
|
21
|
+
"files": [
|
|
22
|
+
"src",
|
|
23
|
+
"definitions",
|
|
24
|
+
"templates",
|
|
25
|
+
"README.md",
|
|
26
|
+
"README.pt.md"
|
|
27
|
+
],
|
|
28
|
+
"keywords": [
|
|
29
|
+
"ai",
|
|
30
|
+
"agents",
|
|
31
|
+
"cli",
|
|
32
|
+
"dev-tools",
|
|
33
|
+
"llm",
|
|
34
|
+
"gemini",
|
|
35
|
+
"roo-code",
|
|
36
|
+
"cline"
|
|
37
|
+
],
|
|
38
|
+
"repository": {
|
|
39
|
+
"type": "git",
|
|
40
|
+
"url": "https://github.com/filipeoliveira93/agents.dev"
|
|
41
|
+
}
|
|
42
|
+
}
|
package/src/index.js
CHANGED
|
@@ -71,8 +71,9 @@ async function main() {
|
|
|
71
71
|
if (fs.existsSync(path.join(process.cwd(), '.windsurf'))) tools.push('windsurf');
|
|
72
72
|
if (fs.existsSync(path.join(process.cwd(), '.claude'))) tools.push('claude');
|
|
73
73
|
if (fs.existsSync(path.join(process.cwd(), '.trae'))) tools.push('trae');
|
|
74
|
-
if (fs.existsSync(path.join(process.cwd(), '.
|
|
75
|
-
if (fs.existsSync(path.join(process.cwd(), '.github'))) tools.push('copilot');
|
|
74
|
+
if (fs.existsSync(path.join(process.cwd(), '.kilocode'))) tools.push('kilo');
|
|
75
|
+
if (fs.existsSync(path.join(process.cwd(), '.github'))) tools.push('copilot');
|
|
76
|
+
if (fs.existsSync(path.join(process.cwd(), '.roo'))) tools.push('roo');
|
|
76
77
|
if (fs.existsSync(path.join(process.cwd(), '.opencode'))) tools.push('opencode');
|
|
77
78
|
if (fs.existsSync(path.join(process.cwd(), 'prompts'))) tools.push('web');
|
|
78
79
|
|
|
@@ -135,16 +136,16 @@ async function main() {
|
|
|
135
136
|
message: t('SETUP.TOOL_SELECT'),
|
|
136
137
|
options: [
|
|
137
138
|
{ value: 'gemini', label: t('TOOLS.GEMINI'), hint: '.gemini/commands/dev' },
|
|
138
|
-
{ value: 'roo', label: t('TOOLS.ROO'), hint: '.roo/
|
|
139
|
+
{ value: 'roo', label: t('TOOLS.ROO'), hint: '.roo/commands/*.md' },
|
|
139
140
|
{ value: 'cline', label: t('TOOLS.CLINE'), hint: '.cline/ & custom_modes.json' },
|
|
140
|
-
{ value: 'cursor', label: t('TOOLS.CURSOR'), hint: '.cursor/
|
|
141
|
+
{ value: 'cursor', label: t('TOOLS.CURSOR'), hint: '.cursor/commands/*.mdc' },
|
|
141
142
|
{ value: 'windsurf', label: t('TOOLS.WINDSURF'), hint: '.windsurf/workflows/*.md' },
|
|
142
|
-
{ value: 'claude', label: 'Claude Code', hint: '.claude/commands/
|
|
143
|
+
{ value: 'claude', label: 'Claude Code', hint: '.claude/commands/agents/*.md' },
|
|
143
144
|
{ value: 'trae', label: t('TOOLS.TRAE'), hint: '.trae/instructions.md' },
|
|
144
|
-
{ value: 'kilo', label: t('TOOLS.KILO'), hint: '.
|
|
145
|
-
{ value: 'copilot', label: t('TOOLS.COPILOT'), hint: '.github/
|
|
145
|
+
{ value: 'kilo', label: t('TOOLS.KILO'), hint: '.kilocode/workflows/*.md' },
|
|
146
|
+
{ value: 'copilot', label: t('TOOLS.COPILOT'), hint: '.github/prompts/*.md' },
|
|
146
147
|
{ value: 'web', label: t('TOOLS.WEB'), hint: 'prompts/*.txt' },
|
|
147
|
-
{ value: 'opencode', label: t('TOOLS.OPENCODE'), hint: '.opencode/*.md' }
|
|
148
|
+
{ value: 'opencode', label: t('TOOLS.OPENCODE'), hint: '.opencode/commands/*.md' }
|
|
148
149
|
],
|
|
149
150
|
required: true,
|
|
150
151
|
hint: t('SETUP.TOOL_HINT')
|
|
@@ -192,21 +193,17 @@ async function processAgentsInstallation(tools, options) {
|
|
|
192
193
|
})
|
|
193
194
|
);
|
|
194
195
|
},
|
|
195
|
-
roo: async (validAgents, options) => {
|
|
196
|
-
const targetDir = path.join(process.cwd(), '.roo');
|
|
197
|
-
await fsp.mkdir(targetDir, { recursive: true });
|
|
198
|
-
|
|
199
|
-
await Promise.all(
|
|
200
|
-
validAgents.map((agent) => {
|
|
201
|
-
const md =
|
|
202
|
-
return fsp.writeFile(path.join(targetDir, `${agent.slug}.md`), md);
|
|
203
|
-
})
|
|
204
|
-
);
|
|
205
|
-
|
|
206
|
-
const modes = validAgents.map((agent) => toRooConfig(agent, agent.slug, options));
|
|
207
|
-
const jsonContent = JSON.stringify({ customModes: modes }, null, 2);
|
|
208
|
-
await fsp.writeFile(path.join(process.cwd(), 'roo_custom_modes.json'), jsonContent);
|
|
209
|
-
},
|
|
196
|
+
roo: async (validAgents, options) => {
|
|
197
|
+
const targetDir = path.join(process.cwd(), '.roo', 'commands');
|
|
198
|
+
await fsp.mkdir(targetDir, { recursive: true });
|
|
199
|
+
|
|
200
|
+
await Promise.all(
|
|
201
|
+
validAgents.map((agent) => {
|
|
202
|
+
const md = toOpenCodeAgent(agent, options);
|
|
203
|
+
return fsp.writeFile(path.join(targetDir, `${agent.slug}.md`), md);
|
|
204
|
+
})
|
|
205
|
+
);
|
|
206
|
+
},
|
|
210
207
|
cline: async (validAgents, options) => {
|
|
211
208
|
const targetDir = path.join(process.cwd(), '.cline');
|
|
212
209
|
await fsp.mkdir(targetDir, { recursive: true });
|
|
@@ -233,31 +230,31 @@ async function processAgentsInstallation(tools, options) {
|
|
|
233
230
|
})
|
|
234
231
|
);
|
|
235
232
|
},
|
|
236
|
-
claude: async (validAgents, options) => {
|
|
237
|
-
const targetDir = path.join(process.cwd(), '.claude', 'commands', '
|
|
238
|
-
await fsp.mkdir(targetDir, { recursive: true });
|
|
239
|
-
|
|
240
|
-
await Promise.all(
|
|
241
|
-
validAgents.map((agent) => {
|
|
242
|
-
const md = toClaudeCommand(agent, options);
|
|
243
|
-
return fsp.writeFile(path.join(targetDir, `${agent.slug}.md`), md);
|
|
244
|
-
})
|
|
245
|
-
);
|
|
246
|
-
},
|
|
247
|
-
cursor: async (validAgents, options) => {
|
|
248
|
-
const
|
|
249
|
-
await fsp.mkdir(
|
|
250
|
-
|
|
251
|
-
await Promise.all(
|
|
252
|
-
validAgents.map((agent) => {
|
|
253
|
-
const mdc = toCursorMDC(agent, options);
|
|
254
|
-
return fsp.writeFile(path.join(
|
|
255
|
-
})
|
|
256
|
-
);
|
|
257
|
-
},
|
|
258
|
-
kilo: async (validAgents, options) => {
|
|
259
|
-
const targetDir = path.join(process.cwd(), '.
|
|
260
|
-
await fsp.mkdir(targetDir, { recursive: true });
|
|
233
|
+
claude: async (validAgents, options) => {
|
|
234
|
+
const targetDir = path.join(process.cwd(), '.claude', 'commands', 'agents');
|
|
235
|
+
await fsp.mkdir(targetDir, { recursive: true });
|
|
236
|
+
|
|
237
|
+
await Promise.all(
|
|
238
|
+
validAgents.map((agent) => {
|
|
239
|
+
const md = toClaudeCommand(agent, options);
|
|
240
|
+
return fsp.writeFile(path.join(targetDir, `${agent.slug}.md`), md);
|
|
241
|
+
})
|
|
242
|
+
);
|
|
243
|
+
},
|
|
244
|
+
cursor: async (validAgents, options) => {
|
|
245
|
+
const commandsDir = path.join(process.cwd(), '.cursor', 'commands');
|
|
246
|
+
await fsp.mkdir(commandsDir, { recursive: true });
|
|
247
|
+
|
|
248
|
+
await Promise.all(
|
|
249
|
+
validAgents.map((agent) => {
|
|
250
|
+
const mdc = toCursorMDC(agent, options);
|
|
251
|
+
return fsp.writeFile(path.join(commandsDir, `${agent.slug}.mdc`), mdc);
|
|
252
|
+
})
|
|
253
|
+
);
|
|
254
|
+
},
|
|
255
|
+
kilo: async (validAgents, options) => {
|
|
256
|
+
const targetDir = path.join(process.cwd(), '.kilocode', 'workflows');
|
|
257
|
+
await fsp.mkdir(targetDir, { recursive: true });
|
|
261
258
|
|
|
262
259
|
await Promise.all(
|
|
263
260
|
validAgents.map((agent) => {
|
|
@@ -266,22 +263,22 @@ async function processAgentsInstallation(tools, options) {
|
|
|
266
263
|
})
|
|
267
264
|
);
|
|
268
265
|
},
|
|
269
|
-
copilot: async (validAgents, options) => {
|
|
270
|
-
const githubDir = path.join(process.cwd(), '.github');
|
|
271
|
-
const
|
|
272
|
-
await fsp.mkdir(
|
|
273
|
-
|
|
274
|
-
await Promise.all(
|
|
275
|
-
validAgents.map((agent) => {
|
|
276
|
-
const md = toCopilotInstructions(agent, options);
|
|
277
|
-
return fsp.writeFile(path.join(
|
|
278
|
-
})
|
|
279
|
-
);
|
|
280
|
-
|
|
281
|
-
const mainAgent = validAgents.find((a) => a.slug.includes('coder')) || validAgents[0];
|
|
282
|
-
const mainInstructions = toCopilotInstructions(mainAgent, options);
|
|
283
|
-
await fsp.writeFile(path.join(githubDir, '
|
|
284
|
-
},
|
|
266
|
+
copilot: async (validAgents, options) => {
|
|
267
|
+
const githubDir = path.join(process.cwd(), '.github');
|
|
268
|
+
const promptsDir = path.join(githubDir, 'prompts');
|
|
269
|
+
await fsp.mkdir(promptsDir, { recursive: true });
|
|
270
|
+
|
|
271
|
+
await Promise.all(
|
|
272
|
+
validAgents.map((agent) => {
|
|
273
|
+
const md = toCopilotInstructions(agent, options);
|
|
274
|
+
return fsp.writeFile(path.join(promptsDir, `${agent.slug}.md`), md);
|
|
275
|
+
})
|
|
276
|
+
);
|
|
277
|
+
|
|
278
|
+
const mainAgent = validAgents.find((a) => a.slug.includes('coder')) || validAgents[0];
|
|
279
|
+
const mainInstructions = toCopilotInstructions(mainAgent, options);
|
|
280
|
+
await fsp.writeFile(path.join(githubDir, 'prompts.md'), mainInstructions);
|
|
281
|
+
},
|
|
285
282
|
trae: async (validAgents, options) => {
|
|
286
283
|
const traeDir = path.join(process.cwd(), '.trae');
|
|
287
284
|
await fsp.mkdir(traeDir, { recursive: true });
|
|
@@ -301,17 +298,51 @@ async function processAgentsInstallation(tools, options) {
|
|
|
301
298
|
})
|
|
302
299
|
);
|
|
303
300
|
},
|
|
304
|
-
opencode: async (validAgents, options) => {
|
|
305
|
-
const targetDir = path.join(process.cwd(), '.opencode', '
|
|
306
|
-
await fsp.mkdir(targetDir, { recursive: true });
|
|
307
|
-
|
|
308
|
-
await Promise.all(
|
|
309
|
-
validAgents.map((agent) => {
|
|
310
|
-
const md = toOpenCodeAgent(agent, options);
|
|
311
|
-
return fsp.writeFile(path.join(targetDir, `${agent.slug}.md`), md);
|
|
312
|
-
})
|
|
313
|
-
);
|
|
314
|
-
|
|
301
|
+
opencode: async (validAgents, options) => {
|
|
302
|
+
const targetDir = path.join(process.cwd(), '.opencode', 'commands');
|
|
303
|
+
await fsp.mkdir(targetDir, { recursive: true });
|
|
304
|
+
|
|
305
|
+
await Promise.all(
|
|
306
|
+
validAgents.map((agent) => {
|
|
307
|
+
const md = toOpenCodeAgent(agent, options);
|
|
308
|
+
return fsp.writeFile(path.join(targetDir, `${agent.slug}.md`), md);
|
|
309
|
+
})
|
|
310
|
+
);
|
|
311
|
+
|
|
312
|
+
// Generate AGENTS.md with interaction rules and agent location
|
|
313
|
+
const agentsMdPath = path.join(process.cwd(), 'AGENTS.md');
|
|
314
|
+
let agentsMdContent = `# Interaction Rules
|
|
315
|
+
|
|
316
|
+
- Always respond to the user in the language they initially interact in; if they interact in English, respond in English, if they interact in Portuguese, respond in Portuguese.
|
|
317
|
+
- If possible, display reasoning in the user's language as well.
|
|
318
|
+
- Be didactic when explaining things, focus on providing complete responses and not just summaries.
|
|
319
|
+
- Whenever possible, provide examples to illustrate concepts.
|
|
320
|
+
|
|
321
|
+
# Allowed Commands
|
|
322
|
+
|
|
323
|
+
- Never execute rm or rm -rf commands without confirming with the user.
|
|
324
|
+
- Whenever possible, use more specific commands instead of generic ones.
|
|
325
|
+
- Be cautious when using commands that may affect critical systems, such as shutdown or reboot.
|
|
326
|
+
- For commands that may affect files or directories, always confirm with the user before executing.
|
|
327
|
+
- Never execute commands that require administrative privileges (sudo, admin) without explicit permission from the user.
|
|
328
|
+
- Avoid running background processes or daemons unless explicitly requested.
|
|
329
|
+
- Be cautious when using commands that alter network settings, firewall configurations, or external connections.
|
|
330
|
+
- Always quote file paths that contain spaces to avoid interpretation errors.
|
|
331
|
+
- For package installation commands (npm install, pip install, etc.), confirm that the user has control over dependencies and versions.
|
|
332
|
+
- Avoid irreversible git operations (such as force push or reset --hard) without confirmation.
|
|
333
|
+
|
|
334
|
+
# Agent Location
|
|
335
|
+
|
|
336
|
+
Custom agents are located in .opencode/commands/`;
|
|
337
|
+
|
|
338
|
+
let userRules = '';
|
|
339
|
+
if (options.globalRules && options.globalRules.trim()) {
|
|
340
|
+
userRules = '\n\n# User Specified Rules\n\n' + options.globalRules.split('\n').filter(line => line.trim()).map(line => '- ' + line.trim()).join('\n');
|
|
341
|
+
}
|
|
342
|
+
agentsMdContent += userRules;
|
|
343
|
+
|
|
344
|
+
await fsp.writeFile(agentsMdPath, agentsMdContent);
|
|
345
|
+
}
|
|
315
346
|
};
|
|
316
347
|
|
|
317
348
|
for (const tool of tools) {
|
package/src/lib/transformers.js
CHANGED
|
@@ -199,18 +199,18 @@ ${allRules.length > 0 ? '## Guidelines\n' + allRules.map(r => `- ${r}`).join('\n
|
|
|
199
199
|
`;
|
|
200
200
|
}
|
|
201
201
|
|
|
202
|
-
/**
|
|
203
|
-
* Converte para Claude Code Command (.claude/commands/
|
|
204
|
-
*/
|
|
205
|
-
function toClaudeCommand(agent, options = {}) {
|
|
206
|
-
const languageRule = getLanguageRule(options.locale);
|
|
207
|
-
const allRules = [languageRule, ...(agent.rules || [])];
|
|
208
|
-
|
|
209
|
-
return `---
|
|
210
|
-
name:
|
|
211
|
-
description: ${agent.description || agent.role}
|
|
212
|
-
category:
|
|
213
|
-
---
|
|
202
|
+
/**
|
|
203
|
+
* Converte para Claude Code Command (.claude/commands/agents/*.md)
|
|
204
|
+
*/
|
|
205
|
+
function toClaudeCommand(agent, options = {}) {
|
|
206
|
+
const languageRule = getLanguageRule(options.locale);
|
|
207
|
+
const allRules = [languageRule, ...(agent.rules || [])];
|
|
208
|
+
|
|
209
|
+
return `---
|
|
210
|
+
name: Agent: ${agent.name}
|
|
211
|
+
description: ${agent.description || agent.role}
|
|
212
|
+
category: Agents
|
|
213
|
+
---
|
|
214
214
|
# ${agent.name} ${agent.emoji}
|
|
215
215
|
|
|
216
216
|
Role: ${agent.role}
|
package/templates/milestones.md
DELETED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|