jarvis-ai-framework 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/AGENTS.md +416 -0
- package/LICENSE +21 -0
- package/README.md +190 -0
- package/agents/AGENTS.md +234 -0
- package/agents/README.md +309 -0
- package/agents/engineering/data/eng.data-engineer.agent.md +309 -0
- package/agents/engineering/eng.agent.md +303 -0
- package/agents/engineering/eng.bug-hunter.md +386 -0
- package/agents/engineering/eng.cybersecurity.agent.md +503 -0
- package/agents/engineering/eng.dev-code-reviewer.md +148 -0
- package/agents/engineering/eng.docs-writer.md +152 -0
- package/agents/engineering/eng.frontend.agent.md +117 -0
- package/agents/engineering/eng.rpa.agent.md +215 -0
- package/agents/engineering/eng.tech-analyst.agent.md +102 -0
- package/agents/engineering/eng.ux-designer.agent.md +193 -0
- package/agents/engineering/qa/eng.qa.cypress-specialist.md +109 -0
- package/agents/engineering/qa/eng.qa.quality-champion-task-agent.md +85 -0
- package/agents/engineering/qa/eng.qa.quality-strategist.md +111 -0
- package/agents/engineering/qa/eng.qa.test-architect.md +400 -0
- package/agents/engineering/qa/eng.qa.test-planner.md +477 -0
- package/agents/engineering/qa/eng.qa.testing-engineer.md +339 -0
- package/agents/product/prod.pm-checker.md +52 -0
- package/bin/commands/docs-publish.js +184 -0
- package/bin/commands/docs-sync.js +139 -0
- package/bin/commands/info.js +87 -0
- package/bin/commands/init.js +237 -0
- package/bin/commands/install-rtk.js +90 -0
- package/bin/commands/list.js +48 -0
- package/bin/commands/qa-signoff.js +112 -0
- package/bin/commands/whoami.js +43 -0
- package/bin/jarvis.js +159 -0
- package/bin/lib/auth/session.js +56 -0
- package/bin/lib/config/constants.js +123 -0
- package/bin/lib/config/ide-config.js +233 -0
- package/bin/lib/core/scanner.js +124 -0
- package/bin/lib/core/sync-engine.js +551 -0
- package/bin/lib/docs/fetch-file.sh +41 -0
- package/bin/lib/docs/publish-file.sh +284 -0
- package/bin/lib/docs/validate-frontmatter.js +157 -0
- package/bin/lib/env-loader.js +198 -0
- package/bin/lib/tasks/comment.js +131 -0
- package/bin/lib/utils/git-parser.js +145 -0
- package/bin/lib/utils/logger.js +104 -0
- package/bin/lib/utils/npmrc-parser.js +106 -0
- package/bin/lib/utils/paths.js +55 -0
- package/bin/lib/utils/ui.js +59 -0
- package/bin/lib/vcs/api.js +312 -0
- package/bin/lib/vcs/create-issue.js +43 -0
- package/bin/lib/vcs/create-merge.js +43 -0
- package/bin/lib/vcs/fetch-raw.js +30 -0
- package/bin/postinstall.js +41 -0
- package/members.md +25 -0
- package/package.json +55 -0
- package/rules/AGENTS.md +205 -0
- package/rules/engineering/data/data-rules.md +200 -0
- package/rules/engineering/eng-rules.md +243 -0
- package/rules/engineering/eng-security-rules.md +186 -0
- package/rules/engineering/eng.breakdown-subtasks-rules.md +585 -0
- package/rules/engineering/eng.bump-rules.md +27 -0
- package/rules/engineering/eng.docs-scraping-rules.md +64 -0
- package/rules/engineering/eng.downstream-flow-rules.md +297 -0
- package/rules/engineering/eng.integrations-rules.md +73 -0
- package/rules/engineering/eng.plan-rules.md +333 -0
- package/rules/engineering/eng.pr-rules.md +359 -0
- package/rules/engineering/eng.pre-pr-rules.md +103 -0
- package/rules/engineering/eng.start-rules.md +246 -0
- package/rules/engineering/eng.tech-spec-rules.md +968 -0
- package/rules/engineering/eng.work-rules.md +312 -0
- package/rules/engineering/frontend/eng.frontend-rules.md +147 -0
- package/rules/engineering/qa/eng.qa.cypress-standards-rules.md +259 -0
- package/rules/engineering/qa/eng.qa.exploratory-session-rules.md +137 -0
- package/rules/engineering/qa/eng.qa.quality-gate-scoring-rules.md +181 -0
- package/rules/engineering/qa/eng.qa.tech-spec-validation-criteria-rules.md +120 -0
- package/rules/engineering/rpa/eng.rpa-rules.md +230 -0
- package/rules/product/README.md +24 -0
- package/rules/product/prod-rules.md +151 -0
- package/rules/rtk-rules.md +68 -0
- package/skills/AGENTS.md +290 -0
- package/skills/SKILLS-ROADMAP.md +333 -0
- package/skills/churn-audit/SKILL.md +385 -0
- package/skills/context-detect/SKILL.md +399 -0
- package/skills/context-detect/assets/context-profile-template.md +127 -0
- package/skills/docs-central/README.md +310 -0
- package/skills/docs-central/SKILL.md +423 -0
- package/skills/docs-index/SKILL.md +377 -0
- package/skills/eng-ai-engineer/SKILL.md +296 -0
- package/skills/eng-arch-c4/SKILL.md +358 -0
- package/skills/eng-arch-c4/assets/example-code.md +189 -0
- package/skills/eng-arch-c4/assets/example-component.md +105 -0
- package/skills/eng-arch-c4/assets/example-container.md +104 -0
- package/skills/eng-arch-c4/assets/example-context.md +81 -0
- package/skills/eng-backend/SKILL.md +776 -0
- package/skills/eng-browser-extension-builder/SKILL.md +385 -0
- package/skills/eng-cybersecurity/SKILL.md +645 -0
- package/skills/eng-data-bi/SKILL.md +199 -0
- package/skills/eng-data-debug/SKILL.md +307 -0
- package/skills/eng-data-engineer/SKILL.md +256 -0
- package/skills/eng-data-onboard/SKILL.md +310 -0
- package/skills/eng-data-orchestrator/SKILL.md +426 -0
- package/skills/eng-design-system/SKILL.md +619 -0
- package/skills/eng-docs-write/SKILL.md +312 -0
- package/skills/eng-frontend/SKILL.md +913 -0
- package/skills/eng-jira-comment/SKILL.md +17 -0
- package/skills/eng-microfrontend/SKILL.md +602 -0
- package/skills/eng-ms-trace/SKILL.md +469 -0
- package/skills/eng-nestjs/SKILL.md +791 -0
- package/skills/eng-performance-engineer/SKILL.md +312 -0
- package/skills/eng-pr/SKILL.md +339 -0
- package/skills/eng-qa-a11y-audit/SKILL.md +269 -0
- package/skills/eng-qa-bug-report/SKILL.md +1088 -0
- package/skills/eng-qa-bug-report/TASK_MANAGERS.md +138 -0
- package/skills/eng-qa-cypress-e2e/SKILL.md +177 -0
- package/skills/eng-qa-dev-guide/SKILL.md +164 -0
- package/skills/eng-qa-e2e/SKILL.md +400 -0
- package/skills/eng-qa-e2e-spec-writer/SKILL.md +322 -0
- package/skills/eng-qa-exploratory/SKILL.md +188 -0
- package/skills/eng-qa-gate/SKILL.md +370 -0
- package/skills/eng-qa-gate/assets/checklist-validacao.md +291 -0
- package/skills/eng-qa-graphql-contract/SKILL.md +256 -0
- package/skills/eng-qa-quality-report/SKILL.md +412 -0
- package/skills/eng-qa-test-plan/SKILL.md +466 -0
- package/skills/eng-qa-test-plan/assets/test-coverage-template.md +92 -0
- package/skills/eng-qa-test-plan/assets/test-patterns.md +178 -0
- package/skills/eng-qa-testsprite/SKILL.md +325 -0
- package/skills/eng-qa-testsprite/references/testsprite-mcp.md +224 -0
- package/skills/eng-qa-unit-test/SKILL.md +471 -0
- package/skills/eng-rabbitmq/SKILL.md +661 -0
- package/skills/eng-scraper/SKILL.md +683 -0
- package/skills/eng-scraper-robot-builder/SKILL.md +370 -0
- package/skills/eng-security-patch/SKILL.md +378 -0
- package/skills/eng-security-triage/SKILL.md +266 -0
- package/skills/eng-task-comment/SKILL.md +60 -0
- package/skills/eng-tech-analyst/SKILL.md +529 -0
- package/skills/eng-threat-model/SKILL.md +161 -0
- package/skills/init-jarvis/SKILL.md +1304 -0
- package/skills/init-jarvis/assets/mcp-configs.md +389 -0
- package/skills/init-jarvis/assets/onboarding-checklist.md +104 -0
- package/skills/init-jarvis/assets/setup-guide.md +360 -0
- package/skills/lovable-prompt-generator/SKILL.md +304 -0
- package/skills/prod-roadmap-report/README.md +303 -0
- package/skills/prod-roadmap-report/SKILL.md +198 -0
- package/skills/prod-roadmap-report/commands/status.compiled.single.team.md +23 -0
- package/skills/prod-roadmap-report/commands/status.list.projects.md +17 -0
- package/skills/prod-roadmap-report/commands/status.memory.md +192 -0
- package/skills/prod-roadmap-report/commands/status.roadmap.preview.md +94 -0
- package/skills/prod-roadmap-report/references/detailed-guide.md +236 -0
- package/skills/prod-roadmap-report/rules/detailed-guide.md +237 -0
- package/skills/prod-roadmap-report/rules/status-report-rules.md +44 -0
- package/skills/prod-roadmap-report/templates/template-multiple-teams-compiled-status.md +53 -0
- package/skills/prod-roadmap-report/templates/template-projects-list.md +23 -0
- package/skills/prod-roadmap-report/templates/template-single-team-compiled-status.md +60 -0
- package/skills/prod-roadmap-report/templates/template-single-team-status.md +49 -0
- package/skills/prod-specs/SKILL.md +108 -0
- package/skills/prod-specs/references/prod.spec.clarify.md +176 -0
- package/skills/prod-specs/references/prod.spec.epic.md +107 -0
- package/skills/prod-specs/references/prod.spec.frd.md +135 -0
- package/skills/prod-specs/references/prod.spec.issue.md +145 -0
- package/skills/prod-specs/references/prod.spec.prd.md +118 -0
- package/skills/prod-specs/rules/prod-spec-rules.md +186 -0
- package/skills/prod-specs/templates/prod-breakdown-template.md +136 -0
- package/skills/prod-specs/templates/prod-epic-template.md +76 -0
- package/skills/prod-specs/templates/prod-frd-template.md +172 -0
- package/skills/prod-specs/templates/prod-issue-template.md +68 -0
- package/skills/prod-specs/templates/prod-prd-full-template.md +159 -0
- package/skills/prod-specs/templates/prod-prd-template.md +173 -0
- package/skills/prod-specs-update/SKILL.md +272 -0
- package/skills/report-issue/SKILL.md +156 -0
- package/taxonomy.md +270 -0
- package/templates/AGENTS.md +189 -0
- package/templates/CDD aplicado a Prompts.md +182 -0
- package/templates/ENV-template.md +187 -0
- package/templates/engineering/AGENTS-template.md +71 -0
- package/templates/engineering/ARD-template.md +193 -0
- package/templates/engineering/CONTACTS-template.md +135 -0
- package/templates/engineering/PR-template.md +40 -0
- package/templates/engineering/RFC-Playbook.md +325 -0
- package/templates/engineering/RFC-template.md +199 -0
- package/templates/engineering/architecture-template.md +277 -0
- package/templates/engineering/breakdown-subtasks-template.md +582 -0
- package/templates/engineering/c4-model-template.md +516 -0
- package/templates/engineering/data-contract-template.md +135 -0
- package/templates/engineering/data-pipeline-template.md +163 -0
- package/templates/engineering/plan-template.md +255 -0
- package/templates/engineering/qa/eng.qa.quality-gate-examples-template.md +311 -0
- package/templates/engineering/qa/eng.qa.quality-gate-report-template.md +249 -0
- package/templates/engineering/qa/qa.cypress-test-template.md +172 -0
- package/templates/engineering/qa/qa.exploratory-session-template.md +148 -0
- package/templates/engineering/qa/qa.quality-report-template.md +130 -0
- package/templates/engineering/qa/qa.release-signoff-template.md +54 -0
- package/templates/engineering/qa/qa.sprint-plan-template.md +49 -0
- package/templates/engineering/swagger-template.md +145 -0
- package/templates/engineering/tech-spec-template.md +497 -0
- package/templates/engineering/work-progress-template.md +155 -0
- package/workflows/AGENTS.md +240 -0
- package/workflows/README.md +160 -0
- package/workflows/all-tools.md +11 -0
- package/workflows/engineering/data/data.contract.md +202 -0
- package/workflows/engineering/data/data.new-pipeline.md +234 -0
- package/workflows/engineering/eng.breakdown-subtasks.md +420 -0
- package/workflows/engineering/eng.bug-audit.md +591 -0
- package/workflows/engineering/eng.build-tech-spec.md +1116 -0
- package/workflows/engineering/eng.create-ard-from-code.md +259 -0
- package/workflows/engineering/eng.create-ard.md +382 -0
- package/workflows/engineering/eng.create-rfc.md +245 -0
- package/workflows/engineering/eng.debug.md +479 -0
- package/workflows/engineering/eng.docs.md +40 -0
- package/workflows/engineering/eng.light-arch.md +84 -0
- package/workflows/engineering/eng.plan.md +213 -0
- package/workflows/engineering/eng.pr.md +466 -0
- package/workflows/engineering/eng.pre-pr.md +167 -0
- package/workflows/engineering/eng.review.md +185 -0
- package/workflows/engineering/eng.rpa.robot.md +342 -0
- package/workflows/engineering/eng.security-audit.md +312 -0
- package/workflows/engineering/eng.security-incident.md +275 -0
- package/workflows/engineering/eng.security-pipeline.md +210 -0
- package/workflows/engineering/eng.security-review.md +235 -0
- package/workflows/engineering/eng.start.md +494 -0
- package/workflows/engineering/eng.work.md +558 -0
- package/workflows/engineering/frontend/eng.frontend-component.md +190 -0
- package/workflows/engineering/frontend/eng.frontend-perf-audit.md +375 -0
- package/workflows/engineering/frontend/eng.frontend-review.md +185 -0
- package/workflows/engineering/qa/eng.qa-dev-quality-guide.md +51 -0
- package/workflows/engineering/qa/eng.qa-e2e-test-generation.md +51 -0
- package/workflows/engineering/qa/eng.qa-exploratory-session.md +60 -0
- package/workflows/engineering/qa/eng.qa-quality-gate-validation.md +202 -0
- package/workflows/engineering/qa/eng.qa-quality-report.md +83 -0
- package/workflows/engineering/qa/eng.qa-refinement-entry.md +83 -0
- package/workflows/engineering/qa/eng.qa-release-signoff.md +170 -0
- package/workflows/engineering/qa/eng.qa-sprint-planning.md +100 -0
- package/workflows/engineering/ta/eng.ta.atendimento.md +93 -0
- package/workflows/product/prod.roadmap.preview.md +110 -0
- package/workflows/product/prod.spec.breakdown.md +163 -0
- package/workflows/product/prod.spec.clarify.md +178 -0
- package/workflows/product/prod.spec.epic.md +154 -0
- package/workflows/product/prod.spec.frd.md +96 -0
- package/workflows/product/prod.spec.issue.md +145 -0
- package/workflows/product/prod.spec.md +60 -0
- package/workflows/product/prod.spec.prd.md +100 -0
- package/workflows/taxonomy.md +92 -0
- package/workflows/warm-up.md +574 -0
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: eng-arch-c4
|
|
3
|
+
description: Cria e mantém documentação de arquitetura usando C4 Model. Use quando precisar documentar sistemas com diagramas de Contexto, Container, Componente e Código.
|
|
4
|
+
argument-hint: "[nivel: context|container|component|code] [sistema-opcional]"
|
|
5
|
+
disable-model-invocation: false
|
|
6
|
+
allowed-tools: Read Write Edit Grep Glob Bash MCP
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Arch C4 - Documentação de Arquitetura
|
|
10
|
+
|
|
11
|
+
Você é um **especialista em documentação de arquitetura de software** usando o modelo C4 para criar "mapas do código" em diferentes níveis de abstração.
|
|
12
|
+
|
|
13
|
+
## Objetivo
|
|
14
|
+
|
|
15
|
+
Criar e manter documentação de arquitetura usando os 4 níveis do C4:
|
|
16
|
+
- **Context**: Visão geral do sistema e interações externas
|
|
17
|
+
- **Container**: Aplicações e datastores dentro do sistema
|
|
18
|
+
- **Component**: Componentes dentro de cada container
|
|
19
|
+
- **Code**: Detalhes de implementação (classes, interfaces) - raramente usado
|
|
20
|
+
|
|
21
|
+
> **Nota sobre Nível 4 (Code)**: Raramente documentado manualmente porque IDEs geram diagramas UML automaticamente, código muda rápido e o próprio código é a melhor documentação. Usar apenas para algoritmos complexos, padrões críticos ou código legado.
|
|
22
|
+
|
|
23
|
+
## Entrada
|
|
24
|
+
|
|
25
|
+
- `$ARGUMENTS` - Nível do diagrama (context, container, component, code) e opcionalmente o sistema
|
|
26
|
+
|
|
27
|
+
**Exemplos de uso:**
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
/arch-c4 context # Criar/Atualizar diagrama de contexto
|
|
31
|
+
/arch-c4 container # Criar/Atualizar diagrama de containers
|
|
32
|
+
/arch-c4 component api-backend # Detalhar componentes de um container
|
|
33
|
+
/arch-c4 code user-service # Diagrama de código (raro)
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Recursos
|
|
37
|
+
|
|
38
|
+
- **Script de detecção**: `$IDE/scripts/detect-stack.sh`
|
|
39
|
+
- **Template**: `$IDE/templates/engineering/c4-model-template.md`
|
|
40
|
+
- **Saída**: `$DOCS_FOLDER/engineering/c4/`
|
|
41
|
+
|
|
42
|
+
### Exemplos de Output
|
|
43
|
+
|
|
44
|
+
| Nível | Arquivo |
|
|
45
|
+
|-------|---------|
|
|
46
|
+
| Context | `$IDE/skills/eng-arch-c4/assets/example-context.md` |
|
|
47
|
+
| Container | `$IDE/skills/eng-arch-c4/assets/example-container.md` |
|
|
48
|
+
| Component | `$IDE/skills/eng-arch-c4/assets/example-component.md` |
|
|
49
|
+
| Code | `$IDE/skills/eng-arch-c4/assets/example-code.md` |
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Pré-requisito
|
|
54
|
+
|
|
55
|
+
**IMPORTANTE**: Antes de executar, verificar se o `ENV.md` existe e está configurado:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
cat $IDE/ENV.md 2>/dev/null || echo "⚠️ ENV.md não encontrado. Execute /init-jarvis primeiro."
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Hierarquia C4
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
Context -> Quem usa? Com quem integra?
|
|
67
|
+
| zoom
|
|
68
|
+
Container -> Quais apps, APIs, bancos?
|
|
69
|
+
| zoom
|
|
70
|
+
Component -> Quais módulos internos?
|
|
71
|
+
| zoom
|
|
72
|
+
Code -> Quais classes/interfaces críticas?
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Fluxo de Trabalho
|
|
78
|
+
|
|
79
|
+
### 1. Verificar Documentação Existente
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
ls -la $DOCS_FOLDER/engineering/c4/ 2>/dev/null || echo "Nenhum diagrama C4"
|
|
83
|
+
ls -la $DOCS_FOLDER/architecture/adr/ 2>/dev/null
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
**Se existirem diagramas**: ler antes de modificar, propor atualizações incrementais.
|
|
87
|
+
|
|
88
|
+
### 2. Detectar Stack e Padrões
|
|
89
|
+
|
|
90
|
+
Executar script de detecção:
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
bash $IDE/scripts/detect-stack.sh
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
O script detecta automaticamente:
|
|
97
|
+
- Linguagem e frameworks
|
|
98
|
+
- ORM e bancos de dados
|
|
99
|
+
- Mensageria e cache
|
|
100
|
+
- Padrão arquitetural (Clean, Hexagonal, DDD, MVC)
|
|
101
|
+
- Infraestrutura (Docker, CI/CD)
|
|
102
|
+
|
|
103
|
+
### 3. Propor Diagrama (antes de criar)
|
|
104
|
+
|
|
105
|
+
**IMPORTANTE**: Sempre apresentar proposta ao usuário antes de gerar o diagrama.
|
|
106
|
+
|
|
107
|
+
```markdown
|
|
108
|
+
## Proposta de Diagrama C4 - {Nível}
|
|
109
|
+
|
|
110
|
+
### Elementos Identificados
|
|
111
|
+
|
|
112
|
+
| Elemento | Tipo | Descrição |
|
|
113
|
+
|----------|------|-----------|
|
|
114
|
+
| {nome} | {Person/System/Container/Component} | {descrição} |
|
|
115
|
+
|
|
116
|
+
### Relacionamentos
|
|
117
|
+
|
|
118
|
+
| De | Para | Descrição |
|
|
119
|
+
|----|------|-----------|
|
|
120
|
+
| {origem} | {destino} | {ação} |
|
|
121
|
+
|
|
122
|
+
### Perguntas Pendentes
|
|
123
|
+
|
|
124
|
+
- [ ] {dúvida sobre o sistema que precisa ser esclarecida}
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
Posso prosseguir com a geração do diagrama?
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
> **Aguardar aprovação do usuário antes de gerar o diagrama.**
|
|
132
|
+
|
|
133
|
+
### 4. Criar/Atualizar Diagrama
|
|
134
|
+
|
|
135
|
+
| Nível | Quando Usar | Saída |
|
|
136
|
+
|-------|-------------|-------|
|
|
137
|
+
| Context | Primeiro diagrama, big picture | `01-context.md` |
|
|
138
|
+
| Container | Arquitetura de alto nível | `02-container.md` |
|
|
139
|
+
| Component | Detalhar um container | `03-component-{nome}.md` |
|
|
140
|
+
| Code | Componentes complexos (raro) | `04-code-{nome}.md` |
|
|
141
|
+
|
|
142
|
+
Ver templates em `$IDE/templates/engineering/c4-model-template.md`
|
|
143
|
+
|
|
144
|
+
### 5. Validar Diagrama
|
|
145
|
+
|
|
146
|
+
Após criar, verificar consistência:
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
# Comparar elementos do diagrama com código real
|
|
150
|
+
ls -d src/*/ 2>/dev/null
|
|
151
|
+
|
|
152
|
+
# Verificar se containers existem
|
|
153
|
+
cat docker-compose.yml 2>/dev/null | grep -E "^\s+\w+:"
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## Guia por Nível
|
|
159
|
+
|
|
160
|
+
### Context (Nível 1)
|
|
161
|
+
|
|
162
|
+
**Perguntas a responder:**
|
|
163
|
+
1. Quem são os usuários do sistema?
|
|
164
|
+
2. Com quais sistemas externos ele se comunica?
|
|
165
|
+
3. Qual o propósito principal do sistema?
|
|
166
|
+
|
|
167
|
+
**Checklist:**
|
|
168
|
+
- [ ] Sistema principal identificado
|
|
169
|
+
- [ ] Usuários/personas mapeados
|
|
170
|
+
- [ ] Sistemas externos identificados
|
|
171
|
+
- [ ] Propósito claro
|
|
172
|
+
|
|
173
|
+
### Container (Nível 2)
|
|
174
|
+
|
|
175
|
+
**Perguntas a responder:**
|
|
176
|
+
1. Quais aplicações compõem o sistema?
|
|
177
|
+
2. Quais bancos de dados são usados?
|
|
178
|
+
3. Como os containers se comunicam?
|
|
179
|
+
4. Há filas ou mensageria?
|
|
180
|
+
|
|
181
|
+
**Checklist:**
|
|
182
|
+
- [ ] Todos os containers identificados
|
|
183
|
+
- [ ] Tecnologias documentadas
|
|
184
|
+
- [ ] Comunicação clara
|
|
185
|
+
- [ ] Bancos e filas mapeados
|
|
186
|
+
|
|
187
|
+
### Component (Nível 3)
|
|
188
|
+
|
|
189
|
+
**Perguntas a responder:**
|
|
190
|
+
1. Quais são os principais módulos/serviços?
|
|
191
|
+
2. Como eles se relacionam?
|
|
192
|
+
3. Quais padrões são usados (MVC, Clean, Hexagonal)?
|
|
193
|
+
|
|
194
|
+
**Checklist:**
|
|
195
|
+
- [ ] Componentes principais identificados
|
|
196
|
+
- [ ] Responsabilidades claras
|
|
197
|
+
- [ ] Dependências mapeadas
|
|
198
|
+
|
|
199
|
+
### Code (Nível 4) - Raramente usado
|
|
200
|
+
|
|
201
|
+
**Perguntas a responder:**
|
|
202
|
+
1. Quais classes/interfaces são críticas?
|
|
203
|
+
2. Há algoritmos complexos que precisam ser documentados?
|
|
204
|
+
3. Existem padrões de design importantes (Factory, Strategy)?
|
|
205
|
+
|
|
206
|
+
**Quando usar:** Apenas para algoritmos complexos, padrões críticos ou código legado difícil de entender.
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
## Formato do Documento
|
|
211
|
+
|
|
212
|
+
```markdown
|
|
213
|
+
# {Nível} - {Nome}
|
|
214
|
+
|
|
215
|
+
## Visão Geral
|
|
216
|
+
{Descrição breve}
|
|
217
|
+
|
|
218
|
+
## Diagrama
|
|
219
|
+
{PlantUML ou Mermaid}
|
|
220
|
+
|
|
221
|
+
## Elementos
|
|
222
|
+
| Elemento | Tipo | Descrição | Tecnologia |
|
|
223
|
+
|----------|------|-----------|------------|
|
|
224
|
+
|
|
225
|
+
## Relacionamentos
|
|
226
|
+
| De | Para | Descrição | Protocolo |
|
|
227
|
+
|----|------|-----------|-----------|
|
|
228
|
+
|
|
229
|
+
## ADRs Relacionados
|
|
230
|
+
| ADR | Título | Impacto |
|
|
231
|
+
|-----|--------|---------|
|
|
232
|
+
|
|
233
|
+
## Changelog
|
|
234
|
+
### [Data] - vX.Y
|
|
235
|
+
- Mudança: {descrição}
|
|
236
|
+
- Motivo: {justificativa}
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
---
|
|
240
|
+
|
|
241
|
+
## Fluxo de Atualização
|
|
242
|
+
|
|
243
|
+
Quando já existem diagramas:
|
|
244
|
+
|
|
245
|
+
```bash
|
|
246
|
+
# Ver mudanças arquiteturais recentes
|
|
247
|
+
git log --oneline -20 -- "src/" "docker-compose*" "Dockerfile*"
|
|
248
|
+
git diff origin/main --name-only | grep -E "docker|config|src/(domain|infrastructure)"
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
| Mudança Detectada | Nível | Ação |
|
|
252
|
+
|-------------------|-------|------|
|
|
253
|
+
| Novo sistema externo | Context | Adicionar |
|
|
254
|
+
| Novo container/serviço | Container | Adicionar |
|
|
255
|
+
| Novo módulo/componente | Component | Atualizar |
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
## Integração com ADRs
|
|
260
|
+
|
|
261
|
+
| Situação | ADR | C4 |
|
|
262
|
+
|----------|-----|-----|
|
|
263
|
+
| Novo sistema externo | Sim | Atualizar Context |
|
|
264
|
+
| Novo banco de dados | Sim | Atualizar Container |
|
|
265
|
+
| Mudança de pattern | Sim | Atualizar Component |
|
|
266
|
+
|
|
267
|
+
---
|
|
268
|
+
|
|
269
|
+
## Regras
|
|
270
|
+
|
|
271
|
+
### Nunca
|
|
272
|
+
- Inventar elementos que não existem no código
|
|
273
|
+
- Documentar sem analisar o código real
|
|
274
|
+
- Misturar níveis de abstração no mesmo diagrama
|
|
275
|
+
- Criar novos diagramas sem verificar existentes
|
|
276
|
+
- Gerar diagrama sem aprovação do usuário
|
|
277
|
+
- Executar sem verificar o ENV.md
|
|
278
|
+
|
|
279
|
+
### Sempre
|
|
280
|
+
- Verificar ENV.md antes de iniciar
|
|
281
|
+
- Analisar código antes de documentar
|
|
282
|
+
- Verificar diagramas existentes primeiro
|
|
283
|
+
- Propor antes de criar
|
|
284
|
+
- Usar nomenclatura consistente com o código
|
|
285
|
+
- Incluir tecnologias nos containers
|
|
286
|
+
- Manter changelog atualizado
|
|
287
|
+
- Referenciar ADRs relacionados
|
|
288
|
+
|
|
289
|
+
---
|
|
290
|
+
|
|
291
|
+
## Checklist de Conclusão
|
|
292
|
+
|
|
293
|
+
- [ ] ENV.md verificado
|
|
294
|
+
- [ ] Documentação existente verificada
|
|
295
|
+
- [ ] Stack detectada com script
|
|
296
|
+
- [ ] Proposta apresentada ao usuário
|
|
297
|
+
- [ ] Aprovação obtida
|
|
298
|
+
- [ ] Diagrama criado/atualizado
|
|
299
|
+
- [ ] Consistência validada
|
|
300
|
+
- [ ] Changelog adicionado
|
|
301
|
+
- [ ] ADRs referenciados (se aplicável)
|
|
302
|
+
|
|
303
|
+
---
|
|
304
|
+
|
|
305
|
+
## Mensagem de Conclusão
|
|
306
|
+
|
|
307
|
+
```
|
|
308
|
+
✅ Diagrama C4 criado/atualizado!
|
|
309
|
+
|
|
310
|
+
📄 Arquivo: $DOCS_FOLDER/engineering/c4/{arquivo}.md
|
|
311
|
+
📊 Nível: {nivel}
|
|
312
|
+
🏗️ Sistema: {nome}
|
|
313
|
+
|
|
314
|
+
Stack detectada:
|
|
315
|
+
- Linguagem: {language}
|
|
316
|
+
- Framework: {framework}
|
|
317
|
+
- Pattern: {pattern}
|
|
318
|
+
|
|
319
|
+
Próximos passos:
|
|
320
|
+
1. Revisar diagrama gerado
|
|
321
|
+
2. Validar com o time
|
|
322
|
+
3. Criar próximo nível se necessário
|
|
323
|
+
|
|
324
|
+
Referência: https://c4model.com
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
---
|
|
328
|
+
|
|
329
|
+
## Tratamento de Erros
|
|
330
|
+
|
|
331
|
+
### ENV.md não encontrado
|
|
332
|
+
- Interromper execução
|
|
333
|
+
- Orientar usuário a executar `/init-jarvis` primeiro
|
|
334
|
+
|
|
335
|
+
### Script de detecção não encontrado
|
|
336
|
+
- Executar detecção manual com comandos básicos
|
|
337
|
+
- Verificar `package.json`, `docker-compose.yml`
|
|
338
|
+
|
|
339
|
+
### Diagrama existente desatualizado
|
|
340
|
+
- Comparar com código atual
|
|
341
|
+
- Propor atualizações incrementais
|
|
342
|
+
- Não recriar do zero
|
|
343
|
+
|
|
344
|
+
### Usuário não aprovou proposta
|
|
345
|
+
- Perguntar o que ajustar
|
|
346
|
+
- Refinar elementos/relacionamentos
|
|
347
|
+
- Apresentar nova proposta
|
|
348
|
+
|
|
349
|
+
---
|
|
350
|
+
|
|
351
|
+
## Ferramentas
|
|
352
|
+
|
|
353
|
+
| Ferramenta | Uso |
|
|
354
|
+
|------------|-----|
|
|
355
|
+
| PlantUML | Diagramas como código |
|
|
356
|
+
| C4-PlantUML | Extensão C4 para PlantUML |
|
|
357
|
+
| Mermaid | Alternativa mais simples |
|
|
358
|
+
| Structurizr | Ferramenta oficial C4 |
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
# Code - Skill Validator
|
|
2
|
+
|
|
3
|
+
## Visão Geral
|
|
4
|
+
|
|
5
|
+
Diagrama de código (Nível 4) do componente Skill Validator, mostrando as classes e interfaces responsáveis por validar a estrutura dos skills.
|
|
6
|
+
|
|
7
|
+
> **Nota**: Este nível é raramente usado. Documentado aqui apenas como exemplo de referência para algoritmos complexos ou padrões críticos.
|
|
8
|
+
|
|
9
|
+
## Diagrama
|
|
10
|
+
|
|
11
|
+
```plantuml
|
|
12
|
+
@startuml
|
|
13
|
+
!theme plain
|
|
14
|
+
skinparam classAttributeIconSize 0
|
|
15
|
+
skinparam classFontStyle bold
|
|
16
|
+
|
|
17
|
+
title Diagrama de Código - Skill Validator
|
|
18
|
+
|
|
19
|
+
' === INTERFACES ===
|
|
20
|
+
interface ISkillValidator {
|
|
21
|
+
+validate(skill: Skill): ValidationResult
|
|
22
|
+
+validateFrontmatter(frontmatter: Frontmatter): ValidationResult
|
|
23
|
+
+validateContent(content: string): ValidationResult
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
interface IValidationRule {
|
|
27
|
+
+name: string
|
|
28
|
+
+validate(value: any): boolean
|
|
29
|
+
+getErrorMessage(): string
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
interface ISkillRepository {
|
|
33
|
+
+findByName(name: string): Promise<Skill>
|
|
34
|
+
+exists(name: string): Promise<boolean>
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
' === VALUE OBJECTS ===
|
|
38
|
+
class SkillName <<Value Object>> {
|
|
39
|
+
-value: string
|
|
40
|
+
+{static} create(value: string): SkillName
|
|
41
|
+
+validate(): boolean
|
|
42
|
+
+toString(): string
|
|
43
|
+
+isKebabCase(): boolean
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
class SkillDescription <<Value Object>> {
|
|
47
|
+
-value: string
|
|
48
|
+
-trigger: string
|
|
49
|
+
+{static} create(value: string): SkillDescription
|
|
50
|
+
+hasTrigger(): boolean
|
|
51
|
+
+getTrigger(): string
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
' === ENTIDADES ===
|
|
55
|
+
class Skill <<Entity>> {
|
|
56
|
+
-name: SkillName
|
|
57
|
+
-description: SkillDescription
|
|
58
|
+
-argumentHint: string
|
|
59
|
+
-allowedTools: string[]
|
|
60
|
+
-content: string
|
|
61
|
+
--
|
|
62
|
+
+{static} create(props: CreateSkillProps): Skill
|
|
63
|
+
+getName(): SkillName
|
|
64
|
+
+getDescription(): SkillDescription
|
|
65
|
+
+getAllowedTools(): string[]
|
|
66
|
+
+hasRequiredFields(): boolean
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
class Frontmatter <<Value Object>> {
|
|
70
|
+
-name: string
|
|
71
|
+
-description: string
|
|
72
|
+
-argumentHint: string
|
|
73
|
+
-disableModelInvocation: boolean
|
|
74
|
+
-allowedTools: string[]
|
|
75
|
+
--
|
|
76
|
+
+{static} parse(yaml: string): Frontmatter
|
|
77
|
+
+toSkill(): Skill
|
|
78
|
+
+isValid(): boolean
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
class ValidationResult <<Value Object>> {
|
|
82
|
+
-isValid: boolean
|
|
83
|
+
-errors: ValidationError[]
|
|
84
|
+
--
|
|
85
|
+
+{static} success(): ValidationResult
|
|
86
|
+
+{static} failure(errors: ValidationError[]): ValidationResult
|
|
87
|
+
+addError(error: ValidationError): void
|
|
88
|
+
+hasErrors(): boolean
|
|
89
|
+
+getErrors(): ValidationError[]
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
class ValidationError <<Value Object>> {
|
|
93
|
+
-field: string
|
|
94
|
+
-message: string
|
|
95
|
+
-rule: string
|
|
96
|
+
--
|
|
97
|
+
+{static} create(field: string, message: string, rule: string): ValidationError
|
|
98
|
+
+toString(): string
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
' === REGRAS DE VALIDAÇÃO ===
|
|
102
|
+
class RequiredFieldRule <<Rule>> {
|
|
103
|
+
-fieldName: string
|
|
104
|
+
+validate(value: any): boolean
|
|
105
|
+
+getErrorMessage(): string
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
class KebabCaseRule <<Rule>> {
|
|
109
|
+
+validate(value: string): boolean
|
|
110
|
+
+getErrorMessage(): string
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
class DescriptionTriggerRule <<Rule>> {
|
|
114
|
+
+validate(value: string): boolean
|
|
115
|
+
+getErrorMessage(): string
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
' === SERVIÇO DE VALIDAÇÃO ===
|
|
119
|
+
class SkillValidator <<Service>> {
|
|
120
|
+
-rules: IValidationRule[]
|
|
121
|
+
-repository: ISkillRepository
|
|
122
|
+
--
|
|
123
|
+
+validate(skill: Skill): ValidationResult
|
|
124
|
+
+validateFrontmatter(frontmatter: Frontmatter): ValidationResult
|
|
125
|
+
+validateContent(content: string): ValidationResult
|
|
126
|
+
-applyRules(value: any, rules: IValidationRule[]): ValidationError[]
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
' === RELACIONAMENTOS ===
|
|
130
|
+
Skill -- SkillName : identity
|
|
131
|
+
Skill -- SkillDescription : contains
|
|
132
|
+
Skill ..> Frontmatter : created from
|
|
133
|
+
|
|
134
|
+
Frontmatter ..> Skill : creates
|
|
135
|
+
|
|
136
|
+
ValidationResult -- ValidationError : contains
|
|
137
|
+
|
|
138
|
+
SkillValidator ..|> ISkillValidator : implements
|
|
139
|
+
SkillValidator --> IValidationRule : uses
|
|
140
|
+
SkillValidator --> ISkillRepository : uses
|
|
141
|
+
SkillValidator ..> ValidationResult : returns
|
|
142
|
+
SkillValidator ..> Skill : validates
|
|
143
|
+
|
|
144
|
+
RequiredFieldRule ..|> IValidationRule
|
|
145
|
+
KebabCaseRule ..|> IValidationRule
|
|
146
|
+
DescriptionTriggerRule ..|> IValidationRule
|
|
147
|
+
|
|
148
|
+
@enduml
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
## Elementos
|
|
152
|
+
|
|
153
|
+
| Elemento | Tipo | Descrição | Responsabilidade |
|
|
154
|
+
|----------|------|-----------|------------------|
|
|
155
|
+
| ISkillValidator | Interface | Contrato de validação de skills | Define métodos de validação |
|
|
156
|
+
| IValidationRule | Interface | Contrato de regra de validação | Define estrutura de regras |
|
|
157
|
+
| ISkillRepository | Interface | Contrato de repositório | Acesso a skills existentes |
|
|
158
|
+
| SkillName | Value Object | Nome do skill | Validação de formato kebab-case |
|
|
159
|
+
| SkillDescription | Value Object | Descrição com trigger | Extração de trigger de uso |
|
|
160
|
+
| Skill | Entity | Entidade principal | Representa um skill completo |
|
|
161
|
+
| Frontmatter | Value Object | Metadados YAML | Parse e validação de frontmatter |
|
|
162
|
+
| ValidationResult | Value Object | Resultado da validação | Agrupa erros encontrados |
|
|
163
|
+
| ValidationError | Value Object | Erro individual | Representa um erro específico |
|
|
164
|
+
| RequiredFieldRule | Rule | Regra de campo obrigatório | Valida presença de campo |
|
|
165
|
+
| KebabCaseRule | Rule | Regra de formato | Valida formato kebab-case |
|
|
166
|
+
| DescriptionTriggerRule | Rule | Regra de trigger | Valida presença de "Use quando" |
|
|
167
|
+
| SkillValidator | Service | Serviço de validação | Orquestra validação completa |
|
|
168
|
+
|
|
169
|
+
## Padrões Utilizados
|
|
170
|
+
|
|
171
|
+
| Padrão | Onde | Por quê |
|
|
172
|
+
|--------|------|---------|
|
|
173
|
+
| Value Object | SkillName, ValidationResult | Imutabilidade e validação no construtor |
|
|
174
|
+
| Strategy | IValidationRule | Regras intercambiáveis |
|
|
175
|
+
| Repository | ISkillRepository | Abstração de acesso a dados |
|
|
176
|
+
| Result Object | ValidationResult | Evita exceções para fluxo de validação |
|
|
177
|
+
|
|
178
|
+
## ADRs Relacionados
|
|
179
|
+
|
|
180
|
+
| ADR | Título | Impacto |
|
|
181
|
+
|-----|--------|---------|
|
|
182
|
+
| ADR-005 | Padrão de validação | Define uso de Result Object |
|
|
183
|
+
| ADR-006 | Value Objects para domínio | Define imutabilidade |
|
|
184
|
+
|
|
185
|
+
## Changelog
|
|
186
|
+
|
|
187
|
+
### [2025-01-24] - v1.0
|
|
188
|
+
- Criação: Diagrama de código do Skill Validator
|
|
189
|
+
- Motivo: Documentar padrões de validação como referência
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# Component - Skills Engine
|
|
2
|
+
|
|
3
|
+
## Visão Geral
|
|
4
|
+
|
|
5
|
+
Diagrama de componentes do Skills Engine, detalhando os módulos internos responsáveis por processar e executar skills do JARVIS Framework.
|
|
6
|
+
|
|
7
|
+
## Diagrama
|
|
8
|
+
|
|
9
|
+
```plantuml
|
|
10
|
+
@startuml C4_Component
|
|
11
|
+
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Component.puml
|
|
12
|
+
|
|
13
|
+
LAYOUT_WITH_LEGEND()
|
|
14
|
+
|
|
15
|
+
title Skills Engine - Componentes
|
|
16
|
+
|
|
17
|
+
Container_Boundary(skills, "Skills Engine") {
|
|
18
|
+
|
|
19
|
+
' === ENTRADA ===
|
|
20
|
+
Component(parser, "Skill Parser", "Markdown Parser", "Interpreta frontmatter e conteúdo do skill")
|
|
21
|
+
Component(validator, "Skill Validator", "TypeScript", "Valida estrutura e campos obrigatórios")
|
|
22
|
+
Component(loader, "Skill Loader", "Filesystem", "Carrega skills do diretório")
|
|
23
|
+
|
|
24
|
+
' === PROCESSAMENTO ===
|
|
25
|
+
Component(resolver, "Variable Resolver", "TypeScript", "Resolve variáveis como $IDE, $DOCS_FOLDER")
|
|
26
|
+
Component(executor, "Skill Executor", "MCP/Shell", "Executa comandos e ferramentas permitidas")
|
|
27
|
+
Component(context, "Context Manager", "TypeScript", "Gerencia contexto da sessão")
|
|
28
|
+
|
|
29
|
+
' === SAÍDA ===
|
|
30
|
+
Component(formatter, "Output Formatter", "Markdown", "Formata saída para o usuário")
|
|
31
|
+
Component(logger, "Activity Logger", "Filesystem", "Registra atividades e erros")
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
' === EXTERNOS ===
|
|
35
|
+
Container(cli, "CLI Interface", "Shell")
|
|
36
|
+
Container(templates, "Template Engine", "Markdown")
|
|
37
|
+
Container(rules, "Rules Engine", "Markdown")
|
|
38
|
+
ContainerDb(env, "ENV Config", "Markdown")
|
|
39
|
+
ContainerDb(sessions, "Sessions", "Filesystem")
|
|
40
|
+
|
|
41
|
+
' === FLUXO DE ENTRADA ===
|
|
42
|
+
Rel(cli, loader, "Solicita skill")
|
|
43
|
+
Rel(loader, parser, "Envia conteúdo")
|
|
44
|
+
Rel(parser, validator, "Valida estrutura")
|
|
45
|
+
|
|
46
|
+
' === FLUXO DE PROCESSAMENTO ===
|
|
47
|
+
Rel(validator, resolver, "Skill válido")
|
|
48
|
+
Rel(resolver, env, "Lê variáveis")
|
|
49
|
+
Rel(resolver, executor, "Skill resolvido")
|
|
50
|
+
Rel(executor, context, "Atualiza contexto")
|
|
51
|
+
Rel(executor, templates, "Usa templates")
|
|
52
|
+
Rel(executor, rules, "Aplica regras")
|
|
53
|
+
|
|
54
|
+
' === FLUXO DE SAÍDA ===
|
|
55
|
+
Rel(executor, formatter, "Resultado")
|
|
56
|
+
Rel(formatter, cli, "Resposta formatada")
|
|
57
|
+
Rel(executor, logger, "Registra atividade")
|
|
58
|
+
Rel(context, sessions, "Persiste sessão")
|
|
59
|
+
|
|
60
|
+
@enduml
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Elementos
|
|
64
|
+
|
|
65
|
+
| Elemento | Tipo | Descrição | Tecnologia |
|
|
66
|
+
|----------|------|-----------|------------|
|
|
67
|
+
| Skill Parser | Componente | Interpreta frontmatter e conteúdo do skill | Markdown Parser |
|
|
68
|
+
| Skill Validator | Componente | Valida estrutura e campos obrigatórios | TypeScript |
|
|
69
|
+
| Skill Loader | Componente | Carrega skills do diretório | Filesystem |
|
|
70
|
+
| Variable Resolver | Componente | Resolve variáveis como $IDE, $DOCS_FOLDER | TypeScript |
|
|
71
|
+
| Skill Executor | Componente | Executa comandos e ferramentas permitidas | MCP/Shell |
|
|
72
|
+
| Context Manager | Componente | Gerencia contexto da sessão | TypeScript |
|
|
73
|
+
| Output Formatter | Componente | Formata saída para o usuário | Markdown |
|
|
74
|
+
| Activity Logger | Componente | Registra atividades e erros | Filesystem |
|
|
75
|
+
|
|
76
|
+
## Relacionamentos
|
|
77
|
+
|
|
78
|
+
| De | Para | Descrição | Protocolo |
|
|
79
|
+
|----|------|-----------|-----------|
|
|
80
|
+
| CLI Interface | Skill Loader | Solicita skill | Função |
|
|
81
|
+
| Skill Loader | Skill Parser | Envia conteúdo | Interno |
|
|
82
|
+
| Skill Parser | Skill Validator | Valida estrutura | Interno |
|
|
83
|
+
| Skill Validator | Variable Resolver | Skill válido | Interno |
|
|
84
|
+
| Variable Resolver | ENV Config | Lê variáveis | Filesystem |
|
|
85
|
+
| Variable Resolver | Skill Executor | Skill resolvido | Interno |
|
|
86
|
+
| Skill Executor | Context Manager | Atualiza contexto | Interno |
|
|
87
|
+
| Skill Executor | Template Engine | Usa templates | Filesystem |
|
|
88
|
+
| Skill Executor | Rules Engine | Aplica regras | Filesystem |
|
|
89
|
+
| Skill Executor | Output Formatter | Resultado | Interno |
|
|
90
|
+
| Output Formatter | CLI Interface | Resposta formatada | Função |
|
|
91
|
+
| Skill Executor | Activity Logger | Registra atividade | Filesystem |
|
|
92
|
+
| Context Manager | Sessions | Persiste sessão | Filesystem |
|
|
93
|
+
|
|
94
|
+
## ADRs Relacionados
|
|
95
|
+
|
|
96
|
+
| ADR | Título | Impacto |
|
|
97
|
+
|-----|--------|---------|
|
|
98
|
+
| ADR-002 | Integração via MCP | Define protocolo do executor |
|
|
99
|
+
| ADR-004 | Variáveis de ambiente | Define comportamento do resolver |
|
|
100
|
+
|
|
101
|
+
## Changelog
|
|
102
|
+
|
|
103
|
+
### [2025-01-24] - v1.0
|
|
104
|
+
- Criação: Diagrama de componentes do Skills Engine
|
|
105
|
+
- Motivo: Documentar arquitetura interna do processador de skills
|