Research Archive

Forge Framework Comparison Matrix

Assessment vs Rails, Spring Boot, LAMP, Django

Updated: December 2025 Source: research/FRAMEWORK-COMPARISON.md

Forge Framework Comparison Matrix

Purpose: Assess how Forge compares to established frameworks (Rails, Spring Boot, LAMP, Django) Status: Draft for external review Date: December 2025


Executive Summary

Forge is an opinionated toolchain for AI-assisted development, not a traditional web framework. This document assesses where Forge hits and misses the mark compared to frameworks that achieved industry adoption.

Quick Verdict

Dimension Rails Spring Boot LAMP Django Forge
Convention Strength A B C A A
Scaffolding/Generators A B+ D A D (planned)
Learning Curve B C A B B-
Community/Ecosystem A A A A F (new)
Production Readiness A A A A D (unproven)
AI-Friendliness C C B C A (core thesis)
Documentation A A B A B+

Bottom line: Forge has strong conventions and AI-alignment but lacks the tooling, ecosystem, and production track record that made Rails/Spring successful.


Dimension 1: Convention over Configuration

What Made Rails Successful

Rails defined the "convention over configuration" paradigm:

  • File placement determines behavior (app/models/user.rbUser model)
  • Naming conventions auto-wire components (UsersControllerusers table)
  • Generators enforce conventions (rails g scaffold User)
  • "The Rails Way" is documented and enforced

How Forge Compares

Aspect Rails Forge Assessment
File-based routing Yes (config/routes.rb + conventions) Partial (Go handlers, manual wiring) MISS - No auto-discovery
Naming conventions Strong (Userusers table) Weak (sqlc requires explicit mapping) MISS - Manual mapping
Configuration defaults Zero-config start Zero-config start HIT - Similar philosophy
"One way to do it" Strong opinion Strong opinion HIT - Clear stack choices
Convention documentation Extensive Growing PARTIAL - Needs more examples

Gap Analysis

FORGE CONVENTION GAPS:
┌────────────────────────────────────────────────────────────────┐
│ 1. No automatic route generation from file structure           │
│ 2. No model-to-table naming convention (sqlc is explicit)     │
│ 3. No automatic handler-to-template wiring                    │
│ 4. No "forge convention" documentation equivalent to Rails    │
└────────────────────────────────────────────────────────────────┘

Recommendations

  1. Define explicit naming conventions (e.g., handlers/tournament.gotemplates/pages/tournament.templ)
  2. Create convention validation tool (forge lint checks convention compliance)
  3. Document "The Forge Way" as comprehensively as Rails Guides

Dimension 2: Scaffolding & Generators

What Made Frameworks Successful

Framework Generator Command What It Creates
Rails rails g scaffold Post title:string body:text Model, migration, controller, views, routes, tests
Django python manage.py startapp blog App structure, admin, views, models
Spring Boot Spring Initializr Project with dependencies, structure
Laravel php artisan make:model Post -mcr Model, migration, controller, resource

How Forge Compares

Aspect Rails Forge Assessment
Project scaffolding rails new forge new (planned) MISS - Not implemented
Resource generation rails g scaffold None MISS - Critical gap
Migration generation rails g migration None (manual SQL) MISS - No automation
Test generation Automatic with scaffold None MISS - No test scaffolding

Gap Analysis

FORGE SCAFFOLDING GAPS:
┌────────────────────────────────────────────────────────────────┐
│ CRITICAL - Must have for adoption:                             │
│ • forge new <app>           - Project scaffolding              │
│ • forge g resource <name>   - Handler + template + SQL + test  │
│ • forge g migration <name>  - SQL migration file               │
│ • forge g island <name>     - Svelte island boilerplate        │
│                                                                │
│ NICE TO HAVE:                                                  │
│ • forge g handler <name>    - HTTP handler only                │
│ • forge g templ <name>      - Template only                    │
│ • forge g query <name>      - SQL query only                   │
└────────────────────────────────────────────────────────────────┘

Recommendations

  1. Implement forge new as Phase 3 priority
  2. Design generator output before implementing (what files, what content)
  3. Use Go templates for generation (not AI) - deterministic scaffolding

Dimension 3: Developer Experience (DX)

What Made Frameworks Successful

Framework DX Highlights
Rails Console, hot reload, error pages, migrations
Django Admin panel, shell, debug toolbar
Laravel Artisan CLI, Tinker REPL, Telescope
Spring Boot DevTools, Actuator, starter dependencies

How Forge Compares

Aspect Industry Standard Forge Assessment
REPL/Console Rails console, Django shell None MISS
Hot reload Built-in Air (external tool) PARTIAL
Error pages Framework-provided Manual MISS
Debug tools Framework-provided Manual MISS
CLI Comprehensive Planned MISS
Admin panel Django admin None MISS (not in scope)

Gap Analysis

FORGE DX GAPS:
┌────────────────────────────────────────────────────────────────┐
│ HIGH IMPACT:                                                   │
│ • No REPL for testing queries/handlers interactively          │
│ • No development error pages with stack traces                 │
│ • No built-in request logging/debugging                        │
│                                                                │
│ MEDIUM IMPACT:                                                 │
│ • No forge CLI (currently using make/scripts)                 │
│ • No database console integration                              │
│ • No visual route inspection                                   │
│                                                                │
│ LOW IMPACT (OK to skip):                                       │
│ • No admin panel (not Forge's focus)                          │
│ • No visual query builder                                      │
└────────────────────────────────────────────────────────────────┘

Recommendations

  1. Development error middleware - Catch panics, show formatted errors
  2. Request logger middleware - Log all requests with timing
  3. Implement forge CLI - Even if just wrapping make commands initially

Dimension 4: Learning Curve

Framework Learning Curve Comparison

Framework Time to Hello World Time to CRUD App Time to Production
LAMP 30 min 2 hours 1 week
Rails 15 min 1 hour 1-2 weeks
Django 20 min 1.5 hours 1-2 weeks
Spring Boot 30 min 3 hours 2-3 weeks
Forge ? ? ?

Forge Learning Prerequisites

FORGE LEARNING REQUIREMENTS:
┌────────────────────────────────────────────────────────────────┐
│ MUST KNOW:                                                     │
│ • Go basics (functions, structs, interfaces)                   │
│ • SQL (not an ORM - you write real queries)                   │
│ • HTML (templates are HTML, not JSX)                          │
│ • HTTP fundamentals (methods, status codes, headers)          │
│                                                                │
│ SHOULD KNOW:                                                   │
│ • HTMX concepts (hx-* attributes)                             │
│ • Templ syntax (Go-flavored templates)                        │
│ • Svelte basics (for islands)                                 │
│                                                                │
│ CAN LEARN AS YOU GO:                                          │
│ • sqlc specifics                                               │
│ • SSE patterns                                                 │
│ • Island mounting                                              │
└────────────────────────────────────────────────────────────────┘

Assessment

Aspect Rails Forge Assessment
Language barrier Ruby (new for many) Go (growing adoption) SIMILAR
Prerequisite knowledge Lower (Rails teaches patterns) Higher (assumes SQL, HTTP) MISS
"Magic" to understand High (must learn Rails way) Low (explicit patterns) HIT
Getting started guide Excellent None MISS
Tutorial quality Industry best Not started MISS

Recommendations

  1. Create "Forge in 15 Minutes" tutorial
  2. Provide pre-built example app (rally-hq serves this purpose)
  3. Document prerequisite knowledge explicitly

Dimension 5: Community & Ecosystem

Framework Ecosystem Comparison

Framework Age GitHub Stars Packages/Gems Books Courses Jobs
Rails 20 years 55k+ 170k+ gems 100+ 500+ High
Django 19 years 75k+ 4k+ packages 50+ 300+ High
Spring 20+ years 70k+ Maven central 100+ 500+ Very High
Laravel 13 years 75k+ 30k+ packages 30+ 200+ High
Forge 0 years 0 0 0 0 0

Assessment

Forge is at T=0. This is expected for a new framework. The question is: does Forge have the characteristics that enabled other frameworks to build communities?

Success Factor Rails Had It Forge Has It?
Clear value proposition Yes (10x productivity) Yes (AI-friendly)
Charismatic creator Yes (DHH) No (personal experiment)
Early adopter showcase Yes (Basecamp) Partial (rally-hq)
Compelling demo Yes (blog in 15 min) No
Corporate backing Later (37signals) No
Solves real pain Yes (Java/PHP complexity) Yes (AI code quality)

Recommendations

  1. Don't try to build community yet - Forge is Phase 1-2 (validation)
  2. Focus on rally-hq as proof - One working app > marketing
  3. Document learnings publicly - Attract early interest

Dimension 6: Production Readiness

Framework Maturity Assessment

Framework Fortune 500 Usage Known Scale Security Track Record
Rails GitHub, Shopify, Airbnb Millions of users Established
Django Instagram, Mozilla Billions of requests Established
Spring Most enterprises Enterprise scale Established
LAMP Facebook (originally) Web scale Established
Forge None Untested Untested

Forge Production Readiness Assessment

Aspect Status Assessment
Core stack (Go + Postgres) Battle-tested HIT - Proven technologies
HTMX at scale Growing adoption PARTIAL - Fewer case studies
Templ maturity Young but stable PARTIAL - Limited production use
sqlc maturity Well-established HIT - Used in production
Forge conventions Unproven MISS - No production validation
Error handling Not standardized MISS - Needs definition
Monitoring/observability Not defined MISS - Needs definition
Security patterns Not documented MISS - Critical gap

Recommendations

  1. Rally-hq IS the production test - Document everything
  2. Define security patterns before production use
  3. Add observability guidance (structured logging, metrics)

Dimension 7: AI-Friendliness (Forge's Unique Value)

This Is Where Forge Should Excel

Aspect Traditional Frameworks Forge Assessment
Code generation predictability Low (complex patterns) High (simple patterns) HIT
Context window efficiency Poor (large codebases) Good (repo maps) HIT
Pattern consistency Varies Enforced by convention HIT
Type safety Varies Strong (Go + Templ + sqlc) HIT
Client state complexity Often high Minimal (server-first) HIT
Security vulnerability rate ~45% AI-generated code Target: <10% UNPROVEN

AI-Friendliness Comparison

AI CODE GENERATION SUCCESS RATES (HYPOTHESIZED):
┌────────────────────────────────────────────────────────────────┐
│ Framework          │ Compile │ Runtime │ Security │ Overall   │
│────────────────────┼─────────┼─────────┼──────────┼───────────│
│ React/Next.js      │   70%   │   50%   │   55%    │   ~45%    │
│ Rails              │   80%   │   70%   │   60%    │   ~55%    │
│ Django             │   80%   │   70%   │   65%    │   ~55%    │
│ Go + HTMX (Forge)  │   90%   │   85%   │   80%    │   ~75%*   │
└────────────────────────────────────────────────────────────────┘
* Target, unproven

Recommendations

  1. This is Forge's differentiation - Lean into it
  2. Measure AI success rates with rally-hq development
  3. Publish results regardless of outcome

Overall Assessment: Hits and Misses

Where Forge HITS the Mark

Aspect Why It Works
Clear opinion "Go + HTMX + Svelte islands" is unambiguous
Simple mental model Request → Handler → HTML → Browser
Type safety throughout Go + Templ + sqlc = end-to-end types
Minimal client JS ~25kb baseline is excellent
AI-first design Conventions optimize for AI code gen
Good documentation structure 12-Factor Agents, BUILD-TIME, RUNTIME
Escape hatch Islands for when HTMX isn't enough

Where Forge MISSES the Mark

Aspect Gap Severity Fix Effort
No generators/scaffolding Can't forge new or forge g Critical High
No CLI Using make/scripts High Medium
No getting started guide Hard to adopt High Medium
No community Expected at T=0 Medium Time
No production validation Unproven at scale Medium Time
No REPL DX gap vs Rails Low Medium
No admin panel DX gap vs Django Low N/A (out of scope)

Comparison to LAMP (The Original Stack)

LAMP became ubiquitous because:

  1. Zero cost - All components free
  2. Zero barrier - Shared hosting everywhere
  3. Zero complexity - Just files in a folder
  4. Immediate gratification - Edit PHP, refresh browser

Forge vs LAMP Philosophy

LAMP Forge
Files in folders Files in folders
Edit, refresh Edit, hot reload
PHP as templating Templ as templating
MySQL queries inline sqlc queries in files
No build step Build step (Go compile, Svelte)

Key difference: Forge has a build step. This is acceptable for the AI-friendliness benefits but raises the barrier vs LAMP's simplicity.


Comparison to Rails ("Convention over Configuration")

Rails succeeded because:

  1. 10x productivity - Build apps faster than Java/PHP
  2. Integrated stack - Everything works together
  3. Strong defaults - Don't configure, just use
  4. Generators - Scaffold entire features

Forge vs Rails Philosophy

Rails Forge
Full-stack framework Stack definition + conventions
Ruby (flexible) Go (rigid, typed)
ActiveRecord (ORM) sqlc (SQL-first)
ERB templates Templ (typed HTML)
Turbo/Stimulus (modern) HTMX + Svelte islands
Magic (auto-discovery) Explicit (manual wiring)

Key difference: Rails embraces "magic" that just works. Forge is more explicit—this helps AI but may frustrate developers expecting Rails-like DX.


Recommendations for External Assessment

Phase 1: Self-Assessment (This Document)

  • Compare against established frameworks
  • Identify hits and misses
  • Document gaps with severity

Phase 2: ThoughtWorks Radar Preparation

Steps:

  1. Create public comparison matrix (this document, published)
  2. Build demo video showing AI code generation with Forge
  3. Reach out to ThoughtWorks via their submission process
  4. Prepare "blip" description focusing on AI-friendliness angle

Timeline: After rally-hq MVP demonstrates thesis

Phase 3: Community Peer Review

Steps:

  1. Post to AI Native Dev community for feedback
  2. Share on Hacker News (Show HN) for developer feedback
  3. Gather feedback, iterate on conventions
  4. Document feedback in LEARNINGS.md

Timeline: After Phase 2 data collected

Phase 4: Formal Architecture Review (Optional)

When: Only if enterprise adoption becomes a goal

Steps:

  1. Engage consultancy (VITech, DevCom, or similar)
  2. Provide all documentation + rally-hq codebase
  3. Request formal assessment against enterprise criteria
  4. Incorporate findings

Conclusion

Forge is conceptually strong but tooling-incomplete. It has the right ideas (AI-friendliness, server-first, typed throughout) but lacks the implementation that made Rails/Django successful (generators, DX tools, tutorials).

The honest assessment:

FORGE TODAY:
┌────────────────────────────────────────────────────────────────┐
│ ✓ Strong conventions and clear opinions                        │
│ ✓ AI-friendly architecture (unique value)                      │
│ ✓ Good documentation structure                                 │
│ ✓ Solid technology choices (Go, HTMX, sqlc)                   │
│                                                                │
│ ✗ No tooling (`forge` CLI, generators)                        │
│ ✗ No getting started experience                               │
│ ✗ No production validation                                    │
│ ✗ No community                                                │
└────────────────────────────────────────────────────────────────┘

RECOMMENDATION: Forge should NOT seek external validation yet.
               Complete rally-hq, extract tooling, then reassess.

References