Files
wehub-resource-sync 98e40dac97
CLI Smoke Test / smoke-test-linux (20) (push) Has been cancelled
CLI Smoke Test / smoke-test-linux (24) (push) Has been cancelled
CLI Smoke Test / smoke-test-windows (20) (push) Has been cancelled
CLI Smoke Test / smoke-test-windows (24) (push) Has been cancelled
Expo App TypeScript typecheck / typecheck (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:40:49 +08:00

3.2 KiB

Competition Research

Use this folder for distilled competitor research that is worth keeping in the Happy repo.

What belongs here

  • markdown notes about how another product works
  • protocol writeups, message samples, and sequence diagrams
  • screenshots and small sanitized artifacts that explain behavior
  • links to upstream docs, repos, commits, issues, and blog posts
  • comparisons back to Happy when the finding affects product or protocol design

What does not belong here

  • git checkouts of competitor repos
  • git submodules
  • copied source trees or vendored code dumps
  • large raw logs, binaries, or secrets

If you need a checkout for research, keep it outside this repository. Prefer the existing adjacent area under ../happy-adjacent/research/{vendor} when it exists; otherwise use another machine-local path that is not committed.

docs/competition/
├── AGENTS.md
├── comparison-matrix.md            # cross-vendor summary by topic
├── claude/
│   ├── README.md                   # high-level overview and key takeaways
│   ├── sources.md                  # upstream URLs, commit hashes, dates reviewed
│   ├── message-protocol.md         # envelopes, streaming events, turn boundaries
│   ├── session-lifecycle.md        # startup, resume, interruption, teardown
│   └── artifacts/                  # screenshots, tiny trace snippets, diagrams
├── codex/
│   └── ...
└── opencode/
    └── ...

Per-vendor file expectations

Each vendor folder should start small and stay focused:

  • README.md: what this product is, what was inspected, and the main findings
  • sources.md: repo URL, docs links, commit/tag reviewed, and review date
  • topic files such as message-protocol.md, tool-calling.md, subagents.md, task-tracking.md, modes-and-permissions.md, or sandbox.md when those topics matter
  • artifacts/: only small evidence files that help explain the writeup

Do not mirror the competitor's repo layout here. Write the conclusions we want to keep.

Research workflow

  1. Inspect the competitor from a local checkout, docs site, product behavior, or captured traces.
  2. Record the exact upstream references in sources.md.
  3. Write the distilled result in the vendor folder.
  4. Extract reusable comparisons into comparison-matrix.md when multiple vendors cover the same topic.

Current priorities

Start with the protocol and control surfaces that matter most for Happy:

  • message protocol and event envelopes
  • tool call representation and streaming
  • subagents / task delegation model
  • task tracking / todo surfaces
  • mode switching and model switching
  • permission / approval flow
  • sandbox / workspace isolation
  • session resume, fork, and interrupt behavior
  • remote sync / server architecture

Current product note: OpenCode is a particularly strong reference right now. Its desktop UI, feature set, and especially the clickable context/debug surface look worth studying closely. Treat its messaging protocol as a leading design input, and dig further into how it syncs state with its server.

The rule of thumb is simple: checkouts stay outside the repo; insights and small supporting artifacts go here.