@contextstream/mcp-server 0.4.81 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/NOTICE ADDED
@@ -0,0 +1,25 @@
1
+ ContextStream MCP Server
2
+ Copyright (c) 2025-2026 ContextStream
3
+
4
+ This product is developed and maintained by ContextStream as part of the
5
+ ContextStream platform (https://contextstream.io).
6
+
7
+ ContextStream is an independently developed cloud service providing persistent
8
+ memory and cross-session context management for AI coding assistants. The
9
+ platform includes proprietary backend services not included in this repository.
10
+
11
+ This MCP server is a client library that connects to the ContextStream API.
12
+ It requires a ContextStream account and API key to function.
13
+
14
+ TRADEMARKS
15
+
16
+ "ContextStream" and the ContextStream logo are trademarks of ContextStream.
17
+ Use of these trademarks requires prior written permission.
18
+
19
+ THIRD-PARTY LICENSES
20
+
21
+ This software uses open-source Rust crates recorded in Cargo.lock. The npm
22
+ compatibility launcher has no runtime package dependencies. Release SBOMs and
23
+ license reports provide the exact dependency inventory for each release.
24
+
25
+ For questions about licensing or trademark usage, contact: legal@contextstream.io
package/README.md CHANGED
@@ -1,377 +1,126 @@
1
- <p align="center">
2
- <img src="https://contextstream.io/400logo.png" alt="ContextStream — persistent memory and semantic code search for AI coding assistants" width="80" />
3
- </p>
1
+ <!-- mcp-name: io.github.contextstream/mcp-server -->
4
2
 
5
- <h1 align="center">ContextStream MCP Server</h1>
3
+ # ContextStream MCP Server
6
4
 
7
- <p align="center">
8
- <strong>Persistent memory, semantic code search, and team context for Claude Code, Cursor, VS Code Copilot, Windsurf — and every MCP-compatible AI coding assistant.</strong>
9
- </p>
5
+ This repository is the canonical open-source implementation and release source
6
+ for the ContextStream Rust MCP server. It provides project memory, semantic code
7
+ search, dependency analysis, grounded context, and editor setup over the Model
8
+ Context Protocol.
10
9
 
11
- <p align="center">
12
- 🏆 <b>90.0% on LongMemEval-S</b> — the full 500-instance suite with the official judge.<br/>
13
- Beats supermemory with statistical significance; matches Zep. <a href="https://contextstream.io/benchmarks">See the benchmarks →</a>
14
- </p>
10
+ The hosted service at `https://mcp.contextstream.io/mcp` is the recommended
11
+ transport. The npm package is a compatibility launcher for clients that require
12
+ stdio: it downloads the binary for the package's exact version from an immutable
13
+ release path, verifies SHA-256, and runs it from a versioned cache.
15
14
 
16
- <p align="center">
17
- <a href="https://www.npmjs.com/package/@contextstream/mcp-server"><img src="https://img.shields.io/npm/v/@contextstream/mcp-server.svg" alt="npm version" /></a>
18
- <a href="https://www.npmjs.com/package/@contextstream/mcp-server"><img src="https://img.shields.io/npm/dm/@contextstream/mcp-server.svg" alt="npm downloads" /></a>
19
- <a href="https://github.com/contextstream/mcp-server/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/@contextstream/mcp-server.svg" alt="MIT license" /></a>
20
- <img src="https://img.shields.io/node/v/@contextstream/mcp-server.svg" alt="node version" />
21
- </p>
15
+ ## Connect
22
16
 
23
- <p align="center">
24
- <a href="https://contextstream.io/docs">Documentation</a> •
25
- <a href="https://contextstream.io/pricing">Pricing</a> •
26
- <a href="#faq">FAQ</a>
27
- </p>
28
-
29
- ---
30
-
31
- ## Try it in 30 seconds
32
-
33
- ```bash
34
- npx --prefer-online -y @contextstream/mcp-server@latest setup
35
- ```
36
-
37
- That one command detects your AI editors, writes their MCP configs and rules, installs lifecycle hooks where supported, indexes your project in the background, and **verifies everything it just did** — then you restart your editor and your AI has memory. Free tier available.
38
-
39
- Automating it? Zero-prompt mode takes every default:
40
-
41
- ```bash
42
- npx --prefer-online -y @contextstream/mcp-server@latest setup --yes
43
- ```
44
-
45
- <p align="center">
46
- <img src="compare1.gif" alt="Side-by-side comparison: an AI coding assistant with ContextStream memory and semantic search vs. without" width="700" />
47
- </p>
48
-
49
- ---
50
-
51
- ## We win on memory benchmarks — measured honestly
52
-
53
- **ContextStream scores 90.0% on the full LongMemEval-S benchmark**, the standard test of conversational memory over ~115k-token multi-session histories. That's the complete 500-instance suite with the official GPT-4o judge — 450/500 correct (89.6% single-shot, 90.0% with self-consistency k=3; Wilson 95% CI [87.1%, 92.3%]). Published June 14, 2026.
54
-
55
- | System | LongMemEval-S | Notes |
56
- |---|:---:|---|
57
- | **ContextStream** | **90.0%** | Full 500 instances, official GPT-4o judge |
58
- | Zep | 90.2% | Vendor-published — a statistical tie (0.2 pt is inside measurement noise) |
59
- | supermemory | 85.4% | Vendor-published — ContextStream wins with statistical significance |
60
-
61
- On **multi-session recall** — the memory that actually matters for a coding agent working across days of sessions — ContextStream scores **81.2% vs Zep's published 57.9%** in the per-family comparison. And on the agentic project-memory benchmark, the same memory raises **agent task success from 58% to 96%**.
62
-
63
- Full methodology, per-family breakdowns, and judge-comparability notes (competitor numbers are cited from each vendor's own publications): **[contextstream.io/benchmarks](https://contextstream.io/benchmarks)**
64
-
65
- ---
66
-
67
- ## What is ContextStream?
68
-
69
- **ContextStream is a Model Context Protocol (MCP) server that gives AI coding assistants long-term memory and deep codebase understanding.** It indexes your code for semantic search, records your decisions, lessons, and plans across sessions, maps your dependency graph, and pulls in team knowledge from GitHub, Slack, and Notion — then delivers exactly the right slice of all that to your AI on every message.
70
-
71
- It works with any MCP client: Claude Code, Cursor, VS Code + GitHub Copilot, Windsurf, Cline, Roo Code, Kilo Code, Codex CLI, OpenCode, Aider, Antigravity, and Claude Desktop.
72
-
73
- ---
74
-
75
- ## Why do AI coding assistants forget everything?
76
-
77
- Because every conversation starts from zero. Your AI re-reads the same files, re-derives the same architecture, repeats last week's mistake, and loses the thread the moment the context window compacts. ContextStream fixes the whole class of problem:
78
-
79
- | Without ContextStream | With ContextStream |
80
- |--------|-------|
81
- | AI greps files one-by-one, burning tokens | **Semantic code search** finds code by meaning in milliseconds |
82
- | Context lost when conversations get long | **Pre-compaction capture** saves critical state before it's gone — and restores it after |
83
- | Same mistakes repeated across sessions | **Lessons system** surfaces past failures *before* your AI repeats them |
84
- | "Why did we choose X?" — nobody remembers | **Decisions and plans** persist and resurface when relevant |
85
- | Team knowledge scattered across tools | **GitHub, Slack, and Notion knowledge**, queried automatically |
86
- | Generic answers with no project awareness | **Workspace context** on every single message |
87
-
88
- ---
89
-
90
- ## What your AI can do after setup
91
-
92
- ### 🔍 Find code by meaning, not keywords
93
- Ask *"where do we handle authentication?"* and get ranked, snippet-level answers instantly. Hybrid semantic + keyword search with exact-token fusion, so a symbol lookup like `resolveWriteScope` lands the definition — not lookalikes. Search works the moment setup finishes: keyword results come back immediately while the semantic index builds in the background.
94
-
95
- ### 🧠 Remember everything that matters
96
- Decisions, lessons, preferences, plans, tasks, docs, runbooks — captured during work and surfaced automatically on later turns, in later sessions, even after context compaction. Every prior session's transcript is indexed and queryable: *"what did we decide about the id format last week?"* just works.
97
-
98
- ### 💬 Ask the workspace when stuck
99
- The built-in **Agent Q&A** tool lets your AI ask your workspace's knowledge base — prior decisions, conventions, runbooks, guardrails — and get a grounded answer with citations for every claim.
100
-
101
- ### 🕸️ See the whole graph
102
- *"What depends on `UserService`?" "What breaks if I change this function?"* Dependency mapping, impact analysis, circular-dependency and dead-code detection over your whole codebase.
103
-
104
- ### 📦 Hand off context between agents
105
- **ContextCapsule** packages project state into a portable, shareable snapshot — bootstrap a fresh agent, hand off to a teammate, or share a token-gated link with an external agent.
106
-
107
- ### 🛡️ Survive long sessions
108
- Token pressure is tracked continuously (with thresholds sized to your model's context window). Before compaction hits, critical state is checkpointed; after it, context restores.
109
-
110
- ---
111
-
112
- ## Which AI editors and agents does it support?
113
-
114
- | Editor / Agent | Managed rules | MCP config | Lifecycle hooks |
115
- |---|:---:|:---:|:---:|
116
- | Claude Code | ✅ | ✅ | ✅ |
117
- | Cursor | ✅ (`.cursor/rules/*.mdc`) | ✅ | ✅ |
118
- | Windsurf | ✅ | ✅ | ✅ |
119
- | Cline | ✅ | ✅ | ✅ |
120
- | Roo Code | ✅ | ✅ | ✅ |
121
- | Kilo Code | ✅ | ✅ | rules-based |
122
- | VS Code + GitHub Copilot | ✅ | ✅ (incl. hosted OAuth) | rules-based |
123
- | Codex CLI | ✅ | ✅ | rules-based |
124
- | OpenCode | ✅ | ✅ | rules-based |
125
- | Aider | ✅ | ✅ | rules-based |
126
- | Antigravity | ✅ | ✅ | rules-based |
127
- | Claude Desktop | — | ✅ | — |
128
-
129
- Anything that speaks the Model Context Protocol can connect — the table just shows what the setup wizard configures automatically.
130
-
131
- ---
132
-
133
- ## The tools your AI gets
134
-
135
- 36 tools in the default surface, organized as consolidated domains so they cost ~75% fewer tokens than individual registrations:
136
-
137
- ```
138
- init / context → workspace state + the right context on every message
139
- search → semantic, hybrid, keyword, pattern, exhaustive, refactor modes
140
- memory → events, decisions, docs, runbooks, tasks, todos, diagrams, transcripts
141
- session → capture decisions & lessons, recall past sessions, plans, retroactive capture
142
- qa → grounded Q&A over your workspace knowledge base, with citations
143
- graph → dependencies, impact analysis, circular deps, unused code
144
- capsule → portable, shareable context snapshots for agent handoffs
145
- entity → tickets, incidents, releases, sprints, OKRs, risks
146
- project / workspace / skill / media / vcs / reminder / integration / help
147
- ```
148
-
149
- Plus focused write tools (`capture_plan`, `memory_create_doc`, …) so agents that display tool names show *what* they're doing. Your AI uses all of this automatically — you just code.
150
-
151
- ---
152
-
153
- ## CLI commands
154
-
155
- ```bash
156
- contextstream-mcp setup # interactive onboarding wizard
157
- contextstream-mcp setup --yes # zero-prompt setup with sane defaults (great for CI/dotfiles)
158
- contextstream-mcp doctor # ✓/✗ diagnostics: auth, scope, index health, rules, hooks
159
- contextstream-mcp index [path] # index a project folder on demand
160
- ```
161
-
162
- `setup --editors=claude,cursor` limits configuration to specific editors; `doctor` tells you exactly what's misconfigured and how to fix it — it runs automatically at the end of every setup.
163
-
164
- ---
165
-
166
- ## Manual configuration
167
-
168
- > Skip this if you ran the setup wizard.
169
-
170
- <details>
171
- <summary><b>Claude Code</b></summary>
172
-
173
- ```bash
174
- claude mcp add contextstream -- npx --prefer-online -y @contextstream/mcp-server@latest
175
- claude mcp update contextstream -e CONTEXTSTREAM_API_URL=https://api.contextstream.io -e CONTEXTSTREAM_API_KEY=your_key
176
- ```
177
-
178
- </details>
179
-
180
- <details>
181
- <summary><b>Cursor / Claude Desktop</b></summary>
17
+ Streamable HTTP (recommended):
182
18
 
183
19
  ```json
184
20
  {
185
21
  "mcpServers": {
186
- "contextstream": {
187
- "command": "npx",
188
- "args": ["--prefer-online", "-y", "@contextstream/mcp-server@latest"],
189
- "env": {
190
- "CONTEXTSTREAM_API_URL": "https://api.contextstream.io",
191
- "CONTEXTSTREAM_API_KEY": "your_key"
192
- }
193
- }
194
- }
195
- }
196
- ```
197
-
198
- **Locations:** `~/.cursor/mcp.json` • `~/Library/Application Support/Claude/claude_desktop_config.json`
199
-
200
- </details>
201
-
202
- <details>
203
- <summary><b>OpenCode</b></summary>
204
-
205
- Local server:
206
-
207
- ```json
208
- {
209
- "$schema": "https://opencode.ai/config.json",
210
- "mcp": {
211
- "contextstream": {
212
- "type": "local",
213
- "command": ["npx", "-y", "contextstream-mcp"],
214
- "environment": {
215
- "CONTEXTSTREAM_API_KEY": "{env:CONTEXTSTREAM_API_KEY}"
216
- },
217
- "enabled": true
218
- }
219
- }
220
- }
221
- ```
222
-
223
- Remote server:
224
-
225
- ```json
226
- {
227
- "$schema": "https://opencode.ai/config.json",
228
- "mcp": {
229
- "contextstream": {
230
- "type": "remote",
231
- "url": "https://mcp.contextstream.com",
232
- "enabled": true
233
- }
234
- }
235
- }
236
- ```
237
-
238
- For the local variant, export `CONTEXTSTREAM_API_KEY` before launching OpenCode.
239
-
240
- **Locations:** `./opencode.json` • `~/.config/opencode/opencode.json`
241
-
242
- </details>
243
-
244
- <details>
245
- <summary><b>VS Code + GitHub Copilot</b></summary>
246
-
247
- The easiest path is the hosted remote MCP with built-in OAuth — no API key in the config file:
248
-
249
- ```json
250
- {
251
- "servers": {
252
22
  "contextstream": {
253
23
  "type": "http",
254
- "url": "https://mcp.contextstream.io/mcp?default_context_mode=fast"
24
+ "url": "https://mcp.contextstream.io/mcp"
255
25
  }
256
26
  }
257
27
  }
258
28
  ```
259
29
 
260
- `setup` defaults VS Code/Copilot to this hosted remote on the production cloud. To force a local runtime, run setup with `CONTEXTSTREAM_VSCODE_MCP_MODE=local`, or use stdio directly:
261
-
262
- ```json
263
- {
264
- "servers": {
265
- "contextstream": {
266
- "type": "stdio",
267
- "command": "npx",
268
- "args": ["--prefer-online", "-y", "@contextstream/mcp-server@latest"],
269
- "env": {
270
- "CONTEXTSTREAM_API_URL": "https://api.contextstream.io",
271
- "CONTEXTSTREAM_API_KEY": "your_key",
272
- "CONTEXTSTREAM_TOOLSET": "complete"
273
- }
274
- }
275
- }
276
- }
277
- ```
278
-
279
- Keep both `~/.copilot/mcp-config.json` (uses `mcpServers`) and `.vscode/mcp.json` (uses `servers`) in sync — setup writes both.
280
-
281
- </details>
282
-
283
- <details>
284
- <summary><b>GitHub Copilot CLI</b></summary>
285
-
286
- Use `/mcp add` interactively, or add to `~/.copilot/mcp-config.json`:
30
+ npm/stdin compatibility:
287
31
 
288
32
  ```json
289
33
  {
290
34
  "mcpServers": {
291
35
  "contextstream": {
292
36
  "command": "npx",
293
- "args": ["--prefer-online", "-y", "@contextstream/mcp-server@latest"],
37
+ "args": ["-y", "@contextstream/mcp-server@1.0.0"],
294
38
  "env": {
295
- "CONTEXTSTREAM_API_URL": "https://api.contextstream.io",
296
- "CONTEXTSTREAM_API_KEY": "your_key",
297
- "CONTEXTSTREAM_TOOLSET": "complete"
39
+ "CONTEXTSTREAM_API_KEY": "your-api-key"
298
40
  }
299
41
  }
300
42
  }
301
43
  }
302
44
  ```
303
45
 
304
- See the [GitHub Copilot CLI documentation](https://docs.github.com/en/copilot/concepts/agents/about-copilot-cli) for details.
305
-
306
- </details>
46
+ All 1.x releases preserve these npm executables:
307
47
 
308
- <details>
309
- <summary><b>Unmapped folders (global fallback workspace)</b></summary>
48
+ - `mcp-server`
49
+ - `contextstream-mcp`
50
+ - `contextstream-hook` (forwards to the Rust `hook` subcommand)
310
51
 
311
- Folders that aren't associated with any project (your home directory, ad-hoc scratch dirs) still work: `init` falls back to a hidden catch-all workspace in workspace-only mode, memory/session/context tools keep functioning, and project-bound actions return guided remediation instead of raw errors. The moment you enter a mapped project folder, the real workspace/project takes over.
52
+ Run the setup wizard with:
312
53
 
313
- </details>
314
-
315
- ---
316
-
317
- ## FAQ
318
-
319
- ### What is an MCP server?
320
-
321
- An MCP (Model Context Protocol) server exposes tools and context to AI assistants over a standard protocol. Claude Code, Cursor, VS Code Copilot, Windsurf, and most modern AI coding tools are MCP clients — install one server, and every client you use gets the same capabilities.
322
-
323
- ### Does ContextStream work with Claude Code / Cursor / Copilot / Windsurf?
324
-
325
- Yes — all of them, plus Cline, Roo Code, Kilo Code, Codex CLI, OpenCode, Aider, Antigravity, and Claude Desktop. The setup wizard configures each editor's MCP config, managed rules, and (where the editor supports them) lifecycle hooks automatically.
326
-
327
- ### Is my code private?
328
-
329
- Your code is private and securely stored, isolated per workspace with no cross-tenant access. You control exclusions with `.contextstream/ignore` (gitignore syntax), and `project(action="purge")` completely de-indexes a project on demand — without touching your captured memory.
330
-
331
- ### How much does it cost?
332
-
333
- There's a free tier to start with. Larger indexes, the full code graph, and team features are on paid plans: see [pricing](https://contextstream.io/pricing).
334
-
335
- ### How does ContextStream score on memory benchmarks?
54
+ ```bash
55
+ npx -y @contextstream/mcp-server@1.0.0 setup
56
+ ```
336
57
 
337
- 90.0% on the full 500-instance LongMemEval-S suite with the official GPT-4o judge (89.6% single-shot) — beating supermemory's published 85.4% with statistical significance and matching Zep's published 90.2% within the confidence interval. On multi-session recall specifically, ContextStream scores 81.2% vs Zep's published 57.9%. Methodology and per-family breakdowns: [contextstream.io/benchmarks](https://contextstream.io/benchmarks).
58
+ ## What setup sends
338
59
 
339
- ### How is this different from other AI memory tools?
60
+ Setup prints this disclosure before changing editor configuration:
340
61
 
341
- Most tools store notes. ContextStream combines **memory** (decisions, lessons, plans, session transcripts), **semantic code search** over your indexed codebase, a **dependency/knowledge graph**, **grounded Q&A with citations**, and **team integrations** (GitHub, Slack, Notion) behind one MCP server — and proactively delivers the relevant slice on every message instead of waiting to be asked.
62
+ - Transcript exchange saving and hook transcript saving are enabled by default.
63
+ - A validated project can be indexed; matching source files are sent to the
64
+ user's ContextStream workspace.
65
+ - Selected supported editors receive managed lifecycle hooks.
66
+ - Local Git capture is enabled by default. It sends event type, commit SHA/time,
67
+ branch/ref names, aggregate line/file counts, a bounded redacted commit
68
+ subject, an opaque checkout ID, and a credential-free canonical remote.
69
+ - Absolute filesystem paths, commit bodies, and commit author name/email are not
70
+ sent by the VCS hook pipeline.
342
71
 
343
- ### Can I use it in CI or scripted environments?
72
+ Controls and deletion paths are documented in
73
+ [`docs/data-handling.md`](docs/data-handling.md). These defaults are preserved
74
+ for compatibility; review them before running `setup --yes` in automation.
344
75
 
345
- Yes: `setup --yes` runs the entire wizard with zero prompts (set `CONTEXTSTREAM_API_KEY` in the environment), `--editors=<list>` scopes it, and `contextstream-mcp doctor` gives scriptable ✓/✗ diagnostics.
76
+ ## Build
346
77
 
347
- ### Do I have to wait for indexing?
78
+ The workspace requires the Rust toolchain pinned in `rust-toolchain.toml`.
348
79
 
349
- No. Project indexing runs in the background — keyword search works immediately, and semantic results fill in as the index builds. Check progress anytime with `contextstream-mcp doctor`.
80
+ ```bash
81
+ cargo build --locked -p mcp-server --bin contextstream-mcp
82
+ cargo test --locked --workspace
83
+ cargo build --locked --release -p mcp-server --bin contextstream-mcp \
84
+ --features remote-acceleration
85
+ ```
350
86
 
351
- ### How do I uninstall or disable it?
87
+ The public workspace contains seven crates:
352
88
 
353
- Remove the `contextstream` entry from your editor's MCP config, and set `CONTEXTSTREAM_HOOK_ENABLED=false` (or re-run setup) to disable hooks. `project(action="forget_local")` unbinds a folder locally without touching server-side data.
89
+ - `mcp-server`
90
+ - `mcp-tools`
91
+ - `mcp-client`
92
+ - `mcp-session`
93
+ - `mcp-types`
94
+ - `mcp-model-registry`
95
+ - `mcp-acceleration-products`
354
96
 
355
- ---
97
+ `mcp-acceleration-products` is MongoDB-free. Premium provider implementation,
98
+ production deployment configuration, credentials, and private operator material
99
+ are not part of this repository. Compatibility traits remain no-op in public
100
+ builds so the core protocol surface stays stable.
356
101
 
357
- ## Troubleshooting
102
+ ## npm launcher behavior
358
103
 
359
- - **Start with `contextstream-mcp doctor`** — it checks auth, API reachability, folder scope, index health, rule files, and hooks, with a fix hint per failure.
360
- - Remove duplicate ContextStream entries across Workspace/User config scopes.
361
- - Check `CONTEXTSTREAM_API_URL` and `CONTEXTSTREAM_API_KEY` are set; remove stale version pins like `@contextstream/mcp-server@0.3.xx`.
362
- - Restart your editor after config changes.
363
- - **Hosted HTTP OAuth:** the remote transport's OAuth flow routes through `vscode.dev`; where that's blocked (corporate networks), use stdio with an API key instead.
364
- - **SDK compatibility:** `@modelcontextprotocol/sdk` 1.28.0+ introduces breaking changes; this package pins `>=1.25.1 <1.28.0`. If you see Zod schema errors on startup, check your SDK resolution.
104
+ The dependency-free Node 20 launcher:
365
105
 
366
- ---
106
+ - selects the package-version/platform artifact;
107
+ - downloads only from `mcp/v<exact-version>/`;
108
+ - verifies `version.json`, `checksums.txt`, and the binary SHA-256;
109
+ - populates the cache under an atomic lock and re-verifies cached bytes;
110
+ - supports `CONTEXTSTREAM_MCP_OFFLINE=1` after a verified first run;
111
+ - executes the cached binary by absolute path, ignoring PATH-shadowing copies;
112
+ - sets `CONTEXTSTREAM_DISABLE_SELF_UPDATE=1`, so the Rust process cannot mutate
113
+ npm-managed cache state.
367
114
 
368
- ## Links
115
+ For test mirrors only, the launcher recognizes
116
+ `CONTEXTSTREAM_MCP_RELEASE_BASE_URL` together with
117
+ `CONTEXTSTREAM_MCP_TEST_ALLOW_HTTP=1`. Production release URLs must use HTTPS.
369
118
 
370
- **Website:** https://contextstream.io • **Docs:** https://contextstream.io/docs • **Changelog:** [CHANGELOG.md](CHANGELOG.md)
119
+ ## Contributing and security
371
120
 
372
- ---
121
+ See [CONTRIBUTING.md](CONTRIBUTING.md), [SECURITY.md](SECURITY.md), and
122
+ [GOVERNANCE.md](GOVERNANCE.md). By contributing, you certify the Developer
123
+ Certificate of Origin for your commits (`git commit -s`).
373
124
 
374
- <p align="center">
375
- <strong>Stop teaching your AI the same things over and over.</strong><br/>
376
- <sub>ContextStream makes it brilliant from the first message.</sub>
377
- </p>
125
+ The code in this repository is MIT licensed. ContextStream trademarks and the
126
+ hosted backend are addressed in [NOTICE](NOTICE).
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env node
2
+ import { run } from "../launcher.mjs";
3
+
4
+ try {
5
+ await run({ mode: "hook" });
6
+ } catch (error) {
7
+ console.error(`ContextStream launcher: ${error?.message ?? error}`);
8
+ process.exitCode = 1;
9
+ }
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env node
2
+ import { run } from "../launcher.mjs";
3
+
4
+ try {
5
+ await run({ mode: "server" });
6
+ } catch (error) {
7
+ console.error(`ContextStream launcher: ${error?.message ?? error}`);
8
+ process.exitCode = 1;
9
+ }
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env node
2
+ import { run } from "../launcher.mjs";
3
+
4
+ try {
5
+ await run({ mode: "server" });
6
+ } catch (error) {
7
+ console.error(`ContextStream launcher: ${error?.message ?? error}`);
8
+ process.exitCode = 1;
9
+ }