# CLI overview (/docs/cli)

`barndog` is BarnDog's local client. It signs you in, chooses which harnesses to manage, installs and syncs assets, and lets you edit and review Skills from the terminal.

Organization setup, teams, repositories, and permissions are managed in the web workspace, not the CLI.

## Commands [#commands]

| Command                                                                         | What it does                                      |
| ------------------------------------------------------------------------------- | ------------------------------------------------- |
| [`barndog login`](/docs/cli/authentication)                                     | Sign in through your browser                      |
| [`barndog logout`](/docs/cli/authentication)                                    | Revoke and remove this machine's credential       |
| [`barndog auth status`](/docs/cli/authentication)                               | Show who you are signed in as                     |
| [`barndog init`](/docs/cli/init)                                                | Choose the harnesses BarnDog manages              |
| [`barndog sync`](/docs/cli/sync)                                                | Bring your harnesses in line with your selections |
| [`barndog skills`](/docs/cli/skills)                                            | Find, install, pull, and inspect published Skills |
| [`barndog pull`, `status`, `diff`, `push`, `resolve`](/docs/cli/working-copies) | Edit a Skill and suggest the change               |
| [`barndog changes`](/docs/cli/changes)                                          | Review and merge Suggested Changes                |

Running `barndog` with no command starts first-time setup. If you're already set up, it shows where your configuration is.

## Getting help [#getting-help]

Every command has built-in help:

```bash
barndog --help
barndog help sync
barndog changes comment --help
```

## Origins [#origins]

Many commands take `--origin` to say which scope owns an asset:

- `org`
- `team/<slug>`
- `repo/<slug>`
- `dev/<handle>`
- `me` for your own personal assets

You can also pass a scope's UUID, or the colon form such as `team:engineering`. See [Core concepts](/docs/concepts#origins).

## Files [#files]

The CLI keeps everything for your user under `~/.barndog/`. See [Configuration files](/docs/cli/configuration).
