Development Workflow
Learn how to use ao-forge dev
effectively with AOS CLI integration for a smooth development experience.
Overview
The development workflow in ao-forge combines frontend development with AO process management, providing a seamless experience for building AO-powered applications.
Basic Development Commands
# Start development server only
ao-forge dev
# Start both development server and AO processes
ao-forge dev:ao
# Start with monitoring
ao-forge dev:ao -m
# Start with process evaluation
ao-forge dev:ao -e "your-eval-input"
Development Server
Frontend Development
# Start Next.js development server
ao-forge dev --framework nextjs
# Start Nuxt.js development server
ao-forge dev --framework nuxtjs
# Custom port
ao-forge dev --port 3001
# Open browser automatically
ao-forge dev --open
Hot Reloading
The development server includes:
- Hot module replacement for frontend changes
- Live reloading for configuration changes
- Error overlay for debugging
- TypeScript support with type checking
AO Process Management
Starting AO Processes
# Start with default configuration
ao-forge dev:ao
# Start with custom process name
ao-forge dev:ao --process my-process
# Start with specific wallet
ao-forge dev:ao --wallet ./wallet.json
# Start with monitoring
ao-forge dev:ao --monitor
Process Configuration
# ao.config.yml
luaFiles: ['counter.lua', 'token.lua']
packageManager: 'pnpm'
framework: 'nextjs'
autoStart: true
ports:
dev: 3000
processName: 'my-process'
monitoring: true
AOS CLI Integration
Using AOS CLI Directly
# Install AOS CLI
npm i -g https://get_ao.g8way.io
# Start a process
aos my-process
# Load a contract
aos my-process --load ./ao/contract.lua
# Send a message
aos my-process --eval "Send({Target = 'process-id', Action = 'increment'})"
Integrated Workflow
# ao-forge handles AOS CLI integration
ao-forge dev:ao
# This automatically:
# 1. Starts the frontend development server
# 2. Initializes AO processes
# 3. Loads Lua contracts
# 4. Sets up monitoring
# 5. Provides process endpoints
Development Features
Process Monitoring
# Monitor process activity
ao-forge dev:ao --monitor
# Watch specific process
ao-forge dev:ao --watch my-process
# View process logs
ao-forge dev:ao --logs
Debugging
# Enable debug mode
ao-forge dev:ao --debug
# Verbose logging
ao-forge dev:ao --verbose
# Step-by-step execution
ao-forge dev:ao --step
Environment Configuration
Development Environment
# Set environment
export NODE_ENV=development
# Set AO environment
export AO_ENV=testnet
# Set custom configuration
export AO_CONFIG=./config/dev.yml
Environment Variables
# Frontend environment
NEXT_PUBLIC_AO_PROCESS_ID=your-process-id
NEXT_PUBLIC_AO_GATEWAY=https://arweave.net
# AO environment
AO_WALLET_PATH=./wallet.json
AO_GATEWAY=https://arweave.net
AO_MODULE=your-module-id
Workflow Best Practices
1. Start with Development Server
# Always start with the development server
ao-forge dev
2. Add AO Processes Gradually
# Start with one process
ao-forge dev:ao --process counter
# Add more processes as needed
ao-forge dev:ao --process token
ao-forge dev:ao --process dao
3. Use Monitoring
# Always use monitoring in development
ao-forge dev:ao --monitor
4. Test Frequently
# Test your processes regularly
ao-forge test
# Run specific tests
ao-forge test --process counter
Common Workflows
New Feature Development
- Start development server:
ao-forge dev
- Create new process:
ao-forge ai generate process feature
- Test process:
ao-forge test --process feature
- Integrate with frontend
- Deploy:
ao-forge build
Bug Fixing
- Enable debug mode:
ao-forge dev:ao --debug
- Monitor process activity:
ao-forge dev:ao --monitor
- Check logs:
ao-forge dev:ao --logs
- Fix issues and test
- Deploy fix:
ao-forge build
Performance Optimization
- Profile processes:
ao-forge profile
- Monitor resource usage:
ao-forge dev:ao --monitor
- Optimize code
- Test performance:
ao-forge test --performance
- Deploy optimized version:
ao-forge build
Troubleshooting
Common Issues
- Port already in use
# Kill process using port lsof -i :3000 kill -9 <PID>
- AO process not starting
# Check AOS CLI installation aos --version # Check wallet aos --wallet ./wallet.json
- Frontend not connecting to AO
# Check process ID ao-forge process list # Verify configuration ao-forge config validate
Getting Help
# Get help with dev commands
ao-forge dev --help
# Check status
ao-forge status
# View logs
ao-forge logs