feat(justfile): add dev-clean / dev-clean-all teardown recipes #303

Merged
David merged 1 commit from feat/dev-clean-recipes into main 2026-06-13 19:48:26 +02:00
Owner

Adds the canonical dev-clean / dev-clean-all teardown recipes, per GOV-7 (governance template templates/justfile/cleanup.just).

  • dev-clean brings down every dev compose stack (compose.dev-web.yml, compose.dev-web-saas.yml, compose.dev-web-local.yml, compose.dev-web-local-saas.yml, compose.dev-desktop.yml, plus base compose.yml) with down --remove-orphans --volumes, so each stack's default network and project-scoped named volumes (cargo-registry/cargo-git/target/data, lets-chat-data) are removed without spelling out project-prefixed names.
  • dev-clean then removes the four fixed-name volumes the ad-hoc docker run wrappers (dev/cargo, dev/server-up) create: lets-chat-rewrite-cargo-registry, lets-chat-rewrite-cargo-git, lets-chat-rewrite-target, lets-chat-rewrite-data, each guarded by a docker volume ls membership check.
  • dev-clean deletes the local artifact dirs target/, data/ (gitignored dev SQLite bind-mount state), and artifacts/ (where build-desktop* drops binaries and the deb/appimage bundles under artifacts/bundle-linux/).
  • dev-clean-all additionally removes the locally built images (lets-chat:{local,check}, lets-chat-saas:{local,check}, lets-chat-desktop:{local,bundles}, lets-chat-desktop-windows:local) each guarded by docker image inspect, then runs docker buildx prune --force.
  • The existing per-mode dev-web*-clean recipes are kept as single-stack conveniences; dev-clean is the comprehensive all-mode teardown that supersedes running them one at a time.

Both guard every removal with an existence check and stay scoped to this repo (no host-global prune). Verified just --list parses and groups both under [cleanup].

Part of the GOV-7 rollout; tracked there rather than via a per-repo issue.

🤖 Generated with Claude Code

Adds the canonical `dev-clean` / `dev-clean-all` teardown recipes, per GOV-7 (governance template `templates/justfile/cleanup.just`). - `dev-clean` brings down every dev compose stack (`compose.dev-web.yml`, `compose.dev-web-saas.yml`, `compose.dev-web-local.yml`, `compose.dev-web-local-saas.yml`, `compose.dev-desktop.yml`, plus base `compose.yml`) with `down --remove-orphans --volumes`, so each stack's default network and project-scoped named volumes (`cargo-registry`/`cargo-git`/`target`/`data`, `lets-chat-data`) are removed without spelling out project-prefixed names. - `dev-clean` then removes the four fixed-name volumes the ad-hoc `docker run` wrappers (`dev/cargo`, `dev/server-up`) create: `lets-chat-rewrite-cargo-registry`, `lets-chat-rewrite-cargo-git`, `lets-chat-rewrite-target`, `lets-chat-rewrite-data`, each guarded by a `docker volume ls` membership check. - `dev-clean` deletes the local artifact dirs `target/`, `data/` (gitignored dev SQLite bind-mount state), and `artifacts/` (where `build-desktop*` drops binaries and the deb/appimage bundles under `artifacts/bundle-linux/`). - `dev-clean-all` additionally removes the locally built images (`lets-chat:{local,check}`, `lets-chat-saas:{local,check}`, `lets-chat-desktop:{local,bundles}`, `lets-chat-desktop-windows:local`) each guarded by `docker image inspect`, then runs `docker buildx prune --force`. - The existing per-mode `dev-web*-clean` recipes are kept as single-stack conveniences; `dev-clean` is the comprehensive all-mode teardown that supersedes running them one at a time. Both guard every removal with an existence check and stay scoped to this repo (no host-global prune). Verified `just --list` parses and groups both under `[cleanup]`. Part of the GOV-7 rollout; tracked there rather than via a per-repo issue. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
feat(justfile): add dev-clean / dev-clean-all teardown recipes
All checks were successful
Create release / Create release from merged PR (pull_request) Has been skipped
check-secrets / TruffleHog (push) Successful in 7s
check-secrets / Kingfisher (push) Successful in 10s
check-secrets / Nosey parker (push) Successful in 9s
check-secrets / Nosey parker (pull_request) Successful in 5s
check-secrets / Kingfisher (pull_request) Successful in 9s
check-secrets / TruffleHog (pull_request) Successful in 9s
Check / clippy + fmt + tests (pull_request) Successful in 4m43s
76d55b142c
Adds the canonical GOV-7 dev-clean / dev-clean-all pair under [group: 'cleanup']. dev-clean brings down every dev compose stack (compose.dev-web.yml, compose.dev-web-saas.yml, compose.dev-web-local.yml, compose.dev-web-local-saas.yml, compose.dev-desktop.yml, plus the base compose.yml) with down --remove-orphans --volumes so each stack's default network and project-scoped named volumes (cargo-registry/cargo-git/target/data and lets-chat-data) go away, then removes the four fixed-name volumes the ad-hoc docker run wrappers create (lets-chat-rewrite-cargo-registry, -cargo-git, -target, -data) guarded by a docker volume ls membership check, and deletes the local build/runtime artifact dirs target/, data/ (gitignored dev SQLite bind-mount state), and artifacts/ (where build-desktop* drops binaries and the deb/appimage bundles under artifacts/bundle-linux/). dev-clean-all additionally removes the locally built images (lets-chat:{local,check}, lets-chat-saas:{local,check}, lets-chat-desktop:{local,bundles}, lets-chat-desktop-windows:local) each guarded by docker image inspect, then runs docker buildx prune --force. The existing per-mode dev-web*-clean recipes are kept as single-stack conveniences; dev-clean is the comprehensive all-mode teardown that supersedes running them one by one. Every removal is existence-guarded and scoped to this repo, with no host-global docker system/volume prune.

#GOV-7
David merged commit d275c60f7a into main 2026-06-13 19:48:26 +02:00
David deleted branch feat/dev-clean-recipes 2026-06-13 19:48:26 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
psa-systems/lets-chat!303
No description provided.