jan-cli 0.20.0

YAML-defined CLI trees with progressive help, optional exec aliases, merged extra specs, and SQLite audit logging keyed by git branch
Documentation
# `jan use`

Remember a preferred jan directory under XDG config (`~/.config/jan-cli/config.json`). Works even when no YAML tree is configured yet.

```bash
jan use ~/.config/jan/scripts
jan use /path/to/dotfiles/jan
jan use examples --root packages.spec.yaml
jan use https://example.com/scripts-jan.zip --sha256 <64-hex>
jan use --show
jan use --clear
```

Afterward, plain `jan …` and `jan --help` load that tree.

## Options

| Flag | Description |
|------|-------------|
| `--root NAME` | Entry YAML file name inside DIR (auto-detected if omitted) |
| `--sha256 HEX` | Required for remote URLs: SHA-256 of the bundle zip |
| `--allow-http` | Allow plain HTTP for remote URLs (insecure) |
| `--show` | Print the saved preference and config path |
| `--clear` | Remove the saved preference |

Entry candidates: `scripts.spec.yaml`, `jan.spec.yaml`, `jan.yaml`.

A remote HTTPS URL must point at a jan bundle zip (as produced by `jan bundle`). The zip is downloaded, verified against `--sha256`, unpacked under `~/.cache/jan/trees/<sha256>/`, and that directory is preferred. Hashes check integrity only.

`--show` prints `config`, `jan-dir`, `spec-root`, and when applicable `source-url` / `source-sha256`.