Go ForgeX is a CLI tool that allows users to spin up a Go project with the corresponding structure seamlessly. It also gives the option to integrate with one of the more popular Go frameworks (and the list is growing with new features)!
- Easy to set up and install
- Have the entire Go structure already established
- Setting up a Go HTTP server (or Fasthttp with Fiber)
- Integrate with a popular frameworks
- Focus on the actual code of your application
- Install
- Frameworks Supported
- Database Support
- Advanced Features
- ForgeX UI
- Usage Example
- GitHub Stats
- License
go install github.com/DEVRhylme-Foundation/forgex@latest
This installs a go binary that will automatically bind to your $GOPATH
Then in a new terminal run:
forgex create
You can also use the provided flags to set up a project without interacting with the UI.
forgex create --name my-project --framework gin --driver postgres --git commit
See forgex create -h
for all the options and shorthands.
Go ForgeX now offers enhanced database support, allowing you to choose your preferred database driver during project setup. Use the --driver
or -d
flag to specify the database driver you want to integrate into your project.
Choose from a variety of supported database drivers:
ForgeX is focused on being as minimalistic as possible. That being said, we wanted to offer the ability to add other features people may want without bloating the overall experience.
You can now use the --advanced
flag when running the create
command to get access to the following features. This is a multi-option prompt; one or more features can be used at the same time:
- HTMX support using Templ
- CI/CD workflow setup using Github Actions
- Websocket sets up a websocket endpoint
- Tailwind css framework
- Docker configuration for go project
Note: selecting tailwind option automatically selects htmx.
ForgeX UI is a web application that allows you to create commands for the CLI and preview the structure of your project. You will be able to see directories and files that will be created upon command execution. Check it out at forgex.dev
Here's an example of setting up a project with a specific database driver:
forgex create --name my-project --framework gin --driver postgres --git commit
Advanced features are accessible with the --advanced flag
forgex create --advanced
Advanced features can be enabled using the --feature
flag along with the --advanced
flag.
HTMX:
forgex create --advanced --feature htmx
CI/CD workflow:
forgex create --advanced --feature githubaction
Websocket:
forgex create --advanced --feature websocket
Tailwind:
forgex create --advanced --feature tailwind
Docker:
forgex create --advanced --feature docker
Or all features at once:
forgex create --name my-project --framework chi --driver mysql --advanced --feature htmx --feature githubaction --feature websocket --feature tailwind --feature docker -git commit
Visit documentation to learn more about ForgeX and its features.
Licensed under MIT License