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.
- package/.claude/settings.local.json +169 -0
- package/COMMANDS.md +595 -0
- package/README.md +22 -64
- package/bin/proagents.js +0 -2
- package/lib/commands/init.js +4 -174
- 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,517 +0,0 @@
|
|
|
1
|
-
# Deployment Metrics
|
|
2
|
-
|
|
3
|
-
Track delivery performance using DORA metrics and deployment analytics.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Prompt Template
|
|
8
|
-
|
|
9
|
-
```
|
|
10
|
-
Analyze deployment metrics for this project:
|
|
11
|
-
|
|
12
|
-
Project: {project_name}
|
|
13
|
-
Period: {date_range}
|
|
14
|
-
Environment: {environment}
|
|
15
|
-
|
|
16
|
-
Available Data:
|
|
17
|
-
- Deployments: {deployment_history}
|
|
18
|
-
- Incidents: {incident_data}
|
|
19
|
-
- Release notes: {release_data}
|
|
20
|
-
|
|
21
|
-
Calculate DORA metrics:
|
|
22
|
-
1. Deployment Frequency
|
|
23
|
-
2. Lead Time for Changes
|
|
24
|
-
3. Change Failure Rate
|
|
25
|
-
4. Mean Time to Recovery (MTTR)
|
|
26
|
-
|
|
27
|
-
Also analyze:
|
|
28
|
-
- Deployment success rate
|
|
29
|
-
- Rollback frequency
|
|
30
|
-
- Environment stability
|
|
31
|
-
- Release quality trends
|
|
32
|
-
|
|
33
|
-
Provide:
|
|
34
|
-
- Current performance level (Elite/High/Medium/Low)
|
|
35
|
-
- Trend analysis
|
|
36
|
-
- Bottleneck identification
|
|
37
|
-
- Improvement recommendations
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
---
|
|
41
|
-
|
|
42
|
-
## DORA Metrics
|
|
43
|
-
|
|
44
|
-
### Deployment Frequency
|
|
45
|
-
|
|
46
|
-
How often code is deployed to production.
|
|
47
|
-
|
|
48
|
-
```yaml
|
|
49
|
-
deployment_frequency:
|
|
50
|
-
calculation: "deployments_per_period"
|
|
51
|
-
|
|
52
|
-
performance_levels:
|
|
53
|
-
elite: "multiple_per_day"
|
|
54
|
-
high: "daily_to_weekly"
|
|
55
|
-
medium: "weekly_to_monthly"
|
|
56
|
-
low: "monthly_or_less"
|
|
57
|
-
|
|
58
|
-
tracking:
|
|
59
|
-
environment: "production"
|
|
60
|
-
exclude:
|
|
61
|
-
- "config_only"
|
|
62
|
-
- "rollback"
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
**Collection:**
|
|
66
|
-
```typescript
|
|
67
|
-
interface DeploymentFrequency {
|
|
68
|
-
period: string;
|
|
69
|
-
totalDeployments: number;
|
|
70
|
-
frequency: 'multiple_per_day' | 'daily' | 'weekly' | 'monthly' | 'less_frequent';
|
|
71
|
-
performanceLevel: 'elite' | 'high' | 'medium' | 'low';
|
|
72
|
-
byDay: Map<string, number>;
|
|
73
|
-
trend: 'improving' | 'stable' | 'degrading';
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
async function calculateDeploymentFrequency(
|
|
77
|
-
deployments: Deployment[],
|
|
78
|
-
periodDays: number
|
|
79
|
-
): Promise<DeploymentFrequency> {
|
|
80
|
-
const avgPerDay = deployments.length / periodDays;
|
|
81
|
-
|
|
82
|
-
let frequency: string;
|
|
83
|
-
let level: string;
|
|
84
|
-
|
|
85
|
-
if (avgPerDay > 1) {
|
|
86
|
-
frequency = 'multiple_per_day';
|
|
87
|
-
level = 'elite';
|
|
88
|
-
} else if (avgPerDay >= 1/7) {
|
|
89
|
-
frequency = 'daily_to_weekly';
|
|
90
|
-
level = 'high';
|
|
91
|
-
} else if (avgPerDay >= 1/30) {
|
|
92
|
-
frequency = 'weekly_to_monthly';
|
|
93
|
-
level = 'medium';
|
|
94
|
-
} else {
|
|
95
|
-
frequency = 'less_frequent';
|
|
96
|
-
level = 'low';
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
return {
|
|
100
|
-
period: `${periodDays} days`,
|
|
101
|
-
totalDeployments: deployments.length,
|
|
102
|
-
frequency,
|
|
103
|
-
performanceLevel: level,
|
|
104
|
-
byDay: groupDeploymentsByDay(deployments),
|
|
105
|
-
trend: calculateTrend(deployments),
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
**Dashboard:**
|
|
111
|
-
```
|
|
112
|
-
Deployment Frequency - Last 30 Days
|
|
113
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
114
|
-
Total Deployments: 47
|
|
115
|
-
Average: 1.6 per day
|
|
116
|
-
|
|
117
|
-
Performance: ELITE ⭐
|
|
118
|
-
|
|
119
|
-
Distribution:
|
|
120
|
-
Mon: ████████░░ 8
|
|
121
|
-
Tue: ██████████ 10
|
|
122
|
-
Wed: ███████░░░ 7
|
|
123
|
-
Thu: █████████░ 9
|
|
124
|
-
Fri: ████████░░ 8
|
|
125
|
-
Sat: ██░░░░░░░░ 2
|
|
126
|
-
Sun: ███░░░░░░░ 3
|
|
127
|
-
|
|
128
|
-
Trend: ↑ +15% vs previous period
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
---
|
|
132
|
-
|
|
133
|
-
### Lead Time for Changes
|
|
134
|
-
|
|
135
|
-
Time from commit to production deployment.
|
|
136
|
-
|
|
137
|
-
```yaml
|
|
138
|
-
lead_time:
|
|
139
|
-
calculation: "commit_to_production"
|
|
140
|
-
|
|
141
|
-
performance_levels:
|
|
142
|
-
elite: "< 1 hour"
|
|
143
|
-
high: "1 day - 1 week"
|
|
144
|
-
medium: "1 week - 1 month"
|
|
145
|
-
low: "> 1 month"
|
|
146
|
-
|
|
147
|
-
breakdown:
|
|
148
|
-
coding: "commit → PR opened"
|
|
149
|
-
review: "PR opened → PR merged"
|
|
150
|
-
staging: "PR merged → staging deploy"
|
|
151
|
-
production: "staging deploy → production deploy"
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
**Analysis:**
|
|
155
|
-
```typescript
|
|
156
|
-
interface LeadTimeMetrics {
|
|
157
|
-
average: Duration;
|
|
158
|
-
median: Duration;
|
|
159
|
-
percentile90: Duration;
|
|
160
|
-
performanceLevel: 'elite' | 'high' | 'medium' | 'low';
|
|
161
|
-
breakdown: {
|
|
162
|
-
coding: Duration;
|
|
163
|
-
review: Duration;
|
|
164
|
-
staging: Duration;
|
|
165
|
-
production: Duration;
|
|
166
|
-
};
|
|
167
|
-
bottleneck: string;
|
|
168
|
-
trend: 'improving' | 'stable' | 'degrading';
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
function analyzeLeadTime(changes: Change[]): LeadTimeMetrics {
|
|
172
|
-
const leadTimes = changes.map(c => c.productionTime - c.commitTime);
|
|
173
|
-
|
|
174
|
-
return {
|
|
175
|
-
average: average(leadTimes),
|
|
176
|
-
median: median(leadTimes),
|
|
177
|
-
percentile90: percentile(leadTimes, 90),
|
|
178
|
-
performanceLevel: classifyLeadTime(median(leadTimes)),
|
|
179
|
-
breakdown: calculateBreakdown(changes),
|
|
180
|
-
bottleneck: identifyBottleneck(changes),
|
|
181
|
-
trend: calculateTrend(changes),
|
|
182
|
-
};
|
|
183
|
-
}
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
**Report:**
|
|
187
|
-
```
|
|
188
|
-
Lead Time for Changes
|
|
189
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
190
|
-
Average: 4.2 hours
|
|
191
|
-
Median: 2.8 hours
|
|
192
|
-
90th %ile: 12.5 hours
|
|
193
|
-
|
|
194
|
-
Performance: ELITE ⭐ (< 1 day)
|
|
195
|
-
|
|
196
|
-
Breakdown:
|
|
197
|
-
Coding: ██████░░░░ 1.2h (28%)
|
|
198
|
-
Review: ████████░░ 1.8h (43%)
|
|
199
|
-
Staging: ███░░░░░░░ 0.6h (14%)
|
|
200
|
-
Production: ███░░░░░░░ 0.6h (14%)
|
|
201
|
-
|
|
202
|
-
Bottleneck: Code Review (43% of time)
|
|
203
|
-
Recommendation: Consider pair programming
|
|
204
|
-
or faster review cycles
|
|
205
|
-
```
|
|
206
|
-
|
|
207
|
-
---
|
|
208
|
-
|
|
209
|
-
### Change Failure Rate
|
|
210
|
-
|
|
211
|
-
Percentage of deployments causing failures.
|
|
212
|
-
|
|
213
|
-
```yaml
|
|
214
|
-
change_failure_rate:
|
|
215
|
-
calculation: "failures / total_deployments"
|
|
216
|
-
|
|
217
|
-
failure_types:
|
|
218
|
-
rollback: "Required immediate rollback"
|
|
219
|
-
hotfix: "Required hotfix within 24h"
|
|
220
|
-
incident: "Caused production incident"
|
|
221
|
-
|
|
222
|
-
performance_levels:
|
|
223
|
-
elite: "< 5%"
|
|
224
|
-
high: "5-10%"
|
|
225
|
-
medium: "10-15%"
|
|
226
|
-
low: "> 15%"
|
|
227
|
-
```
|
|
228
|
-
|
|
229
|
-
**Tracking:**
|
|
230
|
-
```typescript
|
|
231
|
-
interface ChangeFailureRate {
|
|
232
|
-
totalDeployments: number;
|
|
233
|
-
failedDeployments: number;
|
|
234
|
-
rate: number;
|
|
235
|
-
performanceLevel: 'elite' | 'high' | 'medium' | 'low';
|
|
236
|
-
byType: {
|
|
237
|
-
rollbacks: number;
|
|
238
|
-
hotfixes: number;
|
|
239
|
-
incidents: number;
|
|
240
|
-
};
|
|
241
|
-
recentFailures: FailedDeployment[];
|
|
242
|
-
trend: 'improving' | 'stable' | 'degrading';
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
interface FailedDeployment {
|
|
246
|
-
id: string;
|
|
247
|
-
date: Date;
|
|
248
|
-
type: 'rollback' | 'hotfix' | 'incident';
|
|
249
|
-
description: string;
|
|
250
|
-
rootCause: string;
|
|
251
|
-
resolution: string;
|
|
252
|
-
timeToRecover: Duration;
|
|
253
|
-
}
|
|
254
|
-
```
|
|
255
|
-
|
|
256
|
-
**Dashboard:**
|
|
257
|
-
```
|
|
258
|
-
Change Failure Rate - Last 30 Days
|
|
259
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
260
|
-
Total Deployments: 47
|
|
261
|
-
Failed Deployments: 2
|
|
262
|
-
Failure Rate: 4.3%
|
|
263
|
-
|
|
264
|
-
Performance: ELITE ⭐ (< 5%)
|
|
265
|
-
|
|
266
|
-
By Type:
|
|
267
|
-
Rollbacks: 1 (2.1%)
|
|
268
|
-
Hotfixes: 1 (2.1%)
|
|
269
|
-
Incidents: 0 (0%)
|
|
270
|
-
|
|
271
|
-
Recent Failures:
|
|
272
|
-
1. 2024-01-15: Rollback - Payment API timeout
|
|
273
|
-
Root Cause: Missing connection pool config
|
|
274
|
-
Recovery: 12 minutes
|
|
275
|
-
|
|
276
|
-
2. 2024-01-08: Hotfix - Auth redirect issue
|
|
277
|
-
Root Cause: Missing redirect URL
|
|
278
|
-
Recovery: 45 minutes
|
|
279
|
-
|
|
280
|
-
Trend: ↓ Improving (-2% vs previous period)
|
|
281
|
-
```
|
|
282
|
-
|
|
283
|
-
---
|
|
284
|
-
|
|
285
|
-
### Mean Time to Recovery (MTTR)
|
|
286
|
-
|
|
287
|
-
How long it takes to recover from failures.
|
|
288
|
-
|
|
289
|
-
```yaml
|
|
290
|
-
mttr:
|
|
291
|
-
calculation: "incident_start_to_resolution"
|
|
292
|
-
|
|
293
|
-
performance_levels:
|
|
294
|
-
elite: "< 1 hour"
|
|
295
|
-
high: "< 1 day"
|
|
296
|
-
medium: "1 day - 1 week"
|
|
297
|
-
low: "> 1 week"
|
|
298
|
-
|
|
299
|
-
tracking:
|
|
300
|
-
start: "incident_detected"
|
|
301
|
-
end: "service_restored"
|
|
302
|
-
|
|
303
|
-
breakdown:
|
|
304
|
-
detection: "Issue detected"
|
|
305
|
-
diagnosis: "Root cause identified"
|
|
306
|
-
fix: "Fix implemented"
|
|
307
|
-
verification: "Fix verified"
|
|
308
|
-
```
|
|
309
|
-
|
|
310
|
-
**Analysis:**
|
|
311
|
-
```typescript
|
|
312
|
-
interface MTTRMetrics {
|
|
313
|
-
average: Duration;
|
|
314
|
-
median: Duration;
|
|
315
|
-
performanceLevel: 'elite' | 'high' | 'medium' | 'low';
|
|
316
|
-
breakdown: {
|
|
317
|
-
detection: Duration;
|
|
318
|
-
diagnosis: Duration;
|
|
319
|
-
fix: Duration;
|
|
320
|
-
verification: Duration;
|
|
321
|
-
};
|
|
322
|
-
byIncidentType: Map<string, Duration>;
|
|
323
|
-
trend: 'improving' | 'stable' | 'degrading';
|
|
324
|
-
}
|
|
325
|
-
```
|
|
326
|
-
|
|
327
|
-
**Report:**
|
|
328
|
-
```
|
|
329
|
-
Mean Time to Recovery
|
|
330
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
331
|
-
Average MTTR: 28 minutes
|
|
332
|
-
Median MTTR: 22 minutes
|
|
333
|
-
|
|
334
|
-
Performance: ELITE ⭐ (< 1 hour)
|
|
335
|
-
|
|
336
|
-
Recovery Breakdown:
|
|
337
|
-
Detection: ███░░░░░░░ 5 min (18%)
|
|
338
|
-
Diagnosis: █████░░░░░ 10 min (36%)
|
|
339
|
-
Fix: ████░░░░░░ 8 min (29%)
|
|
340
|
-
Verification: ████░░░░░░ 5 min (18%)
|
|
341
|
-
|
|
342
|
-
By Incident Type:
|
|
343
|
-
API Issues: 18 min
|
|
344
|
-
Database: 35 min
|
|
345
|
-
Infrastructure: 42 min
|
|
346
|
-
Auth/Security: 25 min
|
|
347
|
-
|
|
348
|
-
Trend: ↓ Improving (-15% vs previous period)
|
|
349
|
-
```
|
|
350
|
-
|
|
351
|
-
---
|
|
352
|
-
|
|
353
|
-
## DORA Performance Summary
|
|
354
|
-
|
|
355
|
-
```
|
|
356
|
-
DORA Metrics Summary - Q1 2024
|
|
357
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
358
|
-
Metric Value Level
|
|
359
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
360
|
-
Deployment Frequency 1.6/day ELITE ⭐
|
|
361
|
-
Lead Time for Changes 2.8 hours ELITE ⭐
|
|
362
|
-
Change Failure Rate 4.3% ELITE ⭐
|
|
363
|
-
MTTR 22 minutes ELITE ⭐
|
|
364
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
365
|
-
Overall Performance: ELITE ⭐
|
|
366
|
-
|
|
367
|
-
Comparison to Industry:
|
|
368
|
-
You are performing better than 95% of organizations.
|
|
369
|
-
|
|
370
|
-
Key Strengths:
|
|
371
|
-
- Fast deployment cadence
|
|
372
|
-
- Quick recovery from issues
|
|
373
|
-
- Low failure rate
|
|
374
|
-
|
|
375
|
-
Areas for Improvement:
|
|
376
|
-
- Reduce code review time
|
|
377
|
-
- Automate more staging tests
|
|
378
|
-
```
|
|
379
|
-
|
|
380
|
-
---
|
|
381
|
-
|
|
382
|
-
## Additional Deployment Metrics
|
|
383
|
-
|
|
384
|
-
### Deployment Success Rate
|
|
385
|
-
|
|
386
|
-
```yaml
|
|
387
|
-
deployment_success:
|
|
388
|
-
metrics:
|
|
389
|
-
success_rate: "successful / total"
|
|
390
|
-
first_time_success: "no retries needed"
|
|
391
|
-
rollback_rate: "rollbacks / total"
|
|
392
|
-
|
|
393
|
-
targets:
|
|
394
|
-
success_rate: "> 98%"
|
|
395
|
-
first_time_success: "> 95%"
|
|
396
|
-
rollback_rate: "< 2%"
|
|
397
|
-
```
|
|
398
|
-
|
|
399
|
-
### Environment Stability
|
|
400
|
-
|
|
401
|
-
```yaml
|
|
402
|
-
environment_stability:
|
|
403
|
-
metrics:
|
|
404
|
-
uptime: "percentage available"
|
|
405
|
-
incident_frequency: "incidents per period"
|
|
406
|
-
degradation_time: "time in degraded state"
|
|
407
|
-
|
|
408
|
-
by_environment:
|
|
409
|
-
production:
|
|
410
|
-
sla: "99.9%"
|
|
411
|
-
monitoring: "continuous"
|
|
412
|
-
staging:
|
|
413
|
-
sla: "99%"
|
|
414
|
-
monitoring: "business_hours"
|
|
415
|
-
```
|
|
416
|
-
|
|
417
|
-
### Release Quality
|
|
418
|
-
|
|
419
|
-
```yaml
|
|
420
|
-
release_quality:
|
|
421
|
-
metrics:
|
|
422
|
-
bugs_per_release: "bugs found post-deploy"
|
|
423
|
-
customer_impact: "users affected by issues"
|
|
424
|
-
security_issues: "vulnerabilities introduced"
|
|
425
|
-
|
|
426
|
-
tracking:
|
|
427
|
-
window: "7 days post release"
|
|
428
|
-
severity_weighting: true
|
|
429
|
-
```
|
|
430
|
-
|
|
431
|
-
---
|
|
432
|
-
|
|
433
|
-
## Collection & Integration
|
|
434
|
-
|
|
435
|
-
### CI/CD Integration
|
|
436
|
-
|
|
437
|
-
```yaml
|
|
438
|
-
# .github/workflows/deploy.yml
|
|
439
|
-
- name: Record Deployment
|
|
440
|
-
run: |
|
|
441
|
-
proagents metrics deployment record \
|
|
442
|
-
--environment production \
|
|
443
|
-
--commit ${{ github.sha }} \
|
|
444
|
-
--status success \
|
|
445
|
-
--duration ${{ steps.deploy.outputs.duration }}
|
|
446
|
-
```
|
|
447
|
-
|
|
448
|
-
### Incident Tracking
|
|
449
|
-
|
|
450
|
-
```yaml
|
|
451
|
-
# proagents.config.yaml
|
|
452
|
-
metrics:
|
|
453
|
-
deployment:
|
|
454
|
-
incident_sources:
|
|
455
|
-
- pagerduty
|
|
456
|
-
- opsgenie
|
|
457
|
-
- datadog
|
|
458
|
-
|
|
459
|
-
auto_correlate: true
|
|
460
|
-
track_resolution: true
|
|
461
|
-
```
|
|
462
|
-
|
|
463
|
-
---
|
|
464
|
-
|
|
465
|
-
## Commands
|
|
466
|
-
|
|
467
|
-
```bash
|
|
468
|
-
# View DORA dashboard
|
|
469
|
-
pa:metrics dora
|
|
470
|
-
|
|
471
|
-
# Deployment frequency
|
|
472
|
-
pa:metrics deployments --frequency
|
|
473
|
-
|
|
474
|
-
# Lead time analysis
|
|
475
|
-
pa:metrics deployments --lead-time
|
|
476
|
-
|
|
477
|
-
# Failure rate
|
|
478
|
-
pa:metrics deployments --failures
|
|
479
|
-
|
|
480
|
-
# MTTR analysis
|
|
481
|
-
pa:metrics deployments --mttr
|
|
482
|
-
|
|
483
|
-
# Generate DORA report
|
|
484
|
-
pa:metrics dora --report --period quarterly
|
|
485
|
-
```
|
|
486
|
-
|
|
487
|
-
---
|
|
488
|
-
|
|
489
|
-
## Improvement Strategies
|
|
490
|
-
|
|
491
|
-
### Improving Deployment Frequency
|
|
492
|
-
|
|
493
|
-
1. **Smaller Batches**: Deploy smaller changes more often
|
|
494
|
-
2. **Feature Flags**: Decouple deployment from release
|
|
495
|
-
3. **Automated Testing**: Reduce manual testing gates
|
|
496
|
-
4. **Trunk-Based Development**: Reduce branch complexity
|
|
497
|
-
|
|
498
|
-
### Reducing Lead Time
|
|
499
|
-
|
|
500
|
-
1. **CI/CD Optimization**: Faster pipelines
|
|
501
|
-
2. **Parallel Testing**: Run tests concurrently
|
|
502
|
-
3. **Auto-Deployment**: Automatic staging deploys
|
|
503
|
-
4. **Fast Reviews**: Smaller PRs, faster reviews
|
|
504
|
-
|
|
505
|
-
### Lowering Failure Rate
|
|
506
|
-
|
|
507
|
-
1. **Better Testing**: Comprehensive test coverage
|
|
508
|
-
2. **Canary Releases**: Gradual rollouts
|
|
509
|
-
3. **Feature Flags**: Quick disable capability
|
|
510
|
-
4. **Pre-Deploy Checks**: Automated quality gates
|
|
511
|
-
|
|
512
|
-
### Reducing MTTR
|
|
513
|
-
|
|
514
|
-
1. **Better Monitoring**: Faster detection
|
|
515
|
-
2. **Runbooks**: Standard recovery procedures
|
|
516
|
-
3. **Automated Rollback**: Quick reversion
|
|
517
|
-
4. **On-Call Training**: Prepared responders
|