Skip to content

feat: blog migration, team-docs guard, docs site generator (#49, #50, #51)#52

Merged
bradygaster merged 3 commits intodevfrom
squad/issues-49-50-51
Feb 13, 2026
Merged

feat: blog migration, team-docs guard, docs site generator (#49, #50, #51)#52
bradygaster merged 3 commits intodevfrom
squad/issues-49-50-51

Conversation

@bradygaster
Copy link
Copy Markdown
Owner

Summary

Single PR shipping three related issues:

#49 — Blog migration

  • Copied all 11 blog posts from \ eam-docs/blog/\ to \docs/blog/\
  • Renamed date-based file to NNN format (\

- Removed .ai-team/ from .gitignore so team files can be committed on dev/feature branches
- Updated CONTRIBUTING.md to reflect guard workflow as enforcement (not .gitignore)
- Updated guard workflow error message in both live and template copies
- .npmignore still excludes .ai-team/ from the published package
@bradygaster bradygaster merged commit c9d1fb4 into dev Feb 13, 2026
1 check passed
@bradygaster bradygaster deleted the squad/issues-49-50-51 branch February 13, 2026 20:38
bradygaster added a commit that referenced this pull request Feb 13, 2026
* chore: unignore .ai-team/ for dev branches, update contributing guide

- Removed .ai-team/ from .gitignore so team files can be committed on dev/feature branches
- Updated CONTRIBUTING.md to reflect guard workflow as enforcement (not .gitignore)
- Updated guard workflow error message in both live and template copies
- .npmignore still excludes .ai-team/ from the published package

* chore: trim npm package — exclude docs and contributor files (#48)

* chore: unignore .ai-team/ for dev branches, update contributing guide

- Removed .ai-team/ from .gitignore so team files can be committed on dev/feature branches
- Updated CONTRIBUTING.md to reflect guard workflow as enforcement (not .gitignore)
- Updated guard workflow error message in both live and template copies
- .npmignore still excludes .ai-team/ from the published package

* chore: trim npm package — exclude docs, CONTRIBUTING.md, .gitignore

- Removed docs/ from package.json files allowlist (read on GitHub, not runtime)
- Added CONTRIBUTING.md, .gitignore, docs/ to .npmignore (belt-and-suspenders)
- Package: 82 files / 205.7kB -> 30 files / 75.1kB (63% smaller)

---------

Co-authored-by: bradygaster <bradygaster@users.noreply.github.com>

* feat: blog migration, team-docs guard, docs site generator (#49, #50, #51) (#52)

* chore: unignore .ai-team/ for dev branches, update contributing guide

- Removed .ai-team/ from .gitignore so team files can be committed on dev/feature branches
- Updated CONTRIBUTING.md to reflect guard workflow as enforcement (not .gitignore)
- Updated guard workflow error message in both live and template copies
- .npmignore still excludes .ai-team/ from the published package

* feat: blog migration, team-docs guard, docs site generator (#49, #50, #51)

---------

Co-authored-by: bradygaster <bradygaster@users.noreply.github.com>

* fix: add --base path support to docs build for GitHub Pages

Nav links, search index, and logo all used root-relative paths (/index.html)
which 404 on GitHub Pages where the site is served under /squad/.
Added --base CLI flag to build.js and updated workflows to pass --base /squad.
Also added workflow_dispatch trigger for manual re-deploys.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* refactor: extract docs template, CSS, and JS into static files

Moved inline HTML template, CSS, and JS from build.js into separate
files under docs/assets/ (template.html, style.css, script.js).
Build script now reads template and does placeholder replacement.
CSS and JS are linked externally via the existing assets copy step.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: bradygaster <bradygaster@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
bradygaster added a commit that referenced this pull request Feb 13, 2026
* chore: unignore .ai-team/ for dev branches, update contributing guide

- Removed .ai-team/ from .gitignore so team files can be committed on dev/feature branches
- Updated CONTRIBUTING.md to reflect guard workflow as enforcement (not .gitignore)
- Updated guard workflow error message in both live and template copies
- .npmignore still excludes .ai-team/ from the published package

* chore: trim npm package — exclude docs and contributor files (#48)

* chore: unignore .ai-team/ for dev branches, update contributing guide

- Removed .ai-team/ from .gitignore so team files can be committed on dev/feature branches
- Updated CONTRIBUTING.md to reflect guard workflow as enforcement (not .gitignore)
- Updated guard workflow error message in both live and template copies
- .npmignore still excludes .ai-team/ from the published package

* chore: trim npm package — exclude docs, CONTRIBUTING.md, .gitignore

- Removed docs/ from package.json files allowlist (read on GitHub, not runtime)
- Added CONTRIBUTING.md, .gitignore, docs/ to .npmignore (belt-and-suspenders)
- Package: 82 files / 205.7kB -> 30 files / 75.1kB (63% smaller)

---------

Co-authored-by: bradygaster <bradygaster@users.noreply.github.com>

* feat: blog migration, team-docs guard, docs site generator (#49, #50, #51) (#52)

* chore: unignore .ai-team/ for dev branches, update contributing guide

- Removed .ai-team/ from .gitignore so team files can be committed on dev/feature branches
- Updated CONTRIBUTING.md to reflect guard workflow as enforcement (not .gitignore)
- Updated guard workflow error message in both live and template copies
- .npmignore still excludes .ai-team/ from the published package

* feat: blog migration, team-docs guard, docs site generator (#49, #50, #51)

---------

Co-authored-by: bradygaster <bradygaster@users.noreply.github.com>

* fix: add --base path support to docs build for GitHub Pages

Nav links, search index, and logo all used root-relative paths (/index.html)
which 404 on GitHub Pages where the site is served under /squad/.
Added --base CLI flag to build.js and updated workflows to pass --base /squad.
Also added workflow_dispatch trigger for manual re-deploys.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* refactor: extract docs template, CSS, and JS into static files

Moved inline HTML template, CSS, and JS from build.js into separate
files under docs/assets/ (template.html, style.css, script.js).
Build script now reads template and does placeholder replacement.
CSS and JS are linked externally via the existing assets copy step.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* chore: remove stale team-docs/blog from tracking

Blogs already migrated to docs/blog/ — these stale copies predated
the guard workflow update and leaked to main/preview.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: guard workflow should allow removal of forbidden files

The guard was blocking PRs that *delete* team-docs/ or .ai-team/ files
from protected branches. Deletions are exactly what we want — filter
out files with status 'removed' before checking paths.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: bradygaster <bradygaster@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
bradygaster added a commit that referenced this pull request Feb 20, 2026
…#57)

* docs: GitHub Pages site with base path support and static template (#53)

* chore: unignore .ai-team/ for dev branches, update contributing guide

- Removed .ai-team/ from .gitignore so team files can be committed on dev/feature branches
- Updated CONTRIBUTING.md to reflect guard workflow as enforcement (not .gitignore)
- Updated guard workflow error message in both live and template copies
- .npmignore still excludes .ai-team/ from the published package

* chore: trim npm package — exclude docs and contributor files (#48)

* chore: unignore .ai-team/ for dev branches, update contributing guide

- Removed .ai-team/ from .gitignore so team files can be committed on dev/feature branches
- Updated CONTRIBUTING.md to reflect guard workflow as enforcement (not .gitignore)
- Updated guard workflow error message in both live and template copies
- .npmignore still excludes .ai-team/ from the published package

* chore: trim npm package — exclude docs, CONTRIBUTING.md, .gitignore

- Removed docs/ from package.json files allowlist (read on GitHub, not runtime)
- Added CONTRIBUTING.md, .gitignore, docs/ to .npmignore (belt-and-suspenders)
- Package: 82 files / 205.7kB -> 30 files / 75.1kB (63% smaller)

---------

Co-authored-by: bradygaster <bradygaster@users.noreply.github.com>

* feat: blog migration, team-docs guard, docs site generator (#49, #50, #51) (#52)

* chore: unignore .ai-team/ for dev branches, update contributing guide

- Removed .ai-team/ from .gitignore so team files can be committed on dev/feature branches
- Updated CONTRIBUTING.md to reflect guard workflow as enforcement (not .gitignore)
- Updated guard workflow error message in both live and template copies
- .npmignore still excludes .ai-team/ from the published package

* feat: blog migration, team-docs guard, docs site generator (#49, #50, #51)

---------

Co-authored-by: bradygaster <bradygaster@users.noreply.github.com>

* fix: add --base path support to docs build for GitHub Pages

Nav links, search index, and logo all used root-relative paths (/index.html)
which 404 on GitHub Pages where the site is served under /squad/.
Added --base CLI flag to build.js and updated workflows to pass --base /squad.
Also added workflow_dispatch trigger for manual re-deploys.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* refactor: extract docs template, CSS, and JS into static files

Moved inline HTML template, CSS, and JS from build.js into separate
files under docs/assets/ (template.html, style.css, script.js).
Build script now reads template and does placeholder replacement.
CSS and JS are linked externally via the existing assets copy step.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: bradygaster <bradygaster@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* chore: remove stale team-docs/blog + fix guard for removals (#54)

* chore: unignore .ai-team/ for dev branches, update contributing guide

- Removed .ai-team/ from .gitignore so team files can be committed on dev/feature branches
- Updated CONTRIBUTING.md to reflect guard workflow as enforcement (not .gitignore)
- Updated guard workflow error message in both live and template copies
- .npmignore still excludes .ai-team/ from the published package

* chore: trim npm package — exclude docs and contributor files (#48)

* chore: unignore .ai-team/ for dev branches, update contributing guide

- Removed .ai-team/ from .gitignore so team files can be committed on dev/feature branches
- Updated CONTRIBUTING.md to reflect guard workflow as enforcement (not .gitignore)
- Updated guard workflow error message in both live and template copies
- .npmignore still excludes .ai-team/ from the published package

* chore: trim npm package — exclude docs, CONTRIBUTING.md, .gitignore

- Removed docs/ from package.json files allowlist (read on GitHub, not runtime)
- Added CONTRIBUTING.md, .gitignore, docs/ to .npmignore (belt-and-suspenders)
- Package: 82 files / 205.7kB -> 30 files / 75.1kB (63% smaller)

---------

Co-authored-by: bradygaster <bradygaster@users.noreply.github.com>

* feat: blog migration, team-docs guard, docs site generator (#49, #50, #51) (#52)

* chore: unignore .ai-team/ for dev branches, update contributing guide

- Removed .ai-team/ from .gitignore so team files can be committed on dev/feature branches
- Updated CONTRIBUTING.md to reflect guard workflow as enforcement (not .gitignore)
- Updated guard workflow error message in both live and template copies
- .npmignore still excludes .ai-team/ from the published package

* feat: blog migration, team-docs guard, docs site generator (#49, #50, #51)

---------

Co-authored-by: bradygaster <bradygaster@users.noreply.github.com>

* fix: add --base path support to docs build for GitHub Pages

Nav links, search index, and logo all used root-relative paths (/index.html)
which 404 on GitHub Pages where the site is served under /squad/.
Added --base CLI flag to build.js and updated workflows to pass --base /squad.
Also added workflow_dispatch trigger for manual re-deploys.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* refactor: extract docs template, CSS, and JS into static files

Moved inline HTML template, CSS, and JS from build.js into separate
files under docs/assets/ (template.html, style.css, script.js).
Build script now reads template and does placeholder replacement.
CSS and JS are linked externally via the existing assets copy step.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* chore: remove stale team-docs/blog from tracking

Blogs already migrated to docs/blog/ — these stale copies predated
the guard workflow update and leaked to main/preview.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: guard workflow should allow removal of forbidden files

The guard was blocking PRs that *delete* team-docs/ or .ai-team/ files
from protected branches. Deletions are exactly what we want — filter
out files with status 'removed' before checking paths.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: bradygaster <bradygaster@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* feat: add 'squad watch' — Ralph local watchdog for persistent polling

Replace aspirational in-session idle-watch (agent can't self-schedule)
with a mechanically sound approach: 'npx squad watch' runs as a
standalone local process that polls GitHub every N minutes for new
squad work.

Three layers of Ralph:
- In-session: 'Ralph, go' active loop while work exists
- Local watchdog: 'npx squad watch --interval N' for persistent polling
- Cloud heartbeat: squad-heartbeat.yml for fully unattended

Changes:
- index.js: Add 'watch' subcommand with --interval flag (default: 10min)
- squad.agent.md: Replace idle-watch self-scheduling with squad watch ref
- docs/features/ralph.md: Document three-layer architecture

* fix: use correct npx package path for squad watch command

The package is published as @bradygaster/create-squad with bin name
'create-squad', so the correct invocation is:

  npx github:bradygaster/squad watch --interval 10

NOT 'npx squad watch' which would fail to resolve.

Updated all references in squad.agent.md and docs/features/ralph.md
to use the correct 'npx github:bradygaster/squad watch' path,
matching the existing convention used throughout the project
(e.g., help text in index.js line 34).

* fix: correct 'npx squad copilot' to full package path

Caught one more instance of the bare 'npx squad' shorthand that
doesn't resolve. The package bin is 'create-squad' under the
@bradygaster scope, so all npx invocations must use the full
'npx github:bradygaster/squad' path.

This was a pre-existing bug in index.js (upgrade hint message)
spotted while fixing the watch command references.

---------

Co-authored-by: Brady Gaster <41929050+bradygaster@users.noreply.github.com>
Co-authored-by: bradygaster <bradygaster@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
joniba pushed a commit to joniba/squad that referenced this pull request Mar 26, 2026
Install adapted ICM investigator skill at .squad/skills/icm-investigator/SKILL.md
with structured investigation pipeline covering:
- All ICM MCP tools (details, context, impact, similar, mitigation hints)
- Kusto query execution via azure-mcp-kusto (run, don't list)
- Geneva metrics via geneva-mcp-server-query_timeseries
- TSG reading via enghub-search + enghub-fetch (read, don't link)
- Azure diagnostics via applens, resourcehealth, monitor
- Evidence-based RCA with confidence levels and causal chains
- Quality gate: classify, execute queries, read TSGs, assign confidence

Upgrade Aragorn charter with:
- Investigation Workflow section with mandatory 4-stage checklist
- Hard rules: USE tools don't list them, synthesize don't transcribe
- Output quality standards for every investigation report
- Reference to ICM investigator skill as pre-read requirement

Adapted from MDC-AI-Shared ICM Investigator (6 sub-agents, 5+1 stages).

Resolves bradygaster#52

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
bradygaster pushed a commit that referenced this pull request Mar 27, 2026
Concise, scannable guide to the circuit breaker resilience pattern for agents.
Covers state machine transitions, exponential backoff, persistent state,
configuration options, and practical examples for custom agents.

Placement: docs/src/content/docs/guide/building-resilient-agents.md
Navigation updated with new guide entry after building-extensions.
Test assertions updated (EXPECTED_GUIDES).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant