Skip to content

docs: add releases nav and aube lock#422

Merged
jdx merged 2 commits intomainfrom
codex/docs-releases-aube
Apr 19, 2026
Merged

docs: add releases nav and aube lock#422
jdx merged 2 commits intomainfrom
codex/docs-releases-aube

Conversation

@jdx
Copy link
Copy Markdown
Owner

@jdx jdx commented Apr 19, 2026

Summary

  • add a Releases link to the docs nav
  • switch docs install/build commands to aube via mise
  • replace the npm lockfile with aube-lock.yaml and ignore .aube/

Validation

  • git diff --check
  • mise x aube@latest node@24 -- aube run docs:build

Note

Medium Risk
Medium risk because it changes the GitHub Pages docs build pipeline and dependency lockfile format, which could break CI/docs deployments if aube/mise behavior differs from npm.

Overview
Docs deployment now uses mise + aube instead of actions/setup-node + npm: the GitHub Pages workflow runs aube install and aube run docs:build, and the docs README is updated to match.

The npm package-lock.json is replaced with a new aube-lock.yaml, .aube/ is gitignored, and the VitePress nav adds a Releases link to GitHub.

Reviewed by Cursor Bugbot for commit 787dd12. Bugbot is set up for automated code reviews on this repo. Configure here.

@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented Apr 19, 2026

Greptile Summary

This PR migrates the docs build pipeline from actions/setup-node + npm to jdx/mise-action + aube, adds a Releases link to the VitePress nav, and replaces package-lock.json with aube-lock.yaml. The changes are consistent and well-scoped; mise.toml already declares aube = "latest" and node = "24", so the CI workflow correctly inherits both tools via mise.

Confidence Score: 5/5

Safe to merge — all changes are docs/tooling only with no logic or runtime impact on the main application.

No P0 or P1 findings remain. The pipeline migration is internally consistent (mise.toml declares aube + node, the lockfile pins transitive deps, and the workflow steps match). The only previously-raised concern about frozen-lockfile semantics was already flagged in a prior review thread and is not repeated here.

No files require special attention.

Important Files Changed

Filename Overview
.github/workflows/docs.yml Replaced setup-node + npm ci/run with mise-action + aube install/run; aube binary version is floating ("latest" in mise.toml), so CI behaviour may differ across runs if aube introduces breaking changes.
aube-lock.yaml New pnpm-v9-format lockfile replacing package-lock.json; pins all transitive node_module dependencies for the docs build.
docs/.vitepress/config.mjs Adds a Releases nav link pointing to the GitHub releases page — straightforward, no issues.
mise.toml Adds aube = "latest" to [tools]; consistent with the project's pattern of pinning all tools to "latest".
.gitignore Adds .aube/ to gitignore — correct, mirrors the existing node_modules/ ignore entry.
docs/README.md Updated dev commands to use aube instead of npm — consistent with the workflow change.

Sequence Diagram

sequenceDiagram
    participant GH as GitHub Actions
    participant mise as jdx/mise-action
    participant aube as aube (via mise)
    participant vp as VitePress

    GH->>mise: install tools from mise.toml (node@24, aube@latest)
    mise-->>GH: PATH updated with node & aube shims
    GH->>aube: aube install (reads aube-lock.yaml)
    aube-->>GH: node_modules installed (pinned versions)
    GH->>aube: aube run docs:build
    aube->>vp: executes docs:build script
    vp-->>GH: docs/.vitepress/dist
    GH->>GH: upload artifact → deploy to Pages
Loading

Reviews (2): Last reviewed commit: "[autofix.ci] apply automated fixes" | Re-trigger Greptile


- name: Install dependencies
run: npm ci
run: aube install
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 aube install may not enforce frozen lockfile in CI

The old step used npm ci, which always runs with --frozen-lockfile semantics and fails if package-lock.json is out of sync. aube install may or may not default to the same behaviour in CI environments. If aube doesn't honour the lockfile strictly, a dependency that drifts from aube-lock.yaml could silently install an unexpected version during the docs build. Consider using aube install --frozen-lockfile (or the aube equivalent) to preserve the same guarantee.

Suggested change
run: aube install
run: aube install --frozen-lockfile

Fix in Claude Code

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request migrates the documentation dependency management from npm to the aube package manager, adding a new lockfile and updating the README with aube commands. It also adds a 'Releases' link to the documentation navigation and updates the mise.toml configuration. Review feedback recommends pinning the versions of aube and node in mise.toml to specific values instead of using 'latest' or major versions to ensure build reproducibility.

Comment thread mise.toml
_.path = ["target/debug", "test/bats/bin"]

[tools]
aube = "latest"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

For reproducible builds, it's recommended to pin the version of aube instead of using latest. This prevents unexpected build failures when a new version of aube is released, especially one with breaking changes. Please consider pinning to a specific version.

aube = "0.1.2"
References
  1. Pinning dependencies to specific versions instead of using 'latest' ensures reproducible builds and prevents unexpected failures due to breaking changes in new releases.

Comment thread mise.toml
bitwarden-secrets-manager = "latest"
vault = "latest"
infisical = "latest"
node = "24"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

To ensure reproducible builds, it's better to pin to a more specific version of Node.js rather than just the major version. This will prevent unexpected issues when new minor or patch versions are released. Please consider pinning to a specific version.

node = "24.2.0"
References
  1. Pinning dependencies to specific versions, rather than major versions, ensures reproducible builds and prevents unexpected failures due to breaking changes in new minor or patch releases.

@jdx jdx merged commit 0236c08 into main Apr 19, 2026
14 checks passed
@jdx jdx deleted the codex/docs-releases-aube branch April 19, 2026 17:28
jdx pushed a commit that referenced this pull request Apr 21, 2026
### 🚀 Features

- Powershell integration by [@nbfritch](https://github.com/nbfritch) in
[#421](#421)

### 🐛 Bug Fixes

- **(Windows)** Nushell integration by
[@john-trieu-nguyen](https://github.com/john-trieu-nguyen) in
[#425](#425)
- **(Windows)** Command resolution for executables by
[@john-trieu-nguyen](https://github.com/john-trieu-nguyen) in
[#427](#427)

### 📚 Documentation

- add releases nav and aube lock by [@jdx](https://github.com/jdx) in
[#422](#422)
- include linux native packages in aube lock by
[@jdx](https://github.com/jdx) in
[#423](#423)

### 🔍 Other Changes

- Use published `clap-sort` crate instead of inlined module by
[@jdx](https://github.com/jdx) in
[#409](#409)
- add communique 1.0.1 by [@jdx](https://github.com/jdx) in
[#424](#424)

### 📦️ Dependency Updates

- lock file maintenance by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#381](#381)
- update taiki-e/upload-rust-binary-action digest to 10c1cf6 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#383](#383)
- update rust crate tokio to v1.51.1 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#384](#384)
- update rust crate indexmap to v2.14.0 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#385](#385)
- update rust crate rmcp to v1.4.0 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#389](#389)
- update rust crate strum to 0.28 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#395](#395)
- update rust crate toml_edit to 0.25 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#396](#396)
- update rust crate miniz_oxide to 0.9 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#390](#390)
- update rust crate ratatui to 0.30 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#392](#392)
- update actions/checkout action to v6 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#397](#397)
- update actions/deploy-pages action to v5 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#399](#399)
- update actions/configure-pages action to v6 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#398](#398)
- update actions/setup-node action to v6 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#400](#400)
- update actions/upload-pages-artifact action to v4 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#401](#401)
- update dependency node to v24 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#403](#403)
- update apple-actions/import-codesign-certs action to v6 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#402](#402)
- update nick-fields/retry action to v4 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#406](#406)
- update github artifact actions (major) by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#404](#404)
- update jdx/mise-action action to v4 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#405](#405)
- update rust crate which to v8 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#408](#408)
- update rust crate usage-lib to v3 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#407](#407)
- bump rustcrypto stack (aes-gcm, sha2, hkdf) together by
[@jdx](https://github.com/jdx) in
[#410](#410)
- update rust crate reqwest to 0.13 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#393](#393)
- update rust crate libloading to 0.9 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#388](#388)
- update rust crate keepass to 0.10 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#387](#387)
- update rust crate rand to 0.10 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#391](#391)
- lock file maintenance by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#411](#411)
- update rust crate google-cloud-secretmanager-v1 to v1.8.0 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#415](#415)
- update actions/upload-pages-artifact action to v5 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#418](#418)
- update rust crate rmcp to v1.5.0 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#416](#416)
- update rust crate clap to v4.6.1 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#413](#413)
- update rust crate tokio to v1.52.1 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#417](#417)
- update rust crate keepass to v0.10.6 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#414](#414)
- update taiki-e/upload-rust-binary-action digest to f0d45ae by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#419](#419)
- update rust crate aws-sdk-sts to v1.102.0 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#420](#420)

### New Contributors

- @john-trieu-nguyen made their first contribution in
[#427](#427)
- @nbfritch made their first contribution in
[#421](#421)
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