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
Registry Exploration
Exploration uses the same deployment-pinned install descriptors as a4 install, so the reported StackManifest, LiveSpec, AST, and Program Release
identities are the ones an installation will consume.
Legacy stack forms remain valid:
Every JSON explore response includes schemaVersion. Stack exploration shows
LiveSpec aliases without flattening multi-live compositions and includes only
the views selected by the exact StackManifest. If descriptor assembly fails,
the command reports the deployment/publication problem instead of falling back
to a different AST.
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, Python, and Rust installs preserve
the full Solana gateway descriptors. Their ordinary clients select the hosted
chain and transaction transports automatically; explicit transports are
overrides. TypeScript compositions also retain a
create<StackName>HostedSession convenience helper. Local/self-hosted output
does not contain hosted bindings and keeps using explicitly configured or
tenant-local 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