All notable changes to monodev will be documented in this file.
This project follows a pragmatic variant of Keep a Changelog, but prioritizes clarity over ceremony. Versions are pre-1.0 and may evolve rapidly.
- Removed deprecated
StoreMetafields:type,status,priority,source, andparentTaskId. Existingmeta.jsonfiles with these fields are silently ignored on load. monodev store lsnow displays: Name, Scope, Owner, Description. Removed verbose mode (-v) and filters for removed fields.monodev store describeno longer prints Source, Type, Priority, Status, or Parent Task ID.monodev store updatenow accepts only--description,--owner, and--task-idflags.monodev checkout -nnow accepts only--description,--owner, and--task-idflags.
- Commands that reuse the active store, including
monodev track, now fall back to global scope when workspace state still recordscomponentbut the current repository has no.monodevdirectory.
- Overlay paths are now stored relative to the workspace directory (CWD at track time) instead of the repository root. This makes stores portable across directories: applying a store from
packages/api/correctly places files inpackages/api/, even if the store was originally tracked frompackages/web/. monodev unapplynow removes files from the correct workspace subdirectory.monodev apply <store-id>no longer requires a priormonodev use <store-id>checkout. The store is resolved directly by ID.
- Added more fields to meta.json and track.json: source, type, owner, taskId, parentTaskId, priority, status, etc.
- Updated
monodev store describe&monodev store lsto show more fields.
- New
monodev store updatecommand for updating store metadata.
- New
monodev clearcommand for deleting workspace state files with--forceand--dry-runflags. - Custom help function with colored output for improved CLI readability, including grouped command listings and flags usage.
- Command groups for better organization: workspace lifecycle, store operations, stack management, workspace management, remote persistence, and CLI tooling.
- Enhanced CLI help output with colored group titles and section headers for better readability.
- Improved command organization with grouped and ungrouped sections in help output.
- New
monodev diffcommand for comparing workspace and store overlays.
- Reorganized CLI commands into parent commands:
monodev list→monodev store lsmonodev delete <store-id>→monodev store rm <store-id>monodev describe <store-id>→monodev store describe <store-id>- Removed
monodev prunecommand (not registered, functionality removed)
- Added new
workspaceparent command for managing workspace state:monodev workspace ls- List all workspacesmonodev workspace describe <workspace-id>- Show workspace detailsmonodev workspace rm <workspace-id>- Delete workspace state file
- Removed symlink support for now.
- New engine methods for workspace management:
ListWorkspaces()- Enumerate all workspace state filesDescribeWorkspace()- Get detailed workspace informationDeleteWorkspace()- Delete workspace state file with safety checks
- Support for non-git repositories.
- Stack commands (stack apply/unapply) for managing multiple stores in one go.
- Renamed
usetocheckoutfor clarity. - Renamed
savetocommitfor clarity. - Removed 'copy' mode for now.
- Better error handling and output formatting.
monodev apply/unapplyonly works on the "active store" now.
- Core CLI scaffolding (
monodev) with explicit command surface. - Store model for reusable, local-only development overlays.
- Store activation via
monodev useandmonodev use -n. - Stack-based composition of stores with deterministic precedence.
- Tracking of workspace-relative paths via
track.json. - Safe persistence of dev artifacts into stores via
monodev save. - Explicit workspace mutation boundaries:
monodev applyto materialize overlaysmonodev unapplyto remove applied overlays
- Support for
symlink(default) andcopyoverlay modes. - Workspace state ledger to track ownership and enable safe unapply.
- Conflict detection with explicit
--forceescape hatch. - Status and inspection commands (
status,list,describe).
- Local-only by default; no network access.
- Clear separation between intent (
track,save) and mutation (apply,unapply).
- This is an early release intended for users working in large monorepos.
- Backward compatibility is not guaranteed prior to 1.0.
- Feedback on ergonomics, edge cases, and failure modes is welcome.