9695b41646
Yarn install was taking ~82s (warm cache, no scripts). pnpm achieves ~7.5s for the same operation — an 11x speedup thanks to its content-addressable store and hard-linking. Key changes: - Add pnpm-workspace.yaml, .npmrc (shamefully-hoist for RN compat) - Replace yarn.lock with pnpm-lock.yaml (imported via pnpm import) - Use workspace:* protocol for @slopus/happy-wire cross-references - Move happy-cli resolutions to root pnpm.overrides - Add pnpm.onlyBuiltDependencies allowlist for native build scripts - Update all 3 Dockerfiles to use corepack + pnpm - Update CI workflows to use pnpm/action-setup@v4 - Update all scripts, tests, and docs referencing yarn Generated with [Claude Code](https://claude.ai/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>
Happy Docs
This folder documents how Happy works internally, with a focus on protocol, backend architecture, deployment, and the CLI tool. Start here.
Index
- protocol.md: Wire protocol (WebSocket), payload formats, sequencing, and concurrency rules.
- api.md: HTTP endpoints and authentication flows.
- encryption.md: Encryption boundaries and on-wire encoding.
- backend-architecture.md: Internal backend structure, data flow, and key subsystems.
- deployment.md: How to deploy the backend and required infrastructure.
- cli-architecture.md: CLI and daemon architecture and how they interact with the server.
- dev-environments.md: Local
environments/data/workflow, lab-rat project provisioning,env:clipassthrough behavior, and daemon usage. - session-protocol.md: Unified encrypted chat event protocol.
- session-protocol-claude.md: Claude-specific session-protocol flow (local vs remote launchers, dedupe/restarts).
- plans/provider-envelope-redesign.md: Proposed replacement for the current provider/session envelope design.
- permission-resolution.md: State-based permission mode resolution across app and CLI (including sandbox behavior).
- happy-wire.md: Shared wire schemas/types package and migration notes.
- voice-architecture.md: ElevenLabs voice assistant integration, session routing, context batching, and VAD detection.
- research/: general research notes and exploratory writeups.
- competition/: competitor research, protocol analysis, and comparison notes.
- competition/AGENTS.md: structure and rules for storing competitor research results without committing raw checkouts.
Conventions
- Paths and field names reflect the current implementation in
packages/happy-server. - Examples are illustrative; the canonical source is the code.