You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: specs/CLI-PLAN.md
+7-4Lines changed: 7 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -77,9 +77,10 @@ nap/
77
77
78
78
### Phase 4 — Polish & Distribution
79
79
80
-
-Standalone native binary (NativeAOT or single-file publish)
81
-
-NuGet package for `dotnet tool install`
80
+
-**NuGet package for `dotnet tool install` (PRIMARY channel)** — set `<PackAsTool>true</PackAsTool>` and `<ToolCommandName>napper</ToolCommandName>` in `Nap.Cli.fsproj`, publish to nuget.org. This is the primary distribution method — no code signing needed, no SmartScreen warnings on Windows, immediate availability. The VSIX extension auto-installs via `dotnet tool install -g napper --version X.X.X`.
81
+
-Standalone native binary (NativeAOT or single-file publish) — secondary channel for users without .NET SDK
82
82
- Homebrew formula
83
+
- Winget / Chocolatey / Scoop packages (future)
83
84
-`nap new` scaffolding commands
84
85
- Language-extensible script runner plugin model
85
86
@@ -119,8 +120,10 @@ nap/
119
120
-[ ]`ctx.Set` for cross-step variable passing
120
121
121
122
### Phase 4 — Polish & Distribution
122
-
-[ ] Standalone native binary (NativeAOT or single-file publish)
123
-
-[ ] NuGet package for `dotnet tool install`
123
+
-[ ]`dotnet tool install` — set `PackAsTool` in fsproj, publish to nuget.org (PRIMARY)
Copy file name to clipboardExpand all lines: specs/CLI-SPEC.md
+24Lines changed: 24 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,6 +20,30 @@ Nap is a developer-first HTTP testing tool. It is as simple as curl for one-off
20
20
21
21
---
22
22
23
+
## Installation
24
+
25
+
The Napper CLI is distributed as a **dotnet tool** via NuGet. This is the primary distribution channel — it avoids code-signing requirements (no Windows SmartScreen warnings), works cross-platform, and integrates with existing .NET toolchains.
26
+
27
+
```sh
28
+
# Install globally
29
+
dotnet tool install -g napper
30
+
31
+
# Install a specific version
32
+
dotnet tool install -g napper --version 0.6.0
33
+
34
+
# Update to latest
35
+
dotnet tool update -g napper
36
+
```
37
+
38
+
The VSIX extension installs the CLI automatically via `dotnet tool install` on activation, using the extension's own version to determine which CLI version to install. Users with the CLI already on PATH (or configured via `nap.cliPath`) skip the auto-install.
Copy file name to clipboardExpand all lines: specs/IDE-EXTENSION-PLAN.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -38,6 +38,7 @@ This phase **deletes duplicated TypeScript parsing code** and replaces it with L
38
38
39
39
### Phase 4 — Polish & Distribution
40
40
41
+
-**CLI installation via `dotnet tool install`** — replace raw binary download with `dotnet tool install -g napper --version X.X.X`. Version is read from the extension's own `package.json`. Eliminates Windows SmartScreen warnings and custom HTTP download code.
41
42
- Split editor layout (request panel webview)
42
43
- New request guided flow
43
44
- OpenAPI generation command
@@ -72,6 +73,8 @@ This phase **deletes duplicated TypeScript parsing code** and replaces it with L
72
73
-[ ] Run ALL existing VSIX e2e tests — must pass
73
74
74
75
### Phase 4 — Polish & Distribution
76
+
-[ ] Replace raw binary download with `dotnet tool install -g napper --version X.X.X`
Copy file name to clipboardExpand all lines: specs/IDE-EXTENSION-SPEC.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -354,6 +354,7 @@ These settings apply across all IDEs where the extension supports configuration.
354
354
- Built in **TypeScript** using the VSCode Extension API.
355
355
- The response panel webview uses a minimal framework (Lit or vanilla TS + CSS) — no heavy UI library.
356
356
- The extension shells out to the **Nap CLI** (`nap run --output json`) for all HTTP execution.
357
+
-**CLI acquisition:** The VSIX installs the CLI via `dotnet tool install -g napper --version X.X.X` on activation, where `X.X.X` is the extension's own `package.json` version. This avoids raw binary downloads (which trigger Windows SmartScreen warnings on unsigned binaries) and leverages NuGet as a trusted distribution channel. If the CLI is already on PATH at the correct version, installation is skipped.
357
358
- File watching via `vscode.workspace.createFileSystemWatcher` keeps the panel tree up to date without polling.
358
359
- The `.nap` language grammar (TextMate `.tmLanguage.json`) is generated from the ANTLR grammar to avoid drift.
359
360
- Published to the **VS Code Marketplace** and the **Open VSX Registry** (for VSCodium / Cursor / Windsurf users).
0 commit comments