v0.1.2 2026-03-03 new command

Migrate existing worktrees into cow.

Adds cow migrate, which discovers git linked worktrees, jj secondary workspaces, and orphaned cow workspace directories and migrates them into proper cow-managed APFS clone workspaces — so you can adopt cow without starting your in-progress branches from scratch.

Commands
  • new cow migrate [--source] [--all] [--force] [--dry-run] — discover and migrate git worktrees, jj workspaces, and orphaned directories into cow-managed workspaces. Git worktrees are replaced with an APFS clone and the old worktree removed; jj workspaces are re-created with jj workspace add and the old one forgotten; orphaned directories are registered in-place without cloning. Dirty candidates are skipped unless --force is passed. --dry-run prints the plan without making any changes.
Documentation
  • docs README: added cow migrate command reference and a Development section documenting the three root causes of the test coverage gap in migrate.rs (jj paths, subprocess integration tests, defensive error paths).
  • docs Homepage: updated CLI demo to include a migrate tab.
v0.1.1 2026-03-02 performance + fixes

Faster cloning and better jj support.

Switches from a cp -Rc subprocess to a direct clonefile(2) syscall for a measurable speed improvement on large repos, and fixes several issues with Jujutsu workspace creation.

Performance
  • perf Replace cp -Rc subprocess with a direct clonefile(2) syscall. This is the same kernel call Time Machine uses: one atomic operation regardless of directory depth, with no per-file process spawning. A 2 GB repository now clones in around 130 ms wall time.
jj (Jujutsu) fixes
  • fix Run jj workspace add before copying untracked files from the source. Previously the copy ran first, causing jj workspace add to reject the non-empty destination directory.
  • fix Pass signing.behavior="drop" to jj workspace add so SSH passphrase prompts are suppressed during workspace creation. jj signs the initial workspace commit immediately; this flag suppresses that without touching the user's global jj config.
  • fix Write cow metadata to .jj/cow-context instead of .cow-context at the workspace root. jj auto-tracks every new file in the working copy, so a file at the root appeared as an addition in jj diff and jj status. Content inside .jj/ is invisible to jj's working-copy tracking.
v0.1.0 2026-03-02 initial release

First public release.

cow ships as a Homebrew formula and a Cargo crate (cow-cli), covering the full workspace lifecycle with an MCP server for agent orchestration.

Commands
  • new cow create — clone a repo into an isolated APFS workspace
  • new cow list — list all active workspaces, with optional JSON output
  • new cow status — detailed workspace status including diff summary
  • new cow diff — passthrough to git diff or jj diff
  • new cow extract — extract changes back to source as patch or branch
  • new cow remove — remove workspaces, with dirty-state warnings
  • new cow sync — fetch and rebase workspace onto source repo changes
  • new cow cd — print workspace path for shell integration
  • new cow mcp — run as an MCP stdio server for AI orchestrators