Skip to content

0.5 — straps own env writing; copy becomes a residue mirror

Choose a tag to compare

@cruzzed cruzzed released this 06 Oct 06:20
· 12 commits to master since this release
f2a4d4f

Breaking clean break from the 0.4 config surface (ADRs 0007–0008). Suite: 159 bats tests green.

Env writing moves to straps (ADR-0007)

  • The env: block is deleted from the core config. Straps own every .env write, via the new core-lent helpers (source "$WTBS_LIB_DIR/strap-lib.sh"): wtbs_env_set, wtbs_state_set, wtbs_state_get — all dry-run aware.
  • Bundled db straps write DB_DATABASE directly; the project's own keys belong to the project env strap (.wtbs/straps/env/, scaffolded automatically).
  • On activation, activated bundled straps are published into the project's .wtbs/straps/ — the project owns its copies; bundled becomes seed material. Skip with --no-publish / publish: false.

Copy becomes a git-aware residue mirror (ADR-0008)

  • copy: [file, …] lists are gone. All untracked files (including gitignored ones like .env) mirror from the main repo into the worktree, seed-only (never overwrites).
  • Exclusions via copy.ignore: in the yml and/or a .wtbsignore file (gitignore-style, both honored). .git and .wtbs/ always skipped.

Migrating from 0.4: env: entries become wtbs_env_set lines in .wtbs/straps/env/create; drop your copy: list and add copy.ignore: for node_modules/vendor/… instead. Legacy keys fail fast with pointers.