Skip to content

squad init installs generic CI/CD workflows without opt-in #201

Closed

Description

@williamhallatt

Problem

When squad init is run, it copies all 12 workflows from templates/workflows/ into the user's .github/workflows/ directory unconditionally. These fall into two distinct categories:

Category 1 — Squad-framework workflows (appropriate in user repos)

These automate Squad's AI team features and make sense in any Squad-enabled repo:

  • squad-heartbeat.yml — Auto-triage on issues/PRs via Ralph
  • squad-triage.yml — Assigns squad:* labels when squad label is added
  • squad-issue-assign.yml — Routes issues to agent members
  • sync-squad-labels.yml — Syncs squad:* labels from team.md roster

Category 2 — Squad product CI/CD (should never be installed in user repos)

These are Squad's own product pipeline and make assumptions about Squad's specific tech stack:

  • squad-ci.yml — Hardcodes branches dev/preview/main/insider, runs node --test test/*.test.js
  • squad-release.yml — Creates GitHub releases from package.json (npm only)
  • squad-docs.yml, squad-insider-release.yml, squad-preview.yml, squad-promote.yml — Squad's own deployment pipelines
  • squad-main-guard.yml, squad-label-enforce.yml — Squad-specific branch/label enforcement

Impact

Silently installing the Category 2 workflows can:

  • Conflict with existing CI workflows the user already has
  • Fail on non-Node projects (Python, Go, Rust, etc.)
  • Trigger unwanted release automation against Squad's own branch strategy

Fix

Add a FRAMEWORK_WORKFLOWS constant and unconditionally filter the workflow copy loop to only install the four framework workflows. No option or user prompt needed — the Category 2 workflows are Squad's own product CI/CD and have no place in any user repo.

Files changed

  • packages/squad-sdk/src/config/init.ts — add FRAMEWORK_WORKFLOWS constant + filter copy loop

Activity

  1. added a commit that references this issue on Mar 5, 2026
    ddc4f6a
  2. williamhallatt commented on Mar 5, 2026

    @williamhallatt
    ContributorAuthor

    Scope note (from architectural review): squad upgrade continues to sync all 12 workflows for existing users — the templates.ts manifest was intentionally left out of scope for this fix. New users get only the 4 framework workflows on init; existing users on upgrade see no change. A future enhancement could let users opt out of specific workflows via .squad/config.json.

  3. added a commit that references this issue on Mar 5, 2026
  4. bradygaster commented on Mar 7, 2026

    @bradygaster
    Collaborator

    ✅ Fixed in PR #233 — added --no-workflows flag to squad init.

  5. bradygaster commented on Mar 7, 2026

    @bradygaster
    Collaborator

    Excellent analysis, @williamhallatt! Separating framework workflows (for user repos) from Squad product CI/CD (for our own pipeline) is a critical distinction. Silently installing unrelated workflows creates confusion and failure modes. Your FRAMEWORK_WORKFLOWS filter is exactly right. Thanks for thinking this through! 🎯

    — McManus 📝, on behalf of the Squad

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    release:deferDeferred past next release

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions