proagents 1.0.17 → 1.0.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/README.md +249 -76
- package/bin/proagents.js +17 -0
- package/lib/commands/doctor.js +305 -0
- package/lib/commands/init.js +173 -4
- package/lib/commands/upgrade.js +180 -0
- package/package.json +1 -1
- package/proagents/AI_INSTRUCTIONS.md +254 -9
- package/proagents/PROAGENTS.md +25 -1
- package/proagents/activity.log +11 -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/sessions/README.md +5 -0
- package/proagents/watchlist.yaml +39 -0
|
@@ -6,24 +6,237 @@ This project uses ProAgents - an AI-agnostic development workflow framework.
|
|
|
6
6
|
|
|
7
7
|
**Multiple AI tools may work on this project simultaneously (Claude, Cursor, Gemini, Copilot, etc.). They do NOT share context.**
|
|
8
8
|
|
|
9
|
-
Before executing ANY `pa:` command:
|
|
9
|
+
### Before executing ANY `pa:` command:
|
|
10
10
|
|
|
11
|
-
1. **
|
|
12
|
-
2. **
|
|
11
|
+
1. **Read fresh state from files** - Never rely on previous knowledge
|
|
12
|
+
2. **Read project context** - Read `./proagents/context.md` for persistent project knowledge
|
|
13
|
+
3. **Check the activity log** - Read `./proagents/activity.log` to see recent AI actions
|
|
14
|
+
4. **Key files to check:**
|
|
15
|
+
- `./proagents/context.md` - Persistent project context (READ FIRST!)
|
|
16
|
+
- `./proagents/activity.log` - Recent AI activity
|
|
17
|
+
- `./proagents/watchlist.yaml` - Files requiring confirmation before changes
|
|
13
18
|
- `./proagents/proagents.config.yaml` - Project and platform config
|
|
14
19
|
- `./proagents/active-features/` - Active feature status
|
|
15
20
|
- `./CHANGELOG.md` - Recent changes
|
|
16
|
-
- `./
|
|
17
|
-
|
|
21
|
+
- `./proagents/feedback.md` - Past corrections and preferences (LEARN FROM THESE!)
|
|
22
|
+
|
|
23
|
+
### AI Feedback & Learning
|
|
24
|
+
|
|
25
|
+
Before starting work, check `./proagents/feedback.md` for:
|
|
26
|
+
- **Corrections**: Mistakes other AIs made - don't repeat them!
|
|
27
|
+
- **Preferences**: How the user/team prefers things done
|
|
28
|
+
- **Patterns**: What worked well in this project
|
|
29
|
+
|
|
30
|
+
When you receive feedback or correction from the user:
|
|
31
|
+
1. Log it in `./proagents/feedback.md` using `pa:feedback`
|
|
32
|
+
2. Apply the learning to your current work
|
|
33
|
+
3. Avoid making the same mistake again
|
|
34
|
+
|
|
35
|
+
### File Watch List
|
|
36
|
+
|
|
37
|
+
Before modifying ANY file, check `./proagents/watchlist.yaml`:
|
|
38
|
+
|
|
39
|
+
- **critical**: Ask user for confirmation before modifying
|
|
40
|
+
- **review_required**: Warn user and explain changes before modifying
|
|
41
|
+
- **never_modify**: NEVER modify these files/patterns
|
|
42
|
+
|
|
43
|
+
If a file matches a pattern, inform the user:
|
|
44
|
+
> "This file is on the watch list (critical). Do you want me to proceed with the changes?"
|
|
45
|
+
4. **If you detect conflicts or outdated state:**
|
|
18
46
|
- Inform the user: "I notice [X] may have changed since my last context. Let me refresh..."
|
|
19
47
|
- Re-read the relevant files before proceeding
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
48
|
+
|
|
49
|
+
### After completing ANY `pa:` command:
|
|
50
|
+
|
|
51
|
+
**ALWAYS log your activity** to `./proagents/activity.log`:
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
[TIMESTAMP] [AI_PLATFORM:MODEL] [COMMAND] Description
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Example entries:
|
|
58
|
+
```
|
|
59
|
+
2024-03-06 15:10 [Claude:opus-4] [pa:feature] Started feature "user-auth"
|
|
60
|
+
2024-03-06 15:12 [Cursor:gpt-4o] [pa:fix] Fixed login button bug in src/auth/login.ts
|
|
61
|
+
2024-03-06 15:15 [Gemini:1.5-pro] [pa:doc] Updated API documentation
|
|
62
|
+
2024-03-06 15:20 [Claude:sonnet-4] [pa:feature] Completed feature "user-auth"
|
|
63
|
+
2024-03-06 15:25 [Copilot:gpt-4o] [pa:test] Added unit tests for auth module
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
**Include your model name** (e.g., opus-4, sonnet-4, gpt-4o, gemini-1.5-pro).
|
|
67
|
+
Keep log entries concise (one line). Other AIs will read this to understand recent changes.
|
|
68
|
+
|
|
69
|
+
### Command History
|
|
70
|
+
|
|
71
|
+
Also log commands to `./proagents/history.log` with their results:
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
[TIMESTAMP] [AI:MODEL] COMMAND → RESULT
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Example:
|
|
78
|
+
```
|
|
79
|
+
2024-03-06 15:10 [Claude:opus-4] pa:feature "user-auth" → Started
|
|
80
|
+
2024-03-06 15:30 [Claude:opus-4] pa:feature "user-auth" → Completed
|
|
81
|
+
2024-03-06 15:35 [Cursor:gpt-4o] pa:test → 15 passed, 2 failed
|
|
82
|
+
2024-03-06 15:40 [Claude:sonnet-4] pa:fix "login bug" → Fixed
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
This helps track what commands were run and their outcomes.
|
|
86
|
+
|
|
87
|
+
### Lock File for Active Work
|
|
88
|
+
|
|
89
|
+
When starting a major task (feature, large fix, refactoring), create a lock file at `./proagents/.lock`:
|
|
90
|
+
|
|
91
|
+
```yaml
|
|
92
|
+
locked_by: Claude # Your AI platform
|
|
93
|
+
model: opus-4 # Your model name
|
|
94
|
+
started: 2024-03-06T15:10:00
|
|
95
|
+
task: "pa:feature user-auth"
|
|
96
|
+
description: "Implementing user authentication with JWT"
|
|
97
|
+
files:
|
|
98
|
+
- src/auth/*
|
|
99
|
+
- src/api/auth.ts
|
|
100
|
+
expires: 2024-03-06T17:10:00 # Auto-expires after 2 hours
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
**Before starting major work:**
|
|
104
|
+
1. Check if `./proagents/.lock` exists
|
|
105
|
+
2. If locked by another AI, inform user: "Project is locked by [AI] working on [task]. Wait or ask user to override."
|
|
106
|
+
3. If lock is expired (past `expires` time), you may delete it and proceed
|
|
107
|
+
|
|
108
|
+
**After completing work:**
|
|
109
|
+
1. Delete the `./proagents/.lock` file
|
|
110
|
+
2. Log completion in activity.log
|
|
111
|
+
|
|
112
|
+
### Conflict Detection
|
|
113
|
+
|
|
114
|
+
Before modifying any file, check for potential conflicts:
|
|
115
|
+
|
|
116
|
+
1. **Read activity.log** - See if another AI recently modified the same file
|
|
117
|
+
2. **Check lock file** - See if another AI is working on related files
|
|
118
|
+
3. **Look for patterns** like:
|
|
119
|
+
```
|
|
120
|
+
2024-03-06 15:10 [Cursor:gpt-4o] Modified src/auth/login.ts
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
**If you detect a potential conflict:**
|
|
124
|
+
|
|
125
|
+
Warn the user:
|
|
126
|
+
> "I notice [Other AI] modified `src/auth/login.ts` 10 minutes ago.
|
|
127
|
+
> There may be uncommitted changes. Should I:
|
|
128
|
+
> 1. Proceed anyway (may overwrite their changes)
|
|
129
|
+
> 2. Wait and check with them first
|
|
130
|
+
> 3. Show me the recent changes to this file"
|
|
131
|
+
|
|
132
|
+
**After modifying files, always log:**
|
|
133
|
+
```
|
|
134
|
+
[TIMESTAMP] [AI:MODEL] [MODIFIED] file1.ts, file2.ts
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
This helps other AIs detect conflicts.
|
|
138
|
+
|
|
139
|
+
**Lock commands:**
|
|
140
|
+
| Command | Action |
|
|
141
|
+
|---------|--------|
|
|
142
|
+
| `pa:lock` | Show current lock status |
|
|
143
|
+
| `pa:lock-release` | Release lock (if you hold it) |
|
|
144
|
+
| `pa:lock-override` | Force release lock (requires user confirmation) |
|
|
145
|
+
|
|
146
|
+
### Handoff Notes
|
|
147
|
+
|
|
148
|
+
When ending a session or switching to another AI, create handoff notes at `./proagents/handoff.md`:
|
|
149
|
+
|
|
150
|
+
**For `pa:handoff`** - Create/update handoff notes:
|
|
151
|
+
```markdown
|
|
152
|
+
# AI Handoff Notes
|
|
153
|
+
Updated: 2024-03-06 15:30 by Claude (opus-4)
|
|
154
|
+
|
|
155
|
+
## Current Status
|
|
156
|
+
- **Working on:** User authentication feature
|
|
157
|
+
- **Phase:** Implementation (5 of 9)
|
|
158
|
+
- **Branch:** feature/user-auth
|
|
159
|
+
|
|
160
|
+
## Completed
|
|
161
|
+
- [x] Login UI component
|
|
162
|
+
- [x] JWT token generation
|
|
163
|
+
- [x] Password hashing setup
|
|
164
|
+
|
|
165
|
+
## In Progress
|
|
166
|
+
- [ ] Password reset flow (50% done)
|
|
167
|
+
- [ ] Email verification endpoint
|
|
168
|
+
|
|
169
|
+
## Blocked / Needs Attention
|
|
170
|
+
- Need API endpoint for sending emails (waiting on backend team)
|
|
171
|
+
- Rate limiting not yet implemented
|
|
172
|
+
|
|
173
|
+
## Files Modified
|
|
174
|
+
- src/auth/login.tsx
|
|
175
|
+
- src/auth/jwt.ts
|
|
176
|
+
- src/api/auth.ts
|
|
177
|
+
|
|
178
|
+
## Next Steps
|
|
179
|
+
1. Complete password reset flow
|
|
180
|
+
2. Add email verification
|
|
181
|
+
3. Write tests for auth module
|
|
182
|
+
|
|
183
|
+
## Notes for Next AI
|
|
184
|
+
- Using bcrypt for password hashing (see src/auth/hash.ts)
|
|
185
|
+
- JWT secret is in .env.local
|
|
186
|
+
- Test user: test@example.com / password123
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
**For `pa:handoff-read`** - Read and summarize current handoff notes before starting work.
|
|
190
|
+
|
|
191
|
+
### Session Summary
|
|
192
|
+
|
|
193
|
+
**For `pa:session-end`** - Generate and save a session summary to `./proagents/sessions/`:
|
|
194
|
+
|
|
195
|
+
```markdown
|
|
196
|
+
# Session Summary
|
|
197
|
+
Date: 2024-03-06 15:00-17:30
|
|
198
|
+
AI: Claude (opus-4)
|
|
199
|
+
|
|
200
|
+
## What Was Done
|
|
201
|
+
- Implemented user authentication feature
|
|
202
|
+
- Fixed 3 bugs in login flow
|
|
203
|
+
- Added unit tests for auth module
|
|
204
|
+
|
|
205
|
+
## Files Modified
|
|
206
|
+
- src/auth/login.tsx (created)
|
|
207
|
+
- src/auth/jwt.ts (created)
|
|
208
|
+
- src/api/auth.ts (modified)
|
|
209
|
+
- tests/auth.test.ts (created)
|
|
210
|
+
|
|
211
|
+
## Commands Executed
|
|
212
|
+
- pa:feature "user-auth" → Completed
|
|
213
|
+
- pa:test → 15 passed, 0 failed
|
|
214
|
+
- pa:doc → Updated API docs
|
|
215
|
+
|
|
216
|
+
## Issues Encountered
|
|
217
|
+
- Rate limiting not yet implemented (deferred)
|
|
218
|
+
|
|
219
|
+
## Next Session Should
|
|
220
|
+
1. Implement rate limiting
|
|
221
|
+
2. Add password reset flow
|
|
222
|
+
3. Write integration tests
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
Save to: `./proagents/sessions/YYYY-MM-DD-HHMMSS.md`
|
|
23
226
|
|
|
24
227
|
## Command Recognition
|
|
25
228
|
|
|
26
|
-
When the user types commands starting with `pa:`, recognize and execute them
|
|
229
|
+
When the user types commands starting with `pa:`, recognize and execute them.
|
|
230
|
+
|
|
231
|
+
### Quick Aliases
|
|
232
|
+
| Alias | Expands To |
|
|
233
|
+
|-------|------------|
|
|
234
|
+
| `pa:f` | `pa:feature` |
|
|
235
|
+
| `pa:s` | `pa:status` |
|
|
236
|
+
| `pa:h` | `pa:help` |
|
|
237
|
+
| `pa:d` | `pa:doc` |
|
|
238
|
+
| `pa:t` | `pa:test` |
|
|
239
|
+
| `pa:q` | `pa:qa` |
|
|
27
240
|
|
|
28
241
|
### Initialization
|
|
29
242
|
| Command | Action |
|
|
@@ -156,11 +369,43 @@ For `pa:ai-sync`:
|
|
|
156
369
|
| `pa:config-setup` | Interactive config wizard |
|
|
157
370
|
| `pa:config-customize` | Copy templates to customize |
|
|
158
371
|
|
|
372
|
+
### Custom Commands
|
|
373
|
+
|
|
374
|
+
Check `./proagents/custom-commands.yaml` for project-specific commands.
|
|
375
|
+
|
|
376
|
+
Built-in custom commands:
|
|
377
|
+
| Command | Action |
|
|
378
|
+
|---------|--------|
|
|
379
|
+
| `pa:standup` | Generate daily standup summary |
|
|
380
|
+
| `pa:sprint-review` | Generate sprint review |
|
|
381
|
+
| `pa:tech-debt` | Scan and document technical debt |
|
|
382
|
+
| `pa:security-scan` | Run security checklist |
|
|
383
|
+
|
|
384
|
+
Users can add their own commands in `custom-commands.yaml`.
|
|
385
|
+
|
|
159
386
|
### Utilities
|
|
160
387
|
| Command | Action |
|
|
161
388
|
|---------|--------|
|
|
162
389
|
| `pa:uninstall` | Remove ProAgents from project |
|
|
163
390
|
|
|
391
|
+
### Collaboration (Multi-AI)
|
|
392
|
+
| Command | Action |
|
|
393
|
+
|---------|--------|
|
|
394
|
+
| `pa:activity` | Show recent AI activity log |
|
|
395
|
+
| `pa:lock` | Show current lock status |
|
|
396
|
+
| `pa:lock-release` | Release lock (if you hold it) |
|
|
397
|
+
| `pa:lock-override` | Force release lock (requires user confirmation) |
|
|
398
|
+
| `pa:handoff` | Create handoff notes for other AIs |
|
|
399
|
+
| `pa:handoff-read` | Read latest handoff notes |
|
|
400
|
+
| `pa:session-end` | Generate session summary before ending |
|
|
401
|
+
| `pa:session-history` | Show recent session summaries |
|
|
402
|
+
| `pa:decision "title"` | Log an architectural/technical decision |
|
|
403
|
+
| `pa:decisions` | Show all logged decisions |
|
|
404
|
+
| `pa:error "description"` | Log an error and its solution |
|
|
405
|
+
| `pa:errors` | Show logged errors (search for solutions) |
|
|
406
|
+
| `pa:feedback "description"` | Log feedback/correction for AI learning |
|
|
407
|
+
| `pa:feedback-list` | Show all feedback (learn from past corrections) |
|
|
408
|
+
|
|
164
409
|
## How to Execute Commands
|
|
165
410
|
|
|
166
411
|
When user types a `pa:` command:
|
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
|
|
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
|
|
|
@@ -21,6 +24,27 @@ Execute these commands when user types them (prefix: `pa:`):
|
|
|
21
24
|
| `pa:ai-add` | Show platform options, create AI instruction files |
|
|
22
25
|
| `pa:ai-remove` | Show installed platforms, remove selected files |
|
|
23
26
|
| `pa:ai-sync` | Sync config with existing files (fix mismatches) |
|
|
27
|
+
| `pa:activity` | Show recent AI activity from `./proagents/activity.log` |
|
|
28
|
+
| `pa:lock` | Show lock status, check if another AI is working |
|
|
29
|
+
| `pa:lock-release` | Release your lock after completing work |
|
|
30
|
+
| `pa:handoff` | Create handoff notes → `./proagents/handoff.md` |
|
|
31
|
+
| `pa:handoff-read` | Read handoff notes before starting work |
|
|
32
|
+
| `pa:session-end` | Generate session summary → `./proagents/sessions/` |
|
|
33
|
+
| `pa:decision "title"` | Log architectural decision → `./proagents/decisions.md` |
|
|
34
|
+
| `pa:error "desc"` | Log error & solution → `./proagents/errors.md` |
|
|
35
|
+
| `pa:feedback "desc"` | Log feedback for AI learning → `./proagents/feedback.md` |
|
|
36
|
+
| `pa:standup` | Generate daily standup summary |
|
|
37
|
+
| `pa:tech-debt` | Scan for technical debt |
|
|
38
|
+
|
|
39
|
+
## Key Files to Read
|
|
40
|
+
|
|
41
|
+
| File | Purpose |
|
|
42
|
+
|------|---------|
|
|
43
|
+
| `./proagents/context.md` | Persistent project context (READ FIRST!) |
|
|
44
|
+
| `./proagents/feedback.md` | Past corrections - don't repeat mistakes |
|
|
45
|
+
| `./proagents/watchlist.yaml` | Files requiring confirmation before changes |
|
|
46
|
+
| `./proagents/errors.md` | Past errors and solutions |
|
|
47
|
+
| `./proagents/decisions.md` | Architectural decisions and reasoning |
|
|
24
48
|
|
|
25
49
|
## Feature Workflow
|
|
26
50
|
|
|
@@ -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,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
|
+
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# File Watch List
|
|
2
|
+
# Files and patterns that require CONFIRMATION before AI modifies them.
|
|
3
|
+
# AI must ask user before changing these files.
|
|
4
|
+
|
|
5
|
+
# Critical files that should never be auto-modified
|
|
6
|
+
critical:
|
|
7
|
+
- ".env*" # Environment variables
|
|
8
|
+
- "*.config.js" # Configuration files
|
|
9
|
+
- "*.config.ts"
|
|
10
|
+
- "package.json" # Dependencies
|
|
11
|
+
- "package-lock.json"
|
|
12
|
+
- "yarn.lock"
|
|
13
|
+
- "pnpm-lock.yaml"
|
|
14
|
+
- "tsconfig.json" # TypeScript config
|
|
15
|
+
- "docker-compose*.yml" # Docker configs
|
|
16
|
+
- "Dockerfile*"
|
|
17
|
+
- ".github/workflows/*" # CI/CD pipelines
|
|
18
|
+
- "database/migrations/*" # Database migrations
|
|
19
|
+
|
|
20
|
+
# Files that need careful review before changes
|
|
21
|
+
review_required:
|
|
22
|
+
- "src/lib/*" # Core libraries
|
|
23
|
+
- "src/utils/*" # Utility functions
|
|
24
|
+
- "src/config/*" # App configuration
|
|
25
|
+
- "src/middleware/*" # Middleware
|
|
26
|
+
- "src/auth/*" # Authentication code
|
|
27
|
+
|
|
28
|
+
# Patterns to never modify (absolute protection)
|
|
29
|
+
never_modify:
|
|
30
|
+
- ".git/*"
|
|
31
|
+
- "node_modules/*"
|
|
32
|
+
- "dist/*"
|
|
33
|
+
- "build/*"
|
|
34
|
+
- ".next/*"
|
|
35
|
+
- "*.lock"
|
|
36
|
+
- "*.log"
|
|
37
|
+
|
|
38
|
+
# Custom patterns (add your own)
|
|
39
|
+
custom: []
|