sdd-agent-pack 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,38 +1,60 @@
1
1
  # SDD Agent Pack
2
2
 
3
- Lightweight installer for SDD (Software Driven Development) workflow assets into application repositories. Works with **OpenHands**, **Copilot**, **Claude Code**, **Codex**, and other AI coding agents.
3
+ Lightweight installer for SDD (Software Driven Development) workflow assets into application repositories.
4
4
 
5
- SDD Agent Pack installs the instructions, skills, hooks, prompts, templates, and supporting files that AI coding agents need to follow the SDD workflow in your project.
5
+ SDD Agent Pack installs the instructions, skills, hooks, orchestration scripts, and templates that AI coding agents need to follow the SDD workflow in your project.
6
6
 
7
7
  ## How It Works
8
8
 
9
- 1. **Install** — Run `npx sdd-agent-pack init` in your application repository
10
- 2. **Define** — Create `tasks.md` with your epics and tasks, and design documents in `specs/`
11
- 3. **Implement** — An AI agent reads your SDD documents and implements epics systematically
9
+ SDD Agent Pack is **not** an autonomous runtime it's an installer that equips your repo with:
12
10
 
13
- The AI coding agent itself is the execution engine. SDD Agent Pack provides the instructions and controls that guide the agent.
11
+ - **Skills** Keyword-triggered instructions that guide AI agents through the SDD workflow
12
+ - **Orchestration scripts** — Shell and Python scripts that feed epics one at a time to an agent
13
+ - **Hooks** — Quality gates that prevent agents from finishing with failing tests
14
+ - **Templates** — SDD document templates (tasks.md, constitution.md)
15
+
16
+ The **orchestration script** is the key piece: instead of asking an agent to "implement all epics" (which overwhelms LLM-based agents), it reads `tasks.md` and feeds each incomplete epic to the agent **one at a time**.
14
17
 
15
18
  ## Quick Start
16
19
 
17
20
  ### Prerequisites
18
21
 
19
- - **Node.js 18+** — The installer requires Node.js (not Python)
22
+ - **Node.js 18+** — Required for the installer
20
23
  - **Git** — Your project must be a Git repository
21
24
  - **An SDD project** — With `tasks.md` and `specs/` documents
22
25
 
23
- ### Install in your project
26
+ ### 1. Install
24
27
 
25
28
  ```bash
26
29
  npx sdd-agent-pack init
27
30
  ```
28
31
 
29
- This installs all SDD assets and configures your repo for AI agents.
32
+ This installs everything shown below and also:
33
+ - Cleans up any old artifacts from previous versions
34
+ - Tries to install the OpenHands CLI and Python dependencies automatically
35
+ - Updates AGENTS.md with SDD workflow instructions
36
+
37
+ ### 2. Define your epics
38
+
39
+ Create `tasks.md` and `specs/` with your epics and design documents.
40
+
41
+ ### 3. Run the orchestration
42
+
43
+ ```bash
44
+ bash .sdd-agent-pack/scripts/orchestrate.sh
45
+ ```
46
+
47
+ This loops through all incomplete epics in tasks.md, feeding each one to OpenHands individually.
30
48
 
31
49
  ### What gets installed
32
50
 
33
51
  ```
34
52
  .sdd-agent-pack/ — Core assets (managed by the installer)
35
- ├── skills/ — SDD workflow skills (keyword-triggered)├── scripts/ — Epic orchestration scripts├── prompts/ — Workflow prompts
53
+ ├── skills/ — SDD workflow skills (keyword-triggered)
54
+ ├── scripts/ — Epic orchestration scripts
55
+ │ ├── orchestrate.sh — Bash version (needs OpenHands CLI)
56
+ │ └── orchestrate.py — Python version (needs OpenHands SDK)
57
+ ├── prompts/ — Workflow prompts
36
58
  ├── hooks/ — Quality enforcement hooks
37
59
  ├── docs/ — Workflow documentation
38
60
  ├── templates/ — SDD document templates
@@ -50,8 +72,6 @@ This installs all SDD assets and configures your repo for AI agents.
50
72
  └── setup.sh — Auto-runs on session start
51
73
  ```
52
74
 
53
- `AGENTS.md` is also updated with a managed SDD Agent Pack section.
54
-
55
75
  ### Commands
56
76
 
57
77
  | Command | Description |
@@ -63,6 +83,73 @@ This installs all SDD assets and configures your repo for AI agents.
63
83
  | `status` | Show installation status |
64
84
  | `help` | Show all commands |
65
85
 
86
+ ## How to Use This
87
+
88
+ ### The Core Problem This Solves
89
+
90
+ **LLM-based agents cannot autonomously iterate through a multi-epic `tasks.md`.** If you tell an agent to "implement all 31 epics," it treats that as a single massive objective — it gets overwhelmed, keeps asking for permission, and never completes the work. This is a known limitation of all current coding agents (OpenHands, Claude Code, Copilot, etc.).
91
+
92
+ The solution is an **external orchestration loop**: a script that reads `tasks.md`, extracts one epic, feeds it to the agent, waits for completion, then moves to the next.
93
+
94
+ ### Workflow Options
95
+
96
+ #### Option A: VS Code + Terminal (Recommended)
97
+
98
+ This is the simplest approach. You run the orchestration script directly from **VS Code's integrated terminal**:
99
+
100
+ ```bash
101
+ # 1. Open VS Code in your project folder
102
+ # 2. Open a terminal (Ctrl+\` or Cmd+\`)
103
+ # 3. Run the orchestration script
104
+ bash .sdd-agent-pack/scripts/orchestrate.sh
105
+ ```
106
+
107
+ The script:
108
+ 1. Scans `tasks.md` for incomplete epics
109
+ 2. Calls `openhands --headless -t "Implement Epic X"` for each one
110
+ 3. Waits for each epic to complete before starting the next
111
+ 4. Reports progress as it goes
112
+
113
+ **You can walk away and let it run.** Check back later to see which epics are done.
114
+
115
+ #### Option B: VS Code + Python SDK
116
+
117
+ If you prefer Python over bash:
118
+
119
+ ```bash
120
+ pip install openhands-sdk openhands-tools
121
+ python .sdd-agent-pack/scripts/orchestrate.py
122
+ ```
123
+
124
+ #### Option C: OpenHands Cloud Web UI (Manual)
125
+
126
+ If you use OpenHands Cloud, you don't have direct terminal access — only the agent does. In that case, feed epics one at a time manually:
127
+
128
+ > "Implement epic TDS.2.1 from tasks.md following the SDD workflow."
129
+
130
+ Let the agent finish, then ask for the next one. Repeat until done.
131
+
132
+ ### Can I use GitHub Copilot for orchestration?
133
+
134
+ Yes! You can ask Copilot (in VS Code Chat) to run the orchestration script for you:
135
+
136
+ > "Run the SDD orchestration script to implement the next epic."
137
+
138
+ Or you can run the script directly in the VS Code terminal yourself — it's one command.
139
+
140
+ ### Why not just use the agent directly?
141
+
142
+ Because agents can't autonomously loop through 31 epics. The orchestration script is the external loop that:
143
+ - Maintains focus (one epic at a time)
144
+ - Prevents context window overflow
145
+ - Eliminates permission-asking
146
+ - Provides clear progress tracking
147
+
148
+ ## Documentation
149
+
150
+ - [Specification](specs/sdd-agent-pack_spec.md) — Project architecture and design decisions
151
+ - [Workflow](assets/docs/workflow.md) — SDD workflow documentation
152
+
66
153
  ## Why SDD Agent Pack?
67
154
 
68
155
  SDD Agent Pack replaces the previous `sdd-autopilot` runtime application. Instead of a Python-based autonomous orchestrator that managed LLM calls, providers, and execution loops, this is a **lightweight installer** that equips AI agents with the instructions they need.
@@ -73,16 +160,11 @@ SDD Agent Pack replaces the previous `sdd-autopilot` runtime application. Instea
73
160
  |---------------------|---------------------|
74
161
  | Python/uv runtime | Node.js/TypeScript CLI |
75
162
  | Autonomous orchestrator | Repository installer |
76
- | LLM provider management | Agent instruction files |
77
- | API key management | Not needed (agent handles this) |
163
+ | LLM provider management | Agent instruction files + orchestration scripts |
164
+ | API key management | OpenHands CLI handles this |
78
165
  | Budget tracking | Not needed (agent handles this) |
79
166
  | Custom slash commands | Standard agent workflow |
80
167
 
81
- ## Documentation
82
-
83
- - [Specification](specs/sdd-agent-pack_spec.md) — Project architecture and design decisions
84
- - [Workflow](assets/docs/workflow.md) — SDD workflow documentation
85
-
86
168
  ## License
87
169
 
88
170
  MIT
@@ -1,12 +1,14 @@
1
1
  Implement the next incomplete epic from tasks.md using the SDD workflow.
2
2
 
3
+ IMPORTANT: Implement ONLY this one epic. Do NOT start the next one.
4
+
3
5
  Follow these steps:
4
6
  1. Read all SDD documentation (AGENTS.md, constitution.md, plan.md, specs/, tasks.md)
5
- 2. Identify the first incomplete epic
7
+ 2. Identify the current incomplete epic
6
8
  3. Read the epic specification
7
9
  4. Implement the code
8
10
  5. Create tests
9
11
  6. Run tests
10
12
  7. Fix any failures
11
13
  8. Update tasks.md with completion notes
12
- 9. Continue to the next epic
14
+ 9. Stop — the orchestration loop handles advancing to the next epic
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,eAAO,MAAM,WAAW,SA+EpB,CAAC"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,eAAO,MAAM,WAAW,SA2FpB,CAAC"}
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { Command } from 'commander';
5
5
  import { detectRepoRoot, isGitRepository, detectExistingInstallation } from '../utils/repo.js';
6
- import { backupFiles, createDirectories, installAssets, installOpenHandsBridge, updateAgentsMd, updateGitignore, validateInstallation } from '../utils/installer.js';
6
+ import { backupFiles, createDirectories, installAssets, installOpenHandsBridge, cleanOldArtifacts, setupEnvironment, updateAgentsMd, updateGitignore, validateInstallation } from '../utils/installer.js';
7
7
  import { term } from '../utils/console.js';
8
8
  export const initCommand = new Command('init')
9
9
  .description('Initialize SDD Agent Pack in the current repository')
@@ -30,32 +30,39 @@ export const initCommand = new Command('init')
30
30
  term.log(' Use --force to reinstall or "sdd-agent-pack update" to update');
31
31
  return;
32
32
  }
33
- // 4. Backup
33
+ // 4. Clean old artifacts from previous versions
34
+ await cleanOldArtifacts(repoRoot);
35
+ term.success('✓ Old artifacts cleaned');
36
+ // 5. Backup
34
37
  await backupFiles(repoRoot);
35
38
  term.success('✓ Backup created');
36
- // 5. Create directories
39
+ // 6. Create directories
37
40
  await createDirectories(repoRoot);
38
41
  term.success('✓ Directories created');
39
- // 6. Install assets
42
+ // 7. Install assets
40
43
  await installAssets(repoRoot);
41
44
  term.success('✓ Assets installed');
42
- // 6b. Install OpenHands bridge (skills + hooks + setup)
45
+ // 8. Install OpenHands bridge (skills + hooks + setup)
43
46
  await installOpenHandsBridge(repoRoot);
44
47
  term.success('✓ OpenHands bridge installed (.agents/skills/ + .openhands/)');
45
- // 7. Update AGENTS.md
48
+ // 9. Update AGENTS.md
46
49
  await updateAgentsMd(repoRoot);
47
50
  term.success('✓ AGENTS.md updated');
48
- // 8. Update .gitignore
51
+ // 10. Update .gitignore
49
52
  await updateGitignore(repoRoot);
50
53
  term.success('✓ .gitignore updated');
51
- // 9. Validate
54
+ // 11. Setup environment (Node deps, Python/uv, OpenHands CLI)
55
+ term.info(' Setting up environment (OpenHands CLI, Python deps)...');
56
+ await setupEnvironment(repoRoot);
57
+ term.success('✓ Environment setup complete');
58
+ // 12. Validate
52
59
  const valid = await validateInstallation(repoRoot);
53
60
  if (!valid) {
54
61
  term.error('✗ Installation validation failed');
55
62
  process.exit(1);
56
63
  }
57
64
  term.success('✓ Installation validated');
58
- // 10. Summary
65
+ // 13. Summary
59
66
  term.log('\n━━━ SDD Agent Pack installed successfully! ━━━\n');
60
67
  term.log('Installed:');
61
68
  term.log(' .sdd-agent-pack/skills/ — SDD workflow skills');
@@ -71,7 +78,10 @@ export const initCommand = new Command('init')
71
78
  term.log('\nNext steps:');
72
79
  term.log(' 1. Review .sdd-agent-pack/docs/ for workflow docs');
73
80
  term.log(' 2. Create or update tasks.md with your epics');
74
- term.log(' 3. Ask your AI agent to implement epics following the SDD workflow');
81
+ term.log(' 3. Run the orchestration script to implement epics:');
82
+ term.log(' bash .sdd-agent-pack/scripts/orchestrate.sh');
83
+ term.log(' Or for a single epic:');
84
+ term.log(' bash .sdd-agent-pack/scripts/orchestrate.sh "EPIC-001"');
75
85
  term.log('');
76
86
  });
77
87
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,eAAO,MAAM,aAAa,SAgDtB,CAAC"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,eAAO,MAAM,aAAa,SAuDtB,CAAC"}
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { Command } from 'commander';
5
5
  import { detectRepoRoot, isGitRepository, detectExistingInstallation } from '../utils/repo.js';
6
- import { backupFiles, createDirectories, installAssets, installOpenHandsBridge, updateAgentsMd, updateGitignore, validateInstallation } from '../utils/installer.js';
6
+ import { backupFiles, createDirectories, installAssets, installOpenHandsBridge, cleanOldArtifacts, setupEnvironment, updateAgentsMd, updateGitignore, validateInstallation } from '../utils/installer.js';
7
7
  import { term } from '../utils/console.js';
8
8
  export const updateCommand = new Command('update')
9
9
  .description('Update SDD Agent Pack assets in the current repository')
@@ -26,6 +26,8 @@ export const updateCommand = new Command('update')
26
26
  term.log(' Run "sdd-agent-pack init" first');
27
27
  process.exit(1);
28
28
  }
29
+ await cleanOldArtifacts(repoRoot);
30
+ term.success('✓ Old artifacts cleaned');
29
31
  await backupFiles(repoRoot);
30
32
  term.success('✓ Backup created');
31
33
  await createDirectories(repoRoot);
@@ -37,6 +39,9 @@ export const updateCommand = new Command('update')
37
39
  term.success('✓ AGENTS.md updated');
38
40
  await updateGitignore(repoRoot);
39
41
  term.success('✓ .gitignore updated');
42
+ term.info(' Setting up environment (OpenHands CLI, Python deps)...');
43
+ await setupEnvironment(repoRoot);
44
+ term.success('✓ Environment setup complete');
40
45
  const valid = await validateInstallation(repoRoot);
41
46
  if (!valid) {
42
47
  term.error('✗ Validation failed after update');
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,aAAa,EAAE,sBAAsB,EAAE,cAAc,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACrK,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE3C,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KAC/C,WAAW,CAAC,wDAAwD,CAAC;KACrE,MAAM,CAAC,aAAa,EAAE,0CAA0C,CAAC;KACjE,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,IAAI,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IAE9C,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;IAClC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAEvC,MAAM,QAAQ,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IACtD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC5C,IAAI,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5B,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAEjC,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAClC,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC9B,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAEjC,MAAM,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAE3C,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC/B,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAEpC,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAC;IAChC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAErC,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACnD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,aAAa,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC1M,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE3C,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KAC/C,WAAW,CAAC,wDAAwD,CAAC;KACrE,MAAM,CAAC,aAAa,EAAE,0CAA0C,CAAC;KACjE,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,IAAI,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IAE9C,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;IAClC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAEvC,MAAM,QAAQ,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IACtD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC5C,IAAI,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAClC,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAExC,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5B,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAEjC,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAClC,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC9B,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAEjC,MAAM,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAE3C,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC/B,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAEpC,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAC;IAChC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAErC,IAAI,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;IACvE,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACjC,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAE7C,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACnD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC"}
@@ -8,6 +8,22 @@
8
8
  export declare function backupFiles(repoRoot: string): Promise<void>;
9
9
  /** Create required subdirectories inside .sdd-agent-pack */
10
10
  export declare function createDirectories(repoRoot: string): Promise<void>;
11
+ /**
12
+ * Clean up old artifacts from previous SDD Agent Pack versions or approaches.
13
+ * Removes files/dirs that are no longer needed by the current architecture.
14
+ */
15
+ export declare function cleanOldArtifacts(repoRoot: string): Promise<void>;
16
+ /**
17
+ * Set up the target repo environment for SDD workflow execution.
18
+ *
19
+ * Installs:
20
+ * 1. Node.js dependencies (if package.json exists)
21
+ * 2. Python environment with OpenHands SDK (via uv, if available)
22
+ * 3. OpenHands CLI (via pip/uv, if available)
23
+ *
24
+ * This is best-effort — failures are non-fatal.
25
+ */
26
+ export declare function setupEnvironment(repoRoot: string): Promise<void>;
11
27
  /**
12
28
  * Install OpenHands bridge files so the agent can discover SDD assets.
13
29
  *
@@ -1 +1 @@
1
- {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../src/utils/installer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAiEH,oEAAoE;AACpE,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQjE;AAED,4DAA4D;AAC5D,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKvE;AAED;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuE5E;AAED,oEAAoE;AACpE,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BnE;AAED,6DAA6D;AAC7D,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBpE;AAED,+CAA+C;AAC/C,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBrE;AAED,yDAAyD;AACzD,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAgC7E;AAED,wCAAwC;AACxC,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAUpE;AAED,uCAAuC;AACvC,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAElE;AAED,uDAAuD;AACvD,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYnE;AAED,oDAAoD;AACpD,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CASpE;AAED,gFAAgF;AAChF,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqC3E"}
1
+ {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../src/utils/installer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAiEH,oEAAoE;AACpE,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQjE;AAED,4DAA4D;AAC5D,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKvE;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0CvE;AAED;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA+CtE;AAED;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuE5E;AAED,oEAAoE;AACpE,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BnE;AAED,6DAA6D;AAC7D,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBpE;AAED,+CAA+C;AAC/C,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBrE;AAED,yDAAyD;AACzD,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAgC7E;AAED,wCAAwC;AACxC,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAUpE;AAED,uCAAuC;AACvC,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAElE;AAED,uDAAuD;AACvD,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYnE;AAED,oDAAoD;AACpD,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CASpE;AAED,gFAAgF;AAChF,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqC3E"}
@@ -79,6 +79,109 @@ export async function createDirectories(repoRoot) {
79
79
  await ensureDir(join(repoRoot, '.sdd-agent-pack', dir));
80
80
  }
81
81
  }
82
+ /**
83
+ * Clean up old artifacts from previous SDD Agent Pack versions or approaches.
84
+ * Removes files/dirs that are no longer needed by the current architecture.
85
+ */
86
+ export async function cleanOldArtifacts(repoRoot) {
87
+ const removals = [
88
+ // Old backup dirs
89
+ join(repoRoot, '.sdd-agent-pack-backup'),
90
+ // Old autopilot state files
91
+ join(repoRoot, '.agents_tmp'),
92
+ join(repoRoot, '.autopilot'),
93
+ join(repoRoot, '.autopilot-state.json'),
94
+ join(repoRoot, '.autopilot-state.md'),
95
+ // Old autopilot docs (if empty after removal)
96
+ ];
97
+ for (const path of removals) {
98
+ if (existsSync(path)) {
99
+ try {
100
+ await remove(path);
101
+ }
102
+ catch {
103
+ // Non-critical — best-effort cleanup
104
+ }
105
+ }
106
+ }
107
+ // Clean empty .agents/skills/ subdirs that don't match current skills
108
+ const currentSkills = ['sdd-epic-workflow', 'sdd-implementation', 'sdd-context', 'sdd-testing', 'sdd-completion'];
109
+ const agentsSkills = join(repoRoot, '.agents', 'skills');
110
+ if (existsSync(agentsSkills)) {
111
+ try {
112
+ const { readdir } = await import('fs/promises');
113
+ const entries = await readdir(agentsSkills, { withFileTypes: true });
114
+ for (const entry of entries) {
115
+ if (entry.isDirectory() && !currentSkills.includes(entry.name)) {
116
+ const skillPath = join(agentsSkills, entry.name);
117
+ // Only remove if it looks like an SDD skill (has SKILL.md)
118
+ if (existsSync(join(skillPath, 'SKILL.md'))) {
119
+ await remove(skillPath);
120
+ }
121
+ }
122
+ }
123
+ }
124
+ catch {
125
+ // Non-critical
126
+ }
127
+ }
128
+ }
129
+ /**
130
+ * Set up the target repo environment for SDD workflow execution.
131
+ *
132
+ * Installs:
133
+ * 1. Node.js dependencies (if package.json exists)
134
+ * 2. Python environment with OpenHands SDK (via uv, if available)
135
+ * 3. OpenHands CLI (via pip/uv, if available)
136
+ *
137
+ * This is best-effort — failures are non-fatal.
138
+ */
139
+ export async function setupEnvironment(repoRoot) {
140
+ const { execSync } = await import('child_process');
141
+ // 1. Install Node.js deps
142
+ if (existsSync(join(repoRoot, 'package.json')) && !existsSync(join(repoRoot, 'node_modules'))) {
143
+ try {
144
+ execSync('npm install 2>/dev/null', { cwd: repoRoot, stdio: 'ignore', timeout: 60000 });
145
+ }
146
+ catch {
147
+ // Non-critical
148
+ }
149
+ }
150
+ // 2. Check/install Python + uv + OpenHands SDK + CLI
151
+ // We use uv because it's the recommended OpenHands installer
152
+ const hasUv = existsSync('/usr/local/bin/uv') || existsSync('/opt/homebrew/bin/uv');
153
+ const hasPip = existsSync('/usr/local/bin/pip3') || existsSync('/opt/homebrew/bin/pip3') || existsSync('/usr/bin/pip3');
154
+ // Check if OpenHands CLI is already available
155
+ try {
156
+ execSync('openhands --version 2>/dev/null', { stdio: 'ignore' });
157
+ return; // Already installed
158
+ }
159
+ catch {
160
+ // Not installed — try to set it up
161
+ }
162
+ // Try installing uv if missing (macOS/Linux)
163
+ if (!hasUv) {
164
+ try {
165
+ execSync('curl -LsSf https://astral.sh/uv/install.sh | sh 2>/dev/null', { stdio: 'ignore', timeout: 30000 });
166
+ }
167
+ catch {
168
+ // uv install failed — move on
169
+ }
170
+ }
171
+ // Try installing OpenHands CLI via uv or pip
172
+ const uvPath = '/root/.cargo/bin/uv'; // typical uv install path
173
+ const uvCmd = existsSync(uvPath) ? uvPath : 'uv';
174
+ const pipCmd = hasPip ? 'pip3' : 'pip';
175
+ for (const installer of [uvCmd, pipCmd]) {
176
+ try {
177
+ execSync(`${installer} install openhands 2>/dev/null`, { stdio: 'ignore', timeout: 120000 });
178
+ break; // Success
179
+ }
180
+ catch {
181
+ continue; // Try next installer
182
+ }
183
+ }
184
+ }
82
185
  /**
83
186
  * Install OpenHands bridge files so the agent can discover SDD assets.
84
187
  *
@@ -1 +1 @@
1
- {"version":3,"file":"installer.js","sourceRoot":"","sources":["../../src/utils/installer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"installer.js","sourceRoot":"","sources":["../../src/utils/installer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sdd-agent-pack",
3
- "version": "1.2.0",
3
+ "version": "1.3.0",
4
4
  "description": "Lightweight installer for SDD workflow assets into application repositories",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",