Project Forge

v2.0.4, started 1 week ago

About Project Forge

Project Forge is a comprehensive application generator and development platform that transforms how you build Go web applications. By combining intelligent code generation, cutting-edge technology, and a robust standard library, Project Forge eliminates the tedious setup work and lets you focus on building the features that matter.

Whether you're creating a simple web service, a complex enterprise application, or a multi-platform desktop app, Project Forge provides the foundation, tools, and workflow to get you from idea to production faster than ever before.

Project Forge is a powerful application generator and project manager for building modern web applications in Go. It helps developers rapidly create, customize, and scale applications through an architecture that puts you in complete control. Choose from dozens of optional modules — from database integrations and OAuth providers to advanced features like GraphQL APIs, WebSocket support, and desktop app builds.

Every Project Forge application includes a blazingly fast HTTP server built on quicktemplate for type-safe HTML rendering. The optional Model-View-Controller framework provides enterprise-grade features out of the box: content negotiation, hierarchical navigation, breadcrumbs, OAuth integration with 40+ providers, stateless sessions, comprehensive theming with dark mode, SVG icon management, syntax highlighting, rich form components, and optimized asset embedding.

The included UI framework delivers exceptional performance without sacrificing developer experience or user accessibility. This very page demonstrates the power: fully animated, themed, and responsive design delivered in just three HTTP requests (HTML, CSS, JS) totaling under 20KB compressed. Sub-millisecond server response times and sub-20ms browser rendering create an incredibly snappy user experience. Progressive enhancement via an integrated ESBuild TypeScript pipeline ensures full functionality even with JavaScript disabled.

Deploy anywhere, run everywhere. Project Forge applications can target virtually every platform: native desktop apps via system webviews, mobile applications for iOS and Android, WebAssembly modules, and notarized universal macOS binaries. Enable all build targets and generate nearly 60 platform-specific builds, each producing a compact ~20MB self-contained binary. Built-in auto-update capabilities work seamlessly with GitHub Releases, while comprehensive CI/CD workflows handle building, testing, linting, and publishing to multiple distribution channels.

Getting Help

Project Forge includes comprehensive documentation and help resources to guide you through every aspect of development:

Standard Project Forge Workflow

Getting Started

  1. Install Project Forge - Download from projectforge.dev, use Homebrew, or build from source
  2. Create Your Project - Run projectforge to launch the web interface and generate a new application
  3. Choose Modules - Select from 40+ optional modules like databases, OAuth, GraphQL, desktop builds, and more
  4. Generate & Customize - Project Forge creates a complete Go application with your chosen features

Development Workflow

  1. Live Development - Run ./bin/dev.sh for instant live-reload during development
  2. Add Features - Use the web interface to add new modules, modify existing ones, or update your configuration
  3. Customize Code - Add or edit controllers in app/controller/, add services in app/services.go
  4. Build & Deploy - Generate production builds for multiple platforms with included CI/CD workflows

What You Get

Licensing

Project Forge is MIT licensed, and the modules are CC0.
Your project is your own, use any license you'd like.

Open Source

Project Forge is completely open source and available on GitHub. The entire codebase, including all modules and documentation, is freely available for you to study, modify, and contribute to.

Community & Support

Project Forge thrives on community feedback and contributions. Whether you've found a bug, have a feature request, or want to share your success story, we'd love to hear from you.

Get in Touch

  • GitHub Issues - Report bugs, request features, or ask technical questions
  • Email - Reach out directly to the author for general inquiries
  • Contributing - Submit pull requests to improve Project Forge for everyone