Create fast and reliable projects with the Quick framework
Installation • Usage • Commands • Examples • Project Structure • Contributing • License
Quick CLI is a powerful command-line tool designed to help you create and manage projects using the Quick framework. With simple and intuitive commands, you can quickly scaffold new projects, add controllers, and manage templates.
go install github.com/goquick-run/cli@latest
mv ~/go/bin/cli ~/go/bin/quick
git clone https://github.com/goquick-run/cli
cd cli
go install
mv ~/go/bin/cli ~/go/bin/quick
Quick CLI provides a set of commands to help you create and manage Quick projects:
quick [command] [flags]
quick --help
$ quick
Quick CLI is a command-line tool to create
and manage projects using the Quick framework.
Create new projects, add controllers, and manage templates
with simple and intuitive commands.
Usage:
quick [flags]
quick [command]
Available Commands:
addc Adds a new controller to the project
completion Generate the autocompletion script for the specified shell
help Help about any command
init Initialize a new Quick project
template Manage templates for the Quick CLI
ui Launch an interactive UI to create a Quick project
Flags:
--config string config file (defaults to $HOME/.quick.yaml)
-h, --help help for quick
-v, --version Show the Quick CLI version
Use "quick [command] --help" for more information about a command.
quick init
Initialize a new Quick project with the basic structure.
$ quick init --help
Initialize a new Quick project with the basic structure.
You can specify a name for the project or use the current directory.
Example:
quick init my-project
quick init --template api my-project
Usage:
quick init [name-of-project] [flags]
Flags:
-h, --help help for init
-t, --template string template to use (default, api, web) (default "default")
Example:
$ quick init my-awesome-api --template api
Creating project... Done!
🎉 Project created successfully! 🎉
To start using your project:
cd my-awesome-api
go mod tidy
go run cmd/server/main.go
For more information, check the documentation at: https://github.com/goquick-run/docs
quick addc
Add a new controller to an existing Quick project.
$ quick addc --help
Add a new controller to the current Quick project.
Must be executed inside an existing Quick project.
Example:
quick addc user
quick addc product
Usage:
quick addc [controller-name] [flags]
Flags:
-h, --help help for addc
Example:
$ quick addc user
Adding controller... Done!
Controller 'user' added successfully!
quick template
Manage templates for the Quick CLI.
$ quick template --help
Manage templates for the Quick CLI.
You can list, add, and use templates to create projects and components.
Usage:
quick template [command]
Available Commands:
add Add a new template
list List all available templates
use Use a specific template
Flags:
-h, --help help for template
Use "quick template [command] --help" for more information about a command.
quick template list
List all available templates.
$ quick template list
Templates available:
----------------------
- default: Default template for Quick projects [web]
- api: Template for RESTful APIs [api]
- cli: Template for CLI applications [cli]
Quick template add Add a new template to the Quick CLI.
$ quick template add --help
Add a new template to the Quick CLI.
You can add templates from a Git repository or a local directory.
Example:
quick template add --source [https://github.com/user/template.git](https://github.com/user/template.git) --name my-template
quick template add --source ./my-local-template --name my-template
Usage:
quick template add [flags]
Flags:
--category string template category (api, web, cli, custom) (default "custom")
--description string template description
-h, --help help for add
--name string template name
--source string template source (Git URL or local path)
Example
$ quick template add --source https://github.com/user/api-template.git --name custom-api --description "My custom API template" --category api
Adding template... Done!
Template 'custom-api' added successfully!
Quick template use Use a specific template to create a new project or component.
$ quick template use --help
Use a specific template to create a new project or component.
Should be used in conjunction with other commands like init or addc.
Example:
quick template use api-rest
quick template use microservice
Usage:
quick template use [template-name] [flags]
Flags:
-h, --help help for use
Example
$ quick template use custom-api
Checking template... Done!
Template 'custom-api' selected successfully!
Use 'quick init --template custom-api [project-name]' to create a project with this template.
quick ui
Launch an interactive UI to create a Quick project (coming soon).
$ quick ui
Launching interactive UI...
[Interactive UI will be displayed here]
🌟 Examples Creating a new API project
$ quick init my-api --template api
Creating project... Done!
🎉 Project created successfully! 🎉
To start using your project:
cd my-api
go mod tidy
go run run cmd/server/main.go
For more information, check the documentation at: https://github.com/goquick-run/docs
Adding a controller to an existing project
$ cd my-api
$ quick addc user
Adding controller... Done!
Controller 'user' added successfully!
Creating a custom template and using it
$ quick template add --source [https://github.com/user/microservice-template.git](https://github.com/user/microservice-template.git) --name microservice --description "Microservice template with gRPC" --category api
Adding template... Done!
Template 'microservice' added successfully!
$ quick init my-microservice --template microservice
Creating project... Done!
🎉 Project created successfully! 🎉
To start using your project:
cd my-microservice
go mod tidy
run cmd/server/main.go
For more information, check the documentation at: https://github.com/goquick-run/docs
├── LICENSE
├── Makefile
├── README.md
├── cmd
│ ├── addc.go
│ ├── addc_test.go
│ ├── init.go
│ ├── init_test.go
│ ├── root.go
│ ├── root_test.go
│ ├── template
│ │ ├── add.go
│ │ ├── add_test.go
│ │ ├── list.go
│ │ ├── list_test.go
│ │ ├── template.go
│ │ ├── template_test.go
│ │ ├── use.go
│ │ └── use_test.go
│ ├── ui.go
│ └── ui_test.go
├── go.mod
├── go.sum
├── internal
│ ├── project
│ │ ├── creator.go
│ │ ├── creator_test.go
│ │ ├── validator.go
│ │ └── validator_test.go
│ ├── template
│ │ ├── manager.go
│ │ ├── manager_test.go
│ │ ├── renderer.go
│ │ └── renderer_test.go
│ └── ui
│ ├── prompt.go
│ ├── prompt_test.go
│ ├── quick.go
│ ├── quick_test.go
│ ├── spinner.go
│ └── spinner_test.go
├── main.go
└── quick_logo.png
Contributions are welcome! Feel free to: • Open issues • Submit pull requests • Suggest new features
Please make sure to follow the established code structure and naming conventions.