Agent and CLI for operating an NVIDIA DGX Spark (Grace-Blackwell) workstation — device setup, health/monitoring, and local AI/ML workload management.
Project description
dgx-spark-cli
Agent and CLI for operating an NVIDIA DGX Spark (Grace-Blackwell) workstation — device setup, health/monitoring, and local AI/ML workload management.
What you get
- An agent-first CLI cited from teken
(
afi-cli) — the runtime package has no third-party dependencies. - A mesh identity —
culture.yaml(suffix+backend) and the matching prompt file (CLAUDE.mdforbackend: claude). - The canonical guildmaster skill kit (11 skills) under
.claude/skills/, vendored cite-don't-import. Seedocs/skill-sources.md. - A build + deploy baseline — pytest, lint, the agent-first rubric gate, and PyPI Trusted Publishing wired into GitHub Actions.
Quickstart
uv sync
uv run pytest -n auto # run the test suite
uv run dgx-spark-cli whoami # identity from culture.yaml
uv run dgx-spark-cli learn # self-teaching prompt (add --json)
uv run teken cli doctor . --strict # the agent-first rubric gate CI runs
CLI
| Verb | What it does |
|---|---|
whoami |
Report this agent's nick, version, backend, and model from culture.yaml. |
learn |
Print a structured self-teaching prompt. |
explain <path> |
Markdown docs for any noun/verb path. |
overview |
Read-only descriptive snapshot of the agent. |
doctor |
Check the agent-identity invariants (prompt-file-present, backend-consistency). |
cli overview |
Describe the CLI surface itself. |
Machine scope (DGX Spark host telemetry)
The Spark is the system, so these read-only verbs sit at the top level:
| Verb | What it does |
|---|---|
status |
Machine-wide scope, anomalies first — the headline. |
memory |
Unified RAM + swap (the GB10 shares one pool across CPU and GPU). |
gpu |
Blackwell GB10: utilization, temp, power, clocks, and GPU processes. |
disk |
Filesystem usage for real block devices (via /proc/mounts + statvfs). |
thermal |
SoC thermal zones and hwmon sensors (no lm-sensors needed). |
containers |
Running Docker containers and their health. |
network |
Interfaces, default route, and reachable addresses. |
processes |
Top processes by resident memory (via /proc). |
They have zero runtime dependencies — kernel telemetry is read from /proc and
/sys, while nvidia-smi, docker, and ip are shelled out and degrade
gracefully (a missing tool reports available: false and still exits 0).
doctor remains the health gate. Because the GB10 has no discrete VRAM,
nvidia-smi reports aggregate GPU memory as [N/A]; gpu instead sums
per-process compute-app memory so you can see how much of the shared pool the
GPU holds.
Every command supports --json. Results go to stdout, errors/diagnostics to
stderr (never mixed). Exit codes: 0 success, 1 user error, 2 environment
error, 3+ reserved.
Make it your own
- Rename the package
spark/and thedgx-spark-cliCLI/dist name throughoutpyproject.toml, the package,tests/, andsonar-project.properties. - Edit
culture.yamlwith yoursuffixandbackend. - Rewrite
CLAUDE.mdfor your agent and run/init. - Re-vendor only the skills you need from guildmaster (see
docs/skill-sources.md).
See CLAUDE.md for the full conventions (version-bump-every-PR,
the cicd PR lane, deploy setup).
License
MIT — see LICENSE.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dgx_spark_cli-0.2.0.tar.gz.
File metadata
- Download URL: dgx_spark_cli-0.2.0.tar.gz
- Upload date:
- Size: 117.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e47ee274791e6fa4cc60c77812777f69008be0ecf9b7bf16b02b777e031314dd
|
|
| MD5 |
69a696a2e1f96051f63a8b2c7567e01b
|
|
| BLAKE2b-256 |
c781ba553757e91712f5f0ccd647fcf8b741a2b447a99133d5857892a203b0aa
|
File details
Details for the file dgx_spark_cli-0.2.0-py3-none-any.whl.
File metadata
- Download URL: dgx_spark_cli-0.2.0-py3-none-any.whl
- Upload date:
- Size: 42.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
47909c69c9444510467e8ceb7e557625de313930fa86eea566fa5d5981268ae9
|
|
| MD5 |
7fa5d22568e6045cb2425bdb45253a95
|
|
| BLAKE2b-256 |
2dbdacb968fea8e1c552939ae9d38e8e345362867ba65ee77687a1bfb3a7a3d9
|