squads-cli 0.2.0 → 0.2.1
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 +521 -288
- package/dist/auth-YW3UPFSB.js +23 -0
- package/dist/auth-YW3UPFSB.js.map +1 -0
- package/dist/autonomy-PSVZVX7A.js +105 -0
- package/dist/autonomy-PSVZVX7A.js.map +1 -0
- package/dist/chunk-67RO2HKR.js +174 -0
- package/dist/chunk-67RO2HKR.js.map +1 -0
- package/dist/chunk-7OCVIDC7.js +12 -0
- package/dist/chunk-7OCVIDC7.js.map +1 -0
- package/dist/chunk-BODLDQY7.js +452 -0
- package/dist/chunk-BODLDQY7.js.map +1 -0
- package/dist/chunk-EHQJHRIW.js +103 -0
- package/dist/chunk-EHQJHRIW.js.map +1 -0
- package/dist/chunk-FFFCFZ6A.js +121 -0
- package/dist/chunk-FFFCFZ6A.js.map +1 -0
- package/dist/chunk-FIWT2NMM.js +165 -0
- package/dist/chunk-FIWT2NMM.js.map +1 -0
- package/dist/chunk-HF4WR7RA.js +154 -0
- package/dist/chunk-HF4WR7RA.js.map +1 -0
- package/dist/chunk-J6QF4ZQX.js +230 -0
- package/dist/chunk-J6QF4ZQX.js.map +1 -0
- package/dist/chunk-LOA3KWYJ.js +294 -0
- package/dist/chunk-LOA3KWYJ.js.map +1 -0
- package/dist/chunk-M5FXNY6Y.js +384 -0
- package/dist/chunk-M5FXNY6Y.js.map +1 -0
- package/dist/chunk-QHNUMM4V.js +87 -0
- package/dist/chunk-QHNUMM4V.js.map +1 -0
- package/dist/chunk-QJ7C7CMB.js +223 -0
- package/dist/chunk-QJ7C7CMB.js.map +1 -0
- package/dist/chunk-RM6BWILN.js +74 -0
- package/dist/chunk-RM6BWILN.js.map +1 -0
- package/dist/chunk-TYFTF53O.js +613 -0
- package/dist/chunk-TYFTF53O.js.map +1 -0
- package/dist/chunk-TZXD6WFN.js +420 -0
- package/dist/chunk-TZXD6WFN.js.map +1 -0
- package/dist/chunk-WVOIY5GW.js +621 -0
- package/dist/chunk-WVOIY5GW.js.map +1 -0
- package/dist/chunk-Z2UKDBNL.js +162 -0
- package/dist/chunk-Z2UKDBNL.js.map +1 -0
- package/dist/chunk-ZTQ7ISUR.js +338 -0
- package/dist/chunk-ZTQ7ISUR.js.map +1 -0
- package/dist/cli.js +2483 -5902
- package/dist/cli.js.map +1 -1
- package/dist/context-GWPF4SEY.js +291 -0
- package/dist/context-GWPF4SEY.js.map +1 -0
- package/dist/context-feed-AJGVAR6H.js +394 -0
- package/dist/context-feed-AJGVAR6H.js.map +1 -0
- package/dist/cost-XBCDJ7XC.js +275 -0
- package/dist/cost-XBCDJ7XC.js.map +1 -0
- package/dist/create-BLFGG6PF.js +286 -0
- package/dist/create-BLFGG6PF.js.map +1 -0
- package/dist/dashboard-LGT2B2BL.js +951 -0
- package/dist/dashboard-LGT2B2BL.js.map +1 -0
- package/dist/dashboard-RMK2BOD2.js +794 -0
- package/dist/dashboard-RMK2BOD2.js.map +1 -0
- package/dist/doctor-XPUIIBHJ.js +374 -0
- package/dist/doctor-XPUIIBHJ.js.map +1 -0
- package/dist/env-config-SQEI3Y7Y.js +21 -0
- package/dist/env-config-SQEI3Y7Y.js.map +1 -0
- package/dist/exec-OUXM7JBF.js +223 -0
- package/dist/exec-OUXM7JBF.js.map +1 -0
- package/dist/feedback-KNAOG5QK.js +229 -0
- package/dist/feedback-KNAOG5QK.js.map +1 -0
- package/dist/github-UQTM5KMS.js +23 -0
- package/dist/github-UQTM5KMS.js.map +1 -0
- package/dist/goal-BVHV5573.js +168 -0
- package/dist/goal-BVHV5573.js.map +1 -0
- package/dist/health-4UXN44PF.js +218 -0
- package/dist/health-4UXN44PF.js.map +1 -0
- package/dist/history-ILH3SWHB.js +232 -0
- package/dist/history-ILH3SWHB.js.map +1 -0
- package/dist/index.d.ts +736 -8
- package/dist/index.js +1312 -6
- package/dist/index.js.map +1 -1
- package/dist/init-XQZ7BOGT.js +812 -0
- package/dist/init-XQZ7BOGT.js.map +1 -0
- package/dist/kpi-RQIU7WGK.js +413 -0
- package/dist/kpi-RQIU7WGK.js.map +1 -0
- package/dist/learn-OIFUVZAS.js +269 -0
- package/dist/learn-OIFUVZAS.js.map +1 -0
- package/dist/login-DXZANWZY.js +155 -0
- package/dist/login-DXZANWZY.js.map +1 -0
- package/dist/memory-T3ACCS7E.js +560 -0
- package/dist/memory-T3ACCS7E.js.map +1 -0
- package/dist/memory-VNF2VFRB.js +23 -0
- package/dist/memory-VNF2VFRB.js.map +1 -0
- package/dist/progress-DAUZMT3N.js +202 -0
- package/dist/progress-DAUZMT3N.js.map +1 -0
- package/dist/providers-3P5D2XL5.js +65 -0
- package/dist/providers-3P5D2XL5.js.map +1 -0
- package/dist/results-UECWGLTB.js +224 -0
- package/dist/results-UECWGLTB.js.map +1 -0
- package/dist/run-I6KAXU6U.js +4049 -0
- package/dist/run-I6KAXU6U.js.map +1 -0
- package/dist/session-HBU6KZOD.js +64 -0
- package/dist/session-HBU6KZOD.js.map +1 -0
- package/dist/sessions-CK25VGPL.js +333 -0
- package/dist/sessions-CK25VGPL.js.map +1 -0
- package/dist/squad-parser-DCG65BJS.js +35 -0
- package/dist/squad-parser-DCG65BJS.js.map +1 -0
- package/dist/stats-G6NAU5BD.js +334 -0
- package/dist/stats-G6NAU5BD.js.map +1 -0
- package/dist/status-AQNLDZVN.js +352 -0
- package/dist/status-AQNLDZVN.js.map +1 -0
- package/dist/sync-ZI3MHA4G.js +836 -0
- package/dist/sync-ZI3MHA4G.js.map +1 -0
- package/dist/templates/core/AGENTS.md.template +51 -0
- package/dist/templates/core/BUSINESS_BRIEF.md.template +29 -0
- package/dist/templates/core/CLAUDE.md.template +48 -0
- package/dist/templates/core/provider.yaml.template +5 -0
- package/dist/templates/first-squad/SQUAD.md.template +23 -0
- package/dist/templates/first-squad/lead.md.template +44 -0
- package/dist/templates/memory/getting-started/state.md.template +19 -0
- package/dist/templates/seed/BUSINESS_BRIEF.md.template +27 -0
- package/dist/templates/seed/CLAUDE.md.template +119 -0
- package/dist/templates/seed/README.md.template +42 -0
- package/dist/templates/seed/config/SYSTEM.md +52 -0
- package/dist/templates/seed/config/provider.yaml +4 -0
- package/dist/templates/seed/hooks/settings.json.template +31 -0
- package/dist/templates/seed/memory/company/directives.md +37 -0
- package/dist/templates/seed/memory/company/manager/state.md +16 -0
- package/dist/templates/seed/memory/engineering/issue-solver/state.md +12 -0
- package/dist/templates/seed/memory/intelligence/intel-lead/state.md +9 -0
- package/dist/templates/seed/memory/marketing/content-drafter/state.md +12 -0
- package/dist/templates/seed/memory/operations/ops-lead/state.md +12 -0
- package/dist/templates/seed/memory/product/lead/state.md +14 -0
- package/dist/templates/seed/memory/research/lead/state.md +14 -0
- package/dist/templates/seed/skills/gh/SKILL.md +57 -0
- package/dist/templates/seed/skills/squads-cli/SKILL.md +84 -0
- package/dist/templates/seed/squads/company/SQUAD.md +51 -0
- package/dist/templates/seed/squads/company/company-critic.md +49 -0
- package/dist/templates/seed/squads/company/company-eval.md +49 -0
- package/dist/templates/seed/squads/company/event-dispatcher.md +43 -0
- package/dist/templates/seed/squads/company/goal-tracker.md +43 -0
- package/dist/templates/seed/squads/company/manager.md +54 -0
- package/dist/templates/seed/squads/engineering/SQUAD.md +48 -0
- package/dist/templates/seed/squads/engineering/code-reviewer.md +57 -0
- package/dist/templates/seed/squads/engineering/issue-solver.md +58 -0
- package/dist/templates/seed/squads/engineering/test-writer.md +50 -0
- package/dist/templates/seed/squads/intelligence/SQUAD.md +38 -0
- package/dist/templates/seed/squads/intelligence/intel-critic.md +36 -0
- package/dist/templates/seed/squads/intelligence/intel-eval.md +31 -0
- package/dist/templates/seed/squads/intelligence/intel-lead.md +71 -0
- package/dist/templates/seed/squads/marketing/SQUAD.md +47 -0
- package/dist/templates/seed/squads/marketing/content-drafter.md +71 -0
- package/dist/templates/seed/squads/marketing/growth-analyst.md +49 -0
- package/dist/templates/seed/squads/marketing/social-poster.md +44 -0
- package/dist/templates/seed/squads/operations/SQUAD.md +45 -0
- package/dist/templates/seed/squads/operations/finance-tracker.md +47 -0
- package/dist/templates/seed/squads/operations/goal-tracker.md +48 -0
- package/dist/templates/seed/squads/operations/ops-lead.md +58 -0
- package/dist/templates/seed/squads/product/SQUAD.md +41 -0
- package/dist/templates/seed/squads/product/lead.md +56 -0
- package/dist/templates/seed/squads/product/scanner.md +50 -0
- package/dist/templates/seed/squads/product/worker.md +55 -0
- package/dist/templates/seed/squads/research/SQUAD.md +38 -0
- package/dist/templates/seed/squads/research/analyst.md +50 -0
- package/dist/templates/seed/squads/research/lead.md +52 -0
- package/dist/templates/seed/squads/research/synthesizer.md +59 -0
- package/dist/templates/skills/squads-learn/SKILL.md +86 -0
- package/dist/templates/skills/squads-workflow/instruction.md +70 -0
- package/dist/terminal-FBQFQTKZ.js +55 -0
- package/dist/terminal-FBQFQTKZ.js.map +1 -0
- package/dist/update-D7CGIZ3M.js +18 -0
- package/dist/update-D7CGIZ3M.js.map +1 -0
- package/dist/update-STU276HR.js +83 -0
- package/dist/update-STU276HR.js.map +1 -0
- package/package.json +31 -13
- package/templates/core/AGENTS.md.template +51 -0
- package/templates/core/BUSINESS_BRIEF.md.template +29 -0
- package/templates/core/CLAUDE.md.template +48 -0
- package/templates/core/provider.yaml.template +5 -0
- package/templates/first-squad/SQUAD.md.template +23 -0
- package/templates/first-squad/lead.md.template +44 -0
- package/templates/memory/getting-started/state.md.template +19 -0
- package/templates/seed/BUSINESS_BRIEF.md.template +27 -0
- package/templates/seed/CLAUDE.md.template +119 -0
- package/templates/seed/README.md.template +42 -0
- package/templates/seed/config/SYSTEM.md +52 -0
- package/templates/seed/config/provider.yaml +4 -0
- package/templates/seed/hooks/settings.json.template +31 -0
- package/templates/seed/memory/company/directives.md +37 -0
- package/templates/seed/memory/company/manager/state.md +16 -0
- package/templates/seed/memory/engineering/issue-solver/state.md +12 -0
- package/templates/seed/memory/intelligence/intel-lead/state.md +9 -0
- package/templates/seed/memory/marketing/content-drafter/state.md +12 -0
- package/templates/seed/memory/operations/ops-lead/state.md +12 -0
- package/templates/seed/memory/product/lead/state.md +14 -0
- package/templates/seed/memory/research/lead/state.md +14 -0
- package/templates/seed/skills/gh/SKILL.md +57 -0
- package/templates/seed/skills/squads-cli/SKILL.md +84 -0
- package/templates/seed/squads/company/SQUAD.md +51 -0
- package/templates/seed/squads/company/company-critic.md +49 -0
- package/templates/seed/squads/company/company-eval.md +49 -0
- package/templates/seed/squads/company/event-dispatcher.md +43 -0
- package/templates/seed/squads/company/goal-tracker.md +43 -0
- package/templates/seed/squads/company/manager.md +54 -0
- package/templates/seed/squads/engineering/SQUAD.md +48 -0
- package/templates/seed/squads/engineering/code-reviewer.md +57 -0
- package/templates/seed/squads/engineering/issue-solver.md +58 -0
- package/templates/seed/squads/engineering/test-writer.md +50 -0
- package/templates/seed/squads/intelligence/SQUAD.md +38 -0
- package/templates/seed/squads/intelligence/intel-critic.md +36 -0
- package/templates/seed/squads/intelligence/intel-eval.md +31 -0
- package/templates/seed/squads/intelligence/intel-lead.md +71 -0
- package/templates/seed/squads/marketing/SQUAD.md +47 -0
- package/templates/seed/squads/marketing/content-drafter.md +71 -0
- package/templates/seed/squads/marketing/growth-analyst.md +49 -0
- package/templates/seed/squads/marketing/social-poster.md +44 -0
- package/templates/seed/squads/operations/SQUAD.md +45 -0
- package/templates/seed/squads/operations/finance-tracker.md +47 -0
- package/templates/seed/squads/operations/goal-tracker.md +48 -0
- package/templates/seed/squads/operations/ops-lead.md +58 -0
- package/templates/seed/squads/product/SQUAD.md +41 -0
- package/templates/seed/squads/product/lead.md +56 -0
- package/templates/seed/squads/product/scanner.md +50 -0
- package/templates/seed/squads/product/worker.md +55 -0
- package/templates/seed/squads/research/SQUAD.md +38 -0
- package/templates/seed/squads/research/analyst.md +50 -0
- package/templates/seed/squads/research/lead.md +52 -0
- package/templates/seed/squads/research/synthesizer.md +59 -0
- package/templates/skills/squads-learn/SKILL.md +86 -0
- package/templates/skills/squads-workflow/instruction.md +70 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
performUpdate,
|
|
4
|
+
refreshVersionCache
|
|
5
|
+
} from "./chunk-J6QF4ZQX.js";
|
|
6
|
+
import {
|
|
7
|
+
RESET,
|
|
8
|
+
colors,
|
|
9
|
+
gradient,
|
|
10
|
+
icons,
|
|
11
|
+
writeLine
|
|
12
|
+
} from "./chunk-M5FXNY6Y.js";
|
|
13
|
+
import "./chunk-7OCVIDC7.js";
|
|
14
|
+
|
|
15
|
+
// src/commands/update.ts
|
|
16
|
+
import { createInterface } from "readline";
|
|
17
|
+
async function confirm(message) {
|
|
18
|
+
const rl = createInterface({
|
|
19
|
+
input: process.stdin,
|
|
20
|
+
output: process.stdout
|
|
21
|
+
});
|
|
22
|
+
return new Promise((resolve) => {
|
|
23
|
+
rl.question(` ${message} [y/N]: `, (answer) => {
|
|
24
|
+
rl.close();
|
|
25
|
+
resolve(answer.toLowerCase() === "y" || answer.toLowerCase() === "yes");
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
async function updateCommand(options = {}) {
|
|
30
|
+
writeLine();
|
|
31
|
+
writeLine(` ${gradient("squads")} ${colors.dim}update${RESET}`);
|
|
32
|
+
writeLine();
|
|
33
|
+
if (options.check) {
|
|
34
|
+
writeLine(` ${colors.dim}Checking for updates...${RESET}`);
|
|
35
|
+
const info2 = refreshVersionCache();
|
|
36
|
+
writeLine();
|
|
37
|
+
if (info2.updateAvailable) {
|
|
38
|
+
writeLine(` ${colors.cyan}\u2B06${RESET} Update available: ${colors.dim}${info2.currentVersion}${RESET} \u2192 ${colors.green}${info2.latestVersion}${RESET}`);
|
|
39
|
+
writeLine();
|
|
40
|
+
writeLine(` ${colors.dim}Run \`squads update\` to install${RESET}`);
|
|
41
|
+
} else {
|
|
42
|
+
writeLine(` ${colors.green}${icons.success}${RESET} Already on latest version ${colors.cyan}${info2.currentVersion}${RESET}`);
|
|
43
|
+
}
|
|
44
|
+
writeLine();
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
writeLine(` ${colors.dim}Checking npm registry...${RESET}`);
|
|
48
|
+
const info = refreshVersionCache();
|
|
49
|
+
if (!info.updateAvailable) {
|
|
50
|
+
writeLine();
|
|
51
|
+
writeLine(` ${colors.green}${icons.success}${RESET} Already on latest version ${colors.cyan}${info.currentVersion}${RESET}`);
|
|
52
|
+
writeLine();
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
writeLine();
|
|
56
|
+
writeLine(` ${colors.cyan}\u2B06${RESET} Update available: ${colors.dim}${info.currentVersion}${RESET} \u2192 ${colors.green}${info.latestVersion}${RESET}`);
|
|
57
|
+
writeLine();
|
|
58
|
+
const shouldUpdate = options.yes || await confirm("Update now?");
|
|
59
|
+
if (!shouldUpdate) {
|
|
60
|
+
writeLine();
|
|
61
|
+
writeLine(` ${colors.dim}Update skipped${RESET}`);
|
|
62
|
+
writeLine();
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
writeLine();
|
|
66
|
+
writeLine(` ${colors.dim}Installing update...${RESET}`);
|
|
67
|
+
writeLine();
|
|
68
|
+
const result = performUpdate();
|
|
69
|
+
writeLine();
|
|
70
|
+
if (result.success) {
|
|
71
|
+
writeLine(` ${colors.green}${icons.success}${RESET} Updated to ${colors.green}${info.latestVersion}${RESET}`);
|
|
72
|
+
writeLine(` ${colors.dim}Restart your terminal to use the new version${RESET}`);
|
|
73
|
+
} else {
|
|
74
|
+
writeLine(` ${colors.red}${icons.error}${RESET} Update failed: ${result.error}`);
|
|
75
|
+
writeLine(` ${colors.dim}Try manually: npm update -g squads-cli${RESET}`);
|
|
76
|
+
process.exitCode = 1;
|
|
77
|
+
}
|
|
78
|
+
writeLine();
|
|
79
|
+
}
|
|
80
|
+
export {
|
|
81
|
+
updateCommand
|
|
82
|
+
};
|
|
83
|
+
//# sourceMappingURL=update-STU276HR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/update.ts"],"sourcesContent":["/**\n * squads update - Check and install updates\n */\n\nimport { createInterface } from 'readline';\nimport {\n refreshVersionCache,\n performUpdate,\n} from '../lib/update.js';\nimport {\n colors,\n RESET,\n gradient,\n icons,\n writeLine,\n} from '../lib/terminal.js';\n\ninterface UpdateOptions {\n yes?: boolean;\n check?: boolean;\n}\n\n/**\n * Prompt user for yes/no confirmation\n */\nasync function confirm(message: string): Promise<boolean> {\n const rl = createInterface({\n input: process.stdin,\n output: process.stdout,\n });\n\n return new Promise((resolve) => {\n rl.question(` ${message} [y/N]: `, (answer) => {\n rl.close();\n resolve(answer.toLowerCase() === 'y' || answer.toLowerCase() === 'yes');\n });\n });\n}\n\nexport async function updateCommand(options: UpdateOptions = {}): Promise<void> {\n writeLine();\n writeLine(` ${gradient('squads')} ${colors.dim}update${RESET}`);\n writeLine();\n\n // Check-only mode\n if (options.check) {\n writeLine(` ${colors.dim}Checking for updates...${RESET}`);\n const info = refreshVersionCache();\n writeLine();\n\n if (info.updateAvailable) {\n writeLine(` ${colors.cyan}⬆${RESET} Update available: ${colors.dim}${info.currentVersion}${RESET} → ${colors.green}${info.latestVersion}${RESET}`);\n writeLine();\n writeLine(` ${colors.dim}Run \\`squads update\\` to install${RESET}`);\n } else {\n writeLine(` ${colors.green}${icons.success}${RESET} Already on latest version ${colors.cyan}${info.currentVersion}${RESET}`);\n }\n writeLine();\n return;\n }\n\n // Check for updates\n writeLine(` ${colors.dim}Checking npm registry...${RESET}`);\n const info = refreshVersionCache();\n\n if (!info.updateAvailable) {\n writeLine();\n writeLine(` ${colors.green}${icons.success}${RESET} Already on latest version ${colors.cyan}${info.currentVersion}${RESET}`);\n writeLine();\n return;\n }\n\n writeLine();\n writeLine(` ${colors.cyan}⬆${RESET} Update available: ${colors.dim}${info.currentVersion}${RESET} → ${colors.green}${info.latestVersion}${RESET}`);\n writeLine();\n\n // Auto-confirm with --yes flag, otherwise prompt\n const shouldUpdate = options.yes || (await confirm('Update now?'));\n\n if (!shouldUpdate) {\n writeLine();\n writeLine(` ${colors.dim}Update skipped${RESET}`);\n writeLine();\n return;\n }\n\n writeLine();\n writeLine(` ${colors.dim}Installing update...${RESET}`);\n writeLine();\n\n const result = performUpdate();\n\n writeLine();\n if (result.success) {\n writeLine(` ${colors.green}${icons.success}${RESET} Updated to ${colors.green}${info.latestVersion}${RESET}`);\n writeLine(` ${colors.dim}Restart your terminal to use the new version${RESET}`);\n } else {\n writeLine(` ${colors.red}${icons.error}${RESET} Update failed: ${result.error}`);\n writeLine(` ${colors.dim}Try manually: npm update -g squads-cli${RESET}`);\n process.exitCode = 1;\n }\n writeLine();\n}\n"],"mappings":";;;;;;;;;;;;;;;AAIA,SAAS,uBAAuB;AAqBhC,eAAe,QAAQ,SAAmC;AACxD,QAAM,KAAK,gBAAgB;AAAA,IACzB,OAAO,QAAQ;AAAA,IACf,QAAQ,QAAQ;AAAA,EAClB,CAAC;AAED,SAAO,IAAI,QAAQ,CAAC,YAAY;AAC9B,OAAG,SAAS,KAAK,OAAO,YAAY,CAAC,WAAW;AAC9C,SAAG,MAAM;AACT,cAAQ,OAAO,YAAY,MAAM,OAAO,OAAO,YAAY,MAAM,KAAK;AAAA,IACxE,CAAC;AAAA,EACH,CAAC;AACH;AAEA,eAAsB,cAAc,UAAyB,CAAC,GAAkB;AAC9E,YAAU;AACV,YAAU,KAAK,SAAS,QAAQ,CAAC,IAAI,OAAO,GAAG,SAAS,KAAK,EAAE;AAC/D,YAAU;AAGV,MAAI,QAAQ,OAAO;AACjB,cAAU,KAAK,OAAO,GAAG,0BAA0B,KAAK,EAAE;AAC1D,UAAMA,QAAO,oBAAoB;AACjC,cAAU;AAEV,QAAIA,MAAK,iBAAiB;AACxB,gBAAU,KAAK,OAAO,IAAI,SAAI,KAAK,sBAAsB,OAAO,GAAG,GAAGA,MAAK,cAAc,GAAG,KAAK,WAAM,OAAO,KAAK,GAAGA,MAAK,aAAa,GAAG,KAAK,EAAE;AAClJ,gBAAU;AACV,gBAAU,KAAK,OAAO,GAAG,mCAAmC,KAAK,EAAE;AAAA,IACrE,OAAO;AACL,gBAAU,KAAK,OAAO,KAAK,GAAG,MAAM,OAAO,GAAG,KAAK,8BAA8B,OAAO,IAAI,GAAGA,MAAK,cAAc,GAAG,KAAK,EAAE;AAAA,IAC9H;AACA,cAAU;AACV;AAAA,EACF;AAGA,YAAU,KAAK,OAAO,GAAG,2BAA2B,KAAK,EAAE;AAC3D,QAAM,OAAO,oBAAoB;AAEjC,MAAI,CAAC,KAAK,iBAAiB;AACzB,cAAU;AACV,cAAU,KAAK,OAAO,KAAK,GAAG,MAAM,OAAO,GAAG,KAAK,8BAA8B,OAAO,IAAI,GAAG,KAAK,cAAc,GAAG,KAAK,EAAE;AAC5H,cAAU;AACV;AAAA,EACF;AAEA,YAAU;AACV,YAAU,KAAK,OAAO,IAAI,SAAI,KAAK,sBAAsB,OAAO,GAAG,GAAG,KAAK,cAAc,GAAG,KAAK,WAAM,OAAO,KAAK,GAAG,KAAK,aAAa,GAAG,KAAK,EAAE;AAClJ,YAAU;AAGV,QAAM,eAAe,QAAQ,OAAQ,MAAM,QAAQ,aAAa;AAEhE,MAAI,CAAC,cAAc;AACjB,cAAU;AACV,cAAU,KAAK,OAAO,GAAG,iBAAiB,KAAK,EAAE;AACjD,cAAU;AACV;AAAA,EACF;AAEA,YAAU;AACV,YAAU,KAAK,OAAO,GAAG,uBAAuB,KAAK,EAAE;AACvD,YAAU;AAEV,QAAM,SAAS,cAAc;AAE7B,YAAU;AACV,MAAI,OAAO,SAAS;AAClB,cAAU,KAAK,OAAO,KAAK,GAAG,MAAM,OAAO,GAAG,KAAK,eAAe,OAAO,KAAK,GAAG,KAAK,aAAa,GAAG,KAAK,EAAE;AAC7G,cAAU,KAAK,OAAO,GAAG,+CAA+C,KAAK,EAAE;AAAA,EACjF,OAAO;AACL,cAAU,KAAK,OAAO,GAAG,GAAG,MAAM,KAAK,GAAG,KAAK,mBAAmB,OAAO,KAAK,EAAE;AAChF,cAAU,KAAK,OAAO,GAAG,yCAAyC,KAAK,EAAE;AACzE,YAAQ,WAAW;AAAA,EACrB;AACA,YAAU;AACZ;","names":["info"]}
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "squads-cli",
|
|
3
|
-
"version": "0.2.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.2.1",
|
|
4
|
+
"description": "Your AI workforce. Every user gets an AI manager that runs their team — finance, marketing, engineering, operations — for the cost of API calls.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
|
-
"squads": "
|
|
7
|
+
"squads": "dist/cli.js"
|
|
8
8
|
},
|
|
9
9
|
"main": "./dist/index.js",
|
|
10
10
|
"types": "./dist/index.d.ts",
|
|
@@ -15,10 +15,11 @@
|
|
|
15
15
|
}
|
|
16
16
|
},
|
|
17
17
|
"files": [
|
|
18
|
-
"dist"
|
|
18
|
+
"dist",
|
|
19
|
+
"templates"
|
|
19
20
|
],
|
|
20
21
|
"scripts": {
|
|
21
|
-
"build": "tsup",
|
|
22
|
+
"build": "tsup && cp -r templates dist/",
|
|
22
23
|
"dev": "tsup --watch",
|
|
23
24
|
"start": "node dist/cli.js",
|
|
24
25
|
"lint": "eslint src",
|
|
@@ -29,13 +30,26 @@
|
|
|
29
30
|
"prepublishOnly": "npm run build"
|
|
30
31
|
},
|
|
31
32
|
"keywords": [
|
|
32
|
-
"ai",
|
|
33
|
-
"
|
|
33
|
+
"ai-workforce",
|
|
34
|
+
"workforce",
|
|
35
|
+
"autonomous-agents",
|
|
36
|
+
"agent-framework",
|
|
37
|
+
"ai-automation",
|
|
38
|
+
"crewai-alternative",
|
|
39
|
+
"autogen-alternative",
|
|
40
|
+
"langgraph-alternative",
|
|
41
|
+
"multi-agent",
|
|
42
|
+
"orchestration",
|
|
43
|
+
"ai-agents",
|
|
44
|
+
"persistent-memory",
|
|
34
45
|
"squads",
|
|
35
46
|
"cli",
|
|
36
|
-
"automation",
|
|
37
47
|
"claude",
|
|
38
|
-
"
|
|
48
|
+
"claude-code",
|
|
49
|
+
"anthropic",
|
|
50
|
+
"mcp",
|
|
51
|
+
"agent-sdk",
|
|
52
|
+
"business-automation"
|
|
39
53
|
],
|
|
40
54
|
"author": "Agents Squads <hello@agents-squads.com>",
|
|
41
55
|
"license": "MIT",
|
|
@@ -55,21 +69,25 @@
|
|
|
55
69
|
"registry": "https://registry.npmjs.org/"
|
|
56
70
|
},
|
|
57
71
|
"dependencies": {
|
|
58
|
-
"@
|
|
72
|
+
"@anthropic-ai/sdk": "^0.71.2",
|
|
59
73
|
"chalk": "^5.3.0",
|
|
74
|
+
"chrono-node": "^2.9.0",
|
|
60
75
|
"commander": "^12.1.0",
|
|
61
76
|
"dotenv": "^17.2.3",
|
|
77
|
+
"gray-matter": "^4.0.3",
|
|
62
78
|
"inquirer": "^9.2.12",
|
|
79
|
+
"minimatch": "^10.2.1",
|
|
63
80
|
"open": "^11.0.0",
|
|
64
|
-
"ora": "^8.0.1"
|
|
65
|
-
"pg": "^8.16.3"
|
|
81
|
+
"ora": "^8.0.1"
|
|
66
82
|
},
|
|
67
83
|
"devDependencies": {
|
|
84
|
+
"@changesets/changelog-github": "^0.6.0",
|
|
85
|
+
"@changesets/cli": "^2.30.0",
|
|
68
86
|
"@eslint/js": "^9.39.2",
|
|
69
87
|
"@types/node": "^20.19.27",
|
|
70
|
-
"@types/pg": "^8.16.0",
|
|
71
88
|
"@typescript-eslint/eslint-plugin": "^8.51.0",
|
|
72
89
|
"@typescript-eslint/parser": "^8.51.0",
|
|
90
|
+
"@vitest/coverage-v8": "^4.0.18",
|
|
73
91
|
"eslint": "^9.39.2",
|
|
74
92
|
"tsup": "^8.0.1",
|
|
75
93
|
"typescript": "^5.3.0",
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Agent Instructions
|
|
2
|
+
|
|
3
|
+
Guidance for AI coding agents working on this project.
|
|
4
|
+
|
|
5
|
+
## This Project Uses Squads
|
|
6
|
+
|
|
7
|
+
AI agents are organized into squads — domain-aligned teams defined in `.agents/squads/`.
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
.agents/
|
|
11
|
+
├── config/
|
|
12
|
+
│ └── SYSTEM.md # Rules every agent follows
|
|
13
|
+
├── squads/
|
|
14
|
+
│ └── <squad>/
|
|
15
|
+
│ ├── SQUAD.md # Squad identity, goals, output format
|
|
16
|
+
│ └── <agent>.md # Agent definition
|
|
17
|
+
└── memory/
|
|
18
|
+
└── <squad>/<agent>/ # Persistent state
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Before Starting Work
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
squads status # See all squads, milestones, open PRs
|
|
25
|
+
squads status <squad> # Squad detail
|
|
26
|
+
squads memory read <squad> # What the squad already knows
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## During Work
|
|
30
|
+
|
|
31
|
+
- Check for existing PRs and issues before creating new ones
|
|
32
|
+
- Prefer editing existing files over creating new ones
|
|
33
|
+
- Keep changes focused — one task per commit/PR
|
|
34
|
+
- Use `--json` on any squads command for machine-readable output
|
|
35
|
+
|
|
36
|
+
## After Work
|
|
37
|
+
|
|
38
|
+
- Persist learnings: `squads memory write <squad> "insight"`
|
|
39
|
+
- Update state in `.agents/memory/<squad>/<agent>/state.md`
|
|
40
|
+
- Create GitHub issues for follow-up work
|
|
41
|
+
|
|
42
|
+
## Commands
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
squads run <squad/agent> # Run an agent
|
|
46
|
+
squads status # Overview
|
|
47
|
+
squads memory read <squad> # Recall squad knowledge
|
|
48
|
+
squads memory write <squad> "x" # Persist a learning
|
|
49
|
+
squads env show <squad> --json # Execution context
|
|
50
|
+
squads goal list # View squad goals
|
|
51
|
+
```
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Business Brief
|
|
2
|
+
|
|
3
|
+
## #1 Priority
|
|
4
|
+
|
|
5
|
+
**[Define your top priority here]**
|
|
6
|
+
|
|
7
|
+
## Runway
|
|
8
|
+
|
|
9
|
+
**Pressure**: LOW | MEDIUM | HIGH
|
|
10
|
+
|
|
11
|
+
## Current Focus
|
|
12
|
+
|
|
13
|
+
1. **[Focus area 1]** - Description
|
|
14
|
+
2. **[Focus area 2]** - Description
|
|
15
|
+
3. **[Focus area 3]** - Description
|
|
16
|
+
|
|
17
|
+
## Blockers
|
|
18
|
+
|
|
19
|
+
- None currently (or list blockers)
|
|
20
|
+
|
|
21
|
+
## Decision Framework
|
|
22
|
+
|
|
23
|
+
1. Does this drive the #1 priority?
|
|
24
|
+
2. Is there a simpler approach?
|
|
25
|
+
3. What's the opportunity cost?
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
*This file is read by `squads context` to provide business alignment.*
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Claude-Specific Instructions
|
|
2
|
+
|
|
3
|
+
Extends AGENTS.md with Claude Code specific features.
|
|
4
|
+
|
|
5
|
+
## New Project Setup
|
|
6
|
+
|
|
7
|
+
If this project needs squads setup, run:
|
|
8
|
+
```bash
|
|
9
|
+
squads init # Plant the seed: create manager, CLI skill, and squads
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## Skill Available
|
|
13
|
+
|
|
14
|
+
Use `/squads-workflow` for detailed workflow guidance.
|
|
15
|
+
|
|
16
|
+
## Session Hooks
|
|
17
|
+
|
|
18
|
+
Claude Code hooks are configured in `.claude/settings.json`:
|
|
19
|
+
- **SessionStart**: Runs `squads status` automatically
|
|
20
|
+
- **Stop**: Syncs memory and prompts for learnings
|
|
21
|
+
|
|
22
|
+
## Creating Agents
|
|
23
|
+
|
|
24
|
+
Agents live in `.agents/squads/<squad-name>/<agent-name>.md`:
|
|
25
|
+
|
|
26
|
+
```markdown
|
|
27
|
+
# Agent Name
|
|
28
|
+
|
|
29
|
+
## Purpose
|
|
30
|
+
One sentence: what this agent does.
|
|
31
|
+
|
|
32
|
+
## Model
|
|
33
|
+
simple # or: worker, leader
|
|
34
|
+
|
|
35
|
+
## Instructions
|
|
36
|
+
1. Specific step
|
|
37
|
+
2. Another step
|
|
38
|
+
3. Output location
|
|
39
|
+
|
|
40
|
+
## Output
|
|
41
|
+
What it produces and where it goes.
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Commit Signature
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
Co-Authored-By: Claude <model> <noreply@anthropic.com>
|
|
48
|
+
```
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# {{SQUAD_NAME}}
|
|
2
|
+
|
|
3
|
+
{{SQUAD_DESCRIPTION}}
|
|
4
|
+
|
|
5
|
+
## Goals
|
|
6
|
+
|
|
7
|
+
- [ ] {{GOAL}}
|
|
8
|
+
|
|
9
|
+
## Agents
|
|
10
|
+
|
|
11
|
+
| Agent | Purpose |
|
|
12
|
+
|-------|---------|
|
|
13
|
+
| lead | Orchestrates the squad and coordinates work |
|
|
14
|
+
|
|
15
|
+
## Pipeline
|
|
16
|
+
|
|
17
|
+
`lead` (orchestrates all work)
|
|
18
|
+
|
|
19
|
+
## Usage
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
squads run {{SQUAD_ID}} --execute
|
|
23
|
+
```
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Lead Agent
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Orchestrate the {{SQUAD_NAME}} squad to achieve its goals.
|
|
5
|
+
|
|
6
|
+
## Model
|
|
7
|
+
leader
|
|
8
|
+
|
|
9
|
+
## Tools
|
|
10
|
+
- Read
|
|
11
|
+
- Write
|
|
12
|
+
- Edit
|
|
13
|
+
- Bash
|
|
14
|
+
- WebSearch
|
|
15
|
+
- WebFetch
|
|
16
|
+
- Task
|
|
17
|
+
|
|
18
|
+
## Instructions
|
|
19
|
+
|
|
20
|
+
You are the lead agent for the {{SQUAD_NAME}} squad.
|
|
21
|
+
|
|
22
|
+
**Goal**: {{GOAL}}
|
|
23
|
+
|
|
24
|
+
### Approach
|
|
25
|
+
|
|
26
|
+
1. **Understand the goal** - Break down what needs to be accomplished
|
|
27
|
+
2. **Plan the work** - Create a clear execution plan
|
|
28
|
+
3. **Execute** - Work through the plan step by step
|
|
29
|
+
4. **Verify** - Confirm the goal is achieved
|
|
30
|
+
5. **Document** - Update memory with learnings
|
|
31
|
+
|
|
32
|
+
### Guidelines
|
|
33
|
+
|
|
34
|
+
- Use the Task tool to spawn sub-agents for complex, parallelizable work
|
|
35
|
+
- Check existing memory before researching: `squads memory query "<topic>"`
|
|
36
|
+
- Create GitHub issues for follow-up work
|
|
37
|
+
- Update `.agents/memory/{{SQUAD_ID}}/lead/state.md` with progress
|
|
38
|
+
|
|
39
|
+
## Output
|
|
40
|
+
Progress updates and work artifacts as appropriate.
|
|
41
|
+
|
|
42
|
+
## Labels
|
|
43
|
+
- lead
|
|
44
|
+
- orchestration
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Getting Started with Squads
|
|
2
|
+
|
|
3
|
+
## What You've Set Up
|
|
4
|
+
|
|
5
|
+
- **Your first squad** ready to run (`squads run {{SQUAD_ID}}`)
|
|
6
|
+
- **Memory system** for persistent context
|
|
7
|
+
- **Hooks** that sync status and memory automatically
|
|
8
|
+
|
|
9
|
+
## Next Steps
|
|
10
|
+
|
|
11
|
+
1. Run your squad: `squads run {{SQUAD_ID}} --execute`
|
|
12
|
+
2. Check the dashboard: `squads dash`
|
|
13
|
+
3. Create more squads in `.agents/squads/`
|
|
14
|
+
|
|
15
|
+
## Tips
|
|
16
|
+
|
|
17
|
+
- Check memory before researching: `squads memory query "<topic>"`
|
|
18
|
+
- Use `squads context` for business alignment on complex tasks
|
|
19
|
+
- Agents are reusable - if you do something twice, make it an agent
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Business Brief — {{BUSINESS_NAME}}
|
|
2
|
+
|
|
3
|
+
{{PLACEHOLDER_SENTINEL}}## About
|
|
4
|
+
|
|
5
|
+
{{BUSINESS_DESCRIPTION}}
|
|
6
|
+
|
|
7
|
+
## Research Focus
|
|
8
|
+
|
|
9
|
+
{{BUSINESS_FOCUS}}
|
|
10
|
+
|
|
11
|
+
{{COMPETITORS_SECTION}}## Priority
|
|
12
|
+
|
|
13
|
+
**#1**: Deliver value in the research focus above.
|
|
14
|
+
|
|
15
|
+
## Pressure
|
|
16
|
+
|
|
17
|
+
LOW — Learning phase. Explore, experiment, report findings.
|
|
18
|
+
|
|
19
|
+
## Decision Framework
|
|
20
|
+
|
|
21
|
+
1. Does this advance our focus area?
|
|
22
|
+
2. Is there a simpler approach for 80% of the value?
|
|
23
|
+
3. What's the opportunity cost?
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
*Read by all agents before every run. Edit this file to change what your workforce focuses on.*
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
# AI Workforce Operating Manual
|
|
2
|
+
|
|
3
|
+
This project uses [Agents Squads](https://agents-squads.com) to run an AI workforce.
|
|
4
|
+
|
|
5
|
+
## Structure
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
.agents/
|
|
9
|
+
├── BUSINESS_BRIEF.md # What this workforce focuses on
|
|
10
|
+
├── config/
|
|
11
|
+
│ ├── SYSTEM.md # Rules every agent follows (Layer 0)
|
|
12
|
+
│ └── provider.yaml # LLM provider config
|
|
13
|
+
├── squads/
|
|
14
|
+
│ ├── intelligence/ # Strategic synthesis squad
|
|
15
|
+
│ │ ├── SQUAD.md # Mission, goals, agents
|
|
16
|
+
│ │ ├── intel-lead.md # Know / Don't Know / Playbook briefs
|
|
17
|
+
│ │ ├── intel-eval.md # Quality evaluation
|
|
18
|
+
│ │ └── intel-critic.md # Assumption challenges
|
|
19
|
+
│ ├── research/ # Deep research squad
|
|
20
|
+
│ │ ├── SQUAD.md
|
|
21
|
+
│ │ ├── lead.md # Research agenda
|
|
22
|
+
│ │ ├── analyst.md # Sourced findings
|
|
23
|
+
│ │ └── synthesizer.md # Synthesis reports
|
|
24
|
+
│ ├── product/ # Product roadmap squad
|
|
25
|
+
│ │ ├── SQUAD.md
|
|
26
|
+
│ │ ├── lead.md # Roadmap decisions
|
|
27
|
+
│ │ ├── scanner.md # Signal monitoring
|
|
28
|
+
│ │ └── worker.md # Specs and PRDs
|
|
29
|
+
│ └── company/ # Orchestration + feedback
|
|
30
|
+
│ ├── SQUAD.md
|
|
31
|
+
│ ├── manager.md # Coordinates all squads
|
|
32
|
+
│ ├── company-eval.md # Evaluates outputs
|
|
33
|
+
│ └── company-critic.md # Process improvement
|
|
34
|
+
├── memory/
|
|
35
|
+
│ ├── company/
|
|
36
|
+
│ │ ├── manager/state.md
|
|
37
|
+
│ │ └── directives.md # Strategic overlay (Layer 3)
|
|
38
|
+
│ ├── research/lead/state.md
|
|
39
|
+
│ ├── intelligence/intel-lead/state.md
|
|
40
|
+
│ └── product/lead/state.md
|
|
41
|
+
└── skills/
|
|
42
|
+
└── squads-cli/SKILL.md # CLI operations manual
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Context Cascade
|
|
46
|
+
|
|
47
|
+
Every agent execution loads context in this order (higher layers always load, lower layers drop when token budget runs out):
|
|
48
|
+
|
|
49
|
+
| Layer | File | Purpose |
|
|
50
|
+
|-------|------|---------|
|
|
51
|
+
| 0 | `config/SYSTEM.md` | Immutable rules — git, memory, escalation |
|
|
52
|
+
| 1 | `squads/{squad}/SQUAD.md` | Mission, goals, output format |
|
|
53
|
+
| 2 | `memory/{squad}/priorities.md` | Current operational focus |
|
|
54
|
+
| 3 | `memory/company/directives.md` | Company-wide strategic overlay |
|
|
55
|
+
| 4 | `memory/{squad}/active-work.md` | Open PRs/issues — prevent duplication |
|
|
56
|
+
| 5 | `memory/{squad}/{agent}/state.md` | What the agent already knows |
|
|
57
|
+
| 6 | `memory/{squad}/feedback.md` | Last cycle evaluation |
|
|
58
|
+
| 7 | `memory/daily-briefing.md` | Cross-squad context |
|
|
59
|
+
|
|
60
|
+
## Updating Business Goals
|
|
61
|
+
|
|
62
|
+
When the human operator wants to change what the workforce focuses on, help them update these files in order:
|
|
63
|
+
|
|
64
|
+
### 1. Business Brief (what we do)
|
|
65
|
+
Edit `.agents/BUSINESS_BRIEF.md` — this is the root context every agent reads.
|
|
66
|
+
```
|
|
67
|
+
What does the business do? Who are the customers? What market?
|
|
68
|
+
What should agents research first? Who are the competitors?
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### 2. Directives (what matters now)
|
|
72
|
+
Edit `.agents/memory/company/directives.md` — this overrides squad goals.
|
|
73
|
+
```
|
|
74
|
+
What is the P0 priority? What metric are we optimizing?
|
|
75
|
+
What constraints apply? What should agents NOT do?
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### 3. Squad Goals (what each team does)
|
|
79
|
+
Edit `## Goals` in each `squads/{squad}/SQUAD.md`:
|
|
80
|
+
```bash
|
|
81
|
+
# Or use the CLI:
|
|
82
|
+
squads goal set intelligence "Monitor competitor X's pricing weekly"
|
|
83
|
+
squads goal set research "Deep dive on Y market segment"
|
|
84
|
+
squads goal set product "Write spec for Z feature"
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### 4. Priorities (what to do this week)
|
|
88
|
+
Create or edit `.agents/memory/{squad}/priorities.md`:
|
|
89
|
+
```
|
|
90
|
+
- Fix issue #123 (blocking users)
|
|
91
|
+
- Research competitor's new feature launch
|
|
92
|
+
- Update roadmap based on last cycle's feedback
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
**Rule**: Goals are aspirational (stable). Priorities are operational (updated frequently). Directives are strategic (updated less frequently).
|
|
96
|
+
|
|
97
|
+
## For Humans
|
|
98
|
+
|
|
99
|
+
Common commands:
|
|
100
|
+
- `squads status` — What's happening now
|
|
101
|
+
- `squads dash` — Full dashboard
|
|
102
|
+
- `squads run research/lead` — Run a specific agent
|
|
103
|
+
- `squads run research --parallel` — Run the full squad
|
|
104
|
+
- `squads memory read <squad>` — What has the squad learned
|
|
105
|
+
- `squads goal list` — Business objectives
|
|
106
|
+
|
|
107
|
+
## For Agents
|
|
108
|
+
|
|
109
|
+
- Read `BUSINESS_BRIEF.md` and `directives.md` before starting work
|
|
110
|
+
- Read your state from `memory/{squad}/{agent}/state.md`
|
|
111
|
+
- Update state after every run
|
|
112
|
+
- Use the `squads-cli` skill for CLI operations
|
|
113
|
+
- Git is the coordination layer — commit everything
|
|
114
|
+
|
|
115
|
+
## Commit Signature
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
119
|
+
```
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# {{BUSINESS_NAME}}
|
|
2
|
+
|
|
3
|
+
{{BUSINESS_DESCRIPTION}}
|
|
4
|
+
|
|
5
|
+
## AI Workforce
|
|
6
|
+
|
|
7
|
+
This project uses [Agents Squads](https://agents-squads.com) — an AI workforce that runs autonomously.
|
|
8
|
+
|
|
9
|
+
### Squads
|
|
10
|
+
|
|
11
|
+
| Squad | Purpose |
|
|
12
|
+
|-------|---------|
|
|
13
|
+
| intelligence/ | Monitors trends and competitive signals |
|
|
14
|
+
| research/ | Researches your market, competitors, and opportunities |
|
|
15
|
+
| product/ | Roadmap, specs, user feedback synthesis |
|
|
16
|
+
| company/ | Manages goals, events, and strategy |
|
|
17
|
+
|
|
18
|
+
### Key Commands
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
# Run a single agent
|
|
22
|
+
squads run research/lead
|
|
23
|
+
|
|
24
|
+
# See all squads and recent activity
|
|
25
|
+
squads dash
|
|
26
|
+
|
|
27
|
+
# Check system status
|
|
28
|
+
squads status
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Setup
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
npm install -g squads-cli
|
|
35
|
+
squads init
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Edit `.agents/BUSINESS_BRIEF.md` to customize agent context.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
*Powered by [Agents Squads](https://agents-squads.com)*
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# System Protocol
|
|
2
|
+
|
|
3
|
+
Immutable rules for all agent executions. Every agent reads this before starting work.
|
|
4
|
+
|
|
5
|
+
## Before You Start
|
|
6
|
+
|
|
7
|
+
Read `.agents/BUSINESS_BRIEF.md`. If it contains "PLACEHOLDER" in the first lines, STOP and tell the user:
|
|
8
|
+
"Edit .agents/BUSINESS_BRIEF.md with your business details before running agents."
|
|
9
|
+
Do not produce generic output from placeholder context.
|
|
10
|
+
|
|
11
|
+
## Git Workflow
|
|
12
|
+
|
|
13
|
+
Commit all changes. Git is the coordination layer — if it's not committed, it didn't happen.
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
git add -A
|
|
17
|
+
git commit -m "{type}({scope}): {description}
|
|
18
|
+
|
|
19
|
+
Co-Authored-By: Claude <noreply@anthropic.com>"
|
|
20
|
+
git push origin main
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### Commit types
|
|
24
|
+
`feat`, `fix`, `docs`, `chore`, `memory`, `refactor`, `test`
|
|
25
|
+
|
|
26
|
+
## Memory Protocol
|
|
27
|
+
|
|
28
|
+
- **Read before acting.** Always check `.agents/memory/{squad}/{agent}/state.md` before starting work.
|
|
29
|
+
- **Write after acting.** Update state.md with what you did, what you learned, and what's next.
|
|
30
|
+
- **Don't repeat work.** If state.md says something was already done, build on it — don't redo it.
|
|
31
|
+
|
|
32
|
+
## Output Rules
|
|
33
|
+
|
|
34
|
+
- Every claim needs a source (URL, document, or data point)
|
|
35
|
+
- "Interesting" is not enough — outputs must be actionable
|
|
36
|
+
- If nothing changed since last run, say so explicitly and stop
|
|
37
|
+
- Quality over quantity — 3 actionable insights beat 20 generic observations
|
|
38
|
+
|
|
39
|
+
## Escalation
|
|
40
|
+
|
|
41
|
+
Escalate to the human operator when:
|
|
42
|
+
- Spend exceeds $50 in a single session
|
|
43
|
+
- Scope is unclear or contradicts business goals
|
|
44
|
+
- A destructive action is needed (deleting data, overwriting work)
|
|
45
|
+
- You're unsure whether to proceed
|
|
46
|
+
|
|
47
|
+
## Coordination
|
|
48
|
+
|
|
49
|
+
- Agents communicate through memory files, not direct messages
|
|
50
|
+
- Squad leads coordinate their agents via state.md and memory writes
|
|
51
|
+
- The company manager coordinates across squads
|
|
52
|
+
- Check `squads status --json` for org-wide awareness
|