gw-bin 0.4.2

Watch git repositories, pull changes and run commands on the new files
Documentation
+++
title = "Dynamic languages"
weight = 2
+++

# Dynamic languages

For dynamic languages you can use `gw` very simply with [processes](/usage/actions#processes).

## Configuration

Wrap the way you normally start your program with the `--process` flag.

### Node.js

For example for Node.js programs, use the usual `npm run start` script with a process:

```sh
gw /path/to/repo -p 'npm run start'
```

You can also run the unit tests first, if you want to make sure to restart if the code is in a correct state:

```sh
gw /path/to/repo -s 'npm run test' -p 'npm run start'
```

If you want to use a build step, for example for TypeScript or Next.js, look at the [TypeScript guide](/guides/compiled#typescript).

### Python

Use the same idea with Python, wrap your program's entrypoint in a process:

```sh
gw /path/to/repo -p 'python manage.py runserver'
```

### Ruby

Same thing with Ruby, add process to your program's entrypoint:

```sh
gw /path/to/repo -p 'bin/rails server'
```