Skip to content

chore: simplify contributing workflow and documentation#92

Merged
drew merged 14 commits intomainfrom
91-simplify-contributing-workflow/anewberry
Mar 4, 2026
Merged

chore: simplify contributing workflow and documentation#92
drew merged 14 commits intomainfrom
91-simplify-contributing-workflow/anewberry

Conversation

@drew
Copy link
Copy Markdown
Collaborator

@drew drew commented Mar 4, 2026

Closes #91

Summary

Simplifies the contributor experience by reducing the public mise task surface to six primary commands:

Task Purpose
mise run cluster Bootstrap or incremental deploy (creates cluster if needed, rebuilds changed components)
mise run sandbox Create or reconnect to the dev sandbox (redeploys cluster if dirty)
mise run test Run all tests (Rust + Python)
mise run e2e Run default end-to-end test lane
mise run ci Full local CI checks (lint, compile/type checks, tests)
mise run clean Clean build artifacts

All internal build, publish, docker, fmt, lint, and check tasks are hidden (hide = true) so contributors see only what matters.

ncl fingerprint-based rebuild

The ncl wrapper (scripts/bin/ncl) now uses git-based fingerprinting — adapted from the cluster deploy logic — instead of running cargo build on every invocation. It tracks HEAD commit and SHA-256 hashes of dirty files in the navigator-cli dependency closure (navigator-cli, navigator-core, navigator-bootstrap, navigator-policy, navigator-providers, navigator-tui, proto/, Cargo.toml, Cargo.lock). State is persisted to .cache/ncl-build.state. When no relevant files have changed, ncl skips the build entirely (~0.1s vs ~2s).

Other changes

  • Rename build/ directory to tasks/ for clarity.
  • Rewrite CONTRIBUTING.md to be concise and task-focused.
  • Move code style and CLI output conventions into a new STYLE_GUIDE.md.
  • Add TESTING.md with test patterns and conventions.
  • Rename cluster:deploycluster (primary entrypoint); old cluster:buildcluster:build:full (hidden).
  • Unify sandbox and cluster:sandbox into a single sandbox task, extracting shell logic into tasks/scripts/run-sandbox.sh.
  • Update architecture docs and CI config to use the new task names.

Test Plan

  • Verified mise tasks ls shows only the six intended public tasks.
  • Existing task behavior is unchanged; only visibility and naming were adjusted.
  • ncl fingerprinting verified: skips build on no-op (~0.1s), rebuilds on relevant source changes, rebuilds when binary is missing, ignores irrelevant file changes.

Restructure mise tasks so only primary contributor commands are public.
Rewrite CONTRIBUTING.md to focus on prerequisites, quick start, and main
tasks. Move code/CLI style guidance into STYLE_GUIDE.md. Add fmt, lint,
ci, check, version, and test:e2e as top-level public tasks. Hide
internal build/publish/docker tasks behind hide=true. Extract sandbox
runner script to build/scripts/run-sandbox.sh and unify cluster:sandbox
as the public entrypoint.

Signed-off-by: Drew Newberry <anewberry@nvidia.com>
@drew drew self-assigned this Mar 4, 2026
drew added 13 commits March 3, 2026 23:03
Rename the build/ directory to tasks/ for clarity, updating all
references across mise config, CI pipelines, Dockerfiles, architecture
docs, and internal scripts.

Consolidate mise run cluster and mise run cluster:build into a single
cluster task that bootstraps if no cluster is running, then performs
incremental deploy. Add a public sandbox task (mise run sandbox) that
creates a sandbox on the running cluster via ncl.

Move commit message guidance under the Pull Requests section in
CONTRIBUTING.md, replace ncl sandbox create with mise run sandbox in
Getting Started, and remove version from the main tasks table.

Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
…n it

Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Rename scripts/bin/ncl to scripts/bin/nemoclaw so the local dev
shortcut matches the actual binary name. Update all references across
task definitions, shell scripts, e2e tests, architecture docs, examples,
agent skills, and config files.
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 4, 2026

All contributors have signed the DCO ✍️ ✅
Posted by the DCO Assistant Lite bot.

@drew
Copy link
Copy Markdown
Collaborator Author

drew commented Mar 4, 2026

I have read the DCO document and I hereby sign the DCO.

@drew drew merged commit 1dae6a7 into main Mar 4, 2026
10 of 12 checks passed
@drew drew deleted the 91-simplify-contributing-workflow/anewberry branch March 4, 2026 21:06
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.

chore: simplify contributing workflow and documentation

1 participant