@@ -11,19 +11,23 @@ The idea is that these are backend services (like microservices), not an entire
1111P.S. This was encountered while working on [ fáfnir] ( https://github.com/andrearcaina/fafnir ) .
1212
1313### Installation
14+
1415` goforge ` can be installed on Windows or Linux, WSL, Git Bash:
1516
1617Install via cURL on Linux, WSL, or Git Bash:
18+
1719``` bash
1820curl -fsSL https://raw.githubusercontent.com/andrearcaina/goforge/main/install.sh | sh
1921```
2022
2123Install via Powershell on Windows:
24+
2225``` bash
2326irm https://raw.githubusercontent.com/andrearcaina/goforge/main/install.ps1 | iex
2427```
2528
2629Or via Go (requires Go 1.24.5 or later):
30+
2731``` bash
2832go install github.com/andrearcaina/goforge@latest
2933```
@@ -33,10 +37,13 @@ go install github.com/andrearcaina/goforge@latest
3337This CLI can generate three server types, along with optional database scaffolding. For now, it only generates a REST API. See the [ TODO] ( #todo ) section for planned features.
3438
3539To generate a Go REST server, run:
40+
3641```
3742> goforge generate -p rest-server -n my-server -s REST -m
3843```
44+
3945This command does the following:
46+
4047- Creates a directory named ` rest-server `
4148- Initializes a ` go.mod ` file with the module name ` my-server `
4249- Configures the server type as ` REST `
@@ -49,7 +56,7 @@ If any required flags are missing, an interactive TUI will appear:
4956
5057You can see that the TUI appears, asking if you should generate the database files.
5158
52- The following fields must be provided either via CLI flags or through the TUI (check [ ` internal/spec /config.go ` ] ( internal/spec /config.go ) ):
59+ The following fields must be provided either via CLI flags or through the TUI (check [ ` internal/config /config.go ` ] ( internal/config /config.go ) ):
5360
5461``` go
5562type ServerTypeFlag string
@@ -67,6 +74,7 @@ type Form struct {
6774 MakefileFlag bool
6875}
6976```
77+
7078If all required flags are provided (including ` --database ` ), the TUI is skipped and the server is generated immediately.
7179
7280For example, running with all required flags will produce:
@@ -79,12 +87,12 @@ Here is an example where you can trigger the TUI:\
7987
8088In no particular order:
8189
82- - [ ] Allow different server type boilerplates
90+ - [ ] Allow different server type boilerplates
8391 - [x] REST (` go-chi ` )
8492 - [x] gRPC (` grpc-go ` )
8593 - [ ] GraphQL (` gqlgen ` )
86- - [X ] Add Makefile support flag
94+ - [x ] Add Makefile support flag
8795- [x] Add SQLc/database support flag
88- - [X ] Potentially add a docker-compose file to spin up a PostgreSQL instance
96+ - [x ] Potentially add a docker-compose file to spin up a PostgreSQL instance
8997- [x] Interactive UI for when certain flags are not provided
90- - [X ] Add installation scripts for both Windows and Linux
98+ - [x ] Add installation scripts for both Windows and Linux
0 commit comments