-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsquad.config.ts
More file actions
88 lines (86 loc) · 3.01 KB
/
Copy pathsquad.config.ts
File metadata and controls
88 lines (86 loc) · 3.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
import {
defineAgent,
defineRouting,
defineSquad,
defineTeam,
} from "@bradygaster/squad-sdk";
const modelTiers = {
expert: "claude-opus-4.8",
proficient: "claude-sonnet-4.6",
basic: "claude-haiku-4.5",
} as const;
export default defineSquad({
modelTiers,
team: defineTeam({
name: "agentweaver-core",
description:
"Squad for the agentweaver-core team, single-agent file-editing vertical slice (specs/001-single-agent-run).",
}),
agents: [
defineAgent({
name: "backend-engineer",
role: "Owns ASP.NET Core 10 backend API, run lifecycle, and streaming contracts",
model: modelTiers.expert,
status: "active",
capabilities: [
{ name: "aspnetcore-api", level: "expert" },
{ name: "sse-streaming", level: "expert" },
{ name: "sqlite-persistence", level: "proficient" },
],
}),
defineAgent({
name: "frontend-engineer",
role: "Builds Web and CLI thin clients over backend APIs",
model: modelTiers.expert,
status: "active",
capabilities: [
{ name: "react-19-fluent2", level: "expert" },
{ name: "spectre-console-tui", level: "expert" },
{ name: "api-client-integration", level: "expert" },
],
}),
defineAgent({
name: "runtime-engineer",
role: "Implements Microsoft Agent Framework loop and sandboxed tools",
model: modelTiers.expert,
status: "active",
capabilities: [
{ name: "microsoft-agent-framework", level: "expert" },
{ name: "sandbox-path-security", level: "expert" },
{ name: "provider-adapters", level: "proficient" },
],
}),
defineAgent({
name: "qa-engineer",
role: "Owns unit/integration/e2e and contract quality validation",
model: modelTiers.proficient,
status: "active",
capabilities: [
{ name: "vitest", level: "expert" },
{ name: "playwright", level: "proficient" },
{ name: "contract-testing", level: "proficient" },
],
}),
defineAgent({
name: "platform-engineer",
role: "Maintains CI/CD, environment parity, and monorepo reliability",
model: modelTiers.proficient,
status: "active",
capabilities: [
{ name: "github-actions", level: "proficient" },
{ name: "dotnet-platform", level: "proficient" },
{ name: "developer-experience", level: "proficient" },
],
}),
],
routing: defineRouting({
rules: [
{ pattern: /\bapi|endpoint|aspnetcore|route|sse|stream\b/i, agent: "backend-engineer" },
{ pattern: /\breact|fluent|component|web|frontend|ui\b/i, agent: "frontend-engineer" },
{ pattern: /\bink|cli|terminal|tui\b/i, agent: "frontend-engineer" },
{ pattern: /\bagent framework|loop|orchestr|tool call|sandbox|worktree\b/i, agent: "runtime-engineer" },
{ pattern: /\btest|vitest|playwright|coverage|contract|qa\b/i, agent: "qa-engineer" },
{ pattern: /\bci|cd|workflow|pipeline|container|dotnet|platform\b/i, agent: "platform-engineer" },
],
}),
});