Contributing
How to contribute to HowlAlert.
TL;DR — Fork, branch, PR. Follow Swift 6 strict concurrency. TypeScript strict mode for the Worker.
Development workflow
- Fork the repository
- Create a feature branch:
git checkout -b feature/my-feature - Make your changes
- Run
make cito verify everything passes - Open a pull request
Code conventions
Swift
- Swift 6 strict concurrency (
Sendable,@MainActor,actor) - SwiftUI for all UI
- No third-party Swift dependencies (only Apple frameworks + HowlAlertKit)
TypeScript (Worker)
strict: true— noanytypes- Hono for routing — no raw
Request/Responsehandling - All D1 queries use prepared statements
Running tests
make test # HowlAlertKit unit tests
cd src/howlalert-worker && bun run typecheck