proagents 1.6.21 → 1.6.22

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.
@@ -175,7 +175,9 @@
175
175
  "Bash(git -C /Users/prakash/Saeculum/AI/proAgents diff lib/commands/ai.js)",
176
176
  "Bash(for f in .proagents/AI_INSTRUCTIONS.md .proagents/CLAUDE.md .proagents/AGENTS.md .proagents/.cursorrules .proagents/.windsurfrules .proagents/GEMINI.md .proagents/BOLT.md .proagents/REPLIT.md .proagents/LOVABLE.md .proagents/KIRO.md)",
177
177
  "Bash(if grep -q \"AI directives\" \"$f\")",
178
- "Bash(if grep -q \"ANY.*pa:.*command\" \"$f\")"
178
+ "Bash(if grep -q \"ANY.*pa:.*command\" \"$f\")",
179
+ "Bash(git worktree:*)",
180
+ "Bash(git worktree add:*)"
179
181
  ]
180
182
  }
181
183
  }
@@ -33,7 +33,7 @@ Commands that only READ, DISPLAY, or CONFIGURE:
33
33
  - **Skip AFTER step** - No logging needed
34
34
 
35
35
  **Examples:** `pa:help`, `pa:status`, `pa:progress`, `pa:history`,
36
- `pa:ai-*`, `pa:config-*`, `pa:sync`
36
+ `pa:ai-*`, `pa:config-*`, `pa:sync`, `pa:commit`, `pa:commit-config`
37
37
 
38
38
  ### AFTER Workflow Commands (Auto-Log)
39
39
 
@@ -33,7 +33,7 @@ Commands that only READ, DISPLAY, or CONFIGURE:
33
33
  - **Skip AFTER step** - No logging needed
34
34
 
35
35
  **Examples:** `pa:help`, `pa:status`, `pa:progress`, `pa:history`,
36
- `pa:ai-*`, `pa:config-*`, `pa:sync`
36
+ `pa:ai-*`, `pa:config-*`, `pa:sync`, `pa:commit`, `pa:commit-config`
37
37
 
38
38
  ### AFTER Workflow Commands (Auto-Log)
39
39
 
@@ -37,7 +37,7 @@ Commands that only READ, DISPLAY, or CONFIGURE:
37
37
  - **Skip AFTER step** - No logging needed
38
38
 
39
39
  **Examples:** `pa:help`, `pa:status`, `pa:progress`, `pa:history`,
40
- `pa:ai-*`, `pa:config-*`, `pa:sync`
40
+ `pa:ai-*`, `pa:config-*`, `pa:sync`, `pa:commit`, `pa:commit-config`
41
41
 
42
42
  ### AFTER Workflow Commands (Auto-Log)
43
43
 
@@ -35,7 +35,7 @@ Commands that only READ, DISPLAY, or CONFIGURE:
35
35
  - **Skip AFTER step** - No logging needed
36
36
 
37
37
  **Examples:** `pa:help`, `pa:status`, `pa:progress`, `pa:history`,
38
- `pa:ai-*`, `pa:config-*`, `pa:sync`
38
+ `pa:ai-*`, `pa:config-*`, `pa:sync`, `pa:commit`, `pa:commit-config`
39
39
 
40
40
  ### AFTER Workflow Commands (Auto-Log)
41
41
 
@@ -470,6 +470,21 @@ Auto-detect issue numbers from user input and include in changelog:
470
470
 
471
471
  ---
472
472
 
473
+ ## Smart Workflow & Worktrees
474
+
475
+ For smart workflow mode and worktree management:
476
+
477
+ **See:** `./.proagents/prompts/11-session-tracking.md`
478
+
479
+ ### Quick Reference
480
+
481
+ | Feature | Description |
482
+ |---------|-------------|
483
+ | Smart Workflow | Small task → auto branch, Large task → ask user |
484
+ | Worktrees | Isolated directories for large/parallel tasks |
485
+
486
+ ---
487
+
473
488
  ## Command Quick Reference
474
489
 
475
490
  ### Aliases
@@ -488,6 +503,7 @@ Auto-detect issue numbers from user input and include in changelog:
488
503
  | `pa:rev` | `pa:review` |
489
504
  | `pa:dbg` | `pa:debug` |
490
505
  | `pa:l` | `pa:logs` |
506
+ | `pa:c` | `pa:commit` |
491
507
 
492
508
  ### Core Commands
493
509
  | Command | Action |
@@ -592,6 +608,13 @@ Auto-detect issue numbers from user input and include in changelog:
592
608
  | `pa:changelog-module X` | View module changelog |
593
609
  | `pa:error "desc"` | Log error and solution |
594
610
 
611
+ ### Worktree Commands
612
+ | Command | Action |
613
+ |---------|--------|
614
+ | `pa:worktree-create "name"` | Create worktree for large task |
615
+ | `pa:worktree-list` | List all active worktrees |
616
+ | `pa:worktree-remove "name"` | Remove worktree after merge |
617
+
595
618
  ### Configuration
596
619
  | Command | Action |
597
620
  |---------|--------|
@@ -691,6 +714,8 @@ When user types a `pa:` command:
691
714
  | `pa:ai-add` | `./prompts/ai-add.md` |
692
715
  | `pa:ai-remove` | `./prompts/ai-remove.md` |
693
716
  | `pa:ai-sync` | `./prompts/ai-sync.md` |
717
+ | `pa:commit` | `./prompts/13-commit.md` |
718
+ | `pa:commit-config` | `./prompts/13-commit.md` |
694
719
 
695
720
  ---
696
721
 
@@ -762,6 +787,9 @@ ProAgents Help
762
787
  pa:resume Quick resume with next action
763
788
  pa:handoff Create handoff notes
764
789
  pa:conflict-check Check for conflicts
790
+ pa:worktree-create Create worktree for large task
791
+ pa:worktree-list List all active worktrees
792
+ pa:worktree-remove Remove worktree after merge
765
793
 
766
794
  Learning & Tracking:
767
795
  pa:feedback "text" Log feedback for AI learning
@@ -33,7 +33,7 @@ Commands that only READ, DISPLAY, or CONFIGURE:
33
33
  - **Skip AFTER step** - No logging needed
34
34
 
35
35
  **Examples:** `pa:help`, `pa:status`, `pa:progress`, `pa:history`,
36
- `pa:ai-*`, `pa:config-*`, `pa:sync`
36
+ `pa:ai-*`, `pa:config-*`, `pa:sync`, `pa:commit`, `pa:commit-config`
37
37
 
38
38
  ### AFTER Workflow Commands (Auto-Log)
39
39
 
@@ -33,7 +33,7 @@ Commands that only READ, DISPLAY, or CONFIGURE:
33
33
  - **Skip AFTER step** - No logging needed
34
34
 
35
35
  **Examples:** `pa:help`, `pa:status`, `pa:progress`, `pa:history`,
36
- `pa:ai-*`, `pa:config-*`, `pa:sync`
36
+ `pa:ai-*`, `pa:config-*`, `pa:sync`, `pa:commit`, `pa:commit-config`
37
37
 
38
38
  ### AFTER Workflow Commands (Auto-Log)
39
39
 
@@ -33,7 +33,7 @@ Commands that only READ, DISPLAY, or CONFIGURE:
33
33
  - **Skip AFTER step** - No logging needed
34
34
 
35
35
  **Examples:** `pa:help`, `pa:status`, `pa:progress`, `pa:history`,
36
- `pa:ai-*`, `pa:config-*`, `pa:sync`
36
+ `pa:ai-*`, `pa:config-*`, `pa:sync`, `pa:commit`, `pa:commit-config`
37
37
 
38
38
  ### AFTER Workflow Commands (Auto-Log)
39
39
 
@@ -33,7 +33,7 @@ Commands that only READ, DISPLAY, or CONFIGURE:
33
33
  - **Skip AFTER step** - No logging needed
34
34
 
35
35
  **Examples:** `pa:help`, `pa:status`, `pa:progress`, `pa:history`,
36
- `pa:ai-*`, `pa:config-*`, `pa:sync`
36
+ `pa:ai-*`, `pa:config-*`, `pa:sync`, `pa:commit`, `pa:commit-config`
37
37
 
38
38
  ### AFTER Workflow Commands (Auto-Log)
39
39
 
@@ -33,7 +33,7 @@ Commands that only READ, DISPLAY, or CONFIGURE:
33
33
  - **Skip AFTER step** - No logging needed
34
34
 
35
35
  **Examples:** `pa:help`, `pa:status`, `pa:progress`, `pa:history`,
36
- `pa:ai-*`, `pa:config-*`, `pa:sync`
36
+ `pa:ai-*`, `pa:config-*`, `pa:sync`, `pa:commit`, `pa:commit-config`
37
37
 
38
38
  ### AFTER Workflow Commands (Auto-Log)
39
39
 
@@ -33,7 +33,7 @@ Commands that only READ, DISPLAY, or CONFIGURE:
33
33
  - **Skip AFTER step** - No logging needed
34
34
 
35
35
  **Examples:** `pa:help`, `pa:status`, `pa:progress`, `pa:history`,
36
- `pa:ai-*`, `pa:config-*`, `pa:sync`
36
+ `pa:ai-*`, `pa:config-*`, `pa:sync`, `pa:commit`, `pa:commit-config`
37
37
 
38
38
  ### AFTER Workflow Commands (Auto-Log)
39
39
 
@@ -25,7 +25,7 @@ standup:
25
25
  sprint_review:
26
26
  description: "Generate sprint review summary"
27
27
  steps:
28
- - "Read all session summaries from ./.proagents/sessions/"
28
+ - "Read all session summaries from ./.proagents/worklog/"
29
29
  - "Read ./CHANGELOG.md for completed features"
30
30
  - "Generate sprint review with completed items, metrics, and highlights"
31
31
  output: "./.proagents/sprint-reviews/YYYY-MM-DD.md"
@@ -40,6 +40,61 @@ git:
40
40
  commit_convention: "conventional" # conventional | simple | custom
41
41
  require_pr: true
42
42
 
43
+ # Pre-commit checks for pa:commit
44
+ pre_commit:
45
+ enabled: true # Master toggle for pre-commit checks
46
+ lint: true # Run linter before commit
47
+ type_check: true # Run type checker before commit
48
+ test_affected: false # Run tests for changed files
49
+
50
+ # Safety warnings for pa:commit
51
+ safety:
52
+ warn_main_branch: true # Warn if committing to main/master
53
+ warn_sensitive_files: true # Warn for .env, credentials, etc.
54
+ warn_large_files: true # Warn if file > threshold
55
+ large_file_threshold: 1048576 # 1MB in bytes
56
+ sensitive_patterns:
57
+ - ".env*"
58
+ - "credentials*"
59
+ - "secrets*"
60
+ - "*.pem"
61
+ - "*.key"
62
+ - "id_rsa*"
63
+
64
+ # Workflow Configuration
65
+ # Controls how AI handles task size and worktrees
66
+ workflow:
67
+ # Worktree mode: auto | always-ask | always-branch | always-worktree
68
+ # - auto: Small tasks use branch (no ask), large tasks ask user
69
+ # - always-ask: Always ask user for workflow choice
70
+ # - always-branch: Never use worktree, always simple branch
71
+ # - always-worktree: Always create worktree for each task
72
+ worktree_mode: "auto"
73
+
74
+ # Task size indicators for auto mode
75
+ task_indicators:
76
+ small:
77
+ - "fix typo"
78
+ - "small bug"
79
+ - "quick fix"
80
+ - "update text"
81
+ - "minor change"
82
+ - "hotfix"
83
+ large:
84
+ - "implement"
85
+ - "create feature"
86
+ - "refactor"
87
+ - "new module"
88
+ - "authentication"
89
+ - "payment"
90
+ - "integration"
91
+ - "migration"
92
+
93
+ # Worktree naming
94
+ worktree_naming:
95
+ prefix: "../" # Relative to current directory
96
+ format: "{project}-{taskname}" # e.g., myapp-user-auth
97
+
43
98
  # Parallel Feature Development
44
99
  parallel_features:
45
100
  enabled: true
@@ -76,6 +76,106 @@ AI: "Fixed the login bug in src/auth/login.ts"
76
76
  | `pa:session-start` | Begin work session (AUTO) |
77
77
  | `pa:session-end` | End session (AUTO - logs on each change) |
78
78
  | `pa:handoff` | Create detailed handoff |
79
+ | `pa:worktree-create "name"` | Create worktree for large task |
80
+ | `pa:worktree-list` | List all active worktrees |
81
+ | `pa:worktree-remove "name"` | Remove worktree after merge |
82
+
83
+ ---
84
+
85
+ ## Smart Workflow Mode
86
+
87
+ AI automatically detects task size and chooses workflow.
88
+
89
+ ### Task Size Indicators
90
+
91
+ | Small Task | Large Task |
92
+ |------------|------------|
93
+ | "fix typo", "small bug", "quick fix" | "implement", "feature", "refactor" |
94
+ | 1-2 files | Multiple files |
95
+ | Single function | New module |
96
+
97
+ ### Workflow Decision
98
+
99
+ Read `workflow.worktree_mode` from `proagents.config.yaml`:
100
+
101
+ - **auto** (default): Small → branch, Large → ask user
102
+ - **always-ask**: Always ask user
103
+ - **always-branch**: Never use worktree
104
+ - **always-worktree**: Always create worktree
105
+
106
+ ### Small Task (Auto Branch)
107
+
108
+ ```
109
+ User: "Fix the typo in README"
110
+ AI: [Creates branch, proceeds immediately, no question]
111
+ ```
112
+
113
+ ### Large Task (Ask User)
114
+
115
+ ```
116
+ User: "Implement user authentication"
117
+ AI:
118
+ ═══════════════════════════════════════
119
+ 📋 LARGE TASK DETECTED
120
+
121
+ Task: "Implement user authentication"
122
+
123
+ 1. Continue here (current branch)
124
+ 2. Create worktree (isolated directory)
125
+
126
+ Which approach? [1/2]
127
+ ═══════════════════════════════════════
128
+ ```
129
+
130
+ ---
131
+
132
+ ## Worktree Commands
133
+
134
+ ### pa:worktree-create "name"
135
+
136
+ Creates isolated worktree for task:
137
+
138
+ ```bash
139
+ git worktree add ../[project]-[name] feature/[name]
140
+ ```
141
+
142
+ Output:
143
+ ```
144
+ ═══════════════════════════════════════
145
+ ✅ Worktree Created
146
+
147
+ Directory: ../myapp-user-auth/
148
+ Branch: feature/user-auth
149
+
150
+ Next Steps:
151
+ 1. Open the new directory in your IDE
152
+ 2. Work there - all changes go to feature/user-auth
153
+ 3. When done: pa:worktree-remove "user-auth"
154
+ ═══════════════════════════════════════
155
+ ```
156
+
157
+ ### pa:worktree-list
158
+
159
+ ```bash
160
+ git worktree list
161
+ ```
162
+
163
+ Output:
164
+ ```
165
+ ═══════════════════════════════════════
166
+ 📁 Active Worktrees
167
+
168
+ /path/to/myapp main
169
+ /path/to/myapp-user-auth feature/user-auth [Claude]
170
+ /path/to/myapp-rate-limiting feature/rate-limiting [Cursor]
171
+ ═══════════════════════════════════════
172
+ ```
173
+
174
+ ### pa:worktree-remove "name"
175
+
176
+ ```bash
177
+ git worktree remove ../myapp-[name]
178
+ ```
79
179
 
80
180
  ---
81
181
 
@@ -0,0 +1,426 @@
1
+ # Smart Commit Workflow
2
+
3
+ Interactive commit with file selection, safety checks, and smart message generation.
4
+
5
+ ---
6
+
7
+ ## CRITICAL RULES - READ FIRST
8
+
9
+ ```
10
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
11
+ !! !!
12
+ !! THIS IS AN INTERACTIVE COMMAND !!
13
+ !! !!
14
+ !! YOU MUST ASK USER AND WAIT FOR RESPONSE AT EACH STEP !!
15
+ !! !!
16
+ !! DO NOT: !!
17
+ !! - Skip steps !!
18
+ !! - Assume user choices !!
19
+ !! - Commit without explicit user confirmation !!
20
+ !! - Modify config without user selection !!
21
+ !! !!
22
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
23
+ ```
24
+
25
+ ---
26
+
27
+ ## Commands
28
+
29
+ | Command | Alias | Description |
30
+ |---------|-------|-------------|
31
+ | `pa:commit` | `pa:c` | Smart commit workflow |
32
+ | `pa:commit-config` | - | Configure pre-commit checks |
33
+
34
+ ---
35
+
36
+ # pa:commit Workflow
37
+
38
+ ## Step 1: Show Current State and ASK
39
+
40
+ First, run these commands silently:
41
+ ```bash
42
+ git status --porcelain
43
+ git diff --stat
44
+ git diff --cached --stat
45
+ git branch --show-current
46
+ ```
47
+
48
+ Then DISPLAY this to user and WAIT for their choice:
49
+
50
+ ```
51
+ ═══════════════════════════════════════
52
+ SMART COMMIT
53
+
54
+ Current Branch: [branch name]
55
+
56
+ Staged Files:
57
+ [list staged files with +/- lines]
58
+
59
+ Unstaged Files:
60
+ [list unstaged files with +/- lines]
61
+
62
+ Untracked Files:
63
+ [list new files]
64
+
65
+ Which files do you want to commit?
66
+
67
+ 1. Staged only
68
+ 2. Unstaged only
69
+ 3. All changes
70
+ 4. Let me select specific files
71
+
72
+ Enter choice (1-4):
73
+ ═══════════════════════════════════════
74
+ ```
75
+
76
+ **>>> STOP HERE. WAIT FOR USER TO RESPOND. <<<**
77
+
78
+ ---
79
+
80
+ ## Step 1b: Handle "Select Specific Files" (Option 4)
81
+
82
+ **ONLY if user chose option 4**, show numbered list of ALL files:
83
+
84
+ ```
85
+ ═══════════════════════════════════════
86
+ SELECT FILES TO COMMIT
87
+
88
+ 1. AGENTS.md (+1, -1)
89
+ 2. CLAUDE.md (+1, -1)
90
+ 3. docs/releases/v0.0.1.md (+4, -1)
91
+ 4. ios/IQAuditor.xcodeproj/project.pbxproj (+16, -10)
92
+ 5. android/app/release/app-release.aab (new, 97MB)
93
+
94
+ Enter file numbers to INCLUDE (comma-separated):
95
+ Example: 1,2,3 or 1-3 or all
96
+
97
+ ═══════════════════════════════════════
98
+ ```
99
+
100
+ **>>> STOP HERE. WAIT FOR USER TO RESPOND. <<<**
101
+
102
+ After user provides numbers, those are the ONLY files to commit.
103
+ **SKIP Step 2** (exclusions) since user already selected specific files.
104
+ Proceed directly to Step 3 (Safety Checks).
105
+
106
+ ---
107
+
108
+ ## Step 2: Ask About Exclusions
109
+
110
+ **SKIP this step if user chose option 4 in Step 1.**
111
+
112
+ Only for options 1, 2, or 3, ASK:
113
+
114
+ ```
115
+ Any files to EXCLUDE from this commit?
116
+
117
+ Enter file paths (comma-separated) or "none":
118
+ ```
119
+
120
+ **>>> STOP HERE. WAIT FOR USER TO RESPOND. <<<**
121
+
122
+ ---
123
+
124
+ ## Step 3: Safety Checks
125
+
126
+ ### 3a. Branch Check
127
+
128
+ If current branch is `main` or `master`, STOP and ASK:
129
+
130
+ ```
131
+ WARNING: You are committing to 'main' branch!
132
+
133
+ What do you want to do?
134
+
135
+ 1. Create a new branch first
136
+ 2. Continue on main anyway
137
+ 3. Cancel
138
+
139
+ Enter choice (1-3):
140
+ ```
141
+
142
+ **>>> STOP HERE. WAIT FOR USER TO RESPOND. <<<**
143
+
144
+ If user chose 1, ASK for branch name:
145
+ ```
146
+ Enter new branch name (e.g., fix/bug-name):
147
+ ```
148
+
149
+ **>>> STOP HERE. WAIT FOR USER TO RESPOND. <<<**
150
+
151
+ ### 3b. Sensitive File Check
152
+
153
+ Check if any selected file matches:
154
+ - `.env*`
155
+ - `credentials*`, `secrets*`
156
+ - `*.pem`, `*.key`, `id_rsa*`
157
+
158
+ If found, STOP and ASK:
159
+
160
+ ```
161
+ WARNING: Sensitive file(s) detected!
162
+
163
+ - .env.local
164
+ - config/secrets.json
165
+
166
+ These files may contain secrets. What do you want to do?
167
+
168
+ 1. Exclude these files and continue
169
+ 2. Commit anyway (not recommended)
170
+ 3. Cancel
171
+
172
+ Enter choice (1-3):
173
+ ```
174
+
175
+ **>>> STOP HERE. WAIT FOR USER TO RESPOND. <<<**
176
+
177
+ ### 3c. Large File Check
178
+
179
+ Check if any file > 1MB. If found, STOP and ASK:
180
+
181
+ ```
182
+ WARNING: Large file detected!
183
+
184
+ - assets/video.mp4 (15.2 MB)
185
+
186
+ Large files can slow down your repository.
187
+
188
+ 1. Exclude this file
189
+ 2. Commit anyway
190
+ 3. Cancel
191
+
192
+ Enter choice (1-3):
193
+ ```
194
+
195
+ **>>> STOP HERE. WAIT FOR USER TO RESPOND. <<<**
196
+
197
+ ---
198
+
199
+ ## Step 4: Generate Message and ASK
200
+
201
+ Analyze the diff and generate a commit message. Then SHOW and ASK:
202
+
203
+ ```
204
+ ═══════════════════════════════════════
205
+ SUGGESTED COMMIT MESSAGE
206
+
207
+ [type]([scope]): [description]
208
+
209
+ - [bullet point 1]
210
+ - [bullet point 2]
211
+
212
+ ═══════════════════════════════════════
213
+
214
+ What do you want to do?
215
+
216
+ 1. Use this message
217
+ 2. Edit this message (tell me what to change)
218
+ 3. I'll write my own message
219
+ 4. Cancel
220
+
221
+ Enter choice (1-4):
222
+ ```
223
+
224
+ **>>> STOP HERE. WAIT FOR USER TO RESPOND. <<<**
225
+
226
+ If user chose 2:
227
+ ```
228
+ What would you like to change in the message?
229
+ ```
230
+ **>>> STOP HERE. WAIT FOR USER TO RESPOND. <<<**
231
+
232
+ If user chose 3:
233
+ ```
234
+ Enter your commit message:
235
+ ```
236
+ **>>> STOP HERE. WAIT FOR USER TO RESPOND. <<<**
237
+
238
+ ---
239
+
240
+ ## Step 5: Confirm Before Commit
241
+
242
+ Before executing, show summary and ASK:
243
+
244
+ ```
245
+ ═══════════════════════════════════════
246
+ COMMIT SUMMARY
247
+
248
+ Files to commit:
249
+ - file1.ts
250
+ - file2.ts
251
+
252
+ Message:
253
+ feat(auth): Add password validation
254
+
255
+ Proceed with commit?
256
+
257
+ 1. Yes, commit now
258
+ 2. No, cancel
259
+
260
+ Enter choice (1-2):
261
+ ═══════════════════════════════════════
262
+ ```
263
+
264
+ **>>> STOP HERE. WAIT FOR USER TO RESPOND. <<<**
265
+
266
+ ---
267
+
268
+ ## Step 6: Execute and Ask About Push
269
+
270
+ Only after user confirms, execute:
271
+ ```bash
272
+ git add [selected files]
273
+ git commit -m "[message]"
274
+ ```
275
+
276
+ Then show result and ASK:
277
+
278
+ ```
279
+ Commit successful! [commit hash]
280
+
281
+ [commit message]
282
+
283
+ [X] files changed, [+] insertions, [-] deletions
284
+
285
+ Do you want to push now?
286
+
287
+ 1. Yes, push to remote
288
+ 2. No, I'll push later
289
+
290
+ Enter choice (1-2):
291
+ ```
292
+
293
+ **>>> STOP HERE. WAIT FOR USER TO RESPOND. <<<**
294
+
295
+ ---
296
+
297
+ # pa:commit-config Workflow
298
+
299
+ ## CRITICAL: This is INTERACTIVE
300
+
301
+ ```
302
+ DO NOT modify config without asking user!
303
+ DO NOT assume which settings to change!
304
+ SHOW current settings and ASK what to toggle!
305
+ ```
306
+
307
+ ## Step 1: Read and Display Current Config
308
+
309
+ Read `proagents.config.yaml` and DISPLAY:
310
+
311
+ ```
312
+ ═══════════════════════════════════════
313
+ COMMIT CONFIGURATION
314
+
315
+ Current Settings:
316
+
317
+ Pre-commit Checks:
318
+ 1. [ON/OFF] Lint check
319
+ 2. [ON/OFF] Type check
320
+ 3. [ON/OFF] Test affected files
321
+
322
+ Safety Warnings:
323
+ 4. [ON/OFF] Warn on main/master branch
324
+ 5. [ON/OFF] Warn on sensitive files
325
+ 6. [ON/OFF] Warn on large files (>1MB)
326
+
327
+ 7. Save and exit
328
+
329
+ Which setting do you want to toggle? (1-7):
330
+ ═══════════════════════════════════════
331
+ ```
332
+
333
+ **>>> STOP HERE. WAIT FOR USER TO RESPOND. <<<**
334
+
335
+ ## Step 2: Toggle and Show Updated
336
+
337
+ After user selects a number (1-6), toggle that setting and show updated list again.
338
+
339
+ Repeat until user selects 7 (Save and exit).
340
+
341
+ ## Step 3: Save and Confirm
342
+
343
+ When user selects 7:
344
+
345
+ ```
346
+ Saving configuration...
347
+
348
+ Updated settings:
349
+ - lint: true -> false
350
+ - type_check: true (unchanged)
351
+
352
+ Configuration saved to proagents.config.yaml
353
+ ```
354
+
355
+ ---
356
+
357
+ # Commit Message Rules
358
+
359
+ ## Types
360
+
361
+ | Type | When to use |
362
+ |------|-------------|
363
+ | feat | New feature or functionality |
364
+ | fix | Bug fix |
365
+ | refactor | Code restructuring (no new feature) |
366
+ | docs | Documentation only |
367
+ | test | Adding or updating tests |
368
+ | chore | Maintenance, dependencies |
369
+ | style | Formatting, whitespace |
370
+
371
+ ## Scope Detection
372
+
373
+ | File Path | Scope |
374
+ |-----------|-------|
375
+ | src/auth/* | auth |
376
+ | src/api/*, routes/* | api |
377
+ | src/components/* | ui |
378
+ | src/services/* | services |
379
+ | src/utils/*, lib/* | utils |
380
+ | tests/* | test |
381
+
382
+ ## Format
383
+
384
+ ```
385
+ type(scope): Short description (max 72 chars)
386
+
387
+ - Bullet point for each change
388
+ - Keep it concise
389
+ ```
390
+
391
+ ---
392
+
393
+ # Config Reference
394
+
395
+ ```yaml
396
+ git:
397
+ pre_commit:
398
+ enabled: true
399
+ lint: true
400
+ type_check: true
401
+ test_affected: false
402
+ safety:
403
+ warn_main_branch: true
404
+ warn_sensitive_files: true
405
+ warn_large_files: true
406
+ large_file_threshold: 1048576
407
+ sensitive_patterns:
408
+ - ".env*"
409
+ - "credentials*"
410
+ - "secrets*"
411
+ - "*.pem"
412
+ - "*.key"
413
+ ```
414
+
415
+ ---
416
+
417
+ # Summary
418
+
419
+ | Step | Action | Requires User Input? |
420
+ |------|--------|---------------------|
421
+ | 1 | Show files | YES - which files |
422
+ | 2 | Exclusions | YES - any to exclude |
423
+ | 3 | Safety checks | YES - if warnings |
424
+ | 4 | Commit message | YES - use/edit/custom |
425
+ | 5 | Confirm | YES - proceed? |
426
+ | 6 | Push option | YES - push now? |
package/COMMANDS.md CHANGED
@@ -27,6 +27,7 @@ Complete reference for CLI and AI (`pa:`) commands. For quick start, see [README
27
27
  - [Documentation](#documentation)
28
28
  - [Quality & Testing](#quality--testing)
29
29
  - [Cross-AI Continuity](#cross-ai-continuity)
30
+ - [Worktree Management](#worktree-management)
30
31
  - [Learning & Tracking](#learning--tracking)
31
32
  - [Navigation & Flow](#navigation--flow)
32
33
  - [Context & History](#context--history)
@@ -327,6 +328,21 @@ Type these in any AI assistant (Claude, ChatGPT, Gemini, Cursor, etc.)
327
328
 
328
329
  ---
329
330
 
331
+ ## Worktree Management
332
+
333
+ | Command | Description |
334
+ |---------|-------------|
335
+ | `pa:worktree-create "name"` | Create worktree for large task |
336
+ | `pa:worktree-list` | List all active worktrees |
337
+ | `pa:worktree-remove "name"` | Remove worktree after merge |
338
+
339
+ **When to use worktrees:**
340
+ - Large features (days/weeks of work)
341
+ - Parallel work (multiple AIs or developers)
342
+ - Need to run/test multiple versions simultaneously
343
+
344
+ ---
345
+
330
346
  ## Learning & Tracking
331
347
 
332
348
  | Command | Description |
@@ -487,6 +503,9 @@ Type these in any AI assistant (Claude, ChatGPT, Gemini, Cursor, etc.)
487
503
 
488
504
  | Command | Description |
489
505
  |---------|-------------|
506
+ | `pa:commit` | Smart commit with file selection and message generation |
507
+ | `pa:c` | Alias for pa:commit |
508
+ | `pa:commit-config` | Configure pre-commit checks (lint, type-check, tests) |
490
509
  | `pa:branch` | Branch management |
491
510
  | `pa:merge` | Smart merge with conflict preview |
492
511
  | `pa:conflict` | Resolve merge conflicts with AI |
@@ -15,7 +15,6 @@ const PRESERVE_PATHS = [
15
15
  '.learning', // Learned patterns
16
16
  'changelog', // Change history (user data)
17
17
  'worklog', // Work context (user data)
18
- 'sessions', // Session data
19
18
  'backups', // User backups
20
19
  ];
21
20
 
@@ -1322,6 +1321,9 @@ For detailed commands, see \`./.proagents/PROAGENTS.md\`
1322
1321
  * Smart update - preserves user files, updates framework files
1323
1322
  */
1324
1323
  async function smartUpdate(sourceDir, targetDir) {
1324
+ // Project root is parent of .proagents folder
1325
+ const projectRoot = join(targetDir, '..');
1326
+
1325
1327
  // Backup preserved paths
1326
1328
  const backups = {};
1327
1329
  for (const path of PRESERVE_PATHS) {
@@ -1406,7 +1408,8 @@ async function smartUpdate(sourceDir, targetDir) {
1406
1408
  console.log(chalk.green(`✓ Updated ${filesUpdated} framework files`));
1407
1409
 
1408
1410
  // Merge config file - keep user values, add new options
1409
- const userConfigPath = join(targetDir, CONFIG_FILE);
1411
+ // User config is at project root, not inside .proagents
1412
+ const userConfigPath = join(projectRoot, CONFIG_FILE);
1410
1413
  const newConfigPath = join(sourceDir, CONFIG_FILE);
1411
1414
 
1412
1415
  if (existsSync(newConfigPath)) {
@@ -1435,7 +1438,6 @@ async function smartUpdate(sourceDir, targetDir) {
1435
1438
  }
1436
1439
 
1437
1440
  // Copy AI instruction files for configured platforms (merges with existing files)
1438
- const projectRoot = join(targetDir, '..');
1439
1441
  const configPath = join(projectRoot, 'proagents.config.yaml');
1440
1442
  const selectedPlatforms = loadPlatformConfig(configPath);
1441
1443
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "proagents",
3
- "version": "1.6.21",
3
+ "version": "1.6.22",
4
4
  "description": "AI-agnostic development workflow framework that automates the full software development lifecycle",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
@@ -1,5 +0,0 @@
1
- # Session Summaries
2
-
3
- This folder contains session summaries generated by `pa:session-end`.
4
-
5
- Each file is named: `YYYY-MM-DD-HHMMSS.md`