https://github.com/struckchure/gv
Golang build tool for web.
https://github.com/struckchure/gv
esbuild esbuild-plugin golang reactjs svelte vue
Last synced: 10 months ago
JSON representation
Golang build tool for web.
- Host: GitHub
- URL: https://github.com/struckchure/gv
- Owner: struckchure
- License: mit
- Created: 2025-04-06T17:22:08.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-20T15:22:29.000Z (about 1 year ago)
- Last Synced: 2025-05-20T16:38:48.687Z (about 1 year ago)
- Topics: esbuild, esbuild-plugin, golang, reactjs, svelte, vue
- Language: JavaScript
- Homepage: https://struckchure.github.io/gv/
- Size: 578 KB
- Stars: 17
- Watchers: 2
- Forks: 3
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# โจ GV - The Next-Gen Fullstack Web Framework โจ
GV is a blazing-fast, next-generation fullstack web framework written in Go, designed to make building modern web applications a breeze! ๐จ
## ๐ Description
GV combines the power of Go on the backend with the flexibility of modern frontend frameworks like React, Vue, and Svelte. With features like Hot Module Replacement (HMR), CDN dependency management, and a plugin container, GV offers a streamlined development experience that boosts productivity and performance. โก
## ๐ฆ Installation
Get started with GV in just a few steps!
- โฌ๏ธ **Clone the Repository**:
```bash
git clone git@github.com:struckchure/gv.git
```
- ๐ ๏ธ **Navigate to the Project Directory**:
```bash
cd gv
```
- โ
**Install Dependencies**:
```bash
go mod tidy
```
## ๐ก Usage
Here are some basic examples to get you started with GV:
โ Adding a Dependency
To add a new dependency to your project, use the `add` command:
```bash
gv add esm:react@19.1.0
```
This command updates the `config.yaml` file and installs the necessary TypeScript definitions.
๐ Syncing Dependencies
To sync your project's dependencies based on the `config.yaml` file, use the `sync` command:
```bash
gv sync
```
This ensures all dependencies are installed and up-to-date.
โจ Creating a New Project
To create a new project using one of the provided templates:
1. Run the `new` command:
```bash
gv new
```
2. Follow the prompts to enter your project name, package name, and choose a template (Blank, React, Vue, Svelte).
3. GV will set up the project structure and install the necessary dependencies.
## ๐ Features
- ๐ฅ **Hot Module Replacement (HMR)**: Automatically update your frontend without full page reloads.
- ๐ฆ **CDN Dependency Management**: Easily manage frontend dependencies from CDNs.
- ๐ **Plugin Container**: A powerful plugin system for extending GV's functionality.
- ๐ **Automatic TypeScript Definition Generation**: Keep your frontend types in sync with your Go backend.
- โก **Blazing-Fast Performance**: Go's efficiency ensures excellent backend performance.
- ๐งฉ **Flexible Frontend**: Supports React, Vue, Svelte, and more.
## ๐ ๏ธ Technologies Used
| Technology | Description | Link |
| :------------------------------ | :----------------- | :------------------------------------------------------- |
| **Go** | Backend language | [https://go.dev/](https://go.dev/) |
| **esbuild** | JavaScript bundler | [https://esbuild.github.io/](https://esbuild.github.io/) |
| **React** | Frontend library | [https://react.dev/](https://react.dev/) |
| **Vue** | Frontend framework | [https://vuejs.org/](https://vuejs.org/) |
| **Svelte** | Frontend compiler | [https://svelte.dev/](https://svelte.dev/) |
| **Echo** | go web framework | https://echo.labstack.com/ |
## ๐ค Contributing
We welcome contributions to GV! Here are the guidelines:
- ๐ก **Fork the Repository**: Create your own fork of the project.
- ๐ฟ **Create a Branch**: Make your changes in a separate branch.
- โ๏ธ **Commit Changes**: Add clear and concise commit messages.
- ๐งช **Test**: Make sure tests pass.
- ๐ **Submit a Pull Request**: Send your changes for review.
## ๐ License
This project is licensed under the [MIT License](LICENSE).
## ๐จโ๐ป Author Info
- Mohammed Al-Ameen
- [Github](https://github.com/struckchure)
- [Twitter](https://twitter.com/)
- [LinkedIn](https://linkedin.com/)
---
[](https://go.dev/)
[](LICENSE)
[](https://github.com/struckchure/gv/graphs/contributors)
[](https://github.com/struckchure/gv/commits/main)
[](https://www.npmjs.com/package/dokugen)