···1313make check # Run both format and lint
1414make test # Run all tests
1515make log-stream # Stream app logs (subsystem: com.onevcat.prowl)
1616+make build-cli # Build CLI (prowl) via SwiftPM
1717+make test-cli-smoke # Run CLI smoke tests (unit-level)
1818+make test-cli-integration # Run CLI integration tests (socket round-trip)
1619make bump-version # Bump version (date-based YYYY.M.DD) and create git tag
1720make bump-and-release # Bump version and push to trigger release
1821```
···113116## Rules
114117115118- After a task, ensure the app builds: `make build-app`
119119+- When working on CLI code (`ProwlCLI/`, `ProwlCLITests/`, `Package.swift`), run `make build-cli`, `make test-cli-smoke`, and `make test-cli-integration` before committing.
116120- Automatically commit your changes and your changes only. Do not use `git add .`
117121- Before you go on your task, check the current git branch name, if it's something generic like an animal name, name it accordingly. Do not do this for main branch
118122- After implementing an execplan, always submit a PR if you're not in the main branch