Skip to content

#4592: docs for JasperFx command buttons in the Aspire dashboard + bump JasperFx.* 2.4.0#4593

Merged
jeremydmiller merged 1 commit into
masterfrom
feature/4592-jasperfx-2.4-aspire-commands-docs
Jun 1, 2026
Merged

#4592: docs for JasperFx command buttons in the Aspire dashboard + bump JasperFx.* 2.4.0#4593
jeremydmiller merged 1 commit into
masterfrom
feature/4592-jasperfx-2.4-aspire-commands-docs

Conversation

@jeremydmiller
Copy link
Copy Markdown
Member

Closes #4592.

The new JasperFx.Aspire package (JasperFx/jasperfx#402, shipped in JasperFx 2.4.0) surfaces a JasperFx app's CLI verbs as clickable custom commands on each resource tile in the .NET Aspire dashboard. Marten apps inherit this for free because they build on the JasperFx command layer.

New docs page

docs/configuration/aspire-commands.mdJasperFx Commands in the Aspire Dashboard. Covers:

  • The one-liner: builder.AddProject<Projects.MartenApi>(\"api\").WithJasperFxCommands();
  • The four verbs that matter most for Marten users — check-env, describe, resources (schema apply/patch), projections (async rebuilds) — and which ones are mutating.
  • IncludeMutatingCommands = true opt-in and the dashboard confirmation behavior for mutating verbs.
  • Per-verb customization via opts.For(verb)DisplayName, ConfirmationMessage, IconName, IsHighlighted, IsEnabled predicate.
  • WithJasperFxCommand single-verb registration with fixed args (the "rebuild MyProjection only" recipe).
  • Constraint notes: AppHost-layer only, child-process verb spawn picks up Aspire-injected env, requires ApplyJasperFxExtensions + RunJasperFxCommandsAsync wiring in the service's Program.cs.

Wired into the sidebar under Command Line Tooling in docs/.vitepress/config.mts. Reciprocal cross-link added at the top of docs/configuration/cli.md so anyone landing on the CLI page sees the Aspire entry-point too.

Dependency bump

Package From To
JasperFx 2.2.1 2.4.0
JasperFx.Events 2.2.1 2.4.0
JasperFx.Events.SourceGenerator 2.2.1 2.4.0
JasperFx.SourceGenerator 2.2.1 2.4.0

Marten core builds clean against 2.4.0 (0 errors). The JasperFx.Aspire package the docs reference ships in this same 2.4.0 train.

Lint

markdownlint --disable MD009 + cspell --config ./docs/cSpell.json both pass locally on the new page and the edited cli.md.

🤖 Generated with Claude Code

…mp JasperFx.* 2.2.1 → 2.4.0

The new JasperFx.Aspire package (JasperFx/jasperfx#402) surfaces a JasperFx
app's CLI verbs as clickable custom commands on each resource tile in the
.NET Aspire dashboard. Marten apps inherit this for free because they build
on the JasperFx command layer.

New page: docs/configuration/aspire-commands.md
- Quick-start: WithJasperFxCommands() one-liner on the Marten service
  resource in the Aspire AppHost project.
- Highlights the four verbs that matter most for Marten: check-env,
  describe, resources, projections.
- Confirmation behavior for mutating verbs + per-verb customization
  (DisplayName, ConfirmationMessage, IconName, IsHighlighted, IsEnabled).
- WithJasperFxCommand single-verb registration with fixed-args (the
  "rebuild MyProjection only" recipe).
- Constraint notes: AppHost-layer only, child-process verb spawn picks
  up Aspire-injected env, requires ApplyJasperFxExtensions + RunJasperFxCommandsAsync
  wiring in the service's Program.cs.

Wired into the sidebar under "Command Line Tooling" in
docs/.vitepress/config.mts; reciprocal cross-link added at the top of
docs/configuration/cli.md so anyone landing on the CLI page sees the
Aspire entry-point too.

Dependency bump: JasperFx, JasperFx.Events, JasperFx.SourceGenerator,
JasperFx.Events.SourceGenerator 2.2.1 → 2.4.0 in Directory.Packages.props
to pull in the package referenced by the new docs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Docs: JasperFx command buttons in the Aspire dashboard (JasperFx.Aspire)

1 participant