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

# songbird-project

# songbird-project

Project-level lifecycle: open, save, template bootstrap, arrangement
markers and regions, and timeline tools. Sits above `songbird-state`
and below the application shells — both `songbird-app` and
`songbird-headless` go through this crate, so there is a single
canonical path for loading a project.

## Modules

* **`lifecycle`** — `resolve_project_dir` / `PostLoadConfig`. Returns
  the on-disk project directory after a load, creating a timestamped
  sketches directory for new in-memory projects. Each host supplies
  its own hooks (git init, recent-projects list, graph mirrors).
* **`loader`** — bird → project-state loader. Parses `.bird`, produces
  a populated `StateStore`.
* **`markers`** — arrangement markers, regions, and section metadata.
  Coordinates with `songbird-state` for persistence and `songbird-types`
  for shared IDs.

## Why it exists

Before this crate, project-open logic lived in two places — the Tauri
`project_open` IPC handler and the headless command handler — and they
drifted. Consolidating into a single path means fixing a load bug once
fixes it everywhere (desktop + headless + CLI).

No UI dependencies. No engine lifecycle — that belongs to
`songbird-orchestrator`.
