@mthanhlm/autodev 0.3.5 → 0.3.7
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-plugin/plugin.json +1 -1
- package/README.md +6 -6
- package/agents/autodev-codebase-domain.md +2 -0
- package/agents/autodev-codebase-quality.md +2 -0
- package/agents/autodev-codebase-runtime.md +2 -0
- package/agents/autodev-codebase-structure.md +2 -0
- package/agents/autodev-review-integration.md +2 -0
- package/agents/autodev-review-polish.md +2 -0
- package/agents/autodev-review-quality.md +2 -0
- package/agents/autodev-review-security.md +2 -0
- package/agents/autodev-task-worker.md +3 -1
- package/autodev/bin/autodev-tools.cjs +119 -1
- package/autodev/templates/config.json +1 -1
- package/autodev/templates/plan.md +1 -1
- package/autodev/workflows/autodev.md +1 -1
- package/autodev/workflows/execute-phase.md +9 -5
- package/autodev/workflows/explore-codebase.md +2 -2
- package/autodev/workflows/help.md +3 -3
- package/autodev/workflows/new-project.md +1 -1
- package/autodev/workflows/plan-phase.md +2 -2
- package/autodev/workflows/review-phase.md +6 -4
- package/autodev/workflows/verify-work.md +2 -2
- package/commands/autodev/execute-phase.md +2 -2
- package/commands/autodev/explore-codebase.md +2 -2
- package/commands/autodev/review-phase.md +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
- Keeps project state in `.autodev/`
|
|
9
9
|
- Uses `/autodev` as the main command
|
|
10
10
|
- Organizes work as `project -> track -> phase -> tasks`
|
|
11
|
-
- Maps brownfield repos with
|
|
12
|
-
- Runs a multi-lens review pass, using
|
|
11
|
+
- Maps brownfield repos with foreground delegated agents when the environment supports them
|
|
12
|
+
- Runs a multi-lens review pass, using foreground review agents when the environment supports them
|
|
13
13
|
- Ships manual commands when you want direct control:
|
|
14
14
|
- `/autodev-help`
|
|
15
15
|
- `/autodev-new-project`
|
|
@@ -89,7 +89,7 @@ project -> track -> phase -> tasks
|
|
|
89
89
|
|
|
90
90
|
- Large phases are too big for one uninterrupted execution context
|
|
91
91
|
- Developers need control over what changes next
|
|
92
|
-
- Each task can run in a fresh
|
|
92
|
+
- Each task can run in a fresh foreground agent context
|
|
93
93
|
- The main `/autodev` session stays small and orchestration-focused
|
|
94
94
|
|
|
95
95
|
### Execution Model
|
|
@@ -98,10 +98,10 @@ project -> track -> phase -> tasks
|
|
|
98
98
|
- A phase is planned into one phase overview plus multiple task files
|
|
99
99
|
- `/autodev` stops after planning so the user can review the phase before any execution starts
|
|
100
100
|
- The phase keeps one user-facing orchestration session
|
|
101
|
-
- Each task is preferably executed by a fresh
|
|
102
|
-
- After each task, the
|
|
101
|
+
- Each task is preferably executed by a fresh foreground delegated agent
|
|
102
|
+
- After each task, the delegated agent reports back with files changed, verification, and blockers
|
|
103
103
|
- No waves by default
|
|
104
|
-
- No parallel execution
|
|
104
|
+
- No automatic parallel execution
|
|
105
105
|
- If specialized agents are unavailable in the current Claude Code environment, the workflow falls back cleanly to current-session execution instead of stopping on platform wording
|
|
106
106
|
|
|
107
107
|
## Git Policy
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
name: autodev-codebase-domain
|
|
3
3
|
description: Product and domain mapper for brownfield exploration. Use proactively when mapping an existing codebase and writing `.autodev/codebase/domain.md`.
|
|
4
4
|
tools: Read, Grep, Glob, Bash, Write
|
|
5
|
+
background: false
|
|
6
|
+
color: purple
|
|
5
7
|
model: inherit
|
|
6
8
|
---
|
|
7
9
|
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
name: autodev-codebase-quality
|
|
3
3
|
description: Testing and technical-debt mapper for brownfield exploration. Use proactively when mapping an existing codebase and writing `.autodev/codebase/quality.md`.
|
|
4
4
|
tools: Read, Grep, Glob, Bash, Write
|
|
5
|
+
background: false
|
|
6
|
+
color: yellow
|
|
5
7
|
model: inherit
|
|
6
8
|
---
|
|
7
9
|
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
name: autodev-codebase-runtime
|
|
3
3
|
description: Runtime and dependency mapper for brownfield exploration. Use proactively when mapping an existing codebase and writing `.autodev/codebase/runtime.md`.
|
|
4
4
|
tools: Read, Grep, Glob, Bash, Write
|
|
5
|
+
background: false
|
|
6
|
+
color: blue
|
|
5
7
|
model: inherit
|
|
6
8
|
---
|
|
7
9
|
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
name: autodev-codebase-structure
|
|
3
3
|
description: Repository structure mapper for brownfield exploration. Use proactively when mapping an existing codebase and writing `.autodev/codebase/structure.md`.
|
|
4
4
|
tools: Read, Grep, Glob, Bash, Write
|
|
5
|
+
background: false
|
|
6
|
+
color: cyan
|
|
5
7
|
model: inherit
|
|
6
8
|
---
|
|
7
9
|
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
name: autodev-review-integration
|
|
3
3
|
description: Integration review specialist for executed phases. Use proactively after code changes to find cross-module regressions and wiring mistakes.
|
|
4
4
|
tools: Read, Grep, Glob, Bash
|
|
5
|
+
background: false
|
|
6
|
+
color: orange
|
|
5
7
|
model: inherit
|
|
6
8
|
---
|
|
7
9
|
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
name: autodev-review-quality
|
|
3
3
|
description: Quality review specialist for executed phases. Use proactively after code changes to find correctness, maintainability, and test issues.
|
|
4
4
|
tools: Read, Grep, Glob, Bash
|
|
5
|
+
background: false
|
|
6
|
+
color: green
|
|
5
7
|
model: inherit
|
|
6
8
|
---
|
|
7
9
|
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
name: autodev-review-security
|
|
3
3
|
description: Security review specialist for executed phases. Use proactively after code changes to find auth, input-handling, and trust-boundary issues.
|
|
4
4
|
tools: Read, Grep, Glob, Bash
|
|
5
|
+
background: false
|
|
6
|
+
color: red
|
|
5
7
|
model: inherit
|
|
6
8
|
---
|
|
7
9
|
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: autodev-task-worker
|
|
3
|
-
description: Single-task implementation
|
|
3
|
+
description: Single-task implementation specialist for autodev phases. Use proactively when one `.autodev` task should run in a fresh foreground agent context and produce its matching `TASK-NN-SUMMARY.md`.
|
|
4
4
|
tools: Read, Grep, Glob, Bash, Edit, Write
|
|
5
|
+
background: false
|
|
6
|
+
color: orange
|
|
5
7
|
model: inherit
|
|
6
8
|
---
|
|
7
9
|
|
|
@@ -10,7 +10,7 @@ const DEFAULT_CONFIG = {
|
|
|
10
10
|
workflow: {
|
|
11
11
|
research: false,
|
|
12
12
|
review_after_execute: true,
|
|
13
|
-
codebase_parallel_agents:
|
|
13
|
+
codebase_parallel_agents: 1
|
|
14
14
|
},
|
|
15
15
|
execution: {
|
|
16
16
|
parallel: false
|
|
@@ -257,6 +257,35 @@ function readSingleLineField(content, label) {
|
|
|
257
257
|
return match ? match[1].trim() : null;
|
|
258
258
|
}
|
|
259
259
|
|
|
260
|
+
function parseStateSnapshot(content) {
|
|
261
|
+
if (!content) {
|
|
262
|
+
return null;
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
const currentPhaseRaw = readSingleLineField(content, 'Current Phase');
|
|
266
|
+
const currentPhaseNumber = currentPhaseRaw && /^\d+$/.test(currentPhaseRaw)
|
|
267
|
+
? Number(currentPhaseRaw)
|
|
268
|
+
: null;
|
|
269
|
+
|
|
270
|
+
return {
|
|
271
|
+
currentPhase: currentPhaseNumber,
|
|
272
|
+
currentPhaseType: readSingleLineField(content, 'Current Phase Type'),
|
|
273
|
+
currentStep: readSingleLineField(content, 'Current Step'),
|
|
274
|
+
currentTask: readSingleLineField(content, 'Current Task'),
|
|
275
|
+
currentTaskStatus: readSingleLineField(content, 'Current Task Status'),
|
|
276
|
+
status: readSingleLineField(content, 'Status'),
|
|
277
|
+
nextCommand: readSingleLineField(content, 'Next Command')
|
|
278
|
+
};
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
function readStateSnapshot(filePath) {
|
|
282
|
+
return parseStateSnapshot(readText(filePath));
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
function isBlockedTaskStatus(value) {
|
|
286
|
+
return typeof value === 'string' && /^blocked/i.test(value.trim());
|
|
287
|
+
}
|
|
288
|
+
|
|
260
289
|
function parseTaskDependsOn(value) {
|
|
261
290
|
if (!value || /^none$/i.test(value)) {
|
|
262
291
|
return [];
|
|
@@ -396,19 +425,41 @@ function resolvePhase(cwd, slug, requestedPhase, mode) {
|
|
|
396
425
|
return phases.find(phase => phase.number === numeric) || null;
|
|
397
426
|
}
|
|
398
427
|
|
|
428
|
+
const track = trackPaths(cwd, slug);
|
|
429
|
+
const trackState = track ? readStateSnapshot(track.state) : null;
|
|
430
|
+
const currentStatePhase = trackState?.currentPhase
|
|
431
|
+
? phases.find(phase => phase.number === trackState.currentPhase) || null
|
|
432
|
+
: null;
|
|
433
|
+
|
|
399
434
|
if (mode === 'plan') {
|
|
435
|
+
if (currentStatePhase && (
|
|
436
|
+
isBlockedTaskStatus(trackState.currentTaskStatus)
|
|
437
|
+
|| trackState.currentStep === 'planning'
|
|
438
|
+
|| trackState.currentStep === 'plan_review'
|
|
439
|
+
)) {
|
|
440
|
+
return currentStatePhase;
|
|
441
|
+
}
|
|
400
442
|
return phases.find(phase => !phase.planExists) || phases[0];
|
|
401
443
|
}
|
|
402
444
|
|
|
403
445
|
if (mode === 'execute') {
|
|
446
|
+
if (currentStatePhase && trackState?.currentStep === 'execution') {
|
|
447
|
+
return currentStatePhase;
|
|
448
|
+
}
|
|
404
449
|
return phases.find(phase => phase.planExists && !phase.summaryExists) || null;
|
|
405
450
|
}
|
|
406
451
|
|
|
407
452
|
if (mode === 'review') {
|
|
453
|
+
if (currentStatePhase && trackState?.currentStep === 'review') {
|
|
454
|
+
return currentStatePhase;
|
|
455
|
+
}
|
|
408
456
|
return phases.find(phase => phase.summaryExists && !phase.reviewExists) || null;
|
|
409
457
|
}
|
|
410
458
|
|
|
411
459
|
if (mode === 'verify') {
|
|
460
|
+
if (currentStatePhase && trackState?.currentStep === 'verification') {
|
|
461
|
+
return currentStatePhase;
|
|
462
|
+
}
|
|
412
463
|
return phases.find(phase => phase.reviewExists && !phase.uatExists)
|
|
413
464
|
|| [...phases].reverse().find(phase => phase.reviewExists)
|
|
414
465
|
|| null;
|
|
@@ -470,6 +521,7 @@ function buildRoute(cwd) {
|
|
|
470
521
|
}
|
|
471
522
|
|
|
472
523
|
const phases = listPhases(cwd, activeTrack);
|
|
524
|
+
const trackState = readStateSnapshot(track.state);
|
|
473
525
|
if (phases.length === 0) {
|
|
474
526
|
return {
|
|
475
527
|
kind: 'track_setup',
|
|
@@ -481,6 +533,72 @@ function buildRoute(cwd) {
|
|
|
481
533
|
};
|
|
482
534
|
}
|
|
483
535
|
|
|
536
|
+
const currentStatePhase = trackState?.currentPhase
|
|
537
|
+
? phases.find(phase => phase.number === trackState.currentPhase) || null
|
|
538
|
+
: null;
|
|
539
|
+
|
|
540
|
+
if (currentStatePhase && (
|
|
541
|
+
isBlockedTaskStatus(trackState?.currentTaskStatus)
|
|
542
|
+
)) {
|
|
543
|
+
return {
|
|
544
|
+
kind: 'plan_phase',
|
|
545
|
+
command: '/autodev',
|
|
546
|
+
manualCommand: `/autodev-plan-phase ${currentStatePhase.number}`,
|
|
547
|
+
reason: 'blocked_phase_requires_replanning',
|
|
548
|
+
projectType,
|
|
549
|
+
trackSlug: activeTrack,
|
|
550
|
+
phaseNumber: currentStatePhase.number
|
|
551
|
+
};
|
|
552
|
+
}
|
|
553
|
+
|
|
554
|
+
if (currentStatePhase && trackState?.currentStep === 'execution') {
|
|
555
|
+
return {
|
|
556
|
+
kind: 'execute_phase',
|
|
557
|
+
command: '/autodev',
|
|
558
|
+
manualCommand: `/autodev-execute-phase ${currentStatePhase.number}`,
|
|
559
|
+
reason: 'phase_execution_in_progress',
|
|
560
|
+
projectType,
|
|
561
|
+
trackSlug: activeTrack,
|
|
562
|
+
phaseNumber: currentStatePhase.number
|
|
563
|
+
};
|
|
564
|
+
}
|
|
565
|
+
|
|
566
|
+
if (currentStatePhase && trackState?.currentStep === 'plan_review') {
|
|
567
|
+
return {
|
|
568
|
+
kind: 'plan_review',
|
|
569
|
+
command: '/autodev',
|
|
570
|
+
manualCommand: `/autodev-execute-phase ${currentStatePhase.number}`,
|
|
571
|
+
reason: 'phase_plan_awaits_review',
|
|
572
|
+
projectType,
|
|
573
|
+
trackSlug: activeTrack,
|
|
574
|
+
phaseNumber: currentStatePhase.number
|
|
575
|
+
};
|
|
576
|
+
}
|
|
577
|
+
|
|
578
|
+
if (currentStatePhase && trackState?.currentStep === 'review' && !currentStatePhase.reviewExists) {
|
|
579
|
+
return {
|
|
580
|
+
kind: 'review_phase',
|
|
581
|
+
command: '/autodev',
|
|
582
|
+
manualCommand: `/autodev-review-phase ${currentStatePhase.number}`,
|
|
583
|
+
reason: 'phase_review_in_progress',
|
|
584
|
+
projectType,
|
|
585
|
+
trackSlug: activeTrack,
|
|
586
|
+
phaseNumber: currentStatePhase.number
|
|
587
|
+
};
|
|
588
|
+
}
|
|
589
|
+
|
|
590
|
+
if (currentStatePhase && trackState?.currentStep === 'verification' && !currentStatePhase.uatExists) {
|
|
591
|
+
return {
|
|
592
|
+
kind: 'verify_phase',
|
|
593
|
+
command: '/autodev',
|
|
594
|
+
manualCommand: `/autodev-verify-work ${currentStatePhase.number}`,
|
|
595
|
+
reason: 'phase_verification_in_progress',
|
|
596
|
+
projectType,
|
|
597
|
+
trackSlug: activeTrack,
|
|
598
|
+
phaseNumber: currentStatePhase.number
|
|
599
|
+
};
|
|
600
|
+
}
|
|
601
|
+
|
|
484
602
|
const nextReview = phases.find(phase => phase.summaryExists && !phase.reviewExists);
|
|
485
603
|
if (nextReview && config.workflow.review_after_execute !== false) {
|
|
486
604
|
return {
|
|
@@ -26,7 +26,7 @@ node "$AUTODEV_ROOT/autodev/bin/autodev-tools.cjs" status
|
|
|
26
26
|
- `explore_codebase`: load and perform the explore-codebase workflow.
|
|
27
27
|
- `plan_phase`: load and perform the plan-phase workflow.
|
|
28
28
|
- `plan_review`: load and perform the review-plan workflow so the user can review the phase plan before any execution starts.
|
|
29
|
-
- `execute_phase`: load and perform the execute-phase workflow, which should advance one task-sized unit in the current phase session by trying a fresh
|
|
29
|
+
- `execute_phase`: load and perform the execute-phase workflow, which should advance one task-sized unit in the current phase session by trying a fresh foreground agent first and falling back cleanly when agent delegation is unavailable.
|
|
30
30
|
- `review_phase`: load and perform the review-phase workflow.
|
|
31
31
|
- `verify_phase`: load and perform the verify-work workflow.
|
|
32
32
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<purpose>
|
|
2
|
-
Execute an active-track phase through task-sized
|
|
2
|
+
Execute an active-track phase through task-sized delegated runs, keep the main session orchestration-focused, and capture both task summaries and the final phase summary.
|
|
3
3
|
</purpose>
|
|
4
4
|
|
|
5
5
|
<rules>
|
|
@@ -8,11 +8,12 @@ Execute an active-track phase through task-sized worker runs, keep the main sess
|
|
|
8
8
|
- Stay within the current phase. Do not silently expand scope.
|
|
9
9
|
- Execute one task at a time by default.
|
|
10
10
|
- Do not use waves.
|
|
11
|
-
- Prefer a fresh
|
|
11
|
+
- Prefer a fresh foreground agent for each task so the phase session does not bloat.
|
|
12
12
|
- If agent delegation is available in this environment, delegate task implementation.
|
|
13
13
|
- If a delegation attempt fails with an environment limitation like `specialized agents aren't available`, treat agent delegation as unavailable for this run and continue cleanly.
|
|
14
14
|
- The main phase session should remain orchestration-focused whenever delegation works.
|
|
15
15
|
- The main phase session may update `.autodev/` state and aggregate phase artifacts.
|
|
16
|
+
- Do not run autodev subagents as background tasks.
|
|
16
17
|
</rules>
|
|
17
18
|
|
|
18
19
|
<process>
|
|
@@ -54,6 +55,8 @@ node "$AUTODEV_ROOT/autodev/bin/autodev-tools.cjs" init execute-phase "$ARGUMENT
|
|
|
54
55
|
- `autodev-task-worker` when autodev is installed into `.claude/`
|
|
55
56
|
- `autodev:autodev-task-worker` only when this workflow is being run directly from a plugin directory
|
|
56
57
|
|
|
58
|
+
Run it in the foreground as part of the current workflow step.
|
|
59
|
+
|
|
57
60
|
Tell the subagent:
|
|
58
61
|
- phase path
|
|
59
62
|
- task path
|
|
@@ -65,12 +68,12 @@ node "$AUTODEV_ROOT/autodev/bin/autodev-tools.cjs" init execute-phase "$ARGUMENT
|
|
|
65
68
|
|
|
66
69
|
8. If worker delegation is unavailable, do not stop on the raw platform message.
|
|
67
70
|
Treat messages like `specialized agents aren't available` as a capability limitation, then:
|
|
68
|
-
- tell the user plainly that
|
|
71
|
+
- tell the user plainly that delegated-agent execution is unavailable in this environment
|
|
69
72
|
- continue with the same task in the current session
|
|
70
73
|
- keep the same task boundaries
|
|
71
74
|
- still write the task summary before moving on
|
|
72
75
|
|
|
73
|
-
9. After the
|
|
76
|
+
9. After the delegated agent returns, or after the current-session fallback completes:
|
|
74
77
|
- confirm `TASK-NN-SUMMARY.md` exists
|
|
75
78
|
- inspect whether the task is done or blocked
|
|
76
79
|
- report the result to the user
|
|
@@ -110,10 +113,11 @@ node "$AUTODEV_ROOT/autodev/bin/autodev-tools.cjs" init execute-phase "$ARGUMENT
|
|
|
110
113
|
|
|
111
114
|
14. If the current task is blocked or incomplete:
|
|
112
115
|
- say so clearly in the task summary
|
|
113
|
-
- set both state files to `Current Step:
|
|
116
|
+
- set both state files to `Current Step: planning`
|
|
114
117
|
- set `Current Task: <same-task>`
|
|
115
118
|
- set `Current Task Status: blocked`
|
|
116
119
|
- keep `Next Command: /autodev`
|
|
120
|
+
- tell the user the phase should be revised before more execution
|
|
117
121
|
|
|
118
122
|
15. End with a short outcome summary and the next recommended command. Mention that the automatic review bundle is the next routed step only when the whole phase is complete.
|
|
119
123
|
</process>
|
|
@@ -3,7 +3,7 @@ Map a brownfield repository quickly and produce a usable codebase brief without
|
|
|
3
3
|
</purpose>
|
|
4
4
|
|
|
5
5
|
<rules>
|
|
6
|
-
- Prefer
|
|
6
|
+
- Prefer a small set of foreground codebase agents, run one at a time, when agent delegation is available.
|
|
7
7
|
- Give each agent a disjoint write target.
|
|
8
8
|
- Use read-only investigation only. No git writes.
|
|
9
9
|
- Focus on information that will improve planning and execution for the active track.
|
|
@@ -26,7 +26,7 @@ node "$AUTODEV_ROOT/autodev/bin/autodev-tools.cjs" init explore-codebase
|
|
|
26
26
|
- the active track docs if they exist
|
|
27
27
|
- representative repo files needed to orient the exploration
|
|
28
28
|
|
|
29
|
-
4. If
|
|
29
|
+
4. If agent delegation is available, explicitly call the `Agent` tool for these subagents, one at a time in the foreground, with owned outputs:
|
|
30
30
|
- `autodev-codebase-structure` for standalone installs, or `autodev:autodev-codebase-structure` in direct plugin runs, owns `.autodev/codebase/structure.md`
|
|
31
31
|
- `autodev-codebase-domain` for standalone installs, or `autodev:autodev-codebase-domain` in direct plugin runs, owns `.autodev/codebase/domain.md`
|
|
32
32
|
- `autodev-codebase-runtime` for standalone installs, or `autodev:autodev-codebase-runtime` in direct plugin runs, owns `.autodev/codebase/runtime.md`
|
|
@@ -14,13 +14,13 @@ Lean Claude Code workflow. No automatic commits. No branches. No worktrees. Git
|
|
|
14
14
|
- `/autodev-new-project`
|
|
15
15
|
Creates project state in `.autodev/` and the first active track under `.autodev/tracks/<track>/`.
|
|
16
16
|
- `/autodev-explore-codebase`
|
|
17
|
-
Uses
|
|
17
|
+
Uses foreground codebase agents, one at a time when available, to map a brownfield repo into `.autodev/codebase/`.
|
|
18
18
|
- `/autodev-plan-phase [phase]`
|
|
19
19
|
Creates or revises one phase plan plus task files in `.autodev/tracks/<track>/phases/NN-type-name/`.
|
|
20
20
|
- `/autodev-execute-phase [phase]`
|
|
21
|
-
Orchestrates one phase task-by-task, preferring a fresh
|
|
21
|
+
Orchestrates one phase task-by-task, preferring a fresh foreground delegated agent per task, and writes `TASK-NN-SUMMARY.md` plus the final `NN-SUMMARY.md`.
|
|
22
22
|
- `/autodev-review-phase [phase]`
|
|
23
|
-
Uses
|
|
23
|
+
Uses foreground review agents, one at a time when available, for code quality, security, integration, and polish, then writes `NN-REVIEW.md`.
|
|
24
24
|
- `/autodev-verify-work [phase]`
|
|
25
25
|
Records manual verification in `NN-UAT.md` and captures fix-return gaps when verification fails.
|
|
26
26
|
- `/autodev-progress`
|
|
@@ -31,7 +31,7 @@ node "$AUTODEV_ROOT/autodev/bin/autodev-tools.cjs" init new-project
|
|
|
31
31
|
- `project.type: "greenfield"` or `"brownfield"`
|
|
32
32
|
- `workflow.research: false`
|
|
33
33
|
- `workflow.review_after_execute: true`
|
|
34
|
-
- `workflow.codebase_parallel_agents:
|
|
34
|
+
- `workflow.codebase_parallel_agents: 1`
|
|
35
35
|
- `execution.parallel: false`
|
|
36
36
|
- `git.mode: "read-only"`
|
|
37
37
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<purpose>
|
|
2
|
-
Create one practical phase plan for the active track, then break it into reviewable task files that are small enough for fresh
|
|
2
|
+
Create one practical phase plan for the active track, then break it into reviewable task files that are small enough for fresh foreground-agent execution.
|
|
3
3
|
</purpose>
|
|
4
4
|
|
|
5
5
|
<rules>
|
|
@@ -58,7 +58,7 @@ TASK-02.md
|
|
|
58
58
|
```
|
|
59
59
|
|
|
60
60
|
Each task should be:
|
|
61
|
-
- small enough for one fresh
|
|
61
|
+
- small enough for one fresh delegated agent context
|
|
62
62
|
- clear about likely files to touch
|
|
63
63
|
- explicit about verification
|
|
64
64
|
- reviewable as a standalone unit
|
|
@@ -3,7 +3,7 @@ Run the automatic review bundle after execution so the user sees code quality, s
|
|
|
3
3
|
</purpose>
|
|
4
4
|
|
|
5
5
|
<rules>
|
|
6
|
-
- Prefer
|
|
6
|
+
- Prefer a small set of foreground review agents, run one at a time, when agent delegation is available.
|
|
7
7
|
- Review findings should be concrete and evidence-based.
|
|
8
8
|
- Do not edit repository code in this step unless the user explicitly asks for fixes.
|
|
9
9
|
- Write one consolidated review artifact for the phase.
|
|
@@ -28,7 +28,7 @@ node "$AUTODEV_ROOT/autodev/bin/autodev-tools.cjs" init review-phase "$ARGUMENTS
|
|
|
28
28
|
- `NN-SUMMARY.md`
|
|
29
29
|
- relevant source files and tests
|
|
30
30
|
|
|
31
|
-
4. If
|
|
31
|
+
4. If agent delegation is available, explicitly call the `Agent` tool for these review subagents, one at a time in the foreground:
|
|
32
32
|
- `autodev-review-quality` for standalone installs, or `autodev:autodev-review-quality` in direct plugin runs
|
|
33
33
|
- `autodev-review-security` for standalone installs, or `autodev:autodev-review-security` in direct plugin runs
|
|
34
34
|
- `autodev-review-integration` for standalone installs, or `autodev:autodev-review-integration` in direct plugin runs
|
|
@@ -54,9 +54,11 @@ node "$AUTODEV_ROOT/autodev/bin/autodev-tools.cjs" init review-phase "$ARGUMENTS
|
|
|
54
54
|
- a final recommendation
|
|
55
55
|
|
|
56
56
|
8. If blockers are found:
|
|
57
|
-
- set project and track state back to `Current Step:
|
|
57
|
+
- set project and track state back to `Current Step: planning`
|
|
58
|
+
- set `Current Task: none`
|
|
59
|
+
- set `Current Task Status: blocked_review`
|
|
58
60
|
- keep `Next Command: /autodev`
|
|
59
|
-
- make the recommendation point back to the same phase
|
|
61
|
+
- make the recommendation point back to revising the same phase with blocker-fix tasks
|
|
60
62
|
|
|
61
63
|
9. If blockers are not found:
|
|
62
64
|
- set project and track state to `Current Step: verification`
|
|
@@ -42,9 +42,9 @@ node "$AUTODEV_ROOT/autodev/bin/autodev-tools.cjs" init verify-work "$ARGUMENTS"
|
|
|
42
42
|
7. Update the active track `STATE.md`:
|
|
43
43
|
- if verification passed and another phase remains, move to the next phase and set `Current Step: planning`
|
|
44
44
|
- if verification passed and no phase remains, set `Current Step: complete`
|
|
45
|
-
- if verification failed, keep the same phase active and set `Current Step:
|
|
45
|
+
- if verification failed, keep the same phase active and set `Current Step: planning`
|
|
46
46
|
- when moving to another phase, set `Current Task: none` and `Current Task Status: idle`
|
|
47
|
-
- when verification failed, set `Current Task: none` and `Current Task Status:
|
|
47
|
+
- when verification failed, set `Current Task: none` and `Current Task Status: blocked_verification`
|
|
48
48
|
- always set `Next Command: /autodev`
|
|
49
49
|
- always refresh the ISO timestamp
|
|
50
50
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: autodev:execute-phase
|
|
3
|
-
description: Execute an active-track phase task by task, preferring fresh
|
|
3
|
+
description: Execute an active-track phase task by task, preferring fresh foreground agents with clean fallback when unavailable
|
|
4
4
|
argument-hint: "[phase-number]"
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- Read
|
|
@@ -14,7 +14,7 @@ allowed-tools:
|
|
|
14
14
|
- Agent
|
|
15
15
|
---
|
|
16
16
|
<objective>
|
|
17
|
-
Execute one active-track phase through task-sized
|
|
17
|
+
Execute one active-track phase through task-sized delegated runs and record both task-level and phase-level summaries.
|
|
18
18
|
</objective>
|
|
19
19
|
|
|
20
20
|
<execution_context>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: autodev:explore-codebase
|
|
3
|
-
description: Map an existing codebase, preferring
|
|
3
|
+
description: Map an existing codebase, preferring foreground delegated agents with clean fallback when unavailable
|
|
4
4
|
allowed-tools:
|
|
5
5
|
- Read
|
|
6
6
|
- Write
|
|
@@ -12,7 +12,7 @@ allowed-tools:
|
|
|
12
12
|
- Agent
|
|
13
13
|
---
|
|
14
14
|
<objective>
|
|
15
|
-
Explore the current repository, use
|
|
15
|
+
Explore the current repository, use foreground codebase agents when available, and write the brownfield map into `.autodev/codebase/`.
|
|
16
16
|
</objective>
|
|
17
17
|
|
|
18
18
|
<execution_context>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: autodev:review-phase
|
|
3
|
-
description: Run a review pass for code quality, security, integration, and product polish, preferring
|
|
3
|
+
description: Run a review pass for code quality, security, integration, and product polish, preferring foreground agents when available
|
|
4
4
|
argument-hint: "[phase-number]"
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- Read
|
package/package.json
CHANGED