项目文件夹

文件
wehub-resource-sync 9b395f5cc3
E2E Headed Chrome / e2e-headed (macos-15) (push) Has been cancelled
E2E Headed Chrome / e2e-headed (ubuntu-latest) (push) Has been cancelled
E2E Headed Chrome / e2e-headed (windows-latest) (push) Has been cancelled
CI / build (macos-latest) (push) Has been cancelled
CI / build (ubuntu-latest) (push) Has been cancelled
CI / build (windows-latest) (push) Has been cancelled
CI / unit-test (push) Has been cancelled
CI / bun-test (push) Has been cancelled
CI / adapter-test (push) Has been cancelled
CI / smoke-test (macos-latest) (push) Has been cancelled
CI / smoke-test (ubuntu-latest) (push) Has been cancelled
Security Audit / audit (push) Has been cancelled
Build Chrome Extension / build (push) Has been cancelled
Trigger Website Rebuild (Docs Updated) / dispatch (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:39:48 +08:00

62 行
2.8 KiB
Markdown

# NuGet
**Mode**: 🌐 Public · **Domain**: `api.nuget.org`
Search the NuGet package index by keyword and fetch full version history for a package id. NuGet is the canonical .NET package registry; both endpoints are public V3 JSON.
## Commands
| Command | Description |
|---------|-------------|
| `opencli nuget search <query>` | Search NuGet packages by keyword |
| `opencli nuget package <id>` | Full NuGet package version history (catalog entries) |
## Usage Examples
```bash
# Keyword search
opencli nuget search newtonsoft
opencli nuget search "asp.net core" --limit 10
opencli nuget search serilog --prerelease=true
# Full version history (id round-trips from search)
opencli nuget package Newtonsoft.Json
opencli nuget package Serilog
opencli nuget package Microsoft.Extensions.Logging
```
## Output Columns
| Command | Columns |
|---------|---------|
| `search` | `rank, id, version, title, description, authors, tags, totalDownloads, verified, projectUrl, url` |
| `package` | `rank, id, version, title, authors, tags, language, licenseExpression, projectUrl, published, listed, url` |
The `id` column round-trips between commands.
## Options
### `search`
| Option | Description |
|--------|-------------|
| `query` (positional) | Search keyword |
| `--limit` | Max packages (1–1000, default: 20) — NuGet's max page size is 1000 |
| `--prerelease` | Include prerelease versions (default: `false`) |
### `package`
| Option | Description |
|--------|-------------|
| `id` (positional) | NuGet package id (case-insensitive). Allowed: 1–100 chars of letters/digits/`.`/`_`/`-`, must start with letter or digit. |
## Notes
- **`package` returns the full version history**, newest-first (sorted by `published` desc, ties broken by version string desc). Each row is one published release. NuGet's CDN paginates internally; the adapter walks pages so even 100+ version histories come back in one call.
- **`listed` flag**: when `false`, the version was unlisted by the publisher (still installable by exact pin, but hidden from search). `null` when NuGet didn't include the field (rare, very old packages).
- **`verified` (search only)**: NuGet's "verified publisher" badge — packages signed by a verified org. Useful for filtering hostile typo-squats.
- **`totalDownloads`** is a single global counter; it does NOT split per-version. For per-version downloads NuGet exposes a different endpoint we don't surface here.
- **`tags` / `authors`** are comma-joined; raw shape is space-separated tags + JSON author array, normalised to consistent comma joins.
- **No API key required.** NuGet's V3 service index is public; no rate limit doc but bursts → `CommandExecutionError`.
- **Errors.** Bad id / bad limit / empty query → `ArgumentError`; unknown package (HTTP 404) → `EmptyResultError`; transport / 429 / non-200 → `CommandExecutionError`.