sedd 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,14 +4,7 @@
4
4
 
5
5
  [![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
6
6
  [![Node.js](https://img.shields.io/badge/node-%3E%3D18-brightgreen.svg)](https://nodejs.org)
7
-
8
- ## O que é SEDD?
9
-
10
- SEDD é um toolkit que transforma a forma como você desenvolve software com AI assistants. Em vez de apenas especificar *o que* construir, você também captura *como espera que funcione* - suas expectativas como desenvolvedor.
11
-
12
- ```
13
- SEDD = Spec Driven Development + Expectativas do Dev
14
- ```
7
+ [![npm](https://img.shields.io/npm/v/sedd.svg)](https://www.npmjs.com/package/sedd)
15
8
 
16
9
  ### Compatível com
17
10
 
@@ -25,19 +18,55 @@ SEDD = Spec Driven Development + Expectativas do Dev
25
18
 
26
19
  ---
27
20
 
28
- ## Por que SEDD?
21
+ ## Quick Start
22
+
23
+ ### Instalação
24
+
25
+ ```bash
26
+ npm install -g sedd
27
+ ```
28
+
29
+ ### Uso
30
+
31
+ ```bash
32
+ # 1. Navegue para seu projeto
33
+ cd meu-projeto
34
+
35
+ # 2. Inicialize SEDD
36
+ sedd init
37
+
38
+ # 3. Crie uma feature spec
39
+ sedd specify 001 user-auth
40
+
41
+ # 4. Edite a spec
42
+ # .sedd/001-user-auth/spec.md
43
+
44
+ # 5. Use seu LLM favorito para implementar
45
+ claude # ou cursor, copilot, etc.
29
46
 
30
- ### A Evolução do Spec Driven Development
47
+ # 6. Documente decisões
48
+ sedd clarify
49
+ ```
31
50
 
32
- **Spec Driven Development (SDD)** já era poderoso: você documenta o que vai construir antes de codar. Mas ao trabalhar com AI assistants, percebemos que specs sozinhas não bastavam.
51
+ ### Comandos
33
52
 
34
- Faltava capturar as **expectativas do desenvolvedor** - aquele conhecimento tácito que fica na cabeça:
53
+ | Comando | Descrição |
54
+ |---------|-----------|
55
+ | `sedd init` | Inicializar SEDD no projeto |
56
+ | `sedd specify <id> <name>` | Criar nova feature spec |
57
+ | `sedd clarify` | Criar migration com decisões |
58
+ | `sedd status` | Ver status atual |
59
+ | `sedd --help` | Ver todos os comandos |
35
60
 
36
- - *"Eu espero que isso seja rápido, tipo < 100ms"*
37
- - *"Eu imagino que o usuário vai clicar aqui primeiro"*
38
- - *"Na minha cabeça, isso funciona parecido com o Stripe"*
61
+ ---
39
62
 
40
- Essas expectativas raramente são documentadas. Ficam implícitas. E quando você trabalha com uma AI, ela não tem como adivinhar.
63
+ ## O que é SEDD?
64
+
65
+ SEDD é um toolkit que transforma a forma como você desenvolve software com AI assistants. Em vez de apenas especificar *o que* construir, você também captura *como espera que funcione* - suas expectativas como desenvolvedor.
66
+
67
+ ```
68
+ SEDD = Spec Driven Development + Expectativas do Dev
69
+ ```
41
70
 
42
71
  ### O Superpoder
43
72
 
@@ -49,11 +78,9 @@ SEDD captura três dimensões:
49
78
  | **Expectation** | Como você espera que funcione? | `clarify.md` |
50
79
  | **Decision** | Por que foi decidido assim? | `decisions.md` |
51
80
 
52
- Quando você clarifica uma feature no SEDD, não está só respondendo perguntas técnicas. Está **externalizando suas expectativas** para que a AI (e você mesmo no futuro) entenda o *espírito* do que você quer construir.
53
-
54
81
  ---
55
82
 
56
- ## O Problema que Resolvemos
83
+ ## Por que SEDD?
57
84
 
58
85
  Ao trabalhar com AI assistants em projetos de desenvolvimento:
59
86
 
@@ -80,104 +107,19 @@ Ao trabalhar com AI assistants em projetos de desenvolvimento:
80
107
  └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
81
108
  ```
82
109
 
83
- ### 1. Specify - Defina o que construir
84
-
85
- ```bash
86
- /sedd.specify "Add dark mode toggle to settings"
87
- ```
88
-
89
- Cria a especificação base com:
90
- - `spec.md` - Requisitos funcionais
91
- - `interfaces.ts` - Entidades do domínio
92
- - `ui-mockups/` - ASCII mockups (se UI)
93
-
94
- ### 2. Clarify - Capture expectativas
95
-
96
- ```bash
97
- /sedd.clarify
98
- ```
99
-
100
- **Modo de discussão flexível** - você controla o ritmo:
101
-
102
- ```
103
- 📝 Clarification Session - Migration 001
104
-
105
- Você pode:
106
- • Explicar livremente o que precisa
107
- • Adicionar notas e decisões
108
- • Responder perguntas
109
-
110
- Comandos:
111
- ┌───────────┬────────────────────────────────────┐
112
- │ continue │ Continuar explicando (mais, +) │
113
- │ pergunta │ AI faz próxima pergunta (q, ?) │
114
- │ tasks │ Gerar tasks e finalizar (done) │
115
- └───────────┴────────────────────────────────────┘
116
- ```
117
-
118
- Cada clarificação cria uma **migration** com timestamp:
119
- - `clarify.md` - O que foi discutido
120
- - `decisions.md` - Decisões tomadas
121
- - `tasks.md` - Tarefas geradas
122
-
123
- ### 3. Tasks - Quebre em tarefas
124
-
125
- Tasks são geradas automaticamente no `/sedd.clarify`, mas você pode adicionar mais:
126
-
127
- ```bash
128
- /sedd.tasks
129
- ```
130
-
131
- Formato das tasks:
132
- ```
133
- T001-001 = Migration 001, Task 1
134
- T001-002 = Migration 001, Task 2
135
- T002-001 = Migration 002, Task 1
136
- ```
137
-
138
- ### 4. Implement - Execute
139
-
140
- ```bash
141
- /sedd.implement # Pergunta entre migrations
142
- /sedd.implement --all # Executa tudo sem parar
143
- /sedd.implement 001 # Só migration específica
144
- ```
145
-
146
- A AI executa cada task, atualiza `progress.md`, e marca como concluída.
147
-
148
- ---
149
-
150
- ## Migrations: O Diferencial
151
-
152
- O grande diferencial do SEDD é o sistema de **migrations incrementais**.
153
-
154
- ### Por que Migrations?
155
-
156
- Você não precisa saber tudo no início. Pode clarificar aos poucos:
157
-
158
- ```
159
- /sedd.clarify → Migration 001 (5 tasks)
160
- /sedd.implement 001
161
- /sedd.clarify → Migration 002 (3 tasks mais)
162
- /sedd.implement 002
163
- /sedd.clarify → Migration 003 (ajustes)
164
- ...
165
- ```
166
-
167
- ### Estrutura
110
+ ### Estrutura de Pastas
168
111
 
169
112
  ```
170
- specs/024-dark-mode/
113
+ .sedd/001-user-auth/
114
+ ├── spec.md # Especificação base
171
115
  ├── _meta.json # Metadados
172
- ├── spec.md # Spec base (imutável)
173
- ├── interfaces.ts # Entidades
174
116
 
175
- ├── 001_2026-01-10_14-30-45/ # Migration 1
117
+ ├── M001/ # Migration 1
176
118
  │ ├── clarify.md # Discussão
177
119
  │ ├── decisions.md # Decisões
178
120
  │ └── tasks.md # Tasks T001-XXX
179
121
 
180
- ├── 002_2026-01-10_16-45-22/ # Migration 2
122
+ ├── M002/ # Migration 2
181
123
  │ ├── clarify.md
182
124
  │ ├── decisions.md
183
125
  │ └── tasks.md # Tasks T002-XXX
@@ -185,150 +127,34 @@ specs/024-dark-mode/
185
127
  └── progress.md # Progresso geral
186
128
  ```
187
129
 
188
- ### Benefícios
189
-
190
- - **Histórico completo**: Cada decisão tem timestamp e contexto
191
- - **Rastreabilidade**: Task T002-003 → Migration 002 → Decisão D002-003
192
- - **Flexibilidade**: Implemente migration 001, depois clarifica mais
193
- - **Retomada fácil**: Volte semanas depois e saiba exatamente onde parou
194
-
195
130
  ---
196
131
 
197
- ## Fases de Desenvolvimento
198
-
199
- SEDD funciona em qualquer fase do projeto:
200
-
201
- ### 🌱 Greenfield (Projeto Novo)
202
-
203
- Comece do zero com especificações claras:
204
-
205
- ```bash
206
- npx sedd init my-project
207
- cd my-project
208
- git checkout -b 001-auth-system
209
- /sedd.specify "User authentication with OAuth"
210
- /sedd.clarify
211
- /sedd.implement --all
212
- ```
213
-
214
- ### 🔧 Brownfield (Projeto Existente)
215
-
216
- Adicione features incrementalmente:
217
-
218
- ```bash
219
- git checkout -b 042-dark-mode
220
- /sedd.specify "Add dark mode to existing settings"
221
- # SEDD analisa código existente e sugere integrações
222
- /sedd.clarify
223
- /sedd.implement
224
- ```
225
-
226
- ### 🔄 Refactoring
227
-
228
- Documente antes de refatorar:
229
-
230
- ```bash
231
- git checkout -b 050-refactor-auth
232
- /sedd.specify "Refactor auth to use JWT instead of sessions"
233
- /sedd.clarify # Capture todas as decisões de migração
234
- /sedd.implement --all
235
- ```
236
-
237
- ---
238
-
239
- ## Quick Start
240
-
241
- ### Instalação
242
-
243
- ```bash
244
- npm install -g sedd
245
- # ou use diretamente com npx
246
- ```
247
-
248
- ### Projeto Existente (Recomendado)
249
-
250
- ```bash
251
- # Navegar para seu projeto
252
- cd meu-projeto
253
-
254
- # SEDD detecta automaticamente o package.json
255
- sedd init
256
-
257
- # Output:
258
- # 🔍 Detected project: meu-projeto
259
- # 🚀 Initializing SEDD...
260
- ```
261
-
262
- ### Projeto Novo
263
-
264
- ```bash
265
- # Criar projeto primeiro
266
- mkdir meu-projeto && cd meu-projeto
267
- npm init -y
132
+ ## Migrations: O Diferencial
268
133
 
269
- # Depois inicializar SEDD
270
- sedd init
271
- ```
134
+ O grande diferencial do SEDD é o sistema de **migrations incrementais**.
272
135
 
273
- ### Se não houver projeto
136
+ Você não precisa saber tudo no início. Pode clarificar aos poucos:
274
137
 
275
138
  ```bash
276
- sedd init
277
-
278
- # Output:
279
- # ⚠️ No project detected in current directory.
280
- #
281
- # SEDD works best inside a project. Try one of these:
282
- # 1. Run npm init -y to create a package.json
283
- # 2. Run sedd init my-project to specify a project name
284
- # 3. Navigate to an existing project folder
285
- #
286
- # ? Initialize SEDD anyway in current directory? (y/N)
139
+ sedd clarify → Migration M001 (5 tasks)
140
+ # implemente...
141
+ sedd clarify → Migration M002 (3 tasks mais)
142
+ # implemente...
143
+ sedd clarify → Migration M003 (ajustes)
287
144
  ```
288
145
 
289
- ### Workflow Completo
290
-
291
- ```bash
292
- # 1. Navegar para projeto existente
293
- cd meu-projeto
294
-
295
- # 2. Inicializar SEDD (detecta package.json)
296
- sedd init
297
-
298
- # 3. Criar branch da feature
299
- git checkout -b 001-user-auth
300
-
301
- # 4. Especificar (no Claude Code / Cursor)
302
- /sedd.specify "User authentication with email and password"
303
-
304
- # 5. Clarificar (modo interativo)
305
- /sedd.clarify
306
- # → Explique suas expectativas
307
- # → Responda perguntas
308
- # → Digite "tasks" quando pronto
146
+ ### Benefícios
309
147
 
310
- # 6. Implementar
311
- /sedd.implement --all
312
- ```
148
+ - **Histórico completo**: Cada decisão tem timestamp e contexto
149
+ - **Rastreabilidade**: Task T002-003 → Migration M002 → Decisão
150
+ - **Flexibilidade**: Implemente M001, depois clarifica mais
151
+ - **Retomada fácil**: Volte semanas depois e saiba onde parou
313
152
 
314
153
  ---
315
154
 
316
- ## Comandos
155
+ ## Slash Commands (AI Assistants)
317
156
 
318
- ### CLI (Terminal)
319
-
320
- | Comando | Descrição |
321
- |---------|-----------|
322
- | `sedd init` | Inicializar (detecta package.json automaticamente) |
323
- | `sedd init meu-projeto` | Inicializar com nome específico |
324
- | `sedd init --force` | Atualizar arquivos existentes |
325
- | `sedd check` | Verificar estrutura |
326
- | `sedd status` | Ver status atual |
327
- | `sedd clarify` | Criar nova migration |
328
- | `sedd tasks '<json>'` | Adicionar tasks |
329
- | `sedd complete T001-001` | Marcar task completa |
330
-
331
- ### Slash Commands (AI Assistants)
157
+ Use estes comandos no Claude Code, Cursor, etc:
332
158
 
333
159
  | Comando | Descrição |
334
160
  |---------|-----------|
@@ -337,62 +163,6 @@ git checkout -b 001-user-auth
337
163
  | `/sedd.tasks` | Adicionar tasks à migration |
338
164
  | `/sedd.implement` | Executar tasks |
339
165
  | `/sedd.implement --all` | Executar tudo sem parar |
340
- | `/sedd.migrate` | Migrar specs antigas |
341
-
342
- ---
343
-
344
- ## Hooks: Contexto Automático para AI
345
-
346
- SEDD inclui **hooks inteligentes** que injetam contexto automaticamente nas suas conversas com AI.
347
-
348
- ### Como Funciona
349
-
350
- Quando você digita algo no AI assistant, o hook analisa e injeta:
351
-
352
- ```
353
- You: "vamos implementar a próxima task"
354
-
355
- ⎿ UserPromptSubmit says:
356
- <sedd-context>
357
- **Branch: 023-agent-executor** | Migration: 002 | Progress: 69/110 tasks
358
-
359
- Pending tasks:
360
- - T001-054: [Polish] Remove all // TODO comments
361
- - T001-055: [Polish] Remove deprecated modals
362
- - T001-056: [Polish] Update tool.service.ts
363
- ... and 36 more
364
-
365
- Use `/sedd.implement` to execute tasks.
366
- </sedd-context>
367
- ```
368
-
369
- A AI recebe automaticamente:
370
- - Branch atual e migration ativa
371
- - Progresso geral (X/Y tasks)
372
- - Lista de tasks pendentes
373
- - Sugestão do próximo comando
374
-
375
- ### Ativação de Skills
376
-
377
- O hook também detecta contexto e sugere skills relevantes:
378
-
379
- ```
380
- You: "estou tendo erro no langgraph"
381
-
382
- ⎿ Hook detected: LangChain/LangGraph context
383
- Suggesting: langchain-expert skill
384
- ```
385
-
386
- ### Instalação dos Hooks
387
-
388
- Os hooks são copiados automaticamente no `sedd init`:
389
-
390
- ```
391
- .claude/hooks/
392
- └── check-roadmap.js # Hook principal
393
- ```
394
-
395
- Ou copie manualmente de `node_modules/sedd/hooks/`.
396
166
 
397
167
  ---
398
168
 
@@ -404,78 +174,15 @@ Ou copie manualmente de `node_modules/sedd/hooks/`.
404
174
  {
405
175
  "specsDir": ".sedd",
406
176
  "branchPattern": "{{id}}-{{name}}",
407
- "scriptRunner": "auto",
408
- "autoSplit": {
409
- "enabled": true,
410
- "maxLines": 400
411
- },
412
- "commit": {
413
- "askBeforeCommit": true
414
- }
177
+ "scriptRunner": "auto"
415
178
  }
416
179
  ```
417
180
 
418
181
  | Opção | Default | Descrição |
419
182
  |-------|---------|-----------|
420
- | `specsDir` | `.sedd` | Pasta das specs (use `specs` para legacy) |
183
+ | `specsDir` | `.sedd` | Pasta das specs |
421
184
  | `branchPattern` | `{{id}}-{{name}}` | Formato do nome da branch |
422
185
  | `scriptRunner` | `auto` | `auto`, `powershell`, ou `bash` |
423
- | `autoSplit.maxLines` | `400` | Auto-split de arquivos grandes |
424
- | `commit.askBeforeCommit` | `true` | Perguntar antes de commitar |
425
-
426
- ### Script Runner
427
-
428
- Por padrão (`auto`), SEDD detecta o OS e usa:
429
- - **Windows** → PowerShell (`.ps1`)
430
- - **macOS/Linux** → Bash (`.sh`)
431
-
432
- Para forçar um runner específico (ex: usar Bash no Windows via WSL/Git Bash):
433
-
434
- ```json
435
- {
436
- "scriptRunner": "bash"
437
- }
438
- ```
439
-
440
- ---
441
-
442
- ## Filosofia
443
-
444
- ### Princípios
445
-
446
- 1. **Expectativas primeiro** - Não só o que, mas como você espera que funcione
447
- 2. **Nada acontece sem task** - Toda implementação deve estar rastreada
448
- 3. **Decisões são documentadas** - Não confie na memória, documente
449
- 4. **Incremental > Big Bang** - Clarifica aos poucos, implementa aos poucos
450
- 5. **AI como parceiro** - Ferramentas pensadas para colaboração AI-humano
451
-
452
- ### Comparação
453
-
454
- | Aspecto | Vibe Coding | Spec-Driven | SEDD |
455
- |---------|-------------|-------------|------|
456
- | Especificação | ❌ Nenhuma | ✅ Detalhada | ✅ Detalhada |
457
- | Expectativas | ❌ Implícitas | ❌ Implícitas | ✅ **Explícitas** |
458
- | Histórico | ❌ Nenhum | ⚠️ Limitado | ✅ **Migrations** |
459
- | Clarificação | ❌ Ad-hoc | ⚠️ Única vez | ✅ **Incremental** |
460
- | Retomada | ❌ Difícil | ⚠️ Possível | ✅ **progress.md** |
461
-
462
- ---
463
-
464
- ## Migração de Projetos
465
-
466
- Se você já tem specs em formato antigo:
467
-
468
- ```bash
469
- npx sedd migrate
470
- # ou
471
- /sedd.migrate
472
- ```
473
-
474
- ---
475
-
476
- ## Contribuindo
477
-
478
- Contribuições são bem-vindas! Veja [CONTRIBUTING.md](CONTRIBUTING.md) para guidelines.
479
186
 
480
187
  ---
481
188
 
@@ -486,19 +193,7 @@ MIT
486
193
  ---
487
194
 
488
195
  <p align="center">
489
- <i>
490
- SEDD nasceu da evolução do Spec Driven Development para incluir o que realmente importa: <b>suas expectativas como desenvolvedor</b>.
491
- </i>
492
- </p>
493
-
494
- <p align="center">
495
- <i>
496
- Se você já teve que explicar a mesma coisa 3 vezes para uma AI, ou se já perdeu horas porque a AI não entendeu o "espírito" do que você queria — este projeto é para você.
497
- </i>
498
- </p>
499
-
500
- <p align="center">
501
- <b>Porque especificações dizem O QUE construir.<br>
196
+ <b>Especificações dizem O QUE construir.<br>
502
197
  Expectativas dizem COMO você imagina que deve funcionar.<br>
503
- E juntas, elas são o superpoder que faltava.</b>
198
+ Juntas, são o superpoder que faltava.</b>
504
199
  </p>