Skip to content

vnext : func quickstart command handler, providers, and list/info subcommands#5139

Merged
manvkaur merged 3 commits into
vnextfrom
manvkaur/quickstart-handler
May 28, 2026
Merged

vnext : func quickstart command handler, providers, and list/info subcommands#5139
manvkaur merged 3 commits into
vnextfrom
manvkaur/quickstart-handler

Conversation

@manvkaur

@manvkaur manvkaur commented May 28, 2026

Copy link
Copy Markdown
Contributor

Issue describing the changes in this PR

Wrap up of func quickstart implementation (#5026, #5111).

This PR adds the command handler, provider resolver, quickstart providers (DotNet, Node, Python), list/info subcommands, and centralised constants/messages.

Pull request checklist

  • My changes do not require documentation changes
  • My changes do not need to be backported to a previous version
  • My changes should not be added to the release notes for the next release
  • I have added all required tests (Unit tests, E2E tests)

Additional information

What's in this PR:

  • QuickstartCommand.ExecuteAsync — full handler flow (stack/provider resolution → manifest fetch → template selection → scaffold → next-steps output)
  • IQuickstartProviderResolver / QuickstartProviderResolver — resolves stack name to provider via DI
  • DotNetQuickstartProvider, NodeQuickstartProvider, PythonQuickstartProvider — language mapping, display names, manifest language sets
  • QuickstartListCommand / QuickstartInfoCommand — list available templates (with --json) and show template details
  • QuickstartMessages — centralised user-facing strings for all quickstart commands
  • QuickstartConstants.TagRefPrefix — shared refs/tags/ constant (used by ManifestService and Scaffolder)
  • EnableSearch() on all interactive selection prompts — type-to-jump in template/stack pickers
  • HttpTemplateFetcherTests, QuickstartListCommandTests, QuickstartInfoCommandTests, updated QuickstartCommandTests
  • 93 quickstart tests passing

- Extract user-facing strings into QuickstartMessages for discoverability
- Move refs/tags/ prefix into QuickstartConstants.TagRefPrefix (shared by
  ManifestService and Scaffolder)
- Replace duplicated HasExistingContent/ClearDirectory with DirectoryGuard
  (fixes read-only subdirectory deletion on Linux/macOS)
- Fix BuildArchiveUrl doubling refs/tags/ in HTTP archive URLs
- Consolidate GitRef validation into QuickstartScaffolder (SRP)
- Add HttpTemplateFetcherTests for URL construction
- Remove non-existent --refresh option from error message
- Add QuickstartProviderResolver, --json output, IReadOnlyList ordering

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@manvkaur manvkaur changed the title feat: func quickstart command handler, providers, and list/info subcommands vnext : func quickstart command handler, providers, and list/info subcommands May 28, 2026
@manvkaur manvkaur marked this pull request as ready for review May 28, 2026 09:25
@manvkaur manvkaur requested a review from a team as a code owner May 28, 2026 09:25
Add EnableSearch() to SelectionPrompt so users can type to jump to
matching items in any selection prompt (template picker, stack picker).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Comment thread src/Workloads/Stacks/DotNet/DotNetQuickstartProvider.cs Outdated
@manvkaur manvkaur merged commit b320d7d into vnext May 28, 2026
6 checks passed
@manvkaur manvkaur deleted the manvkaur/quickstart-handler branch May 28, 2026 17:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants