Go to file
2017-12-14 23:37:58 +01:00
realize double tools removed 2017-12-14 23:37:38 +01:00
.gitignore gitignore updated 2017-11-20 16:52:42 +01:00
.travis.yml support for go intermediate version 2017-10-16 15:23:52 +02:00
CONTRIBUTING.md Added CONTRIBUTING.md 2017-10-16 14:47:45 +02:00
Gopkg.lock huge code refactoring, performance improved 2017-10-08 23:09:45 +02:00
Gopkg.toml dep updated 2017-04-26 16:09:23 +02:00
LICENSE realize dev 2016-07-12 10:18:02 +02:00
README.md Merge branch '2.0' 2017-12-05 00:39:08 +01:00
realize_test.go lint 2017-11-27 00:01:08 +01:00
realize.go generate bindata 2017-12-14 23:37:58 +01:00

Realize

GoDoc Travis AUR Gitter Go Report Card


The #1 Golang Task Runner

Enhance your workflow by automating the most common tasks and using the best performing Golang live reloading.


Content

- Top Features

- 💃🏻 Get started

- 📄 Config sample

- 📚 Commands List

- 🛠 Support and Suggestions

- 😎 Backers and Sponsors

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! 🕺🏻

Get started

$ go get github.com/tockins/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 one

Some 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/tockins/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

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
  environment:            // 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 differents build tool
    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
Suggest a new Feature

Backers

Support us with a monthly donation and help us continue our activities. [Become a backer]

Sponsors

Become a sponsor and get your logo here! [Become a sponsor]