proagents 1.0.17 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +309 -77
- package/bin/proagents.js +17 -0
- package/lib/commands/doctor.js +305 -0
- package/lib/commands/init.js +180 -6
- package/lib/commands/upgrade.js +180 -0
- package/package.json +1 -1
- package/proagents/AI_INSTRUCTIONS.md +543 -9
- package/proagents/PROAGENTS.md +92 -11
- package/proagents/activity.log +11 -0
- package/proagents/checkpoints.json +13 -0
- package/proagents/context.md +39 -0
- package/proagents/custom-commands.yaml +59 -0
- package/proagents/decisions.md +43 -0
- package/proagents/errors.md +36 -0
- package/proagents/feedback.md +49 -0
- package/proagents/handoff.md +33 -0
- package/proagents/history.log +12 -0
- package/proagents/metrics/README.md +57 -162
- package/proagents/sessions/README.md +5 -0
- package/proagents/sprints/README.md +58 -0
- package/proagents/watchlist.yaml +39 -0
package/proagents/PROAGENTS.md
CHANGED
|
@@ -2,7 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
Execute these commands when user types them (prefix: `pa:`):
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## Quick Aliases
|
|
6
|
+
`pa:f` → feature | `pa:s` → status | `pa:h` → help | `pa:d` → doc | `pa:t` → test | `pa:q` → qa | `pa:a` → analyze | `pa:r` → requirements | `pa:p` → plan | `pa:i` → implement
|
|
7
|
+
|
|
8
|
+
> **Multi-AI Note:** Multiple AIs may work on this project. Always read `./proagents/activity.log` before executing commands, and log your actions after completing them.
|
|
6
9
|
|
|
7
10
|
## Commands
|
|
8
11
|
|
|
@@ -11,6 +14,11 @@ Execute these commands when user types them (prefix: `pa:`):
|
|
|
11
14
|
| `pa:help` | Show this command table |
|
|
12
15
|
| `pa:feature "name"` | Create `./proagents/active-features/feature-[name]/`, analyze codebase, implement feature |
|
|
13
16
|
| `pa:fix "description"` | Find bug, fix it, update `./CHANGELOG.md` |
|
|
17
|
+
| `pa:analyze` | Deep codebase analysis → `./proagents/cache/` |
|
|
18
|
+
| `pa:requirements` | Gather requirements → `./proagents/active-features/` |
|
|
19
|
+
| `pa:design` | UI/Architecture design phase |
|
|
20
|
+
| `pa:plan` | Create implementation plan |
|
|
21
|
+
| `pa:implement` | Execute implementation phase |
|
|
14
22
|
| `pa:status` | Read `./proagents/active-features/*/status.json`, show progress |
|
|
15
23
|
| `pa:qa` | Check code quality, run tests, report issues |
|
|
16
24
|
| `pa:test` | Create/run tests for current work |
|
|
@@ -21,19 +29,92 @@ Execute these commands when user types them (prefix: `pa:`):
|
|
|
21
29
|
| `pa:ai-add` | Show platform options, create AI instruction files |
|
|
22
30
|
| `pa:ai-remove` | Show installed platforms, remove selected files |
|
|
23
31
|
| `pa:ai-sync` | Sync config with existing files (fix mismatches) |
|
|
32
|
+
| `pa:activity` | Show recent AI activity from `./proagents/activity.log` |
|
|
33
|
+
| `pa:lock` | Show lock status, check if another AI is working |
|
|
34
|
+
| `pa:lock-release` | Release your lock after completing work |
|
|
35
|
+
| `pa:handoff` | Create handoff notes → `./proagents/handoff.md` |
|
|
36
|
+
| `pa:handoff-read` | Read handoff notes before starting work |
|
|
37
|
+
| `pa:session-end` | Generate session summary → `./proagents/sessions/` |
|
|
38
|
+
| `pa:decision "title"` | Log architectural decision → `./proagents/decisions.md` |
|
|
39
|
+
| `pa:error "desc"` | Log error & solution → `./proagents/errors.md` |
|
|
40
|
+
| `pa:feedback "desc"` | Log feedback for AI learning → `./proagents/feedback.md` |
|
|
41
|
+
| `pa:standup` | Generate daily standup summary |
|
|
42
|
+
| `pa:tech-debt` | Scan for technical debt |
|
|
43
|
+
|
|
44
|
+
## Navigation & Flow
|
|
45
|
+
|
|
46
|
+
| Command | What to Do |
|
|
47
|
+
|---------|------------|
|
|
48
|
+
| `pa:next` | Show next step in current workflow |
|
|
49
|
+
| `pa:resume` | Resume paused feature from last checkpoint |
|
|
50
|
+
| `pa:skip` | Skip current phase, move to next |
|
|
51
|
+
| `pa:back` | Go back to previous phase |
|
|
52
|
+
| `pa:progress` | Show visual progress bar |
|
|
53
|
+
|
|
54
|
+
## Context & History
|
|
55
|
+
|
|
56
|
+
| Command | What to Do |
|
|
57
|
+
|---------|------------|
|
|
58
|
+
| `pa:context` | View project context |
|
|
59
|
+
| `pa:diff` | Show changes since last session |
|
|
60
|
+
| `pa:history` | Show command history with results |
|
|
61
|
+
| `pa:checkpoint` | Create snapshot/restore point |
|
|
62
|
+
| `pa:undo` | Undo last AI action (git revert) |
|
|
63
|
+
|
|
64
|
+
## Sprint & Estimation
|
|
65
|
+
|
|
66
|
+
| Command | What to Do |
|
|
67
|
+
|---------|------------|
|
|
68
|
+
| `pa:sprint-start` | Start new sprint → `./proagents/sprints/` |
|
|
69
|
+
| `pa:sprint-end` | End sprint with summary |
|
|
70
|
+
| `pa:estimate` | Estimate task complexity (S/M/L/XL) |
|
|
71
|
+
| `pa:velocity` | Show velocity metrics |
|
|
72
|
+
|
|
73
|
+
## Integration
|
|
74
|
+
|
|
75
|
+
| Command | What to Do |
|
|
76
|
+
|---------|------------|
|
|
77
|
+
| `pa:github` | GitHub commands (issue, PR) |
|
|
78
|
+
| `pa:github-pr` | Create pull request |
|
|
79
|
+
| `pa:jira` | Sync with Jira ticket |
|
|
80
|
+
| `pa:notify` | Send notification (Slack/email) |
|
|
81
|
+
|
|
82
|
+
## Code Quality
|
|
83
|
+
|
|
84
|
+
| Command | What to Do |
|
|
85
|
+
|---------|------------|
|
|
86
|
+
| `pa:metrics` | Show code quality metrics |
|
|
87
|
+
| `pa:coverage` | Show test coverage report |
|
|
88
|
+
| `pa:deps` | Analyze dependencies |
|
|
89
|
+
| `pa:deps-outdated` | Find outdated packages |
|
|
90
|
+
| `pa:deps-security` | Security scan dependencies |
|
|
91
|
+
|
|
92
|
+
## Key Files to Read
|
|
93
|
+
|
|
94
|
+
| File | Purpose |
|
|
95
|
+
|------|---------|
|
|
96
|
+
| `./proagents/context.md` | Persistent project context (READ FIRST!) |
|
|
97
|
+
| `./proagents/feedback.md` | Past corrections - don't repeat mistakes |
|
|
98
|
+
| `./proagents/watchlist.yaml` | Files requiring confirmation before changes |
|
|
99
|
+
| `./proagents/errors.md` | Past errors and solutions |
|
|
100
|
+
| `./proagents/decisions.md` | Architectural decisions and reasoning |
|
|
24
101
|
|
|
25
102
|
## Feature Workflow
|
|
26
103
|
|
|
27
|
-
`pa:feature`
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
104
|
+
`pa:feature` runs all phases, or run individually:
|
|
105
|
+
|
|
106
|
+
| Phase | Command | Action |
|
|
107
|
+
|-------|---------|--------|
|
|
108
|
+
| 1. Init | `pa:feature "name"` | Create tracking files |
|
|
109
|
+
| 2. Analysis | `pa:analyze` | Understand existing code |
|
|
110
|
+
| 3. Requirements | `pa:requirements` | Define what to build |
|
|
111
|
+
| 4. Design | `pa:design` | Plan UI/architecture |
|
|
112
|
+
| 5. Planning | `pa:plan` | Create implementation plan |
|
|
113
|
+
| 6. Implementation | `pa:implement` | Write code |
|
|
114
|
+
| 7. Testing | `pa:test` | Create/run tests |
|
|
115
|
+
| 8. Review | `pa:review` | Quality check |
|
|
116
|
+
| 9. Documentation | `pa:doc` | Update docs |
|
|
117
|
+
| 10. Deployment | `pa:deploy` | Prepare release |
|
|
37
118
|
|
|
38
119
|
## Save Locations
|
|
39
120
|
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# ProAgents Activity Log
|
|
2
|
+
# Format: [TIMESTAMP] [AI_PLATFORM:MODEL] [COMMAND] Description
|
|
3
|
+
# This file helps multiple AIs stay in sync by logging their actions.
|
|
4
|
+
#
|
|
5
|
+
# Example:
|
|
6
|
+
# 2024-03-06 15:10 [Claude:opus-4] [pa:feature] Started feature "user-auth"
|
|
7
|
+
# 2024-03-06 15:12 [Cursor:gpt-4o] [pa:fix] Fixed login button bug
|
|
8
|
+
# 2024-03-06 15:15 [Gemini:1.5-pro] [pa:doc] Updated API documentation
|
|
9
|
+
#
|
|
10
|
+
# --- Activity Log Start ---
|
|
11
|
+
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"checkpoints": [],
|
|
3
|
+
"_comment": "Checkpoints are created with pa:checkpoint command",
|
|
4
|
+
"_format": {
|
|
5
|
+
"id": "cp-001",
|
|
6
|
+
"timestamp": "2024-03-06T15:00:00Z",
|
|
7
|
+
"commit": "abc123def",
|
|
8
|
+
"description": "Before major refactor",
|
|
9
|
+
"feature": "feature-name",
|
|
10
|
+
"phase": "implementation",
|
|
11
|
+
"created_by": "Claude:opus-4"
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Project Context
|
|
2
|
+
|
|
3
|
+
> This file contains persistent context that ALL AIs should read at the start of every session.
|
|
4
|
+
> Update this file with important information that should be remembered across sessions.
|
|
5
|
+
|
|
6
|
+
## Project Overview
|
|
7
|
+
<!-- Describe what this project does -->
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
## Key Decisions
|
|
11
|
+
<!-- Important architectural or technical decisions -->
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## Current Focus
|
|
15
|
+
<!-- What is the team currently working on? -->
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
## Important Notes
|
|
19
|
+
<!-- Gotchas, workarounds, things to remember -->
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## Do NOT Touch
|
|
23
|
+
<!-- Files or areas that should not be modified -->
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
## Credentials & Secrets
|
|
27
|
+
<!-- WHERE secrets are stored (never the actual values!) -->
|
|
28
|
+
- Environment variables: `.env.local`
|
|
29
|
+
- API keys: Never commit to git
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
## Useful Commands
|
|
33
|
+
<!-- Project-specific commands that are helpful -->
|
|
34
|
+
```bash
|
|
35
|
+
# Example: npm run dev
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
*Keep this file updated. All AIs read it before starting work.*
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Custom Commands
|
|
2
|
+
# Define your own pa: commands that AI will recognize and execute.
|
|
3
|
+
#
|
|
4
|
+
# Format:
|
|
5
|
+
# command_name:
|
|
6
|
+
# description: "What this command does"
|
|
7
|
+
# steps:
|
|
8
|
+
# - "Step 1 instruction"
|
|
9
|
+
# - "Step 2 instruction"
|
|
10
|
+
# files_to_read: [] # Optional: files AI should read first
|
|
11
|
+
# output: "file.md" # Optional: where to save output
|
|
12
|
+
|
|
13
|
+
# Example custom commands (uncomment to use):
|
|
14
|
+
|
|
15
|
+
# pa:standup
|
|
16
|
+
standup:
|
|
17
|
+
description: "Generate daily standup summary"
|
|
18
|
+
steps:
|
|
19
|
+
- "Read ./proagents/activity.log for today's entries"
|
|
20
|
+
- "Read ./proagents/active-features/ for current work"
|
|
21
|
+
- "Summarize: What was done yesterday, what's planned today, any blockers"
|
|
22
|
+
output: "stdout"
|
|
23
|
+
|
|
24
|
+
# pa:sprint-review
|
|
25
|
+
sprint_review:
|
|
26
|
+
description: "Generate sprint review summary"
|
|
27
|
+
steps:
|
|
28
|
+
- "Read all session summaries from ./proagents/sessions/"
|
|
29
|
+
- "Read ./CHANGELOG.md for completed features"
|
|
30
|
+
- "Generate sprint review with completed items, metrics, and highlights"
|
|
31
|
+
output: "./proagents/sprint-reviews/YYYY-MM-DD.md"
|
|
32
|
+
|
|
33
|
+
# pa:tech-debt
|
|
34
|
+
tech_debt:
|
|
35
|
+
description: "Scan for and document technical debt"
|
|
36
|
+
steps:
|
|
37
|
+
- "Search for TODO, FIXME, HACK comments in codebase"
|
|
38
|
+
- "Check for deprecated dependencies"
|
|
39
|
+
- "Document findings in ./proagents/tech-debt.md"
|
|
40
|
+
output: "./proagents/tech-debt.md"
|
|
41
|
+
|
|
42
|
+
# pa:security-scan
|
|
43
|
+
security_scan:
|
|
44
|
+
description: "Run security checklist"
|
|
45
|
+
steps:
|
|
46
|
+
- "Read ./proagents/checklists/security.md"
|
|
47
|
+
- "Check for hardcoded secrets in code"
|
|
48
|
+
- "Review authentication/authorization code"
|
|
49
|
+
- "Generate security report"
|
|
50
|
+
files_to_read:
|
|
51
|
+
- "./proagents/security/owasp-checklist.md"
|
|
52
|
+
output: "./proagents/security-report.md"
|
|
53
|
+
|
|
54
|
+
# Add your own commands below:
|
|
55
|
+
# my_command:
|
|
56
|
+
# description: "What it does"
|
|
57
|
+
# steps:
|
|
58
|
+
# - "Step 1"
|
|
59
|
+
# - "Step 2"
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Decision Log
|
|
2
|
+
|
|
3
|
+
> Track important architectural and technical decisions made during development.
|
|
4
|
+
> This helps future AIs (and humans) understand WHY certain choices were made.
|
|
5
|
+
|
|
6
|
+
## How to Log Decisions
|
|
7
|
+
|
|
8
|
+
Use `pa:decision "title"` or add manually:
|
|
9
|
+
|
|
10
|
+
```markdown
|
|
11
|
+
### [DATE] Decision Title
|
|
12
|
+
**Status:** Accepted | Rejected | Superseded
|
|
13
|
+
**Decided by:** AI/Human name
|
|
14
|
+
**Context:** Why was this decision needed?
|
|
15
|
+
**Decision:** What was decided?
|
|
16
|
+
**Alternatives Considered:**
|
|
17
|
+
- Option A: ...
|
|
18
|
+
- Option B: ...
|
|
19
|
+
**Consequences:** What are the implications?
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Decisions
|
|
25
|
+
|
|
26
|
+
<!-- Add new decisions below this line -->
|
|
27
|
+
|
|
28
|
+
### [TEMPLATE] Example Decision
|
|
29
|
+
**Status:** Accepted
|
|
30
|
+
**Decided by:** Claude (opus-4)
|
|
31
|
+
**Context:** Needed to choose a state management solution for the React app.
|
|
32
|
+
**Decision:** Use Zustand over Redux
|
|
33
|
+
**Alternatives Considered:**
|
|
34
|
+
- Redux: Too much boilerplate for our needs
|
|
35
|
+
- Context API: Not powerful enough for complex state
|
|
36
|
+
- Jotai: Good but team less familiar with it
|
|
37
|
+
**Consequences:**
|
|
38
|
+
- Simpler codebase
|
|
39
|
+
- Faster development
|
|
40
|
+
- Team needs to learn Zustand patterns
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Error Tracker
|
|
2
|
+
|
|
3
|
+
> Log errors encountered during development and their solutions.
|
|
4
|
+
> This helps AIs avoid repeating the same mistakes and find solutions faster.
|
|
5
|
+
|
|
6
|
+
## How to Log Errors
|
|
7
|
+
|
|
8
|
+
Use `pa:error "description"` or add manually when you encounter and solve an error.
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Error Log
|
|
13
|
+
|
|
14
|
+
<!-- Add new errors below this line, newest first -->
|
|
15
|
+
|
|
16
|
+
### [TEMPLATE] Example Error
|
|
17
|
+
**Date:** 2024-03-06
|
|
18
|
+
**Logged by:** Claude (opus-4)
|
|
19
|
+
**Error:**
|
|
20
|
+
```
|
|
21
|
+
TypeError: Cannot read property 'map' of undefined
|
|
22
|
+
```
|
|
23
|
+
**File:** src/components/UserList.tsx:42
|
|
24
|
+
**Cause:** API returned null instead of empty array when no users exist
|
|
25
|
+
**Solution:**
|
|
26
|
+
```typescript
|
|
27
|
+
// Before
|
|
28
|
+
users.map(user => ...)
|
|
29
|
+
|
|
30
|
+
// After
|
|
31
|
+
(users || []).map(user => ...)
|
|
32
|
+
```
|
|
33
|
+
**Prevention:** Always provide default values for arrays from API responses
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# AI Feedback Log
|
|
2
|
+
|
|
3
|
+
> Track corrections and feedback to help AIs learn from mistakes.
|
|
4
|
+
> When an AI makes a mistake or user provides correction, log it here.
|
|
5
|
+
|
|
6
|
+
## How to Log Feedback
|
|
7
|
+
|
|
8
|
+
Use `pa:feedback "description"` or add manually.
|
|
9
|
+
|
|
10
|
+
Types:
|
|
11
|
+
- **correction**: AI did something wrong, here's the fix
|
|
12
|
+
- **preference**: User prefers things done a certain way
|
|
13
|
+
- **praise**: AI did something well (reinforcement)
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Feedback Log
|
|
18
|
+
|
|
19
|
+
<!-- Add new feedback below, newest first -->
|
|
20
|
+
|
|
21
|
+
### [TEMPLATE] Example Correction
|
|
22
|
+
**Date:** 2024-03-06
|
|
23
|
+
**Type:** correction
|
|
24
|
+
**AI:** Claude (opus-4)
|
|
25
|
+
**Context:** AI generated a React component
|
|
26
|
+
**Issue:** Used class components instead of functional components
|
|
27
|
+
**Correction:** This project uses functional components with hooks only. Never use class components.
|
|
28
|
+
**Apply to:** All React components in this project
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
### [TEMPLATE] Example Preference
|
|
33
|
+
**Date:** 2024-03-06
|
|
34
|
+
**Type:** preference
|
|
35
|
+
**AI:** Cursor (gpt-4o)
|
|
36
|
+
**Context:** Code style
|
|
37
|
+
**Preference:** Always use explicit return types in TypeScript functions
|
|
38
|
+
**Example:**
|
|
39
|
+
```typescript
|
|
40
|
+
// Don't do this
|
|
41
|
+
const add = (a: number, b: number) => a + b;
|
|
42
|
+
|
|
43
|
+
// Do this
|
|
44
|
+
const add = (a: number, b: number): number => a + b;
|
|
45
|
+
```
|
|
46
|
+
**Apply to:** All TypeScript files
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# AI Handoff Notes
|
|
2
|
+
|
|
3
|
+
> This file is used to pass context between AI assistants working on this project.
|
|
4
|
+
> Update this file when ending a session using `pa:handoff`.
|
|
5
|
+
> Read this file when starting work using `pa:handoff-read`.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Current Status
|
|
10
|
+
- **Working on:** (describe current task)
|
|
11
|
+
- **Phase:** (which workflow phase)
|
|
12
|
+
- **Branch:** (git branch if applicable)
|
|
13
|
+
|
|
14
|
+
## Completed
|
|
15
|
+
- [ ] (list completed items)
|
|
16
|
+
|
|
17
|
+
## In Progress
|
|
18
|
+
- [ ] (list items currently being worked on with % progress)
|
|
19
|
+
|
|
20
|
+
## Blocked / Needs Attention
|
|
21
|
+
- (list any blockers or items needing user input)
|
|
22
|
+
|
|
23
|
+
## Files Modified
|
|
24
|
+
- (list recently modified files)
|
|
25
|
+
|
|
26
|
+
## Next Steps
|
|
27
|
+
1. (prioritized list of what to do next)
|
|
28
|
+
|
|
29
|
+
## Notes for Next AI
|
|
30
|
+
- (any important context, credentials locations, gotchas, etc.)
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
*Last updated: (timestamp) by (AI platform:model, e.g., Claude:opus-4)*
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# ProAgents Command History
|
|
2
|
+
# Format: [TIMESTAMP] [AI:MODEL] COMMAND → RESULT
|
|
3
|
+
# Track which commands were executed and their outcomes
|
|
4
|
+
#
|
|
5
|
+
# Example:
|
|
6
|
+
# 2024-03-06 15:10 [Claude:opus-4] pa:feature "user-auth" → Started
|
|
7
|
+
# 2024-03-06 15:30 [Claude:opus-4] pa:feature "user-auth" → Completed
|
|
8
|
+
# 2024-03-06 15:35 [Cursor:gpt-4o] pa:test → 15 passed, 2 failed
|
|
9
|
+
# 2024-03-06 15:40 [Claude:sonnet-4] pa:fix "login bug" → Fixed
|
|
10
|
+
#
|
|
11
|
+
# --- Command History Start ---
|
|
12
|
+
|
|
@@ -1,174 +1,69 @@
|
|
|
1
|
-
# Metrics
|
|
1
|
+
# Code Metrics
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
This folder contains code quality metrics and reports.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## Commands
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
- `pa:metrics` - Show current code quality metrics
|
|
8
|
+
- `pa:metrics-history` - Show metrics over time
|
|
9
|
+
- `pa:coverage` - Show test coverage report
|
|
10
|
+
- `pa:coverage-diff` - Show coverage changes
|
|
8
11
|
|
|
9
|
-
|
|
12
|
+
## Files
|
|
10
13
|
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
## Available Metrics
|
|
14
|
-
|
|
15
|
-
| Category | Document | Description |
|
|
16
|
-
|----------|----------|-------------|
|
|
17
|
-
| [Developer Productivity](./developer-productivity.md) | Velocity, cycle time, throughput | Track team and individual efficiency |
|
|
18
|
-
| [Code Quality KPIs](./code-quality-kpis.md) | Coverage, complexity, debt | Measure code health over time |
|
|
19
|
-
| [Deployment Metrics](./deployment-metrics.md) | DORA, frequency, stability | Track delivery performance |
|
|
20
|
-
| [Learning Effectiveness](./learning-effectiveness.md) | Adoption, improvement rates | Measure workflow optimization |
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## Quick Start
|
|
25
|
-
|
|
26
|
-
### Enable Metrics Collection
|
|
27
|
-
|
|
28
|
-
```yaml
|
|
29
|
-
# proagents.config.yaml
|
|
30
|
-
metrics:
|
|
31
|
-
enabled: true
|
|
32
|
-
|
|
33
|
-
collection:
|
|
34
|
-
developer_productivity: true
|
|
35
|
-
code_quality: true
|
|
36
|
-
deployment: true
|
|
37
|
-
learning: true
|
|
38
|
-
|
|
39
|
-
storage:
|
|
40
|
-
type: "local" # local, database, api
|
|
41
|
-
path: ".proagents/metrics/"
|
|
42
|
-
retention_days: 90
|
|
43
|
-
|
|
44
|
-
reporting:
|
|
45
|
-
schedule: "weekly" # daily, weekly, monthly
|
|
46
|
-
format: "markdown" # markdown, json, html
|
|
47
|
-
output: "./reports/"
|
|
48
14
|
```
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
# View current metrics dashboard
|
|
56
|
-
pa:metrics dashboard
|
|
57
|
-
|
|
58
|
-
# Generate weekly report
|
|
59
|
-
pa:metrics report --period weekly
|
|
60
|
-
|
|
61
|
-
# View specific category
|
|
62
|
-
pa:metrics productivity
|
|
63
|
-
pa:metrics quality
|
|
64
|
-
pa:metrics deployment
|
|
65
|
-
|
|
66
|
-
# Export metrics
|
|
67
|
-
pa:metrics export --format json --output ./metrics.json
|
|
15
|
+
metrics/
|
|
16
|
+
├── latest.json # Most recent metrics snapshot
|
|
17
|
+
├── history/ # Historical metrics
|
|
18
|
+
│ ├── 2024-03-01.json
|
|
19
|
+
│ └── 2024-03-15.json
|
|
20
|
+
└── README.md
|
|
68
21
|
```
|
|
69
22
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
### With CI/CD
|
|
106
|
-
|
|
107
|
-
```yaml
|
|
108
|
-
# .github/workflows/metrics.yml
|
|
109
|
-
- name: Collect ProAgents Metrics
|
|
110
|
-
run: |
|
|
111
|
-
proagents metrics collect \
|
|
112
|
-
--coverage ./coverage/lcov.info \
|
|
113
|
-
--tests ./test-results.xml \
|
|
114
|
-
--commit ${{ github.sha }}
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
### With Dashboards
|
|
118
|
-
|
|
119
|
-
```yaml
|
|
120
|
-
# Export to external dashboards
|
|
121
|
-
metrics:
|
|
122
|
-
export:
|
|
123
|
-
grafana:
|
|
124
|
-
enabled: true
|
|
125
|
-
endpoint: "${GRAFANA_URL}"
|
|
126
|
-
datadog:
|
|
127
|
-
enabled: true
|
|
128
|
-
api_key: "${DD_API_KEY}"
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
---
|
|
132
|
-
|
|
133
|
-
## Reports
|
|
134
|
-
|
|
135
|
-
### Weekly Summary Template
|
|
136
|
-
|
|
137
|
-
```markdown
|
|
138
|
-
## Development Metrics - Week {{week}}
|
|
139
|
-
|
|
140
|
-
### Productivity
|
|
141
|
-
- Features Completed: {{features_completed}}
|
|
142
|
-
- Average Cycle Time: {{avg_cycle_time}}
|
|
143
|
-
- Throughput Trend: {{throughput_trend}}
|
|
144
|
-
|
|
145
|
-
### Code Quality
|
|
146
|
-
- Test Coverage: {{coverage}}% ({{coverage_trend}})
|
|
147
|
-
- New Technical Debt: {{new_debt}}
|
|
148
|
-
- Debt Resolved: {{resolved_debt}}
|
|
149
|
-
|
|
150
|
-
### Deployment
|
|
151
|
-
- Deployments: {{deployment_count}}
|
|
152
|
-
- Success Rate: {{success_rate}}%
|
|
153
|
-
- Average Lead Time: {{avg_lead_time}}
|
|
154
|
-
|
|
155
|
-
### Highlights
|
|
156
|
-
{{#each highlights}}
|
|
157
|
-
- {{this}}
|
|
158
|
-
{{/each}}
|
|
159
|
-
|
|
160
|
-
### Action Items
|
|
161
|
-
{{#each actions}}
|
|
162
|
-
- [ ] {{this}}
|
|
163
|
-
{{/each}}
|
|
23
|
+
## Metrics Format
|
|
24
|
+
|
|
25
|
+
```json
|
|
26
|
+
{
|
|
27
|
+
"timestamp": "2024-03-06T15:00:00Z",
|
|
28
|
+
"generated_by": "Claude:opus-4",
|
|
29
|
+
"summary": {
|
|
30
|
+
"total_files": 45,
|
|
31
|
+
"total_lines": 12500,
|
|
32
|
+
"languages": {
|
|
33
|
+
"typescript": 10200,
|
|
34
|
+
"javascript": 1500,
|
|
35
|
+
"css": 800
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
"quality": {
|
|
39
|
+
"complexity": {
|
|
40
|
+
"average": 4.2,
|
|
41
|
+
"max": 15,
|
|
42
|
+
"high_complexity_files": ["src/utils/parser.ts"]
|
|
43
|
+
},
|
|
44
|
+
"duplication": {
|
|
45
|
+
"percentage": 3.5,
|
|
46
|
+
"duplicated_blocks": 12
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
"coverage": {
|
|
50
|
+
"overall": 82,
|
|
51
|
+
"by_module": {
|
|
52
|
+
"src/auth": 95,
|
|
53
|
+
"src/api": 78,
|
|
54
|
+
"src/utils": 65
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
164
58
|
```
|
|
165
59
|
|
|
166
|
-
|
|
60
|
+
## Thresholds
|
|
167
61
|
|
|
168
|
-
|
|
62
|
+
Default thresholds (customize in proagents.config.yaml):
|
|
169
63
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
64
|
+
| Metric | Warning | Error |
|
|
65
|
+
|--------|---------|-------|
|
|
66
|
+
| Coverage | < 70% | < 50% |
|
|
67
|
+
| Complexity | > 10 | > 20 |
|
|
68
|
+
| File size | > 300 lines | > 500 lines |
|
|
69
|
+
| Duplication | > 5% | > 10% |
|