π» Vgo
π Overview
Vgo is a simple go project scaffolding tool with user-friendly command-line interface written in Go. This tool saves time, ensures consistent project structure, and improves development efficiency.
NOTE : This is my first open source contribution. I hope this tool will be useful to many developers and help them in their projects. I am open to feedback and suggestions to improve this tool further.
This is the first version of the tool and I will be adding more features and improvements in the future.
π Demo

See it is that simple to create a new project with vgo. Just run the command vgo init and answer the questions to create a new project.
β¨ Features
- Dynamic File Generation: Creates boilerplate code files tailored to your project.
- Customizable Templates: Supports user-defined templates for flexibility.
- Instant Setup: Quickly scaffold a new project by leveraging go routines.
- Cross-Platform: Runs seamlessly on Windows, macOS, and Linux.
π― Todo
This is the list of features that I am planning to add in the future. I will be working on these features in the upcoming versions.
- Add support for custom templates.
- Improve project structure.
- Configure project settings using a configuration file.
- Implement addons features (basic auth, logging, caching and testing setup).
β¬οΈ Installation
Prerequisites
- Go (Version 1.23.3 or higher is recommended)
1. Using go install
go install github.com/vg006/vgo@latest
2. Building from Source
-
Clone the repository:
git clone https://github.com/vg006/vgo.git
cd vgo
-
Build the binary:
go build -o vgo
-
Install the binary to your Go bin directory:
go install
(or)
Add the binary to your PATH:
export PATH=$PATH:$(pwd)
π οΈ Usage
- Initialize a new project:
vgo init
- To update the tool:
vgo up
- To Build and Install the binary:
NOTE: This command is only for development purposes.
It builds the binary file of the tool and install it.
vgo build
Available Flags
| Flag |
Description |
--help |
Display help information. |
π License
This project is licensed under the MIT License.
π€ Contributing
Contributions are welcome! Please follow these steps:
-
Fork the repository. Clone the repository.
-
Create a new branch and install dependencies:
git checkout -b feature/your-feature
go mod tidy
-
Format using gofmt to ensure it adheres to Go style guidelines.
-
Commit your changes with clear commit message:
git commit -m "Add your feature"
-
Push the branch:
git push origin feature/your-feature
-
Open a pull request.
πͺ Support
If you encounter any issues or have questions, feel free to open an issue on GitHub.
π Acknowledgments
Special thanks to,
- the Go community, for their invaluable resources and inspiration.
- MelkeyDev, for the inspiration to build this tool.
- Cobra CLI, for helping to build command-line interface.
- Charm_, for building beautiful and interactive CLI components.