Skip to content

Introduction

FORGE is an Application Factory — a CLI tool that generates complete, production-ready full-stack applications from a single command. Unlike traditional scaffolding tools that produce bare-bones boilerplate, FORGE generates fully functional applications with authentication, role-based access control, admin dashboards, content management, multi-language support, and infrastructure configuration already wired together and ready to run.

Why FORGE?

Building a modern full-stack application from scratch means stitching together dozens of libraries, writing repetitive CRUD logic, configuring authentication, setting up infrastructure, and repeating the same patterns across every project. FORGE eliminates this entirely.

With one command, you get a working application that would otherwise take weeks to build:

bash
forge new --name=myapp

This produces a complete application — not just files on disk, but a running system with HTTPS, database migrations, seeded data, and a default admin account ready to log in.

FORGE generates applications, not boilerplate

Every generated project includes working authentication, admin CRUD, API documentation, content management, navigation menus, audit logging, and more. You start building your business logic on day one.

Technology Stack

FORGE combines best-in-class technologies for each layer of the stack:

LayerTechnologyWhy
BackendRust + AxumMemory-safe, blazing fast, async-first
Frontend (Web)Next.js 14+ (App Router)SSR, React Server Components, TypeScript
Frontend (Admin)Next.js 14+ (App Router)Separate admin app with shadcn/ui components
DatabasePostgreSQL 15+JSONB translations, full-text search, robust
CacheRedis 7+Session store, rate limiting, caching
Reverse ProxyCaddyAutomatic HTTPS, zero-config SSL
ContainersDocker + Docker ComposeReproducible development and deployment
StylingTailwind CSS + shadcn/uiUtility-first with accessible components
FormsReact Hook Form + ZodType-safe validation
StateTanStack QueryServer state management with caching
IconsLucide ReactConsistent, tree-shakeable icon set

Core Philosophy

Contract-First Design

FORGE is built on a contract-first architecture. Every backend, frontend, provider, and template module implements a well-defined contract (interface). This means:

  • Backends are interchangeable — Rust today, Laravel or FastAPI tomorrow. The API contract stays the same.
  • Frontends are interchangeable — Next.js today, Nuxt.js or Angular tomorrow. The page and component contracts stay the same.
  • Providers are pluggable — Swap Twilio for Vonage, or AWS S3 for MinIO, without changing application code.
┌──────────────┐     ┌──────────────┐     ┌──────────────┐
│   Backend    │     │   Frontend   │     │   Provider   │
│   Contract   │     │   Contract   │     │   Contract   │
├──────────────┤     ├──────────────┤     ├──────────────┤
│ • Rust/Axum  │     │ • Next.js    │     │ • Twilio     │
│ • Laravel    │     │ • Nuxt.js    │     │ • Vonage     │
│ • FastAPI    │     │ • Angular    │     │ • AWS S3     │
│ • Node.js    │     │ • Vanilla    │     │ • MinIO      │
└──────────────┘     └──────────────┘     └──────────────┘

Template Extensibility

The base template includes everything you need for a standard application: users, roles, permissions, authentication, content management, navigation menus, media uploads, and more. Additional templates layer on top to add domain-specific features:

  • CRM — Contacts, deals, pipelines, activities
  • Helpdesk — Tickets, SLAs, knowledge base
  • Invoicing — Invoices, payments, tax management

Each template adds its own models, migrations, API endpoints, admin pages, and web pages — all following the same contracts.

Tera Templating Engine

FORGE uses the Tera templating engine to generate source code. Every file in the output project is rendered from a .tera template, with access to your project configuration (name, languages, auth method, providers, and more). This makes the generated code clean and idiomatic — not littered with conditionals or unused code paths.

What You Get

A generated FORGE application includes:

  • Authentication — JWT with refresh tokens, login, registration, password reset, optional OTP
  • Role-Based Access Control — Granular permissions, role assignment, middleware enforcement
  • Admin Dashboard — User management, role management, content editor, media library, audit logs
  • Web Application — Public pages, user profile, dynamic navigation, language switching
  • Content Management — Rich text pages with translatable content, slug-based routing
  • Menu System — Dynamic navigation menus manageable from the admin panel
  • Media Management — Polymorphic file uploads with image processing
  • Lookup Tables — Configurable key-value tables for dropdowns and reference data
  • Multi-Language — JSONB-based translations, RTL support, per-request locale detection
  • API Documentation — Auto-generated OpenAPI spec with Swagger UI and ReDoc
  • Infrastructure — Docker Compose, Caddy reverse proxy, local SSL certificates
  • Database — Versioned migrations, seeders with default data, proper indexing

Every feature is fully integrated

Authentication flows into RBAC, which gates admin pages, which manage content and menus, which render on the web app — with multi-language support at every layer. Nothing is left as a stub or TODO.

Next Steps

Ready to get started? Follow the guides in order:

Released under the MIT License.