Maand documentation
Maand is an agentless workload orchestrator. State lives in a local bucket (maand.db, KV, secrets, staged files). Workers are reached over SSH from the CLI host; hooks run on the host with python3, bun, ruby, or bash.
Three tiers
Every page belongs to one tier. Each tier has a fixed format.
| Tier | Path | Format | Start here |
|---|---|---|---|
| Tutorial | start/ | Step-by-step chapters 1→8; one hello example |
Tutorial index |
| Guides | guides/ | Task → prerequisites → steps → verify | Guides index |
| Reference | reference/ | Schemas, flags, tables — lookup only | Reference index |
New to maand? Read the tutorial in order. Use Guides when you need one workflow; use Reference for flags and field definitions.
Each topic has one canonical page. Guides link to Reference; they do not duplicate full schemas.
Typical workflow
maand init → edit workspace → maand build → maand deploy → health_check / job ops → gc
Reader paths
| Goal | Path |
|---|---|
| Learn from scratch | Tutorial chapters 1–8 |
| First deploy only | Chapter 2 — First deploy |
| Glossary | concepts |
| Feature checklist | overview |
| Rolling cluster upgrade | Guide: rolling deploy → Reference: deploy |
| Deploy failed or skipped | Guide: debugging deploy → Reference: logging |
| Disable / drain | Guide: disable and drain |
| Job hooks | Guide: hooks tutorial → Reference: hook API |
| Manifest fields | Reference: manifest |
Inspect state
maand info
maand cat workers
maand cat jobs
maand cat allocations
maand cat deployments
maand logs show --job <job> --format human