@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.
Files changed (51) hide show
  1. package/agents/hefesto-argos.md +279 -0
  2. package/agents/hefesto-athena.md +379 -0
  3. package/agents/hefesto-hermes.md +128 -0
  4. package/bin/install.js +97 -20
  5. package/package.json +3 -3
  6. package/skills/hefesto-context/SKILL.md +38 -6
  7. package/skills/hefesto-design/SKILL.md +194 -0
  8. package/skills/hefesto-design/data/animations.csv +21 -0
  9. package/skills/hefesto-design/data/anti-patterns.csv +41 -0
  10. package/skills/hefesto-design/data/charts.csv +26 -0
  11. package/skills/hefesto-design/data/colors.csv +108 -0
  12. package/skills/hefesto-design/data/components.csv +31 -0
  13. package/skills/hefesto-design/data/google-fonts.csv +56 -0
  14. package/skills/hefesto-design/data/icons.csv +23 -0
  15. package/skills/hefesto-design/data/landing-pages.csv +28 -0
  16. package/skills/hefesto-design/data/products.csv +46 -0
  17. package/skills/hefesto-design/data/spacing.csv +16 -0
  18. package/skills/hefesto-design/data/styles.csv +53 -0
  19. package/skills/hefesto-design/data/typography.csv +41 -0
  20. package/skills/hefesto-design/data/ux-rules.csv +61 -0
  21. package/skills/hefesto-design/references/accessibility.md +335 -0
  22. package/skills/hefesto-design/references/aesthetics.md +343 -0
  23. package/skills/hefesto-design/references/anti-patterns.md +107 -0
  24. package/skills/hefesto-design/references/checklist.md +66 -0
  25. package/skills/hefesto-design/references/color-psychology.md +203 -0
  26. package/skills/hefesto-design/references/component-specs.md +318 -0
  27. package/skills/hefesto-design/references/polish.md +339 -0
  28. package/skills/hefesto-design/references/token-architecture.md +394 -0
  29. package/skills/hefesto-design/references/ux-rules.md +349 -0
  30. package/skills/hefesto-design/scripts/__pycache__/audit.cpython-314.pyc +0 -0
  31. package/skills/hefesto-design/scripts/__pycache__/contrast.cpython-314.pyc +0 -0
  32. package/skills/hefesto-design/scripts/__pycache__/core.cpython-314.pyc +0 -0
  33. package/skills/hefesto-design/scripts/__pycache__/design_system.cpython-314.pyc +0 -0
  34. package/skills/hefesto-design/scripts/__pycache__/search.cpython-314.pyc +0 -0
  35. package/skills/hefesto-design/scripts/__pycache__/validate_tokens.cpython-314.pyc +0 -0
  36. package/skills/hefesto-design/scripts/audit.py +450 -0
  37. package/skills/hefesto-design/scripts/contrast.py +195 -0
  38. package/skills/hefesto-design/scripts/core.py +155 -0
  39. package/skills/hefesto-design/scripts/design_system.py +311 -0
  40. package/skills/hefesto-design/scripts/search.py +235 -0
  41. package/skills/hefesto-design/scripts/validate_tokens.py +274 -0
  42. package/{commands/hefesto/init.md → skills/hefesto-init/SKILL.md} +28 -3
  43. package/{commands/hefesto/new-feature.md → skills/hefesto-new-feature/SKILL.md} +5 -2
  44. package/{commands/hefesto/update.md → skills/hefesto-update/SKILL.md} +6 -3
  45. package/templates/DESIGN.md +137 -0
  46. package/templates/RECON.md +54 -0
  47. package/templates/RESEARCH.md +87 -0
  48. package/templates/STATE.md +1 -1
  49. package/templates/VERDICT.md +52 -0
  50. package/agents/.gitkeep +0 -0
  51. 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 |
@@ -30,7 +30,7 @@ Nenhum.
30
30
 
31
31
  - Última sessão: {{DATE}}
32
32
  - Parou em: Inicialização do projeto
33
- - Retomar: Criar primeira feature com /hefesto:new-feature
33
+ - Retomar: Criar primeira feature com /hefesto-new-feature
34
34
 
35
35
  ---
36
36
 
@@ -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.