proagents 1.6.17 → 1.6.19
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/.claude/settings.local.json +169 -0
- package/.proagents/AGENTS.md +2 -0
- package/.proagents/AI_INSTRUCTIONS.md +13 -0
- package/.proagents/ANTIGRAVITY.md +2 -0
- package/.proagents/BOLT.md +2 -0
- package/.proagents/CHATGPT.md +2 -0
- package/.proagents/CLAUDE.md +2 -0
- package/.proagents/GEMINI.md +2 -0
- package/.proagents/GROQ.md +2 -0
- package/.proagents/KIRO.md +2 -0
- package/.proagents/LOVABLE.md +2 -0
- package/.proagents/PROAGENTS.md +2 -0
- package/.proagents/REPLIT.md +2 -0
- package/.proagents/prompts/00-project-setup.md +878 -0
- package/.proagents/prompts/04-planning.md +38 -0
- package/.proagents/prompts/12-rnd.md +957 -0
- package/.proagents/workflow-modes/entry-modes.md +27 -0
- package/.proagents/worklog/_context.template.md +47 -0
- package/COMMANDS.md +654 -0
- package/README.md +16 -24
- package/package.json +2 -7
- package/.proagents/ai-models/README.md +0 -141
- package/.proagents/ai-models/cost-management.md +0 -362
- package/.proagents/ai-models/fallbacks.md +0 -342
- package/.proagents/ai-models/model-config.md +0 -318
- package/.proagents/ai-models/task-routing.md +0 -503
- package/.proagents/ai-training/README.md +0 -155
- package/.proagents/ai-training/continuous-learning.md +0 -413
- package/.proagents/ai-training/domain-knowledge.md +0 -378
- package/.proagents/ai-training/pattern-learning.md +0 -455
- package/.proagents/ai-training/training-data.md +0 -337
- package/.proagents/ai-training/user-preferences.md +0 -346
- package/.proagents/approval-workflows/README.md +0 -146
- package/.proagents/approval-workflows/approval-config.md +0 -332
- package/.proagents/approval-workflows/approval-stages.md +0 -503
- package/.proagents/approval-workflows/emergency-bypass.md +0 -351
- package/.proagents/approval-workflows/examples.md +0 -859
- package/.proagents/approval-workflows/notifications.md +0 -320
- package/.proagents/compliance/README.md +0 -206
- package/.proagents/compliance/access-control.md +0 -310
- package/.proagents/compliance/audit-logging.md +0 -444
- package/.proagents/compliance/compliance-frameworks.md +0 -429
- package/.proagents/compliance/reports.md +0 -491
- package/.proagents/compliance/retention-policies.md +0 -454
- package/.proagents/config-versioning/README.md +0 -120
- package/.proagents/config-versioning/changelog.md +0 -300
- package/.proagents/config-versioning/rollback.md +0 -283
- package/.proagents/config-versioning/versioning.md +0 -330
- package/.proagents/contract-testing/README.md +0 -223
- package/.proagents/contract-testing/contract-testing.md +0 -614
- package/.proagents/contract-testing/pact-integration.md +0 -507
- package/.proagents/contract-testing/schema-validation.md +0 -565
- package/.proagents/dependency-management/README.md +0 -140
- package/.proagents/dependency-management/automation.md +0 -363
- package/.proagents/dependency-management/compatibility.md +0 -319
- package/.proagents/dependency-management/security-scanning.md +0 -413
- package/.proagents/dependency-management/update-policies.md +0 -374
- package/.proagents/disaster-recovery/README.md +0 -247
- package/.proagents/disaster-recovery/automation.md +0 -366
- package/.proagents/disaster-recovery/backup-recovery.md +0 -571
- package/.proagents/disaster-recovery/incident-response.md +0 -565
- package/.proagents/disaster-recovery/rollback-procedures.md +0 -499
- package/.proagents/disaster-recovery/runbooks.md +0 -603
- package/.proagents/disaster-recovery/scenarios.md +0 -892
- package/.proagents/disaster-recovery/testing.md +0 -438
- package/.proagents/environments/README.md +0 -244
- package/.proagents/environments/configuration.md +0 -437
- package/.proagents/environments/promotion.md +0 -434
- package/.proagents/environments/setup.md +0 -420
- package/.proagents/examples/README.md +0 -55
- package/.proagents/examples/backend-nodejs/README.md +0 -188
- package/.proagents/examples/backend-nodejs/complete-conversation.md +0 -601
- package/.proagents/examples/backend-nodejs/proagents.config.yaml +0 -415
- package/.proagents/examples/backend-nodejs/workflow-example.md +0 -909
- package/.proagents/examples/fullstack-nextjs/README.md +0 -155
- package/.proagents/examples/fullstack-nextjs/complete-conversation.md +0 -604
- package/.proagents/examples/fullstack-nextjs/proagents.config.yaml +0 -287
- package/.proagents/examples/fullstack-nextjs/workflow-example.md +0 -553
- package/.proagents/examples/mobile-react-native/README.md +0 -171
- package/.proagents/examples/mobile-react-native/complete-conversation.md +0 -825
- package/.proagents/examples/mobile-react-native/proagents.config.yaml +0 -330
- package/.proagents/examples/mobile-react-native/workflow-example.md +0 -723
- package/.proagents/examples/web-frontend-react/README.md +0 -125
- package/.proagents/examples/web-frontend-react/complete-conversation.md +0 -556
- package/.proagents/examples/web-frontend-react/proagents.config.yaml +0 -183
- package/.proagents/examples/web-frontend-react/workflow-example.md +0 -603
- package/.proagents/existing-projects/README.md +0 -65
- package/.proagents/existing-projects/challenges.md +0 -861
- package/.proagents/existing-projects/coexistence-mode.md +0 -483
- package/.proagents/existing-projects/compatibility-assessment.md +0 -541
- package/.proagents/existing-projects/gradual-adoption.md +0 -515
- package/.proagents/existing-projects/migration-strategies.md +0 -788
- package/.proagents/existing-projects/pattern-reconciliation.md +0 -489
- package/.proagents/existing-projects/team-onboarding.md +0 -617
- package/.proagents/existing-projects/technical-debt-handling.md +0 -644
- package/.proagents/feature-flags/README.md +0 -263
- package/.proagents/feature-flags/ab-testing.md +0 -413
- package/.proagents/feature-flags/configuration.md +0 -420
- package/.proagents/feature-flags/kill-switches.md +0 -444
- package/.proagents/feature-flags/rollout-strategies.md +0 -392
- package/.proagents/history.log +0 -12
- package/.proagents/i18n/README.md +0 -133
- package/.proagents/i18n/extraction.md +0 -433
- package/.proagents/i18n/tms-integration.md +0 -332
- package/.proagents/i18n/translation-workflow.md +0 -413
- package/.proagents/i18n/validation.md +0 -355
- package/.proagents/logging/README.md +0 -276
- package/.proagents/logging/aggregation.md +0 -475
- package/.proagents/logging/log-levels.md +0 -376
- package/.proagents/logging/sensitive-data.md +0 -423
- package/.proagents/logging/structured-logging.md +0 -406
- package/.proagents/metrics/README.md +0 -69
- package/.proagents/metrics/code-quality-kpis.md +0 -461
- package/.proagents/metrics/deployment-metrics.md +0 -517
- package/.proagents/metrics/developer-productivity.md +0 -368
- package/.proagents/metrics/learning-effectiveness.md +0 -478
- package/.proagents/migrations/README.md +0 -77
- package/.proagents/migrations/from-claude-projects.md +0 -313
- package/.proagents/migrations/from-cursor-rules.md +0 -345
- package/.proagents/migrations/from-custom-workflows.md +0 -410
- package/.proagents/monitoring/README.md +0 -308
- package/.proagents/monitoring/alerting.md +0 -449
- package/.proagents/monitoring/dashboards.md +0 -454
- package/.proagents/monitoring/health-checks.md +0 -436
- package/.proagents/monitoring/metrics.md +0 -434
- package/.proagents/multi-project/README.md +0 -170
- package/.proagents/multi-project/coordinated-deploy.md +0 -510
- package/.proagents/multi-project/cross-project-deps.md +0 -395
- package/.proagents/multi-project/unified-changelog.md +0 -477
- package/.proagents/multi-project/walkthroughs/monorepo-setup.md +0 -787
- package/.proagents/multi-project/workspace-config.md +0 -408
- package/.proagents/notifications/README.md +0 -151
- package/.proagents/notifications/channels.md +0 -457
- package/.proagents/notifications/preferences.md +0 -415
- package/.proagents/notifications/routing.md +0 -449
- package/.proagents/notifications/scheduling.md +0 -425
- package/.proagents/notifications/templates.md +0 -446
- package/.proagents/offline-mode/README.md +0 -145
- package/.proagents/offline-mode/caching.md +0 -344
- package/.proagents/offline-mode/offline-operations.md +0 -312
- package/.proagents/offline-mode/queue-specifications.md +0 -679
- package/.proagents/offline-mode/sync.md +0 -475
- package/.proagents/parallel-features/README.md +0 -85
- package/.proagents/parallel-features/conflict-detection.md +0 -226
- package/.proagents/parallel-features/dependency-management.md +0 -392
- package/.proagents/parallel-features/merge-coordination.md +0 -506
- package/.proagents/parallel-features/tracking-system.md +0 -416
- package/.proagents/performance/README.md +0 -59
- package/.proagents/performance/bundle-analysis.md +0 -375
- package/.proagents/performance/load-testing.md +0 -563
- package/.proagents/performance/runtime-metrics.md +0 -489
- package/.proagents/performance/web-vitals.md +0 -425
- package/.proagents/plugins/README.md +0 -139
- package/.proagents/plugins/creating-plugins.md +0 -504
- package/.proagents/plugins/plugin-api.md +0 -467
- package/.proagents/plugins/plugin-registry.md +0 -276
- package/.proagents/reporting/README.md +0 -158
- package/.proagents/reporting/dashboards.md +0 -366
- package/.proagents/reporting/exports.md +0 -524
- package/.proagents/reporting/quality-metrics.md +0 -385
- package/.proagents/reporting/templates/README.md +0 -56
- package/.proagents/reporting/templates/dashboard-config.json +0 -187
- package/.proagents/reporting/templates/metrics-queries.md +0 -427
- package/.proagents/reporting/templates/react-dashboard.tsx +0 -544
- package/.proagents/reporting/templates/widgets.md +0 -451
- package/.proagents/reporting/velocity-metrics.md +0 -340
- package/.proagents/reverse-engineering/README.md +0 -151
- package/.proagents/reverse-engineering/architecture-extraction.md +0 -325
- package/.proagents/reverse-engineering/code-analysis.md +0 -377
- package/.proagents/reverse-engineering/dependency-mapping.md +0 -567
- package/.proagents/reverse-engineering/diagram-generation.md +0 -586
- package/.proagents/reverse-engineering/documentation-generation.md +0 -468
- package/.proagents/reverse-engineering/pattern-detection.md +0 -569
- package/.proagents/reverse-engineering/quality-assessment.md +0 -733
- package/.proagents/secrets/README.md +0 -278
- package/.proagents/secrets/access-control.md +0 -443
- package/.proagents/secrets/rotation.md +0 -403
- package/.proagents/secrets/scanning.md +0 -487
- package/.proagents/secrets/storage.md +0 -394
- package/.proagents/webhooks/README.md +0 -126
- package/.proagents/webhooks/endpoints.md +0 -298
- package/.proagents/webhooks/events.md +0 -316
- package/.proagents/webhooks/payloads.md +0 -325
- package/.proagents/webhooks/reliability.md +0 -363
- package/.proagents/webhooks/security.md +0 -380
|
@@ -1,325 +0,0 @@
|
|
|
1
|
-
# Architecture Extraction
|
|
2
|
-
|
|
3
|
-
Extract and document system architecture from existing code.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## What Gets Extracted
|
|
8
|
-
|
|
9
|
-
### 1. High-Level Architecture
|
|
10
|
-
|
|
11
|
-
```yaml
|
|
12
|
-
architecture:
|
|
13
|
-
type: "monolith" # monolith | microservices | serverless | hybrid
|
|
14
|
-
style: "layered" # layered | clean | hexagonal | mvc | feature-based
|
|
15
|
-
|
|
16
|
-
layers:
|
|
17
|
-
- name: "Presentation"
|
|
18
|
-
path: "src/components/, src/pages/"
|
|
19
|
-
responsibility: "UI rendering and user interaction"
|
|
20
|
-
|
|
21
|
-
- name: "Application"
|
|
22
|
-
path: "src/services/, src/hooks/"
|
|
23
|
-
responsibility: "Business logic and orchestration"
|
|
24
|
-
|
|
25
|
-
- name: "Domain"
|
|
26
|
-
path: "src/models/, src/types/"
|
|
27
|
-
responsibility: "Core business entities and rules"
|
|
28
|
-
|
|
29
|
-
- name: "Infrastructure"
|
|
30
|
-
path: "src/api/, src/database/"
|
|
31
|
-
responsibility: "External service integration"
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
### 2. Module Structure
|
|
35
|
-
|
|
36
|
-
```yaml
|
|
37
|
-
modules:
|
|
38
|
-
- name: "Authentication"
|
|
39
|
-
path: "src/modules/auth/"
|
|
40
|
-
type: "feature-module"
|
|
41
|
-
components:
|
|
42
|
-
- "LoginForm"
|
|
43
|
-
- "RegisterForm"
|
|
44
|
-
- "AuthProvider"
|
|
45
|
-
services:
|
|
46
|
-
- "authService"
|
|
47
|
-
- "tokenService"
|
|
48
|
-
dependencies:
|
|
49
|
-
internal: ["user", "api"]
|
|
50
|
-
external: ["axios", "jwt-decode"]
|
|
51
|
-
|
|
52
|
-
- name: "Dashboard"
|
|
53
|
-
path: "src/modules/dashboard/"
|
|
54
|
-
type: "feature-module"
|
|
55
|
-
components:
|
|
56
|
-
- "DashboardPage"
|
|
57
|
-
- "StatsWidget"
|
|
58
|
-
- "ActivityFeed"
|
|
59
|
-
dependencies:
|
|
60
|
-
internal: ["auth", "api", "user"]
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
### 3. Entry Points
|
|
64
|
-
|
|
65
|
-
```yaml
|
|
66
|
-
entry_points:
|
|
67
|
-
web:
|
|
68
|
-
- path: "src/main.tsx"
|
|
69
|
-
type: "spa_entry"
|
|
70
|
-
framework: "react"
|
|
71
|
-
|
|
72
|
-
api:
|
|
73
|
-
- path: "src/server.ts"
|
|
74
|
-
type: "api_server"
|
|
75
|
-
framework: "express"
|
|
76
|
-
port: 3000
|
|
77
|
-
|
|
78
|
-
workers:
|
|
79
|
-
- path: "src/workers/queue.ts"
|
|
80
|
-
type: "background_worker"
|
|
81
|
-
purpose: "Job processing"
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
---
|
|
85
|
-
|
|
86
|
-
## Extraction Process
|
|
87
|
-
|
|
88
|
-
### Step 1: Project Scanning
|
|
89
|
-
|
|
90
|
-
```
|
|
91
|
-
Scanning project structure...
|
|
92
|
-
|
|
93
|
-
Detected:
|
|
94
|
-
├── Framework: React 18 + Next.js 14
|
|
95
|
-
├── Language: TypeScript
|
|
96
|
-
├── Styling: Tailwind CSS
|
|
97
|
-
├── State: Zustand + React Query
|
|
98
|
-
├── Database: PostgreSQL + Prisma
|
|
99
|
-
├── Auth: NextAuth.js
|
|
100
|
-
└── Testing: Jest + Testing Library
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
### Step 2: Architecture Pattern Detection
|
|
104
|
-
|
|
105
|
-
```
|
|
106
|
-
Analyzing code organization...
|
|
107
|
-
|
|
108
|
-
Pattern Detected: Feature-Based Architecture
|
|
109
|
-
|
|
110
|
-
Evidence:
|
|
111
|
-
- src/features/ directory exists
|
|
112
|
-
- Each feature has components/, hooks/, services/
|
|
113
|
-
- Shared code in src/shared/
|
|
114
|
-
- Clear module boundaries
|
|
115
|
-
|
|
116
|
-
Confidence: 92%
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
### Step 3: Layer Identification
|
|
120
|
-
|
|
121
|
-
```
|
|
122
|
-
Identifying architectural layers...
|
|
123
|
-
|
|
124
|
-
Layers Found:
|
|
125
|
-
┌─────────────────────────────────────────┐
|
|
126
|
-
│ Presentation Layer │
|
|
127
|
-
│ └─ src/components/, src/pages/ │
|
|
128
|
-
├─────────────────────────────────────────┤
|
|
129
|
-
│ Application Layer │
|
|
130
|
-
│ └─ src/features/*/hooks/ │
|
|
131
|
-
│ └─ src/features/*/services/ │
|
|
132
|
-
├─────────────────────────────────────────┤
|
|
133
|
-
│ Domain Layer │
|
|
134
|
-
│ └─ src/types/, src/models/ │
|
|
135
|
-
├─────────────────────────────────────────┤
|
|
136
|
-
│ Infrastructure Layer │
|
|
137
|
-
│ └─ src/lib/, src/api/ │
|
|
138
|
-
│ └─ prisma/ │
|
|
139
|
-
└─────────────────────────────────────────┘
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
### Step 4: Boundary Analysis
|
|
143
|
-
|
|
144
|
-
```
|
|
145
|
-
Analyzing module boundaries...
|
|
146
|
-
|
|
147
|
-
Module Boundaries:
|
|
148
|
-
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
|
|
149
|
-
│ Auth │───▶│ User │───▶│ Profile │
|
|
150
|
-
└──────────────┘ └──────────────┘ └──────────────┘
|
|
151
|
-
│ │ │
|
|
152
|
-
▼ ▼ ▼
|
|
153
|
-
┌──────────────────────────────────────────────────────┐
|
|
154
|
-
│ Shared/Common │
|
|
155
|
-
│ (API client, utilities, types, UI components) │
|
|
156
|
-
└──────────────────────────────────────────────────────┘
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
---
|
|
160
|
-
|
|
161
|
-
## Output Format
|
|
162
|
-
|
|
163
|
-
### Architecture Document
|
|
164
|
-
|
|
165
|
-
```markdown
|
|
166
|
-
# System Architecture
|
|
167
|
-
|
|
168
|
-
## Overview
|
|
169
|
-
This is a [monolithic/microservices] application built with [framework].
|
|
170
|
-
It follows a [pattern] architecture pattern.
|
|
171
|
-
|
|
172
|
-
## High-Level Architecture
|
|
173
|
-
|
|
174
|
-
```
|
|
175
|
-
┌─────────────────────────────────────────────────────┐
|
|
176
|
-
│ Client (Browser) │
|
|
177
|
-
└─────────────────────────────────────────────────────┘
|
|
178
|
-
│
|
|
179
|
-
▼
|
|
180
|
-
┌─────────────────────────────────────────────────────┐
|
|
181
|
-
│ Next.js Application │
|
|
182
|
-
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
|
|
183
|
-
│ │ Pages │ │ API │ │ Components │ │
|
|
184
|
-
│ │ (SSR) │ │ Routes │ │ │ │
|
|
185
|
-
│ └─────────────┘ └─────────────┘ └─────────────┘ │
|
|
186
|
-
└─────────────────────────────────────────────────────┘
|
|
187
|
-
│
|
|
188
|
-
▼
|
|
189
|
-
┌─────────────────────────────────────────────────────┐
|
|
190
|
-
│ Database │
|
|
191
|
-
│ (PostgreSQL) │
|
|
192
|
-
└─────────────────────────────────────────────────────┘
|
|
193
|
-
```
|
|
194
|
-
|
|
195
|
-
## Modules
|
|
196
|
-
|
|
197
|
-
### Authentication Module
|
|
198
|
-
- **Purpose:** Handle user authentication and authorization
|
|
199
|
-
- **Location:** `src/features/auth/`
|
|
200
|
-
- **Key Components:** LoginForm, AuthProvider, useAuth
|
|
201
|
-
- **Dependencies:** User module, API client
|
|
202
|
-
|
|
203
|
-
### User Module
|
|
204
|
-
- **Purpose:** Manage user data and profiles
|
|
205
|
-
- **Location:** `src/features/user/`
|
|
206
|
-
- **Key Components:** UserProfile, UserSettings
|
|
207
|
-
- **Dependencies:** Auth module, API client
|
|
208
|
-
|
|
209
|
-
## Data Flow
|
|
210
|
-
|
|
211
|
-
1. User interacts with UI component
|
|
212
|
-
2. Component calls custom hook
|
|
213
|
-
3. Hook uses service/API client
|
|
214
|
-
4. API route handles request
|
|
215
|
-
5. Database query via Prisma
|
|
216
|
-
6. Response flows back up
|
|
217
|
-
|
|
218
|
-
## Key Decisions
|
|
219
|
-
|
|
220
|
-
| Decision | Choice | Rationale |
|
|
221
|
-
|----------|--------|-----------|
|
|
222
|
-
| Framework | Next.js | SSR + API routes |
|
|
223
|
-
| State | Zustand | Simple, lightweight |
|
|
224
|
-
| Database | PostgreSQL | Relational data needs |
|
|
225
|
-
| ORM | Prisma | Type safety, migrations |
|
|
226
|
-
```
|
|
227
|
-
|
|
228
|
-
---
|
|
229
|
-
|
|
230
|
-
## Architecture Diagram Generation
|
|
231
|
-
|
|
232
|
-
### Component Diagram
|
|
233
|
-
|
|
234
|
-
```mermaid
|
|
235
|
-
graph TB
|
|
236
|
-
subgraph Presentation
|
|
237
|
-
Pages[Pages/Routes]
|
|
238
|
-
Components[UI Components]
|
|
239
|
-
end
|
|
240
|
-
|
|
241
|
-
subgraph Application
|
|
242
|
-
Hooks[Custom Hooks]
|
|
243
|
-
Services[Services]
|
|
244
|
-
end
|
|
245
|
-
|
|
246
|
-
subgraph Domain
|
|
247
|
-
Types[Type Definitions]
|
|
248
|
-
Models[Domain Models]
|
|
249
|
-
end
|
|
250
|
-
|
|
251
|
-
subgraph Infrastructure
|
|
252
|
-
API[API Client]
|
|
253
|
-
DB[Database Client]
|
|
254
|
-
end
|
|
255
|
-
|
|
256
|
-
Pages --> Components
|
|
257
|
-
Components --> Hooks
|
|
258
|
-
Hooks --> Services
|
|
259
|
-
Services --> API
|
|
260
|
-
Services --> Types
|
|
261
|
-
API --> DB
|
|
262
|
-
```
|
|
263
|
-
|
|
264
|
-
### Module Dependency Diagram
|
|
265
|
-
|
|
266
|
-
```mermaid
|
|
267
|
-
graph LR
|
|
268
|
-
Auth[Auth Module]
|
|
269
|
-
User[User Module]
|
|
270
|
-
Dashboard[Dashboard Module]
|
|
271
|
-
Settings[Settings Module]
|
|
272
|
-
Shared[Shared Module]
|
|
273
|
-
|
|
274
|
-
Auth --> User
|
|
275
|
-
Dashboard --> Auth
|
|
276
|
-
Dashboard --> User
|
|
277
|
-
Settings --> User
|
|
278
|
-
Auth --> Shared
|
|
279
|
-
User --> Shared
|
|
280
|
-
Dashboard --> Shared
|
|
281
|
-
Settings --> Shared
|
|
282
|
-
```
|
|
283
|
-
|
|
284
|
-
---
|
|
285
|
-
|
|
286
|
-
## Configuration
|
|
287
|
-
|
|
288
|
-
```yaml
|
|
289
|
-
# proagents.config.yaml
|
|
290
|
-
|
|
291
|
-
reverse_engineering:
|
|
292
|
-
architecture:
|
|
293
|
-
enabled: true
|
|
294
|
-
|
|
295
|
-
detect:
|
|
296
|
-
- architecture_pattern
|
|
297
|
-
- module_boundaries
|
|
298
|
-
- layer_structure
|
|
299
|
-
- entry_points
|
|
300
|
-
- integration_points
|
|
301
|
-
|
|
302
|
-
output:
|
|
303
|
-
format: "markdown"
|
|
304
|
-
diagrams: true
|
|
305
|
-
diagram_format: "mermaid" # mermaid | plantuml | ascii
|
|
306
|
-
|
|
307
|
-
depth:
|
|
308
|
-
full: true # Analyze entire codebase
|
|
309
|
-
# OR
|
|
310
|
-
paths: # Analyze specific paths
|
|
311
|
-
- "src/"
|
|
312
|
-
- "lib/"
|
|
313
|
-
```
|
|
314
|
-
|
|
315
|
-
---
|
|
316
|
-
|
|
317
|
-
## Commands
|
|
318
|
-
|
|
319
|
-
| Command | Description |
|
|
320
|
-
|---------|-------------|
|
|
321
|
-
| `pa:re-architecture` | Full architecture extraction |
|
|
322
|
-
| `pa:re-architecture --diagram` | Generate architecture diagrams |
|
|
323
|
-
| `pa:re-architecture --modules` | Extract module structure |
|
|
324
|
-
| `pa:re-architecture --layers` | Identify layers |
|
|
325
|
-
| `pa:re-architecture --boundaries` | Analyze boundaries |
|
|
@@ -1,377 +0,0 @@
|
|
|
1
|
-
# Deep Code Analysis
|
|
2
|
-
|
|
3
|
-
Comprehensive analysis of source code structure, patterns, and quality.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Analysis Scope
|
|
8
|
-
|
|
9
|
-
### 1. File-Level Analysis
|
|
10
|
-
|
|
11
|
-
```yaml
|
|
12
|
-
file_analysis:
|
|
13
|
-
path: "src/services/authService.ts"
|
|
14
|
-
|
|
15
|
-
metadata:
|
|
16
|
-
lines: 245
|
|
17
|
-
functions: 12
|
|
18
|
-
classes: 1
|
|
19
|
-
imports: 8
|
|
20
|
-
exports: 5
|
|
21
|
-
complexity: "medium"
|
|
22
|
-
|
|
23
|
-
structure:
|
|
24
|
-
imports:
|
|
25
|
-
- { module: "axios", type: "external" }
|
|
26
|
-
- { module: "@/lib/api", type: "internal" }
|
|
27
|
-
- { module: "@/types/auth", type: "internal" }
|
|
28
|
-
|
|
29
|
-
exports:
|
|
30
|
-
- { name: "authService", type: "object" }
|
|
31
|
-
- { name: "AuthService", type: "class" }
|
|
32
|
-
- { name: "AuthError", type: "class" }
|
|
33
|
-
|
|
34
|
-
functions:
|
|
35
|
-
- name: "login"
|
|
36
|
-
params: ["email: string", "password: string"]
|
|
37
|
-
returns: "Promise<AuthResponse>"
|
|
38
|
-
async: true
|
|
39
|
-
lines: 15-35
|
|
40
|
-
|
|
41
|
-
- name: "logout"
|
|
42
|
-
params: []
|
|
43
|
-
returns: "Promise<void>"
|
|
44
|
-
async: true
|
|
45
|
-
lines: 37-45
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
### 2. Component Analysis (React/Vue/Angular)
|
|
49
|
-
|
|
50
|
-
```yaml
|
|
51
|
-
component_analysis:
|
|
52
|
-
path: "src/components/UserProfile.tsx"
|
|
53
|
-
|
|
54
|
-
type: "functional"
|
|
55
|
-
name: "UserProfile"
|
|
56
|
-
|
|
57
|
-
props:
|
|
58
|
-
- name: "userId"
|
|
59
|
-
type: "string"
|
|
60
|
-
required: true
|
|
61
|
-
- name: "onUpdate"
|
|
62
|
-
type: "(user: User) => void"
|
|
63
|
-
required: false
|
|
64
|
-
|
|
65
|
-
state:
|
|
66
|
-
- name: "isEditing"
|
|
67
|
-
type: "boolean"
|
|
68
|
-
initial: false
|
|
69
|
-
- name: "formData"
|
|
70
|
-
type: "UserFormData"
|
|
71
|
-
initial: "{}"
|
|
72
|
-
|
|
73
|
-
hooks_used:
|
|
74
|
-
- "useState" (2 times)
|
|
75
|
-
- "useEffect" (1 time)
|
|
76
|
-
- "useUser" (custom hook)
|
|
77
|
-
- "useMutation" (react-query)
|
|
78
|
-
|
|
79
|
-
dependencies:
|
|
80
|
-
components:
|
|
81
|
-
- "Avatar"
|
|
82
|
-
- "Button"
|
|
83
|
-
- "Input"
|
|
84
|
-
hooks:
|
|
85
|
-
- "useUser"
|
|
86
|
-
services:
|
|
87
|
-
- "userService"
|
|
88
|
-
|
|
89
|
-
renders:
|
|
90
|
-
conditional: 3
|
|
91
|
-
lists: 1
|
|
92
|
-
children_components: 5
|
|
93
|
-
|
|
94
|
-
accessibility:
|
|
95
|
-
aria_labels: 2
|
|
96
|
-
roles: 1
|
|
97
|
-
semantic_elements: true
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
### 3. API Endpoint Analysis
|
|
101
|
-
|
|
102
|
-
```yaml
|
|
103
|
-
api_analysis:
|
|
104
|
-
path: "src/app/api/users/route.ts"
|
|
105
|
-
|
|
106
|
-
endpoints:
|
|
107
|
-
- method: "GET"
|
|
108
|
-
handler: "GET"
|
|
109
|
-
auth_required: true
|
|
110
|
-
params: ["page", "limit", "search"]
|
|
111
|
-
response_type: "PaginatedResponse<User>"
|
|
112
|
-
|
|
113
|
-
- method: "POST"
|
|
114
|
-
handler: "POST"
|
|
115
|
-
auth_required: true
|
|
116
|
-
body_schema: "CreateUserInput"
|
|
117
|
-
validation: "zod"
|
|
118
|
-
response_type: "User"
|
|
119
|
-
|
|
120
|
-
middleware:
|
|
121
|
-
- "authMiddleware"
|
|
122
|
-
- "rateLimitMiddleware"
|
|
123
|
-
|
|
124
|
-
error_handling:
|
|
125
|
-
try_catch: true
|
|
126
|
-
custom_errors: true
|
|
127
|
-
error_responses: ["400", "401", "404", "500"]
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
### 4. Database Model Analysis
|
|
131
|
-
|
|
132
|
-
```yaml
|
|
133
|
-
model_analysis:
|
|
134
|
-
path: "prisma/schema.prisma"
|
|
135
|
-
|
|
136
|
-
models:
|
|
137
|
-
- name: "User"
|
|
138
|
-
fields:
|
|
139
|
-
- { name: "id", type: "String", primary: true }
|
|
140
|
-
- { name: "email", type: "String", unique: true }
|
|
141
|
-
- { name: "name", type: "String", nullable: true }
|
|
142
|
-
- { name: "createdAt", type: "DateTime" }
|
|
143
|
-
relations:
|
|
144
|
-
- { name: "posts", type: "Post[]", relation: "one-to-many" }
|
|
145
|
-
- { name: "profile", type: "Profile?", relation: "one-to-one" }
|
|
146
|
-
indexes:
|
|
147
|
-
- { fields: ["email"], type: "unique" }
|
|
148
|
-
|
|
149
|
-
- name: "Post"
|
|
150
|
-
fields:
|
|
151
|
-
- { name: "id", type: "String", primary: true }
|
|
152
|
-
- { name: "title", type: "String" }
|
|
153
|
-
- { name: "authorId", type: "String", foreign_key: true }
|
|
154
|
-
relations:
|
|
155
|
-
- { name: "author", type: "User", relation: "many-to-one" }
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
---
|
|
159
|
-
|
|
160
|
-
## Analysis Output
|
|
161
|
-
|
|
162
|
-
### Code Summary Report
|
|
163
|
-
|
|
164
|
-
```markdown
|
|
165
|
-
# Code Analysis Report
|
|
166
|
-
|
|
167
|
-
## Project: MyApp
|
|
168
|
-
## Analyzed: 2024-01-15
|
|
169
|
-
|
|
170
|
-
---
|
|
171
|
-
|
|
172
|
-
## Summary Statistics
|
|
173
|
-
|
|
174
|
-
| Metric | Value |
|
|
175
|
-
|--------|-------|
|
|
176
|
-
| Total Files | 156 |
|
|
177
|
-
| Total Lines | 24,500 |
|
|
178
|
-
| Source Files | 128 |
|
|
179
|
-
| Test Files | 28 |
|
|
180
|
-
| Average File Size | 190 lines |
|
|
181
|
-
| Total Functions | 450 |
|
|
182
|
-
| Total Components | 65 |
|
|
183
|
-
| Total API Routes | 24 |
|
|
184
|
-
|
|
185
|
-
---
|
|
186
|
-
|
|
187
|
-
## File Type Distribution
|
|
188
|
-
|
|
189
|
-
| Type | Count | Lines |
|
|
190
|
-
|------|-------|-------|
|
|
191
|
-
| Components (.tsx) | 65 | 8,500 |
|
|
192
|
-
| Hooks (.ts) | 24 | 1,800 |
|
|
193
|
-
| Services (.ts) | 18 | 2,200 |
|
|
194
|
-
| API Routes (.ts) | 24 | 3,600 |
|
|
195
|
-
| Types (.ts) | 15 | 1,200 |
|
|
196
|
-
| Tests (.test.ts) | 28 | 4,200 |
|
|
197
|
-
| Config Files | 12 | 800 |
|
|
198
|
-
|
|
199
|
-
---
|
|
200
|
-
|
|
201
|
-
## Complexity Analysis
|
|
202
|
-
|
|
203
|
-
### Most Complex Files
|
|
204
|
-
| File | Complexity | Functions | Lines |
|
|
205
|
-
|------|------------|-----------|-------|
|
|
206
|
-
| authService.ts | High | 15 | 380 |
|
|
207
|
-
| Dashboard.tsx | High | 8 | 320 |
|
|
208
|
-
| orderUtils.ts | Medium | 12 | 250 |
|
|
209
|
-
|
|
210
|
-
### Complexity Distribution
|
|
211
|
-
- Low (< 10): 85 files (68%)
|
|
212
|
-
- Medium (10-20): 32 files (26%)
|
|
213
|
-
- High (> 20): 8 files (6%)
|
|
214
|
-
|
|
215
|
-
---
|
|
216
|
-
|
|
217
|
-
## Dependency Analysis
|
|
218
|
-
|
|
219
|
-
### Most Imported Internal Modules
|
|
220
|
-
1. `@/lib/utils` - 45 imports
|
|
221
|
-
2. `@/components/ui` - 38 imports
|
|
222
|
-
3. `@/types` - 35 imports
|
|
223
|
-
4. `@/hooks/useAuth` - 28 imports
|
|
224
|
-
|
|
225
|
-
### External Dependencies
|
|
226
|
-
| Package | Import Count | Used In |
|
|
227
|
-
|---------|--------------|---------|
|
|
228
|
-
| react | 128 | All components |
|
|
229
|
-
| axios | 24 | Services |
|
|
230
|
-
| zod | 18 | Validation |
|
|
231
|
-
| date-fns | 15 | Date handling |
|
|
232
|
-
|
|
233
|
-
---
|
|
234
|
-
|
|
235
|
-
## Code Quality Indicators
|
|
236
|
-
|
|
237
|
-
### Positive Patterns
|
|
238
|
-
- ✅ Consistent naming conventions
|
|
239
|
-
- ✅ TypeScript strict mode enabled
|
|
240
|
-
- ✅ Components are modular
|
|
241
|
-
- ✅ Services are well-organized
|
|
242
|
-
- ✅ Good test coverage (78%)
|
|
243
|
-
|
|
244
|
-
### Areas for Improvement
|
|
245
|
-
- ⚠️ Some components exceed 300 lines
|
|
246
|
-
- ⚠️ 12 files have circular dependencies
|
|
247
|
-
- ⚠️ 8 functions have complexity > 15
|
|
248
|
-
- ⚠️ Missing error boundaries in 5 pages
|
|
249
|
-
|
|
250
|
-
---
|
|
251
|
-
|
|
252
|
-
## Extracted Patterns
|
|
253
|
-
|
|
254
|
-
### Component Patterns
|
|
255
|
-
- Functional components with hooks
|
|
256
|
-
- Props interface above component
|
|
257
|
-
- Memo for expensive renders
|
|
258
|
-
- Error boundary wrapper for pages
|
|
259
|
-
|
|
260
|
-
### Service Patterns
|
|
261
|
-
- Object with methods pattern
|
|
262
|
-
- Async/await for all API calls
|
|
263
|
-
- Centralized error handling
|
|
264
|
-
- Type-safe responses
|
|
265
|
-
|
|
266
|
-
### State Management
|
|
267
|
-
- Zustand for global state
|
|
268
|
-
- React Query for server state
|
|
269
|
-
- useState for local state
|
|
270
|
-
- useReducer for complex forms
|
|
271
|
-
```
|
|
272
|
-
|
|
273
|
-
---
|
|
274
|
-
|
|
275
|
-
## Deep Analysis Features
|
|
276
|
-
|
|
277
|
-
### Function Complexity Analysis
|
|
278
|
-
|
|
279
|
-
```yaml
|
|
280
|
-
function_analysis:
|
|
281
|
-
name: "processOrder"
|
|
282
|
-
path: "src/services/orderService.ts:45"
|
|
283
|
-
|
|
284
|
-
metrics:
|
|
285
|
-
lines: 85
|
|
286
|
-
cyclomatic_complexity: 18
|
|
287
|
-
cognitive_complexity: 22
|
|
288
|
-
parameters: 4
|
|
289
|
-
return_paths: 6
|
|
290
|
-
nested_depth: 4
|
|
291
|
-
|
|
292
|
-
issues:
|
|
293
|
-
- type: "high_complexity"
|
|
294
|
-
message: "Function has 18 decision points"
|
|
295
|
-
suggestion: "Consider breaking into smaller functions"
|
|
296
|
-
|
|
297
|
-
- type: "deep_nesting"
|
|
298
|
-
message: "Maximum nesting depth is 4"
|
|
299
|
-
suggestion: "Use early returns to reduce nesting"
|
|
300
|
-
|
|
301
|
-
dependencies:
|
|
302
|
-
calls:
|
|
303
|
-
- "validateOrder"
|
|
304
|
-
- "calculateTotal"
|
|
305
|
-
- "applyDiscount"
|
|
306
|
-
- "createInvoice"
|
|
307
|
-
called_by:
|
|
308
|
-
- "checkout"
|
|
309
|
-
- "reorder"
|
|
310
|
-
```
|
|
311
|
-
|
|
312
|
-
### Type Coverage Analysis
|
|
313
|
-
|
|
314
|
-
```yaml
|
|
315
|
-
type_analysis:
|
|
316
|
-
coverage: 94%
|
|
317
|
-
|
|
318
|
-
untyped:
|
|
319
|
-
- path: "src/utils/legacy.ts"
|
|
320
|
-
lines: [45, 67, 89]
|
|
321
|
-
severity: "warning"
|
|
322
|
-
|
|
323
|
-
- path: "src/lib/helpers.ts"
|
|
324
|
-
lines: [12]
|
|
325
|
-
severity: "info"
|
|
326
|
-
|
|
327
|
-
any_usage:
|
|
328
|
-
count: 8
|
|
329
|
-
locations:
|
|
330
|
-
- "src/services/api.ts:34"
|
|
331
|
-
- "src/utils/transform.ts:56"
|
|
332
|
-
|
|
333
|
-
recommendations:
|
|
334
|
-
- "Add return type to function at api.ts:34"
|
|
335
|
-
- "Replace 'any' with proper type at transform.ts:56"
|
|
336
|
-
```
|
|
337
|
-
|
|
338
|
-
---
|
|
339
|
-
|
|
340
|
-
## Configuration
|
|
341
|
-
|
|
342
|
-
```yaml
|
|
343
|
-
# proagents.config.yaml
|
|
344
|
-
|
|
345
|
-
reverse_engineering:
|
|
346
|
-
code_analysis:
|
|
347
|
-
enabled: true
|
|
348
|
-
|
|
349
|
-
analyze:
|
|
350
|
-
- file_structure
|
|
351
|
-
- components
|
|
352
|
-
- functions
|
|
353
|
-
- types
|
|
354
|
-
- imports
|
|
355
|
-
- complexity
|
|
356
|
-
|
|
357
|
-
complexity:
|
|
358
|
-
threshold_warning: 10
|
|
359
|
-
threshold_error: 20
|
|
360
|
-
|
|
361
|
-
output:
|
|
362
|
-
format: "markdown"
|
|
363
|
-
include_metrics: true
|
|
364
|
-
include_recommendations: true
|
|
365
|
-
```
|
|
366
|
-
|
|
367
|
-
---
|
|
368
|
-
|
|
369
|
-
## Commands
|
|
370
|
-
|
|
371
|
-
| Command | Description |
|
|
372
|
-
|---------|-------------|
|
|
373
|
-
| `pa:re-analyze` | Full code analysis |
|
|
374
|
-
| `pa:re-analyze --file [path]` | Analyze specific file |
|
|
375
|
-
| `pa:re-analyze --complexity` | Complexity analysis |
|
|
376
|
-
| `pa:re-analyze --types` | Type coverage analysis |
|
|
377
|
-
| `pa:re-analyze --functions` | Function analysis |
|