# offstage > on a part of the stage not visible to the audience ![build](https://github.com/tjni/offstage/workflows/build/badge.svg) [![Crates.io](https://img.shields.io/crates/v/offstage)](https://crates.io/crates/offstage) Runs commands against staged Git files. ## Usage An example best illustrates how to use offstage. ```sh offstage prettier --write ``` Running this in a Git repository which has `src/A.js` and `src/B.js` in the staging area will execute ```sh offstage prettier --write src/A.js src/B.js ``` If modifications occur to `src/A.js` or `src/B.js`, they will be automatically added to the staging area. ## Options ```sh offstage --help offstage 0.1.0 USAGE: offstage [OPTIONS] --shell [command]... FLAGS: -h, --help Prints help information -V, --version Prints version information OPTIONS: -f, --filter Glob pattern to filter staged files -s, --shell Shell executable to use to run the command [env: SHELL=/usr/bin/fish] ARGS: ... Command to run on staged files ``` ## Developing [Install Rust](https://www.rust-lang.org/learn/get-started). Run the CLI during development: ```sh cargo run ``` Run tests: ```sh cargo test ``` Create a release build: ```sh cargo build --release ls -alh target/release/offstage ``` ## Attribution This would not exist if not for the inspiration and methodology from the amazing [lint-staged](https://github.com/okonet/lint-staged) project.