Files
Kirill Dubovitskiy 9695b41646 feat: migrate from yarn 1 to pnpm 10
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>
2026-04-12 02:35:10 -07:00
..
2026-01-28 19:02:51 -08:00
2026-01-28 19:02:51 -08:00
2026-01-28 19:14:58 -08:00
2026-01-28 19:18:49 -08:00
2026-01-28 19:02:51 -08:00
2026-04-01 01:36:09 -07:00

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:cli passthrough 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.