man/src/zeus.ronn

Summary

Maintainability
Test Coverage
zeus(1) -- boot rails in under a second
=======================================================

## SYNOPSIS

`zeus` [--no-color] [--log FILE] [--file-change-delay TIME] [--config PATH] COMMAND [ARGS]

## DESCRIPTION

Zeus makes working with large codebases much less painful.

To use Zeus with Ruby on Rails 3.0+, Just run `zeus start` in your
project directory. It will output a list of available commands, including
tasks to spawn consoles, servers, tests, and rake tasks.

See `https://github.com/burke/zeus/blob/master/docs/ruby/modifying.md`
for information on modifying the boot process that Zeus uses by default
and adding custom tasks.

## SLIGHTLY MORE TECHNICAL DESCRIPTION

Zeus is a language-agnostic application checkpointer for non-multithreaded applications.

It is primarily targeted at ruby and other dynamic languages,
where application boot time can be tens of seconds, but it can be
made to work for nearly any language. However, zeus does not work
well with multithreaded applications. It relies heavily on `fork(2)`,
which is largely incompatible with multithreaded systems.

Currently only ruby is targeted, but support for other languages is planned.

Zeus lets you define common tasks, and preloads all of them in the
background. When you ask to run them, zeus transparently connects
your terminal to the already-running process in milliseconds.

This lets you, for example, run unit tests in dozens of milliseconds,
rather than dozens of seconds.

Zeus also monitors all files loaded by your application, and restarts
parts of it when dependencies change, to keep everything up-to-date.

## WAY MORE TECHNICAL DESCRIPTION

See `https://github.com/burke/zeus/blob/master/docs/overview.md`

## OPTIONS

* `--no-color`:
  Prints all output without color

* `--log` trace-log-name:
  Prints process tree state details to the log file specified.

* `--file-change-delay` delay:
  Collect all file changes that happen within the specified delay time
  and restart processes only after this deadline expires. The argument
  must be parseable by time.ParseDuration. The default delay is 300ms.

* `--config` path:
  Read from the given JSON config file. Defaults to `zeus.json`.

## BUILTIN COMMANDS

* [zeus start(1)][zeus-start]:
  Start a zeus server in the current directory using `zeus.json`

* [zeus init(1)][zeus-init]:
  Generate a template zeus.json

* `zeus commands(1)`:
  List the commands defined by zeus.json