go-sail is a powerful CLI tool written in Go using the Cobra library. It simplifies the process of setting up Go backend frameworks like Fiber, Echo and Gin by generating templates with built-in logging and caching features. Designed for both beginners and seasoned developers, go-sail reduces the time spent on repetitive coding tasks during project initialization.
- Generates templates for popular Go frameworks: Fiber, Echo, Gin.
- Make your own configuration with framework, databae and orm
- Integrated logging and caching setups.
- Reduces project setup time.
- Eliminates repetitive code for initializing Go projects.
To install go-sail, follow these simple steps:
-
Install Go: Make sure you have Go installed on your machine. You can download it from the official Go website.
-
Clone the Repository: Open your terminal and run the following command to clone the repository:
git clone https://github.com/csivitu/go-sail.git
-
Navigate to the Project Directory:
cd go-sail
-
Install dependencies
go mod tidy
-
Build and Install
go build go install
Once installed, you can start using go-sail to generate templates for your Go projects.
- To check if the installation was successful, run:
go-sail help
- Initialize a new Go project with a chosen framework, database and orm configuration.
go-sail create my-app
Please follow these steps to contribute
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them with a clear commit message.
- Push your changes to your fork.
- Submit a pull request to the dev branch of repository.
We follow the Conventional Commits specification for our commit messages. This leads to more readable messages that are easy to follow when looking through the project history. Here are some of the most common types of commits:
-
feat
: A new feature for the user or a significant addition to the codebase- Example:
feat: add support for Gin framework
- Example:
-
fix
: A bug fix- Example:
fix: resolve issue with Echo template generation
- Example:
-
chore
: Regular maintenance tasks, updates to build processes, or other changes that don't modify src or test files- Example:
chore: update dependencies to latest versions
- Example:
-
docs
: Documentation only changes- Example:
docs: update installation instructions in README
- Example:
-
style
: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)- Example:
style: format code according to Go standards
- Example:
-
refactor
: A code change that neither fixes a bug nor adds a feature- Example:
refactor: simplify template generation logic
- Example:
-
test
: Adding missing tests or correcting existing tests- Example:
test: add unit tests for Fiber template generation
- Example: