A way to structure your application modules.
There's a command line tool for running simple command modules (framework.CommandModule).
Install:
go install github.com/roboslone/go-framework/cmd/fexec@latestOr use as devcontainers feature:
{
"features": {
"ghcr.io/roboslone/go-framework/fexec:1": {}
}
}Example config: .fexec.yaml
Run:
fexec --help
# Usage of fexec:
# -c string
# Path to config file (default ".fexec.yaml")
#
# Available modules:
# ci
# depends on lint, test
# install
# $ go get
# lint
# $ golangci-lint run --no-config .
# depends on install
# test
# $ go test ./...
# depends on install
# pre-commit
# depends on lint, testAvailable interfaces can be found in module.go:
Dependent
Preparable[State any]
Startable[State any]
Awaitable[State any]
Cleanable[State any]