@copilot-swarm/core 0.0.0 → 0.0.2

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 ADDED
@@ -0,0 +1,235 @@
1
+ # @copilot-swarm/core
2
+
3
+ Multi-agent orchestrator for GitHub Copilot — coordinates PM, designer, engineer, reviewer, and tester agents through a declarative pipeline.
4
+
5
+ ## Why?
6
+
7
+ Modern AI coding assistants work well for individual tasks, but complex features benefit from a structured multi-agent approach. Copilot Swarm mimics a high-performing engineering team: a PM writes specs, reviewers challenge them, an engineer implements, a code reviewer gates quality, and a QA tester validates — all coordinated automatically with self-correcting review loops.
8
+
9
+ ## Quick Start
10
+
11
+ ```bash
12
+ # Run directly — no install required
13
+ npx @copilot-swarm/core "Add a dark mode toggle"
14
+
15
+ # Or install globally for the short `swarm` command
16
+ npm install -g @copilot-swarm/core
17
+ swarm "Add a dark mode toggle"
18
+ ```
19
+
20
+ > **Prerequisite:** An active [GitHub Copilot](https://github.com/features/copilot) subscription and the [GitHub CLI](https://cli.github.com/) (`gh`) authenticated on your machine.
21
+
22
+ ## CLI Reference
23
+
24
+ ```
25
+ Usage: swarm [command] [options] "<prompt>"
26
+
27
+ Commands:
28
+ run Run the full orchestration pipeline (default)
29
+ plan Interactive planning mode — clarify requirements before running
30
+
31
+ Options:
32
+ -v, --verbose Enable verbose streaming output
33
+ -p, --plan <file> Use a plan file as input (reads the refined requirements section)
34
+ -f, --file <file> Read prompt from a file instead of inline text
35
+ -V, --version Show version number
36
+ -h, --help Show this help message
37
+ ```
38
+
39
+ ### Examples
40
+
41
+ ```bash
42
+ # Basic run
43
+ swarm "Fix the login bug on the settings page"
44
+
45
+ # Verbose output (streams agent deltas, tool calls, intent updates)
46
+ swarm -v "Add user avatar upload"
47
+
48
+ # Read prompt from a file
49
+ swarm plan -f requirements.md
50
+ swarm -f feature-description.txt
51
+
52
+ # Plan first, run later
53
+ swarm plan "Redesign the notification system"
54
+ swarm --plan doc/plan-latest.md
55
+ ```
56
+
57
+ The prompt can also be passed via the `ISSUE_BODY` environment variable. CLI arguments take precedence.
58
+
59
+ ## Planning Mode
60
+
61
+ Use `swarm plan` to interactively refine vague requirements before running the full pipeline:
62
+
63
+ ```bash
64
+ swarm plan "Add a dark mode toggle"
65
+ ```
66
+
67
+ Two phases run in sequence:
68
+
69
+ 1. **Requirements Clarification** — A PM agent asks targeted questions to fill gaps in the requirements. Answer interactively in the terminal. Press Enter to skip a round.
70
+ 2. **Technical Analysis** — An engineering agent analyzes the codebase and reports complexity, affected files, risks, and a suggested approach.
71
+
72
+ Output:
73
+
74
+ - `doc/plan-<timestamp>.md` — Timestamped plan (never overwritten)
75
+ - `doc/plan-latest.md` — Copy of the most recent plan
76
+
77
+ Then feed the plan into the full pipeline:
78
+
79
+ ```bash
80
+ swarm --plan doc/plan-latest.md
81
+ ```
82
+
83
+ ## Pipeline
84
+
85
+ The default pipeline runs five phases:
86
+
87
+ | Phase | What happens |
88
+ |---|---|
89
+ | **Spec** | PM drafts a specification, reviewed by a creative reviewer and a technical architect (up to 3 iterations each) |
90
+ | **Decompose** | PM splits the spec into 2–3 independent tasks, marking frontend tasks with `[FRONTEND]` |
91
+ | **Design** | *(conditional)* If frontend tasks exist, a designer creates a UI/UX spec, reviewed by a design reviewer |
92
+ | **Implement** | Each task runs in parallel: engineer implements → code reviewer gates quality → QA validates against spec |
93
+ | **Cross-model review** | *(conditional)* A different AI model reviews all output, catching model-specific blind spots |
94
+
95
+ ### Built-in Agents
96
+
97
+ | Agent | Role |
98
+ |---|---|
99
+ | `pm` | Analyzes requirements, writes specs, decomposes tasks |
100
+ | `pm-reviewer` | Challenges the PM's spec for completeness |
101
+ | `spec-reviewer` | Validates technical feasibility |
102
+ | `designer` | Creates UI/UX specifications for frontend tasks |
103
+ | `design-reviewer` | Reviews designs for usability and accessibility |
104
+ | `engineer` | Implements code based on specs and designs |
105
+ | `code-reviewer` | Security and quality gate |
106
+ | `tester` | QA validation against acceptance criteria |
107
+ | `cross-model` | Independent review using a different AI model |
108
+
109
+ ## Configuration
110
+
111
+ Drop a `swarm.config.yaml` in your repo root to customize the pipeline. If not present, the built-in default is used.
112
+
113
+ ```yaml
114
+ primaryModel: claude-opus-4-6-fast
115
+ reviewModel: gpt-5.2-codex
116
+
117
+ agents:
118
+ pm: builtin:pm
119
+ engineer: .github/agents/engineer.md # Custom instructions
120
+ security: .github/agents/security.md # New agent
121
+ code-reviewer: builtin:eng-code-reviewer
122
+
123
+ pipeline:
124
+ - phase: spec
125
+ agent: pm
126
+ reviews:
127
+ - agent: pm-reviewer
128
+ maxIterations: 3
129
+ approvalKeyword: APPROVED
130
+
131
+ - phase: decompose
132
+ agent: pm
133
+ frontendMarker: "[FRONTEND]"
134
+
135
+ # No design phase — backend-only project
136
+
137
+ - phase: implement
138
+ parallel: true
139
+ agent: engineer
140
+ reviews:
141
+ - agent: code-reviewer
142
+ maxIterations: 3
143
+ approvalKeyword: APPROVED
144
+ - agent: security
145
+ maxIterations: 2
146
+ approvalKeyword: APPROVED
147
+ qa:
148
+ agent: tester
149
+ maxIterations: 8
150
+ approvalKeyword: ALL_PASSED
151
+
152
+ - phase: cross-model-review
153
+ condition: differentReviewModel
154
+ agent: cross-model
155
+ fixAgent: engineer
156
+ maxIterations: 3
157
+ approvalKeyword: APPROVED
158
+ ```
159
+
160
+ ### Agent Resolution
161
+
162
+ | Format | Resolution |
163
+ |---|---|
164
+ | `builtin:<name>` | Loads from the package's built-in agent definitions |
165
+ | `path/to/file.md` | Loads from the repository root |
166
+ | *(fallback)* | Looks for `<AGENTS_DIR>/<name>.md` |
167
+
168
+ ## Environment Variables
169
+
170
+ | Variable | Default | Description |
171
+ |---|---|---|
172
+ | `ISSUE_BODY` | — | Task description (alternative to CLI prompt) |
173
+ | `VERBOSE` | `false` | Enable verbose streaming output |
174
+ | `AGENTS_DIR` | `.github/agents` | Directory for agent instruction files |
175
+ | `DOC_DIR` | `doc` | Output directory for summaries |
176
+ | `SESSION_TIMEOUT_MS` | `300000` | Timeout per agent session (ms) |
177
+ | `MAX_RETRIES` | `2` | Retry attempts for failed agent responses |
178
+ | `SUMMARY_FILE_NAME` | `swarm-summary.md` | Final summary filename |
179
+ | `PRIMARY_MODEL` | `claude-opus-4-6-fast` | AI model for primary agents (overrides YAML) |
180
+ | `REVIEW_MODEL` | `gpt-5.2-codex` | AI model for cross-model review (overrides YAML) |
181
+
182
+ ## GitHub Actions
183
+
184
+ Trigger the swarm from GitHub Issues by adding a workflow to your repo:
185
+
186
+ ```yaml
187
+ # .github/workflows/swarm-trigger.yml
188
+ name: Run Copilot Swarm
189
+ on:
190
+ issues:
191
+ types: [labeled]
192
+
193
+ jobs:
194
+ swarm:
195
+ if: contains(fromJson('["run-swarm","run-swarm-verbose"]'), github.event.label.name)
196
+ runs-on: ubuntu-latest
197
+ timeout-minutes: 120
198
+ permissions:
199
+ contents: write
200
+ issues: write
201
+ pull-requests: write
202
+ steps:
203
+ - uses: actions/checkout@v4
204
+ - uses: actions/setup-node@v4
205
+ with: { node-version: "22" }
206
+ - uses: mvkaran/setup-copilot-cli@v1
207
+ with: { token: "${{ secrets.COPILOT_CLI_TOKEN }}" }
208
+ - run: npx @copilot-swarm/core "${{ github.event.issue.body }}"
209
+ env:
210
+ GITHUB_TOKEN: ${{ secrets.COPILOT_CLI_TOKEN }}
211
+ VERBOSE: ${{ github.event.label.name == 'run-swarm-verbose' }}
212
+ ```
213
+
214
+ Label an issue with `run-swarm` or `run-swarm-verbose` to trigger it.
215
+
216
+ ## Output
217
+
218
+ The orchestrator writes these files to the configured `DOC_DIR`:
219
+
220
+ | File | Description |
221
+ |---|---|
222
+ | `<agent-name>.md` | Per-role summary with timestamp |
223
+ | `engineer-stream-N.md` | Per-task engineering output |
224
+ | `cross-model-review.md` | Cross-model review results (if applicable) |
225
+ | `swarm-summary.md` | Final summary with all stream results |
226
+
227
+ ## Requirements
228
+
229
+ - **Node.js** ≥ 22
230
+ - **GitHub Copilot** — active subscription
231
+ - **GitHub CLI** (`gh`) — authenticated
232
+
233
+ ## License
234
+
235
+ MIT
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AA+BA,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,MAAM,CAAC;AAqF1C;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED,wBAAgB,UAAU,IAAI,WAAW,CA2BxC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAgCA,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,MAAM,CAAC;AAkH1C;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED,wBAAgB,UAAU,IAAI,WAAW,CA6BxC"}
package/dist/config.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { execSync } from "node:child_process";
2
2
  import * as fs from "node:fs";
3
3
  import * as path from "node:path";
4
+ import { fileURLToPath } from "node:url";
4
5
  import { parseArgs } from "node:util";
5
6
  const repoRoot = execSync("git rev-parse --show-toplevel", { encoding: "utf-8" }).trim();
6
7
  function readEnvString(key, fallback) {
@@ -29,6 +30,12 @@ function readEnvPositiveInt(key, fallback) {
29
30
  }
30
31
  return parsed;
31
32
  }
33
+ function readVersion() {
34
+ const dir = path.dirname(fileURLToPath(import.meta.url));
35
+ const pkgPath = path.join(dir, "..", "package.json");
36
+ const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf-8"));
37
+ return pkg.version;
38
+ }
32
39
  const HELP_TEXT = `Usage: swarm [command] [options] "<prompt>"
33
40
 
34
41
  Commands:
@@ -38,11 +45,14 @@ Commands:
38
45
  Options:
39
46
  -v, --verbose Enable verbose streaming output
40
47
  -p, --plan <file> Use a plan file as input (reads the refined requirements section)
48
+ -f, --file <file> Read prompt from a file instead of inline text
49
+ -V, --version Show version number
41
50
  -h, --help Show this help message
42
51
 
43
52
  Examples:
44
53
  swarm "Add a dark mode toggle"
45
54
  swarm plan "Add a dark mode toggle"
55
+ swarm plan -f requirements.md
46
56
  swarm run -v "Fix the login bug"
47
57
  swarm --plan doc/plan-latest.md
48
58
  ISSUE_BODY="Add a feature" swarm plan
@@ -56,9 +66,15 @@ function parseCliArgs() {
56
66
  options: {
57
67
  verbose: { type: "boolean", short: "v", default: false },
58
68
  help: { type: "boolean", short: "h", default: false },
69
+ version: { type: "boolean", short: "V", default: false },
59
70
  plan: { type: "string", short: "p" },
71
+ file: { type: "string", short: "f" },
60
72
  },
61
73
  });
74
+ if (values.version) {
75
+ console.log(readVersion());
76
+ process.exit(0);
77
+ }
62
78
  if (values.help) {
63
79
  console.log(HELP_TEXT);
64
80
  process.exit(0);
@@ -74,6 +90,7 @@ function parseCliArgs() {
74
90
  verbose: values.verbose,
75
91
  prompt: promptParts.length > 0 ? promptParts.join(" ") : undefined,
76
92
  planFile: values.plan,
93
+ promptFile: values.file,
77
94
  };
78
95
  }
79
96
  /** Extract the "Refined Requirements" section from a plan file. */
@@ -96,12 +113,24 @@ function readPlanFile(filePath) {
96
113
  const section = nextHeading !== -1 ? afterMarker.substring(0, nextHeading) : afterMarker;
97
114
  return section.trim();
98
115
  }
116
+ /** Read the entire contents of a file as the prompt. */
117
+ function readPromptFile(filePath) {
118
+ const resolved = path.isAbsolute(filePath) ? filePath : path.join(repoRoot, filePath);
119
+ if (!fs.existsSync(resolved)) {
120
+ console.error(`Error: Prompt file not found: ${resolved}`);
121
+ process.exit(1);
122
+ }
123
+ return fs.readFileSync(resolved, "utf-8").trim();
124
+ }
99
125
  export function loadConfig() {
100
126
  const cli = parseCliArgs();
101
127
  let issueBody;
102
128
  if (cli.planFile) {
103
129
  issueBody = readPlanFile(cli.planFile);
104
130
  }
131
+ else if (cli.promptFile) {
132
+ issueBody = readPromptFile(cli.promptFile);
133
+ }
105
134
  else {
106
135
  issueBody = cli.prompt ?? process.env.ISSUE_BODY;
107
136
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@copilot-swarm/core",
3
- "version": "0.0.0",
3
+ "version": "0.0.2",
4
4
  "description": "Multi-agent orchestrator for GitHub Copilot — coordinates PM, designer, engineer, reviewer, and tester agents through a declarative pipeline",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -30,15 +30,15 @@
30
30
  "engines": {
31
31
  "node": ">=22"
32
32
  },
33
+ "dependencies": {
34
+ "@github/copilot-sdk": "latest",
35
+ "yaml": "^2.8.2"
36
+ },
33
37
  "scripts": {
34
38
  "start": "tsx src/index.ts",
35
39
  "build": "tsc",
36
40
  "typecheck": "tsc --noEmit",
37
41
  "check": "biome check src/",
38
42
  "test": "vitest run"
39
- },
40
- "dependencies": {
41
- "@github/copilot-sdk": "latest",
42
- "yaml": "^2.8.2"
43
43
  }
44
- }
44
+ }