# dsp-cli
A simple, AI-agent-friendly CLI for interacting with the DaSCH Service Platform (DSP).
> **Status:** working command surface; pre-0.1.0. All v1 commands are implemented —
> `dsp auth` (login, set-token, status, logout, token), `dsp vre project dump`, the schema-side reads
> (`project`, `data-model`, `resource-type`, each with `list`/`describe`, plus `data-model structure`),
> the instance-side reads (`resource list`, `resource describe`, including `--values`), and `dsp docs`.
> Remaining before 0.1.0: cutting the release (Phase 10) — the product-hardening pass and crates.io
> publish prep (Phases 8.5–9) are done. See [`docs/PROJECT_PLAN.md`](./docs/PROJECT_PLAN.md) for the current state.
## Quick orientation
- [`idea.md`](./idea.md) — what this CLI is, who it's for, what it does.
- [`CONTEXT.md`](./CONTEXT.md) — the canonical domain vocabulary (read this before contributing).
- [`docs/adr/`](./docs/adr/) — Architecture Decision Records (the "why" behind every load-bearing choice).
- [`docs/dev/`](./docs/dev/) — contributor docs: domain-language maintenance, coding conventions, review guidelines, git workflow.
- [`docs/topics/`](./docs/topics/) — end-user docs, embedded into the binary and surfaced via `dsp docs <topic>` (created during implementation; see ADR-0010).
- [`docs/PROJECT_PLAN.md`](./docs/PROJECT_PLAN.md) — the implementation checklist with dependency order.
- [`docs/BACKLOG.md`](./docs/BACKLOG.md) — holding pen for ideas surfaced mid-task.
- [`skill/SKILL.md`](./skill/SKILL.md) — Claude Code skill, symlinked into `~/.claude/skills/` by `just install`.
## Install
```bash
cargo install dsp-cli
```
The primary install path, once 0.1.0 is published to crates.io (not yet done — see
[`docs/adr/0011-distribution-and-discoverability.md`](./docs/adr/0011-distribution-and-discoverability.md)). Requires a Rust
toolchain (`rustup`).
Until then, or to track `main` ahead of a release, install from source:
```bash
cargo install --git https://github.com/dasch-swiss/dsp-incubator dsp-cli
```
For local development:
```bash
git clone https://github.com/dasch-swiss/dsp-incubator
cd dsp-incubator/dsp-cli
just install # places binary at ~/.cargo/bin/dsp + symlinks the skill
```
## License
[Apache-2.0](./LICENSE).