Metadata-Version: 2.1
Name: actionbox
Version: 0.2.0
Summary: input() for software that cannot wait at the terminal
Home-page: https://actionbox.cloud
License: MIT
Project-URL: Documentation, https://actionbox.cloud/docs
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Build Tools
Requires-Python: >=3.9
Description-Content-Type: text/markdown

<img src="https://actionbox.cloud/appbox.svg" width="64" alt="Actionbox logo">

# Actionbox CLI

Actionbox is `input()` for software that cannot wait at the terminal. The CLI
lets scripts, CI jobs, scheduled tasks, and AI agents ask a human for a decision
and continue when the answer arrives.

## Install

Install the platform-specific CLI wrapper from PyPI:

```bash
python -m pip install actionbox
```

The standalone shell, PowerShell, Homebrew, and direct-download paths are not
public installation options yet.

## Get started

Create a Source in the Actionbox dashboard, then configure the CLI with its API
key:

```bash
actionbox configure
actionbox doctor
actionbox ask "Deploy to production?" --option approve --option reject --wait
```

The waiting command exits after the Action is resolved. Stopping it with
`Ctrl+C` only stops local polling; the Action remains open in Actionbox.

In recognized GitHub Actions, GitLab CI, Jenkins, and CircleCI environments,
the CLI adds bounded origin metadata such as the workflow reference, repository
or branch labels, and build URL. Use `--no-origin` when that context should not
be sent with an Action.

Paid plans can attach secondary operations with `--controls-json`. Callback
controls require `--callback-url`. ActionBox delivers a signed request to that
URL, and your integration decides how to execute it.

```bash
actionbox send "Worker failed" \
  --callback-url https://example.com/actionbox \
  --controls-json '[{"key":"retry","label":"Retry worker","kind":"callback"}]'
```

## Scheduled-job monitoring

Create and manage heartbeat Watches from the CLI, or wrap an existing command
so Actionbox receives start, success, and failure signals:

```bash
actionbox watch list
export ACTIONBOX_WATCH_URL="https://api.actionbox.cloud/hb/..."
actionbox run -- ./backup.sh
```

Keep Source API keys and Watch URLs in a secret manager or protected CI
environment. Supplying the Watch URL through `ACTIONBOX_WATCH_URL` keeps it out
of the Actionbox process arguments. Do not embed capabilities in browser code,
logs, or source control.

## Documentation

- [Actionbox documentation](https://actionbox.cloud/docs)
- [Actionbox website](https://actionbox.cloud)

## License

MIT.


