Skip to content

Community contribution: Squad.Agents.AI - .NET adapter for Microsoft Agent Framework #1205

Closed

Description

@tamirdresher

What

Squad.Agents.AI is a .NET library that wraps the Squad CLI as a Microsoft.Agents.AI.AIAgent, so .NET apps using the Microsoft Agent Framework (MAF) can use Squad agents alongside other AI participants — workflows, Semantic Kernel chains, or other MAF agents — without shelling out or reimplementing the CLI protocol.

I'd like to contribute this as a community package. The work is done and I'm looking for your signal on whether you'd accept it upstream.

Why this matters

In #1144 I described the gap: when Squad is embedded in a host process (no REPL), the integration surface is manual. This adapter closes that gap for .NET consumers. It handles CLI lifecycle, streaming, session management, and keyed DI registration so the host just calls agent.RunAsync(activity, turnState) and gets structured responses.

What's in the PR

  • Squad.Agents.AI NuGet package targeting .NET 8 and .NET 9
  • 43 tests, CI green on both ubuntu and windows
  • DI registration shapes: default services.AddSquadAgent(opts => ...), named via services.AddSquadAgent("agent-name", opts => ...) (binds to ConnectionStrings:squad-{name}), and Microsoft.Extensions.DependencyInjection keyed services via services.AddKeyedSquadAgent("key", opts => ...)
  • BYOK support via ConfigureCopilotClient delegate
  • Streaming via IAsyncEnumerable<StreamingActivity>
  • Sample app + README with quickstart

What's NOT included (deferred)

The question

Are you open to accepting this as a community contribution? If yes, I'll open a cross-fork PR targeting dev with Closes #N per CONTRIBUTING.md.

On placement: I want to flag that this is a .NET package in a JS-first monorepo. Two paths I see:

  1. In-repo under src/Squad.Agents.AI/ — discoverable, single repo for all Squad code. The .NET CI workflow is isolated and only triggers on that path.
  2. Companion repo (e.g. Squad.Agents.AI) — keeps the npm monorepo clean, lets the .NET package version independently.

I'm fine with either. If you have a preference or a third option, happy to adapt.

Related

Activity

  1. tamirdresher commented on Jun 2, 2026

    @tamirdresher
    CollaboratorAuthor

    Companion PR opened — see linked PR above. Happy to adapt structure or placement based on your preference.

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