> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trytrellis.app/llms.txt
> Use this file to discover all available pages before exploring further.

# v0.4.0-beta.1

> 2026-03-12

Monorepo support, unified commands, and Python scripts refactoring.

<Warning>This is a **breaking change** release. Run `trellis update` to migrate. Customized command files will be preserved — only unmodified files are auto-deleted.</Warning>

## Enhancements

* **Monorepo auto-detection** — `trellis init` detects pnpm/npm/Cargo/Go/uv workspaces and git submodules, generates per-package spec directories and `config.yaml` with packages list
* **Unified commands** — `before-backend-dev` + `before-frontend-dev` merged into `before-dev`; `check-backend` + `check-frontend` merged into `check` (all 9 platforms)
* **Safe file delete** — New migration type that auto-removes deprecated files only when content hash matches (user-modified files are never deleted)
* **Protected paths** — `PROTECTED_PATHS` prevents migrations from touching user data (`.trellis/workspace`, `spec`, `tasks`)
* **Update skip paths** — `config.yaml` `update.skip` to exclude paths from safe-file-delete and template updates
* **Worktree submodule awareness** — Worktree agents auto-initialize git submodules for task packages
* **Monorepo script support** — Session-start hook supports `spec_scope` filtering; `task.py` and `add_session.py` support `--package`
* **Migration task auto-creation** — Breaking change updates automatically create a `.trellis/tasks/` migration task with guide and AI instructions

## Bug Fixes

* **Update: protected path compat** — Allow rename/rename-dir migrations to target protected paths (0.2.0 compat)
* **Update: config parse warning** — Warn when `config.yaml` parse fails instead of silently disabling `update.skip`
* **Scripts: submodule status** — Preserve git submodule status prefix character (`.strip` → `.rstrip`)

## Internal

* **Python scripts refactoring** — Shared `io`/`log`/`git` modules, `TaskInfo` TypedDict type safety, god modules (`task.py`, `git_context.py`, `status.py`) split into focused modules. All entry paths unchanged.

## Migration

Run `trellis update` to sync new unified commands. Old `before-backend-dev`, `before-frontend-dev`, `check-backend`, `check-frontend` files will be auto-deleted if unmodified. If you customized these files, merge your changes into the new `before-dev` / `check` files and delete the old ones manually.
