# CLI reference

> Every call command: check, local, run as a command, manifest, docs and init.

Source: https://callables.app/docs/cli

`pip install callables` installs the `call` command. Run it from the repo root. The old `shipfn` command is an alias.

## call check

```bash
call check
call check --json
```

Lists every problem a deploy would hit, with a fix for each. Exit code 1 means the deploy would fail. `--json` prints the issues as JSON for scripts and agents.

## call <function>

```bash
call weekly_report --region EMEA --days 30
call backups run --env staging
call backups run --help
```

Every function is a CLI command, and every group a sub-command. Each input is a flag: `days` becomes `--days`, a bool becomes `--dry-run/--no-dry-run`, and a list takes several values. Add `--help` to see them. Results print as aligned columns in a terminal and as JSON when piped.

## call local

```bash
call local weekly_report -i region=EMEA -i days=30
call local clean_contacts -i sheet=@contacts.csv
call local backups.run -i env=staging --json
```

Runs a function on this machine with the same input validation as the platform. Values are parsed as JSON when possible, and `@path` passes a file. Output files land in `./callables-output/`. `--json` prints one JSON object on stdout with `ok`, `value`, `files`, `error` and `field_errors`, and the function's own prints go to stderr.

## call manifest

```bash
call manifest
```

Prints the JSON the platform reads: every function, its options and each input's JSON Schema. Local-only commands are left out.

## call docs

Prints the guide to writing functions that ships with the installed SDK.

## call init

```bash
call init
```

Sets up a repo: an example function, a `requirements.txt` if there's none, `callables-output/` in `.gitignore`, and instructions for coding agents. See [coding agents](https://callables.app/docs/coding-agents). Safe to run again: it only refreshes the files it owns.
