From 9366c9b31f5d10ba27facd3c2c7cdd4b9d7cc465 Mon Sep 17 00:00:00 2001 From: Adam Ratzman Date: Wed, 6 May 2026 16:17:41 -0400 Subject: [PATCH 1/7] Document AppHost path config guardrails Clarify that appHost.path is a local project-scoped setting, global AppHost paths are ignored, and legacy appHostPath cannot be set with aspire config set. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../cli/commands/aspire-config-set.mdx | 1 + .../docs/reference/cli/configuration.mdx | 27 ++++++++++++++++++- .../cli/includes/config-file-description.md | 2 ++ .../cli/includes/config-settings-table.md | 26 +++++++++--------- 4 files changed, 42 insertions(+), 14 deletions(-) diff --git a/src/frontend/src/content/docs/reference/cli/commands/aspire-config-set.mdx b/src/frontend/src/content/docs/reference/cli/commands/aspire-config-set.mdx index 9f8daa232..576eae360 100644 --- a/src/frontend/src/content/docs/reference/cli/commands/aspire-config-set.mdx +++ b/src/frontend/src/content/docs/reference/cli/commands/aspire-config-set.mdx @@ -51,6 +51,7 @@ The following options are available: Set the configuration value in user-scoped global Aspire configuration instead of the rooted `aspire.config.json` file. + Project-specific values such as `appHost.path` can't be set globally. - diff --git a/src/frontend/src/content/docs/reference/cli/configuration.mdx b/src/frontend/src/content/docs/reference/cli/configuration.mdx index 538515ae2..6c73e9e77 100644 --- a/src/frontend/src/content/docs/reference/cli/configuration.mdx +++ b/src/frontend/src/content/docs/reference/cli/configuration.mdx @@ -107,6 +107,31 @@ can configure. +### Configure the AppHost path + +Use `appHost.path` to set the default AppHost project for the current +configuration root: + +```bash title="Set the local AppHost path" +aspire config set appHost.path ./AppHost/AppHost.csproj +``` + +The CLI writes this value to the local `aspire.config.json` file: + +```json title="aspire.config.json" +{ + "appHost": { + "path": "./AppHost/AppHost.csproj" + } +} +``` + +The AppHost path is project-specific and can't be configured globally. If a +global settings file contains `appHost.path` or the legacy `appHostPath` key, the +CLI ignores that value and warns that AppHost paths must be configured locally. +The legacy `appHostPath` key is also blocked by `aspire config set`; use +`appHost.path` instead. + :::tip Some feature flags shown by `aspire config list --all` may correspond to preview, migration, or hidden functionality. Treat the output of your @@ -156,7 +181,7 @@ CLI supports. installed CLI can configure. - Use `aspire config get ` to inspect a specific setting such as - `channel` or `appHostPath`. + `channel` or `appHost.path`. - Use `aspire config set ` to update a setting, and `aspire config set --global ...` when you want a user-scoped default. diff --git a/src/frontend/src/content/docs/reference/cli/includes/config-file-description.md b/src/frontend/src/content/docs/reference/cli/includes/config-file-description.md index 0efa6cc61..f5177a82a 100644 --- a/src/frontend/src/content/docs/reference/cli/includes/config-file-description.md +++ b/src/frontend/src/content/docs/reference/cli/includes/config-file-description.md @@ -15,3 +15,5 @@ defaults. User-scoped defaults can be set with `aspire config set --global ...`. Project-scoped settings override global values when both are present. + Project-specific values such as `appHost.path` must be configured locally in + `aspire.config.json`. diff --git a/src/frontend/src/content/docs/reference/cli/includes/config-settings-table.md b/src/frontend/src/content/docs/reference/cli/includes/config-settings-table.md index f5750b7c9..062bd14de 100644 --- a/src/frontend/src/content/docs/reference/cli/includes/config-settings-table.md +++ b/src/frontend/src/content/docs/reference/cli/includes/config-settings-table.md @@ -2,16 +2,16 @@ title: Config Settings Table --- -| Logical key | Stored in `aspire.config.json` as | Description | -| -------------------------------------- | -------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | -| `appHostPath` | `appHost.path` | Path to the default AppHost project for the rooted configuration. | -| `channel` | `channel` | Default Aspire channel used by channel-aware commands such as `aspire new`, `aspire init`, and `aspire update`. | -| `features.defaultWatchEnabled` | `features.defaultWatchEnabled` | Enable or disable watch mode by default when running Aspire applications for automatic restarts on file changes. | -| `features.execCommandEnabled` | `features.execCommandEnabled` | Enable or disable the legacy `aspire exec` command for executing commands inside running resources. | -| `features.experimentalPolyglot:go` | `features.experimentalPolyglot:go` | Enable or disable experimental Go language support for polyglot Aspire applications. | -| `features.experimentalPolyglot:java` | `features.experimentalPolyglot:java` | Enable or disable experimental Java language support for polyglot Aspire applications. | -| `features.experimentalPolyglot:python` | `features.experimentalPolyglot:python` | Enable or disable experimental Python language support for polyglot Aspire applications. | -| `features.experimentalPolyglot:rust` | `features.experimentalPolyglot:rust` | Enable or disable experimental Rust language support for polyglot Aspire applications. | -| `features.showAllTemplates` | `features.showAllTemplates` | Show all available templates, including experimental ones, in `aspire new` and `aspire init`. | -| `features.showDeprecatedPackages` | `features.showDeprecatedPackages` | Show or hide deprecated packages in `aspire add` search results. | -| `features.updateNotificationsEnabled` | `features.updateNotificationsEnabled` | Enable or disable Aspire CLI update notifications. | +| Logical key | Stored in `aspire.config.json` as | Description | +| -------------------------------------- | -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | +| `appHost.path` | `appHost.path` | Project-scoped path to the default AppHost project. This setting must be configured in the local `aspire.config.json` file. | +| `channel` | `channel` | Default Aspire channel used by channel-aware commands such as `aspire new`, `aspire init`, and `aspire update`. | +| `features.defaultWatchEnabled` | `features.defaultWatchEnabled` | Enable or disable watch mode by default when running Aspire applications for automatic restarts on file changes. | +| `features.execCommandEnabled` | `features.execCommandEnabled` | Enable or disable the legacy `aspire exec` command for executing commands inside running resources. | +| `features.experimentalPolyglot:go` | `features.experimentalPolyglot:go` | Enable or disable experimental Go language support for polyglot Aspire applications. | +| `features.experimentalPolyglot:java` | `features.experimentalPolyglot:java` | Enable or disable experimental Java language support for polyglot Aspire applications. | +| `features.experimentalPolyglot:python` | `features.experimentalPolyglot:python` | Enable or disable experimental Python language support for polyglot Aspire applications. | +| `features.experimentalPolyglot:rust` | `features.experimentalPolyglot:rust` | Enable or disable experimental Rust language support for polyglot Aspire applications. | +| `features.showAllTemplates` | `features.showAllTemplates` | Show all available templates, including experimental ones, in `aspire new` and `aspire init`. | +| `features.showDeprecatedPackages` | `features.showDeprecatedPackages` | Show or hide deprecated packages in `aspire add` search results. | +| `features.updateNotificationsEnabled` | `features.updateNotificationsEnabled` | Enable or disable Aspire CLI update notifications. | From 63e816a6a01085a1d20921f4478ddad4a7e05c4f Mon Sep 17 00:00:00 2001 From: Adam Ratzman Date: Wed, 6 May 2026 16:21:30 -0400 Subject: [PATCH 2/7] Update src/frontend/src/content/docs/reference/cli/configuration.mdx --- src/frontend/src/content/docs/reference/cli/configuration.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/frontend/src/content/docs/reference/cli/configuration.mdx b/src/frontend/src/content/docs/reference/cli/configuration.mdx index 6c73e9e77..20264504c 100644 --- a/src/frontend/src/content/docs/reference/cli/configuration.mdx +++ b/src/frontend/src/content/docs/reference/cli/configuration.mdx @@ -128,7 +128,7 @@ The CLI writes this value to the local `aspire.config.json` file: The AppHost path is project-specific and can't be configured globally. If a global settings file contains `appHost.path` or the legacy `appHostPath` key, the -CLI ignores that value and warns that AppHost paths must be configured locally. +CLI will ignore that value and warn. The legacy `appHostPath` key is also blocked by `aspire config set`; use `appHost.path` instead. From e3063d778658f40acb2a26e7f698bb4af33ad708 Mon Sep 17 00:00:00 2001 From: Adam Ratzman Date: Wed, 6 May 2026 16:21:36 -0400 Subject: [PATCH 3/7] Update src/frontend/src/content/docs/reference/cli/configuration.mdx --- src/frontend/src/content/docs/reference/cli/configuration.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/frontend/src/content/docs/reference/cli/configuration.mdx b/src/frontend/src/content/docs/reference/cli/configuration.mdx index 20264504c..a5bf1516a 100644 --- a/src/frontend/src/content/docs/reference/cli/configuration.mdx +++ b/src/frontend/src/content/docs/reference/cli/configuration.mdx @@ -121,7 +121,7 @@ The CLI writes this value to the local `aspire.config.json` file: ```json title="aspire.config.json" { "appHost": { - "path": "./AppHost/AppHost.csproj" + "path": "./apphost.ts" } } ``` From 9eefe481a2cfcc90ba3e0e32211af2c71f10290f Mon Sep 17 00:00:00 2001 From: Adam Ratzman Date: Wed, 6 May 2026 16:21:44 -0400 Subject: [PATCH 4/7] Update src/frontend/src/content/docs/reference/cli/configuration.mdx --- src/frontend/src/content/docs/reference/cli/configuration.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/frontend/src/content/docs/reference/cli/configuration.mdx b/src/frontend/src/content/docs/reference/cli/configuration.mdx index a5bf1516a..b6f17bfa4 100644 --- a/src/frontend/src/content/docs/reference/cli/configuration.mdx +++ b/src/frontend/src/content/docs/reference/cli/configuration.mdx @@ -113,7 +113,7 @@ Use `appHost.path` to set the default AppHost project for the current configuration root: ```bash title="Set the local AppHost path" -aspire config set appHost.path ./AppHost/AppHost.csproj +aspire config set appHost.path apphost.ts ``` The CLI writes this value to the local `aspire.config.json` file: From 2cfacb7fff0fa4643107f9848a1ade7b5f63c1d2 Mon Sep 17 00:00:00 2001 From: Adam Ratzman Date: Wed, 6 May 2026 16:22:53 -0400 Subject: [PATCH 5/7] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- .../docs/reference/cli/includes/config-settings-table.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/frontend/src/content/docs/reference/cli/includes/config-settings-table.md b/src/frontend/src/content/docs/reference/cli/includes/config-settings-table.md index 062bd14de..219177173 100644 --- a/src/frontend/src/content/docs/reference/cli/includes/config-settings-table.md +++ b/src/frontend/src/content/docs/reference/cli/includes/config-settings-table.md @@ -4,7 +4,7 @@ title: Config Settings Table | Logical key | Stored in `aspire.config.json` as | Description | | -------------------------------------- | -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | -| `appHost.path` | `appHost.path` | Project-scoped path to the default AppHost project. This setting must be configured in the local `aspire.config.json` file. | +| `appHost.path` | `appHost.path` | Project-scoped path to the default AppHost entry point. This setting must be configured in the local `aspire.config.json` file. | | `channel` | `channel` | Default Aspire channel used by channel-aware commands such as `aspire new`, `aspire init`, and `aspire update`. | | `features.defaultWatchEnabled` | `features.defaultWatchEnabled` | Enable or disable watch mode by default when running Aspire applications for automatic restarts on file changes. | | `features.execCommandEnabled` | `features.execCommandEnabled` | Enable or disable the legacy `aspire exec` command for executing commands inside running resources. | From d91f1a63f900482eb499a9db8f32a333071da4c0 Mon Sep 17 00:00:00 2001 From: Adam Ratzman Date: Wed, 6 May 2026 16:24:18 -0400 Subject: [PATCH 6/7] Update src/frontend/src/content/docs/reference/cli/configuration.mdx --- src/frontend/src/content/docs/reference/cli/configuration.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/frontend/src/content/docs/reference/cli/configuration.mdx b/src/frontend/src/content/docs/reference/cli/configuration.mdx index b6f17bfa4..89ed1b2f2 100644 --- a/src/frontend/src/content/docs/reference/cli/configuration.mdx +++ b/src/frontend/src/content/docs/reference/cli/configuration.mdx @@ -109,7 +109,7 @@ can configure. ### Configure the AppHost path -Use `appHost.path` to set the default AppHost project for the current +Use `appHost.path` to set the default AppHost for the current configuration root: ```bash title="Set the local AppHost path" From 602623bc40d9aca23bda0698838219283227a24d Mon Sep 17 00:00:00 2001 From: Adam Ratzman Date: Wed, 6 May 2026 16:30:16 -0400 Subject: [PATCH 7/7] Address AppHost path docs review Use AppHost entry point terminology and a script entry point example so the docs do not imply appHost.path must reference a project file. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../content/docs/reference/cli/configuration.mdx | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/frontend/src/content/docs/reference/cli/configuration.mdx b/src/frontend/src/content/docs/reference/cli/configuration.mdx index 89ed1b2f2..d48928542 100644 --- a/src/frontend/src/content/docs/reference/cli/configuration.mdx +++ b/src/frontend/src/content/docs/reference/cli/configuration.mdx @@ -109,11 +109,11 @@ can configure. ### Configure the AppHost path -Use `appHost.path` to set the default AppHost for the current +Use `appHost.path` to set the default AppHost entry point for the current configuration root: ```bash title="Set the local AppHost path" -aspire config set appHost.path apphost.ts +aspire config set appHost.path ./apphost.ts ``` The CLI writes this value to the local `aspire.config.json` file: @@ -126,11 +126,13 @@ The CLI writes this value to the local `aspire.config.json` file: } ``` -The AppHost path is project-specific and can't be configured globally. If a -global settings file contains `appHost.path` or the legacy `appHostPath` key, the -CLI will ignore that value and warn. -The legacy `appHostPath` key is also blocked by `aspire config set`; use -`appHost.path` instead. +The AppHost path can point to the entry point used by your AppHost language, such +as `apphost.ts`, `Program.cs`, or an AppHost project file. The path is +project-specific and can't be configured globally. If a global settings file +contains `appHost.path` or the legacy `appHostPath` key, the CLI ignores that +value and warns that AppHost paths must be configured locally. The legacy +`appHostPath` key is also blocked by `aspire config set`; use `appHost.path` +instead. :::tip Some feature flags shown by `aspire config list --all` may correspond to