proagents 1.6.16 → 1.6.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/.claude/settings.local.json +169 -0
  2. package/COMMANDS.md +595 -0
  3. package/README.md +22 -64
  4. package/bin/proagents.js +0 -2
  5. package/lib/commands/init.js +4 -174
  6. package/package.json +2 -7
  7. package/.proagents/ai-models/README.md +0 -141
  8. package/.proagents/ai-models/cost-management.md +0 -362
  9. package/.proagents/ai-models/fallbacks.md +0 -342
  10. package/.proagents/ai-models/model-config.md +0 -318
  11. package/.proagents/ai-models/task-routing.md +0 -503
  12. package/.proagents/ai-training/README.md +0 -155
  13. package/.proagents/ai-training/continuous-learning.md +0 -413
  14. package/.proagents/ai-training/domain-knowledge.md +0 -378
  15. package/.proagents/ai-training/pattern-learning.md +0 -455
  16. package/.proagents/ai-training/training-data.md +0 -337
  17. package/.proagents/ai-training/user-preferences.md +0 -346
  18. package/.proagents/approval-workflows/README.md +0 -146
  19. package/.proagents/approval-workflows/approval-config.md +0 -332
  20. package/.proagents/approval-workflows/approval-stages.md +0 -503
  21. package/.proagents/approval-workflows/emergency-bypass.md +0 -351
  22. package/.proagents/approval-workflows/examples.md +0 -859
  23. package/.proagents/approval-workflows/notifications.md +0 -320
  24. package/.proagents/compliance/README.md +0 -206
  25. package/.proagents/compliance/access-control.md +0 -310
  26. package/.proagents/compliance/audit-logging.md +0 -444
  27. package/.proagents/compliance/compliance-frameworks.md +0 -429
  28. package/.proagents/compliance/reports.md +0 -491
  29. package/.proagents/compliance/retention-policies.md +0 -454
  30. package/.proagents/config-versioning/README.md +0 -120
  31. package/.proagents/config-versioning/changelog.md +0 -300
  32. package/.proagents/config-versioning/rollback.md +0 -283
  33. package/.proagents/config-versioning/versioning.md +0 -330
  34. package/.proagents/contract-testing/README.md +0 -223
  35. package/.proagents/contract-testing/contract-testing.md +0 -614
  36. package/.proagents/contract-testing/pact-integration.md +0 -507
  37. package/.proagents/contract-testing/schema-validation.md +0 -565
  38. package/.proagents/dependency-management/README.md +0 -140
  39. package/.proagents/dependency-management/automation.md +0 -363
  40. package/.proagents/dependency-management/compatibility.md +0 -319
  41. package/.proagents/dependency-management/security-scanning.md +0 -413
  42. package/.proagents/dependency-management/update-policies.md +0 -374
  43. package/.proagents/disaster-recovery/README.md +0 -247
  44. package/.proagents/disaster-recovery/automation.md +0 -366
  45. package/.proagents/disaster-recovery/backup-recovery.md +0 -571
  46. package/.proagents/disaster-recovery/incident-response.md +0 -565
  47. package/.proagents/disaster-recovery/rollback-procedures.md +0 -499
  48. package/.proagents/disaster-recovery/runbooks.md +0 -603
  49. package/.proagents/disaster-recovery/scenarios.md +0 -892
  50. package/.proagents/disaster-recovery/testing.md +0 -438
  51. package/.proagents/environments/README.md +0 -244
  52. package/.proagents/environments/configuration.md +0 -437
  53. package/.proagents/environments/promotion.md +0 -434
  54. package/.proagents/environments/setup.md +0 -420
  55. package/.proagents/examples/README.md +0 -55
  56. package/.proagents/examples/backend-nodejs/README.md +0 -188
  57. package/.proagents/examples/backend-nodejs/complete-conversation.md +0 -601
  58. package/.proagents/examples/backend-nodejs/proagents.config.yaml +0 -415
  59. package/.proagents/examples/backend-nodejs/workflow-example.md +0 -909
  60. package/.proagents/examples/fullstack-nextjs/README.md +0 -155
  61. package/.proagents/examples/fullstack-nextjs/complete-conversation.md +0 -604
  62. package/.proagents/examples/fullstack-nextjs/proagents.config.yaml +0 -287
  63. package/.proagents/examples/fullstack-nextjs/workflow-example.md +0 -553
  64. package/.proagents/examples/mobile-react-native/README.md +0 -171
  65. package/.proagents/examples/mobile-react-native/complete-conversation.md +0 -825
  66. package/.proagents/examples/mobile-react-native/proagents.config.yaml +0 -330
  67. package/.proagents/examples/mobile-react-native/workflow-example.md +0 -723
  68. package/.proagents/examples/web-frontend-react/README.md +0 -125
  69. package/.proagents/examples/web-frontend-react/complete-conversation.md +0 -556
  70. package/.proagents/examples/web-frontend-react/proagents.config.yaml +0 -183
  71. package/.proagents/examples/web-frontend-react/workflow-example.md +0 -603
  72. package/.proagents/existing-projects/README.md +0 -65
  73. package/.proagents/existing-projects/challenges.md +0 -861
  74. package/.proagents/existing-projects/coexistence-mode.md +0 -483
  75. package/.proagents/existing-projects/compatibility-assessment.md +0 -541
  76. package/.proagents/existing-projects/gradual-adoption.md +0 -515
  77. package/.proagents/existing-projects/migration-strategies.md +0 -788
  78. package/.proagents/existing-projects/pattern-reconciliation.md +0 -489
  79. package/.proagents/existing-projects/team-onboarding.md +0 -617
  80. package/.proagents/existing-projects/technical-debt-handling.md +0 -644
  81. package/.proagents/feature-flags/README.md +0 -263
  82. package/.proagents/feature-flags/ab-testing.md +0 -413
  83. package/.proagents/feature-flags/configuration.md +0 -420
  84. package/.proagents/feature-flags/kill-switches.md +0 -444
  85. package/.proagents/feature-flags/rollout-strategies.md +0 -392
  86. package/.proagents/history.log +0 -12
  87. package/.proagents/i18n/README.md +0 -133
  88. package/.proagents/i18n/extraction.md +0 -433
  89. package/.proagents/i18n/tms-integration.md +0 -332
  90. package/.proagents/i18n/translation-workflow.md +0 -413
  91. package/.proagents/i18n/validation.md +0 -355
  92. package/.proagents/logging/README.md +0 -276
  93. package/.proagents/logging/aggregation.md +0 -475
  94. package/.proagents/logging/log-levels.md +0 -376
  95. package/.proagents/logging/sensitive-data.md +0 -423
  96. package/.proagents/logging/structured-logging.md +0 -406
  97. package/.proagents/metrics/README.md +0 -69
  98. package/.proagents/metrics/code-quality-kpis.md +0 -461
  99. package/.proagents/metrics/deployment-metrics.md +0 -517
  100. package/.proagents/metrics/developer-productivity.md +0 -368
  101. package/.proagents/metrics/learning-effectiveness.md +0 -478
  102. package/.proagents/migrations/README.md +0 -77
  103. package/.proagents/migrations/from-claude-projects.md +0 -313
  104. package/.proagents/migrations/from-cursor-rules.md +0 -345
  105. package/.proagents/migrations/from-custom-workflows.md +0 -410
  106. package/.proagents/monitoring/README.md +0 -308
  107. package/.proagents/monitoring/alerting.md +0 -449
  108. package/.proagents/monitoring/dashboards.md +0 -454
  109. package/.proagents/monitoring/health-checks.md +0 -436
  110. package/.proagents/monitoring/metrics.md +0 -434
  111. package/.proagents/multi-project/README.md +0 -170
  112. package/.proagents/multi-project/coordinated-deploy.md +0 -510
  113. package/.proagents/multi-project/cross-project-deps.md +0 -395
  114. package/.proagents/multi-project/unified-changelog.md +0 -477
  115. package/.proagents/multi-project/walkthroughs/monorepo-setup.md +0 -787
  116. package/.proagents/multi-project/workspace-config.md +0 -408
  117. package/.proagents/notifications/README.md +0 -151
  118. package/.proagents/notifications/channels.md +0 -457
  119. package/.proagents/notifications/preferences.md +0 -415
  120. package/.proagents/notifications/routing.md +0 -449
  121. package/.proagents/notifications/scheduling.md +0 -425
  122. package/.proagents/notifications/templates.md +0 -446
  123. package/.proagents/offline-mode/README.md +0 -145
  124. package/.proagents/offline-mode/caching.md +0 -344
  125. package/.proagents/offline-mode/offline-operations.md +0 -312
  126. package/.proagents/offline-mode/queue-specifications.md +0 -679
  127. package/.proagents/offline-mode/sync.md +0 -475
  128. package/.proagents/parallel-features/README.md +0 -85
  129. package/.proagents/parallel-features/conflict-detection.md +0 -226
  130. package/.proagents/parallel-features/dependency-management.md +0 -392
  131. package/.proagents/parallel-features/merge-coordination.md +0 -506
  132. package/.proagents/parallel-features/tracking-system.md +0 -416
  133. package/.proagents/performance/README.md +0 -59
  134. package/.proagents/performance/bundle-analysis.md +0 -375
  135. package/.proagents/performance/load-testing.md +0 -563
  136. package/.proagents/performance/runtime-metrics.md +0 -489
  137. package/.proagents/performance/web-vitals.md +0 -425
  138. package/.proagents/plugins/README.md +0 -139
  139. package/.proagents/plugins/creating-plugins.md +0 -504
  140. package/.proagents/plugins/plugin-api.md +0 -467
  141. package/.proagents/plugins/plugin-registry.md +0 -276
  142. package/.proagents/reporting/README.md +0 -158
  143. package/.proagents/reporting/dashboards.md +0 -366
  144. package/.proagents/reporting/exports.md +0 -524
  145. package/.proagents/reporting/quality-metrics.md +0 -385
  146. package/.proagents/reporting/templates/README.md +0 -56
  147. package/.proagents/reporting/templates/dashboard-config.json +0 -187
  148. package/.proagents/reporting/templates/metrics-queries.md +0 -427
  149. package/.proagents/reporting/templates/react-dashboard.tsx +0 -544
  150. package/.proagents/reporting/templates/widgets.md +0 -451
  151. package/.proagents/reporting/velocity-metrics.md +0 -340
  152. package/.proagents/reverse-engineering/README.md +0 -151
  153. package/.proagents/reverse-engineering/architecture-extraction.md +0 -325
  154. package/.proagents/reverse-engineering/code-analysis.md +0 -377
  155. package/.proagents/reverse-engineering/dependency-mapping.md +0 -567
  156. package/.proagents/reverse-engineering/diagram-generation.md +0 -586
  157. package/.proagents/reverse-engineering/documentation-generation.md +0 -468
  158. package/.proagents/reverse-engineering/pattern-detection.md +0 -569
  159. package/.proagents/reverse-engineering/quality-assessment.md +0 -733
  160. package/.proagents/secrets/README.md +0 -278
  161. package/.proagents/secrets/access-control.md +0 -443
  162. package/.proagents/secrets/rotation.md +0 -403
  163. package/.proagents/secrets/scanning.md +0 -487
  164. package/.proagents/secrets/storage.md +0 -394
  165. package/.proagents/webhooks/README.md +0 -126
  166. package/.proagents/webhooks/endpoints.md +0 -298
  167. package/.proagents/webhooks/events.md +0 -316
  168. package/.proagents/webhooks/payloads.md +0 -325
  169. package/.proagents/webhooks/reliability.md +0 -363
  170. package/.proagents/webhooks/security.md +0 -380
@@ -1,410 +0,0 @@
1
- # Migrating from Custom Workflows
2
-
3
- Integrate your existing development workflows with ProAgents.
4
-
5
- ---
6
-
7
- ## Overview
8
-
9
- If you have custom development workflows, scripts, or processes, ProAgents can:
10
-
11
- - Preserve your existing practices
12
- - Add structure and automation
13
- - Enhance with AI assistance
14
- - Provide consistency across projects
15
-
16
- ---
17
-
18
- ## Assessment
19
-
20
- ### Step 1: Document Current Workflow
21
-
22
- Answer these questions:
23
-
24
- 1. **How do features start?**
25
- - Ticket/issue creation?
26
- - Branch naming convention?
27
- - Documentation requirements?
28
-
29
- 2. **What's your development process?**
30
- - Code review requirements?
31
- - Testing expectations?
32
- - Documentation standards?
33
-
34
- 3. **How do you deploy?**
35
- - CI/CD pipeline?
36
- - Environment promotion?
37
- - Rollback procedures?
38
-
39
- 4. **What tools do you use?**
40
- - Issue tracking (Jira, Linear)?
41
- - Communication (Slack, Teams)?
42
- - Monitoring (Datadog, Sentry)?
43
-
44
- ### Step 2: Create Workflow Inventory
45
-
46
- ```markdown
47
- # Current Workflow Inventory
48
-
49
- ## Feature Development
50
- 1. Create Jira ticket
51
- 2. Create feature branch (feature/PROJ-123-description)
52
- 3. Implement with PR
53
- 4. Code review by 2 reviewers
54
- 5. QA testing
55
- 6. Merge to develop
56
-
57
- ## Coding Standards
58
- - ESLint + Prettier
59
- - TypeScript strict mode
60
- - Jest for testing
61
-
62
- ## Deployment
63
- - GitHub Actions CI
64
- - Auto-deploy to staging on merge to develop
65
- - Manual promotion to production
66
-
67
- ## Communication
68
- - Slack for notifications
69
- - Daily standups
70
- ```
71
-
72
- ---
73
-
74
- ## Migration Strategy
75
-
76
- ### Option 1: Full Adoption
77
-
78
- Replace your workflow entirely with ProAgents.
79
-
80
- ```yaml
81
- # proagents.config.yaml
82
- project:
83
- name: "My Project"
84
- type: "fullstack"
85
-
86
- # Full workflow enabled
87
- workflow:
88
- phases:
89
- - init
90
- - analysis
91
- - requirements
92
- - design
93
- - planning
94
- - implementation
95
- - testing
96
- - review
97
- - documentation
98
- - deployment
99
-
100
- checkpoints:
101
- after_analysis: true
102
- after_design: true
103
- before_deployment: true
104
- ```
105
-
106
- ### Option 2: Gradual Integration
107
-
108
- Keep existing tools, add ProAgents incrementally.
109
-
110
- ```yaml
111
- # proagents.config.yaml
112
- workflow:
113
- # Start with just a few phases
114
- phases:
115
- - analysis
116
- - implementation
117
- - testing
118
-
119
- # Disable checkpoints initially
120
- checkpoints:
121
- all: false
122
-
123
- # Keep existing integrations
124
- integrations:
125
- jira:
126
- enabled: true
127
- # ProAgents syncs with your Jira
128
- ```
129
-
130
- ### Option 3: AI Enhancement Only
131
-
132
- Use ProAgents just for AI assistance without workflow changes.
133
-
134
- ```yaml
135
- # proagents.config.yaml
136
- workflow:
137
- enabled: false # No workflow management
138
-
139
- # Just use standards and AI prompts
140
- standards:
141
- enabled: true
142
-
143
- prompts:
144
- enabled: true
145
- ```
146
-
147
- ---
148
-
149
- ## Mapping Your Workflow
150
-
151
- ### Phase Mapping
152
-
153
- | Your Process | ProAgents Phase |
154
- |--------------|-----------------|
155
- | Requirements gathering | Phase 2: Requirements |
156
- | Technical design | Phase 3: UI Design + Phase 4: Planning |
157
- | Development | Phase 5: Implementation |
158
- | Testing | Phase 6: Testing |
159
- | Code review | Phase 6.5: Code Review |
160
- | Documentation | Phase 7: Documentation |
161
- | Deployment | Phase 8: Deployment |
162
-
163
- ### Tool Integration
164
-
165
- ```yaml
166
- # proagents.config.yaml
167
- integrations:
168
- # Issue tracking
169
- jira:
170
- enabled: true
171
- base_url: "${JIRA_URL}"
172
- auto_create_tickets: false # Use existing workflow
173
- auto_update_status: true # Sync status to ProAgents
174
-
175
- # CI/CD
176
- github:
177
- enabled: true
178
- auto_create_pr: false # Manual PR creation
179
- pr_template: "./.proagents/templates/pr-template.md"
180
-
181
- # Notifications
182
- slack:
183
- enabled: true
184
- channel: "#dev-notifications"
185
- events:
186
- - feature_complete
187
- - deployment_success
188
- ```
189
-
190
- ### Script Integration
191
-
192
- Wrap existing scripts in ProAgents hooks:
193
-
194
- ```yaml
195
- # proagents.config.yaml
196
- hooks:
197
- pre_implementation:
198
- - script: "./scripts/setup-feature.sh"
199
-
200
- post_testing:
201
- - script: "./scripts/run-e2e.sh"
202
-
203
- pre_deployment:
204
- - script: "./scripts/build.sh"
205
- - script: "./scripts/validate.sh"
206
- ```
207
-
208
- ---
209
-
210
- ## Preserving Conventions
211
-
212
- ### Git Conventions
213
-
214
- ```yaml
215
- # proagents.config.yaml
216
- git:
217
- # Keep your existing branch naming
218
- branch_prefix: "feature/"
219
- branch_format: "{prefix}{ticket}-{description}"
220
-
221
- # Keep your commit convention
222
- commit_convention: "conventional" # or "custom"
223
- commit_format: "{type}({scope}): {message}"
224
-
225
- # PR settings
226
- require_pr: true
227
- pr_template: ".github/pull_request_template.md" # Use existing
228
- ```
229
-
230
- ### Coding Standards
231
-
232
- Import existing ESLint/Prettier config:
233
-
234
- ```yaml
235
- # proagents.config.yaml
236
- standards:
237
- import_from:
238
- eslint: "./.eslintrc.js"
239
- prettier: "./.prettierrc"
240
- typescript: "./tsconfig.json"
241
-
242
- # Generate standards docs from these configs
243
- auto_document: true
244
- ```
245
-
246
- ### Testing Standards
247
-
248
- ```yaml
249
- # proagents.config.yaml
250
- testing:
251
- # Use existing test setup
252
- framework: "jest"
253
- config_path: "./jest.config.js"
254
-
255
- # Preserve your coverage requirements
256
- coverage:
257
- threshold: 80
258
- include: ["src/**/*.ts"]
259
- exclude: ["**/*.test.ts"]
260
- ```
261
-
262
- ---
263
-
264
- ## Hybrid Workflow Example
265
-
266
- Keep existing processes while adding ProAgents AI assistance:
267
-
268
- ```yaml
269
- # proagents.config.yaml
270
- project:
271
- name: "Enterprise App"
272
- type: "fullstack"
273
-
274
- # Minimal workflow - just tracking
275
- workflow:
276
- phases:
277
- - analysis # AI helps understand code
278
- - implementation # AI assists coding
279
- - testing # AI helps write tests
280
-
281
- checkpoints:
282
- all: false # No blocking checkpoints
283
-
284
- # AI assistance settings
285
- ai:
286
- assist_mode: true
287
- auto_suggest: true
288
- explain_changes: true
289
-
290
- # Keep your existing processes
291
- integrations:
292
- # Continue using Jira as source of truth
293
- jira:
294
- enabled: true
295
- sync_mode: "read" # Read from Jira, don't write
296
-
297
- # Keep GitHub Actions
298
- github:
299
- enabled: true
300
- use_existing_workflows: true
301
-
302
- # Learning from your patterns
303
- learning:
304
- enabled: true
305
- learn_from_codebase: true
306
- learn_from_prs: true
307
- ```
308
-
309
- ---
310
-
311
- ## Migration Steps
312
-
313
- ### Step 1: Install ProAgents
314
-
315
- ```bash
316
- npm install -g proagents
317
- proagents init --minimal
318
- ```
319
-
320
- ### Step 2: Import Existing Config
321
-
322
- ```bash
323
- # Import from ESLint, Prettier, etc.
324
- proagents import --from eslint .eslintrc.js
325
- proagents import --from prettier .prettierrc
326
- ```
327
-
328
- ### Step 3: Document Standards
329
-
330
- ```bash
331
- # Auto-generate standards docs
332
- proagents analyze --generate-docs
333
- ```
334
-
335
- ### Step 4: Set Up Integration
336
-
337
- ```bash
338
- # Configure integrations
339
- proagents config set integrations.jira.enabled true
340
- proagents config set integrations.slack.enabled true
341
- ```
342
-
343
- ### Step 5: Test Integration
344
-
345
- ```bash
346
- # Start a test feature
347
- proagents feature start "Test integration" --dry-run
348
- ```
349
-
350
- ### Step 6: Gradual Rollout
351
-
352
- 1. Start with one developer
353
- 2. Expand to one team
354
- 3. Roll out organization-wide
355
-
356
- ---
357
-
358
- ## Troubleshooting
359
-
360
- ### Conflict with Existing Tools
361
-
362
- ```yaml
363
- # Disable conflicting features
364
- proagents:
365
- git:
366
- auto_commit: false # Don't auto-commit if CI does this
367
- deployment:
368
- enabled: false # Use existing deployment
369
- ```
370
-
371
- ### Team Resistance
372
-
373
- Start with opt-in features:
374
-
375
- ```yaml
376
- workflow:
377
- mandatory: false
378
- features:
379
- - ai_assistance # Most valuable, least disruptive
380
- ```
381
-
382
- ### Performance Issues
383
-
384
- ```yaml
385
- # Optimize for large codebases
386
- analysis:
387
- incremental: true
388
- cache: true
389
- exclude:
390
- - "node_modules"
391
- - "dist"
392
- - ".git"
393
- ```
394
-
395
- ---
396
-
397
- ## Success Metrics
398
-
399
- Track migration success:
400
-
401
- 1. **Developer Productivity**: Time to complete features
402
- 2. **Code Quality**: Bug rates, review feedback
403
- 3. **Consistency**: Pattern adherence
404
- 4. **Satisfaction**: Team feedback surveys
405
-
406
- ```bash
407
- # View ProAgents metrics
408
- proagents report velocity
409
- proagents report quality
410
- ```
@@ -1,308 +0,0 @@
1
- # Monitoring Setup
2
-
3
- Application monitoring, alerting, and observability.
4
-
5
- ---
6
-
7
- ## Overview
8
-
9
- Comprehensive monitoring for application health, performance, and business metrics.
10
-
11
- ## Documentation
12
-
13
- | Document | Description |
14
- |----------|-------------|
15
- | [Health Checks](./health-checks.md) | Endpoint health monitoring |
16
- | [Metrics](./metrics.md) | Application metrics |
17
- | [Alerting](./alerting.md) | Alert configuration |
18
- | [Dashboards](./dashboards.md) | Visualization setup |
19
-
20
- ---
21
-
22
- ## Monitoring Stack
23
-
24
- ```
25
- ┌─────────────────────────────────────────────────────────────┐
26
- │ Monitoring Stack │
27
- ├─────────────────────────────────────────────────────────────┤
28
- │ │
29
- │ Application │
30
- │ │ │
31
- │ ├──▶ Metrics ──▶ Prometheus/DataDog │
32
- │ │ │ │
33
- │ ├──▶ Logs ────▶ ELK/CloudWatch │
34
- │ │ │ │
35
- │ └──▶ Traces ──▶ Jaeger/X-Ray │
36
- │ │ │
37
- │ ▼ │
38
- │ Dashboards │
39
- │ Alerting │
40
- │ │
41
- └─────────────────────────────────────────────────────────────┘
42
- ```
43
-
44
- ---
45
-
46
- ## Health Checks
47
-
48
- ### Health Endpoint
49
-
50
- ```typescript
51
- // src/routes/health.ts
52
- app.get('/health', async (req, res) => {
53
- const health = {
54
- status: 'healthy',
55
- timestamp: new Date().toISOString(),
56
- version: process.env.APP_VERSION,
57
- checks: {
58
- database: await checkDatabase(),
59
- redis: await checkRedis(),
60
- externalApi: await checkExternalApi(),
61
- },
62
- };
63
-
64
- const isHealthy = Object.values(health.checks)
65
- .every(check => check.status === 'healthy');
66
-
67
- res.status(isHealthy ? 200 : 503).json(health);
68
- });
69
-
70
- async function checkDatabase() {
71
- try {
72
- await db.query('SELECT 1');
73
- return { status: 'healthy', latency: '5ms' };
74
- } catch (error) {
75
- return { status: 'unhealthy', error: error.message };
76
- }
77
- }
78
- ```
79
-
80
- ### Health Response
81
-
82
- ```json
83
- {
84
- "status": "healthy",
85
- "timestamp": "2024-01-15T10:30:00Z",
86
- "version": "1.2.3",
87
- "checks": {
88
- "database": { "status": "healthy", "latency": "5ms" },
89
- "redis": { "status": "healthy", "latency": "2ms" },
90
- "externalApi": { "status": "healthy", "latency": "150ms" }
91
- }
92
- }
93
- ```
94
-
95
- ---
96
-
97
- ## Metrics
98
-
99
- ### Key Metrics
100
-
101
- | Category | Metrics |
102
- |----------|---------|
103
- | **Requests** | Rate, latency, error rate |
104
- | **Resources** | CPU, memory, disk, connections |
105
- | **Business** | Users, orders, revenue |
106
- | **Dependencies** | External API latency, availability |
107
-
108
- ### Prometheus Metrics
109
-
110
- ```typescript
111
- import { Counter, Histogram, Gauge } from 'prom-client';
112
-
113
- // Request counter
114
- const httpRequests = new Counter({
115
- name: 'http_requests_total',
116
- help: 'Total HTTP requests',
117
- labelNames: ['method', 'path', 'status'],
118
- });
119
-
120
- // Response time histogram
121
- const httpDuration = new Histogram({
122
- name: 'http_request_duration_seconds',
123
- help: 'HTTP request duration',
124
- labelNames: ['method', 'path'],
125
- buckets: [0.1, 0.5, 1, 2, 5],
126
- });
127
-
128
- // Active connections gauge
129
- const activeConnections = new Gauge({
130
- name: 'active_connections',
131
- help: 'Active database connections',
132
- });
133
-
134
- // Middleware to track metrics
135
- app.use((req, res, next) => {
136
- const end = httpDuration.startTimer({ method: req.method, path: req.path });
137
-
138
- res.on('finish', () => {
139
- httpRequests.inc({ method: req.method, path: req.path, status: res.statusCode });
140
- end();
141
- });
142
-
143
- next();
144
- });
145
- ```
146
-
147
- ---
148
-
149
- ## Alerting
150
-
151
- ### Alert Configuration
152
-
153
- ```yaml
154
- # proagents.config.yaml
155
- monitoring:
156
- alerts:
157
- # High error rate
158
- - name: "high_error_rate"
159
- condition: "error_rate > 5%"
160
- duration: "5m"
161
- severity: "critical"
162
- channels: ["pagerduty", "slack:#alerts"]
163
-
164
- # High latency
165
- - name: "high_latency"
166
- condition: "p99_latency > 3s"
167
- duration: "10m"
168
- severity: "warning"
169
- channels: ["slack:#alerts"]
170
-
171
- # Service down
172
- - name: "service_down"
173
- condition: "health_check_failed"
174
- duration: "1m"
175
- severity: "critical"
176
- channels: ["pagerduty", "slack:#incidents"]
177
-
178
- # Low disk space
179
- - name: "low_disk"
180
- condition: "disk_usage > 85%"
181
- duration: "15m"
182
- severity: "warning"
183
- channels: ["slack:#ops"]
184
- ```
185
-
186
- ### Alert Channels
187
-
188
- ```yaml
189
- monitoring:
190
- channels:
191
- slack:
192
- webhook_url_env: "SLACK_WEBHOOK_URL"
193
-
194
- pagerduty:
195
- api_key_env: "PAGERDUTY_API_KEY"
196
- service_id: "P123ABC"
197
-
198
- email:
199
- smtp_host: "smtp.example.com"
200
- recipients:
201
- - "oncall@example.com"
202
- ```
203
-
204
- ---
205
-
206
- ## Dashboards
207
-
208
- ### Key Dashboard Panels
209
-
210
- ```
211
- ┌─────────────────────────────────────────────────────────────┐
212
- │ Application Dashboard │
213
- ├─────────────────────────────────────────────────────────────┤
214
- │ │
215
- │ ┌───────────────┐ ┌───────────────┐ ┌───────────────┐ │
216
- │ │ Request Rate │ │ Error Rate │ │ P99 Latency │ │
217
- │ │ 1,234/s │ │ 0.5% │ │ 250ms │ │
218
- │ │ ▲ 5% │ │ ▼ 0.1% │ │ ▼ 10ms │ │
219
- │ └───────────────┘ └───────────────┘ └───────────────┘ │
220
- │ │
221
- │ ┌─────────────────────────────────────────────────────────┐│
222
- │ │ Request Rate Over Time ││
223
- │ │ [Chart showing requests per second over 24 hours] ││
224
- │ └─────────────────────────────────────────────────────────┘│
225
- │ │
226
- │ ┌─────────────────────────────────────────────────────────┐│
227
- │ │ Error Rate by Endpoint ││
228
- │ │ /api/users ████░░░░░░ 2% ││
229
- │ │ /api/orders ██░░░░░░░░ 0.5% ││
230
- │ │ /api/payments ███░░░░░░░ 1% ││
231
- │ └─────────────────────────────────────────────────────────┘│
232
- │ │
233
- │ ┌───────────────┐ ┌───────────────┐ ┌───────────────┐ │
234
- │ │ CPU Usage │ │ Memory │ │ DB Pool │ │
235
- │ │ 45% │ │ 2.1 GB │ │ 12/20 │ │
236
- │ └───────────────┘ └───────────────┘ └───────────────┘ │
237
- │ │
238
- └─────────────────────────────────────────────────────────────┘
239
- ```
240
-
241
- ---
242
-
243
- ## Commands
244
-
245
- ```bash
246
- # Check application health
247
- proagents monitor health
248
-
249
- # View current metrics
250
- proagents monitor metrics
251
-
252
- # Test alerting
253
- proagents monitor test-alert high_error_rate
254
-
255
- # View active alerts
256
- proagents monitor alerts
257
-
258
- # Export dashboard config
259
- proagents monitor export-dashboard --format grafana
260
- ```
261
-
262
- ---
263
-
264
- ## Configuration
265
-
266
- ```yaml
267
- # proagents.config.yaml
268
- monitoring:
269
- enabled: true
270
-
271
- # Metrics
272
- metrics:
273
- enabled: true
274
- endpoint: "/metrics"
275
- provider: "prometheus" # prometheus, datadog, cloudwatch
276
-
277
- # Health checks
278
- health:
279
- endpoint: "/health"
280
- interval: "30s"
281
- timeout: "10s"
282
-
283
- # Tracing
284
- tracing:
285
- enabled: true
286
- provider: "jaeger"
287
- sample_rate: 0.1 # 10% of requests
288
-
289
- # Uptime monitoring
290
- uptime:
291
- provider: "pingdom"
292
- check_interval: "1m"
293
- endpoints:
294
- - "https://api.example.com/health"
295
- ```
296
-
297
- ---
298
-
299
- ## Best Practices
300
-
301
- 1. **Monitor the Four Golden Signals**: Latency, traffic, errors, saturation
302
- 2. **Set Meaningful Alerts**: Actionable, not noisy
303
- 3. **Use Dashboards**: Visualize trends and patterns
304
- 4. **Track Business Metrics**: Not just technical metrics
305
- 5. **Implement Distributed Tracing**: For microservices
306
- 6. **Monitor Dependencies**: External services and databases
307
- 7. **Test Alerting**: Regularly verify alerts work
308
- 8. **Document Runbooks**: What to do when alerts fire