https://github.com/kosatnkn/cauldron
Project generator using https://github.com/kosatnkn/catalyst as a template
https://github.com/kosatnkn/cauldron
catalyst cauldron golang project-creator
Last synced: 5 months ago
JSON representation
Project generator using https://github.com/kosatnkn/catalyst as a template
- Host: GitHub
- URL: https://github.com/kosatnkn/cauldron
- Owner: kosatnkn
- License: mit
- Created: 2019-10-04T03:35:37.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-12-18T21:55:11.000Z (over 2 years ago)
- Last Synced: 2024-06-22T10:02:13.024Z (almost 2 years ago)
- Topics: catalyst, cauldron, golang, project-creator
- Language: Go
- Homepage:
- Size: 5.85 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Cauldron
[](https://github.com/kosatnkn/cauldron/actions/workflows/ci.yml)
[](https://github.com/kosatnkn/cauldron/actions/workflows/codeql-analysis.yml)
[](https://coveralls.io/github/kosatnkn/cauldron?branch=master)


[](https://pkg.go.dev/github.com/kosatnkn/cauldron/v2)
[](https://goreportcard.com/report/github.com/kosatnkn/cauldron)
Project generator using [Catalyst](https://github.com/kosatnkn/catalyst) as a template.
`Cauldron` will generate a fully configured project along with a sample set so you can check whether everything is working fine.
The sample set covers request response lifecycle handling of basic CRUD operations. So you can use them as an example to create your REST API.
The project that will be created uses `go.mod` for dependency management. This will enable you to create and run projects outside of the `GOPATH`.
Visit the [Catalyst](https://github.com/kosatnkn/catalyst) base project for more information.
## Version 1 vs Version 2
Version 1 of `Cauldron` supports creating projects using `Catalyst` versions `v1.0.0` to `v2.3.x`.
Version 2 of `Cauldron` supports creating projects using `Catalyst` version `v2.4.0` and upwards.
## Installation
```bash
go get github.com/kosatnkn/cauldron
```
## Usage
**Command**
```bash
cauldron -n Sample -s github.com/username [-t v1.0.0]
```
```bash
cauldron --name Sample --namespace github.com/username [--tag v1.0.0]
```
**Input Parameters**
- `-n --name` Project name (ex: ProjectOne). The name will be converted to lowercase to be used in module path.
- `-s --namespace` Namespace for the project (ex: github.com/example)
- `-t --tag` Release version of `Catalyst` to be used. The latest version will be used if `-t` is not provided
- `-h --help` Show help message
This will create a new project with **go.mod** module path of `github.com/username/sample`
Cauldron will do a `git init` on the newly created project but you will have to stage all the files in the project and do the first commit yourself.
```bash
git add .
git commit -m "first commit"
```