# SquadResource Properties

- Package: [CommunityToolkit.Aspire.Hosting.Squad](/reference/api/csharp/communitytoolkit.aspire.hosting.squad.md)
- Type: [SquadResource](/reference/api/csharp/communitytoolkit.aspire.hosting.squad/squadresource.md)
- Kind: `Properties`
- Members: `3`

Represents a Squad AI-agent team as a first-class Aspire resource. Implements `ApplicationModel.IResourceWithConnectionString` so that downstream services can reference the team with `.WithReference(squad)` and receive a custom `squad://` descriptor that encodes the resource name, team root, and agent roster. The resource is a logical Aspire resource; it does not start a listener by itself.

<a id="agents"></a>

## Agents

- Name: `Agents`
- Modifiers: `get`
- Returns: `IReadOnlyList<string>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d479e13473b1d29d06b974f144a0049289a3cb5c/src/CommunityToolkit.Aspire.Hosting.Squad/SquadResource.cs#L32)

Gets the list of agent names discovered from `.squad/team.md`.

```csharp
public IReadOnlyList<string> Agents { get; }
```

<a id="connectionstringexpression"></a>

## ConnectionStringExpression

- Name: `ConnectionStringExpression`
- Modifiers: `get`
- Returns: `ReferenceExpression`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d479e13473b1d29d06b974f144a0049289a3cb5c/src/CommunityToolkit.Aspire.Hosting.Squad/SquadResource.cs#L39-L40)

Describes the connection string format string used for this resource.

```csharp
public ReferenceExpression ConnectionStringExpression { get; }
```

## Remarks

Format: `squad://resource/{resourceName}?teamRoot={path}&agents={csv}&protocol=maf-1.0`

<a id="teamroot"></a>

## TeamRoot

- Name: `TeamRoot`
- Modifiers: `get`
- Returns: `string`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d479e13473b1d29d06b974f144a0049289a3cb5c/src/CommunityToolkit.Aspire.Hosting.Squad/SquadResource.cs#L29)

Gets the absolute path to the directory that contains the `.squad/` folder (i.e., the workspace root, not the `.squad/` sub-directory itself).

```csharp
public string TeamRoot { get; }
```
