create-genia-os 1.0.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/bin/index.js +210 -0
- package/package.json +39 -0
- package/template/.claude/CLAUDE.md +215 -0
- package/template/.claude/agent-memory/analyst/MEMORY.md +20 -0
- package/template/.claude/agent-memory/architect/MEMORY.md +20 -0
- package/template/.claude/agent-memory/dev/MEMORY.md +20 -0
- package/template/.claude/agent-memory/devops/MEMORY.md +20 -0
- package/template/.claude/agent-memory/pm/MEMORY.md +20 -0
- package/template/.claude/agent-memory/po/MEMORY.md +20 -0
- package/template/.claude/agent-memory/qa/MEMORY.md +20 -0
- package/template/.claude/agent-memory/reviewer/MEMORY.md +20 -0
- package/template/.claude/agent-memory/sm/MEMORY.md +20 -0
- package/template/.claude/hooks/enforce-git-push-authority.py +70 -0
- package/template/.claude/hooks/precompact-session-digest.cjs +87 -0
- package/template/.claude/hooks/sql-governance.py +65 -0
- package/template/.claude/hooks/synapse-engine.cjs +122 -0
- package/template/.claude/hooks/write-path-validation.py +59 -0
- package/template/.claude/rules/agent-authority.md +39 -0
- package/template/.claude/rules/agent-handoff.md +71 -0
- package/template/.claude/rules/agent-memory.md +61 -0
- package/template/.claude/rules/ids-principles.md +52 -0
- package/template/.claude/rules/mcp-usage.md +49 -0
- package/template/.claude/rules/story-lifecycle.md +87 -0
- package/template/.claude/rules/workflow-execution.md +68 -0
- package/template/.claude/settings.json +58 -0
- package/template/.claude/settings.local.json +14 -0
- package/template/.genia/CONSTITUTION.md +129 -0
- package/template/.genia/contexts/api-patterns.md +134 -0
- package/template/.genia/contexts/nextjs-react.md +210 -0
- package/template/.genia/contexts/projeto.md +18 -0
- package/template/.genia/contexts/supabase.md +152 -0
- package/template/.genia/contexts/whatsapp-cloud.md +176 -0
- package/template/.genia/core-config.yaml +192 -0
- package/template/.genia/development/agents/analyst.md +138 -0
- package/template/.genia/development/agents/architect.md +171 -0
- package/template/.genia/development/agents/dev.md +160 -0
- package/template/.genia/development/agents/devops.md +200 -0
- package/template/.genia/development/agents/pm.md +142 -0
- package/template/.genia/development/agents/po.md +165 -0
- package/template/.genia/development/agents/qa.md +183 -0
- package/template/.genia/development/agents/reviewer.md +198 -0
- package/template/.genia/development/agents/sm.md +230 -0
- package/template/.genia/development/checklists/architecture-review.md +189 -0
- package/template/.genia/development/checklists/pre-commit.md +205 -0
- package/template/.genia/development/checklists/pre-deploy.md +230 -0
- package/template/.genia/development/checklists/qa-gate.md +216 -0
- package/template/.genia/development/checklists/story-dod.md +155 -0
- package/template/.genia/development/tasks/code-review.md +197 -0
- package/template/.genia/development/tasks/criar-prd.md +170 -0
- package/template/.genia/development/tasks/criar-spec.md +188 -0
- package/template/.genia/development/tasks/criar-story.md +185 -0
- package/template/.genia/development/tasks/debug-sistematico.md +230 -0
- package/template/.genia/development/tasks/dev-implement.md +199 -0
- package/template/.genia/development/tasks/qa-review.md +224 -0
- package/template/.genia/development/workflows/brownfield.md +178 -0
- package/template/.genia/development/workflows/delivery.md +208 -0
- package/template/.genia/development/workflows/development.md +189 -0
- package/template/.genia/development/workflows/greenfield.md +166 -0
- package/template/.genia/development/workflows/planning.md +167 -0
- package/template/.genia/development/workflows/qa-loop.md +179 -0
- package/template/.genia/development/workflows/spec-pipeline.md +192 -0
- package/template/.genia/development/workflows/story-development-cycle.md +252 -0
- package/template/.genia/guidelines/clean-code.md +98 -0
- package/template/.genia/guidelines/testing.md +176 -0
- package/template/.genia/skills/design/canvas-design.md +109 -0
- package/template/.genia/skills/design/frontend-design.md +140 -0
- package/template/.genia/skills/dev/mcp-builder.md +172 -0
- package/template/.genia/skills/dev/webapp-testing.md +150 -0
- package/template/.genia/skills/documents/docx.md +153 -0
- package/template/.genia/skills/documents/pdf.md +134 -0
- package/template/.genia/skills/documents/pptx.md +118 -0
- package/template/.genia/skills/documents/xlsx.md +140 -0
- package/template/.synapse/agent-analyst +8 -0
- package/template/.synapse/agent-architect +8 -0
- package/template/.synapse/agent-dev +8 -0
- package/template/.synapse/agent-devops +8 -0
- package/template/.synapse/agent-pm +8 -0
- package/template/.synapse/agent-po +7 -0
- package/template/.synapse/agent-qa +8 -0
- package/template/.synapse/agent-reviewer +7 -0
- package/template/.synapse/agent-sm +7 -0
- package/template/.synapse/constitution +7 -0
- package/template/.synapse/context +8 -0
- package/template/.synapse/global +8 -0
- package/template/.synapse/manifest +14 -0
- package/template/README.md +53 -0
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# Skill: /pdf
|
|
2
|
+
|
|
3
|
+
## Metadata
|
|
4
|
+
- **Nome**: PDF Processing
|
|
5
|
+
- **Comando**: /pdf
|
|
6
|
+
- **Agente**: @dev
|
|
7
|
+
- **Categoria**: documents
|
|
8
|
+
- **Versao**: 2.0
|
|
9
|
+
|
|
10
|
+
## Descricao
|
|
11
|
+
Toolkit completo para manipulacao de PDFs: extrair texto e tabelas, criar novos PDFs, mesclar/dividir documentos e preencher formularios.
|
|
12
|
+
|
|
13
|
+
## Quando Usar
|
|
14
|
+
- Extrair texto de PDFs
|
|
15
|
+
- Extrair tabelas para Excel/CSV
|
|
16
|
+
- Mesclar multiplos PDFs
|
|
17
|
+
- Dividir PDF em paginas
|
|
18
|
+
- Criar novos PDFs
|
|
19
|
+
- Preencher formularios PDF
|
|
20
|
+
- Adicionar marca d'agua
|
|
21
|
+
- OCR em PDFs escaneados
|
|
22
|
+
|
|
23
|
+
## Bibliotecas Python
|
|
24
|
+
|
|
25
|
+
### pypdf - Operacoes Basicas
|
|
26
|
+
```python
|
|
27
|
+
from pypdf import PdfReader, PdfWriter
|
|
28
|
+
|
|
29
|
+
# Ler PDF
|
|
30
|
+
reader = PdfReader("documento.pdf")
|
|
31
|
+
print(f"Paginas: {len(reader.pages)}")
|
|
32
|
+
|
|
33
|
+
# Extrair texto
|
|
34
|
+
text = ""
|
|
35
|
+
for page in reader.pages:
|
|
36
|
+
text += page.extract_text()
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Mesclar PDFs
|
|
40
|
+
```python
|
|
41
|
+
from pypdf import PdfWriter, PdfReader
|
|
42
|
+
|
|
43
|
+
writer = PdfWriter()
|
|
44
|
+
for pdf_file in ["doc1.pdf", "doc2.pdf", "doc3.pdf"]:
|
|
45
|
+
reader = PdfReader(pdf_file)
|
|
46
|
+
for page in reader.pages:
|
|
47
|
+
writer.add_page(page)
|
|
48
|
+
|
|
49
|
+
with open("mesclado.pdf", "wb") as output:
|
|
50
|
+
writer.write(output)
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Dividir PDF
|
|
54
|
+
```python
|
|
55
|
+
reader = PdfReader("input.pdf")
|
|
56
|
+
for i, page in enumerate(reader.pages):
|
|
57
|
+
writer = PdfWriter()
|
|
58
|
+
writer.add_page(page)
|
|
59
|
+
with open(f"pagina_{i+1}.pdf", "wb") as output:
|
|
60
|
+
writer.write(output)
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### pdfplumber - Extrair Tabelas
|
|
64
|
+
```python
|
|
65
|
+
import pdfplumber
|
|
66
|
+
import pandas as pd
|
|
67
|
+
|
|
68
|
+
with pdfplumber.open("documento.pdf") as pdf:
|
|
69
|
+
all_tables = []
|
|
70
|
+
for page in pdf.pages:
|
|
71
|
+
tables = page.extract_tables()
|
|
72
|
+
for table in tables:
|
|
73
|
+
if table:
|
|
74
|
+
df = pd.DataFrame(table[1:], columns=table[0])
|
|
75
|
+
all_tables.append(df)
|
|
76
|
+
|
|
77
|
+
if all_tables:
|
|
78
|
+
combined_df = pd.concat(all_tables, ignore_index=True)
|
|
79
|
+
combined_df.to_excel("tabelas.xlsx", index=False)
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### reportlab - Criar PDFs
|
|
83
|
+
```python
|
|
84
|
+
from reportlab.lib.pagesizes import letter
|
|
85
|
+
from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer
|
|
86
|
+
from reportlab.lib.styles import getSampleStyleSheet
|
|
87
|
+
|
|
88
|
+
doc = SimpleDocTemplate("relatorio.pdf", pagesize=letter)
|
|
89
|
+
styles = getSampleStyleSheet()
|
|
90
|
+
story = []
|
|
91
|
+
|
|
92
|
+
story.append(Paragraph("Titulo", styles['Title']))
|
|
93
|
+
story.append(Spacer(1, 12))
|
|
94
|
+
story.append(Paragraph("Conteudo aqui...", styles['Normal']))
|
|
95
|
+
|
|
96
|
+
doc.build(story)
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Comandos CLI
|
|
100
|
+
|
|
101
|
+
### pdftotext (poppler-utils)
|
|
102
|
+
```bash
|
|
103
|
+
pdftotext input.pdf output.txt
|
|
104
|
+
pdftotext -layout input.pdf output.txt # Preserva layout
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### qpdf
|
|
108
|
+
```bash
|
|
109
|
+
qpdf --empty --pages file1.pdf file2.pdf -- merged.pdf # Mesclar
|
|
110
|
+
qpdf input.pdf --pages . 1-5 -- pages1-5.pdf # Extrair paginas
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Quick Reference
|
|
114
|
+
|
|
115
|
+
| Tarefa | Biblioteca | Codigo |
|
|
116
|
+
|--------|------------|--------|
|
|
117
|
+
| Mesclar PDFs | pypdf | `writer.add_page(page)` |
|
|
118
|
+
| Extrair texto | pdfplumber | `page.extract_text()` |
|
|
119
|
+
| Extrair tabelas | pdfplumber | `page.extract_tables()` |
|
|
120
|
+
| Criar PDFs | reportlab | Canvas ou Platypus |
|
|
121
|
+
| OCR | pytesseract | Converter para imagem primeiro |
|
|
122
|
+
| Formularios | pypdf/pdf-lib | Ver forms.md |
|
|
123
|
+
|
|
124
|
+
## Dependencias
|
|
125
|
+
```bash
|
|
126
|
+
pip install pypdf pdfplumber reportlab pytesseract pdf2image
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## Tasks Relacionadas
|
|
130
|
+
- task:extrair-dados-pdf
|
|
131
|
+
- task:gerar-relatorio-pdf
|
|
132
|
+
|
|
133
|
+
## Workflows
|
|
134
|
+
- workflow:processar-documentos
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# Skill: /pptx
|
|
2
|
+
|
|
3
|
+
## Metadata
|
|
4
|
+
- **Nome**: PowerPoint Processing
|
|
5
|
+
- **Comando**: /pptx
|
|
6
|
+
- **Agente**: @dev
|
|
7
|
+
- **Categoria**: documents
|
|
8
|
+
- **Versao**: 2.0
|
|
9
|
+
|
|
10
|
+
## Descricao
|
|
11
|
+
Criacao, edicao e analise de apresentacoes PowerPoint com suporte a layouts, comentarios, notas do apresentador e temas.
|
|
12
|
+
|
|
13
|
+
## Quando Usar
|
|
14
|
+
- Criar novas apresentacoes
|
|
15
|
+
- Modificar/editar slides
|
|
16
|
+
- Trabalhar com layouts
|
|
17
|
+
- Adicionar comentarios ou notas
|
|
18
|
+
- Extrair conteudo de apresentacoes
|
|
19
|
+
|
|
20
|
+
## Extracao de Texto
|
|
21
|
+
```bash
|
|
22
|
+
python -m markitdown apresentacao.pptx
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Estrutura de Arquivos PPTX
|
|
26
|
+
|
|
27
|
+
| Arquivo | Conteudo |
|
|
28
|
+
|---------|----------|
|
|
29
|
+
| `ppt/presentation.xml` | Metadata e referencias |
|
|
30
|
+
| `ppt/slides/slide{N}.xml` | Conteudo dos slides |
|
|
31
|
+
| `ppt/notesSlides/` | Notas do apresentador |
|
|
32
|
+
| `ppt/comments/` | Comentarios |
|
|
33
|
+
| `ppt/slideLayouts/` | Templates de layout |
|
|
34
|
+
| `ppt/slideMasters/` | Master slides |
|
|
35
|
+
| `ppt/theme/` | Tema e estilos |
|
|
36
|
+
| `ppt/media/` | Imagens e midia |
|
|
37
|
+
|
|
38
|
+
## Criar Apresentacao (html2pptx)
|
|
39
|
+
|
|
40
|
+
### Design Principles
|
|
41
|
+
1. **Considerar o assunto**: Tom, industria, mood
|
|
42
|
+
2. **Branding**: Cores da empresa/organizacao
|
|
43
|
+
3. **Paleta contextual**: Cores que refletem o tema
|
|
44
|
+
4. **Declarar abordagem**: Explicar escolhas antes do codigo
|
|
45
|
+
|
|
46
|
+
### Workflow
|
|
47
|
+
1. Ler `html2pptx.md` completamente
|
|
48
|
+
2. Criar HTML para cada slide (720pt x 405pt para 16:9)
|
|
49
|
+
3. Usar JavaScript com `html2pptx.js`
|
|
50
|
+
4. Validar visualmente com thumbnails
|
|
51
|
+
|
|
52
|
+
### Paletas de Cores (Exemplos)
|
|
53
|
+
```
|
|
54
|
+
Classic Blue: #1C2833, #2E4053, #AAB7B8, #F4F6F6
|
|
55
|
+
Teal & Coral: #5EA8A7, #277884, #FE4447, #FFFFFF
|
|
56
|
+
Bold Red: #C0392B, #E74C3C, #F39C12, #F1C40F
|
|
57
|
+
Black & Gold: #BF9A4A, #000000, #F4F6F6
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Dicas de Layout
|
|
61
|
+
- **Duas colunas**: Header full-width, duas colunas abaixo
|
|
62
|
+
- **Full-slide**: Chart/tabela ocupando slide inteiro
|
|
63
|
+
- **NUNCA**: Empilhar verticalmente texto + chart
|
|
64
|
+
|
|
65
|
+
## Editar Apresentacao Existente
|
|
66
|
+
|
|
67
|
+
### Workflow
|
|
68
|
+
1. Desempacotar: `python ooxml/scripts/unpack.py apresentacao.pptx diretorio`
|
|
69
|
+
2. Editar XMLs em `ppt/slides/`
|
|
70
|
+
3. Validar: `python ooxml/scripts/validate.py diretorio --original apresentacao.pptx`
|
|
71
|
+
4. Reempacotar: `python ooxml/scripts/pack.py diretorio output.pptx`
|
|
72
|
+
|
|
73
|
+
## Usar Template Existente
|
|
74
|
+
|
|
75
|
+
### Workflow
|
|
76
|
+
1. Extrair texto e criar thumbnails
|
|
77
|
+
2. Analisar template e criar inventario
|
|
78
|
+
3. Criar outline com mapeamento de slides
|
|
79
|
+
4. Reordenar slides: `python scripts/rearrange.py template.pptx working.pptx 0,34,34,50`
|
|
80
|
+
5. Extrair inventario: `python scripts/inventory.py working.pptx inventory.json`
|
|
81
|
+
6. Gerar JSON de substituicao
|
|
82
|
+
7. Aplicar: `python scripts/replace.py working.pptx replacement.json output.pptx`
|
|
83
|
+
|
|
84
|
+
## Criar Thumbnails
|
|
85
|
+
```bash
|
|
86
|
+
python scripts/thumbnail.py template.pptx [output_prefix]
|
|
87
|
+
# Opcoes: --cols 4 (3-6)
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Converter para Imagens
|
|
91
|
+
```bash
|
|
92
|
+
# PPTX → PDF
|
|
93
|
+
soffice --headless --convert-to pdf apresentacao.pptx
|
|
94
|
+
|
|
95
|
+
# PDF → JPEG
|
|
96
|
+
pdftoppm -jpeg -r 150 apresentacao.pdf slide
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Dependencias
|
|
100
|
+
```bash
|
|
101
|
+
# Python
|
|
102
|
+
pip install markitdown defusedxml
|
|
103
|
+
|
|
104
|
+
# Node
|
|
105
|
+
npm install pptxgenjs playwright react-icons sharp
|
|
106
|
+
|
|
107
|
+
# Sistema
|
|
108
|
+
sudo apt-get install libreoffice poppler-utils
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## Tasks Relacionadas
|
|
112
|
+
- task:criar-apresentacao
|
|
113
|
+
- task:gerar-slides-dados
|
|
114
|
+
- task:adaptar-template
|
|
115
|
+
|
|
116
|
+
## Workflows
|
|
117
|
+
- workflow:criar-pitch-deck
|
|
118
|
+
- workflow:relatorio-visual
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
# Skill: /xlsx
|
|
2
|
+
|
|
3
|
+
## Metadata
|
|
4
|
+
- **Nome**: Excel/Spreadsheet Processing
|
|
5
|
+
- **Comando**: /xlsx
|
|
6
|
+
- **Agente**: @dev
|
|
7
|
+
- **Categoria**: documents
|
|
8
|
+
- **Versao**: 2.0
|
|
9
|
+
|
|
10
|
+
## Descricao
|
|
11
|
+
Criacao, edicao e analise de planilhas com suporte a formulas, formatacao, analise de dados e visualizacao.
|
|
12
|
+
|
|
13
|
+
## Quando Usar
|
|
14
|
+
- Criar planilhas com formulas
|
|
15
|
+
- Ler e analisar dados
|
|
16
|
+
- Modificar planilhas preservando formulas
|
|
17
|
+
- Analise e visualizacao de dados
|
|
18
|
+
- Recalcular formulas
|
|
19
|
+
|
|
20
|
+
## Requisitos de Qualidade
|
|
21
|
+
|
|
22
|
+
### Zero Erros de Formula
|
|
23
|
+
Todo arquivo Excel deve ter ZERO erros (#REF!, #DIV/0!, #VALUE!, #N/A, #NAME?)
|
|
24
|
+
|
|
25
|
+
### Cores Padrao (Modelos Financeiros)
|
|
26
|
+
- **Texto azul**: Inputs hardcoded
|
|
27
|
+
- **Texto preto**: TODAS as formulas
|
|
28
|
+
- **Texto verde**: Links de outras abas
|
|
29
|
+
- **Texto vermelho**: Links externos
|
|
30
|
+
- **Fundo amarelo**: Assumpcoes importantes
|
|
31
|
+
|
|
32
|
+
## Pandas - Analise de Dados
|
|
33
|
+
```python
|
|
34
|
+
import pandas as pd
|
|
35
|
+
|
|
36
|
+
# Ler Excel
|
|
37
|
+
df = pd.read_excel('arquivo.xlsx')
|
|
38
|
+
all_sheets = pd.read_excel('arquivo.xlsx', sheet_name=None) # Todas as abas
|
|
39
|
+
|
|
40
|
+
# Analisar
|
|
41
|
+
df.head() # Preview
|
|
42
|
+
df.info() # Info das colunas
|
|
43
|
+
df.describe() # Estatisticas
|
|
44
|
+
|
|
45
|
+
# Escrever
|
|
46
|
+
df.to_excel('output.xlsx', index=False)
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## OpenPyXL - Formulas e Formatacao
|
|
50
|
+
|
|
51
|
+
### Criar Arquivo
|
|
52
|
+
```python
|
|
53
|
+
from openpyxl import Workbook
|
|
54
|
+
from openpyxl.styles import Font, PatternFill, Alignment
|
|
55
|
+
|
|
56
|
+
wb = Workbook()
|
|
57
|
+
sheet = wb.active
|
|
58
|
+
|
|
59
|
+
# Adicionar dados
|
|
60
|
+
sheet['A1'] = 'Produto'
|
|
61
|
+
sheet['B1'] = 'Valor'
|
|
62
|
+
sheet.append(['Item 1', 100])
|
|
63
|
+
sheet.append(['Item 2', 200])
|
|
64
|
+
|
|
65
|
+
# Formula (NUNCA hardcodar valores calculados)
|
|
66
|
+
sheet['B4'] = '=SUM(B2:B3)'
|
|
67
|
+
|
|
68
|
+
# Formatacao
|
|
69
|
+
sheet['A1'].font = Font(bold=True)
|
|
70
|
+
sheet['A1'].fill = PatternFill('solid', start_color='FFFF00')
|
|
71
|
+
sheet.column_dimensions['A'].width = 20
|
|
72
|
+
|
|
73
|
+
wb.save('output.xlsx')
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Editar Arquivo Existente
|
|
77
|
+
```python
|
|
78
|
+
from openpyxl import load_workbook
|
|
79
|
+
|
|
80
|
+
wb = load_workbook('existente.xlsx')
|
|
81
|
+
sheet = wb.active
|
|
82
|
+
|
|
83
|
+
# Modificar
|
|
84
|
+
sheet['A1'] = 'Novo Valor'
|
|
85
|
+
sheet.insert_rows(2)
|
|
86
|
+
|
|
87
|
+
wb.save('modificado.xlsx')
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## REGRA CRITICA: Usar Formulas
|
|
91
|
+
|
|
92
|
+
### ERRADO - Hardcodar valores
|
|
93
|
+
```python
|
|
94
|
+
total = df['Sales'].sum()
|
|
95
|
+
sheet['B10'] = total # Hardcoda 5000
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### CORRETO - Usar formulas Excel
|
|
99
|
+
```python
|
|
100
|
+
sheet['B10'] = '=SUM(B2:B9)'
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Recalcular Formulas
|
|
104
|
+
```bash
|
|
105
|
+
python recalc.py output.xlsx
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
O script:
|
|
109
|
+
- Usa LibreOffice para recalcular
|
|
110
|
+
- Escaneia TODAS as celulas por erros
|
|
111
|
+
- Retorna JSON com erros detalhados
|
|
112
|
+
|
|
113
|
+
## Formatacao de Numeros
|
|
114
|
+
|
|
115
|
+
| Tipo | Formato |
|
|
116
|
+
|------|---------|
|
|
117
|
+
| Anos | Texto ("2024") |
|
|
118
|
+
| Moeda | $#,##0 |
|
|
119
|
+
| Percentual | 0.0% |
|
|
120
|
+
| Multiplos | 0.0x |
|
|
121
|
+
| Negativos | Parenteses (123) |
|
|
122
|
+
|
|
123
|
+
## Best Practices
|
|
124
|
+
- **pandas**: Analise de dados, operacoes bulk
|
|
125
|
+
- **openpyxl**: Formatacao complexa, formulas
|
|
126
|
+
- Indices sao 1-based (row=1, column=1 = A1)
|
|
127
|
+
- `data_only=True` le valores calculados (perde formulas se salvar)
|
|
128
|
+
|
|
129
|
+
## Dependencias
|
|
130
|
+
```bash
|
|
131
|
+
pip install pandas openpyxl
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
## Tasks Relacionadas
|
|
135
|
+
- task:criar-relatorio-excel
|
|
136
|
+
- task:analisar-dados
|
|
137
|
+
|
|
138
|
+
## Workflows
|
|
139
|
+
- workflow:processar-dados
|
|
140
|
+
- workflow:gerar-relatorios
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
=== @analyst — Ana, Analista de Negócios ===
|
|
2
|
+
PAPEL: Coleta e documenta requisitos. Entrega BRIEFING.md para @pm.
|
|
3
|
+
AUTORIDADE: briefing, pesquisa, análise de negócio, mapeamento de requisitos.
|
|
4
|
+
GIT: APENAS leitura (status, log, diff).
|
|
5
|
+
ENTREGA: docs/[projeto]/BRIEFING.md
|
|
6
|
+
ESCALA PARA: @pm (mudança de escopo) | @architect (dúvidas técnicas)
|
|
7
|
+
PRINCÍPIO: Nunca inventar requisitos. Questionar o "por quê" sempre.
|
|
8
|
+
COMMANDS: *briefing *pesquisa *análise *validar
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
=== @architect — Arqui, Arquiteta de Sistemas ===
|
|
2
|
+
PAPEL: Decisões arquiteturais, seleção de stack, VETO técnico irrevogável.
|
|
3
|
+
AUTORIDADE EXCLUSIVA: Arquitetura, seleção de tecnologia, ADRs, SPEC-TECNICO.
|
|
4
|
+
GIT: APENAS leitura.
|
|
5
|
+
ENTREGAS: docs/[projeto]/SPEC-TECNICO.md | docs/[projeto]/adrs/ADR-*.md
|
|
6
|
+
VETO: Pode bloquear qualquer decisão técnica.
|
|
7
|
+
PRINCÍPIO: Arquitetura antes do código. Zero coupling desnecessário.
|
|
8
|
+
COMMANDS: *spec *arquitetura *adr *veto *tech-stack
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
=== @dev — Dev, Desenvolvedor Full Stack ===
|
|
2
|
+
PAPEL: Implementação de código conforme SPEC aprovado por @architect.
|
|
3
|
+
AUTORIDADE: Implementação, testes unitários, refatoração.
|
|
4
|
+
GIT: checkout, add, commit. NUNCA push (Artigo II — BLOQUEIO).
|
|
5
|
+
ENTREGAS: Código em src/ | Testes em tests/
|
|
6
|
+
ESCALA PARA: @devops (push/PR) | @architect (dúvida arquitetural) | @qa (revisão)
|
|
7
|
+
PRINCÍPIO: Story aprovada por @po antes de codar. Sem invenção de features.
|
|
8
|
+
COMMANDS: *implementar *testar *refatorar *debug
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
=== @devops — Gate, Engenheiro DevOps ===
|
|
2
|
+
PAPEL: git push, PR, releases, CI/CD, infraestrutura, configuração MCP.
|
|
3
|
+
AUTORIDADE EXCLUSIVA: git push, git push --force (só main emergência), PR, release, MCP add/remove.
|
|
4
|
+
GIT: TUDO — único agente com permissão de push.
|
|
5
|
+
ENTREGAS: PR criado | Deploy realizado | CI/CD configurado
|
|
6
|
+
ESCALA PARA: @architect (decisões de infra) | @pm (aprovação de release)
|
|
7
|
+
PRINCÍPIO: Nada vai para produção sem aprovação de @pm.
|
|
8
|
+
COMMANDS: *push *pr *release *deploy *mcp-add *ci
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
=== @pm — Marina, Product Manager ===
|
|
2
|
+
PAPEL: PRD, escopo, priorização, gestão de stakeholders, épicos.
|
|
3
|
+
AUTORIDADE: PRD.md, COMERCIAL.md, épicos, priorização de backlog.
|
|
4
|
+
GIT: APENAS leitura.
|
|
5
|
+
ENTREGAS: docs/[projeto]/PRD.md | docs/[projeto]/COMERCIAL.md
|
|
6
|
+
ESCALA PARA: @architect (decisões técnicas) | @po (validação de stories)
|
|
7
|
+
PRINCÍPIO: Qualidade sobre velocidade. Zero ambiguidade em requisitos.
|
|
8
|
+
COMMANDS: *prd *épico *priorizar *comercial *roadmap
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
=== @po — Pax, Product Owner ===
|
|
2
|
+
PAPEL: Validação de stories (10-point checklist), gestão de backlog, épico context.
|
|
3
|
+
AUTORIDADE EXCLUSIVA: Aprovar stories para desenvolvimento.
|
|
4
|
+
GIT: APENAS leitura.
|
|
5
|
+
ENTREGAS: Stories validadas | Backlog priorizado
|
|
6
|
+
PRINCÍPIO: Story sem acceptance criteria claros = REJEITADA.
|
|
7
|
+
COMMANDS: *validar-story *backlog *priorizar *épico-context
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
=== @qa — Quinn, QA Engineer ===
|
|
2
|
+
PAPEL: Veredictos de qualidade, design de testes, validação de acceptance criteria.
|
|
3
|
+
AUTORIDADE: Aprovação/rejeição de entregas. Ninguém passa para Done sem Quinn.
|
|
4
|
+
GIT: leitura + git stash.
|
|
5
|
+
ENTREGAS: Relatório QA | Casos de teste | Aprovação formal
|
|
6
|
+
QA LOOP: Máximo 5 iterações com @dev.
|
|
7
|
+
PRINCÍPIO: Zero bugs críticos antes de aprovar. Qualidade é inegociável.
|
|
8
|
+
COMMANDS: *revisar *testar *qa-report *aprovar *rejeitar
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
=== @reviewer — Rev, Code Reviewer ===
|
|
2
|
+
PAPEL: Code review, padrões de código, aprovação técnica do código.
|
|
3
|
+
AUTORIDADE: Aprovar ou rejeitar código para merge.
|
|
4
|
+
GIT: APENAS leitura.
|
|
5
|
+
ENTREGAS: Aprovação com comentários | Lista de issues
|
|
6
|
+
PRINCÍPIO: Clean code sempre. Nenhum code vai para main sem review.
|
|
7
|
+
COMMANDS: *review *aprovar *rejeitar *sugerir
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
=== @sm — Sami, Scrum Master ===
|
|
2
|
+
PAPEL: Criação de stories, gestão de sprint, remoção de blockers.
|
|
3
|
+
AUTORIDADE EXCLUSIVA: Criar stories no formato correto.
|
|
4
|
+
GIT: APENAS leitura.
|
|
5
|
+
ENTREGAS: STORY-NNN-slug.md | Sprint backlog
|
|
6
|
+
PRINCÍPIO: Toda story tem acceptance criteria antes de ir para @po.
|
|
7
|
+
COMMANDS: *story *sprint *blocker *planning *retrospectiva
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
=== CONSTITUIÇÃO GEN.IA OS ===
|
|
2
|
+
ART I (BLOQUEIO): CLI First — Claude Code é fonte de verdade.
|
|
3
|
+
ART II (BLOQUEIO): Autoridade — @devops é ÚNICO com push/PR. @architect tem veto técnico. @sm é ÚNICO que cria stories.
|
|
4
|
+
ART III (OBRIG): Story-Driven — Zero código sem story aprovada por @po.
|
|
5
|
+
ART IV (OBRIG): Sem Invenção — Apenas features dos requisitos explícitos.
|
|
6
|
+
ART V (OBRIG): Qualidade — lint + testes + build devem passar.
|
|
7
|
+
ART VI (INFO): Imports absolutos com @/.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
=== CONTEXTO DO PROJETO ===
|
|
2
|
+
Sistema: GEN.IA OS — Framework de desenvolvimento assistido por IA
|
|
3
|
+
Marca: {{TEAM_NAME}}
|
|
4
|
+
Criadora: {{CREATOR_NAME}}
|
|
5
|
+
Agentes: analyst(Ana), pm(Marina), architect(Arqui), dev(Dev), devops(Gate), qa(Quinn), reviewer(Rev), po(Pax), sm(Sami)
|
|
6
|
+
Workflows: spec-pipeline, story-development-cycle, qa-loop, greenfield, brownfield, planning, development, delivery
|
|
7
|
+
Contextos disponíveis: {{CONTEXTS}}
|
|
8
|
+
Skills disponíveis: /pdf /xlsx /docx /pptx /frontend-design /canvas-design /mcp-builder /webapp-testing
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
=== REGRAS GLOBAIS GEN.IA OS ===
|
|
2
|
+
IDIOMA: Sempre responder em Português do Brasil.
|
|
3
|
+
IDENTIDADE: {{TEAM_NAME}} | {{CREATOR_NAME}} | GEN.IA OS v1.0
|
|
4
|
+
MEMORY: Ler .claude/agent-memory/[agente]/MEMORY.md ao ativar agente.
|
|
5
|
+
HANDOFF: Ao transferir agente, usar formato de handoff (≤400 tokens).
|
|
6
|
+
IDS: REUSAR > ADAPTAR > CRIAR — verificar antes de criar novo artefato.
|
|
7
|
+
DOCS: PRD em docs/[projeto]/PRD.md | SPEC em docs/[projeto]/SPEC-TECNICO.md | Stories em docs/stories/
|
|
8
|
+
COMMITS: formato "tipo(escopo): descricao" | Co-Authored-By: GEN.IA OS <genia@bedata.com.br>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# GEN.IA OS — Synapse Manifest
|
|
2
|
+
# Formato: nome=caminho_relativo_ao_projeto
|
|
3
|
+
constitution=.synapse/constitution
|
|
4
|
+
global=.synapse/global
|
|
5
|
+
context=.synapse/context
|
|
6
|
+
agent-analyst=.synapse/agent-analyst
|
|
7
|
+
agent-pm=.synapse/agent-pm
|
|
8
|
+
agent-architect=.synapse/agent-architect
|
|
9
|
+
agent-dev=.synapse/agent-dev
|
|
10
|
+
agent-devops=.synapse/agent-devops
|
|
11
|
+
agent-qa=.synapse/agent-qa
|
|
12
|
+
agent-reviewer=.synapse/agent-reviewer
|
|
13
|
+
agent-po=.synapse/agent-po
|
|
14
|
+
agent-sm=.synapse/agent-sm
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# {{PROJECT_NAME}}
|
|
2
|
+
|
|
3
|
+
> Powered by **GEN.IA OS** — Sistema operacional de desenvolvimento com IA
|
|
4
|
+
|
|
5
|
+
## Setup
|
|
6
|
+
|
|
7
|
+
Este projeto usa o [GEN.IA OS](https://github.com/elidyizzy/GENIA-SQUAD-OS) com Claude Code.
|
|
8
|
+
|
|
9
|
+
### Pré-requisitos
|
|
10
|
+
|
|
11
|
+
- [Claude Code](https://claude.ai/code) instalado
|
|
12
|
+
- Node.js 18+
|
|
13
|
+
- Python 3.10+
|
|
14
|
+
- Git
|
|
15
|
+
|
|
16
|
+
### Como usar
|
|
17
|
+
|
|
18
|
+
Abra o projeto no VS Code com Claude Code e chame um agente:
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
@sm crie a primeira story do projeto
|
|
22
|
+
@analyst faça um briefing sobre [funcionalidade]
|
|
23
|
+
@dev implemente a STORY-001
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Agentes disponíveis
|
|
27
|
+
|
|
28
|
+
| Agente | Nome | Papel |
|
|
29
|
+
|--------|------|-------|
|
|
30
|
+
| `@analyst` | Ana | Analista de Negócios |
|
|
31
|
+
| `@pm` | Marina | Product Manager |
|
|
32
|
+
| `@architect` | Arqui | Arquiteta de Sistemas |
|
|
33
|
+
| `@dev` | Dev | Desenvolvedor Full Stack |
|
|
34
|
+
| `@devops` | Gate | DevOps Engineer |
|
|
35
|
+
| `@qa` | Quinn | QA Engineer |
|
|
36
|
+
| `@reviewer` | Rev | Code Reviewer |
|
|
37
|
+
| `@po` | Pax | Product Owner |
|
|
38
|
+
| `@sm` | Sami | Scrum Master |
|
|
39
|
+
|
|
40
|
+
## Estrutura
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
{{PROJECT_NAME}}/
|
|
44
|
+
├── .claude/ ← Integração Claude Code
|
|
45
|
+
├── .genia/ ← Framework core
|
|
46
|
+
├── .synapse/ ← Runtime do Synapse Engine
|
|
47
|
+
├── docs/stories/ ← Stories do projeto
|
|
48
|
+
└── src/ ← Código-fonte
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
_Gerado com [create-genia-os](https://github.com/elidyizzy/GENIA-SQUAD-OS) — {{SETUP_DATE}}_
|