# pleqsa-clis

Monorepo for Pleqsa command-line tools.

> **Module:** `pleqsa.com/clis` · **Status:** v0.2.4 · Internal Azure DevOps repo

## What's inside

| CLI | Binary | Source path | Latest |
|---|---|---|---|
| Pleqsa Onboarding | `pleqsa` | [`cmd/pleqsa-onboarding/`](cmd/pleqsa-onboarding/) | **v0.2.4** |

## Documentation

All instructions — install, walkthrough, build from source, adding a new CLI,
repo layout, security notes — live in **[`getting-started.html`](getting-started.html)**.
Open it in a browser.

| Resource | What it is |
|---|---|
| [`getting-started.html`](getting-started.html) | End-user + engineer documentation (Download, Readme, Release notes tabs) |
| [`Release/`](Release/) | Pre-built archives for Windows / Linux / macOS (x86_64 + arm64) |
| [`screenshots/`](screenshots/) | CLI usage screenshots, organized by `<cli>/<version>/`. See [Screenshots](#screenshots) below for the convention. |
| [`claudedocs/CLI_SPECIFICATION.md`](claudedocs/CLI_SPECIFICATION.md) | Design specification — architecture, OWASP coverage, open questions |

## Screenshots

CLI usage captures live under [`screenshots/`](screenshots/), organized by
**CLI name → version**. Used in release notes, bug reports, marketing, and
inline in `getting-started.html`.

### Layout

```
screenshots/
└── <cli-name>/
    └── <version>/
        ├── 01-<short-description>.png
        ├── 02-<short-description>.png
        └── ...
```

Today: `screenshots/onboarding/v0.2.4/`. When `pleqsa-billing` lands later,
its screenshots will live at `screenshots/billing/v0.1.0/`.

### Naming convention

| Rule | Example | Why |
|---|---|---|
| Two-digit numeric prefix for order | `01-menu-initial.png`, `02-menu-signed-in.png` | Sorts into the actual flow order |
| Lowercase + hyphens, no spaces | `partner-registered-success.png` | Works in URLs, shells, and `<img>` tags without escaping |
| Descriptive short name | `friendly-error-document-not-found.png` | Future-you knows what it shows without opening it |
| PNG by default | `.png` | Lossless, small for terminal screenshots |
| JPG only for very large captures | `.jpg` | Save bytes on full-screen shots; never for text-heavy terminals |

### Versioning rules

- A screenshot belongs to the version of the CLI that produced it. If the
  banner in the shot says `v0.2.4`, it lives in `v0.2.4/`.
- **Don't** rename screenshots across versions. Capture fresh ones in the
  new version's folder. Old captures stay as historical record.
- Embedding in docs uses relative paths:
  `<img src="screenshots/onboarding/v0.2.4/01-menu.png">`.

### Suggested first set for v0.2.4

| Suggested file | What it shows |
|---|---|
| `01-menu-initial.png` | `pleqsa` with no args — initial menu, "not signed in" banner |
| `02-menu-signed-in.png` | Same menu after a successful login — banner shows the username |
| `03-document-create-result.png` | `admin documents create` output (the boxed table) |
| `04-partner-register-success.png` | `partner register` success line + activation-email note |
| `05-friendly-error-doc-not-found.png` | The English friendly error for an invalid document number |

## Versioning

Git tags use the pattern `<cli-name>/vX.Y.Z` so each CLI in the monorepo can
version independently. Today there's exactly one CLI and one tag line:

```
onboarding/v0.2.4
```

Any future CLI added under `cmd/pleqsa-<name>/` adopts the same pattern with
its own name and version sequence (independent from `onboarding/`).

## License

Internal proprietary. Not for redistribution outside QSSBH / Pleqsa.
