jan-cli 0.9.0

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

## 0.9.0 — 2026-08-06

- Release 0.9.0


## 0.8.0 — 2026-08-06

- Release 0.8.0


Entries describe behavior at the time of each release and are not current usage
instructions. See [README.md](README.md) for the supported interface.

## Unreleased

### Added

- Built-ins `jan list`, `search`, `show`, `validate`, and `audit` for inspecting
  the preferred tree and SQLite invocation log (semantic replacement for the
  retired `scripts-cli`).

### Changed

- Personal utilities are no longer nested under `jan-cli/generated/scripts/`.
  Prefer a flat tree such as `dotfiles/jan`. The old
  `generate_scripts_jan_spec.py` helper is retired.
- Removed the incubator `scripts` project dependency (`scripts/source`).

### Breaking

- Spec selection now uses only `jan use <DIR>`. Removed direct spec flags,
  spec-selection environment variables, cwd discovery, and well-known-directory
  fallback behavior.
- `jan alias` now emits bare `jan` command chains without embedded spec flags.

### Security

- Confined YAML includes to the preferred tree; hardened alias generation and
  bundle extraction; resolved executables before applying spec PATH entries.
- Documented that preferred trees are unsandboxed executable code and bundle
  manifest hashes do not authenticate publishers.

## 0.7.0 — 2026-08-04

- Release 0.7.0


## 0.6.0 — 2026-08-04

- Release 0.6.0


## 0.5.0 — 2026-08-04

- Release 0.5.0


## 0.4.0 — 2026-08-04

- Release 0.4.0


## 0.3.0 — 2026-08-04

- Release 0.3.0


## 0.2.0 — 2026-06-03

### Breaking

- Removed the bundled embedded default spec (`default.spec.yaml` compiled into
  the binary). At the time of this release, `jan` loaded specs from explicit
  flags, cwd-local files, or the well-known install directory. Those resolution
  modes were removed after 0.7.0; current versions use `jan use`.

### Added

- Added, at that time, a well-known spec directory and related environment
  overrides. These interfaces are historical and no longer supported.
- Script `path`, `dependencies`, `requires`, and `env` fields for PATH prepending, transitive script deps, external tool checks, and environment variables.
- `jan bundle` and `jan alias` built-ins for portable spec export and shell alias generation.

### Changed

- Example default command tree moved to `examples/default.spec.yaml` (install manually or via `jan bundle` / `jan-install.sh`).
- Used the now-removed direct flags, environment variables, cwd lookup, and
  well-known-directory fallback for spec resolution.

## 0.1.0

- Initial release with embedded default spec, YAML command trees, SQLite audit log, and extra-spec merging.