Roadmap
This page tracks the current development status, completed features, ongoing work, and long-term vision for FORGE. The project is in early development -- things are moving fast.
Current Version
FORGE v0.1.0 -- Early Development
Overall Progress: ================--------- ~70%
Phase 1: CLI Foundation ==================== 100%
Phase 2: Rust Backend ==================== 100%
Phase 3: Next.js Frontend ==================== 100%
Phase 4: Extended Features ==================== 100%
Phase 5: Additional Backends -------------------- 0%
Phase 6: Additional Frontends -------------------- 0%Status Legend
| Badge | Meaning |
|---|---|
| Shipped | Complete, tested, and available in the current release |
| In Progress | Actively being developed |
| Planned | Designed and scheduled for a future release |
| Exploring | Under research; timeline and feasibility to be determined |
Shipped
These features are fully implemented, tested, and part of every generated project.
CLI Foundation
| Feature | Description |
|---|---|
| Project Scaffolding | forge new generates complete full-stack projects |
| Hosts Management | forge hosts:add/remove manages /etc/hosts entries |
| SSL Certificates | forge ssl:install/generate/trust for local HTTPS via mkcert |
| Docker Configuration | Generated docker-compose.yml with PostgreSQL, Redis, Caddy |
| Code Generation Engine | Tera-based template rendering with project context |
Backend (Rust + Axum)
| Feature | Description |
|---|---|
| Authentication | JWT with access/refresh tokens, login, register, password reset |
| OTP Support | Mobile-based one-time password authentication |
| RBAC | Role-based access control with granular permissions |
| User Management | Full CRUD with soft deletes, role assignment |
| Role Management | Create, edit, delete roles with permission assignment |
| Content CMS | Content pages with JSONB translations, SEO, rich text |
| Menu System | Hierarchical navigation with visibility controls |
| Media Management | Polymorphic file uploads, image variants, S3/local storage |
| Settings | Key-value settings with encryption for sensitive data |
| Multi-Language | Languages, translations, per-request locale detection |
| API Documentation | Auto-generated OpenAPI spec with Swagger UI and ReDoc |
| Profile API | User profile view/edit, avatar upload, password change |
| Database Layer | SQLx with migrations, seeders, UUID primary keys |
Frontend (Next.js)
| Feature | Description |
|---|---|
| Admin Dashboard | Statistics, user/role/permission management pages |
| Content Admin | Create, edit, view, delete content with rich text editor |
| Menu Admin | Menu item management with parent/child hierarchy |
| Web Application | Public pages, dynamic content, authentication flows |
| i18n | Multi-language UI with RTL support, language switching |
| Auth Flows | Login, register, forgot/reset password, OTP verification |
| Profile Pages | View/edit profile, change password, upload avatar |
| Dynamic Navigation | Server-rendered menus with visibility filtering |
| Component Library | shadcn/ui components with Tailwind CSS |
| Data Fetching | TanStack Query for server state management |
Infrastructure
| Feature | Description |
|---|---|
| Docker Compose | Development and production configurations |
| Caddy Reverse Proxy | Automatic HTTPS, subdomain routing |
| Local SSL | Trusted certificates via mkcert |
In Progress
These features are actively being developed.
Lookup Tables
Configurable reference data (countries, statuses, categories) stored in a single lookups table with hierarchical support and translations.
Status: ================--------- ~80%
[x] Database migration and model
[x] Backend CRUD endpoints
[x] Admin pages (list, create, edit)
[ ] Public API integration
[ ] Frontend dropdown componentAudit Logging
Comprehensive activity tracking for all admin operations.
Status: ==============----------- ~70%
[x] Database schema (audit_logs table)
[x] Backend middleware for automatic logging
[x] Admin audit log viewer
[ ] Export functionality (CSV/JSON)
[ ] Filtering by date range
[ ] User-specific activity timelineAPI Keys
Third-party API key management with rate limiting and revocation.
Status: =============----------- ~65%
[x] Database schema (api_keys table)
[x] Key generation and hashing
[x] Middleware for API key authentication
[ ] Admin management pages
[ ] Rate limiting enforcement
[ ] Usage analytics dashboardPlanned
These features are designed and will be implemented in upcoming releases.
Additional Templates
Templates add domain-specific features on top of the base application.
| Template | Description | Priority |
|---|---|---|
| CRM | Contacts, companies, deals, pipelines, activities | High |
| Helpdesk | Tickets, SLAs, knowledge base, customer portal | High |
| Invoicing | Invoices, payments, tax management, PDF generation | Medium |
| Blog | Posts, categories, tags, comments, RSS feed | Medium |
| E-Commerce | Products, cart, checkout, order management | Low |
Each template follows the template contract and includes:
- Database migrations
- Backend models, handlers, and routes
- Admin dashboard pages
- Web application pages
- Permission seeders
- Translation seeders
Provider Integrations
Swappable service providers for common infrastructure needs.
| Category | Providers | Status |
|---|---|---|
| SMS | Twilio, Vonage, Unifonic, MessageBird | Planned |
| SMTP, SendGrid, Mailgun, AWS SES | Planned | |
| Storage | Local, AWS S3, MinIO, Google Cloud Storage | Planned |
| Payments | Stripe, HyperPay, PayTabs, Checkout.com | Planned |
Provider contracts
Every provider implements a common contract (interface), so switching from one provider to another is a configuration change -- not a code change. See Provider Pattern for details.
CLI Improvements
| Feature | Description |
|---|---|
forge add:template | Install a template into an existing project |
forge add:provider | Add a provider integration (SMS, email, etc.) |
forge generate:model | Generate a new model with migration, handler, and routes |
forge generate:crud | Generate complete CRUD for a custom entity |
forge validate | Validate generated code against contracts |
forge update | Apply upstream template changes to existing projects |
Exploring
These are ideas under research. Timeline and feasibility are not yet determined.
Additional Backends
| Backend | Language | Framework | Notes |
|---|---|---|---|
| Laravel | PHP | Laravel 11+ | Same API contracts, different language |
| FastAPI | Python | FastAPI + SQLAlchemy | For Python-ecosystem teams |
| Node.js | TypeScript | NestJS or Hono | For JavaScript-ecosystem teams |
WARNING
Additional backends will generate the exact same API endpoints with the same response formats, authentication flow, and error codes. The contract-first design ensures frontend applications work identically regardless of which backend is running.
Additional Frontends
| Frontend | Framework | Notes |
|---|---|---|
| Nuxt.js | Vue 3 + Nuxt 3 | Vue ecosystem alternative |
| Angular | Angular 17+ | Enterprise-oriented option |
| Vanilla | HTML + CSS + JS | No framework, static sites |
Long-Term Vision
+-----------------------------------------------------------------------+
| FORGE LONG-TERM VISION |
+-----------------------------------------------------------------------+
| |
| TEMPLATE MARKETPLACE |
| A public registry where developers publish and install templates. |
| Community-contributed templates for niche use cases (clinics, |
| schools, real estate, etc.). |
| |
| VISUAL BUILDER |
| A browser-based UI for designing applications. Select backend, |
| frontend, templates, and providers visually. Configure models |
| and relationships with drag-and-drop. Generate code with one click. |
| |
| CLOUD DEPLOYMENT |
| One-command deployment to cloud providers: |
| forge deploy:aws - Deploy to AWS (ECS, RDS, S3) |
| forge deploy:gcp - Deploy to Google Cloud (Cloud Run, SQL) |
| forge deploy:do - Deploy to DigitalOcean (App Platform) |
| forge deploy:railway - Deploy to Railway |
| |
| PLUGIN SYSTEM |
| A plugin architecture that lets developers extend FORGE without |
| modifying core. Plugins can add commands, templates, providers, |
| and generators. |
| |
| UPGRADE ENGINE |
| Intelligent upgrade system that applies upstream template changes |
| to existing projects while preserving custom modifications. |
| Three-way merge between old template, new template, and user code. |
| |
| MULTI-DATABASE SUPPORT |
| Support for MySQL, SQLite, and MongoDB in addition to PostgreSQL. |
| Each backend generator produces the appropriate queries and |
| migration syntax. |
| |
+-----------------------------------------------------------------------+Release Timeline
The following is an estimated timeline, not a commitment. Dates may shift based on community feedback and contributor availability.
| Release | Target | Key Features |
|---|---|---|
| v0.1.0 | Q1 2026 | CLI foundation, Rust backend, Next.js frontend, base template |
| v0.2.0 | Q2 2026 | Lookup tables, audit logging, API keys, provider contracts |
| v0.3.0 | Q3 2026 | CRM template, SMS/email providers, forge add commands |
| v0.4.0 | Q4 2026 | Helpdesk template, storage providers, payment providers |
| v1.0.0 | 2027 | Stable API, multiple backends, template marketplace |
DANGER
FORGE is pre-1.0 software. APIs and generated code structure may change between minor versions. Pin your FORGE version in production projects and review changelogs before upgrading.
How to Contribute
FORGE is open source and welcomes contributions of all kinds:
- Report bugs -- File an issue with reproduction steps
- Suggest features -- Open a discussion with your use case
- Submit code -- See the Contributing Guide for setup instructions
- Write docs -- Improve this documentation site
- Create templates -- Build domain-specific templates for the community
- Test and feedback -- Try FORGE on real projects and share your experience
Architecture Decisions
Key architectural choices that guide development:
| Decision | Rationale |
|---|---|
| Contract-first | Enables backend/frontend interchangeability |
| Tera templates | Generates clean, idiomatic code (not string concatenation) |
| UUID primary keys | No sequential ID guessing, safe for distributed systems |
| JSONB translations | Single-table pattern, no join overhead, flexible schema |
| Polymorphic media | One media table serves all models without foreign key columns |
| Separate admin/web apps | Independent deployment, different auth flows, cleaner code |
| Workspace monorepo | Shared types between crates, single build pipeline |
See Also
- Introduction -- What FORGE is and why it exists
- Contributing -- How to contribute to the project
- Template System -- How the template engine works
- Provider Pattern -- Swappable service provider design