HowlAlert

GitHub Setup

Fork, clone, and set up HowlAlert for local development.

This guide covers getting the HowlAlert monorepo running locally for development — API, docs, and native app.

Prerequisites

1. Fork and clone

Fork the repository on GitHub, then clone your fork:

git clone https://github.com/<your-username>/howlalert.git
cd howlalert

Or clone the upstream directly if you're not planning to contribute:

git clone https://github.com/mrdemonwolf/howlalert.git
cd howlalert

2. Install dependencies

Each app manages its own dependencies — there are no workspace-level installs.

# API
cd apps/api && bun install
 
# Docs
cd apps/docs && bun install

The native app uses Swift Package Manager — dependencies are resolved automatically by Xcode or swift package resolve.

3. Local API development

Start a local Wrangler dev server (uses local KV and D1 stubs):

make worker-dev

Apply migrations to the local D1 stub:

make apply-migrations

The Worker is available at http://localhost:8787.

4. Local docs development

make docs-dev

The docs site is available at http://localhost:3000 with Turbopack hot reload.

5. Native builds

Open the Xcode project:

make open-xcode

Or build from the command line:

make build-mac    # macOS
make build-ios    # iOS Simulator
make build-watch  # watchOS Simulator
make build-all    # all three

6. Running tests

# Swift unit tests (HowlAlertKit SPM package only)
make test
 
# Full CI checks: API typecheck + docs build + swift test
make ci

API typecheck

cd apps/api && bun run typecheck

API lint

cd apps/api && bun run lint

Project structure

apps/
  api/       Cloudflare Worker (Hono + D1 + KV)
  docs/      Next.js 15 docs site (Fumadocs)
  native/    SwiftUI app (macOS / iOS / watchOS)

Run make help at the root for a full list of available targets.

On this page