Metadata-Version: 2.4
Name: prosi-psi-cli
Version: 0.1.0
Summary: User-facing PSI command line tools.
License-Expression: Apache-2.0
Project-URL: Homepage, https://github.com/Productive-Superintelligence/psicli
Project-URL: Source, https://github.com/Productive-Superintelligence/psicli
Project-URL: Issues, https://github.com/Productive-Superintelligence/psicli/issues
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: lllm-core>=0.2.0
Requires-Dist: psihub>=0.0.1
Requires-Dist: sssn>=0.1.0
Requires-Dist: uvicorn>=0.30
Provides-Extra: dev
Requires-Dist: build>=1.2; extra == "dev"
Requires-Dist: fastapi>=0.115; extra == "dev"
Requires-Dist: httpx>=0.27; extra == "dev"
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: twine>=5.1; extra == "dev"
Dynamic: license-file

# Psi CLI

`psi` is the user-facing command line for running PSI packages locally.

## Install

```bash
python -m pip install prosi-psi-cli psihub lllm-core sssn
```

## Launch A Package

Download a package folder, then launch its primary resource as a FastAPI
service:

```bash
psi launch packages/analyst-tactics --port 8000
```

The launcher reads `psi.toml` and serves the package's primary resource:

- `tactics.*` resources become LLLM FastAPI tactic services with `/run`;
- `services.*` resources use their FastAPI entrypoint, or fall back to the
  service's declared tactic when present;
- `channels.*` resources become SSSN store services with `/channels`,
  `/events`, `/subscriptions`, `/artifacts`, and `/snapshots`.

Inspect what will be served without starting the server:

```bash
psi inspect packages/analyst-tactics
```

Launch a specific resource when a package has several services:

```bash
psi launch packages/society-sentinel --resource services.sentinel_api --port 8130
```

Direct Python entrypoints work too:

```bash
psi launch my_package.service:create_app --port 8000
```

`psi launch` is intentionally a local server starter. PsiHub owns package
validation, cards, downloads, and metadata; AAAX owns higher-level strategy
composition.
