Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/srijanone/vega
Vega (वेग) is a project scaffolding tool to speed up development process.
https://github.com/srijanone/vega
devops docker go golang scaffold scaffolding starterkits
Last synced: 3 days ago
JSON representation
Vega (वेग) is a project scaffolding tool to speed up development process.
- Host: GitHub
- URL: https://github.com/srijanone/vega
- Owner: srijanone
- License: apache-2.0
- Created: 2020-03-16T05:35:50.000Z (over 4 years ago)
- Default Branch: develop
- Last Pushed: 2024-09-10T00:54:09.000Z (2 months ago)
- Last Synced: 2024-09-10T04:33:57.705Z (2 months ago)
- Topics: devops, docker, go, golang, scaffold, scaffolding, starterkits
- Language: PHP
- Homepage:
- Size: 5.66 MB
- Stars: 9
- Watchers: 5
- Forks: 7
- Open Issues: 92
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Vega (वेग)
Vega (वेग) is developer friendly project scaffolding tool to speed up development process.
[![Release](https://github.com/srijanone/vega/workflows/Release/badge.svg)](https://github.com/srijanone/vega/releases)
[![Go Report Card](https://goreportcard.com/badge/github.com/srijanone/vega)](https://goreportcard.com/report/github.com/srijanone/vega)## Installation
Several options to install:
- Via **Installer Script**: `curl -fsSL https://raw.githubusercontent.com/srijanone/vega/develop/scripts/install.sh | bash`
- Via **Homebrew**: `brew install srijanone/vega/vega`
- Update vega: `brew update && brew upgrade vega`
- For Mac and Linux
- Via **Go**: `go install github.com/srijanone/vega`
- (This might install latest unreleases/bleeding-edge version)
- Via released binaries:
- [releases](https://github.com/srijanone/vega/releases)## Requirements
- git
- [tilt](https://docs.tilt.dev/install.html)
- [Docker](https://docs.docker.com/install/)
- [docker-compose](https://docs.docker.com/compose/install/)---
## Getting Started
- `vega`: vega usage
- `vega init`: Initializes vega
- `vega starterkit list`: List all available starterkits
- `vega create my-drupal-app --starterkit drupal8-php-fpm-apache`: Bootload a new app using starterkit
- `vega up`: Get your docker containers up & running.
- `vega down`: Stop all docker containers.
The above commands are mostly used commands, please refer commands table for further details.
## Commands
| Command | Description | Arguments | Output |
| -------------------------------------------- | ------------------------------------------------------------------------------------- | ----------------------------------------------- | ---------- |
| `vega` | Prints out usage and help | \--home | |
| `vega version` | Prints out version | | Vega 1.0.0 |
| `vega home` | Prints out home vega home | | |
| `vega init` | Initializes vega | | |
| `vega starterkit list` | List all available starterkits | | drupal9-php-fpm-apache
react |
| `vega create [path] --starterkit ` | Creates the starter kit at provided directory | \--starterkit
\--repo | |
| `vega install [path]` | Install a starterkit to existing project | \--repo | |
| `vega repo add ` | Add another starterkit repo, Can choose local folder as well | | |
| `vega repo list` | Lists all the repo available | \--repo | |
| `vega hooks install [path]` | Installs git hooks to specified path | | |
| `vega up` | Runs the application | \--port
\--watch
\--no-browser | |
| `vega down` | Stops the application and deletes the resources | | |#### Notes:
- All commands can take additional `--home` flag which will override default $VEGA_HOME
- `--repo` flag can take git url or local folder url
- Examples:
1. `vega repo add globe [email protected]:vs4vijay/vega-starterkits.git`
2. `vega repo add new /Users/viz/SrijanX/custom`---
## Development
- Run Vega: `go run main.go`
- Release Binaries: `goreleaser`
- Github Token to be created and exported: `export GITHUB_TOKEN=`
- Make command is added to Makefile:
- `make release-dry-run` # to test and verify on local machine
- `make release-using-gorelease`---
## Release
- Releases are generated using Github Action Pipelines which runs `goreleaser`
- Create a new tag: `git tag origin v1.0.x`
- Push tag: `git push origin v1.0.x`---
## Secrets
vega has been integrated with [git-secrets](https://github.com/awslabs/git-secrets) which adds following hooks to your repositories when ```vega hooks install``` is executed.1. ```pre-commit```: Used to check if any of the files changed in the commit
use prohibited patterns.
2. ```commit-msg```: Used to determine if a commit message contains a
prohibited patterns.
3. ```prepare-commit-msg```: Used to determine if a merge commit will
introduce a history that contains a prohibited pattern at any point.
Please note that this hook is only invoked for non fast-forward merges.```vega hooks install``` overrides any current git hooks if you have added any. In case you would like to have multiple
hooks please refer: https://gist.github.com/carlos-jenkins/89da9dcf9e0d528ac978311938aade43---
## Credits
- Inspiration from Draft (https://draft.sh)
- Tilt (https://tilt.dev) is used for running the applications
- git-secrets## LICENSE
This software is covered under the Apache v2.0 license. You can read the [license here](LICENSE).
This software uses tilt binary, which is covered by the Apache v2.0 license too.