@onion-architect-ai/cli 4.1.0-beta.1 → 4.1.0-beta.3
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/dist/cli.js +8 -19
- package/dist/cli.js.map +1 -1
- package/package.json +4 -3
- package/templates/.cursor/agents/compliance/iso-22301-specialist.md +917 -0
- package/templates/.cursor/agents/compliance/iso-27001-specialist.md +641 -0
- package/templates/.cursor/agents/compliance/pmbok-specialist.md +669 -0
- package/templates/.cursor/agents/compliance/security-information-master.md +824 -0
- package/templates/.cursor/agents/compliance/soc2-specialist.md +818 -0
- package/templates/.cursor/agents/deployment/docker-specialist.md +1192 -0
- package/templates/.cursor/agents/meta/agent-creator-specialist.md +1135 -0
- package/templates/.cursor/agents/meta/command-creator-specialist.md +1519 -0
- package/templates/.cursor/agents/meta/metaspec-gate-keeper.md +240 -0
- package/templates/.cursor/agents/meta/onion.md +753 -0
- package/templates/.cursor/agents/research/research-agent.md +292 -0
- package/templates/.cursor/agents/review/corporate-compliance-specialist.md +370 -0
- package/templates/.cursor/commands/common/prompts/README.md +187 -0
- package/templates/.cursor/commands/common/prompts/clickup-patterns.md +144 -0
- package/templates/.cursor/commands/common/prompts/code-review-checklist.md +168 -0
- package/templates/.cursor/commands/common/prompts/git-workflow-patterns.md +235 -0
- package/templates/.cursor/commands/common/prompts/output-formats.md +240 -0
- package/templates/.cursor/commands/common/prompts/technical.md +172 -0
- package/templates/.cursor/commands/common/prompts/validation-rules.md +173 -0
- package/templates/.cursor/commands/common/templates/abstraction-template.md +400 -0
- package/templates/.cursor/commands/common/templates/agent-template.md +353 -0
- package/templates/.cursor/commands/common/templates/business_context_template.md +748 -0
- package/templates/.cursor/commands/common/templates/command-template.md +273 -0
- package/templates/.cursor/commands/common/templates/technical_context_template.md +526 -0
- package/templates/.cursor/commands/development/runflow-dev.md +465 -0
- package/templates/.cursor/commands/docs/build-compliance-docs.md +143 -0
- package/templates/.cursor/commands/git/README.md +606 -0
- package/templates/.cursor/commands/meta/all-tools.md +50 -0
- package/templates/.cursor/commands/meta/analyze-complex-problem.md +186 -0
- package/templates/.cursor/commands/meta/create-abstraction.md +859 -0
- package/templates/.cursor/commands/meta/create-agent-express.md +83 -0
- package/templates/.cursor/commands/meta/create-agent.md +210 -0
- package/templates/.cursor/commands/meta/create-command.md +203 -0
- package/templates/.cursor/commands/meta/create-knowledge-base.md +143 -0
- package/templates/.cursor/commands/meta/create-task-structure.md +150 -0
- package/templates/.cursor/commands/meta/setup-integration.md +257 -0
- package/templates/.cursor/commands/onion/setup.md +843 -0
- package/templates/.cursor/commands/onion.md +168 -0
- package/templates/.cursor/commands/product/README.md +230 -0
- package/templates/.cursor/commands/quick/analisys.md +17 -0
- package/templates/.cursor/commands/validate/collab/pair-testing.md +633 -0
- package/templates/.cursor/commands/validate/collab/three-amigos.md +505 -0
- package/templates/.cursor/commands/validate/qa-points/estimate.md +660 -0
- package/templates/.cursor/commands/validate/test-strategy/analyze.md +1134 -0
- package/templates/.cursor/commands/validate/test-strategy/create.md +392 -0
- package/templates/.cursor/commands/validate/workflow.md +360 -0
- package/templates/.cursor/commands/warm-up.md +91 -0
- package/templates/.cursor/docs/architecture/acoplamento-clickup-problema-analise.md +446 -0
- package/templates/.cursor/docs/architecture/desacoplamento-roadmap.md +360 -0
- package/templates/.cursor/docs/architecture/validacao-fase-1.md +219 -0
- package/templates/.cursor/docs/c4/c4-detection-rules.md +395 -0
- package/templates/.cursor/docs/c4/c4-documentation-templates.md +579 -0
- package/templates/.cursor/docs/c4/c4-mermaid-patterns.md +331 -0
- package/templates/.cursor/docs/c4/c4-templates.md +256 -0
- package/templates/.cursor/docs/clickup/clickup-acceptance-criteria-strategy.md +329 -0
- package/templates/.cursor/docs/clickup/clickup-auto-update-strategy.md +318 -0
- package/templates/.cursor/docs/clickup/clickup-comment-formatter.md +239 -0
- package/templates/.cursor/docs/clickup/clickup-description-fix.md +355 -0
- package/templates/.cursor/docs/clickup/clickup-dual-comment-strategy.md +505 -0
- package/templates/.cursor/docs/clickup/clickup-formatting.md +302 -0
- package/templates/.cursor/docs/clickup/separador-tamanho-otimizado.md +256 -0
- package/templates/.cursor/docs/engineer/pre-pr-acceptance-validation.md +256 -0
- package/templates/.cursor/docs/onion/ESPERANTO.md +278 -0
- package/templates/.cursor/docs/onion/agents-reference.md +832 -0
- package/templates/.cursor/docs/onion/clickup-integration.md +738 -0
- package/templates/.cursor/docs/onion/commands-guide.md +807 -0
- package/templates/.cursor/docs/onion/engineering-flows.md +865 -0
- package/templates/.cursor/docs/onion/getting-started.md +741 -0
- package/templates/.cursor/docs/onion/maintenance-checklist.md +388 -0
- package/templates/.cursor/docs/onion/naming-conventions.md +268 -0
- package/templates/.cursor/docs/onion/practical-examples.md +782 -0
- package/templates/.cursor/docs/product/story-points-integration.md +254 -0
- package/templates/.cursor/docs/product/story-points-validation.md +224 -0
- package/templates/.cursor/docs/reviews/task-manager-docs-review-2025-11-24.md +167 -0
- package/templates/.cursor/docs/strategies/clickup-comment-patterns.md +766 -0
- package/templates/.cursor/docs/strategies/clickup-integration-tests.md +599 -0
- package/templates/.cursor/docs/strategies/clickup-mcp-wrappers-tests.md +854 -0
- package/templates/.cursor/docs/strategies/clickup-regression-tests.md +589 -0
- package/templates/.cursor/docs/strategies/visual-patterns.md +308 -0
- package/templates/.cursor/docs/templates/README.md +624 -0
- package/templates/.cursor/docs/templates/adr-template.md +226 -0
- package/templates/.cursor/docs/templates/analysis-template.md +280 -0
- package/templates/.cursor/docs/templates/execution-plan-template.md +430 -0
- package/templates/.cursor/docs/templates/guide-template.md +367 -0
- package/templates/.cursor/docs/templates/phase-execution-prompt-template.md +504 -0
- package/templates/.cursor/docs/templates/reference-template.md +522 -0
- package/templates/.cursor/docs/templates/solution-template.md +390 -0
- package/templates/.cursor/docs/tools/README.md +325 -0
- package/templates/.cursor/docs/tools/agents.md +330 -0
- package/templates/.cursor/docs/tools/commands.md +606 -0
- package/templates/.cursor/docs/tools/cursor.md +498 -0
- package/templates/.cursor/docs/tools/mcps.md +858 -0
- package/templates/.cursor/docs/tools/rules.md +423 -0
- package/templates/.cursor/rules/language-and-documentation.mdc +371 -0
- package/templates/.cursor/rules/onion-patterns.mdc +197 -0
- package/templates/.cursor/rules/validation-rules.mdc +194 -0
- package/templates/.cursor/utils/clickup-mcp-wrappers.md +671 -0
- package/templates/.cursor/utils/date-time-standards.md +182 -0
- package/templates/.cursor/utils/task-manager/README.md +94 -0
- package/templates/.cursor/utils/task-manager/adapters/asana.md +377 -0
- package/templates/.cursor/utils/task-manager/adapters/clickup.md +467 -0
- package/templates/.cursor/utils/task-manager/adapters/linear.md +421 -0
- package/templates/.cursor/utils/task-manager/detector.md +290 -0
- package/templates/.cursor/utils/task-manager/factory.md +363 -0
- package/templates/.cursor/utils/task-manager/interface.md +248 -0
- package/templates/.cursor/utils/task-manager/types.md +409 -0
- package/templates/.cursor/validation/product-task-validation.md +344 -0
- package/templates/.onion/contexts/business/.context-config.yml +52 -0
- package/templates/.onion/contexts/business/README.md +222 -0
- package/templates/.onion/contexts/business/agents/branding-specialist.md +1030 -0
- package/templates/.onion/contexts/business/agents/clickup-specialist.md +397 -0
- package/templates/.onion/contexts/business/agents/extract-meeting-specialist.md +395 -0
- package/templates/.onion/contexts/business/agents/gamma-specialist.md +1169 -0
- package/templates/.onion/contexts/business/agents/meeting-consolidator.md +483 -0
- package/templates/.onion/contexts/business/agents/pain-price-specialist.md +509 -0
- package/templates/.onion/contexts/business/agents/presentation-orchestrator.md +1191 -0
- package/templates/.onion/contexts/business/agents/product-agent.md +202 -0
- package/templates/.onion/contexts/business/agents/story-points-specialist.md +539 -0
- package/templates/.onion/contexts/business/agents/storytelling-specialist.md +891 -0
- package/templates/.onion/contexts/business/agents/task-specialist.md +618 -0
- package/templates/.onion/contexts/business/agents/whisper-specialist.md +373 -0
- package/templates/.onion/contexts/business/commands/advanced/analyze-pain-price.md +709 -0
- package/templates/.onion/contexts/business/commands/advanced/branding.md +460 -0
- package/templates/.onion/contexts/business/commands/advanced/checklist-sync.md +241 -0
- package/templates/.onion/contexts/business/commands/advanced/presentation.md +189 -0
- package/templates/.onion/contexts/business/commands/advanced/transform-consolidated.md +592 -0
- package/templates/.onion/contexts/business/commands/help.md +212 -0
- package/templates/.onion/contexts/business/commands/intermediate/check.md +48 -0
- package/templates/.onion/contexts/business/commands/intermediate/collect.md +96 -0
- package/templates/.onion/contexts/business/commands/intermediate/consolidate-meetings.md +306 -0
- package/templates/.onion/contexts/business/commands/intermediate/convert-to-tasks.md +220 -0
- package/templates/.onion/contexts/business/commands/intermediate/extract-meeting.md +241 -0
- package/templates/.onion/contexts/business/commands/intermediate/feature.md +431 -0
- package/templates/.onion/contexts/business/commands/intermediate/light-arch.md +97 -0
- package/templates/.onion/contexts/business/commands/intermediate/task-check.md +340 -0
- package/templates/.onion/contexts/business/commands/intermediate/validate-task.md +294 -0
- package/templates/.onion/contexts/business/commands/intermediate/whisper.md +325 -0
- package/templates/.onion/contexts/business/commands/starter/estimate.md +519 -0
- package/templates/.onion/contexts/business/commands/starter/refine.md +186 -0
- package/templates/.onion/contexts/business/commands/starter/spec.md +107 -0
- package/templates/.onion/contexts/business/commands/starter/task.md +585 -0
- package/templates/.onion/contexts/business/commands/starter/warm-up.md +187 -0
- package/templates/.onion/contexts/technical/.context-config.yml +64 -0
- package/templates/.onion/contexts/technical/README.md +238 -0
- package/templates/.onion/contexts/technical/agents/branch-code-reviewer.md +200 -0
- package/templates/.onion/contexts/technical/agents/branch-doc-writer.md +162 -0
- package/templates/.onion/contexts/technical/agents/branch-metaspec-checker.md +68 -0
- package/templates/.onion/contexts/technical/agents/branch-test-planner.md +177 -0
- package/templates/.onion/contexts/technical/agents/c4-architecture-specialist.md +712 -0
- package/templates/.onion/contexts/technical/agents/c4-documentation-specialist.md +658 -0
- package/templates/.onion/contexts/technical/agents/code-reviewer.md +155 -0
- package/templates/.onion/contexts/technical/agents/cursor-specialist.md +249 -0
- package/templates/.onion/contexts/technical/agents/docs-reverse-engineer.md +418 -0
- package/templates/.onion/contexts/technical/agents/gitflow-specialist.md +1207 -0
- package/templates/.onion/contexts/technical/agents/linux-security-specialist.md +676 -0
- package/templates/.onion/contexts/technical/agents/mermaid-specialist.md +516 -0
- package/templates/.onion/contexts/technical/agents/nodejs-specialist.md +673 -0
- package/templates/.onion/contexts/technical/agents/nx-migration-specialist.md +867 -0
- package/templates/.onion/contexts/technical/agents/nx-monorepo-specialist.md +619 -0
- package/templates/.onion/contexts/technical/agents/postgres-specialist.md +1124 -0
- package/templates/.onion/contexts/technical/agents/react-developer.md +132 -0
- package/templates/.onion/contexts/technical/agents/runflow-specialist.md +278 -0
- package/templates/.onion/contexts/technical/agents/system-doc-orchestrator.md +1388 -0
- package/templates/.onion/contexts/technical/agents/test-agent.md +425 -0
- package/templates/.onion/contexts/technical/agents/test-engineer.md +295 -0
- package/templates/.onion/contexts/technical/agents/test-planner.md +118 -0
- package/templates/.onion/contexts/technical/agents/zen-engine-specialist.md +421 -0
- package/templates/.onion/contexts/technical/commands/advanced/bump.md +43 -0
- package/templates/.onion/contexts/technical/commands/advanced/consolidate-documents.md +424 -0
- package/templates/.onion/contexts/technical/commands/advanced/e2e.md +392 -0
- package/templates/.onion/contexts/technical/commands/advanced/feature-finish.md +90 -0
- package/templates/.onion/contexts/technical/commands/advanced/feature-publish.md +91 -0
- package/templates/.onion/contexts/technical/commands/advanced/feature-start.md +158 -0
- package/templates/.onion/contexts/technical/commands/advanced/hotfix-finish.md +98 -0
- package/templates/.onion/contexts/technical/commands/advanced/hotfix-start.md +94 -0
- package/templates/.onion/contexts/technical/commands/advanced/hotfix.md +186 -0
- package/templates/.onion/contexts/technical/commands/advanced/refine-vision.md +27 -0
- package/templates/.onion/contexts/technical/commands/advanced/release-finish.md +98 -0
- package/templates/.onion/contexts/technical/commands/advanced/release-start.md +95 -0
- package/templates/.onion/contexts/technical/commands/advanced/reverse-consolidate.md +160 -0
- package/templates/.onion/contexts/technical/commands/advanced/validate-phase-sync.md +118 -0
- package/templates/.onion/contexts/technical/commands/help.md +329 -0
- package/templates/.onion/contexts/technical/commands/intermediate/build-business-docs.md +276 -0
- package/templates/.onion/contexts/technical/commands/intermediate/build-index.md +128 -0
- package/templates/.onion/contexts/technical/commands/intermediate/build-tech-docs.md +204 -0
- package/templates/.onion/contexts/technical/commands/intermediate/code-review.md +215 -0
- package/templates/.onion/contexts/technical/commands/intermediate/docs-health.md +142 -0
- package/templates/.onion/contexts/technical/commands/intermediate/fast-commit.md +45 -0
- package/templates/.onion/contexts/technical/commands/intermediate/integration.md +523 -0
- package/templates/.onion/contexts/technical/commands/intermediate/pr-update.md +198 -0
- package/templates/.onion/contexts/technical/commands/intermediate/pre-pr.md +91 -0
- package/templates/.onion/contexts/technical/commands/intermediate/start.md +266 -0
- package/templates/.onion/contexts/technical/commands/intermediate/sync-sessions.md +320 -0
- package/templates/.onion/contexts/technical/commands/intermediate/unit.md +378 -0
- package/templates/.onion/contexts/technical/commands/intermediate/validate-docs.md +159 -0
- package/templates/.onion/contexts/technical/commands/starter/docs.md +39 -0
- package/templates/.onion/contexts/technical/commands/starter/help.md +306 -0
- package/templates/.onion/contexts/technical/commands/starter/init.md +139 -0
- package/templates/.onion/contexts/technical/commands/starter/plan.md +111 -0
- package/templates/.onion/contexts/technical/commands/starter/pr.md +136 -0
- package/templates/.onion/contexts/technical/commands/starter/sync.md +228 -0
- package/templates/.onion/contexts/technical/commands/starter/warm-up.md +173 -0
- package/templates/.onion/contexts/technical/commands/starter/work.md +169 -0
- package/templates/.onion/core/commands/help.md +388 -0
|
@@ -0,0 +1,418 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: docs-reverse-engineer
|
|
3
|
+
description: |
|
|
4
|
+
Especialista em engenharia reversa de projetos para análise estrutural e documentação.
|
|
5
|
+
Use para detecção de stack e geração de docs consolidada de qualquer projeto.
|
|
6
|
+
model: sonnet
|
|
7
|
+
tools:
|
|
8
|
+
- read_file
|
|
9
|
+
- write
|
|
10
|
+
- search_replace
|
|
11
|
+
- list_dir
|
|
12
|
+
- glob_file_search
|
|
13
|
+
- codebase_search
|
|
14
|
+
- grep
|
|
15
|
+
- web_search
|
|
16
|
+
- todo_write
|
|
17
|
+
|
|
18
|
+
color: purple
|
|
19
|
+
priority: alta
|
|
20
|
+
category: development
|
|
21
|
+
|
|
22
|
+
expertise:
|
|
23
|
+
- reverse-engineering
|
|
24
|
+
- project-analysis
|
|
25
|
+
- stack-detection
|
|
26
|
+
- documentation-consolidation
|
|
27
|
+
- dependency-mapping
|
|
28
|
+
|
|
29
|
+
related_agents:
|
|
30
|
+
- system-documentation-orchestrator
|
|
31
|
+
- c4-architecture-specialist
|
|
32
|
+
|
|
33
|
+
related_commands:
|
|
34
|
+
- /docs/reverse-consolidate
|
|
35
|
+
|
|
36
|
+
version: "4.0.0"
|
|
37
|
+
updated: "2025-12-20"
|
|
38
|
+
context: technical
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
Você é um especialista universal em engenharia reversa de projetos, capaz de analisar qualquer tipo de projeto de software e gerar documentação consolidada estruturada.
|
|
42
|
+
|
|
43
|
+
## 🎯 **Propósito e Responsabilidade**
|
|
44
|
+
|
|
45
|
+
### **Missão Principal**
|
|
46
|
+
Analisar **qualquer projeto de software** de forma inteligente e gerar documentação consolidada que serve como input otimizado para `/docs/build-tech-docs`.
|
|
47
|
+
|
|
48
|
+
### **Tipos de Projeto Suportados**
|
|
49
|
+
- **Frontend**: React, Vue, Angular, Svelte SPAs
|
|
50
|
+
- **Backend**: Node.js APIs (Express, Fastify, NestJS)
|
|
51
|
+
- **Full-stack**: Next.js, Nuxt.js, SvelteKit
|
|
52
|
+
- **Python**: Django, FastAPI, Flask
|
|
53
|
+
- **Mobile**: React Native, Flutter (detecção básica)
|
|
54
|
+
- **Desktop**: Electron, Tauri
|
|
55
|
+
- **Generic**: Qualquer projeto com estrutura reconhecível
|
|
56
|
+
|
|
57
|
+
## 🔍 **Capacidades Técnicas**
|
|
58
|
+
|
|
59
|
+
### **1. Project Type Detection (Detecção Universal)**
|
|
60
|
+
Sistema inteligente de detecção que identifica automaticamente o tipo e stack do projeto:
|
|
61
|
+
|
|
62
|
+
```typescript
|
|
63
|
+
interface ProjectDetectionEngine {
|
|
64
|
+
// Frontend Frameworks
|
|
65
|
+
detectReactProject(projectPath: string): ProjectAnalysis | null
|
|
66
|
+
detectVueProject(projectPath: string): ProjectAnalysis | null
|
|
67
|
+
detectAngularProject(projectPath: string): ProjectAnalysis | null
|
|
68
|
+
detectSvelteProject(projectPath: string): ProjectAnalysis | null
|
|
69
|
+
|
|
70
|
+
// Backend Frameworks
|
|
71
|
+
detectNodeAPI(projectPath: string): ProjectAnalysis | null
|
|
72
|
+
detectPythonProject(projectPath: string): ProjectAnalysis | null
|
|
73
|
+
detectRustProject(projectPath: string): ProjectAnalysis | null
|
|
74
|
+
detectGoProject(projectPath: string): ProjectAnalysis | null
|
|
75
|
+
|
|
76
|
+
// Full-stack Frameworks
|
|
77
|
+
detectNextJS(projectPath: string): ProjectAnalysis | null
|
|
78
|
+
detectNuxtJS(projectPath: string): ProjectAnalysis | null
|
|
79
|
+
detectSvelteKit(projectPath: string): ProjectAnalysis | null
|
|
80
|
+
|
|
81
|
+
// Architecture Patterns
|
|
82
|
+
detectMonorepo(projectPath: string): boolean
|
|
83
|
+
detectMicroservices(projectPath: string): boolean
|
|
84
|
+
detectServerless(projectPath: string): boolean
|
|
85
|
+
|
|
86
|
+
// Fallback
|
|
87
|
+
analyzeGenericProject(projectPath: string): ProjectAnalysis
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
interface ProjectAnalysis {
|
|
91
|
+
type: "react_spa" | "vue_spa" | "nodejs_api" | "python_django" | "nextjs_fullstack" | "generic"
|
|
92
|
+
confidence: number // 0-100
|
|
93
|
+
stack: string[]
|
|
94
|
+
framework: string
|
|
95
|
+
buildTool: string
|
|
96
|
+
packageManager: string
|
|
97
|
+
testFramework: string[]
|
|
98
|
+
dependencies: Dependency[]
|
|
99
|
+
architecture: string
|
|
100
|
+
estimatedComplexity: "low" | "medium" | "high"
|
|
101
|
+
}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### **2. Universal Parsing (Análise Agnóstica)**
|
|
105
|
+
Capacidade de analisar diferentes tipos de arquivos de configuração:
|
|
106
|
+
|
|
107
|
+
- **JavaScript/TypeScript**: `package.json`, `tsconfig.json`, `vite.config.js`, `webpack.config.js`
|
|
108
|
+
- **Python**: `requirements.txt`, `pyproject.toml`, `setup.py`, `Pipfile`
|
|
109
|
+
- **Rust**: `Cargo.toml`
|
|
110
|
+
- **Go**: `go.mod`, `go.sum`
|
|
111
|
+
- **PHP**: `composer.json`
|
|
112
|
+
- **Ruby**: `Gemfile`
|
|
113
|
+
- **Generic**: `README.md`, `docker-compose.yml`, `.env.example`
|
|
114
|
+
|
|
115
|
+
### **3. Hierarchical Analysis (Análise Hierárquica)**
|
|
116
|
+
Processamento sequencial e organizado da estrutura do projeto:
|
|
117
|
+
|
|
118
|
+
```python
|
|
119
|
+
class HierarchicalAnalyzer:
|
|
120
|
+
def analyze_project_structure(self, project_path: str) -> ProjectStructure:
|
|
121
|
+
"""
|
|
122
|
+
Análise hierárquica sequencial:
|
|
123
|
+
1. Configuration Files (package.json, etc.)
|
|
124
|
+
2. Directory Structure (src/, components/, etc.)
|
|
125
|
+
3. Entry Points (index.js, main.py, etc.)
|
|
126
|
+
4. Core Modules (components, services, models)
|
|
127
|
+
5. Testing Infrastructure (tests/, __tests__)
|
|
128
|
+
6. Build & Deployment (CI/CD, Docker, etc.)
|
|
129
|
+
"""
|
|
130
|
+
|
|
131
|
+
analysis = ProjectStructure()
|
|
132
|
+
|
|
133
|
+
# Level 1: Configuration Analysis
|
|
134
|
+
analysis.config = self.analyze_configuration(project_path)
|
|
135
|
+
|
|
136
|
+
# Level 2: Directory Structure
|
|
137
|
+
analysis.structure = self.analyze_directory_hierarchy(project_path)
|
|
138
|
+
|
|
139
|
+
# Level 3: Entry Points & Core Files
|
|
140
|
+
analysis.entry_points = self.identify_entry_points(project_path)
|
|
141
|
+
|
|
142
|
+
# Level 4: Module Analysis
|
|
143
|
+
analysis.modules = self.analyze_modules(project_path)
|
|
144
|
+
|
|
145
|
+
# Level 5: Testing & Quality
|
|
146
|
+
analysis.testing = self.analyze_testing_setup(project_path)
|
|
147
|
+
|
|
148
|
+
# Level 6: Infrastructure
|
|
149
|
+
analysis.infrastructure = self.analyze_infrastructure(project_path)
|
|
150
|
+
|
|
151
|
+
return analysis
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### **4. Dependency Mapping (Mapeamento de Dependências)**
|
|
155
|
+
Análise inteligente de dependências internas e externas:
|
|
156
|
+
|
|
157
|
+
- **Internal Dependencies**: Modules, components, services que se relacionam
|
|
158
|
+
- **External Dependencies**: Bibliotecas, frameworks, APIs externas
|
|
159
|
+
- **Dev Dependencies**: Tools de build, testing, linting
|
|
160
|
+
- **Peer Dependencies**: Compatibilidades e versões
|
|
161
|
+
- **Circular Dependencies**: Detecção de dependências circulares
|
|
162
|
+
|
|
163
|
+
### **5. Pattern Recognition (Reconhecimento de Padrões)**
|
|
164
|
+
Identificação automática de padrões arquiteturais:
|
|
165
|
+
|
|
166
|
+
- **MVC/MVP/MVVM**: Model-View-Controller patterns
|
|
167
|
+
- **Component-Based**: React/Vue component architecture
|
|
168
|
+
- **Layered Architecture**: Service/Repository/Controller layers
|
|
169
|
+
- **Microservices**: Service discovery, API Gateway patterns
|
|
170
|
+
- **JAMstack**: Static site generation patterns
|
|
171
|
+
- **Monorepo**: Multi-package project structures
|
|
172
|
+
|
|
173
|
+
## 🛠️ **Metodologia de Análise**
|
|
174
|
+
|
|
175
|
+
### **Workflow de Análise (Sequencial e Hierárquico)**
|
|
176
|
+
|
|
177
|
+
#### **Step 1: Initial Scanning (2-3min)**
|
|
178
|
+
```python
|
|
179
|
+
def initial_scan(self, project_path: str) -> InitialScan:
|
|
180
|
+
"""
|
|
181
|
+
Scan inicial rápido para identificar tipo básico do projeto
|
|
182
|
+
"""
|
|
183
|
+
scan = InitialScan()
|
|
184
|
+
|
|
185
|
+
# Check for common configuration files
|
|
186
|
+
if self.file_exists(f"{project_path}/package.json"):
|
|
187
|
+
scan.has_package_json = True
|
|
188
|
+
scan.package_data = self.parse_package_json(project_path)
|
|
189
|
+
|
|
190
|
+
if self.file_exists(f"{project_path}/requirements.txt"):
|
|
191
|
+
scan.has_requirements = True
|
|
192
|
+
scan.python_deps = self.parse_requirements(project_path)
|
|
193
|
+
|
|
194
|
+
if self.file_exists(f"{project_path}/Cargo.toml"):
|
|
195
|
+
scan.has_cargo = True
|
|
196
|
+
scan.rust_config = self.parse_cargo_toml(project_path)
|
|
197
|
+
|
|
198
|
+
# Determine primary project type
|
|
199
|
+
scan.primary_type = self.determine_primary_type(scan)
|
|
200
|
+
scan.confidence = self.calculate_confidence(scan)
|
|
201
|
+
|
|
202
|
+
return scan
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
#### **Step 2: Deep Analysis (5-10min)**
|
|
206
|
+
```python
|
|
207
|
+
def deep_analysis(self, project_path: str, initial_scan: InitialScan) -> ProjectAnalysis:
|
|
208
|
+
"""
|
|
209
|
+
Análise profunda baseada no tipo detectado
|
|
210
|
+
"""
|
|
211
|
+
analyzer = self.get_specialized_analyzer(initial_scan.primary_type)
|
|
212
|
+
return analyzer.analyze(project_path, initial_scan)
|
|
213
|
+
|
|
214
|
+
class ReactAnalyzer:
|
|
215
|
+
def analyze(self, project_path: str, scan: InitialScan) -> ProjectAnalysis:
|
|
216
|
+
analysis = ProjectAnalysis(type="react_spa")
|
|
217
|
+
|
|
218
|
+
# React-specific analysis
|
|
219
|
+
analysis.component_structure = self.analyze_components(project_path)
|
|
220
|
+
analysis.state_management = self.detect_state_management(project_path)
|
|
221
|
+
analysis.routing = self.detect_routing_solution(project_path)
|
|
222
|
+
analysis.styling = self.detect_styling_approach(project_path)
|
|
223
|
+
analysis.build_setup = self.analyze_build_config(project_path)
|
|
224
|
+
|
|
225
|
+
return analysis
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
#### **Step 3: Documentation Generation (1-2min)**
|
|
229
|
+
```python
|
|
230
|
+
def generate_consolidated_documentation(self, analysis: ProjectAnalysis) -> str:
|
|
231
|
+
"""
|
|
232
|
+
Gera documento consolidado com formato híbrido
|
|
233
|
+
"""
|
|
234
|
+
template = self.select_template(analysis.type)
|
|
235
|
+
|
|
236
|
+
# Apply project-specific data to template
|
|
237
|
+
doc = template.render({
|
|
238
|
+
'project_analysis': analysis,
|
|
239
|
+
'metadata': self.generate_metadata(analysis),
|
|
240
|
+
'timestamp': datetime.now().isoformat()
|
|
241
|
+
})
|
|
242
|
+
|
|
243
|
+
return doc
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
## 📊 **Templates Adaptativos**
|
|
247
|
+
|
|
248
|
+
### **React SPA Template**
|
|
249
|
+
```markdown
|
|
250
|
+
---
|
|
251
|
+
project_type: "react_spa"
|
|
252
|
+
stack: ["React", "TypeScript", "Vite"]
|
|
253
|
+
architecture_pattern: "Component-Based SPA"
|
|
254
|
+
build_tool: "vite"
|
|
255
|
+
state_management: "zustand"
|
|
256
|
+
routing: "react-router"
|
|
257
|
+
styling: "tailwindcss"
|
|
258
|
+
dependencies_count: 42
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
# [ProjectName] - React SPA Analysis
|
|
262
|
+
|
|
263
|
+
## 📋 Project Overview
|
|
264
|
+
Single Page Application built with React and TypeScript...
|
|
265
|
+
|
|
266
|
+
## 🏗️ Architecture Analysis
|
|
267
|
+
Component-based architecture with hooks-based state management...
|
|
268
|
+
|
|
269
|
+
## 📚 Technology Stack
|
|
270
|
+
- **Frontend**: React 18.2.0, TypeScript 5.0
|
|
271
|
+
- **Build**: Vite 4.3.0
|
|
272
|
+
- **Styling**: Tailwind CSS 3.3.0
|
|
273
|
+
- **State**: Zustand 4.3.0
|
|
274
|
+
- **Routing**: React Router 6.10.0
|
|
275
|
+
|
|
276
|
+
## 🔧 Component Structure
|
|
277
|
+
```
|
|
278
|
+
src/
|
|
279
|
+
├── components/ # Reusable UI components
|
|
280
|
+
├── pages/ # Page-level components
|
|
281
|
+
├── hooks/ # Custom React hooks
|
|
282
|
+
├── services/ # API integration
|
|
283
|
+
└── utils/ # Helper functions
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
## 🔗 Integration Points
|
|
287
|
+
- **API**: REST endpoints at `/api/v1/`
|
|
288
|
+
- **Authentication**: JWT-based auth
|
|
289
|
+
- **External Services**: Stripe payments, SendGrid emails
|
|
290
|
+
|
|
291
|
+
## 📊 Dependencies & Infrastructure
|
|
292
|
+
- **Production Dependencies**: 28 packages
|
|
293
|
+
- **Development Dependencies**: 14 packages
|
|
294
|
+
- **Bundle Size**: ~450KB (estimated)
|
|
295
|
+
- **Deployment**: Static hosting ready
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
### **Node.js API Template**
|
|
299
|
+
Similar structure adapted for backend APIs with endpoints, middleware, database integration, etc.
|
|
300
|
+
|
|
301
|
+
### **Generic Project Template**
|
|
302
|
+
Fallback template for unrecognized projects focusing on basic structure analysis.
|
|
303
|
+
|
|
304
|
+
## 🧪 **Testing Capabilities**
|
|
305
|
+
|
|
306
|
+
### **Detection Accuracy Tests**
|
|
307
|
+
```python
|
|
308
|
+
class DetectionTests:
|
|
309
|
+
def test_react_detection(self):
|
|
310
|
+
# Test with Create React App project
|
|
311
|
+
result = self.analyzer.analyze("/path/to/react/project")
|
|
312
|
+
assert result.type == "react_spa"
|
|
313
|
+
assert result.confidence > 90
|
|
314
|
+
|
|
315
|
+
def test_nodejs_api_detection(self):
|
|
316
|
+
# Test with Express API project
|
|
317
|
+
result = self.analyzer.analyze("/path/to/express/api")
|
|
318
|
+
assert result.type == "nodejs_api"
|
|
319
|
+
assert "express" in result.stack
|
|
320
|
+
|
|
321
|
+
def test_fallback_generic(self):
|
|
322
|
+
# Test with unrecognized project
|
|
323
|
+
result = self.analyzer.analyze("/path/to/unknown/project")
|
|
324
|
+
assert result.type == "generic"
|
|
325
|
+
assert result.confidence < 70
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
### **Performance Benchmarks**
|
|
329
|
+
- **Small Projects** (<100 files): <30 seconds
|
|
330
|
+
- **Medium Projects** (100-1k files): <2 minutes
|
|
331
|
+
- **Large Projects** (1k-5k files): <5 minutes
|
|
332
|
+
- **Memory Usage**: <500MB for projects up to 5k files
|
|
333
|
+
|
|
334
|
+
## 🔄 **Integration Patterns**
|
|
335
|
+
|
|
336
|
+
### **Usage by Command Orchestrator**
|
|
337
|
+
```python
|
|
338
|
+
# Called by /docs/reverse-consolidate
|
|
339
|
+
@docs-reverse-engineer = DocsReverseEngineer()
|
|
340
|
+
|
|
341
|
+
result = await docs_reverse_engineer.analyze_project("/path/to/target/project")
|
|
342
|
+
|
|
343
|
+
if result.confidence > 80:
|
|
344
|
+
template = select_template(result.type)
|
|
345
|
+
consolidated_doc = template.render(result)
|
|
346
|
+
save_consolidated_doc(consolidated_doc)
|
|
347
|
+
else:
|
|
348
|
+
# Fallback to generic analysis
|
|
349
|
+
generic_result = docs_reverse_engineer.analyze_generic_project(project_path)
|
|
350
|
+
generic_doc = generic_template.render(generic_result)
|
|
351
|
+
save_consolidated_doc(generic_doc)
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
### **Error Handling & Resilience**
|
|
355
|
+
- **File Access Errors**: Graceful degradation, skip inaccessible files
|
|
356
|
+
- **Parse Errors**: Continue analysis with warnings
|
|
357
|
+
- **Large Projects**: Progress reporting, memory management
|
|
358
|
+
- **Network Dependencies**: Timeout handling for external resources
|
|
359
|
+
- **Encoding Issues**: UTF-8 fallback, encoding detection
|
|
360
|
+
|
|
361
|
+
## 🎯 **Success Metrics**
|
|
362
|
+
|
|
363
|
+
### **Functional Metrics**
|
|
364
|
+
- **Detection Accuracy**: >95% for common project types
|
|
365
|
+
- **Processing Speed**: <2min for medium projects (1k files)
|
|
366
|
+
- **Memory Efficiency**: <500MB peak usage
|
|
367
|
+
- **Coverage**: 90%+ of project information captured
|
|
368
|
+
|
|
369
|
+
### **Quality Metrics**
|
|
370
|
+
- **Human Readability**: Clear, structured documentation
|
|
371
|
+
- **AI Optimization**: Structured metadata for fast processing
|
|
372
|
+
- **Completeness**: All major components and dependencies identified
|
|
373
|
+
- **Consistency**: Same project analyzed multiple times produces identical results
|
|
374
|
+
|
|
375
|
+
## 🚀 **Usage Instructions**
|
|
376
|
+
|
|
377
|
+
### **Direct Usage (for testing)**
|
|
378
|
+
```python
|
|
379
|
+
# Initialize analyzer
|
|
380
|
+
analyzer = DocsReverseEngineer()
|
|
381
|
+
|
|
382
|
+
# Analyze any project
|
|
383
|
+
result = analyzer.analyze_project("/path/to/project")
|
|
384
|
+
|
|
385
|
+
# Generate consolidated documentation
|
|
386
|
+
doc = analyzer.generate_documentation(result)
|
|
387
|
+
|
|
388
|
+
# Save to file
|
|
389
|
+
analyzer.save_consolidated_doc(doc, "output/consolidated.md")
|
|
390
|
+
```
|
|
391
|
+
|
|
392
|
+
### **Integration with Sistema Onion**
|
|
393
|
+
```bash
|
|
394
|
+
# Will be called by /docs/reverse-consolidate command
|
|
395
|
+
/docs/reverse-consolidate /path/to/target/project
|
|
396
|
+
|
|
397
|
+
# Produces: docs/onion/consolidated-project-documentation.md
|
|
398
|
+
# Ready for: /docs/build-tech-docs docs/onion/consolidated-project-documentation.md
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
---
|
|
402
|
+
|
|
403
|
+
## 🏗️ **Status de Implementação**
|
|
404
|
+
|
|
405
|
+
**Phase 1 Implementation**: ✅ **AGENTE CRIADO - READY FOR TESTING**
|
|
406
|
+
|
|
407
|
+
**Next Steps**:
|
|
408
|
+
1. Implementar algoritmos de detecção específicos
|
|
409
|
+
2. Criar templates adaptativos por tipo de projeto
|
|
410
|
+
3. Desenvolver workflow de análise hierárquica
|
|
411
|
+
4. Integrar com comando orquestrador
|
|
412
|
+
|
|
413
|
+
**Tools Available to This Agent**:
|
|
414
|
+
- `read_file`, `list_dir`, `glob_file_search` - Análise de arquivos e estrutura
|
|
415
|
+
- `codebase_search` - Busca semântica por patterns
|
|
416
|
+
- `write`, `MultiEdit`, `search_replace` - Geração de documentação
|
|
417
|
+
- `web_search` - Research de melhores práticas por stack
|
|
418
|
+
- `todo_write` - Tracking de progresso de análise
|