The fastest way to get started with a new project:
# 1. Authenticateatmn login# 2. Initialize project with templateatmn init# → Choose template (e.g., T3 Chat)# → Customize plan names and pricing# 3. Deploy to sandbox for testingatmn push# 4. Preview locally while developingatmn preview
# Start with latest configatmn pull# Edit autumn.config.ts# - Add new features# - Modify pricing# - Adjust plan limits# Test locally (no API calls)atmn preview# Deploy to sandbox when readyatmn push# Generate updated SDK typesatmn pull # Auto-generates @useautumn-sdk.d.ts
# Start local Autumn server (separate terminal)# docker-compose up autumn-api# Use local API serveratmn push --localatmn pull --local# Preview connects to local dashboardatmn dashboard --local # → http://localhost:3000# Mix local API with production dataatmn pull --local --prod # Pull prod data to local server
# Deploy new feature to sandboxatmn push# Test feature behavior with data commandsatmn customers --headless --limit 5atmn features --headless --id "new_feature"# Create test usage events (via your app or dashboard)# Monitor with events commandatmn events --headless --feature "new_feature" --time 24h# Verify billing calculationsatmn customers --headless --id "test_customer" --format json
# Nuclear option: destroy all sandbox dataatmn nuke# → Multiple confirmations required# → Only works in sandbox environment# Rebuild from configurationatmn push# Create fresh test data (via dashboard or API)# Test complete customer journey
Nuke is destructive! Only use atmn nuke when you want to completely start over. It permanently deletes all sandbox data.
# Business team makes changes in dashboard# Developer syncs changes:atmn pullgit commit -am "Sync pricing changes from dashboard"git push origin main# Generated types ensure code stays in sync# TypeScript will show errors for removed features
# Different API keys for each environment# .env.developmentAUTUMN_SECRET_KEY=am_sk_test_dev_123...# .env.staging AUTUMN_SECRET_KEY=am_sk_test_staging_123...# .env.productionAUTUMN_PROD_SECRET_KEY=am_sk_live_prod_123...# Deploy to specific environmentsNODE_ENV=development atmn pushNODE_ENV=staging atmn pushNODE_ENV=production atmn push --prod
# Conflict in autumn.config.ts during git mergegit status# both modified: autumn.config.ts# Option 1: Use remote version and customizegit checkout --theirs autumn.config.tsatmn pull --force # Get remote state# Edit to add your changesatmn push# Option 2: Use local version and syncgit checkout --ours autumn.config.tsatmn push # Deploy your version# Handle any conflicts in Autumn
# Sandbox and production out of syncatmn pull --prod # Get production stateatmn push # Push to sandbox# Or sync in opposite directionatmn pull # Get sandbox state atmn push --prod # Push to production (careful!)# Compare environmentsatmn plans --prod --headless --format json > prod_plans.jsonatmn plans --headless --format json > sandbox_plans.jsondiff prod_plans.json sandbox_plans.json
These workflows provide battle-tested patterns for using the CLI effectively across different team sizes, technical skill levels, and deployment strategies.