Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tockins/realize
Realize is the #1 Golang Task Runner which enhance your workflow by automating the most common tasks and using the best performing Golang live reloading.
https://github.com/tockins/realize
build-system build-tool filewatcher go go-tools golang golang-application golang-package livereload task-runner watcher
Last synced: 3 months ago
JSON representation
Realize is the #1 Golang Task Runner which enhance your workflow by automating the most common tasks and using the best performing Golang live reloading.
- Host: GitHub
- URL: https://github.com/tockins/realize
- Owner: oxequa
- License: gpl-3.0
- Created: 2016-07-12T08:07:25.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2021-05-14T21:47:38.000Z (over 3 years ago)
- Last Synced: 2024-05-29T19:02:38.301Z (5 months ago)
- Topics: build-system, build-tool, filewatcher, go, go-tools, golang, golang-application, golang-package, livereload, task-runner, watcher
- Language: Go
- Homepage:
- Size: 3.93 MB
- Stars: 4,448
- Watchers: 69
- Forks: 230
- Open Issues: 71
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- fucking-awesome-go - realize - Go build a system with file watchers and live to reload. Run, build and watch file changes with custom paths. (Build Automation)
- awesome-go - realize - Go build a system with file watchers and live to reload. Run, build and watch file changes with custom paths. (Build Automation)
- awesome-go-with-stars - realize - Go build a system with file watchers and live to reload. Run, build and watch file changes with custom paths. (Build Automation)
- awesome-go - realize - Go build a system with file watchers and live to reload. Run, build and watch file changes with custom paths. Stars:`4.5K`. (Build Automation)
- awesome-go - realize - Go build system with file watchers and live reload. Run, build and watch file changes with custom paths. (Build Automation)
- awesome-go - realize - Realize is the #1 Golang Task Runner which enhance your workflow by automating the most common tasks and using the best performing Golang live reloading. - β 2573 (Utilities)
- awesome-go - realize - Go build a system with file watchers and live to reload. Run, build and watch file changes with custom paths. (Build Automation)
- awesome-go-plus - realize - Go build a system with file watchers and live to reload. Run, build and watch file changes with custom paths. (Build Automation)
- awesome-go-plus - realize - Go build a system with file watchers and live to reload. Run, build and watch file changes with custom paths. (Build Automation)
README
#1 Golang live reload and task runner
## Content
### - βοΈ [Top Features](#top-features)
### - ππ» [Get started](#get-started)
### - π [Config sample](#config-sample)
### - π [Commands List](#commands-list)
### - π [Support and Suggestions](#support-and-suggestions)
### - π [Backers and Sponsors](#backers)## Top Features
- High performance Live Reload.
- Manage multiple projects at the same time.
- Watch by custom extensions and paths.
- All Go commands supported.
- Switch between different Go builds.
- Custom env variables for project.
- Execute custom commands before and after a file changes or globally.
- Export logs and errors to an external file.
- Step-by-step project initialization.
- Redesigned panel that displays build errors, console outputs and warnings.
- Any suggestion? [Suggest an amazing feature! πΊπ»](https://github.com/oxequa/realize/issues/new)## Supporters
## Quickstart
```
go get github.com/oxequa/realize
```## Commands List
### Run Command
From **project/projects** root execute:$ realize start
It will create a **.realize.yaml** file if doesn't already exist, add the working directory as project and run your workflow.
***start*** command supports the following custom parameters:
--name="name" -> Run by name on existing configuration
--path="realize/server" -> Custom Path (if not specified takes the working directory name)
--generate -> Enable go generate
--fmt -> Enable go fmt
--test -> Enable go test
--vet -> Enable go vet
--install -> Enable go install
--build -> Enable go build
--run -> Enable go run
--server -> Enable the web server
--open -> Open web ui in default browser
--no-config -> Ignore an existing config / skip the creation of a new oneSome examples:
$ realize start
$ realize start --path="mypath"
$ realize start --name="realize" --build
$ realize start --path="realize" --run --no-config
$ realize start --install --test --fmt --no-config
$ realize start --path="/Users/username/go/src/github.com/oxequa/realize-examples/coin/"If you want, you can specify additional arguments for your project:
β $ realize start --path="/print/printer" --run yourParams --yourFlags // right
β $ realize start yourParams --yourFlags --path="/print/printer" --run // wrongβ οΈ The additional arguments **must go after** the params:
π‘ The ***start*** command can be used with a project from its working directory without make a config file (*--no-config*).### Add Command
Add a project to an existing config file or create a new one.$ realize add
π‘ ***add*** supports the same parameters as ***start*** command.
### Init Command
This command allows you to create a custom configuration step-by-step.$ realize init
π‘ ***init*** is the only command that supports a complete customization of all supported options.
### Remove Command
Remove a project by its name$ realize remove --name="myname"
## Color reference
π BLUE: Outputs of the project.
π RED: Errors.
π PURPLE: Times or changed files.
π GREEN: Successfully completed action.## Config sample
*** there is no more a .realize dir, but only a .realize.yaml file ***
For more examples check: [Realize Examples](https://github.com/oxequa/realize-examples)
settings:
legacy:
force: true // force polling watcher instead fsnotifiy
interval: 100ms // polling interval
resources: // files names
outputs: outputs.log
logs: logs.log
errors: errors.log
server:
status: false // server status
open: false // open browser at start
host: localhost // server host
port: 5001 // server port
schema:
- name: coin
path: coin // project path
env: // env variables available at startup
test: test
myvar: value
commands: // go commands supported
vet:
status: true
fmt:
status: true
args:
- -s
- -w
test:
status: true
method: gb test // support different build tools
generate:
status: true
install:
status: true
build:
status: false
method: gb build // support differents build tool
args: // additional params for the command
- -race
run:
status: true
args: // arguments to pass at the project
- --myarg
watcher:
paths: // watched paths
- /
ignore_paths: // ignored paths
- vendor
extensions: // watched extensions
- go
- html
scripts:
- type: before
command: echo before global
global: true
output: true
- type: before
command: echo before change
output: true
- type: after
command: echo after change
output: true
- type: after
command: echo after global
global: true
output: true
errorOutputPattern: mypattern //custom error pattern## Support and Suggestions
π¬ Chat with us [Gitter](https://gitter.im/oxequa/realize)
βοΈ Suggest a new [Feature](https://github.com/oxequa/realize/issues/new)## Backers
Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/realize#backer)]
## Sponsors
Become a sponsor and get your logo here! [[Become a sponsor](https://opencollective.com/realize#sponsor)]