Metadata-Version: 2.4
Name: plugsync-cli
Version: 0.1.1
Summary: Command-line client for plugsync HubSpot connectors -- manage connectors and plugins like code, no repo checkout required
Author-email: Exelab <hello@plugsync.com>
License: Proprietary
Project-URL: Homepage, https://plugsync.com
Project-URL: Documentation, https://github.com/exelab/plugsync/blob/main/docs/content/reference/plugins/dev-loop.md
Project-URL: Repository, https://github.com/exelab/plugsync
Project-URL: Issues, https://github.com/exelab/plugsync/issues
Keywords: plugsync,hubspot,cli,connectors,integration
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: Other/Proprietary License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.12
Description-Content-Type: text/markdown
Requires-Dist: click>=8.1
Requires-Dist: httpx>=0.27
Requires-Dist: pyyaml>=6.0
Requires-Dist: rich>=13.0
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.23; extra == "dev"
Requires-Dist: respx>=0.21; extra == "dev"

# plugsync-cli

Command-line client for [plugsync](https://plugsync.com), managing HubSpot
connectors like code: pull a connector's config to a local directory, edit
it, push it back, diff against the remote, validate, preview a publish, and
manage plugins -- all without cloning the plugsync backend repo.

## Install

```bash
pip install plugsync-cli
```

Requires Python 3.12+.

## Quickstart

```bash
plugsync config set api_url https://app.plugsync.com
plugsync auth login -e you@example.com
plugsync pull my-connector
```

`plugsync auth login` saves a bearer credential to `~/.plugsync/config.yaml`
that every subsequent command reuses. `PLUGSYNC_API_URL` / `PLUGSYNC_API_KEY`
environment variables override the config file, handy for CI.

## Commands

| Command | Purpose |
|---|---|
| `plugsync auth login` / `logout` | Authenticate (email/password JWT, or a long-lived org API key with `--token`) |
| `plugsync config set/get/show` | Manage `~/.plugsync/config.yaml` |
| `plugsync pull <name>` | Download a connector as a local directory |
| `plugsync push <name>` | Upload a local connector directory |
| `plugsync diff <name>` | Diff local vs. remote working state |
| `plugsync validate <name>` | Validate a local connector config |
| `plugsync preview <name>` | Preview a publish's effects |
| `plugsync log <name>` | Show a connector's revision history |
| `plugsync rollback <name>` | Restore a previous revision |
| `plugsync plugin init/push/list/status/logs/metrics/invoke/promote/publish/rollback` | Author and manage plugins (Enterprise tier) |

Run `plugsync --help` or `plugsync <command> --help` for the full option list.

## Compatibility

This CLI ships on its own release cadence, independent of the plugsync
backend. It declares the minimum API version it expects and checks it
against the API at the start of any command that talks to it, warning
(never failing outright) if the API is older than expected.

## Documentation

Full reference docs, including the plugin authoring dev-loop, live at
[docs.plugsync.com](https://docs.plugsync.com) and in the
[plugsync repository](https://github.com/exelab/plugsync/tree/main/docs).

## License

Proprietary. This CLI talks to the plugsync SaaS API; see
[plugsync.com/terms](https://plugsync.com/terms) for the terms governing use
of the plugsync service.
