https://github.com/vg006/vgo
A simple project scaffolder for Go, written in Go.
https://github.com/vg006/vgo
cli cli-app go golang golang-application golang-cli-app golang-tools terminal-app terminal-based
Last synced: 2 months ago
JSON representation
A simple project scaffolder for Go, written in Go.
- Host: GitHub
- URL: https://github.com/vg006/vgo
- Owner: vg006
- License: mit
- Created: 2024-12-25T06:53:35.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-11-05T03:39:53.000Z (8 months ago)
- Last Synced: 2025-12-12T23:56:47.430Z (6 months ago)
- Topics: cli, cli-app, go, golang, golang-application, golang-cli-app, golang-tools, terminal-app, terminal-based
- Language: Go
- Homepage:
- Size: 468 KB
- Stars: 202
- Watchers: 4
- Forks: 9
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 💻 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](https://golang.org/dl/) (Version 1.23.3 or higher is recommended)
### 1. Using `go install`
```bash
go install github.com/vg006/vgo@latest
```
### 2. Building from Source
1. Clone the repository:
```bash
git clone https://github.com/vg006/vgo.git
cd vgo
```
2. Build the binary:
```bash
go build
```
3. Install the binary to your Go bin directory:
```bash
go install
```
(or)
Add the binary to your PATH:
```bash
export PATH=$PATH:$(pwd)
```
## 🛠️ Usage
1. **Initialize a new project**:
```bash
vgo init
```
2. **To update the tool**:
```bash
vgo up
```
3. **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.
```bash
vgo build
```
### Available Flags
| Flag | Short Flag | Description |
| -------------- | ---------- | -------------------------------------------------- |
| `--help` | `-h` | Display help information. |
| `--accessible` | `-a` | Set accessibility for screen reader compatibility. |
## 📄 License
This project is licensed under the [MIT License](LICENSE).
## 🤝 Contributing
Contributions are welcome! Please follow these steps:
1. Fork the repository. Clone the repository.
2. Create a new branch and install dependencies:
```bash
git checkout -b feature/your-feature
go mod tidy
```
3. Format using `gofmt` to ensure it adheres to Go style guidelines.
``` bash
gofmt -w .
```
4. Commit your changes with clear commit message:
```bash
git commit -m "Add your feature"
```
5. Push the branch:
```bash
git push origin feature/your-feature
```
6. Open a pull request.
## 💪 Support
If you encounter any issues or have questions, feel free to open an issue on [GitHub](https://github.com/vg006/vgo/issues).
## 🙏 Acknowledgments
Special thanks to,
- the Go community, for their invaluable resources and inspiration.
- [MelkeyDev](https://github.com/MelkeyDev), for the inspiration to build this tool.
- [Cobra CLI](https://github.com/spf13/cobra), for helping to build command-line interface.
- [Charm\_](https://github.com/charmbracelet), for building beautiful and interactive CLI components.