This guide helps contributors understand the current stream.ai repository without assuming infrastructure that does not exist.
Today, this repo is:
- a small TypeScript library
- focused on streaming AI responses
- currently OpenAI-first
- structured as a single package
It is not currently:
- a monorepo
- a multi-package workspace
- an offline-sync framework
git clone https://github.com/stream-ai/stream.ai.git
cd stream.ai
npm install
npm run typecheck
npm run test
npm run buildstream.ai/
├── src/
│ ├── builder.ts
│ ├── engine.ts
│ ├── types.ts
│ ├── errors.ts
│ ├── costs.ts
│ ├── edge.ts
│ ├── providers/
│ └── __tests__/
├── README.md
├── ARCHITECTURE.md
├── ROADMAP.md
└── package.json
If you want to understand the codebase quickly:
- Read
src/types.tsfor the public contracts. - Read
src/builder.tsfor the user-facing API. - Read
src/engine.tsfor orchestration and aggregation. - Read
src/providers/openai.tsfor the OpenAI Responses API implementation. - Read
docs/openai.mdfor the provider contract.
- improve examples in the README
- add or refine tests in
src/__tests__ - improve cost accounting or error handling
- tighten OpenAI provider behavior
- add one focused middleware
- improve OpenAI and package docs
- offline storage or synchronization
- CRDT features
- package splits or monorepo migration
- broad architecture changes
- adding large unvalidated feature claims to docs
- keep scope realistic
- prefer working software over aspirational docs
- align documentation with actual implementation
- favor small, testable changes