CLI Command Reference
Every Loom command, the flags it accepts, and the env vars it consults. Run loom <command> --help for the same information at the terminal.
loom new <project-name>
Scaffold a new Loom project.
| Flag | Purpose |
|---|---|
--module |
Go module path (default: github.com/<org>/<name>) |
--dir |
Directory to create the project in (default: ./<name>) |
--org |
GitHub org / OrbWeaver github_org (default: $GITHUB_ORG or orbweaver-dev) |
--private |
Create the GitHub repo as private |
--description |
Project description (used in GitHub + OrbWeaver) |
--no-github |
Skip GitHub repo creation |
--no-orbweaver |
Skip OrbWeaver Project registration |
Env: GITHUB_TOKEN, ORBWEAVER_API_KEY, GITHUB_ORG (all optional). When tokens are missing, the corresponding integration is skipped silently.
loom add model <ModelName>
Scaffold threads/<modelname>.yaml with a starter Thread definition. Refuses to overwrite an existing file.
loom check
Validate every Thread under threads/. Exits non-zero on any error.
loom weave
Compile every Thread into Go + SvelteKit + SQL + HTMX under .loom/. With ORBWEAVER_API_KEY set, also updates the OrbWeaver Project's thread_count and last_weave fields.
loom serve
Run the HTTP server.
| Flag | Default | Purpose |
|---|---|---|
--addr |
:8080 |
Listen address |
--no-auth |
off | Disable JWT auth (dev only — only Public-role permissions reachable) |
--cors |
* |
CORS allow-list (comma-separated) |
Env: DATABASE_URL (required), LOOM_SECRET (required unless --no-auth).
SIGINT / SIGTERM trigger a graceful shutdown bounded by 10 seconds.
loom stitch
Reconcile the live database schema with Thread definitions.
| Flag | Purpose |
|---|---|
--preview |
Show the plan; don't touch the database |
--yes / -y |
Apply without confirmation prompt |
--env |
Environment label for audit (default dev) |
--no-live |
Preview against an empty schema; no DB connection needed (implies --preview) |
Env: DATABASE_URL (required unless --no-live).
loom eject <ModelName>
Move generated Go for one model from .loom/go/... to custom/..., stripping the "Generated by Loom" header.
| Flag | Purpose |
|---|---|
--force / -f |
Overwrite existing files in custom/ |
loom deploy
Emit production deployment artefacts (Dockerfile, .dockerignore, deploy/start.sh).
| Flag | Purpose |
|---|---|
--force / -f |
Overwrite existing artefacts |
loom report [message]
Append a timestamped report to the OrbWeaver Project's notes field. Stages to .loom/pending-reports/<timestamp>.md if ORBWEAVER_API_KEY is unset.
| Flag | Purpose |
|---|---|
--project |
OrbWeaver Project name (default loom) |
--from-file |
Read message from file (- for stdin) |
loom sync
Full OrbWeaver bootstrap + report flush. Idempotent — re-running is safe.
| Flag | Purpose |
|---|---|
--bootstrap |
Create the Loom Build Report DocType + 8 Custom Fields on Project (System Manager key required, one-time) |
--dry-run |
Print the plan; don't call OrbWeaver or GitHub |
--yes / -y |
Apply without confirmation prompt |
--project |
OrbWeaver project_name (defaults to loom.yaml project) |
--org |
GitHub org / OrbWeaver github_org |
--private |
Create the GitHub repo as private |
--no-github |
Skip GitHub repo creation |
loom doc push
Render docs/*.md and sync each to a Help Article on OrbWeaver.
| Flag | Purpose |
|---|---|
--dir |
Directory to scan (default docs) |
--dry-run |
Parse + render but don't call OrbWeaver |
--unpublish-all |
Force every article to published: 0 |
--only |
Push only the article whose route equals this value |
Env: ORBWEAVER_API_KEY (required, unless --dry-run).
Universal flags
Inherited from Cobra:
--help/-h— show command helploom completion <shell>— generate shell completion scripts