allframe-forge
AllFrame CLI - Project scaffolding and code generation
The AllFrame CLI tool for creating and managing AllFrame projects.
Installation
Usage
Create New Project
# Create a new AllFrame project
# Navigate to the project
# Run the API
Project Structure
The generated project includes:
my-api/
├── Cargo.toml
├── src/
│ ├── main.rs # Application entry point
│ ├── handlers/ # API handlers
│ ├── domain/ # Domain models
│ └── infrastructure/ # Database, config, etc.
├── tests/ # Integration tests
└── examples/ # Usage examples
Features
- ✅ Clean Architecture - Proper separation of concerns
- ✅ Protocol-Agnostic - REST, GraphQL, gRPC support
- ✅ CQRS Ready - Command/Query separation
- ✅ Test Setup - Pre-configured test infrastructure
- ✅ Best Practices - Industry-standard project structure
Commands
# Create new project
# Generate handler
# Generate command (CQRS)
# Generate query (CQRS)
Project Templates
Minimal
# Simple REST API with basic routing
Full
# Complete setup with REST, GraphQL, gRPC, and CQRS
CQRS
# CQRS-focused architecture with event sourcing
Configuration
Generated projects use allframe-core with sensible defaults:
[]
= { = "0.1", = [
"di",
"openapi",
"router",
"otel"
] }
Development
After creating a project:
# Run the API
# Run tests
# Run with specific features
# View API documentation
# Visit http://localhost:8080/docs after starting
Examples
See the examples/ directory in the AllFrame repository for complete project examples.
License
Licensed under either of:
- Apache License, Version 2.0 (LICENSE-APACHE)
- MIT license (LICENSE-MIT)
at your option.
Resources
- AllFrame Core: https://crates.io/crates/allframe-core
- Documentation: https://docs.rs/allframe-forge
- Repository: https://github.com/all-source-os/all-frame
- Issues: https://github.com/all-source-os/all-frame/issues