@mthanhlm/autodev 0.3.4 → 0.3.5

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.
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "autodev",
3
+ "description": "A lean Claude Code workflow system with a single entrypoint, task-based phase execution, and read-only git.",
4
+ "version": "0.3.5",
5
+ "author": {
6
+ "name": "mthanhlm"
7
+ },
8
+ "license": "MIT"
9
+ }
package/PUBLISH.md CHANGED
@@ -20,6 +20,7 @@ npm whoami
20
20
  ```bash
21
21
  cd autodev
22
22
  npm test
23
+ claude plugin validate .
23
24
  npm pack
24
25
  ```
25
26
 
@@ -73,3 +74,9 @@ Open Claude Code in that directory and run:
73
74
  ```text
74
75
  /autodev-help
75
76
  ```
77
+
78
+ Optional source-tree check during development:
79
+
80
+ ```bash
81
+ claude --plugin-dir . agents
82
+ ```
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  ## What It Does
6
6
 
7
- - Installs a small Claude Code workflow under `~/.claude/` or `./.claude/`
7
+ - Installs a standalone Claude Code workflow under `~/.claude/` or `./.claude/`
8
8
  - Keeps project state in `.autodev/`
9
9
  - Uses `/autodev` as the main command
10
10
  - Organizes work as `project -> track -> phase -> tasks`
@@ -24,6 +24,9 @@
24
24
 
25
25
  ## Install
26
26
 
27
+ Primary supported usage is the standalone `npx` installer.
28
+ The repo also carries Claude Code plugin metadata for validation and local development, but the supported end-user runtime remains the installed `.claude/` workflow.
29
+
27
30
  ```bash
28
31
  npx @mthanhlm/autodev@latest --global
29
32
  ```
@@ -1,3 +1,10 @@
1
+ ---
2
+ name: autodev-codebase-domain
3
+ description: Product and domain mapper for brownfield exploration. Use proactively when mapping an existing codebase and writing `.autodev/codebase/domain.md`.
4
+ tools: Read, Grep, Glob, Bash, Write
5
+ model: inherit
6
+ ---
7
+
1
8
  # autodev-codebase-domain
2
9
 
3
10
  You are responsible for `.autodev/codebase/domain.md`.
@@ -1,3 +1,10 @@
1
+ ---
2
+ name: autodev-codebase-quality
3
+ description: Testing and technical-debt mapper for brownfield exploration. Use proactively when mapping an existing codebase and writing `.autodev/codebase/quality.md`.
4
+ tools: Read, Grep, Glob, Bash, Write
5
+ model: inherit
6
+ ---
7
+
1
8
  # autodev-codebase-quality
2
9
 
3
10
  You are responsible for `.autodev/codebase/quality.md`.
@@ -1,3 +1,10 @@
1
+ ---
2
+ name: autodev-codebase-runtime
3
+ description: Runtime and dependency mapper for brownfield exploration. Use proactively when mapping an existing codebase and writing `.autodev/codebase/runtime.md`.
4
+ tools: Read, Grep, Glob, Bash, Write
5
+ model: inherit
6
+ ---
7
+
1
8
  # autodev-codebase-runtime
2
9
 
3
10
  You are responsible for `.autodev/codebase/runtime.md`.
@@ -1,3 +1,10 @@
1
+ ---
2
+ name: autodev-codebase-structure
3
+ description: Repository structure mapper for brownfield exploration. Use proactively when mapping an existing codebase and writing `.autodev/codebase/structure.md`.
4
+ tools: Read, Grep, Glob, Bash, Write
5
+ model: inherit
6
+ ---
7
+
1
8
  # autodev-codebase-structure
2
9
 
3
10
  You are responsible for `.autodev/codebase/structure.md`.
@@ -1,3 +1,10 @@
1
+ ---
2
+ name: autodev-review-integration
3
+ description: Integration review specialist for executed phases. Use proactively after code changes to find cross-module regressions and wiring mistakes.
4
+ tools: Read, Grep, Glob, Bash
5
+ model: inherit
6
+ ---
7
+
1
8
  # autodev-review-integration
2
9
 
3
10
  Review the executed phase for integration and regression risk.
@@ -1,3 +1,10 @@
1
+ ---
2
+ name: autodev-review-polish
3
+ description: Product polish review specialist for executed phases. Use proactively after code changes to find rough UX, copy, and finish issues.
4
+ tools: Read, Grep, Glob, Bash
5
+ model: inherit
6
+ ---
7
+
1
8
  # autodev-review-polish
2
9
 
3
10
  Review the executed phase for product polish and obvious AI-generated roughness.
@@ -1,3 +1,10 @@
1
+ ---
2
+ name: autodev-review-quality
3
+ description: Quality review specialist for executed phases. Use proactively after code changes to find correctness, maintainability, and test issues.
4
+ tools: Read, Grep, Glob, Bash
5
+ model: inherit
6
+ ---
7
+
1
8
  # autodev-review-quality
2
9
 
3
10
  Review the executed phase for code quality.
@@ -1,3 +1,10 @@
1
+ ---
2
+ name: autodev-review-security
3
+ description: Security review specialist for executed phases. Use proactively after code changes to find auth, input-handling, and trust-boundary issues.
4
+ tools: Read, Grep, Glob, Bash
5
+ model: inherit
6
+ ---
7
+
1
8
  # autodev-review-security
2
9
 
3
10
  Review the executed phase for security and misuse risks.
@@ -1,3 +1,10 @@
1
+ ---
2
+ name: autodev-task-worker
3
+ description: Single-task implementation worker for autodev phases. Use proactively when one `.autodev` task should run in a fresh agent context and produce its matching `TASK-NN-SUMMARY.md`.
4
+ tools: Read, Grep, Glob, Bash, Edit, Write
5
+ model: inherit
6
+ ---
7
+
1
8
  # autodev-task-worker
2
9
 
3
10
  Execute one assigned task inside the current phase and report back to the main phase session.
@@ -15,19 +15,20 @@ Use `/autodev` as the single entrypoint for the normal workflow. Route automatic
15
15
  1. Run:
16
16
 
17
17
  ```bash
18
- node "$HOME/.claude/autodev/bin/autodev-tools.cjs" status
18
+ AUTODEV_ROOT="${CLAUDE_PLUGIN_ROOT:-$HOME/.claude}"
19
+ node "$AUTODEV_ROOT/autodev/bin/autodev-tools.cjs" status
19
20
  ```
20
21
 
21
22
  2. Inspect the returned `route.kind`, `project_type`, `tracks`, and active track data.
22
23
 
23
24
  3. Route as follows:
24
- - `init_project`: read `@~/.claude/autodev/workflows/new-project.md`, then perform that workflow.
25
- - `explore_codebase`: read `@~/.claude/autodev/workflows/explore-codebase.md`, then perform that workflow.
26
- - `plan_phase`: read `@~/.claude/autodev/workflows/plan-phase.md`, then perform that workflow.
27
- - `plan_review`: read `@~/.claude/autodev/workflows/review-plan.md`, then perform that workflow so the user can review the phase plan before any execution starts.
28
- - `execute_phase`: read `@~/.claude/autodev/workflows/execute-phase.md`, then perform that workflow, which should advance one task-sized unit in the current phase session by trying a fresh worker agent first and falling back cleanly when agent delegation is unavailable.
29
- - `review_phase`: read `@~/.claude/autodev/workflows/review-phase.md`, then perform that workflow.
30
- - `verify_phase`: read `@~/.claude/autodev/workflows/verify-work.md`, then perform that workflow.
25
+ - `init_project`: load and perform the new-project workflow.
26
+ - `explore_codebase`: load and perform the explore-codebase workflow.
27
+ - `plan_phase`: load and perform the plan-phase workflow.
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 worker agent first and falling back cleanly when agent delegation is unavailable.
30
+ - `review_phase`: load and perform the review-phase workflow.
31
+ - `verify_phase`: load and perform the verify-work workflow.
31
32
 
32
33
  4. Read only the workflow file needed for the selected route. Do not load the others "just in case".
33
34
 
@@ -13,7 +13,8 @@ Clean or archive autodev state without flags. Prefer preserving useful project c
13
13
  1. Run:
14
14
 
15
15
  ```bash
16
- node "$HOME/.claude/autodev/bin/autodev-tools.cjs" cleanup
16
+ AUTODEV_ROOT="${CLAUDE_PLUGIN_ROOT:-$HOME/.claude}"
17
+ node "$AUTODEV_ROOT/autodev/bin/autodev-tools.cjs" cleanup
17
18
  ```
18
19
 
19
20
  2. If no `.autodev/` project exists, stop and say there is nothing to clean.
@@ -19,7 +19,8 @@ Execute an active-track phase through task-sized worker runs, keep the main sess
19
19
  1. Run:
20
20
 
21
21
  ```bash
22
- node "$HOME/.claude/autodev/bin/autodev-tools.cjs" init execute-phase "$ARGUMENTS"
22
+ AUTODEV_ROOT="${CLAUDE_PLUGIN_ROOT:-$HOME/.claude}"
23
+ node "$AUTODEV_ROOT/autodev/bin/autodev-tools.cjs" init execute-phase "$ARGUMENTS"
23
24
  ```
24
25
 
25
26
  2. If no phase is found or the plan file is missing, stop and direct the user to `/autodev-plan-phase`.
@@ -48,8 +49,12 @@ node "$HOME/.claude/autodev/bin/autodev-tools.cjs" init execute-phase "$ARGUMENT
48
49
  - verification plan
49
50
  - any dependency note
50
51
 
51
- 7. If agent delegation is available, first try to spawn one fresh background worker using `autodev-task-worker` for the selected task.
52
- Tell it:
52
+ 7. If agent delegation is available, explicitly call the `Agent` tool and select the installed task-worker subagent for the selected task.
53
+ Use:
54
+ - `autodev-task-worker` when autodev is installed into `.claude/`
55
+ - `autodev:autodev-task-worker` only when this workflow is being run directly from a plugin directory
56
+
57
+ Tell the subagent:
53
58
  - phase path
54
59
  - task path
55
60
  - summary path to write
@@ -13,7 +13,8 @@ Map a brownfield repository quickly and produce a usable codebase brief without
13
13
  1. Run:
14
14
 
15
15
  ```bash
16
- node "$HOME/.claude/autodev/bin/autodev-tools.cjs" init explore-codebase
16
+ AUTODEV_ROOT="${CLAUDE_PLUGIN_ROOT:-$HOME/.claude}"
17
+ node "$AUTODEV_ROOT/autodev/bin/autodev-tools.cjs" init explore-codebase
17
18
  ```
18
19
 
19
20
  2. If no project exists, stop and tell the user to use `/autodev` or `/autodev-new-project`.
@@ -25,11 +26,11 @@ node "$HOME/.claude/autodev/bin/autodev-tools.cjs" init explore-codebase
25
26
  - the active track docs if they exist
26
27
  - representative repo files needed to orient the exploration
27
28
 
28
- 4. If specialized agents are available, spawn four parallel agents with these owned outputs:
29
- - `autodev-codebase-structure` owns `.autodev/codebase/structure.md`
30
- - `autodev-codebase-domain` owns `.autodev/codebase/domain.md`
31
- - `autodev-codebase-runtime` owns `.autodev/codebase/runtime.md`
32
- - `autodev-codebase-quality` owns `.autodev/codebase/quality.md`
29
+ 4. If specialized agents are available, explicitly call the `Agent` tool four times with these installed subagents and owned outputs:
30
+ - `autodev-codebase-structure` for standalone installs, or `autodev:autodev-codebase-structure` in direct plugin runs, owns `.autodev/codebase/structure.md`
31
+ - `autodev-codebase-domain` for standalone installs, or `autodev:autodev-codebase-domain` in direct plugin runs, owns `.autodev/codebase/domain.md`
32
+ - `autodev-codebase-runtime` for standalone installs, or `autodev:autodev-codebase-runtime` in direct plugin runs, owns `.autodev/codebase/runtime.md`
33
+ - `autodev-codebase-quality` for standalone installs, or `autodev:autodev-codebase-quality` in direct plugin runs, owns `.autodev/codebase/quality.md`
33
34
 
34
35
  5. Tell each agent:
35
36
  - it is not alone in the codebase
@@ -13,7 +13,8 @@ Initialize `.autodev/` with useful project-level context, then create the first
13
13
  1. Run:
14
14
 
15
15
  ```bash
16
- node "$HOME/.claude/autodev/bin/autodev-tools.cjs" init new-project
16
+ AUTODEV_ROOT="${CLAUDE_PLUGIN_ROOT:-$HOME/.claude}"
17
+ node "$AUTODEV_ROOT/autodev/bin/autodev-tools.cjs" init new-project
17
18
  ```
18
19
 
19
20
  2. If `.autodev/PROJECT.md` already exists, stop and tell the user to use `/autodev`.
@@ -15,7 +15,8 @@ Create one practical phase plan for the active track, then break it into reviewa
15
15
  1. Run:
16
16
 
17
17
  ```bash
18
- node "$HOME/.claude/autodev/bin/autodev-tools.cjs" init plan-phase "$ARGUMENTS"
18
+ AUTODEV_ROOT="${CLAUDE_PLUGIN_ROOT:-$HOME/.claude}"
19
+ node "$AUTODEV_ROOT/autodev/bin/autodev-tools.cjs" init plan-phase "$ARGUMENTS"
19
20
  ```
20
21
 
21
22
  2. If there is no active track or no roadmap for it, stop and tell the user to run `/autodev`.
@@ -6,7 +6,8 @@ Render the current autodev status with no extra ceremony.
6
6
  1. Run:
7
7
 
8
8
  ```bash
9
- node "$HOME/.claude/autodev/bin/autodev-tools.cjs" progress table
9
+ AUTODEV_ROOT="${CLAUDE_PLUGIN_ROOT:-$HOME/.claude}"
10
+ node "$AUTODEV_ROOT/autodev/bin/autodev-tools.cjs" progress table
10
11
  ```
11
12
 
12
13
  2. Output the table directly.
@@ -13,7 +13,8 @@ Run the automatic review bundle after execution so the user sees code quality, s
13
13
  1. Run:
14
14
 
15
15
  ```bash
16
- node "$HOME/.claude/autodev/bin/autodev-tools.cjs" init review-phase "$ARGUMENTS"
16
+ AUTODEV_ROOT="${CLAUDE_PLUGIN_ROOT:-$HOME/.claude}"
17
+ node "$AUTODEV_ROOT/autodev/bin/autodev-tools.cjs" init review-phase "$ARGUMENTS"
17
18
  ```
18
19
 
19
20
  2. If no executed phase is found, stop and direct the user to `/autodev-execute-phase`.
@@ -27,11 +28,11 @@ node "$HOME/.claude/autodev/bin/autodev-tools.cjs" init review-phase "$ARGUMENTS
27
28
  - `NN-SUMMARY.md`
28
29
  - relevant source files and tests
29
30
 
30
- 4. If specialized agents are available, spawn four parallel review agents:
31
- - `autodev-review-quality`
32
- - `autodev-review-security`
33
- - `autodev-review-integration`
34
- - `autodev-review-polish`
31
+ 4. If specialized agents are available, explicitly call the `Agent` tool four times with these installed review subagents:
32
+ - `autodev-review-quality` for standalone installs, or `autodev:autodev-review-quality` in direct plugin runs
33
+ - `autodev-review-security` for standalone installs, or `autodev:autodev-review-security` in direct plugin runs
34
+ - `autodev-review-integration` for standalone installs, or `autodev:autodev-review-integration` in direct plugin runs
35
+ - `autodev-review-polish` for standalone installs, or `autodev:autodev-review-polish` in direct plugin runs
35
36
 
36
37
  5. Tell each review agent:
37
38
  - it is not alone in the codebase
@@ -13,7 +13,8 @@ Pause after phase planning so the user can review the generated plan and task br
13
13
  1. Run:
14
14
 
15
15
  ```bash
16
- node "$HOME/.claude/autodev/bin/autodev-tools.cjs" init review-plan "$ARGUMENTS"
16
+ AUTODEV_ROOT="${CLAUDE_PLUGIN_ROOT:-$HOME/.claude}"
17
+ node "$AUTODEV_ROOT/autodev/bin/autodev-tools.cjs" init review-plan "$ARGUMENTS"
17
18
  ```
18
19
 
19
20
  2. If no planned phase is found, stop and direct the user to `/autodev`.
@@ -36,11 +37,11 @@ node "$HOME/.claude/autodev/bin/autodev-tools.cjs" init review-plan "$ARGUMENTS"
36
37
  - stop here
37
38
 
38
39
  6. If the user chooses to execute now:
39
- - read `@~/.claude/autodev/workflows/execute-phase.md`
40
- - perform that workflow in the same turn
40
+ - load the execute-phase workflow
41
+ - perform it in the same turn
41
42
 
42
43
  7. If the user chooses to revise the plan:
43
- - read `@~/.claude/autodev/workflows/plan-phase.md`
44
+ - load the plan-phase workflow
44
45
  - revise the same phase in the same turn
45
46
 
46
47
  8. If the user chooses to stop here:
@@ -12,7 +12,8 @@ Run lightweight user acceptance testing after review and keep the next action ob
12
12
  1. Run:
13
13
 
14
14
  ```bash
15
- node "$HOME/.claude/autodev/bin/autodev-tools.cjs" init verify-work "$ARGUMENTS"
15
+ AUTODEV_ROOT="${CLAUDE_PLUGIN_ROOT:-$HOME/.claude}"
16
+ node "$AUTODEV_ROOT/autodev/bin/autodev-tools.cjs" init verify-work "$ARGUMENTS"
16
17
  ```
17
18
 
18
19
  2. If no reviewed phase is found, stop and direct the user to `/autodev-review-phase`.
package/bin/install.js CHANGED
@@ -13,6 +13,7 @@ const reset = '\x1b[0m';
13
13
  const MANAGED_PREFIX = 'autodev-';
14
14
  const ROOT_COMMAND = 'autodev';
15
15
  const HOOK_FILES = [
16
+ 'hooks.json',
16
17
  'autodev-context-monitor.js',
17
18
  'autodev-git-guard.js',
18
19
  'autodev-phase-boundary.sh',
@@ -0,0 +1,79 @@
1
+ {
2
+ "hooks": {
3
+ "SessionStart": [
4
+ {
5
+ "hooks": [
6
+ {
7
+ "type": "command",
8
+ "command": "bash \"${CLAUDE_PLUGIN_ROOT}/hooks/autodev-session-state.sh\"",
9
+ "timeout": 5
10
+ }
11
+ ]
12
+ }
13
+ ],
14
+ "PreToolUse": [
15
+ {
16
+ "matcher": "Write|Edit",
17
+ "hooks": [
18
+ {
19
+ "type": "command",
20
+ "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/autodev-prompt-guard.js\"",
21
+ "timeout": 5
22
+ }
23
+ ]
24
+ },
25
+ {
26
+ "matcher": "Write|Edit",
27
+ "hooks": [
28
+ {
29
+ "type": "command",
30
+ "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/autodev-read-guard.js\"",
31
+ "timeout": 5
32
+ }
33
+ ]
34
+ },
35
+ {
36
+ "matcher": "Write|Edit",
37
+ "hooks": [
38
+ {
39
+ "type": "command",
40
+ "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/autodev-workflow-guard.js\"",
41
+ "timeout": 5
42
+ }
43
+ ]
44
+ },
45
+ {
46
+ "matcher": "Bash",
47
+ "hooks": [
48
+ {
49
+ "type": "command",
50
+ "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/autodev-git-guard.js\"",
51
+ "timeout": 5
52
+ }
53
+ ]
54
+ }
55
+ ],
56
+ "PostToolUse": [
57
+ {
58
+ "matcher": "Bash|Edit|Write|MultiEdit|Agent|Task",
59
+ "hooks": [
60
+ {
61
+ "type": "command",
62
+ "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/autodev-context-monitor.js\"",
63
+ "timeout": 10
64
+ }
65
+ ]
66
+ },
67
+ {
68
+ "matcher": "Write|Edit",
69
+ "hooks": [
70
+ {
71
+ "type": "command",
72
+ "command": "bash \"${CLAUDE_PLUGIN_ROOT}/hooks/autodev-phase-boundary.sh\"",
73
+ "timeout": 5
74
+ }
75
+ ]
76
+ }
77
+ ]
78
+ }
79
+ }
package/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "@mthanhlm/autodev",
3
- "version": "0.3.4",
3
+ "version": "0.3.5",
4
4
  "description": "A lean Claude Code workflow system with a single entrypoint, task-based phase execution, and read-only git.",
5
5
  "bin": {
6
6
  "autodev": "bin/install.js"
7
7
  },
8
8
  "files": [
9
+ ".claude-plugin",
9
10
  "bin",
10
11
  "commands",
11
12
  "agents",