Metadata-Version: 2.1
Name: exemplar-cli
Version: 0.1.3
Summary: Exemplar terminal CLI for skills, prompts, and memory
License: LicenseRef-Proprietary
Author: Exemplar Dev LLC
Requires-Python: >=3.10,<4.0
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: exemplar-core (>=0.1.2,<0.2)
Description-Content-Type: text/markdown

# exemplar-cli

Terminal CLI for Exemplar **skills** and **memory**.

## Install

**Recommended** — isolated install with automatic PATH setup:

```bash
pipx install exemplar-cli
```

Other options:

```bash
# System / python.org install (macOS, Linux)
pip install exemplar-cli

# User install (no sudo)
pip install --user exemplar-cli
```

After install, verify everything:

```bash
exemplar doctor
```

If you see `command not found: exemplar`, the package is installed but its `bin/`
directory is not on your `PATH`. `exemplar doctor` prints the exact fix for your
machine. Common cases:

| Install method | Scripts directory |
|----------------|-------------------|
| `pipx install` | `~/.local/bin` (pipx adds this automatically) |
| python.org macOS | `/Library/Frameworks/Python.framework/Versions/3.x/bin` |
| `pip install --user` | `~/Library/Python/3.x/bin` (macOS) or `~/.local/bin` (Linux) |

Open a **new terminal** after changing shell profile files.

## Quick start

```bash
export EXEMPLAR_API_KEY=eis_...

exemplar doctor
exemplar skills list
exemplar memory add "User prefers bullet points" --user-id u1 --type preference
exemplar memory search "formatting" --user-id u1
```

## Environment

| Variable | Purpose |
|----------|---------|
| `EXEMPLAR_API_KEY` | Org API key (required) |
| `EXEMPLAR_BASE_URL` | API host override (optional) |
| `EXEMPLAR_ORGANIZATION_ID` | Org override for JWT auth (optional) |
| `EXEMPLAR_SKILLS_TARGET` | Default skill install preset: `cursor`, `cursor-global`, `claude`, `claude-global` |

## Commands

### Doctor

`exemplar doctor` — check package install, `PATH`, and required environment variables.

### Skills

`list`, `get`, `search`, `pull`, `push`, `init`, `export-zip`

**Skill install destinations** (`pull`, `init`):

| Target | Path | Confirmation |
|--------|------|----------------|
| `cursor` (default) | `.cursor/skills` | No |
| `cursor-global` | `~/.cursor/skills` | No |
| `claude` | `.claude/skills` | Yes |
| `claude-global` | `~/.claude/skills` | Yes |

```bash
# Default — Cursor project skills (no prompt)
exemplar skills pull refund-policy

# Global Cursor skills
exemplar skills pull refund-policy --global

# Claude Code — asks for confirmation (or use -y)
exemplar skills pull refund-policy --target claude-global

# Pick interactively when multiple agents are installed
exemplar skills pull --all -i

# Override with a custom directory
exemplar skills pull refund-policy --dest ./my-skills
```

Set a default via `EXEMPLAR_SKILLS_TARGET=cursor-global`.

### Prompts

`list`, `get`, `search`, `create`, `run`, `publish`, `delete`

### Memory

`add`, `list`, `get`, `search`, `recall`, `update`, `delete`, `delete-bulk`

Memory commands accept scope flags: `--user-id`, `--agent-id`, `--session-id`, `--app-id`.

