diff --git a/src/frontend/src/content/docs/get-started/ai-coding-agents.mdx b/src/frontend/src/content/docs/get-started/ai-coding-agents.mdx index 4699643f0..b3e201b5f 100644 --- a/src/frontend/src/content/docs/get-started/ai-coding-agents.mdx +++ b/src/frontend/src/content/docs/get-started/ai-coding-agents.mdx @@ -28,7 +28,7 @@ When you create a new Aspire project with `aspire new` or `aspire init`, you're aspire agent init ``` -1. Select the agent guidance locations and options for your environment. Keep Aspire skills selected. Add Playwright CLI for browser checks, or select **Install Aspire MCP server** if the agent needs live data from a running Aspire app. +1. Select the agent guidance locations and options for your environment. Keep Aspire skills selected. Add Playwright CLI for browser checks, add `dotnet-inspect` for .NET API discovery, or select **Install Aspire MCP server** if the agent needs live data from a running Aspire app. For skill descriptions and installation locations, see [Aspire skills](/get-started/aspire-skills/). diff --git a/src/frontend/src/content/docs/get-started/aspire-skills.mdx b/src/frontend/src/content/docs/get-started/aspire-skills.mdx index 562e4fba3..188c3d7cd 100644 --- a/src/frontend/src/content/docs/get-started/aspire-skills.mdx +++ b/src/frontend/src/content/docs/get-started/aspire-skills.mdx @@ -9,7 +9,7 @@ import LearnMore from '@components/LearnMore.astro'; Aspire skills are Markdown instruction bundles for AI coding agents. Each skill lives in a folder with a `SKILL.md` file that describes when the skill applies and what workflow the agent should follow. Skills don't run services or expose application data; they teach the agent how to use Aspire tools correctly. -Aspire ships multiple skills for different parts of the app lifecycle. The exact list can vary by Aspire CLI version and project type, but Aspire skills are organized around workflows such as initialization, orchestration, monitoring, deployment, and AppHost wiring. +Aspire ships multiple skills for different parts of the app lifecycle. The exact list can vary by Aspire CLI version and project type, but Aspire skills are organized around workflows such as initialization, orchestration, monitoring, deployment, and AppHost wiring. The CLI resolves Aspire skills from the bundled catalog and can add CLI-defined companion skills for scenarios such as browser automation and .NET API discovery. To configure AI coding agents end to end, see [Use AI coding @@ -128,8 +128,9 @@ In that command, `-a github-copilot` selects the target agent, `-g` installs glo | `aspire-deployment` | Publishing, deploying, and tearing down Aspire apps | Use AppHost-modeled deployments for targets such as Docker Compose, Kubernetes, Azure, and AWS | | `aspireify` | Completing Aspire initialization in an existing codebase after `aspire init` drops an AppHost skeleton | Scan the repo, propose a resource graph, wire projects and containers into the AppHost, connect resources, configure telemetry when appropriate, and validate the wiring | | `playwright-cli` | Testing running web resources in a browser | Use Playwright CLI for browser automation, including navigation, form interaction, screenshots, and visual checks | +| `dotnet-inspect` | Discovering .NET API surfaces | Query C# project APIs so an agent can use the correct AppHost and library APIs when it changes code | -Use the top-level `aspire` skill when the request is about an Aspire app and the right workflow isn't obvious. Use a workflow-specific skill directly when the task is clear, such as `aspire-orchestration` for local lifecycle work, `aspire-monitoring` for telemetry investigation, `aspire-deployment` for publish and deploy workflows, or `aspireify` for existing-codebase AppHost wiring. Use `playwright-cli` when an agent needs to test or inspect a running frontend. +Use the top-level `aspire` skill when the request is about an Aspire app and the right workflow isn't obvious. Use a workflow-specific skill directly when the task is clear, such as `aspire-orchestration` for local lifecycle work, `aspire-monitoring` for telemetry investigation, `aspire-deployment` for publish and deploy workflows, or `aspireify` for existing-codebase AppHost wiring. Use `playwright-cli` when an agent needs to test or inspect a running frontend, and use `dotnet-inspect` when it needs to discover .NET APIs before changing code. ## Playwright handoff diff --git a/src/frontend/src/content/docs/reference/cli/commands/aspire-agent-init.mdx b/src/frontend/src/content/docs/reference/cli/commands/aspire-agent-init.mdx index 613fbed71..2c4037619 100644 --- a/src/frontend/src/content/docs/reference/cli/commands/aspire-agent-init.mdx +++ b/src/frontend/src/content/docs/reference/cli/commands/aspire-agent-init.mdx @@ -24,11 +24,27 @@ aspire agent init [options] The `aspire agent init` command initializes Aspire skills, companion tools, and MCP (Model Context Protocol) server configuration for your development environment. It presents an interactive multi-step flow to configure AI coding agent support: 1. **Select skill locations** — choose where skill files are installed (Standard `.agents/skills/`, Claude Code `.claude/skills/`, GitHub Skills `.github/skills/`, OpenCode `.opencode/skill/`). The **Standard** location is the only option that defaults as pre-selected. -2. **Select skills and tools** — choose which skills and companion tools to install, such as Aspire skills and Playwright CLI. Aspire workflow skills are selected by default; optional companion tools can be selected explicitly. +2. **Select skills and tools** — choose which Aspire skills and companion tools to install. The catalog comes from the resolved Aspire skills bundle, with CLI-defined tools such as `playwright-cli` and `dotnet-inspect` added by the CLI. Aspire workflow skills are selected by default; optional wiring and companion tools can be selected explicitly. 3. **Apply selections** — installs the chosen skills into each selected location and sets up the MCP server connection. The command also removes skill files from any locations that were deselected, keeping your workspace clean. +### Skills catalog + +The list of available skills is driven by the resolved Aspire skills bundle. The CLI also contributes skills such as `playwright-cli` and `dotnet-inspect`, which are not part of the bundle. CLI-defined skills take precedence when their name matches a bundle skill name. For the current skill list and installation locations, see [Aspire skills](/get-started/aspire-skills/). + +Standalone `aspire agent init` and `aspire new` do not pre-select `aspireify` because they normally run after a project or template already exists. When `aspire init` chains into agent setup, it pre-selects `aspireify` alongside the bundle defaults because `aspire init` adds a new AppHost to an existing repository and `aspireify` is the natural follow-up wiring skill. + +### Bundle resolution and remote fetch + +By default, the CLI resolves the skills bundle from a local cache or the embedded snapshot baked into the CLI build — no network call is made to `github.com/microsoft/aspire-skills`. To enable fetching the latest bundle release from GitHub, opt in with [`aspire config set`](/reference/cli/commands/aspire-config-set/): + +```bash title="Aspire CLI" +aspire config set features:aspireSkillsRemoteFetchEnabled true +``` + +When remote fetch is enabled, resolution follows the order: **versioned cache → GitHub release → embedded snapshot**. When disabled (the default), the order is: **versioned cache → embedded snapshot**. The versioned cache lives under the Aspire home cache directory at `.aspire/cache/aspire-skills/` by default, or `/cache/aspire-skills/` when `ASPIRE_HOME` is set. A successful GitHub fetch or embedded fallback writes the bundle into that cache; later runs reuse it before falling back to GitHub (when enabled) or the embedded snapshot. Stale cache entries for other bundle versions are cleaned up after seven days of inactivity, and [`aspire cache clear`](/reference/cli/commands/aspire-cache-clear/) purges the Aspire CLI caches if you need to force a fresh resolution. + ## Options The following options are available: @@ -43,7 +59,7 @@ The following options are available: - **`--skills `** - Comma-separated list of skills to enable, such as `aspire`, `aspire-init`, `aspire-orchestration`, `aspire-monitoring`, `aspire-deployment`, `aspireify`, or `playwright-cli`. The available list can vary by Aspire CLI version and project type. Use `all` to enable all available skills or `none` to skip skill installation. When not specified, the command prompts interactively. + Comma-separated list of skills to enable. Use names from the resolved Aspire skills catalog, including bundle-provided skills and CLI-defined skills such as `playwright-cli` and `dotnet-inspect`. The available list can vary by Aspire CLI version and project type. Use `all` to enable all available skills or `none` to skip skill installation. When not specified, the command prompts interactively. - @@ -77,6 +93,19 @@ The following options are available: aspire agent init --workspace-root ./src ``` +- Install specific bundle skills non-interactively: + + ```bash title="Aspire CLI" + aspire agent init --skills aspire,aspire-deployment,aspire-monitoring,aspire-orchestration --skill-locations standard + ``` + +- Enable remote bundle fetching so the CLI picks up the latest skills release from GitHub: + + ```bash title="Aspire CLI" + aspire config set features:aspireSkillsRemoteFetchEnabled true + aspire agent init + ``` + ## See also - [aspire agent command](../aspire-agent/)