--- name: dev-loop-packaging description: Use when you need a fresh packaged `.app` bundle, a fast build-package-relaunch loop, or a packaged runtime repro for Kaset instead of a compile-only verification. metadata: short-description: Package and relaunch Kaset --- # Dev Loop Packaging Use this skill when you need a fresh `.app` bundle, a fast build-package-relaunch loop, or a packaged runtime repro instead of a compile-only check. ## Default Loop - Prefer `swift build` for the fastest compile verification. - Prefer `swift test --skip KasetUITests` for the default non-UI test pass. - Escalate to packaging only when you need a runnable app bundle, login/WebView/runtime inspection, or bundle verification. ## Common Commands ```bash swift build Scripts/build-app.sh Scripts/compile_and_run.sh Scripts/compile_and_run.sh --test Scripts/compile_and_run.sh --lint Scripts/compile_and_run.sh --wait ``` ## What The Scripts Do - `Scripts/build-app.sh` builds the app and assembles `.build/app/Kaset.app`. - `Scripts/compile_and_run.sh` kills existing Kaset processes, optionally runs tests and linting, packages a debug app by default, relaunches it, and checks that it stays running. Pass `--release` for a release build. - `Scripts/compile_and_run.sh --test` runs the SwiftPM test target before packaging; it does not invoke the separate Xcode UI-test project. - `Scripts/build-app.sh` can also build for custom architectures via `ARCHES`. ## Landmarks - `Scripts/build-app.sh` - `Scripts/compile_and_run.sh` - `.build/app/Kaset.app`