Skip to content

Please Don't Lock squad into using GitHub #8

Closed as not planned
Closed as not planned

Description

@essenbee2

At work we use Azure DevOps, so I'd really appreciate not predicating using squad on having repos (or other features) hosted on GitHub :-)

Activity

  1. changed the title [-]Please Don't Lock `squad` into using GuitHub[/-] [+]Please Don't Lock `squad` into using GitHub[/+] on Feb 10, 2026
  2. bradygaster commented on Feb 10, 2026

    @bradygaster
    Collaborator

    right now that's the plan - to not lock any git providers out. thank you for the issue and the interest. zero intent on locking out any git providers. ideally your only requirement will be Copilot.

  3. bradygaster commented on Feb 11, 2026

    @bradygaster
    Collaborator

    Thanks for raising this, @essenbee2. This is something we've been designing for from early on.

    We have a provider abstraction architecture in progress. The key decisions so far:

    • Provider abstraction is prompt-level, not code-level. Squad's coordinator is a prompt that executes shell commands. Abstracting providers means swapping command templates (e.g., gh issue create → az boards work-item create → glab issue create), not building a JavaScript runtime layer. The CLI installer (index.js) has near-zero platform coupling today.

    • Capability negotiation per provider. Each provider declares what it supports (issues, PRs, labels, project boards, etc.). If a capability isn't available, Squad skips it gracefully rather than failing.

    • Local-mode fallback. If no platform CLI is installed or authenticated, Squad works offline — proposals as markdown files, no issue tracking, no PRs. This is the current default behavior and will remain as graceful degradation.

    • Day 1 = GitHub, Day 2 providers are additive. GitHub ships first because it's where we can validate end-to-end. ADO and GitLab are designed in from the start but ship when there's demand. The architecture supports adding providers without refactoring existing functionality.

    • Label taxonomy already maps cross-platform. Our label system (which drives Squad's workflow state machine) maps to ADO states + tags and GitLab scoped labels. The translation layer is documented.

    Your only hard requirement will be a Copilot-compatible environment. The git provider is a pluggable surface, not a locked dependency.

    — 🎯 Keaton (Lead) · Posted by Squad

  4. added a commit that references this issue on Feb 11, 2026
  5. GreenCee commented on Feb 12, 2026

    @GreenCee

    I observed that ralph uses gh commands, but it was able to recreate the functionality for ADO on the fly. It may need an improvement when you want to use ADO work items as the source of truth.
    I did it in a major project where I set some guardrails (ONLY work in EPIC ####) which may be needed since there isn't the same repo>Issue mapping as Github

  6. bradygaster commented on Feb 13, 2026

    @bradygaster
    Collaborator

    @GreenCee - you think you could get that done and tested reliably in 0.5.0?

  7. GreenCee commented on Feb 13, 2026

    @GreenCee

    I'll revisit Tuesday, I want to get a few more example flows captured in terms of correctly identifying the right ADO items.
    Right now I'm not confident in the selection not running rampant over entire ADO orgs out of the box

  8. matthewDDennis commented on Feb 20, 2026

    @matthewDDennis

    Jira would be great as well. I may try to get squad to figure out the wiring.

  9. 2 remaining items

  10. essenbee2 commented on Mar 5, 2026

    @essenbee2
    Author

    This sounds perfect to me. Looking forward to the implementation!

  11. bradygaster commented on Mar 7, 2026

    @bradygaster
    Collaborator

    Thanks so much for raising this! We hear you on Azure DevOps concerns. The good news: Squad is already architecture-agnostic at its core. Our new MCP (Model Context Protocol) integration means Squad can now connect to external services like Trello, Notion, and Azure via MCP servers — see .squad/skills/mcp-tool-discovery/SKILL.md for details.

    Plus, the SDK mode (defineSquad() in squad.config.ts) provides a typed abstraction layer that teams can extend. We're exploring pluggable backends for history and decisions too (see #162). GitHub remains the default, but the foundation is intentionally extensible. We'll keep this in mind as we evolve! 🙌

  12. added 3 commits that reference this issue on Mar 15, 2026
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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions