build command
Build your AO-powered application for production deployment.
Syntax
ao-forge build [options]
Options
Option | Description | Default |
---|---|---|
--framework <framework> | Framework to use | Auto-detect |
--output <path> | Output directory | ./dist |
--optimize | Enable optimization | true |
--source-maps | Generate source maps | false |
--minify | Minify assets | true |
--static | Build for static hosting | false |
--server | Build for server deployment | false |
--process | Build AO processes | true |
--deploy | Deploy after build | false |
--platform <platform> | Deployment platform | - |
--env <environment> | Build environment | production |
--help | Show help information | - |
Examples
Basic Usage
# Build for production
ao-forge build
# Build with specific framework
ao-forge build --framework nextjs
ao-forge build --framework nuxtjs
# Build with custom output directory
ao-forge build --output ./build
Advanced Usage
# Build with optimization
ao-forge build --optimize
# Build with source maps
ao-forge build --source-maps
# Build for static hosting
ao-forge build --static
# Build for server deployment
ao-forge build --server
# Build and deploy
ao-forge build --deploy
Build Types
Production Build
# Standard production build
ao-forge build
# This creates:
# - Optimized frontend bundle
# - Minified assets
# - Production-ready AO processes
# - Deployment artifacts
Static Build
# Build for static hosting
ao-forge build --static
# This creates:
# - Static HTML files
# - Optimized assets
# - Static AO processes
# - CDN-ready files
Server Build
# Build for server deployment
ao-forge build --server
# This creates:
# - Server-side rendered files
# - API routes
# - Server-ready AO processes
# - Docker-ready files
Framework-Specific Builds
Next.js Build
# Build Next.js application
ao-forge build --framework nextjs
# Build with static export
ao-forge build --framework nextjs --static
# Build with custom config
ao-forge build --framework nextjs --config ./next.config.js
Nuxt.js Build
# Build Nuxt.js application
ao-forge build --framework nuxtjs
# Build with static generation
ao-forge build --framework nuxtjs --static
# Build with custom config
ao-forge build --framework nuxtjs --config ./nuxt.config.ts
AO Process Build
Process Optimization
# Build AO processes
ao-forge build --process
# Optimize Lua code
ao-forge build --process --optimize
# Minify Lua files
ao-forge build --process --minify
Process Deployment
# Deploy processes to Arweave
ao-forge build --process --deploy
# Deploy with specific wallet
ao-forge build --process --deploy --wallet ./wallet.json
# Deploy to testnet
ao-forge build --process --deploy --testnet
Build Optimization
Frontend Optimization
- Code splitting - Automatic code splitting for better performance
- Tree shaking - Remove unused code
- Minification - Compress JavaScript and CSS
- Asset optimization - Optimize images and fonts
- Bundle analysis - Analyze bundle size
AO Process Optimization
- Lua minification - Remove whitespace and comments
- Dead code elimination - Remove unused functions
- Constant folding - Optimize constant expressions
- Function inlining - Inline small functions
Environment-Specific Builds
Development Build
# Development build
ao-forge build --env development
# With debugging
ao-forge build --env development --debug
Staging Build
# Staging build
ao-forge build --env staging
# With staging configuration
ao-forge build --env staging --config ./config/staging.yml
Production Build
# Production build
ao-forge build --env production
# With production optimization
ao-forge build --env production --optimize
Deployment Integration
Build and Deploy
# Build and deploy to Vercel
ao-forge build --deploy --platform vercel
# Build and deploy to Netlify
ao-forge build --deploy --platform netlify
# Build and deploy to GitHub Pages
ao-forge build --deploy --platform github
Platform-Specific Builds
# Vercel build
ao-forge build --platform vercel
# Netlify build
ao-forge build --platform netlify
# Docker build
ao-forge build --platform docker
Build Configuration
ao.config.yml
# Build configuration
build:
output: './dist'
optimize: true
sourceMaps: false
minify: true
compression: true
# Process configuration
processes:
- name: 'counter'
file: './ao/counter.lua'
optimize: true
- name: 'token'
file: './ao/token.lua'
optimize: true
# Deployment configuration
deploy:
platform: 'vercel'
environment: 'production'
domain: 'my-app.vercel.app'
Build Scripts
package.json Scripts
{
"scripts": {
"build": "ao-forge build",
"build:prod": "ao-forge build --env production",
"build:staging": "ao-forge build --env staging",
"build:static": "ao-forge build --static",
"build:server": "ao-forge build --server"
}
}
Error Handling
Common Errors
- Build fails
Error: Build failed with errors Solution: Check for syntax errors and missing dependencies
- Process build fails
Error: Process build failed Solution: Check Lua syntax and process configuration
- Deployment fails
Error: Deployment failed Solution: Check deployment configuration and credentials
Best Practices
Build Optimization
- Use production builds for deployment
- Enable optimization for better performance
- Minify assets to reduce bundle size
- Use source maps for debugging
- Test builds before deployment
Deployment
- Use staging environment for testing
- Automate deployment with CI/CD
- Monitor deployment status
- Rollback quickly if issues occur
- Use CDN for static assets
Related Commands
ao-forge dev
- Start development serverao-forge init
- Create new projectao-forge config
- Manage configuration