core dev
Multi-repo workflow and portable development environment.
Multi-Repo Commands
| Command | Description |
|---|---|
| work | Full workflow: status + commit + push |
health | Quick health check across repos |
commit | Claude-assisted commits |
push | Push repos with unpushed commits |
pull | Pull repos that are behind |
issues | List open issues |
reviews | List PRs needing review |
ci | Check CI status |
impact | Show dependency impact |
api | Tools for managing service APIs |
sync | Synchronize public service APIs |
Task Management Commands
Note: Task management commands have moved to
core ai.
| Command | Description |
|---|---|
ai tasks | List available tasks from core-agentic |
ai task | Show task details or auto-select a task |
ai task:update | Update task status or progress |
ai task:complete | Mark a task as completed |
ai task:commit | Auto-commit changes with task reference |
ai task:pr | Create a pull request for a task |
Dev Environment Commands
| Command | Description |
|---|---|
install | Download the core-devops image |
boot | Start the environment |
stop | Stop the environment |
status | Show status |
shell | Open shell |
serve | Start dev server |
test | Run tests |
claude | Sandboxed Claude |
update | Update image |
Dev Environment Overview
Core DevOps provides a sandboxed, immutable development environment based on LinuxKit with 100+ embedded tools.
Quick Start
# First time setup
core dev install
core dev boot
# Open shell
core dev shell
# Or mount current project and serve
core dev servedev install
Download the core-devops image for your platform.
core dev installDownloads the platform-specific dev environment image including Go, PHP, Node.js, Python, Docker, and Claude CLI. Downloads are cached at ~/.core/images/.
Examples
# Download image (auto-detects platform)
core dev installdev boot
Start the development environment.
core dev boot [flags]Flags
| Flag | Description |
|---|---|
--memory | Memory allocation in MB (default: 4096) |
--cpus | Number of CPUs (default: 2) |
--fresh | Stop existing and start fresh |
Examples
# Start with defaults
core dev boot
# More resources
core dev boot --memory 8192 --cpus 4
# Fresh start
core dev boot --freshdev shell
Open a shell in the running environment.
core dev shell [flags] [-- command]Uses SSH by default, or serial console with --console.
Flags
| Flag | Description |
|---|---|
--console | Use serial console instead of SSH |
Examples
# SSH into environment
core dev shell
# Serial console (for debugging)
core dev shell --console
# Run a command
core dev shell -- ls -ladev serve
Mount current directory and start the appropriate dev server.
core dev serve [flags]Flags
| Flag | Description |
|---|---|
--port | Port to expose (default: 8000) |
--path | Subdirectory to serve |
Auto-Detection
| Project | Server Command |
|---|---|
Laravel (artisan) | php artisan octane:start |
Node (package.json with dev script) | npm run dev |
PHP (composer.json) | frankenphp php-server |
| Other | python -m http.server |
Examples
# Auto-detect and serve
core dev serve
# Custom port
core dev serve --port 3000dev test
Run tests inside the environment.
core dev test [flags] [-- custom command]Flags
| Flag | Description |
|---|---|
--name | Run named test command from .core/test.yaml |
Test Detection
Core auto-detects the test framework or uses .core/test.yaml:
.core/test.yaml- Custom configcomposer.json→composer testpackage.json→npm testgo.mod→go test ./...pytest.ini→pytestTaskfile.yaml→task test
Examples
# Auto-detect and run tests
core dev test
# Run named test from config
core dev test --name integration
# Custom command
core dev test -- go test -v ./pkg/...Test Configuration
Create .core/test.yaml for custom test setup - see Configuration for examples.
dev claude
Start a sandboxed Claude session with your project mounted.
core dev claude [flags]Flags
| Flag | Description |
|---|---|
--model | Model to use (opus, sonnet) |
--no-auth | Don't forward any auth credentials |
--auth | Selective auth forwarding (gh, anthropic, ssh, git) |
What Gets Forwarded
By default, these are forwarded to the sandbox:
~/.anthropic/orANTHROPIC_API_KEY~/.config/gh/(GitHub CLI auth)- SSH agent
- Git config (name, email)
Examples
# Full auth forwarding (default)
core dev claude
# Use Opus model
core dev claude --model opus
# Clean sandbox
core dev claude --no-auth
# Only GitHub and Anthropic auth
core dev claude --auth gh,anthropicWhy Use This?
- Immutable base - Reset anytime with
core dev boot --fresh - Safe experimentation - Claude can install packages, make mistakes
- Host system untouched - All changes stay in the sandbox
- Real credentials - Can still push code, create PRs
- Full tooling - 100+ tools available in the image
dev status
Show the current state of the development environment.
core dev statusOutput includes:
- Running/stopped state
- Resource usage (CPU, memory)
- Exposed ports
- Mounted directories
dev update
Check for and apply updates.
core dev update [flags]Flags
| Flag | Description |
|---|---|
--apply | Download and apply the update |
Examples
# Check for updates
core dev update
# Apply available update
core dev update --applyEmbedded Tools
The core-devops image includes 100+ tools:
| Category | Tools |
|---|---|
| AI/LLM | claude, gemini, aider, ollama, llm |
| VCS | git, gh, glab, lazygit, delta, git-lfs |
| Runtimes | frankenphp, node, bun, deno, go, python3, rustc |
| Package Mgrs | composer, npm, pnpm, yarn, pip, uv, cargo |
| Build | task, make, just, nx, turbo |
| Linting | pint, phpstan, prettier, eslint, biome, golangci-lint, ruff |
| Testing | phpunit, pest, vitest, playwright, k6 |
| Infra | docker, kubectl, k9s, helm, terraform, ansible |
| Databases | sqlite3, mysql, psql, redis-cli, mongosh, usql |
| HTTP/Net | curl, httpie, xh, websocat, grpcurl, mkcert, ngrok |
| Data | jq, yq, fx, gron, miller, dasel |
| Security | age, sops, cosign, trivy, trufflehog, vault |
| Files | fd, rg, fzf, bat, eza, tree, zoxide, broot |
| Editors | nvim, helix, micro |
Configuration
Global config in ~/.core/config.yaml - see Configuration for examples.
Image Storage
Images are stored in ~/.core/images/:
~/.core/
├── config.yaml
└── images/
├── core-devops-darwin-arm64.qcow2
├── core-devops-linux-amd64.qcow2
└── manifest.jsonMulti-Repo Commands
See the work page for detailed documentation on multi-repo commands.
dev ci
Check GitHub Actions workflow status across all repos.
core dev ci [flags]Flags
| Flag | Description |
|---|---|
--registry | Path to repos.yaml (auto-detected if not specified) |
--branch | Filter by branch (default: main) |
--failed | Show only failed runs |
Requires the gh CLI to be installed and authenticated.
dev api
Tools for managing service APIs.
core dev api syncSynchronizes the public service APIs with their internal implementations.
dev sync
Alias for core dev api sync. Synchronizes the public service APIs with their internal implementations.
core dev syncThis command scans the pkg directory for services and ensures that the top-level public API for each service is in sync with its internal implementation. It automatically generates the necessary Go files with type aliases.