Skip to content

0.2

Choose a tag to compare

@cruzzed cruzzed released this 22 Aug 06:36
· 17 commits to master since this release
e4f2fcd

Summary

Release 0.2 — resolves all nine open issues.

  • #1 — create creates the branch when it doesn't exist yet (git worktree add -b), with optional --base <ref> and a clear info message
  • #2 — scriptable DB lifecycle: database.create/database.drop commands (rendered with the full template context) replace driver dispatch when present; first-class driver: none disables DB handling silently; unknown drivers fail cleanly instead of command not found
  • #3 — create --dry-run renders the full plan: resolved driver, db name, rendered env_updates, allocated offset/ports, and every install/build/serve/destroy command — with no side effects (registry untouched)
  • #4 — global flags accepted in any position (create --dry-run feature/x works)
  • #5 — report reflects what actually happened: skipped DB steps shown as skipped (<reason>), unreferenced ports grouped as allocated-but-unused; name_prefix default documented
  • #6 — no unconditional Laravel env keys: APP_PORT/FORWARD_DB_PORT/VITE_PORT only apply as defaults when no env_updates are defined; DB_DATABASE only written for real drivers
  • #7 — template context expanded: {db_name}, {worktree_root}, {main_repo}, and {env.KEY} references to existing env values (dry-run resolves them against the main repo's .env)
  • #8 — preflight fails fast when hook scripts referenced in commands.*/database.* are missing from the worktree checkout
  • #9 — destroy runs git worktree prune so branches are deletable immediately; new --delete-branch flag

Tests

  • 11 new bats tests (78 total, all passing): flags-in-any-position, full dry-run plan, preflight fail-fast, prune/delete-branch, command-based DB lifecycle, driver: none, unknown-driver handling, template context, {env.KEY} refs
  • README and --help updated for all new behavior

Closes #1, closes #2, closes #3, closes #4, closes #5, closes #6, closes #7, closes #8, closes #9