Skip to content

Releases: Data-Wise/flow-cli

v7.6.0 — em --prompt + Scholar Config Sync

27 Feb 21:43
b8c45d1

Choose a tag to compare

Highlights

  • em --prompt flag — Natural-language instructions for AI-drafted replies, sends, and forwards (em reply 123 --prompt 'decline politely')
  • em --backend flag — Per-command AI backend override (--backend claude|gemini)
  • em forward command — Forward emails with optional AI body and --prompt support
  • Scholar Config Sync--config flag auto-appended to all Scholar commands when .flow/teach-config.yml exists
  • Config subcommandsteach config check, teach config diff, teach config show, teach config scaffold
  • New teach wrappersteach solution, teach sync, teach validate-r

Changes

Added

  • em --prompt, --backend, forward, smart TTY detection
  • Scholar Config Sync: 4-layer config auto-injection
  • teach config check/diff/show/scaffold subcommands
  • teach solution, sync, validate-r wrappers
  • Help guards on all 34 em subcommand functions
  • Scholar config section in teach doctor (quick mode)

Documentation

  • 4 new dispatcher refcards (g, wt, dots, sec)
  • Stale version sweep: v5.x/v6.x references updated to v7.6.0
  • Broken anchor fixes across 5 files
  • Tutorial renaming: 27 -> 45 (lint-quickstart), 37 -> 46 (em-v2-features)
  • Help files updated: TROUBLESHOOTING, WORKFLOWS

Stats

  • 53/53 test suites passing (205 files, 12000+ assertions)
  • 1 expected timeout (IMAP IDLE)
  • 15 dispatchers + Atlas bridge
  • 0 lint errors, 0 broken anchors

Full Changelog: v7.5.0...v7.6.0

v7.5.0 — em v2.0: Safety Gate, Calendar & Watch

27 Feb 01:32
5255b26

Choose a tag to compare

Highlights

em v2.0 — Major email dispatcher upgrade with safety-first design:

  • Two-phase safety gate for em send and em reply — preview before sending
  • ICS calendar integrationem calendar with event extraction
  • IMAP watchem watch for real-time inbox monitoring
  • Folder CRUDem create-folder, em delete-folder
  • Enhanced attachmentsem attach list, get-by-filename support

Security Hardening

  • Safe config parser (no source of untrusted files)
  • Message ID validation & folder name sanitization
  • --argjson for jq (no string interpolation injection)
  • Terminal-notifier subject sanitization
  • AI extra args validation

Bug Fixes

  • Macro parser now supports both {=tex} and {=latex} Quarto blocks
  • Concept graph builder handles simple YAML format (not just array-of-objects)
  • 8 integration test suites fixed (variable shadowing, stale paths, format mismatches)

Testing

  • 47 test suites passing (0 failures, 2 expected timeouts)
  • 12,000+ test functions across 196 test files
  • New: dogfood quality tests, safety gate tests, ICS/watch tests

Full Changelog

v7.4.0...v7.5.0

v7.4.2 — Atlas Integration + Homebrew Cleanup

22 Feb 23:26
20aefd7

Choose a tag to compare

Highlights

  • Atlas bridge (at) — Enhanced bridge to Atlas CLI with styled help page, 10 warm-path commands, and 4 ZSH-native fallbacks
  • Atlas API contract — Formal interface specification (docs/ATLAS-CONTRACT.md)
  • 77 new tests — Contract (18), e2e (30), dogfood (29) for Atlas bridge
  • Homebrew formula — Selective install reduces 74MB to ~4MB

Changes

Added

  • at bridge command with _at_help() styled help page
  • Atlas API contract and integration guide
  • CI version guard workflow
  • 77 new test functions across 3 test files

Fixed

  • Help browser includes all 15 dispatchers + at (was 8)
  • Help compliance checker includes em dispatcher
  • Dispatcher counts updated "12" → "15" across docs
  • Homebrew selective install (74MB → ~4MB)
  • 10295 markdownlint errors → 0

Stats

  • Tests: 196 files, 12000+ functions, 46/46 suites
  • Dispatchers: 15 + at bridge

Full Changelog: v7.4.1...v7.4.2

v7.4.1 — Homebrew Cleanup

21 Feb 19:32
06a5637

Choose a tag to compare

Highlights

  • Homebrew install size: 74MB → ~4MB (selective formula install)
  • Repo cleanup: 62 stale files removed (-21k lines)
  • CI version guard: prevents FLOW_VERSION/tag mismatches on release

Changes

Fixed

  • Homebrew formula: selective install replaces blanket Dir["*"]
  • Repo cleanup: deleted 62 stale root-level planning docs, debug scripts, test scripts
  • Version guard uses portable POSIX grep -oE (not GNU grep -oP)
  • Markdownlint errors resolved across docs

Added

  • .github/workflows/version-guard.yml — blocks releases on version mismatch

Stats

  • Tests: 45/45 passing (1 expected timeout)
  • Dispatchers: 15
  • Test files: 195 (12000+ functions)

Full Changelog: v7.4.0...v7.4.1

v7.4.0 — 31 Email Commands

21 Feb 04:52
68bd87b

Choose a tag to compare

Highlights

  • 31 em commands — complete email management from the terminal
  • Organize: em star, em thread, em snooze, em digest
  • Manage: em delete, em move, em restore, em flag, em todo, em event
  • Multi-select: --pick mode with fzf across all management commands
  • 10 tutorials — step-by-step guides for every em subcommand

Security Fixes

  • Fixed jq type mismatch in _em_star (string vs number ID comparison)
  • Fixed printf format injection in _em_move
  • Sanitized AppleScript inputs in _em_create_reminder and _em_create_calendar_event
  • Removed 686 lines of dead code (duplicate function definitions)

Changes

See full changelog for details.

Full diff: v7.3.0...v7.4.0

v7.3.0 — Email AI Improvements

18 Feb 22:26
b3d9a19

Choose a tag to compare

Highlights

  • Runtime AI switchingem ai gemini to switch backends instantly, em ai toggle to cycle
  • Email-to-task captureem catch 42 summarizes an email and pipes to catch
  • Gemini speed boostextra_args support (-e none) cuts Gemini startup from ~8s to ~2s
  • Picker integrationCtrl-T in em pick captures emails as tasks inline

What's New

Added

  • em ai subcommand — runtime backend switching (claude|gemini|none|auto|toggle)
  • em catch command — AI-summarize email → pipe to catch command
  • extra_args support — per-backend CLI flags (FLOW_EMAIL_GEMINI_EXTRA_ARGS)
  • Ctrl-T keybind in em pick for inline task capture
  • 22 unit tests (em-ai-switch), 9 unit tests (em-catch), 38 E2E tests

Stats

  • Test suite: 45/45 passing (137 test files, 8000+ functions)
  • Dispatchers: 15 (em now has 20 subcommands)

Full Changelog: v7.2.1...v7.3.0

v7.2.1 — Testing Overhaul & Cleanup

16 Feb 23:05
fefa0ac

Choose a tag to compare

Highlights

  • Shared test framework — all 134 test files now use test-framework.zsh with 14 assertion helpers, mock registry, and subshell isolation
  • Dogfood scanner — meta-test catches inline frameworks, unused captures, permissive exits, and existence-only tests
  • Semantic-release removed — manual releases via gh release create; 5 devDependencies and .releaserc.json cleaned up

Changes

Changed

  • Testing overhaul: migrated 134 test files from inline frameworks to shared test-framework.zsh
  • Removed semantic-release dependencies and configuration

Added

  • Dogfood scanner (tests/dogfood-test-quality.zsh) — 4 anti-pattern categories
  • test_pass double-counting guard
  • with_env scalar limitation documentation

Removed

  • semantic-release, @semantic-release/*, conventional-changelog-conventionalcommits devDependencies
  • .releaserc.json configuration file

Documentation

  • docs/guides/TESTING.md — full rewrite for shared framework architecture
  • docs/CHANGELOG.md — new release entry
  • docs/guides/QUALITY-GATES.md — removed stale semantic-release CI section
  • FLOW_VERSION in flow.plugin.zsh synced to 7.2.1

Stats

  • Test suite: 45/45 passing, 1 expected timeout (IMAP)
  • Test files: 134 (consolidated from 186)
  • Test functions: 8,000+
  • Dispatchers: 15

Full Changelog: v7.2.0...v7.2.1

v7.2.0 — Explicit Editor Flag

16 Feb 20:18
9c62d17

Choose a tag to compare

What's New

work -e: Explicit Editor Control

work no longer auto-opens an editor. Use the new -e flag for explicit control:

work my-project          # Just cd + context (no editor)
work my-project -e       # Open $EDITOR
work my-project -e code  # Open VS Code
work my-project -e cc    # Claude Code (acceptEdits)
work my-project -e ccy   # Claude Code (yolo mode)
work my-project -e cc:new # Claude Code (new Ghostty window)

The old positional syntax (work proj nvim) still works but shows a deprecation warning.

Documentation Overhaul

  • Added missing v7.1.0 changelog entry (dot split)
  • Added v7.0.0, v7.1.0, v7.2.0 to Release Notes page
  • Updated MASTER-API-REFERENCE.md (v5.19.1 → v7.2.0, 880 functions)
  • Fixed stale version strings across 9 docs
  • Fixed misleading cross-reference in Quick Reference

Testing

  • 39 new tests for work -e (70 total work tests)
  • 45/45 test suites passing (186 files, 8000+ assertions)

Full Changelog: v7.1.0...v7.2.0

v7.1.0 — Dispatcher Split: dots, sec, tok

15 Feb 05:18
ce925e2

Choose a tag to compare

Highlights

The monolithic dot dispatcher (4,395 lines) has been split into 3 focused dispatchers:

  • dots — Dotfile management (chezmoi, edit, sync, push/pull)
  • sec — Secret management (Keychain, Bitwarden)
  • tok — Token management (GitHub, NPM, PyPI wizards, rotation)

Dispatcher count: 13 → 15.

Changes

Added

  • dots dispatcher — all dotfile operations from former dot
  • sec dispatcher — all secret operations (dot secretsec)
  • tok dispatcher — all token operations (dot tokentok)
  • Migration guide: docs/guides/MIGRATION-DOT-SPLIT.md
  • New E2E and dogfood tests for dispatcher split
  • ZSH completions for _sec and _tok

Changed

  • _dot_* internal functions renamed to _dotf_* (shared), _dots_*, _sec_*, _tok_*
  • Help compliance verified: 14/14 dispatchers pass 9-rule format
  • All 91 files updated with new command references

Removed

  • dot-dispatcher.zsh (replaced by 3 new dispatchers)

Fixed

  • Stale _dot_token_* function names in architecture and API docs
  • Incorrect bw/mise dependency in dots-dispatcher.zsh header
  • CHANGELOG historical entries restored to original command names

Backward Compatibility

  • flow doctor --dot flag works unchanged
  • --dot flags throughout the codebase preserved

Stats

Full Changelog: v7.0.2...v7.1.0

v7.0.1 — Himalaya Neovim Docs + Architecture Fixes

12 Feb 17:06
3297ebe

Choose a tag to compare

What's Changed

Documentation

  • Himalaya Neovim integration — dedicated setup guide, tutorial, and quick reference for in-editor email with AI actions
  • Architecture diagram — added em dispatcher (was showing 12, now 13) and himalaya CLI to Layer 0 integrations
  • Cross-references — bidirectional links between CLI and Neovim email documentation
  • HIMALAYA-SETUP.md — restored CLI-only content; Neovim content split to HIMALAYA-NVIM-SETUP.md

Testing

  • 3 new himalaya test suites (automated, headless keybind, interactive)
  • File-existence guards for portability (tests skip gracefully when Neovim config not installed)

Maintenance

  • v7.0.0 changelog entry added
  • File counts updated (148 → 181 test files)
  • Version stamps synced across reference docs

Full Changelog: v7.0.0...v7.0.1