Skip to content

goquick-run/cli

Repository files navigation

Quick CLI Logo

Create fast and reliable projects with the Quick framework

InstallationUsageCommandsExamplesProject StructureContributingLicense

✨ Overview

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.

🔧 Installation

Option 1 – Using go install

go install github.com/goquick-run/cli@latest
mv ~/go/bin/cli ~/go/bin/quick

Option 2 – Clone and build manually

git clone https://github.com/goquick-run/cli
cd cli
go install
mv ~/go/bin/cli ~/go/bin/quick

🧠 Usage

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.

🛠 Command Details

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

🧱 Project Structure

├── 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

🤝 Contributing

Contributions are welcome! Feel free to: • Open issuesSubmit pull requests • Suggest new features

Please make sure to follow the established code structure and naming conventions.

About

Quick cli - Interface UI and Comand Line to Quick

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published