<commit_before># Flightplan ✈ [![NPM version][npm-version-image]][npm-url] [![NPM downloads][npm-downloads-image]][npm-url] [![MIT License][license-image]][license-url]

Run sequences of commands against local and remote hosts.

Flightplan is a [node.js](http://nodejs.org) library for streamlining application deployment or systems administration tasks, similar to Python's [Fabric](http://fabfile.org).

**Flightplan 0.5.0 has been rewritten from scratch and is not compatible with 0.4.x releases. Read more about what's changed in the [release notes](https://github.com/pstadler/flightplan/releases/tag/0.5.0).**

## Installation & Usage

```bash
# install the cli tool
$ npm install -g flightplan

# use it in your project
$ npm install flightplan --save-dev

# run a flightplan (`fly --help` for more information)
$ fly [task:]<target> [--flightplan flightplan.(js|coffee)]
```

By default, the `fly` command will look for `flightplan.js` or `flightplan.coffee`.

If you do not install the Flightplan module locally to your project (i.e. to support non-javascript projects) then make sure the global `node_modules` is in your Node.js path. For example:

```bash
$ export NODE_PATH=/usr/local/lib/node_modules
$ fly <destination>
```

## Sample flightplan.js

```javascript
// flightplan.js
var plan = require('flightplan');

// configuration
plan.target('staging', {
  host: 'staging.example.com',
  username: 'pstadler',
  agent: process.env.SSH_AUTH_SOCK
});

plan.target('production', [
  {
    host: 'www1.example.com',
    username: 'pstadler',
    agent: process.env.SSH_AUTH_SOCK
  },
  {
    host: 'www2.example.com',
    username: 'pstadler',
    agent: process.env.SSH_AUTH_SOCK
  }
]);

var tmpDir = 'example-com-' + new Date().getTime();

// run commands on localhost
plan.local(function(local) {<commit_msg>update README: using global package is not working with liftoff<commit_after># Flightplan ✈ [![NPM version][npm-version-image]][npm-url] [![NPM downloads][npm-downloads-image]][npm-url] [![MIT License][license-image]][license-url]

Run sequences of commands against local and remote hosts.

Flightplan is a [node.js](http://nodejs.org) library for streamlining application deployment or systems administration tasks, similar to Python's [Fabric](http://fabfile.org).

**Flightplan 0.5.0 has been rewritten from scratch and is not compatible with 0.4.x releases. Read more about what's changed in the [release notes](https://github.com/pstadler/flightplan/releases/tag/0.5.0).**

## Installation & Usage

```bash
# install the cli tool
$ npm install -g flightplan

# use it in your project
$ npm install flightplan --save-dev

# run a flightplan (`fly --help` for more information)
$ fly [task:]<target> [--flightplan flightplan.(js|coffee)]
```

By default, the `fly` command will try to load `flightplan.js` or `flightplan.coffee`.

## Sample flightplan.js

```javascript
// flightplan.js
var plan = require('flightplan');

// configuration
plan.target('staging', {
  host: 'staging.example.com',
  username: 'pstadler',
  agent: process.env.SSH_AUTH_SOCK
});

plan.target('production', [
  {
    host: 'www1.example.com',
    username: 'pstadler',
    agent: process.env.SSH_AUTH_SOCK
  },
  {
    host: 'www2.example.com',
    username: 'pstadler',
    agent: process.env.SSH_AUTH_SOCK
  }
]);

var tmpDir = 'example-com-' + new Date().getTime();

// run commands on localhost
plan.local(function(local) {
{'fraction_non_alphanumeric': 0.14331488494028546, 'fraction_numerical': 0.005825808330905913, 'mean_word_length': 4.4335443037974684, 'pattern_counts': {'":': 0, '<': 6, '<?xml version=': 0, '>': 6, 'https://': 2, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3968781', 'n_tokens_mistral': 1164, 'n_tokens_neox': 1089, 'n_words': 323}