@guyghost/swarm-dao-cli 0.1.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/dist/cli.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env bun
2
+ export declare function main(argv: string[], cwd?: string): Promise<number>;
3
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AA4XA,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CAyDvF"}
package/dist/cli.js ADDED
@@ -0,0 +1,416 @@
1
+ #!/usr/bin/env bun
2
+ // ============================================================
3
+ // Swarm DAO — Standalone CLI
4
+ // ============================================================
5
+ import { promises as fs } from "node:fs";
6
+ import path from "node:path";
7
+ import { addVote, configureGitHub, createProposal, getAllAuditLog, getAuditLog, getDaoRoot, getOrCreateState, getProposal, getState, ghBranchNameFor, ghCreateBranch, ghCreatePullRequest, initializeAgents, initStorage, isGitHubEnabled, listProposals, loadState, PROPOSAL_TYPES, recordAudit, saveState, setState, } from "@guyghost/swarm-dao-core";
8
+ // ── Helpers ─────────────────────────────────────────────────
9
+ class CliError extends Error {
10
+ }
11
+ function err(msg) {
12
+ throw new CliError(msg);
13
+ }
14
+ function info(msg) {
15
+ process.stdout.write(`${msg}\n`);
16
+ }
17
+ function parseFlags(args) {
18
+ const flags = {};
19
+ const positional = [];
20
+ for (let i = 0; i < args.length; i++) {
21
+ const a = args[i];
22
+ if (a.startsWith("--")) {
23
+ const eq = a.indexOf("=");
24
+ if (eq !== -1) {
25
+ flags[a.slice(2, eq)] = a.slice(eq + 1);
26
+ }
27
+ else {
28
+ const next = args[i + 1];
29
+ if (next !== undefined && !next.startsWith("--")) {
30
+ flags[a.slice(2)] = next;
31
+ i++;
32
+ }
33
+ else {
34
+ flags[a.slice(2)] = true;
35
+ }
36
+ }
37
+ }
38
+ else {
39
+ positional.push(a);
40
+ }
41
+ }
42
+ return { flags, positional };
43
+ }
44
+ async function ensureLoaded(cwd) {
45
+ const loaded = await loadState(cwd);
46
+ if (!loaded) {
47
+ setState(getOrCreateState(cwd));
48
+ }
49
+ }
50
+ // ── Commands ────────────────────────────────────────────────
51
+ const HELP = `swarm-dao — DAO governance CLI
52
+
53
+ Usage:
54
+ swarm-dao <command> [options]
55
+
56
+ Commands:
57
+ init Initialize .dao/ in current directory
58
+ setup Initialize DAO with default agents
59
+ propose --title <t> --type <T> --description <d> [--by <name>]
60
+ Create a new proposal
61
+ list [--status <s>] [--type <T>]
62
+ List proposals
63
+ show <id> Show full proposal details
64
+ vote <id> --position <for|against|abstain> --reasoning <text>
65
+ [--weight <n>] [--agent <name>]
66
+ Cast a deterministic vote
67
+ github-config --token <t> --owner <o> --repo <r>
68
+ Configure GitHub integration
69
+ github-branch <proposal-id> Create a branch for a proposal
70
+ github-pr <proposal-id> --head-branch <b>
71
+ Open a pull request for a proposal
72
+ config Print DAO configuration
73
+ audit [--proposal <id>] Print audit log
74
+ status Print DAO status summary
75
+ help Print this help
76
+
77
+ Proposal types: ${PROPOSAL_TYPES.join(", ")}
78
+ `;
79
+ async function cmdInit(cwd) {
80
+ const root = await initStorage(cwd);
81
+ setState(getOrCreateState(cwd));
82
+ await saveState();
83
+ info(`✓ DAO storage initialized at ${root}`);
84
+ }
85
+ async function cmdSetup(cwd) {
86
+ await ensureLoaded(cwd);
87
+ const state = getState();
88
+ if (state.initialized) {
89
+ info(`DAO already initialized with ${state.agents.length} agents.`);
90
+ return;
91
+ }
92
+ const agents = initializeAgents();
93
+ state.agents = agents;
94
+ state.initialized = true;
95
+ await saveState();
96
+ info(`✓ DAO initialized with ${agents.length} agents`);
97
+ for (const a of agents) {
98
+ info(` - ${a.name} (w=${a.weight}) — ${a.role}`);
99
+ }
100
+ }
101
+ async function cmdPropose(cwd, flags) {
102
+ const title = typeof flags.title === "string" ? flags.title : "";
103
+ const type = typeof flags.type === "string" ? flags.type : "";
104
+ const description = typeof flags.description === "string" ? flags.description : "";
105
+ const by = typeof flags.by === "string" ? flags.by : "cli";
106
+ if (!title)
107
+ err("--title is required");
108
+ if (!type)
109
+ err("--type is required");
110
+ if (!description)
111
+ err("--description is required");
112
+ if (!PROPOSAL_TYPES.includes(type)) {
113
+ err(`invalid --type '${type}'. Allowed: ${PROPOSAL_TYPES.join(", ")}`);
114
+ }
115
+ await ensureLoaded(cwd);
116
+ const p = await createProposal(title, type, description, by);
117
+ await recordAudit(p.id, "governance", "proposal-created", by, `via cli: ${title}`);
118
+ await saveState();
119
+ info(`✓ Proposal #${p.id} created (${p.status})`);
120
+ info(` ${p.title} | ${p.type}`);
121
+ }
122
+ async function cmdList(cwd, flags) {
123
+ await ensureLoaded(cwd);
124
+ let items = listProposals();
125
+ if (typeof flags.status === "string") {
126
+ items = items.filter((p) => p.status === flags.status);
127
+ }
128
+ if (typeof flags.type === "string") {
129
+ items = items.filter((p) => p.type === flags.type);
130
+ }
131
+ if (items.length === 0) {
132
+ info("(no proposals)");
133
+ return;
134
+ }
135
+ for (const p of items) {
136
+ const risk = p.riskZone ? ` [${p.riskZone}]` : "";
137
+ info(`#${String(p.id).padStart(3)} [${p.status.padEnd(12)}] ${p.type.padEnd(18)}${risk} ${p.title}`);
138
+ }
139
+ }
140
+ async function cmdShow(cwd, positional) {
141
+ const idStr = positional[0];
142
+ if (!idStr)
143
+ err("usage: swarm-dao show <id>");
144
+ const id = Number(idStr);
145
+ if (!Number.isInteger(id))
146
+ err(`invalid id '${idStr}'`);
147
+ await ensureLoaded(cwd);
148
+ const p = getProposal(id);
149
+ if (!p)
150
+ err(`proposal #${id} not found`);
151
+ info(`Proposal #${p.id}: ${p.title}`);
152
+ info(` type: ${p.type}`);
153
+ info(` status: ${p.status}`);
154
+ info(` proposedBy: ${p.proposedBy}`);
155
+ info(` riskZone: ${p.riskZone ?? "(none)"}`);
156
+ info(` createdAt: ${p.createdAt}`);
157
+ if (p.resolvedAt)
158
+ info(` resolvedAt: ${p.resolvedAt}`);
159
+ info("");
160
+ info("description:");
161
+ info(` ${p.description.replace(/\n/g, "\n ")}`);
162
+ if (p.problemStatement) {
163
+ info("");
164
+ info("problem statement:");
165
+ info(` ${p.problemStatement.replace(/\n/g, "\n ")}`);
166
+ }
167
+ if (Array.isArray(p.acceptanceCriteria) && p.acceptanceCriteria.length > 0) {
168
+ info("");
169
+ info("acceptance criteria:");
170
+ for (const ac of p.acceptanceCriteria) {
171
+ info(` - ${typeof ac === "string" ? ac : ac.id}`);
172
+ }
173
+ }
174
+ if (p.votes.length) {
175
+ info("");
176
+ info(`votes (${p.votes.length}):`);
177
+ for (const v of p.votes) {
178
+ info(` - ${v.agentName.padEnd(20)} ${v.position.padEnd(8)} (w=${v.weight})`);
179
+ }
180
+ }
181
+ }
182
+ async function cmdConfig(cwd) {
183
+ await ensureLoaded(cwd);
184
+ info(JSON.stringify(getState().config, null, 2));
185
+ }
186
+ async function cmdAudit(cwd, flags) {
187
+ await ensureLoaded(cwd);
188
+ const entries = typeof flags.proposal === "string" ? getAuditLog(Number(flags.proposal)) : getAllAuditLog();
189
+ if (entries.length === 0) {
190
+ info("(no audit entries)");
191
+ return;
192
+ }
193
+ for (const e of entries) {
194
+ info(`[${e.timestamp}] #${e.proposalId} ${e.layer.padEnd(12)} ${e.action.padEnd(20)} by ${e.actor}`);
195
+ if (e.details)
196
+ info(` ${e.details}`);
197
+ }
198
+ }
199
+ async function cmdStatus(cwd) {
200
+ await ensureLoaded(cwd);
201
+ const s = getState();
202
+ const byStatus = {};
203
+ for (const p of s.proposals) {
204
+ byStatus[p.status] = (byStatus[p.status] ?? 0) + 1;
205
+ }
206
+ info(`DAO root: ${s.daoRoot}`);
207
+ info(`initialized: ${s.initialized}`);
208
+ info(`agents: ${s.agents.length}`);
209
+ info(`proposals: ${s.proposals.length}`);
210
+ for (const [k, v] of Object.entries(byStatus)) {
211
+ info(` ${k.padEnd(14)} ${v}`);
212
+ }
213
+ info(`audit entries: ${s.auditLog.length}`);
214
+ info(`next proposal: #${s.nextProposalId}`);
215
+ }
216
+ const POSITION_MAP = {
217
+ approve: "for",
218
+ reject: "against",
219
+ for: "for",
220
+ against: "against",
221
+ abstain: "abstain",
222
+ };
223
+ async function cmdVote(cwd, positional, flags) {
224
+ const idStr = positional[0];
225
+ if (!idStr)
226
+ err("usage: swarm-dao vote <id> --position <for|against|abstain> --reasoning <text>");
227
+ const id = Number(idStr);
228
+ if (!Number.isInteger(id))
229
+ err(`invalid proposal id '${idStr}'`);
230
+ const positionRaw = typeof flags.position === "string" ? flags.position : "";
231
+ if (!positionRaw)
232
+ err("--position is required");
233
+ const position = POSITION_MAP[positionRaw];
234
+ if (!position)
235
+ err(`invalid --position '${positionRaw}'`);
236
+ const reasoning = typeof flags.reasoning === "string" ? flags.reasoning : "";
237
+ if (!reasoning)
238
+ err("--reasoning is required");
239
+ const weight = typeof flags.weight === "string" ? Number(flags.weight) : 1;
240
+ const agent = typeof flags.agent === "string" ? flags.agent : "cli-user";
241
+ await ensureLoaded(cwd);
242
+ const p = getProposal(id);
243
+ if (!p)
244
+ err(`proposal #${id} not found`);
245
+ await addVote(id, { agentId: agent, agentName: agent, position, reasoning, weight });
246
+ await recordAudit(id, "governance", "vote-cast", agent, `${position} (w=${weight}): ${reasoning}`);
247
+ await saveState();
248
+ info(`✓ Vote recorded for #${id}: ${positionRaw} by ${agent}`);
249
+ }
250
+ async function cmdGithubConfig(cwd, flags) {
251
+ const token = typeof flags.token === "string" ? flags.token : "";
252
+ const owner = typeof flags.owner === "string" ? flags.owner : "";
253
+ const repo = typeof flags.repo === "string" ? flags.repo : "";
254
+ if (!token)
255
+ err("--token is required");
256
+ if (!owner)
257
+ err("--owner is required");
258
+ if (!repo)
259
+ err("--repo is required");
260
+ const githubConfig = { token, owner, repo, enabled: true };
261
+ // Persist to .dao/config.json
262
+ const daoRoot = getDaoRoot(cwd);
263
+ await fs.mkdir(daoRoot, { recursive: true });
264
+ const configPath = path.join(daoRoot, "config.json");
265
+ let configData = {};
266
+ try {
267
+ configData = JSON.parse(await fs.readFile(configPath, "utf-8"));
268
+ }
269
+ catch {
270
+ /* no existing config */
271
+ }
272
+ configData.github = githubConfig;
273
+ await fs.writeFile(configPath, JSON.stringify(configData, null, 2), "utf-8");
274
+ // Also configure in-memory for current process
275
+ configureGitHub(githubConfig);
276
+ info(`✓ GitHub config set: ${owner}/${repo}`);
277
+ }
278
+ /**
279
+ * Read GitHub config from .dao/config.json and configure the in-memory module.
280
+ * Returns true if GitHub is configured, false otherwise.
281
+ */
282
+ async function loadGitHubConfigFromStorage(cwd) {
283
+ const daoRoot = getDaoRoot(cwd);
284
+ const configPath = path.join(daoRoot, "config.json");
285
+ try {
286
+ const configData = JSON.parse(await fs.readFile(configPath, "utf-8"));
287
+ const github = configData.github;
288
+ if (github?.token && github?.owner && github?.repo) {
289
+ configureGitHub({ ...github, enabled: true });
290
+ return true;
291
+ }
292
+ }
293
+ catch {
294
+ /* no config file */
295
+ }
296
+ return false;
297
+ }
298
+ async function cmdGithubBranch(cwd, positional) {
299
+ const idStr = positional[0];
300
+ if (!idStr)
301
+ err("usage: swarm-dao github-branch <proposal-id>");
302
+ const id = Number(idStr);
303
+ if (!Number.isInteger(id))
304
+ err(`invalid proposal id '${idStr}'`);
305
+ await ensureLoaded(cwd);
306
+ const p = getProposal(id);
307
+ if (!p)
308
+ err(`proposal #${id} not found`);
309
+ const configured = await loadGitHubConfigFromStorage(cwd);
310
+ if (!configured || !isGitHubEnabled()) {
311
+ err("GitHub not configured. Run: swarm-dao github-config --token <t> --owner <o> --repo <r>");
312
+ }
313
+ const branchName = ghBranchNameFor(p);
314
+ const result = await ghCreateBranch(branchName);
315
+ if (!result)
316
+ err("failed to create branch (GitHub API returned null)");
317
+ info(`✓ Branch created: ${branchName} (sha: ${result.sha.slice(0, 7)})`);
318
+ }
319
+ async function cmdGithubPr(cwd, positional, flags) {
320
+ const idStr = positional[0];
321
+ if (!idStr)
322
+ err("usage: swarm-dao github-pr <proposal-id> --head-branch <b>");
323
+ const id = Number(idStr);
324
+ if (!Number.isInteger(id))
325
+ err(`invalid proposal id '${idStr}'`);
326
+ const headBranch = typeof flags["head-branch"] === "string" ? flags["head-branch"] : "";
327
+ if (!headBranch)
328
+ err("--head-branch is required");
329
+ await ensureLoaded(cwd);
330
+ const p = getProposal(id);
331
+ if (!p)
332
+ err(`proposal #${id} not found`);
333
+ const configured = await loadGitHubConfigFromStorage(cwd);
334
+ if (!configured || !isGitHubEnabled()) {
335
+ err("GitHub not configured. Run: swarm-dao github-config --token <t> --owner <o> --repo <r>");
336
+ }
337
+ const result = await ghCreatePullRequest(p, { headBranch });
338
+ if (!result)
339
+ err("failed to create PR (GitHub API returned null)");
340
+ info(`✓ PR created: #${result.number} — ${result.url}`);
341
+ }
342
+ // ── Entry Point ─────────────────────────────────────────────
343
+ export async function main(argv, cwd = process.cwd()) {
344
+ const [cmd, ...rest] = argv;
345
+ const { flags, positional } = parseFlags(rest);
346
+ try {
347
+ switch (cmd) {
348
+ case undefined:
349
+ case "help":
350
+ case "--help":
351
+ case "-h":
352
+ process.stdout.write(HELP);
353
+ return 0;
354
+ case "init":
355
+ await cmdInit(cwd);
356
+ return 0;
357
+ case "setup":
358
+ await cmdSetup(cwd);
359
+ return 0;
360
+ case "propose":
361
+ await cmdPropose(cwd, flags);
362
+ return 0;
363
+ case "list":
364
+ await cmdList(cwd, flags);
365
+ return 0;
366
+ case "show":
367
+ await cmdShow(cwd, positional);
368
+ return 0;
369
+ case "config":
370
+ await cmdConfig(cwd);
371
+ return 0;
372
+ case "audit":
373
+ await cmdAudit(cwd, flags);
374
+ return 0;
375
+ case "status":
376
+ await cmdStatus(cwd);
377
+ return 0;
378
+ case "vote":
379
+ await cmdVote(cwd, positional, flags);
380
+ return 0;
381
+ case "github-config":
382
+ await cmdGithubConfig(cwd, flags);
383
+ return 0;
384
+ case "github-branch":
385
+ await cmdGithubBranch(cwd, positional);
386
+ return 0;
387
+ case "github-pr":
388
+ await cmdGithubPr(cwd, positional, flags);
389
+ return 0;
390
+ default:
391
+ process.stderr.write(`unknown command: ${cmd}\n\n${HELP}`);
392
+ return 1;
393
+ }
394
+ }
395
+ catch (e) {
396
+ const message = e instanceof Error ? e.message : String(e);
397
+ process.stderr.write(`error: ${message}\n`);
398
+ return 1;
399
+ }
400
+ }
401
+ // Run when invoked directly
402
+ const isDirect = (() => {
403
+ try {
404
+ const entry = process.argv[1];
405
+ if (!entry)
406
+ return false;
407
+ return entry.endsWith("cli.ts") || entry.endsWith("cli.js") || entry.endsWith("/swarm-dao");
408
+ }
409
+ catch {
410
+ return false;
411
+ }
412
+ })();
413
+ if (isDirect) {
414
+ main(process.argv.slice(2)).then((code) => process.exit(code));
415
+ }
416
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "@guyghost/swarm-dao-cli",
3
+ "version": "0.1.0",
4
+ "description": "Swarm DAO standalone CLI",
5
+ "type": "module",
6
+ "main": "./dist/cli.js",
7
+ "types": "./dist/cli.d.ts",
8
+ "files": [
9
+ "dist"
10
+ ],
11
+ "bin": {
12
+ "swarm-dao": "./dist/cli.js"
13
+ },
14
+ "exports": {
15
+ ".": {
16
+ "types": "./dist/cli.d.ts",
17
+ "import": "./dist/cli.js"
18
+ }
19
+ },
20
+ "scripts": {
21
+ "build": "tsc",
22
+ "test": "bun test",
23
+ "lint": "biome check .",
24
+ "typecheck": "tsc --noEmit",
25
+ "prepublishOnly": "bun run build"
26
+ },
27
+ "dependencies": {
28
+ "@guyghost/swarm-dao-core": "^0.1.0"
29
+ },
30
+ "devDependencies": {
31
+ "@types/bun": "latest"
32
+ },
33
+ "repository": {
34
+ "type": "git",
35
+ "url": "git+https://github.com/guyghost/swarm-dao.git",
36
+ "directory": "packages/cli"
37
+ },
38
+ "bugs": {
39
+ "url": "https://github.com/guyghost/swarm-dao/issues"
40
+ },
41
+ "homepage": "https://github.com/guyghost/swarm-dao#readme",
42
+ "publishConfig": {
43
+ "access": "public"
44
+ }
45
+ }