jan-cli 0.27.0

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

This crate lives at `jan-cli/` in the Incubator monorepo. The published package is **`jan-cli`** on crates.io; the binary is **`jan`**.

## Layout

```text
jan-cli/
  src/           # library + bin
  tests/         # CLI smoke tests (assert_cmd)
  examples/      # demo / default / packages trees
  scripts/       # jan-install.sh, release.sh
  docs/          # this MkDocs site
  mkdocs.yml
  Cargo.toml
```

## Local development

```bash
cd jan-cli
cargo fmt
cargo clippy
cargo test
cargo build --release
```

Monorepo wrappers (`project.meta.yaml`):

```bash
m run jan-cli test
m run jan-cli clippy
m run jan-cli docs-serve
m run jan-cli docs-build
```

## Documentation site

```bash
./serve.sh                  # mkdocs serve (uses uv if available)
m run jan-cli docs-serve
m run jan-cli docs-build    # writes jan-cli/site/
```

Python deps for the site: `docs/requirements.txt` (`mkdocs`, `mkdocs-material`, `pymdown-extensions`).

Keep the README as a concise front door; **this site is the full reference**. When you add a YAML field or built-in, update the matching page here and mention it in `CHANGELOG.md`.

## Tests

- Unit tests live next to the modules (`cron.rs`, `config.rs`, `lib.rs`, …).
- `tests/cli_smoke.rs` drives the `jan` binary against fixture trees under `tests/fixtures/`.
- Example trees under `examples/` are documentation; prefer adding a fixture if a behavior must not regress.

## License

MIT — see `LICENSE.md`. Copyright (c) 2025 patbeagan1.