ao-forge
v2.1.2
Published
AO-Forge: CLI tool to create AO-powered applications
Maintainers
Readme
AO-Forge
Repo metadata
🔥 AO-Forge: Your AI-powered CLI companion for building, managing, and deploying AO smart contracts with Next.js, React, Vue, Nuxt.js, and SvelteKit integration.
Documentation
- Quick Start Guide — Get up and running in minutes
- CLI Reference — Complete command documentation and options
Features
- 🚀 Streamlined Project Creation - Clone framework templates directly from GitHub
- 🔄 Multiple Framework Support - Next.js, React, Vue, Nuxt.js, and SvelteKit
- 📦 Automatic Setup - Dependencies, Git, and AO configuration in one command
- 🎯 Smart Configuration - Auto-detects Lua files and creates
ao.config.yml - 💻 Interactive CLI - User-friendly prompts and guided setup
- ⚡️ Built with TypeScript - Full type safety and modern development
- 🖥️ Integrated Development -
ao-forge devstarts both frontend and AO process - 🤖 AI-Powered Code Generation - Generate AO contracts with AI assistance
- 🔨 Simple Build System - Framework-agnostic build and deployment
- ⚙️ Configuration Management - Centralized AO process configuration
- 🔧 AO Process Management - Start, stop, and monitor AO processes with
ao-forge process
Built with
TypeScript, Node.js, Commander, Inquirer, OpenAI API, Anthropic API, fs-extra, ora, chalk, Jest, pnpm
Installation
# Using npm
npm install -g ao-forge
# Using pnpm (recommended)
pnpm add -g ao-forge
# Or use directly with npx
npx ao-forge init my-app
Quick Start
See the Quick Start Guide for step-by-step instructions.
CLI Usage
See the CLI Reference for all commands, options, and advanced usage.
AI-Powered Development
Forge includes advanced AI capabilities for AO development. See the AI Commands section in the CLI Reference for details and examples.
AI Integration
Forge supports AI-powered code generation and AO process management. See CLI Reference for complete documentation.
Project Structure
my-app/
├── README.md
├── node_modules/
├── package.json
├── ao.config.yml # AO configuration file (auto-generated)
├── tsconfig.json
├── ao/ # AO process files (auto-detected)
│ └── *.lua
└── [framework-specific-files]
├── src/ # React/Vue/SvelteKit projects
├── app/ # Next.js/Nuxt.js projects
└── [framework-specific-structure]Configuration (ao.config.yml)
The configuration file is now fully documented in the CLI Reference. Use the provided template as a starting point.
Command Options
| Command | Option | Description |
|----------------------|---------------------------|------------------------------------------------|
| init | -f, --framework | Framework (nextjs, react, vue, nuxtjs, svelte) |
| | -p, --path | Path to create project |
| | --package-manager | Package manager (npm, yarn, pnpm) |
| | --port | Development server port |
| | --process-name | AO process name |
| | --git | Initialize Git repository |
| process start | -n, --name <name> | Name for the AO process |
| | --wallet <path> | Path to wallet file |
| | --data <data> | Process data |
| | --module <module> | Process module |
| process stop | | Stop running AO process |
| process list | | List all running processes |
| dev | --port <port> | Development server port |
| | --process-name <name> | AO process name |
| ai generate | -p, --prompt <text> | Description of code to generate |
| | -t, --type <type> | Type of code (contract/module/test) |
| | -o, --output <path> | Output file path |
| | --provider <provider> | AI provider (openai/anthropic) |
| | --model <model> | Specific AI model to use |
Development
# Clone the repository
git clone https://github.com/Utitofon-Udoekong/aoforge-cli.git
cd aoforge-cli
# Install dependencies
pnpm install
# Build the project
pnpm build
# Link for local testing
pnpm run link:global
# Test the CLI
ao-forge init test-app
# Unlink when done
pnpm run unlink:globalDevelopment Scripts
pnpm dev # Watch mode
pnpm build # Build project
pnpm test:cli # Test CLI directly
pnpm link:global # Link globally
pnpm unlink:global # Unlink global installationRunning AO Processes
ao-forge provides streamlined AO process management:
# Start an AO process (automatically loads Lua files from ao.config.yml)
ao-forge process start
# Start with custom name
ao-forge process start -n "my-process"
# List running processes
ao-forge process list
# Stop a process
ao-forge process stop
# Start development server with AO integration
ao-forge devThe ao-forge process start command automatically:
- Detects Lua files in your project
- Loads them into the AO process
- Uses configuration from
ao.config.yml - Switches to interactive AOS CLI for real-time development
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
Released under MIT by @Utitofon-Udoekong.
Support
For support, please open an issue on GitHub.
