Commands Reference
Rakiba uses Babashka (bb) tasks for all operations. Commands are organized by category and where they should be run from.
Rakiba Root Commands
Run these from the rakiba/ directory:
| Command | Description |
|---|---|
bb init <project> | Create a new project |
bb project:sync <project> | Update project’s lib space from templates |
bb project:sync:all | Sync all projects in projects/ |
bb project:scaffold <project> | Setup and scaffold project after init |
bb project:example <project> <type> | Scaffold example code (api, routes, websocket, etc.) |
bb project:bench <project> <server> | Benchmark server performance |
bb project:list | List discovered projects |
bb project:start <project> | Start a project |
bb project:stop <project> | Stop a project |
bb project:restart <project> | Restart a project |
bb project:logs <project> | Tail project logs |
bb project:status | Show status of all projects with metrics |
bb admin | Start admin web dashboard on port 4000 |
bb admin:tui | Launch interactive TUI dashboard |
Project Commands
Run these from your project directory (projects/<name>/):
| Command | Description |
|---|---|
bb clj | Start Clojure nREPL server |
bb cljs | Start shadow-cljs with hot reload |
bb sass | Watch and compile SASS |
bb test | Run tests |
bb build | Build uberjar for production |
VPS Commands
Manage remote VPS targets for deployment:
| Command | Description |
|---|---|
bb vps:add <user@host> --name <name> | Add VPS to inventory (verifies SSH connectivity) |
bb vps:add <user@host> --name <name> --port 2222 --key ~/.ssh/id_rsa | Add with custom SSH port and key |
bb vps:list | List all VPS targets |
bb vps:remove <name> | Remove VPS from inventory |
bb vps:status <name> | Show VPS connection status |
bb vps:verify <name> | Verify VPS connectivity and requirements |
Local Sandbox Commands
Create and manage Docker-based local environments for testing deployments:
| Command | Description |
|---|---|
bb local:create ubuntu@24.04 --name <name> | Create new sandbox |
bb local:destroy <name> [--force] | Destroy sandbox |
bb local:list [--quiet] | List all sandboxes |
bb local:status <name> [--json] | Show sandbox status |
bb local:start <name> [--no-wait] | Start a stopped sandbox |
bb local:stop <name> [--timeout <seconds>] | Stop sandbox container |
bb local:shell <name> [--root] [--cmd CMD] | Open shell in sandbox |
bb local:logs <name> [service] | View sandbox logs |
bb local:upgrade <name> | Upgrade sandbox to match config |
bb local:dns-setup | Configure host DNS for *.rakiba.test (requires sudo) |
bb local:dns-status | Check DNS configuration status |
bb local:dns-remove | Remove DNS configuration |
bb deploy <project> --target <name> | Deploy project to sandbox or VPS |
bb deploy:status --target <name> | Show deployed apps status |
bb deploy:rollback <project> --target <name> [--to <sha>] | Rollback deployment |
bb deploy:history <project> --target <name> | Show deployment history |
Service Commands
Manage Docker Compose services for local development (PostgreSQL, Valkey, Datomic, etc.):
| Command | Description |
|---|---|
bb services:up | Start all managed services |
bb services:down | Stop all managed services |
bb services:reset | Reset managed services (removes volumes) |
bb services:logs [service] | Tail managed service logs |
bb services:setup | First-time setup of managed services |
bb services:sync-acl | Regenerate Valkey ACL file and reload |
Backup Commands
Backup and restore project data:
| Command | Description |
|---|---|
bb backup <project> | Backup a project |
bb backup:all | Backup all projects |
bb backup:list <project> | List backups for a project |
bb backup:restore <project> <backup-id> [--yes] | Restore from backup |
bb backup:verify <project> | Verify backup integrity |
bb backup:prune [--dry-run] | Run retention cleanup |
bb backup:status | Show backup status |
bb backup:rotate-key <new-key-id> | Rotate encryption key |
Testing Commands
Run tests and manage test environments:
| Command | Description |
|---|---|
bb test | Run all tests |
bb test:lib | Run lib unit tests (fast, <5s) |
bb test:repl | Start REPL for fast test iteration |
bb test:integration | Run all integration tests |
bb test:integration:quick | Run quick smoke test subset |
bb test:ssh-container:create | Create SSH test container |
bb test:ssh-container:destroy | Destroy SSH test container |
bb test:ssh-container:status | Show SSH test container status |
Admin Commands
Admin dashboard and user management:
| Command | Description |
|---|---|
bb admin | Start admin web dashboard (GraalVM binary) |
bb admin:jvm | Start admin via JVM (dev mode, slower startup) |
bb admin:tui | Launch interactive TUI dashboard |
bb admin:build | Build GraalVM native-image admin binary |
bb admin:sass | Watch and compile admin SASS to CSS |
bb admin:sass:build | Compile admin SASS to CSS (one-time) |
bb admin:user:create --username NAME --role ROLE | Create admin user |
bb admin:user:reset-password --username NAME | Reset admin user password |
bb admin:user:list | List admin users |
Utility Commands
Miscellaneous development utilities:
| Command | Description |
|---|---|
bb util:deps | Check what dependency updates are available |
bb secrets:generate <project> | Generate cryptographic secrets for a project |
bb tmux | Launch tmux session from :startup config |