add developer docs
This commit is contained in:
26
docs-site/docs/developer/bun-bundle-and-feature-flags.md
Normal file
26
docs-site/docs/developer/bun-bundle-and-feature-flags.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# Bun bundle and feature flags
|
||||
|
||||
The shipping Claude Code CLI is built with **Bun** and internal **`bun:bundle`** integration. In the recovered source, `src/main.tsx` uses compile-time feature gates such as:
|
||||
|
||||
- `feature('KAIROS')` — lazy `require` of `assistant/` (assistant / Agent SDK–oriented paths).
|
||||
- `feature('COORDINATOR_MODE')` — lazy `require` of `coordinator/coordinatorMode`.
|
||||
- `feature('VOICE_MODE')` — conditional `useVoiceIntegration` in `REPL.tsx`.
|
||||
|
||||
## What `feature()` means here
|
||||
|
||||
In Anthropic’s pipeline, `feature('…')` is almost certainly a **constant** resolved at bundle time: dead branches are stripped from the published `cli.js`. The reconstruction **contains all branches** as TypeScript, so you can read “internal” code paths that might not ship in every npm artifact.
|
||||
|
||||
## Implications for “building from source”
|
||||
|
||||
A normal `tsc` or `bun build` **without** Anthropic’s bundler will not reproduce:
|
||||
|
||||
- The same dead-code elimination.
|
||||
- The same `bun:bundle` API semantics.
|
||||
- The same proprietary dependency closure.
|
||||
|
||||
That is one reason [Reproducibility and limits](../reproducibility.md) states you cannot rebuild the shipping binary from this mirror.
|
||||
|
||||
## See also
|
||||
|
||||
- [System design: layers](../system-design/layers.md)
|
||||
- [CLI entry reference](../reference/cli-entry.md)
|
||||
Reference in New Issue
Block a user