Skip to content

Commit 9320161

Browse files
committed
docs: align documentation before v0.13
1 parent ccd826b commit 9320161

8 files changed

Lines changed: 90 additions & 28 deletions

File tree

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@ Versioning.
1010
- Render the F3 custom-command manager as a centered modal consistent with the
1111
navigator and F1 help panel.
1212

13+
### Security
14+
15+
- Add GitHub Private Vulnerability Reporting, CodeQL analysis, and OpenSSF
16+
Scorecard supply-chain checks.
17+
1318
## [0.12.0] - 2026-08-14
1419

1520
### Added

CONTRIBUTING.md

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,23 @@
11
# Contributing
22

3-
DevNav is a public, read-only project for inspection, cloning and downloading.
4-
The maintainer keeps the canonical repository changes internal; external Issues
5-
and Pull Requests are not part of the current contribution model. Security
3+
DevNav is a public project. Use the repository's Issue and pull-request
4+
templates for non-sensitive reports and focused changes. Security
65
vulnerabilities must always use private reporting through [SECURITY.md](SECURITY.md).
76

8-
You may inspect, clone, download, and fork the project under the terms of the MIT
9-
license. Please keep changes small, focused, and documented.
7+
You may inspect, clone, download, and fork the project under the terms of the
8+
MIT license. Keep changes small, focused, documented, and scoped to one
9+
purpose.
10+
11+
## Development prerequisites
12+
13+
- Windows on x64 or ARM64 and PowerShell 7 or newer.
14+
- Rust 1.97 or newer (the CI toolchain is pinned to 1.97.1) with MSVC Build
15+
Tools for native builds.
16+
- Node.js only for the npm bootstrap tests. The package declares Node `>=22`;
17+
CI tests 22, 24, and 26, with Node 24 as the release baseline.
18+
19+
For new Node.js environments, prefer a currently supported release line. Node
20+
is never required to run the installed native DevNav application.
1021

1122
Before maintaining a fork or preparing an internal change, run the same quality gates as CI:
1223

@@ -21,13 +32,17 @@ Invoke-Pester -Path ./tests/powershell
2132
node --test "tests/npm/**/*.test.mjs"
2233
```
2334

35+
Use a focused branch and pull request, wait for CI, and squash merge only after
36+
the applicable checks pass. New Actions references must use full commit SHAs.
37+
2438
Do not disclose security vulnerabilities publicly. Report them privately as
2539
described in [SECURITY.md](SECURITY.md).
2640

2741
## Releasing
2842

2943
Every channel ships the exact bytes built once by the release workflow: the
30-
GitHub release is canonical and npm, Scoop and WinGet derive from it. One
44+
GitHub release is canonical, npm and Scoop derive from it, and the workflow
45+
also generates the versioned WinGet submission asset. One
3146
version is shared by `Cargo.toml`, the Git tag, the GitHub release,
3247
`powershell/DevNav.psd1`, `packaging/npm/package.json` and
3348
`packaging/scoop/devnav.template.json`; CI and the release workflow abort on any
@@ -40,8 +55,8 @@ multichannel release; the release workflow enforces the floor.
4055

4156
### npm trusted publishing
4257

43-
Future publishing uses OIDC trusted publishing with staged publishing; no
44-
`NPM_TOKEN` exists anywhere. The trusted publisher is restricted to repository
58+
Publishing uses OIDC trusted publishing with staged publishing; no `NPM_TOKEN`
59+
exists anywhere. The trusted publisher is restricted to repository
4560
`JacobOptimiza/dev-nav`, workflow `release.yml`, environment `npm-production`,
4661
and the `npm stage publish` action. The initial v0.10.0 package was published
4762
manually to establish the package; later releases stage the exact tested

README.es.md

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,11 @@ No tienen script `postinstall` ni dependencias en runtime: el bootstrap elige el
7373
instalador oficial x64 o ARM64, verifica su SHA-256 con
7474
`release-manifest.json`, lo instala y valida la versión final.
7575

76+
Para npm, pnpm y Yarn, el paquete de bootstrap declara Node.js `>=22`. CI lo
77+
valida con Node 22, 24 y 26; Node 24 es la base de release y Node 26 la vía de
78+
compatibilidad futura. Bun ejecuta este bootstrap con su propio runtime. Ninguno
79+
de estos runtimes es necesario después de instalar DevNav.
80+
7681
Después, DevNav se actualiza con `dev update`, no con npm, Bun, pnpm o Yarn. El
7782
gestor sirve para descubrir e instalar la aplicación; no pasa a ser propietario
7883
de la instalación.
@@ -240,14 +245,14 @@ pulsar `f` para eliminarla de favoritos. `a` permite mostrarla como
240245
La ruta de inicio, los favoritos y los alias son locales y se guardan fuera del repositorio en
241246
`%LOCALAPPDATA%\DevNav\config.tsv`.
242247

243-
## Shortcuts
248+
## Atajos
244249

245-
Los shortcuts están agrupados por flujo de trabajo. Las acciones más frecuentes
250+
Los atajos están agrupados por flujo de trabajo. Las acciones más frecuentes
246251
aparecen primero para que sean fáciles de descubrir y recordar.
247252

248253
### Navegación y selección
249254

250-
| Shortcut | Acción |
255+
| Atajo | Acción |
251256
|---|---|
252257
| `` / `` o `j` / `k` | mover la selección |
253258
| `Enter` | seleccionar la carpeta y volver a PowerShell |
@@ -264,7 +269,7 @@ aparecen primero para que sean fáciles de descubrir y recordar.
264269

265270
### Agentes
266271

267-
| Shortcut | Acción |
272+
| Atajo | Acción |
268273
|---|---|
269274
| `c` | Codex: abrir una sesión nueva (`codex`) en la carpeta resaltada |
270275
| `r` | Codex: reanudar la última sesión del repositorio (`codex resume --last`) |
@@ -277,7 +282,7 @@ aparecen primero para que sean fáciles de descubrir y recordar.
277282

278283
### Organización, búsqueda y acciones
279284

280-
| Shortcut | Acción |
285+
| Atajo | Acción |
281286
|---|---|
282287
| `/` | activar el filtro fuzzy incremental |
283288
| `f` | añadir o quitar un favorito global |
@@ -394,12 +399,12 @@ Set-DevUpdateCheck $false # desactivar
394399
- La configuración local está separada de los archivos reemplazados al actualizar.
395400
- Binarios de release con checksum SHA-256.
396401
- Workflows con permisos mínimos y acciones fijadas a commits concretos.
397-
- Las futuras releases npm usan Trusted Publishing mediante OIDC; no se guarda
402+
- Las releases npm usan Trusted Publishing mediante OIDC; no se guarda
398403
ningún `NPM_TOKEN`.
399404
- Dependabot revisa Cargo y GitHub Actions.
400-
- `main` está protegida y únicamente los administradores pueden actualizarla.
401-
- El repositorio público es de solo lectura: permite consultar, clonar y descargar,
402-
pero no acepta Issues ni Pull Requests externos.
405+
- Las vulnerabilidades se notifican mediante GitHub Private Vulnerability
406+
Reporting; para trabajo no sensible se usan las plantillas de Issues y Pull
407+
Requests.
403408

404409
Consulta [SECURITY.md](SECURITY.md) para informar vulnerabilidades de forma
405410
privada y [CONTRIBUTING.md](CONTRIBUTING.md) para conocer la política del
@@ -417,7 +422,7 @@ cargo deny check
417422
Invoke-Pester -Path ./tests/powershell
418423
```
419424

420-
El repositorio fija Rust 1.97.1 con `rustfmt` y `clippy`. Los controles de
425+
El MSRV es Rust 1.97; CI fija Rust 1.97.1 con `rustfmt` y `clippy`. Los controles de
421426
PowerShell usan el parser nativo, PSScriptAnalyzer 1.25.0 y Pester 6.1.0. Las
422427
licencias, advisories, registros y versiones duplicadas de dependencias se
423428
comprueban con `cargo-deny` mediante [deny.toml](deny.toml). CI ejecuta todos

README.md

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,11 @@ They have no `postinstall` script or runtime dependencies: the bootstrap selects
7272
the official x64 or ARM64 installer, verifies its SHA-256 against
7373
`release-manifest.json`, installs it, and validates the installed version.
7474

75+
For npm, pnpm, and Yarn, the bootstrap package declares Node.js `>=22`. CI
76+
validates that package on Node 22, 24, and 26; Node 24 is the release baseline
77+
and Node 26 is the forward-compatibility lane. Bun runs this bootstrap with its
78+
own runtime. None of these runtimes is required after DevNav is installed.
79+
7580
After installation, update DevNav with `dev update`—not with npm, Bun, pnpm, or
7681
Yarn. The package runner is a discovery and bootstrap channel; it does not own
7782
the installed application.
@@ -159,6 +164,7 @@ the folder DevNav opens by default.
159164

160165
Published binaries do not require Rust or Visual Studio. A package runner is
161166
required only when you choose its bootstrap command.
167+
Windows PowerShell 5.1, 32-bit Windows, Linux, and macOS are not supported.
162168

163169
## Why DevNav?
164170

@@ -188,6 +194,10 @@ Set-DevRoot $HOME
188194
Get-DevRoot
189195
```
190196

197+
For existing setups, `DEV_HOME` remains a fallback until a saved startup
198+
directory exists; a directory saved with `Ctrl+S` or `Set-DevRoot` takes
199+
precedence.
200+
191201
## Global favorites
192202

193203
Press `f` on a directory to add or remove it from global favorites. Every saved
@@ -262,6 +272,17 @@ Use `Set-DevShortcut` for scripts, overwrite a slot by using the same index, or
262272
remove one with `Remove-DevShortcut -Index 1` (or `dev shortcut 1`). Bindings
263273
persist locally and appear in the `F1` help panel.
264274

275+
You can also select a repository and pass an optional agent or shell command
276+
from PowerShell:
277+
278+
```powershell
279+
dev codex
280+
dev "git status"
281+
```
282+
283+
The agent CLIs are optional. DevNav returns the command to PowerShell, so the
284+
CLI you choose must be installed and available on `PATH`.
285+
265286
### Language
266287

267288
On the first interactive launch, DevNav detects the first supported language in
@@ -327,8 +348,9 @@ Set-DevUpdateCheck $false # disable
327348
- Release binaries and the PowerShell module are verified with SHA-256.
328349
- Local configuration is excluded from the repository and preserved on updates.
329350
- GitHub Actions use minimal permissions and commit-pinned actions.
330-
- Future npm releases use OIDC Trusted Publishing; no `NPM_TOKEN` is stored.
331-
- The public repository is read-only for external contributors.
351+
- npm releases use OIDC Trusted Publishing; no `NPM_TOKEN` is stored.
352+
- Security reports use GitHub Private Vulnerability Reporting; use the issue or
353+
pull-request templates for non-sensitive work.
332354

333355
See [SECURITY.md](SECURITY.md), [CONTRIBUTING.md](CONTRIBUTING.md), and the
334356
[troubleshooting guide](TROUBLESHOOTING.md).
@@ -355,9 +377,9 @@ cargo deny check
355377
Invoke-Pester -Path ./tests/powershell
356378
```
357379

358-
The repository pins Rust 1.97.1 with `rustfmt` and `clippy`. PowerShell quality
359-
gates use the native parser, PSScriptAnalyzer 1.25.0 and Pester 6.1.0. Dependency
360-
licenses, advisories, registries and duplicate versions are checked by
380+
The MSRV is Rust 1.97; CI pins Rust 1.97.1 with `rustfmt` and `clippy`.
381+
PowerShell quality gates use the native parser, PSScriptAnalyzer 1.25.0 and
382+
Pester 6.1.0. Dependency licenses, advisories, registries and duplicate versions are checked by
361383
`cargo-deny` using [deny.toml](deny.toml). CI runs all of these checks.
362384

363385
See the public [roadmap](ROADMAP.md) for planned distribution work.

SECURITY.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,10 @@ Include the affected version, operating system and architecture, reproduction
1717
steps or a proof of concept, impact, and any relevant logs or configuration
1818
details (with secrets removed). We will acknowledge a report within seven days
1919
and keep the reporter informed as we investigate.
20+
21+
## Security controls
22+
23+
CodeQL analyzes Rust and GitHub Actions on pushes to `main` and pull requests.
24+
OpenSSF Scorecard runs on `main` and publishes its current result through the
25+
repository badge. These controls complement, but do not replace, private
26+
vulnerability reporting.

TROUBLESHOOTING.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,12 @@ Run in PowerShell 7:
1212
```powershell
1313
$PSVersionTable.PSVersion
1414
Get-Command dev -ErrorAction SilentlyContinue
15+
Test-Path (Join-Path $env:LOCALAPPDATA 'Programs\DevNav\DevNav.psm1')
16+
```
17+
18+
If `dev` is available, also check the configured root:
19+
20+
```powershell
1521
Get-DevRoot
1622
Test-Path -LiteralPath (Get-DevRoot)
1723
```

packaging/npm/README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,9 @@ DevNav remains a standalone native application under
6767

6868
- Windows 10/11 on x64 or ARM64.
6969
- PowerShell 7 (`pwsh`) available on `PATH`.
70-
- Any of Bun, Node.js (via npm), pnpm, or Yarn to run the bootstrap.
70+
- Bun, or Node.js `>=22` for npm, pnpm, or Yarn. CI validates the bootstrap on
71+
Node 22, 24, and 26; Node 24 is the release baseline. Node is not a DevNav
72+
runtime dependency, and Bun uses its own runtime.
7173

7274
## Links
7375

packaging/scoop/README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,10 @@ Update with:
6565
scoop update devnav
6666
```
6767

68-
The bucket is protected by pull requests and required CI. GitHub Actions are
69-
pinned to commits and Dependabot reviews those pins weekly. Excavator exists as
70-
a `workflow_dispatch` workflow only; there is no scheduled write automation.
71-
Future manifest changes must be reviewed and pass CI before they are merged.
68+
The bucket is maintained separately from this repository. Consult its current
69+
repository policy and automation before changing a manifest; this repository's
70+
release workflow remains the source for the generated release manifest and
71+
SHA-256 values.
7272

7373
## Setting up the bucket (historical bootstrap)
7474

0 commit comments

Comments
 (0)