Skip to content

Commit 1dae6a7

Browse files
authored
chore: simplify contributing workflow and documentation (#92)
1 parent d07085c commit 1dae6a7

49 files changed

Lines changed: 893 additions & 679 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.agents/skills/debug-navigator-cluster/SKILL.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
---
22
name: debug-navigator-cluster
3-
description: Debug why a nemoclaw cluster failed to start or is unhealthy. Use when the user has a failed `ncl cluster admin deploy`, cluster health check failure, or wants to diagnose cluster infrastructure issues. Trigger keywords - debug cluster, cluster failing, cluster not starting, deploy failed, cluster troubleshoot, cluster health, cluster diagnose, why won't my cluster start, health check failed.
3+
description: Debug why a nemoclaw cluster failed to start or is unhealthy. Use when the user has a failed `nemoclaw cluster admin deploy`, cluster health check failure, or wants to diagnose cluster infrastructure issues. Trigger keywords - debug cluster, cluster failing, cluster not starting, deploy failed, cluster troubleshoot, cluster health, cluster diagnose, why won't my cluster start, health check failed.
44
---
55

66
# Debug NemoClaw Cluster
77

8-
Diagnose why a nemoclaw cluster failed to start after `ncl cluster admin deploy`.
8+
Diagnose why a nemoclaw cluster failed to start after `nemoclaw cluster admin deploy`.
99

1010
## Overview
1111

12-
`ncl cluster admin deploy` creates a Docker container running k3s with the NemoClaw server and Envoy Gateway deployed via Helm. The deployment stages, in order, are:
12+
`nemoclaw cluster admin deploy` creates a Docker container running k3s with the NemoClaw server and Envoy Gateway deployed via Helm. The deployment stages, in order, are:
1313

14-
1. **Pre-deploy check**: `ncl cluster admin deploy` in interactive mode prompts to **reuse** (keep volume, clean stale nodes) or **recreate** (destroy everything, fresh start). `mise run cluster` always recreates before deploy.
14+
1. **Pre-deploy check**: `nemoclaw cluster admin deploy` in interactive mode prompts to **reuse** (keep volume, clean stale nodes) or **recreate** (destroy everything, fresh start). `mise run cluster` always recreates before deploy.
1515
2. Ensure cluster image is available (local build or remote pull)
1616
3. Create Docker network (`navigator-cluster`) and volume (`navigator-cluster-{name}`)
1717
4. Create and start a privileged Docker container (`navigator-cluster-{name}`)
@@ -31,7 +31,7 @@ For local deploys, metadata endpoint selection now depends on Docker connectivit
3131
- default local Docker socket (`unix:///var/run/docker.sock`): `https://127.0.0.1:{port}` (default port 8080)
3232
- TCP Docker daemon (`DOCKER_HOST=tcp://<host>:<port>`): `https://<host>:{port}` for non-loopback hosts
3333

34-
The host port is configurable via `--port` on `ncl cluster admin deploy` (default 8080) and is stored in `ClusterMetadata.gateway_port`.
34+
The host port is configurable via `--port` on `nemoclaw cluster admin deploy` (default 8080) and is stored in `ClusterMetadata.gateway_port`.
3535

3636
The TCP host is also added as an extra gateway TLS SAN so mTLS hostname validation succeeds.
3737

@@ -40,7 +40,7 @@ The default cluster name is `nemoclaw`. The container is `navigator-cluster-{nam
4040
## Prerequisites
4141

4242
- Docker must be running (locally or on the remote host)
43-
- The `ncl` CLI must be available
43+
- The `nemoclaw` CLI must be available
4444
- For remote clusters: SSH access to the remote host
4545

4646
## Workflow
@@ -331,7 +331,7 @@ docker -H ssh://<host> logs navigator-cluster-<name>
331331
**Setting up kubectl access** (requires tunnel):
332332

333333
```bash
334-
ncl cluster admin tunnel --name <name> --remote <host>
334+
nemoclaw cluster admin tunnel --name <name> --remote <host>
335335
# Then in another terminal:
336336
export KUBECONFIG=~/.config/nemoclaw/clusters/<name>/kubeconfig
337337
kubectl get pods -A

.agents/skills/tui-development/SKILL.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ Comprehensive reference for any agent working on the Gator TUI.
99

1010
## 1. Overview
1111

12-
Gator is a ratatui-based terminal UI for the NemoClaw platform. It provides a keyboard-driven interface for managing clusters, sandboxes, and logs — the same operations available via the `ncl` CLI, but with a live, interactive dashboard.
12+
Gator is a ratatui-based terminal UI for the NemoClaw platform. It provides a keyboard-driven interface for managing clusters, sandboxes, and logs — the same operations available via the `nemoclaw` CLI, but with a live, interactive dashboard.
1313

14-
- **Launched via:** `ncl gator` or `mise run gator`
14+
- **Launched via:** `nemoclaw gator` or `mise run gator`
1515
- **Crate:** `crates/navigator-tui/`
1616
- **Key dependencies:**
1717
- `ratatui` (workspace version) — uses `frame.size()` (not `frame.area()`)
@@ -225,14 +225,14 @@ The `confirm_delete` flag in `App` gates destructive key handling — while true
225225

226226
### CLI parity
227227

228-
Gator actions should parallel `ncl` CLI commands so users have familiar mental models:
228+
Gator actions should parallel `nemoclaw` CLI commands so users have familiar mental models:
229229

230230
| CLI Command | Gator Equivalent |
231231
| --- | --- |
232-
| `ncl sandbox list` | Sandbox table on Dashboard |
233-
| `ncl sandbox delete <name>` | `[d]` on sandbox detail, then `[y]` to confirm |
234-
| `ncl sandbox logs <name>` | `[l]` on sandbox detail to open log viewer |
235-
| `ncl cluster health` | Status in title bar + cluster list |
232+
| `nemoclaw sandbox list` | Sandbox table on Dashboard |
233+
| `nemoclaw sandbox delete <name>` | `[d]` on sandbox detail, then `[y]` to confirm |
234+
| `nemoclaw sandbox logs <name>` | `[l]` on sandbox detail to open log viewer |
235+
| `nemoclaw cluster health` | Status in title bar + cluster list |
236236

237237
When adding new TUI features, check what the CLI offers and maintain consistency.
238238

.claude/agent-memory/arch-doc-writer/MEMORY.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363
- Helm chart deploys a StatefulSet (NOT Deployment), PVC 1Gi at /var/navigator
6464
- Cluster image does NOT bundle image tarballs -- components pulled at runtime from distribution registry
6565
- PKI job generates CA + server cert + client cert for mTLS (RSA 2048, 10yr, Helm pre-install hook)
66-
- Build tasks in `build/*.toml`; scripts in `build/scripts/`
66+
- Build tasks in `tasks/*.toml`; scripts in `tasks/scripts/`
6767
- `cluster-deploy-fast.sh` supports both auto mode (git diff) and explicit targets (server/sandbox/pki-job/chart/all)
6868
- `cluster-bootstrap.sh` ensures local Docker registry on port 5000, pushes all components, then deploys
6969
- Default values.yaml: repository is CloudFront-backed CDN, tag: "latest", pullPolicy: Always

.env.example

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
# basename (e.g. "nemoclaw-c").
1212
#CLUSTER_NAME=nemoclaw-c
1313

14-
# Default cluster name used by `ncl` commands in this repo when `--cluster`
14+
# Default cluster name used by `nemoclaw` commands in this repo when `--cluster`
1515
# is not provided. Usually matches CLUSTER_NAME.
1616
#NEMOCLAW_CLUSTER=nemoclaw-c
1717

.github/workflows/ci-image.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66
paths:
77
- 'deploy/docker/Dockerfile.ci'
88
- 'mise.toml'
9-
- 'build/**'
9+
- 'tasks/**'
1010
- '.github/workflows/ci-image.yml'
1111
workflow_dispatch:
1212

.github/workflows/publish.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -120,14 +120,14 @@ jobs:
120120
id: version
121121
run: |
122122
set -euo pipefail
123-
WHEEL_VERSION=$(uv run python build/scripts/release.py get-version --python)
123+
WHEEL_VERSION=$(uv run python tasks/scripts/release.py get-version --python)
124124
echo "wheel_version=${WHEEL_VERSION}" >> "$GITHUB_OUTPUT"
125125
126126
- name: Build Python wheels
127127
run: |
128128
set -euo pipefail
129129
WHEEL_VERSION="${{ steps.version.outputs.wheel_version }}"
130-
CARGO_VERSION=$(uv run python build/scripts/release.py get-version --cargo)
130+
CARGO_VERSION=$(uv run python tasks/scripts/release.py get-version --cargo)
131131
NEMOCLAW_CARGO_VERSION="$CARGO_VERSION" mise run python:build:multiarch
132132
NEMOCLAW_CARGO_VERSION="$CARGO_VERSION" mise run python:build:macos
133133
ls -la target/wheels/*.whl
@@ -216,4 +216,4 @@ jobs:
216216
run: |
217217
set -euo pipefail
218218
WHEEL_VERSION="${{ needs.build-python-wheels.outputs.wheel_version }}"
219-
uv run python build/scripts/release.py python-publish --version "$WHEEL_VERSION"
219+
uv run python tasks/scripts/release.py python-publish --version "$WHEEL_VERSION"

.gitlab-ci.yml

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ cache:
4343
- key:
4444
files:
4545
- Cargo.lock
46-
- build/rust.toml
46+
- tasks/rust.toml
4747
prefix: "target-$CI_RUNNER_EXECUTABLE_ARCH"
4848
paths:
4949
- target/
@@ -58,9 +58,9 @@ cache:
5858
- Cargo.lock
5959
- crates/**/*
6060
- proto/**/*
61-
- build/rust.toml
62-
- build/test.toml
63-
- build/ci.toml
61+
- tasks/rust.toml
62+
- tasks/test.toml
63+
- tasks/ci.toml
6464
- mise.toml
6565
- .gitlab-ci.yml
6666
- when: never
@@ -73,9 +73,9 @@ cache:
7373
- python/**/*
7474
- scripts/**/*
7575
- proto/**/*
76-
- build/python.toml
77-
- build/test.toml
78-
- build/ci.toml
76+
- tasks/python.toml
77+
- tasks/test.toml
78+
- tasks/ci.toml
7979
- mise.toml
8080
- .gitlab-ci.yml
8181
- when: never
@@ -87,10 +87,10 @@ cache:
8787
- deploy/docker/**/*
8888
- deploy/helm/**/*
8989
- deploy/kube/**/*
90-
- build/cluster.toml
91-
- build/docker.toml
92-
- build/test.toml
93-
- build/scripts/**/*
90+
- tasks/cluster.toml
91+
- tasks/docker.toml
92+
- tasks/test.toml
93+
- tasks/scripts/**/*
9494
- crates/**/*
9595
- proto/**/*
9696
- mise.toml
@@ -119,7 +119,7 @@ build_ci_image:
119119
- changes:
120120
- deploy/docker/Dockerfile.ci
121121
- mise.toml
122-
- build/**/*
122+
- tasks/**/*
123123
- .gitlab-ci.yml
124124
- when: never
125125
script:
@@ -247,8 +247,8 @@ python_e2e_sandbox_test:
247247
- socat UNIX-LISTEN:/var/run/docker.sock,fork,reuseaddr TCP:docker:2375 &
248248
- sleep 1
249249
- mise run --no-prepare docker:build:cluster
250-
- mise run --no-prepare cluster:build
251-
- mise run --no-prepare test:e2e:sandbox
250+
- mise run --no-prepare cluster:build:full
251+
- mise run --no-prepare test:e2e
252252

253253
# =============================================================================
254254
# Publish Jobs

0 commit comments

Comments
 (0)