2017-11-20 15:46:19 +00:00
# Realize
2016-08-21 12:23:28 +00:00
2017-11-05 21:39:30 +00:00
[](https://godoc.org/github.com/tockins/realize)
[](https://travis-ci.org/tockins/realize)
[](https://raw.githubusercontent.com/tockins/realize/v1/LICENSE)
[](https://github.com/tockins/realize-examples)
[](https://gitter.im/tockins/realize?utm_source=badge& utm_medium=badge& utm_campaign=pr-badge& utm_content=badge)
[](https://goreportcard.com/report/github.com/tockins/realize)
2017-12-04 23:14:16 +00:00
<!-- [](#backers)
2017-11-20 15:46:19 +00:00
[](#sponsors)-->
< br >
< div align = "center" >
< img src = "https://i.imgur.com/7XiZyR1.png" width = "125px" >
< h1 style = "" > The #1 Golang Task Runner</ h1 >
< p style = "font-size: 18px; font-weight: 400;" > Enhance your workflow by automating the most common tasks and using the best performing Golang live reloading.< / p >
< / div >
< br >
2016-08-23 19:54:39 +00:00
2017-08-08 15:19:24 +00:00
< p align = "center" >
2017-12-04 23:14:16 +00:00
< img src = "https://gorealize.io/img/realize-ui-2.png" >
2017-08-08 15:19:24 +00:00
< / p >
2016-08-18 08:10:59 +00:00
2017-11-20 15:46:19 +00:00
## Content
2017-08-11 19:00:56 +00:00
2017-11-20 15:48:49 +00:00
### - ⭐️ [Top Features](#top-features)
2017-11-20 15:46:19 +00:00
### - 💃🏻 [Get started](#get-started)
### - 📄 [Config sample](#config-sample)
### - 📚 [Commands List](#commands-list)
2017-11-20 15:48:49 +00:00
### - 🛠 [Support and Suggestions](#support-and-suggestions)
2017-11-20 15:46:19 +00:00
### - 😎 [Backers and Sponsors](#backers)
2017-08-11 19:00:56 +00:00
2017-11-20 15:46:19 +00:00
## Top Features
2016-07-24 23:02:18 +00:00
2017-11-20 15:46:19 +00:00
- 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/tockins/realize/issues/new )
## Get started
$ go get github.com/tockins/realize
2017-08-08 22:06:30 +00:00
2017-11-20 15:46:19 +00:00
## Commands List
2016-08-17 23:08:10 +00:00
2017-11-20 15:46:19 +00:00
### Run Command
From **project/projects** root execute:
2016-08-17 23:08:10 +00:00
2017-10-16 20:37:50 +00:00
$ realize start
2017-12-04 23:14:16 +00:00
It will create a ** .realize.yaml** file if doesn't already exist, add the working directory as project and run your workflow.
2017-11-20 15:46:19 +00:00
***start*** command supports the following custom parameters:
2017-06-19 11:29:47 +00:00
--name="name" -> Run by name on existing configuration
2017-11-20 15:46:19 +00:00
--path="realize/server" -> Custom Path (if not specified takes the working directory name)
2017-10-08 21:09:45 +00:00
--generate -> Enable go generate
--fmt -> Enable go fmt
--test -> Enable go test
2017-10-16 20:37:50 +00:00
--vet -> Enable go vet
2017-10-08 21:09:45 +00:00
--install -> Enable go install
2017-12-04 23:14:16 +00:00
--build -> Enable go build
2017-10-08 21:09:45 +00:00
--run -> Enable go run
2017-04-01 18:42:33 +00:00
--server -> Enable the web server
2017-12-04 23:14:16 +00:00
--open -> Open web ui in default browser
2017-10-08 21:09:45 +00:00
--no-config -> Ignore an existing config / skip the creation of a new one
2017-11-20 15:46:19 +00:00
Some examples:
2017-12-04 23:14:16 +00:00
2017-10-16 20:37:50 +00:00
$ 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
2017-11-20 15:46:19 +00:00
$ realize start --path="/Users/username/go/src/github.com/tockins/realize-examples/coin/"
2017-12-04 23:14:16 +00:00
2017-11-20 15:46:19 +00:00
If you want, you can specify additional arguments for your project:
✅ $ realize start --path="/print/printer" --run yourParams --yourFlags // right
2017-12-04 23:14:16 +00:00
❌ $ realize start yourParams --yourFlags --path="/print/printer" --run // wrong
2017-11-20 15:46:19 +00:00
⚠️ The additional arguments **must go after** the params:
< br >
💡 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.
2017-04-01 18:42:33 +00:00
$ realize add
2017-11-20 15:46:19 +00:00
💡 ** *add*** supports the same parameters as ** *start*** command.
### Init Command
2017-12-04 23:14:16 +00:00
This command allows you to create a custom configuration step-by-step.
2017-03-13 00:04:58 +00:00
2017-04-01 18:42:33 +00:00
$ realize init
2017-03-13 00:11:05 +00:00
2017-11-20 15:46:19 +00:00
💡 ** *init*** is the only command that supports a complete customization of all supported options.
### Remove Command
Remove a project by its name
2017-03-13 00:11:05 +00:00
2017-04-01 18:42:33 +00:00
$ realize remove --name="myname"
2017-03-13 00:04:58 +00:00
2017-11-20 15:46:19 +00:00
## Color reference
💙 BLUE: Outputs of the project.< br >
💔 RED: Errors.< br >
💜 PURPLE: Times or changed files.< br >
💚 GREEN: Successfully completed action.< br >
2016-08-24 15:50:52 +00:00
2017-11-20 15:46:19 +00:00
## Config sample
2017-12-04 23:14:16 +00:00
*** there is no more a .realize dir, but only a .realize.yaml file ** *
2017-11-20 15:46:19 +00:00
For more examples check: [Realize Examples ](https://github.com/tockins/realize-examples )
2017-12-04 23:14:16 +00:00
2017-08-08 21:05:27 +00:00
settings:
2017-10-16 20:37:50 +00:00
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:
2017-08-08 21:05:27 +00:00
- name: coin
path: coin // project path
2017-08-11 19:00:56 +00:00
environment: // env variables available at startup
2017-10-16 20:37:50 +00:00
test: test
myvar: value
2017-08-11 19:00:56 +00:00
commands: // go commands supported
2017-10-16 20:37:50 +00:00
vet:
status: true
fmt:
status: true
args:
- -s
- -w
test:
status: true
2018-01-21 19:35:08 +00:00
method: gb test // support different build tools
2017-10-16 20:37:50 +00:00
generate:
status: true
install:
status: true
2017-08-08 21:05:27 +00:00
build:
2017-10-16 20:37:50 +00:00
status: false
method: gb build // support differents build tool
args: // additional params for the command
2017-08-08 21:05:27 +00:00
- -race
2017-12-04 23:14:16 +00:00
run:
status: true
2017-10-16 20:37:50 +00:00
args: // arguments to pass at the project
- --myarg
2017-08-08 21:05:27 +00:00
watcher:
2017-10-16 20:37:50 +00:00
paths: // watched paths
- /
ignore_paths: // ignored paths
- vendor
extensions: // watched extensions
- go
- html
2017-12-04 23:14:16 +00:00
scripts:
- type: before
command: echo before global
global: true
output: true
- type: before
command: echo before change
output: true
2017-10-16 20:37:50 +00:00
- type: after
2017-12-04 23:14:16 +00:00
command: echo after change
output: true
2017-10-16 20:37:50 +00:00
- type: after
2017-12-04 23:14:16 +00:00
command: echo after global
global: true
output: true
2017-10-16 20:37:50 +00:00
errorOutputPattern: mypattern //custom error pattern
2017-08-10 12:02:50 +00:00
2017-11-20 15:48:49 +00:00
## Support and Suggestions
2017-11-20 15:46:19 +00:00
💬 Chat with us [Gitter ](https://gitter.im/tockins/realize )< br >
⭐️ Suggest a new [Feature ](https://github.com/tockins/realize/issues/new )
2017-08-10 12:02:50 +00:00
2017-11-20 15:46:19 +00:00
## Backers
2017-08-10 12:02:50 +00:00
Support us with a monthly donation and help us continue our activities. [[Become a backer ](https://opencollective.com/realize#backer )]
2017-11-07 19:27:22 +00:00
< a href = "https://opencollective.com/realize" target = "_blank" > < img src = "https://opencollective.com/realize/backer/0/avatar.svg" > < / a >
< a href = "https://opencollective.com/realize" target = "_blank" > < img src = "https://opencollective.com/realize/backer/1/avatar.svg" > < / a >
< a href = "https://opencollective.com/realize" target = "_blank" > < img src = "https://opencollective.com/realize/backer/2/avatar.svg" > < / a >
< a href = "https://opencollective.com/realize" target = "_blank" > < img src = "https://opencollective.com/realize/backer/3/avatar.svg" > < / a >
2017-08-10 12:02:50 +00:00
2017-11-20 15:46:19 +00:00
## Sponsors
2017-08-10 12:02:50 +00:00
2017-11-20 15:46:19 +00:00
Become a sponsor and get your logo here! [[Become a sponsor ](https://opencollective.com/realize#sponsor )]