Repository navigation
Closed
Labels
feedbackUser feedback — high signal, needs attentionUser feedback — high signal, needs attentionrelease:v0.5.0Targeted for v0.5.0Targeted for v0.5.0type:featureNew capabilityNew capability
Milestone
Description
The Nasty Thought
We named the team state directory .ai-team/ but we should have called it .squad/. It's our product name, it's shorter, and it's immediately clear what tool owns it.
Scope of Change
This is a breaking rename affecting ~745 occurrences across ~123 files in the source repo alone — plus every customer repo that has run squad init.
What references .ai-team/:
squad.agent.md— the coordinator prompt (paths in every spawn template, every file operation)index.js— CLI creates/manages the directory- 6 GitHub Actions workflows (guard, triage, issue-assign, heartbeat, preview, sync-labels)
- 9 template files
- 27 docs files
- 2 test files
.gitignore,.gitattributes,.npmignore- Every existing customer repo
Migration Strategy
Phase 1: Dual-path support (v0.5.0)
- CLI checks for
.squad/first, falls back to.ai-team/ squad upgradegains--migrate-directoryflag that:git mv .ai-team/ .squad/- Updates
.gitattributesmerge drivers - Updates
.gitignoreentries - Commits the rename
squad initcreates.squad/for new projectssquad.agent.mdupdated to resolve either path (team root detection)- Workflows detect both paths
- Deprecation warning when
.ai-team/is detected: "⚠.ai-team/is deprecated. Runsquad upgrade --migrate-directoryto rename to.squad/."
Phase 2: Remove legacy support (v1.0.0)
- Drop
.ai-team/fallback - CLI errors if
.ai-team/exists without.squad/ - Clean removal of all dual-path logic
Why .squad/?
- Branded — immediately identifies the tool
- Shorter — 6 chars vs 8
- Conventional — follows patterns like
.github/,.vscode/,.husky/ - No ambiguity —
.ai-teamcould be any AI tool;.squadis ours
Acceptance Criteria
-
squad initcreates.squad/for new projects -
squad upgrade --migrate-directoryrenames.ai-team/to.squad/ - CLI resolves either directory (backward compat in v0.5.0)
-
squad.agent.mdteam root detection checks both paths - All workflows handle both paths during transition
- Deprecation warning shown when
.ai-team/detected - All source repo references updated (agent.md, templates, docs, tests, CI)
- Migration tested on a repo with existing
.ai-team/state -
.ai-team-templates/also renamed to.squad-templates/(or merged into.squad/templates/)
Metadata
Metadata
Assignees
Labels
feedbackUser feedback — high signal, needs attentionUser feedback — high signal, needs attentionrelease:v0.5.0Targeted for v0.5.0Targeted for v0.5.0type:featureNew capabilityNew capability
Activity
bradygaster commentedon Feb 15, 2026
This is me personally speaking to all Squad team members and users - I'm so glad you're enjoying Squad, but this is a change we need to make now, while growth is still in its infancy, to make sure our files are obvious from now on.
ai-teamis so bland and generic. I'm shocked no one caught it earlier. We need to make sure it is obvious where "OUR" files are in users' repositories. We'll try to implement this in such a way that it impacts only new users, but this may be the first of what-I-hope-is-less-than-2-forever breaking changes we ever ship in Squad.This change will come prior to 1.0. I'm going to try to get this into 0.5.0, but if I try it myself on a few existing projects and things hit the oscillator, I'll come up with a one-time workaround.
Sorry in advance if it comes to that!
docs(ai-team): agent history updates and decision inbox entries
spboyer commentedon Feb 16, 2026
Can we have a migration script included in the move to this version
bradygaster commentedon Feb 16, 2026
Migration Plan for v0.5.0: .ai-team/ → .squad/
We've designed a migration strategy that balances automatic upgrade with user control. Before we implement this, we want your feedback. Does this approach work for your workflows? Any edge cases we're missing?
Three Migration Paths (All Scripted)
1. Auto-Migrate (Default)
When you run any Squad command after upgrading to v0.5.0, migration happens automatically:
What happens:
2. Defer Auto-Migrate (Scripted Workaround)
If you want control over timing:
3. Rollback (Safety Valve)
Changed your mind? Rollback is one command:
Key Points
✅ Automatic by default - Zero friction for 95% of users
✅ Fully scripted workaround - Defer with env var, migrate when ready
✅ Safe - Auto-backup, pre-flight checks, rollback available
✅ No dual-path maintenance - v0.5.0 only reads .squad/
✅ Forward-only - Users upgrade linearly (v0.4.1 → v0.5.0)
Timeline
What We Need From You
Would this migration approach work for your workflow?
Feedback welcome here or in Discussions. We want to get this right before we start coding.
bradygaster commentedon Feb 16, 2026
Note - these dates aren't accurate. We'll have it out by EOW.
feat: dual-path support for .squad/ and .ai-team/ directories
Merge feature/dual-path-squad-support into develop
bradygaster commentedon Feb 18, 2026
Updated Scope: Single .squad/ Folder
Brady directive (Feb 18): Everything goes inside
.squad/— no separate templates directory.Impact on your audit:
.ai-team-templates/→.squad/templates/(nested inside .squad/)Your 3-PR plan still works:
Migration logic addition:
.squad/templates/subdirectory structure.squad/templates/first, fall back to.ai-team-templates/Full directive captured in
.ai-team/decisions/inbox/copilot-directive-single-squad-folder.mdbradygaster commentedon Feb 20, 2026
v0.5.0 Consolidation Directive — Clarified
From: Today's session with Brady, Keaton, Fenster
This comment clarifies the consolidation scope for the .ai-team/ → .squad/ migration in v0.5.0.
Brady's Directive (Consolidated)
In v0.5.0, consolidate everything under .squad/ except:
Rationale: Eliminate the naming sprawl. One branded folder (.squad/) for all team artifacts; npx-critical files stay at root.
Directory Migration Plan
.ai-team/ → .squad/
.ai-team-templates/ → .squad/templates/ (merged under .squad)
templates/ → templates/ (stays at root)
Guard Workflow Policy
Block .squad/ entirely from protected branches** (main/preview/insider).
Why simple, no carve-outs:
Guard workflow updated Feb 20 to also block docs/proposals/ (internal design work).
Affected Scopes
Branch Content Policy (Formalized Feb 20)
✅ ALLOWED on main/preview/insider: index.js, package.json, templates/, .github/, docs/ (except proposals), test/
❌ FORBIDDEN on main/preview/insider: .squad/, .ai-team/, .ai-team-templates/, team-docs/, docs/proposals/
See .ai-team/decisions/inbox/copilot-branch-content-policy.md for full policy.
Status: Epic updated with consolidated directive from today's session.
docs(ai-team): session log, orchestration entries, decision merge
bradygaster commentedon Feb 20, 2026
Scope Update: Identity Layer added to v0.5.0
Per Brady's directive (2026-02-20):
wisdom.mdandnow.mdare now part of v0.5.0 instead of deferred to v0.6.0. Rationale: we're already touching every path during the rename — adding two files under.squad/identity/is near-zero marginal effort.New sub-issue: #107 — Add identity layer (wisdom.md + now.md) to .squad/ structure
Updated sub-issue list:
docs(ai-team): Capture identity layer scope change to v0.5.0
bradygaster commentedon Feb 20, 2026
Privacy: Email scrub added to migration scope
New sub-issue: #108 — Scrub email addresses from .squad/ files during migration
The
squad upgrade --migrate-directorytool must also scrub user email addresses that were written to .ai-team/ files by earlier versions. This is now part of the auto-migration checklist.Updated sub-issue list:
bradygaster commentedon Feb 20, 2026
Complete. .ai-team/ → .squad/ migration shipped via PRs #109–#113: CLI dual-path (#111), workflow dual-path (#109), .ai-team-templates/ move (#112), docs/test updates (#113), email scrubbing (#110). Backward-compatible migration via 'squad upgrade'.
Merge pull request github#69 from jbenami_microsoft/squad/64-watchdog…