Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .changeset/plugin-extensibility-context.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
"@bradygaster/squad-cli": patch
"@bradygaster/squad-sdk": patch
---

feat: add declarative plugin behavior context proof

Adds static plugin metadata, lifecycle state, runtime context injection,
declarative provider contracts, and behavior simulations for Graphify,
MemPalace, and Index Server plugin samples. Enabled plugins can now contribute
installed static guidance and typed memory/knowledge provider summaries to
spawned-agent prompts while preserving the no-execution security boundary.
4 changes: 2 additions & 2 deletions .github/agents/squad.agent.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@ name: Squad
description: "Your AI team. Describe what you're building, get a team of specialists that live in your repo."
---

<!-- version: 0.9.1 -->
<!-- version: 0.0.0-source -->

You are **Squad (Coordinator)** — the orchestrator for this project's AI team.

### Coordinator Identity

- **Name:** Squad (Coordinator)
- **Version:** 0.9.1 (see HTML comment above — this value is stamped during install/upgrade). Include it as `Squad v0.9.1` in your first response of each session (e.g., in the acknowledgment or greeting).
- **Version:** 0.0.0-source (see HTML comment above — this value is stamped during install/upgrade). Include it as `Squad v{version}` in your first response of each session (e.g., in the acknowledgment or greeting).
- **Role:** Agent orchestration, handoff enforcement, reviewer gating
- **Inputs:** User request, repository state, `.squad/decisions.md`
- **Outputs owned:** Final assembled artifacts, orchestration log (via Scribe)
Expand Down
90 changes: 46 additions & 44 deletions cspell.json
Original file line number Diff line number Diff line change
@@ -1,44 +1,46 @@
{
"version": "0.2",
"language": "en",
"files": ["docs/src/content/**/*.md", "README.md"],
"ignorePaths": ["node_modules", "docs/dist", "*.json", "*.ts", "*.js", ".squad"],
"words": [
"squad", "bradygaster", "astro", "pagefind", "starlight",
"copilot", "subagent", "subagents", "MCP", "REPL", "CLI", "DevRel",
"monorepo", "codespace", "codespaces", "worktree", "worktrees", "frontmatter",
"ralph", "scribe", "pao", "fido", "eecom", "capcom",
"retro", "inco", "guido", "booster", "gnc", "dsky", "vox",
"sims", "telemetry", "handbook",
"WIQL", "webhook", "webhooks", "dedup", "deduplicate",
"triage", "triaging", "untriaged", "kanban", "lifecycle",
"PRD", "SDK", "ADO", "CUDA", "RBAC", "RAAS", "OAuth", "JWT",
"Aspire", "Bicep", "Terraform", "Kubernetes",
"orchestrator", "orchestration", "runSubagent",
"Kujan", "kobayashi", "Kobayashi", "squadify",
"amolchanov", "Shayne", "spboyer", "mcmanus", "csharpfritz",
"anthropics", "dnoriegagoodwin", "unconfigured", "upgraders",
"Tamir", "Dresher", "Tetris", "tamirdresher", "tetris",
"Riker", "riker", "Troi", "Geordi", "Worf",
"recompiles", "edie", "Edie", "myorg", "myproject", "myrepo",
"WDATP", "wiisaacs", "Trejo", "Drucker", "dfberry", "diberry",
"unstarted", "ZUAER", "glab", "mlops", "Baer",
"devtunnel", "Devtunnel", "mysecret", "pyproject",
"Emmitt", "jsturtevant", "Sturtevant", "aadnesd", "Sardo",
"digitaldrummerj", "danielscholl", "llms", "dkirby", "lbouriez",
"vanartsdalen", "Artsdalen", "craigb", "tomasherceg", "Tomáš", "Herceg",
"uvirk", "Uday", "Eirik", "Haughom", "tihomir", "Tihomir",
"fboucher", "Pruthviraj", "cobey", "wbreza", "Breza",
"jbruce", "frankhaugen", "Haugen", "chrislomonico",
"johnwc", "swnger", "sturlath", "Fredo",
"Pomodoro", "pomodoro", "WASD", "Blazor", "narratively",
"MSMQ", "permadeath", "Permadeath", "CRDT", "httpx",
"Pydantic", "sdkgen", "ttft", "Strausz", "mycompany",
"slugified", "simplejwt", "pytest", "Luca", "Clemenza",
"Tessio", "Triaging", "Futurama", "mklink", "mktree", "slnx", "jqlang",
"benleane", "TELMU", "Automator", "kedacore",
"DEVBOX", "myaccount"
],
"dictionaries": ["en_US", "typescript", "node", "npm", "bash"],
"allowCompoundWords": true
}
{
"version": "0.2",
"language": "en",
"files": ["docs/src/content/**/*.md", "README.md"],
"ignorePaths": ["node_modules", "docs/dist", "*.json", "*.ts", "*.js", ".squad"],
"words": [
"squad", "bradygaster", "astro", "pagefind", "starlight",
"copilot", "subagent", "subagents", "MCP", "REPL", "CLI", "DevRel",
"monorepo", "codespace", "codespaces", "worktree", "worktrees", "frontmatter",
"ralph", "scribe", "pao", "fido", "eecom", "capcom",
"retro", "inco", "guido", "booster", "gnc", "dsky", "vox",
"sims", "telemetry", "handbook",
"WIQL", "webhook", "webhooks", "dedup", "deduplicate",
"triage", "triaging", "untriaged", "kanban", "lifecycle",
"PRD", "SDK", "ADO", "CUDA", "RBAC", "RAAS", "OAuth", "JWT",
"Aspire", "Bicep", "Terraform", "Kubernetes",
"orchestrator", "orchestration", "runSubagent",
"Kujan", "kobayashi", "Kobayashi", "squadify",
"amolchanov", "Shayne", "spboyer", "mcmanus", "csharpfritz",
"anthropics", "dnoriegagoodwin", "unconfigured", "upgraders",
"Tamir", "Dresher", "Tetris", "tamirdresher", "tetris",
"Riker", "riker", "Troi", "Geordi", "Worf",
"recompiles", "edie", "Edie", "myorg", "myproject", "myrepo",
"WDATP", "wiisaacs", "Trejo", "Drucker", "dfberry", "diberry",
"unstarted", "ZUAER", "glab", "mlops", "Baer",
"devtunnel", "Devtunnel", "mysecret", "pyproject", "pypi",
"Emmitt", "jsturtevant", "Sturtevant", "aadnesd", "Sardo",
"digitaldrummerj", "danielscholl", "llms", "dkirby", "lbouriez",
"vanartsdalen", "Artsdalen", "craigb", "tomasherceg", "Tomáš", "Herceg",
"uvirk", "Uday", "Eirik", "Haughom", "tihomir", "Tihomir",
"fboucher", "Pruthviraj", "cobey", "wbreza", "Breza",
"jbruce", "frankhaugen", "Haugen", "chrislomonico",
"johnwc", "swnger", "sturlath", "Fredo",
"Pomodoro", "pomodoro", "WASD", "Blazor", "narratively",
"MSMQ", "permadeath", "Permadeath", "CRDT", "httpx",
"Pydantic", "sdkgen", "ttft", "Strausz", "mycompany",
"slugified", "simplejwt", "pytest", "Luca", "Clemenza",
"Tessio", "Triaging", "Futurama", "mklink", "mktree", "slnx", "jqlang",
"benleane", "TELMU", "Automator", "kedacore",
"DEVBOX", "myaccount", "graphify", "Graphify", "graphifyy", "safishamsi", "jagilber",
"benchmarkfn", "filterissuesbystream", "filterissuesbyworkstream", "Recognised", "recognised",
"squadified", "TOCTOU", "unflushed", "unparseable", "pluggability"
],
"dictionaries": ["en_US", "typescript", "node", "npm", "bash"],
"allowCompoundWords": true
}
Loading
Loading