Skip to content

Commit 36704fc

Browse files
committed
docs: add Why Spectra and pi-mono credits to all package READMEs
1 parent 82a73dd commit 36704fc

5 files changed

Lines changed: 50 additions & 0 deletions

File tree

packages/agent/README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@
44

55
Orchestrates conversations with LLMs: streams responses, dispatches tool calls (parallel or sequential), injects intermediate messages mid-turn, and emits typed events for every phase of execution.
66

7+
## Why Spectra?
8+
9+
Every agent framework I tried — **LangChain, LangGraph**, and others — followed the same pattern: endless layers of abstraction for things that are, at their core, just a simple loop. An agent takes input, calls a model, processes the response, dispatches tools, and repeats. That's it. A loop. Everything else — chains, graphs, runnables — is over-engineering dressed up as architecture. I lost months debugging framework bugs instead of building my product.
10+
11+
**Spectra takes the opposite approach.** No graphs. No chains. No runtime that owns your application. Just the primitives — a loop, a model call, a tool dispatch, a stream — that you assemble however you need.
12+
713
## Features
814

915
- **Multi-turn loop** — Automatically feeds tool results back to the model. Configurable `maxTurns`.
@@ -236,6 +242,10 @@ The agent retries LLM calls up to 3 times with exponential backoff (1s, 2s, 4s)
236242
- 4xx client errors (400, 401, 403, 404)
237243
- Aborted requests
238244

245+
## Credits
246+
247+
Spectra was deeply inspired by **[pi-mono](https://github.com/badlogic/pi-mono)** by **Mario Zechner** — a beautifully minimal AI stack that proved an agent framework doesn't need layers of abstraction to be powerful.
248+
239249
## License
240250

241251
MIT

packages/ai/README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@
44

55
A registry-based system for interacting with multiple LLM providers through a unified streaming interface. Built-in providers for Anthropic, OpenAI (Chat Completions + Responses API), Groq, and OpenRouter — all streaming SSE by default.
66

7+
## Why Spectra?
8+
9+
Every agent framework I tried — **LangChain, LangGraph**, and others — followed the same pattern: endless layers of abstraction for things that are, at their core, just a simple loop. An agent takes input, calls a model, processes the response, dispatches tools, and repeats. That's it. A loop. Everything else — chains, graphs, runnables — is over-engineering dressed up as architecture. I lost months debugging framework bugs instead of building my product.
10+
11+
**Spectra takes the opposite approach.** No graphs. No chains. No runtime that owns your application. Just the primitives — a loop, a model call, a tool dispatch, a stream — that you assemble however you need.
12+
713
## Features
814

915
- **Streaming-first** — Every provider streams SSE events. No polling, no buffering.
@@ -184,6 +190,10 @@ const msg = await complete(
184190
);
185191
```
186192

193+
## Credits
194+
195+
Spectra was deeply inspired by **[pi-mono](https://github.com/badlogic/pi-mono)** by **Mario Zechner** — a beautifully minimal AI stack that proved an agent framework doesn't need layers of abstraction to be powerful.
196+
187197
## License
188198

189199
MIT

packages/app/README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@
44

55
Builds on `@singularity-ai/spectra-ai` and `@singularity-ai/spectra-agent` to provide the runtime needed for serving agents from local dev (SQLite) to distributed clusters (Redis + K8s).
66

7+
## Why Spectra?
8+
9+
Every agent framework I tried — **LangChain, LangGraph**, and others — followed the same pattern: endless layers of abstraction for things that are, at their core, just a simple loop. An agent takes input, calls a model, processes the response, dispatches tools, and repeats. That's it. A loop. Everything else — chains, graphs, runnables — is over-engineering dressed up as architecture. I lost months debugging framework bugs instead of building my product.
10+
11+
**Spectra takes the opposite approach.** No graphs. No chains. No runtime that owns your application. Just the primitives — a loop, a model call, a tool dispatch, a stream — that you assemble however you need. `@mohanscodex/spectra-app` provides production utilities you'd build anyway (rate limiting, circuit breakers, session stores) — completely optional, never forced.
12+
713
## Features
814

915
- **SessionEngine** — Full lifecycle orchestration: session load → rate limit → concurrency cap → agent loop → persist → stream. One `run()` call. Graceful drain for K8s.
@@ -269,6 +275,10 @@ const all = await orchestrator.executeParallel([
269275
]);
270276
```
271277
278+
## Credits
279+
280+
Spectra was deeply inspired by **[pi-mono](https://github.com/badlogic/pi-mono)** by **Mario Zechner** — a beautifully minimal AI stack that proved an agent framework doesn't need layers of abstraction to be powerful.
281+
272282
## License
273283
274284
MIT

packages/code/README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@
44
55
Spectra Code is a terminal-native AI coding agent with a full-screen TUI, CLI commands, MCP integration, and ACP support for editor integration. It runs locally, respects your config, and keeps your API keys in a secure auth store.
66

7+
## Why Spectra?
8+
9+
Every agent framework I tried — **LangChain, LangGraph**, and others — followed the same pattern: endless layers of abstraction for things that are, at their core, just a simple loop. An agent takes input, calls a model, processes the response, dispatches tools, and repeats. That's it. A loop. Everything else — chains, graphs, runnables — is over-engineering dressed up as architecture. I lost months debugging framework bugs instead of building my product.
10+
11+
**Spectra Code** is the proof that you don't need a bloated SDK to build a capable coding agent. Just a loop, tools, and a terminal.
12+
713
## Features
814

915
- **TUI** — Full-screen terminal UI with session management, model switching, and real-time streaming
@@ -192,6 +198,10 @@ const store = new SessionStore();
192198
const sessions = store.list();
193199
```
194200

201+
## Credits
202+
203+
Spectra was deeply inspired by **[pi-mono](https://github.com/badlogic/pi-mono)** by **Mario Zechner** — a beautifully minimal AI stack that proved an agent framework doesn't need layers of abstraction to be powerful.
204+
195205
## License
196206

197207
MIT

packages/tui/README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@
44

55
A lightweight, component-based TUI framework built from scratch on raw ANSI escape codes. No external UI dependencies — just a `TUI` core, a set of composable components (`Box`, `Text`, `Input`, `Editor`, `Loader`, `Markdown`, `Spacer`, `TruncatedText`), and a `ProcessTerminal` driver.
66

7+
## Why Spectra?
8+
9+
Every agent framework I tried — **LangChain, LangGraph**, and others — followed the same pattern: endless layers of abstraction for things that are, at their core, just a simple loop. An agent takes input, calls a model, processes the response, dispatches tools, and repeats. That's it. A loop. Everything else — chains, graphs, runnables — is over-engineering dressed up as architecture. I lost months debugging framework bugs instead of building my product.
10+
11+
**Spectra TUI** is built on the same philosophy — just ANSI escape codes, differential rendering, and composable components. No bloated UI frameworks.
12+
713
## Features
814

915
- **Differential rendering** — Only emits ANSI escape sequences for cells that changed. No full-screen redraws.
@@ -35,6 +41,10 @@ const abort = new AbortController();
3541
tui.run(abort.signal);
3642
```
3743

44+
## Credits
45+
46+
Spectra was deeply inspired by **[pi-mono](https://github.com/badlogic/pi-mono)** by **Mario Zechner** — a beautifully minimal AI stack that proved an agent framework doesn't need layers of abstraction to be powerful.
47+
3848
## License
3949

4050
MIT

0 commit comments

Comments
 (0)