CLI Reference
Every script and command available in the repository.
CLI Reference
ATHELOS ships with scripts for setup, seeding, and maintenance. This page lists every command.
Running scripts
Scripts run from the repo root:
cd /home/kali/soc-solo-os
pnpm <script-name>Or with arguments:
SEED_EMAIL=you@example.com SEED_PASSWORD='secret' pnpm seed:userDevelopment
| Command | Purpose |
|---|---|
pnpm dev | Run the web app (port 3000) |
pnpm dev:worker | Run the background worker |
pnpm dev:site | Run the public site (port 3001) |
pnpm build | Build all apps for production |
pnpm build:site | Build only the public site |
pnpm lint | Run Biome lint across the monorepo |
pnpm lint:fix | Lint and auto-fix |
pnpm format | Format all files with Biome |
pnpm typecheck | TypeScript check across all packages |
User management
Seed the owner account
SEED_EMAIL=you@example.com SEED_PASSWORD='your-password' pnpm seed:userCreates the owner user. If the user already exists, updates the password and leaves everything else intact.
Database
Run migrations
cd packages/db
pnpm drizzle-kit migrateApplies all pending migrations to the database. Idempotent — safe to run repeatedly.
Generate a new migration
cd packages/db
pnpm drizzle-kit generateCompares the schema file against the last migration and generates a new
one. Use after editing packages/db/src/schema.ts.
Open Drizzle Studio
cd packages/db
pnpm drizzle-kit studioOpens a web UI at https://local.drizzle.studio for browsing the
database.
Seeds
Every seed is idempotent — safe to re-run.
Knowledge base
pnpm seed:kbSeeds the base knowledge articles (playbook stubs, references).
Playbooks
pnpm seed:playbook-ptes
pnpm seed:playbook-owasp-wstg
pnpm seed:playbook-owasp-mastg
pnpm seed:playbook-owasp-api-top10Additional playbook seeds exist for every framework. See the full list
in package.json.
Engagements
pnpm seed:engagementsSeeds a demo engagement with a client, scope, and sample findings.
Clients
pnpm seed:clientsSeeds sample clients with contacts and interactions.
Contracts
pnpm seed:contractsSeeds contract templates (MSA, SoW, NDA).
Rates
pnpm seed:ratesSeeds the default rate cards.
Invoices
pnpm seed:invoicesSeeds sample invoices for the demo client.
Toolbox
pnpm seed:tools
pnpm seed:wordlists
pnpm seed:payloads
pnpm seed:labs
pnpm seed:infraSeeds the toolbox catalogs: 21 tools, 12 wordlists, 29 payloads, 10 labs, and 7 infrastructure entries.
Reports
pnpm seed:reportSeeds a sample report for the demo engagement.
Embeddings
Reindex all KB articles
pnpm reindex:embeddingsWalks every article and recomputes its embedding. Progress is printed. Requires Ollama running with the embedding model pulled.
Reindex from the UI
From Settings → AI → Embeddings, click Reindex all.
Backups
Run a backup manually
cd backups
./backup.shRuns restic, uploads a snapshot to B2, prunes old snapshots.
Restore
cd backups
./restore.sh db <snapshot-id> # restore database
./restore.sh files <snapshot-id> # restore MinIO data
./restore.sh path <snapshot-id> /path # restore one fileList snapshots
cd backups
source .env
restic snapshotsVerify integrity
cd backups
source .env
restic checkMaintenance
Check for dependency vulnerabilities
pnpm auditList outdated packages
pnpm outdatedUpdate dependencies
pnpm updateBumps every package to the latest version within its semver range.
Force resolution of a specific version
Edit package.json:
{
"pnpm": {
"overrides": {
"package-name": "1.2.3"
}
}
}Then:
pnpm installDocker
Start services
cd docker
docker compose up -dStop services
cd docker
docker compose downData persists in docker/data/. To wipe everything, rm -rf docker/data
before restarting.
View logs
cd docker
docker compose logs -f postgres
docker compose logs -f redis
docker compose logs -f minio
docker compose logs -f meilisearchOpen Postgres shell
docker exec -it soc_postgres psql -U soc -d soc_soloOpen Redis CLI
docker exec -it soc_redis redis-cli -a <password>Open MinIO console
Navigate to http://localhost:9001 in your browser. Log in with the
credentials from docker/.env.
Development-only commands
Clear Next.js cache
cd apps/site
rm -rf .nextOr for the main app:
cd apps/web
rm -rf .nextUseful when the dev server behaves oddly.
Clear pnpm store
pnpm store pruneRemoves unused packages from the global store.
Reinstall all dependencies
rm -rf node_modules apps/*/node_modules packages/*/node_modules
pnpm installNuclear option. Use when the install is corrupted.
Where to go next
- Environment variables — every env var
- Database — schema reference
- Troubleshooting — when scripts fail