Run From A Monorepo Clone (Repo-Local Mode)
Use yarn commands from the Happier monorepo root to run a stackless local stack, install an OS service, and configure Tailscale.
If you cloned the Happier monorepo, you can run most day-to-day workflows directly from the repo root using yarn scripts.
This mode is repo-local (stackless): it creates an isolated per-checkout stack under ~/.happier/stacks/<repo-stack>/... and does not require you to pick a stack name.
Prerequisites
- Node + Corepack enabled
yarn installin the monorepo root
Quick Start (Dev)
cd /path/to/happier
yarn devFor the interactive terminal UI:
yarn tuiWith mobile (starts the dev stack with --mobile so the Expo dev-client QR flow is available):
yarn tui:with-mobileRun The Happier CLI From Anywhere (Use This Repo Checkout)
If you want hstack / happier commands you run from any terminal to execute from this clone (instead of a runtime install),
activate repo-local shims:
yarn cli:activateTo also add ~/.happier-stack/bin to your shell PATH automatically (edits shell config):
yarn cli:activate:pathProduction-Like Start (Local)
yarn start runs the local stack in a prod-like mode (server + daemon + optionally serving a prebuilt UI bundle).
Before yarn start, build the static UI export:
yarn build
yarn startBy default, yarn build writes the web UI export into your stack base dir:
~/.happier/stacks/<repo-stack>/uiOS Service (Autostart)
You can install an OS service that runs hstack start in the background (launchd on macOS; systemd on Linux).
Recommended (build UI then install service):
yarn service:install
yarn service:enableOther service commands:
yarn service status
yarn service logs
yarn service tail
yarn service restart
yarn service:disable
yarn service:uninstallLinux system service (advanced):
yarn service:install:systemTailscale Serve (HTTPS Secure Context)
If you use Tailscale, you can configure tailscale serve to expose your local stack over HTTPS.
yarn tailscale:enable
yarn tailscale:urlOther Tailscale commands:
yarn tailscale status
yarn tailscale:disableLogs
Follow logs (defaults to --component=auto selection):
yarn logsCommon streams (no extra flags needed):
yarn logs:all
yarn logs:server
yarn logs:expo
yarn logs:ui
yarn logs:daemon
yarn logs:serviceAdvanced: pass arguments to hstack logs (Yarn v1 requires -- to forward args to the underlying command):
yarn logs -- --component=server --follow
yarn logs -- --component=expo --follow
yarn logs -- --component=daemon --lines 200 --no-followEnvironment Variables (Per Repo-Local Stack)
yarn env list
yarn env set KEY=VALUE
yarn env unset KEYThese edits are persisted in:
~/.happier/stacks/<repo-stack>/envMobile
Install the iOS release build (runs the full flow, no stack name required):
yarn mobile:installOther repo-local mobile workflows:
yarn mobile
yarn mobile-dev-clientFull Command List (Repo Root)
The monorepo root package.json exposes these entrypoints (all repo-local):
yarn dev,yarn start,yarn stop,yarn build,yarn tuiyarn logs,yarn env,yarn auth,yarn daemonyarn service(andyarn service:*convenience scripts)yarn tailscale(andyarn tailscale:*convenience scripts)yarn mobile,yarn mobile:install,yarn mobile-dev-clientyarn providers,yarn eas,yarn happier,yarn setup,yarn remote,yarn self-host,yarn menubar