devist 0.3.0

Project bootstrap CLI for AI-assisted development. Spin up new projects from templates, manage backends, and keep your codebase comprehensible.
# Changelog

All notable changes to devist are documented here.

The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/).

## [0.3.0] - 2026-05-02

### Changed (breaking)
- Removed `devist brief`, `devist scan`, `devist explain`, `devist watch`
  CLI commands. The underlying scanner/git helpers remain as internal
  libraries for the worker.

### Added
- `devist worker` background daemon that observes a parent folder of
  projects and records every file event into a local SQLite store
  (`~/.devist/worker/worker.db`).
  - `worker start` (with first-run setup), `worker stop`, `worker status`,
    `worker watch` (live tail), `worker config show|get|set|path`.
- AI advice generation (Phase 2):
  - Idle-burst trigger: after `advice_idle_seconds` of quiet on a
    project, the daemon spawns the `claude` CLI with the changed
    snippets and recent mem0 memories to extract facts + advice.
  - mem0 Cloud integration (`api.mem0.ai`) for long-term semantic
    memory of facts above `mem0_confidence_threshold`.
  - 4-tier guard against runaway calls: `advice_enabled` kill switch,
    `advice_min_batch`, per-project `advice_max_per_hour`, global
    `mem0_max_writes_per_hour` sliding-window limiters.
  - `worker advice [--project N] [--limit N]` lists generated advice.
  - `worker memory search <query>` for ad-hoc mem0 lookup.
- `devist doctor` now also checks the `claude` CLI.

### Notes
- The daemon writes its log to `~/.devist/worker/worker.log` and PID to
  `worker.pid`. Restart after changing config (`worker stop && start`).
- mem0 + Claude integration is opt-in: without `mem0_api_key` the worker
  silently skips advice generation; the SQLite event log still works.

## [0.2.0] - 2026-05-02

### Changed (breaking)
- Renamed CLI command `devist projects``devist project`
  (e.g. `devist project list`, `devist project forget <name>`).

### Added
- `devist start <name> --dev` now runs the template's `install` command
  (e.g. `pnpm install`) automatically when `package.json` exists but
  `node_modules` is missing, before launching the dev server.
- Release workflow publishes GitHub Releases directly (no draft step).

## [0.1.1] - 2026-05-02

### Fixed
- Release workflow now downloads SHA files via GitHub API,
  supporting draft releases.
- `cargo publish` step is idempotent — re-running on an existing
  version is treated as a non-fatal no-op.

## [0.1.0] - 2026-05-02

Initial beta release. Phase 1 through Phase 4 complete.

### Added
- Core CLI with 12 commands: `setup`, `doctor`, `about`, `template` (list/add/sync/remove),
  `projects` (list/forget), `init`, `start`, `stop`, `brief`, `scan`, `explain`, `watch`.
- Template system with `devist.toml` manifest, variable substitution via
  `*.tmpl` files, automatic discovery of single- and multi-template repos.
- Lazy backend management: only one project's `supabase`/`docker-compose`
  stack runs at a time. `start` automatically stops any other active
  project's backend.
- Code comprehension commands (`brief`, `scan`, `explain`, `watch`) for
  understanding AI-assisted codebases.
- Workspace at `~/.devist/` with `config.toml`, `registry.toml`, `state.toml`,
  and template cache.
- 7 official templates: `react-supabase`, `react-native-supabase`,
  `flutter-supabase`, `fastapi-postgres`, `nestjs-postgres`, `rust-axum`,
  `wordpress`.

### Notes
- Beta — APIs and template manifest schema may change before v1.0.
- Public Homebrew tap and crates.io publish targeted for v1.0.

[Unreleased]: https://github.com/WebchemistCorp/devist/compare/v0.3.0...HEAD
[0.3.0]: https://github.com/WebchemistCorp/devist/releases/tag/v0.3.0
[0.2.0]: https://github.com/WebchemistCorp/devist/releases/tag/v0.2.0
[0.1.1]: https://github.com/WebchemistCorp/devist/releases/tag/v0.1.1
[0.1.0]: https://github.com/WebchemistCorp/devist/releases/tag/v0.1.0