JSPM

ao-forge

2.1.2
    • ESM via JSPM
    • ES Module Entrypoint
    • Export Map
    • Keywords
    • License
    • Repository URL
    • TypeScript Types
    • README
    • Created
    • Published
    • Downloads 1
    • Score
      100M100P100Q46670F
    • License MIT

    AO-Forge: CLI tool to create AO-powered applications

    Package Exports

      This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (ao-forge) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

      Readme

      AO-Forge

      Repo metadata

      GitHub tag License NPM License protocol.land

      🔥 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

      view - Documentation

      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 dev starts 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:global

      Development 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 installation

      Running 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 dev

      The 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

      1. Fork the repository
      2. Create your feature branch (git checkout -b feature/amazing-feature)
      3. Commit your changes (git commit -m 'Add amazing feature')
      4. Push to the branch (git push origin feature/amazing-feature)
      5. Open a Pull Request

      License

      Released under MIT by @Utitofon-Udoekong.

      Support

      For support, please open an issue on GitHub.