Skip to content

Add Marketplace module with NuGet.org integration and CLI install command - #26

Merged
antosubash merged 4 commits into
mainfrom
claude/create-module-marketplace-Sjtnv
Mar 29, 2026
Merged

antosubash merged 4 commits into
mainfrom
claude/create-module-marketplace-Sjtnv

Conversation

@antosubash

@antosubash antosubash commented Mar 29, 2026 •

Copy link
Copy Markdown
Owner

New module that provides a web UI to browse, search, and discover
SimpleModule-compatible NuGet packages, plus a sm install CLI command
to add packages to the host project.

Features:

  • Browse page with card grid, search, category filtering, and sort options
  • Detail page with version history, install instructions, and metadata
  • NuGet V3 Search API integration with in-memory response caching
  • Category mapping from NuGet tags (Auth, Storage, UI, etc.)
  • Installed package detection by reading host .csproj PackageReferences
  • sm install <package> [--version] CLI command using dotnet add

…mand

New module that provides a web UI to browse, search, and discover
SimpleModule-compatible NuGet packages, plus a `sm install` CLI command
to add packages to the host project.

Features:
- Browse page with card grid, search, category filtering, and sort options
- Detail page with version history, install instructions, and metadata
- NuGet V3 Search API integration with in-memory response caching
- Category mapping from NuGet tags (Auth, Storage, UI, etc.)
- Installed package detection by reading host .csproj PackageReferences
- `sm install <package-id> [--version]` CLI command using dotnet add
…ching

- Fix CLI InstallCommand stdout/stderr deadlock (read streams concurrently)
- Fix Browse.tsx navigate() using stale query prop instead of live search state
- Fix NuGet cache key to exclude category/sort (filter post-cache, correct TotalHits)
- Remove dead NuGetJsonContext and unused JsonOptions
- Extract formatDownloads into shared Views/utils.ts
- Extract duplicate SVG icon to constant in MarketplaceModule.cs
- Make MarketplacePackageDetail inherit from MarketplacePackage
- Remove always-default Published field from MarketplacePackageVersion
- Delete hand-written Views/types.ts, use generated types.ts
- Rename test file to match class name (CategoryMapperTests)
- Add services.AddSingleton<InstalledPackageDetector>() to MarketplaceModule
  (IMarketplaceContracts is auto-wired by source generator, but internal
  services need manual registration)
- Fix integration tests to store _factory per codebase convention
- Use correct NuGet search endpoint (azuresearch-usnc.nuget.org/query)
  instead of non-existent api.nuget.org/v3/search
- Wrap HTTP calls in try/catch for HttpRequestException so the API
  returns empty results instead of 500 when NuGet is unreachable
@antosubash
antosubash force-pushed the claude/create-module-marketplace-Sjtnv branch from 02b3251 to 37fd707 Compare March 29, 2026 16:45
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying simplemodule-website with  Cloudflare Pages  Cloudflare Pages

Latest commit: 37fd707
Status: ✅  Deploy successful!
Preview URL: https://2e13d93b.simplemodule-website.pages.dev
Branch Preview URL: https://claude-create-module-marketp.simplemodule-website.pages.dev

View logs

@antosubash
antosubash merged commit 3db2ccc into main Mar 29, 2026
3 checks passed
@antosubash
antosubash deleted the claude/create-module-marketplace-Sjtnv branch April 1, 2026 15:15
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.

1 participant