Build high-performance apps swiftly with minimal team resources in Go.
Superkit is a full-stack web framework designed for speed and simplicity. It provides essential tools and libraries to help developers build modern web applications with ease.
- ๐ Features
- ๐ฅ Installation
- ๐ Getting Started
- ๐ Database Migrations
- ๐ Creating Views with Templ
- โ Validations
- ๐งช Testing
- ๐ฆ Production Release
โ
Lightweight & Fast โ Built on Go for blazing-fast performance.
โ
Modular Design โ Well-structured and easy to extend.
โ
Built-in Database Support โ Migrations, seeds, and ORM included.
โ
Templ-based Views โ Type-safe templating engine for UI components.
โ
Hot Reloading โ Instant feedback during development.
โ
One-Binary Deployment โ Compiles your app into a single executable.
Create a new Superkit project with a single command:
# Initialize a new Superkit project
go run github.com/khulnasoft/superkit@master [yourprojectname]
# Navigate into your project
cd [yourprojectname]
# Install TailwindCSS & esbuild
cd bootstrap && npm install && cd ..
# Copy environment configuration
cp bootstrap/.env.example bootstrap/.env
# Edit bootstrap/.env and set a secure SUPERKIT_SECRET (32+ characters)
# Resolve Go dependencies
go clean -modcache && go get -u ./...
# Initialize database migrations (if authentication plugin is enabled)
cd bootstrap && make db-up && cd ..โโโ bootstrap # Example application (runs with `make dev` from bootstrap/)
โ โโโ app
โ โ โโโ assets # Static files (CSS, JS)
โ โ โโโ conf # Configuration files
โ โ โโโ db # Database migrations
โ โ โโโ events # Custom event handlers
โ โ โโโ handlers # Request handlers (controllers)
โ โ โโโ types # Data models and interfaces
โ โ โโโ views # HTML templates (Templ)
โ โ โโโ routes.go # Route & middleware setup
โ โ โโโ events.go # Event registration
โ โ โโโ db # GORM/SQLite setup
โ โ โโโ public # Embedded production assets
โ โโโ cmd
โ โ โโโ app # Application entrypoint
โ โ โโโ scripts # CLI commands & seed scripts
โ โโโ plugins
โ โ โโโ auth # Authentication module
โ โโโ public # Development static assets
โ โโโ Makefile # Bootstrap build & run scripts
โ โโโ go.mod # Bootstrap module dependencies
โโโ kit # Core framework utilities
โโโ db # Database connection utilities
โโโ event # Async event subscription & dispatch
โโโ validate # Validation utilities
โโโ view # View engine utilities
โโโ ui # Reusable UI components
โโโ Makefile # Repository-level build & run scripts
โโโ go.mod # Framework module dependencies
โโโ README.md # Project documentation
Run the development server from the bootstrap/ directory:
cd bootstrap
make devThis starts all development watchers: Templ (with live reload proxy), Air (Go rebuilds), TailwindCSS, and esbuild.
Note: On Windows (WSL2), you might need to run asset watchers separately:
make watch-assets
Hot reloading is enabled by default for CSS & JS.
Note: On Windows (WSL2), you might need to run this command separately:
make watch-assets
make db-mig-create add_users_tableโก๏ธ Generates a new migration SQL file in app/db/migrations/
make db-upmake db-resetmake db-seedโก๏ธ Runs the seed script in cmd/scripts/seed/main.go
SUPERKIT uses Templ for type-safe UI components.
Create structured, reusable HTML fragments with Go templates.
Stay tuned for built-in validation utilities!
make testmake app-testCompile your application into a single binary:
make app-buildโก๏ธ Creates a production-ready binary at bootstrap/bin/app_prod.
Set the environment to production:
SUPERKIT_ENV=production๐ Start building with SUPERKIT today! ๐