a4-cli
Command-line tool for building, deploying, and managing Arete stream stacks.
Installation
From Source
Quick Start
# Initialize project
# Authenticate
# Build explicit artifacts and deploy the exact manifest
The deployment returns operational bindings for the exact StackManifest.
Command Overview
| Command | Description |
|---|---|
a4 init |
Initialize project |
a4 program build <idl> |
Build a portable ProgramSpec |
a4 stack compose |
Compose ProgramSpecs and aliased LiveSpecs |
a4 up <manifest> |
Deploy an exact StackManifest |
a4 status |
Show project overview |
a4 stack list |
List all stacks |
a4 stack show <name> |
Show stack details |
a4 stack rollback <name> |
Rollback to previous version |
Daily Workflow
# Make changes to your stack, rebuild
# Deploy
# Check status
Stack Commands
a4 stack list
List all stacks with deployment status:
STACK STATUS VERSION URL
settlement-game active v3 wss://settlement-game.stack.arete.run
token-tracker active v1 wss://token-tracker.stack.arete.run
a4 stack show <name>
Show detailed information:
Shows: entity info, deployment status, version history, recent builds.
a4 stack push [name] (legacy)
Push a legacy configured composite input. This compatibility path is retained only through August 31, 2026:
a4 stack versions <name>
Show version history:
a4 stack rollback <name>
Rollback to a previous version:
a4 stack delete <name>
Delete a stack:
Deployment
a4 up <manifest>
Deploy one exact local StackManifest:
Composite .stack.json is an input-only compatibility adapter through August
31, 2026. New deployments use the manifest path.
Authentication
Credentials: ~/.arete/credentials.toml
SDK Generation
SDK generation writes local source and does not publish a package.
Configuration
File: arete.toml
[]
= "my-project"
[]
= "./generated"
# Legacy composite inputs (compatibility only through August 31, 2026)
[[]]
= "my-game"
= ".arete/SettlementGame.stack.json"
For most projects, you only need:
[]
= "my-project"
New SDK and deployment workflows pass an explicit StackManifest path.
Endpoint and DNS Handoff
Live, Program Read, chain, and transaction endpoints are independent bindings.
Operators map them through their chosen DNS/CDN provider and publish generated
SDK packages manually. Hosted TypeScript composition output preserves the full
Solana gateway descriptors and exports a create<StackName>HostedSession
helper. That helper creates authenticated chain and transaction transports from
the generated bindings; the generic composition helper still requires explicit
transports.
Environment Variables
| Variable | Description |
|---|---|
ARETE_API_URL |
Override API endpoint |
Troubleshooting
| Error | Solution |
|---|---|
Not authenticated |
Run a4 auth login |
Stack not found |
Check a4 stack list |
StackManifest not found |
Run cargo build and use the generated manifest path |
Build failed |
Check a4 status for build details |
License
Apache-2.0