@lugom.io/hefesto 0.1.2 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agents/hefesto-argos.md +279 -0
- package/agents/hefesto-athena.md +379 -0
- package/agents/hefesto-hermes.md +128 -0
- package/bin/install.js +97 -20
- package/package.json +3 -3
- package/skills/hefesto-context/SKILL.md +38 -6
- package/skills/hefesto-design/SKILL.md +194 -0
- package/skills/hefesto-design/data/animations.csv +21 -0
- package/skills/hefesto-design/data/anti-patterns.csv +41 -0
- package/skills/hefesto-design/data/charts.csv +26 -0
- package/skills/hefesto-design/data/colors.csv +108 -0
- package/skills/hefesto-design/data/components.csv +31 -0
- package/skills/hefesto-design/data/google-fonts.csv +56 -0
- package/skills/hefesto-design/data/icons.csv +23 -0
- package/skills/hefesto-design/data/landing-pages.csv +28 -0
- package/skills/hefesto-design/data/products.csv +46 -0
- package/skills/hefesto-design/data/spacing.csv +16 -0
- package/skills/hefesto-design/data/styles.csv +53 -0
- package/skills/hefesto-design/data/typography.csv +41 -0
- package/skills/hefesto-design/data/ux-rules.csv +61 -0
- package/skills/hefesto-design/references/accessibility.md +335 -0
- package/skills/hefesto-design/references/aesthetics.md +343 -0
- package/skills/hefesto-design/references/anti-patterns.md +107 -0
- package/skills/hefesto-design/references/checklist.md +66 -0
- package/skills/hefesto-design/references/color-psychology.md +203 -0
- package/skills/hefesto-design/references/component-specs.md +318 -0
- package/skills/hefesto-design/references/polish.md +339 -0
- package/skills/hefesto-design/references/token-architecture.md +394 -0
- package/skills/hefesto-design/references/ux-rules.md +349 -0
- package/skills/hefesto-design/scripts/__pycache__/audit.cpython-314.pyc +0 -0
- package/skills/hefesto-design/scripts/__pycache__/contrast.cpython-314.pyc +0 -0
- package/skills/hefesto-design/scripts/__pycache__/core.cpython-314.pyc +0 -0
- package/skills/hefesto-design/scripts/__pycache__/design_system.cpython-314.pyc +0 -0
- package/skills/hefesto-design/scripts/__pycache__/search.cpython-314.pyc +0 -0
- package/skills/hefesto-design/scripts/__pycache__/validate_tokens.cpython-314.pyc +0 -0
- package/skills/hefesto-design/scripts/audit.py +450 -0
- package/skills/hefesto-design/scripts/contrast.py +195 -0
- package/skills/hefesto-design/scripts/core.py +155 -0
- package/skills/hefesto-design/scripts/design_system.py +311 -0
- package/skills/hefesto-design/scripts/search.py +235 -0
- package/skills/hefesto-design/scripts/validate_tokens.py +274 -0
- package/{commands/hefesto/init.md → skills/hefesto-init/SKILL.md} +28 -3
- package/{commands/hefesto/new-feature.md → skills/hefesto-new-feature/SKILL.md} +5 -2
- package/{commands/hefesto/update.md → skills/hefesto-update/SKILL.md} +6 -3
- package/templates/DESIGN.md +137 -0
- package/templates/RECON.md +54 -0
- package/templates/RESEARCH.md +87 -0
- package/templates/STATE.md +1 -1
- package/templates/VERDICT.md +52 -0
- package/agents/.gitkeep +0 -0
- package/commands/hefesto/status.md +0 -40
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
---
|
|
2
|
+
status: draft
|
|
3
|
+
depth: {{DESIGN_DEPTH}}
|
|
4
|
+
created: {{DATE}}
|
|
5
|
+
updated: {{DATE}}
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Design — {{PROJECT_NAME}}
|
|
9
|
+
|
|
10
|
+
## Direção Estética
|
|
11
|
+
|
|
12
|
+
**Estilo:** {{STYLE_NAME}}
|
|
13
|
+
**Propósito:** {{INTERFACE_PURPOSE}}
|
|
14
|
+
**Tom:** {{VISUAL_TONE}}
|
|
15
|
+
**Diferencial:** {{MEMORABLE_ELEMENT}}
|
|
16
|
+
|
|
17
|
+
> {{STYLE_DESCRIPTION}}
|
|
18
|
+
|
|
19
|
+
## Contrato de Cores
|
|
20
|
+
|
|
21
|
+
| Papel | Cor | Uso | % |
|
|
22
|
+
|-------|-----|-----|---|
|
|
23
|
+
| Dominante | {{DOMINANT_COLOR}} | {{DOMINANT_USE}} | 60% |
|
|
24
|
+
| Secundária | {{SECONDARY_COLOR}} | {{SECONDARY_USE}} | 30% |
|
|
25
|
+
| Acento | {{ACCENT_COLOR}} | **Reservado para:** {{ACCENT_RESERVED_LIST}} | 10% |
|
|
26
|
+
|
|
27
|
+
**Texto sobre dominante:** {{ON_DOMINANT}}
|
|
28
|
+
**Texto sobre secundária:** {{ON_SECONDARY}}
|
|
29
|
+
**Texto sobre acento:** {{ON_ACCENT}}
|
|
30
|
+
|
|
31
|
+
### Dark Mode
|
|
32
|
+
|
|
33
|
+
| Papel | Light | Dark |
|
|
34
|
+
|-------|-------|------|
|
|
35
|
+
| Dominante | {{DOMINANT_LIGHT}} | {{DOMINANT_DARK}} |
|
|
36
|
+
| Secundária | {{SECONDARY_LIGHT}} | {{SECONDARY_DARK}} |
|
|
37
|
+
| Acento | {{ACCENT_LIGHT}} | {{ACCENT_DARK}} |
|
|
38
|
+
|
|
39
|
+
**Contraste AA verificado:** {{CONTRAST_VERIFIED}}
|
|
40
|
+
|
|
41
|
+
## Contrato de Tipografia
|
|
42
|
+
|
|
43
|
+
| Nível | Font | Size | Weight | Line Height | Uso |
|
|
44
|
+
|-------|------|------|--------|-------------|-----|
|
|
45
|
+
| Display | {{DISPLAY_FONT}} | {{DISPLAY_SIZE}} | {{DISPLAY_WEIGHT}} | {{DISPLAY_LH}} | {{DISPLAY_USE}} |
|
|
46
|
+
| Heading | {{HEADING_FONT}} | {{HEADING_SIZE}} | {{HEADING_WEIGHT}} | {{HEADING_LH}} | {{HEADING_USE}} |
|
|
47
|
+
| Body | {{BODY_FONT}} | {{BODY_SIZE}} | {{BODY_WEIGHT}} | {{BODY_LH}} | {{BODY_USE}} |
|
|
48
|
+
| Small | {{SMALL_FONT}} | {{SMALL_SIZE}} | {{SMALL_WEIGHT}} | {{SMALL_LH}} | {{SMALL_USE}} |
|
|
49
|
+
|
|
50
|
+
> Max 4 tamanhos. Max 2 pesos. Sem exceções.
|
|
51
|
+
|
|
52
|
+
**Fontes bloqueadas:** Inter, Roboto, Arial, system-ui (a menos que justificado no estilo)
|
|
53
|
+
|
|
54
|
+
## Contrato de Espaçamento
|
|
55
|
+
|
|
56
|
+
**Escala:** `{{SPACING_SCALE}}`
|
|
57
|
+
**Unidade base:** {{BASE_UNIT}}px
|
|
58
|
+
**Touch targets:** mínimo {{TOUCH_MIN}}px
|
|
59
|
+
|
|
60
|
+
> Valor fora da escala = bug. Sem exceções.
|
|
61
|
+
|
|
62
|
+
## Copywriting
|
|
63
|
+
|
|
64
|
+
| Elemento | Texto |
|
|
65
|
+
|----------|-------|
|
|
66
|
+
| CTA primário | {{PRIMARY_CTA}} |
|
|
67
|
+
| CTA secundário | {{SECONDARY_CTA}} |
|
|
68
|
+
| Empty state | {{EMPTY_STATE}} |
|
|
69
|
+
| Error state | {{ERROR_STATE}} |
|
|
70
|
+
| Loading state | {{LOADING_STATE}} |
|
|
71
|
+
| Confirmação destrutiva | {{DESTRUCTIVE_CONFIRM}} |
|
|
72
|
+
|
|
73
|
+
**Tom de voz:** {{VOICE_TONE}}
|
|
74
|
+
|
|
75
|
+
<!-- standard+ -->
|
|
76
|
+
|
|
77
|
+
## Referências Visuais
|
|
78
|
+
|
|
79
|
+
| Referência | URL | O que extrair |
|
|
80
|
+
|------------|-----|---------------|
|
|
81
|
+
| {{REF_NAME}} | {{REF_URL}} | {{REF_EXTRACT}} |
|
|
82
|
+
|
|
83
|
+
## Tokens de Design
|
|
84
|
+
|
|
85
|
+
### Primitivos (Core)
|
|
86
|
+
|
|
87
|
+
```css
|
|
88
|
+
:root {
|
|
89
|
+
{{PRIMITIVE_TOKENS}}
|
|
90
|
+
}
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Semânticos
|
|
94
|
+
|
|
95
|
+
```css
|
|
96
|
+
:root {
|
|
97
|
+
{{SEMANTIC_TOKENS}}
|
|
98
|
+
}
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Componente
|
|
102
|
+
|
|
103
|
+
```css
|
|
104
|
+
{{COMPONENT_TOKENS}}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## Overrides por Contexto
|
|
108
|
+
|
|
109
|
+
> Overrides são exceções justificadas ao contrato principal. Max 3 contextos.
|
|
110
|
+
> Exemplos: admin vs público, onboarding vs app, marketing vs produto.
|
|
111
|
+
|
|
112
|
+
| Contexto | O que muda | Valores | Justificativa |
|
|
113
|
+
|----------|-----------|---------|---------------|
|
|
114
|
+
| {{CONTEXT_NAME}} | {{WHAT_CHANGES}} | {{OVERRIDE_VALUES}} | {{JUSTIFICATION}} |
|
|
115
|
+
|
|
116
|
+
<!-- deep -->
|
|
117
|
+
|
|
118
|
+
## Specs de Componentes
|
|
119
|
+
|
|
120
|
+
| Componente | Nível | Variantes | Estados | A11y | Animação |
|
|
121
|
+
|------------|-------|-----------|---------|------|----------|
|
|
122
|
+
| {{COMP_NAME}} | {{ATOMIC_LEVEL}} | {{VARIANTS}} | {{STATES}} | {{A11Y}} | {{ANIMATION}} |
|
|
123
|
+
|
|
124
|
+
## Prompts para Ferramentas AI
|
|
125
|
+
|
|
126
|
+
### v0.dev / Lovable / Bolt
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
{{AI_PROMPT}}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
<!-- /deep -->
|
|
133
|
+
<!-- /standard+ -->
|
|
134
|
+
|
|
135
|
+
## Anti-Padrões Bloqueados
|
|
136
|
+
|
|
137
|
+
- [ ] {{ANTI_PATTERN_CHECK}}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
## Reconhecimento: {{FEATURE_ID}} — {{FEATURE_TITLE}}
|
|
2
|
+
profundidade: {{DEPTH}}
|
|
3
|
+
|
|
4
|
+
### 1. Estrutura Relevante
|
|
5
|
+
|
|
6
|
+
(árvore de diretórios mostrando APENAS o que importa para a feature)
|
|
7
|
+
|
|
8
|
+
```
|
|
9
|
+
{{RELEVANT_TREE}}
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
(descrição do que cada arquivo faz e por que é relevante)
|
|
13
|
+
|
|
14
|
+
### 2. Padrões a Seguir
|
|
15
|
+
|
|
16
|
+
Para cada tipo de artefato que a feature precisa criar:
|
|
17
|
+
|
|
18
|
+
**{{ARTIFACT_TYPE}}** — baseado em `{{EXAMPLE_PATH}}:{{LINES}}`
|
|
19
|
+
- Convenção: {{CONVENTION}}
|
|
20
|
+
- Imports: {{IMPORTS}}
|
|
21
|
+
- Exemplo real: (trecho de código copiado do codebase)
|
|
22
|
+
|
|
23
|
+
### 3. Pontos de Integração
|
|
24
|
+
|
|
25
|
+
| Arquivo | Ação | O que fazer | Linha |
|
|
26
|
+
|---------|------|-------------|-------|
|
|
27
|
+
| `{{FILE_PATH}}` | modificar | {{ACTION}} | :{{LINE}} |
|
|
28
|
+
| `{{FILE_PATH}}` | criar | {{ACTION}} | — |
|
|
29
|
+
|
|
30
|
+
### 4. Dependências e Riscos
|
|
31
|
+
|
|
32
|
+
**Consumers** (importam o que vai mudar):
|
|
33
|
+
- `{{FILE_PATH}}:{{LINE}}` importa `{{MODULE}}`
|
|
34
|
+
|
|
35
|
+
**Testes adjacentes**:
|
|
36
|
+
- `{{TEST_PATH}}` — {{RELEVANCE}}
|
|
37
|
+
|
|
38
|
+
**Configs**:
|
|
39
|
+
- `{{CONFIG_FILE}}` precisa de `{{NEW_ENTRY}}`
|
|
40
|
+
|
|
41
|
+
**Riscos**:
|
|
42
|
+
- Risco: {{RISK}} → Mitigação: {{MITIGATION}}
|
|
43
|
+
|
|
44
|
+
### 5. Ordem de Ataque
|
|
45
|
+
|
|
46
|
+
1. **{{TASK_1}}** — {{REASON}} (desbloqueia {{WHAT}})
|
|
47
|
+
2. **{{TASK_2}}** — {{REASON}}
|
|
48
|
+
3. **{{TASK_3}}** — pode ser paralelo com {{N}}
|
|
49
|
+
4. **{{TASK_4}}** — deixar por último ({{REASON}})
|
|
50
|
+
|
|
51
|
+
### 6. Perguntas Abertas
|
|
52
|
+
|
|
53
|
+
- {{OPEN_QUESTION_1}}
|
|
54
|
+
- {{OPEN_QUESTION_2}}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: {{RESEARCH_ID}}
|
|
3
|
+
title: "{{RESEARCH_TITLE}}"
|
|
4
|
+
type: {{RESEARCH_TYPE}}
|
|
5
|
+
depth: {{RESEARCH_DEPTH}}
|
|
6
|
+
status: draft
|
|
7
|
+
feature: {{LINKED_FEATURE}}
|
|
8
|
+
created: {{DATE}}
|
|
9
|
+
updated: {{DATE}}
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# {{RESEARCH_ID}}: {{RESEARCH_TITLE}}
|
|
13
|
+
|
|
14
|
+
## Objetivo e Escopo
|
|
15
|
+
|
|
16
|
+
{{RESEARCH_OBJECTIVE}}
|
|
17
|
+
|
|
18
|
+
**Perguntas a responder:**
|
|
19
|
+
|
|
20
|
+
1. {{QUESTION_1}}
|
|
21
|
+
2. {{QUESTION_2}}
|
|
22
|
+
3. {{QUESTION_3}}
|
|
23
|
+
|
|
24
|
+
**Fora do escopo:**
|
|
25
|
+
|
|
26
|
+
- {{EXCLUSION_1}}
|
|
27
|
+
|
|
28
|
+
## Recomendação
|
|
29
|
+
|
|
30
|
+
{{RECOMMENDATION — abordagem recomendada e por quê}}
|
|
31
|
+
|
|
32
|
+
## Paisagem de Implementação
|
|
33
|
+
|
|
34
|
+
### Arquivos-chave
|
|
35
|
+
|
|
36
|
+
- `{{FILE_PATH}}` — {{o que faz e como se relaciona}}
|
|
37
|
+
- `{{FILE_PATH}}` — {{o que precisa mudar}}
|
|
38
|
+
|
|
39
|
+
### Ordem de Construção
|
|
40
|
+
|
|
41
|
+
{{o que construir/provar primeiro e por quê — o que desbloqueia trabalho downstream}}
|
|
42
|
+
|
|
43
|
+
### Verificação
|
|
44
|
+
|
|
45
|
+
{{como confirmar que funciona — comandos, testes, comportamentos observáveis}}
|
|
46
|
+
|
|
47
|
+
<!-- Seções abaixo: incluir apenas quando tiverem conteúdo real -->
|
|
48
|
+
|
|
49
|
+
## Descobertas
|
|
50
|
+
|
|
51
|
+
### {{FINDING_TITLE_1}}
|
|
52
|
+
|
|
53
|
+
{{FINDING_CONTENT}}
|
|
54
|
+
|
|
55
|
+
**Fonte:** [{{SOURCE_TITLE}}]({{SOURCE_URL}}) — Confiabilidade: {{CONFIDENCE}}
|
|
56
|
+
|
|
57
|
+
### {{FINDING_TITLE_2}}
|
|
58
|
+
|
|
59
|
+
{{FINDING_CONTENT}}
|
|
60
|
+
|
|
61
|
+
**Fonte:** [{{SOURCE_TITLE}}]({{SOURCE_URL}}) — Confiabilidade: {{CONFIDENCE}}
|
|
62
|
+
|
|
63
|
+
## Comparativo
|
|
64
|
+
|
|
65
|
+
| Critério | {{OPTION_A}} | {{OPTION_B}} | {{OPTION_C}} |
|
|
66
|
+
| -------- | ------------ | ------------ | ------------ |
|
|
67
|
+
| — | — | — | — |
|
|
68
|
+
|
|
69
|
+
## Não Reinvente a Roda
|
|
70
|
+
|
|
71
|
+
| Problema | Solução pronta | Por que não fazer na mão |
|
|
72
|
+
| -------- | -------------- | ------------------------ |
|
|
73
|
+
| — | — | — |
|
|
74
|
+
|
|
75
|
+
## Armadilhas
|
|
76
|
+
|
|
77
|
+
| Severidade | Armadilha | Se ignorar | Prevenção |
|
|
78
|
+
| ---------- | --------- | ---------- | --------- |
|
|
79
|
+
| Crítico | — | — | — |
|
|
80
|
+
| Moderado | — | — | — |
|
|
81
|
+
| Menor | — | — | — |
|
|
82
|
+
|
|
83
|
+
## Fontes
|
|
84
|
+
|
|
85
|
+
| # | Título | URL | Confiabilidade |
|
|
86
|
+
| - | ------ | --- | -------------- |
|
|
87
|
+
| 1 | — | — | alta |
|
package/templates/STATE.md
CHANGED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
## Veredicto
|
|
2
|
+
|
|
3
|
+
status: {{VERDICT_STATUS}}
|
|
4
|
+
feature: {{FEATURE_ID}}
|
|
5
|
+
fase: {{PHASE_NUMBER}}
|
|
6
|
+
|
|
7
|
+
## Requisitos
|
|
8
|
+
|
|
9
|
+
| ID | Requisito | Status | Evidência |
|
|
10
|
+
|--------|------------------------|-----------|---------------------|
|
|
11
|
+
| {{REQ_ID}} | {{REQ_DESCRIPTION}} | {{REQ_STATUS}} | {{REQ_EVIDENCE}} |
|
|
12
|
+
|
|
13
|
+
## Testes Criados
|
|
14
|
+
|
|
15
|
+
- `{{TEST_FILE_PATH}}` — {{TEST_COUNT}} testes, {{PASS_COUNT}} pass, {{FAIL_COUNT}} fail
|
|
16
|
+
|
|
17
|
+
## Edge Cases Encontrados
|
|
18
|
+
|
|
19
|
+
- {{EDGE_CASE_DESCRIPTION}}
|
|
20
|
+
|
|
21
|
+
## Fora do Escopo (confirmado)
|
|
22
|
+
|
|
23
|
+
- {{OUT_OF_SCOPE_ITEM}}
|
|
24
|
+
|
|
25
|
+
## Questões para o Implementador
|
|
26
|
+
|
|
27
|
+
1. {{IMPLEMENTER_QUESTION}}
|
|
28
|
+
|
|
29
|
+
## Auditoria Visual
|
|
30
|
+
|
|
31
|
+
> Ativada quando `.hefesto/DESIGN.md` existe. Se não existir, omitir esta seção.
|
|
32
|
+
|
|
33
|
+
design: {{DESIGN_REF}}
|
|
34
|
+
|
|
35
|
+
### Pilares
|
|
36
|
+
|
|
37
|
+
| Pilar | Score /4 | Status | Evidência |
|
|
38
|
+
|-------|----------|--------|-----------|
|
|
39
|
+
| Copywriting | {{COPY_SCORE}} | {{COPY_STATUS}} | {{COPY_EVIDENCE}} |
|
|
40
|
+
| Cores (60/30/10) | {{COLOR_SCORE}} | {{COLOR_STATUS}} | {{COLOR_EVIDENCE}} |
|
|
41
|
+
| Tipografia (≤4 sizes, ≤2 weights) | {{TYPO_SCORE}} | {{TYPO_STATUS}} | {{TYPO_EVIDENCE}} |
|
|
42
|
+
| Espaçamento (mult. 4) | {{SPACE_SCORE}} | {{SPACE_STATUS}} | {{SPACE_EVIDENCE}} |
|
|
43
|
+
| Hierarquia visual | {{HIER_SCORE}} | {{HIER_STATUS}} | {{HIER_EVIDENCE}} |
|
|
44
|
+
| Acessibilidade (AA) | {{A11Y_SCORE}} | {{A11Y_STATUS}} | {{A11Y_EVIDENCE}} |
|
|
45
|
+
|
|
46
|
+
**Score:** {{VISUAL_TOTAL}}/24
|
|
47
|
+
|
|
48
|
+
### Top 3 Correções
|
|
49
|
+
|
|
50
|
+
1. {{VISUAL_FIX_1}}
|
|
51
|
+
2. {{VISUAL_FIX_2}}
|
|
52
|
+
3. {{VISUAL_FIX_3}}
|
package/agents/.gitkeep
DELETED
|
File without changes
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "Mostra o estado atual do projeto Hefesto. Use /hefesto:status para ver progresso, features ativas, bloqueios e próximos passos."
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# Hefesto Status
|
|
6
|
-
|
|
7
|
-
Exibe o estado atual do projeto gerenciado pelo Hefesto.
|
|
8
|
-
|
|
9
|
-
## Pré-requisitos
|
|
10
|
-
|
|
11
|
-
Verificar se `.hefesto/` existe. Se não existir, informar que o projeto não foi inicializado e sugerir `/hefesto:init`.
|
|
12
|
-
|
|
13
|
-
## O que fazer
|
|
14
|
-
|
|
15
|
-
1. Ler `.hefesto/STATE.md` e exibir o conteúdo formatado.
|
|
16
|
-
2. Ler `.hefesto/ROADMAP.md` e calcular progresso geral.
|
|
17
|
-
3. Listar todas as features em `.hefesto/features/` com seus status (ler frontmatter de cada arquivo).
|
|
18
|
-
4. Apresentar um resumo ao usuário:
|
|
19
|
-
|
|
20
|
-
```
|
|
21
|
-
📊 Estado do Projeto: [nome]
|
|
22
|
-
|
|
23
|
-
Progresso: [██████░░░░] 60% (3 de 5 features)
|
|
24
|
-
|
|
25
|
-
Feature ativa: FEAT-003 — Título (Fase 2 de 4)
|
|
26
|
-
|
|
27
|
-
Features:
|
|
28
|
-
✅ FEAT-001 — Título (done)
|
|
29
|
-
✅ FEAT-002 — Título (done)
|
|
30
|
-
🔄 FEAT-003 — Título (active — fase 2/4)
|
|
31
|
-
📋 FEAT-004 — Título (ready)
|
|
32
|
-
📝 FEAT-005 — Título (draft)
|
|
33
|
-
|
|
34
|
-
Bloqueios: Nenhum
|
|
35
|
-
|
|
36
|
-
Próximo passo: Continuar execução da Fase 2 de FEAT-003
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
5. Se houver bloqueios em STATE.md, destacá-los.
|
|
40
|
-
6. Sugerir próxima ação com base no estado atual.
|