docs: clarify the headroom CLI is pip-only; npm headroom-ai is the TS SDK (#1585)

## Description

`npm install headroom-ai` doesn't give you the `headroom` CLI — it's the
TypeScript SDK (a library, no `bin`). The README's "Get started" and
"Install" blocks listed the npm install next to the pip install and then
immediately ran `headroom wrap claude`, so Node/Windows users reasonably
expected npm to provide the CLI and hit `'headroom' is not recognized`.
This spells out the split: CLI = pip, SDK = npm.

The hnswlib/MSVC half of the report was already fixed on main in #1499
(moved hnswlib to the optional `[vector]` extra), so this PR only
addresses the npm-CLI confusion.

Closes #1470

## Type of Change

- [x] Documentation update

## Changes Made

- README "Get started" + "Install" blocks: annotate that pip ships the
`headroom` CLI and npm `headroom-ai` is the TS SDK with no CLI; note the
`headroom` commands come from the pip install.
- `docs/content/docs/installation.mdx`: state the TS SDK does not
install the `headroom` CLI.

## Testing

- [x] Manual testing performed

### Test Output

```text
Docs-only change. Verified against the source of truth:
- pyproject.toml: [project.scripts] headroom = "headroom.cli:main"  (CLI entry point is Python-only)
- sdk/typescript/package.json: name "headroom-ai", no "bin" field  (SDK, no CLI)
```

## Real Behavior Proof

- Environment: repo main @ HEAD
- Exact command / steps: read `[project.scripts]` in pyproject.toml and
the `bin` field in sdk/typescript/package.json
- Observed result: `headroom` console script is defined only by the
Python package; the npm package has no `bin`, so `npm install
headroom-ai` provides no `headroom` command — matching the issue.
- Not tested: n/a (no code paths changed)

## Review Readiness

- [x] I have performed a self-review
- [x] This PR is ready for human review

## Checklist

- [x] My code follows the project's style guidelines
- [x] I have performed a self-review of my code
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
This commit is contained in:
Manmit Singh 2026-06-30 21:17:47 +05:30 committed by GitHub
parent c19347c310
commit abab3ccbfc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 8 additions and 6 deletions

View file

@ -87,10 +87,10 @@ Headroom compresses everything your AI agent reads — tool outputs, logs, RAG c
```bash
# 1 — Install
pip install "headroom-ai[all]" # Python
npm install headroom-ai # Node / TypeScript
pip install "headroom-ai[all]" # Python — ships the `headroom` CLI
npm install headroom-ai # TypeScript SDK only — no `headroom` CLI
# 2 — Pick your mode
# 2 — Pick your mode (the `headroom` commands below come from the pip install)
headroom wrap claude # wrap a coding agent
headroom proxy --port 8787 # drop-in proxy, zero code changes
# or: from headroom import compress # inline library
@ -101,6 +101,8 @@ headroom perf
headroom dashboard # live savings dashboard (proxy must be running)
```
The `headroom` CLI ships **only** via the PyPI package. The npm `headroom-ai` is the TypeScript SDK — a library you import (`import { compress } from 'headroom-ai'`), not a CLI, so it provides no `headroom` command.
Granular extras: `[proxy]`, `[mcp]`, `[ml]`, `[code]`, `[memory]`, `[vector]` (optional HNSW backend — needs a C++ toolchain, not in `[all]`), `[relevance]`, `[image]`, `[agno]`, `[langchain]`, `[evals]`, `[pytorch-mps]` (Apple-GPU memory-embedder offload — set `HEADROOM_EMBEDDER_RUNTIME=pytorch_mps`). Requires **Python 3.10+**.
## Proof
@ -319,8 +321,8 @@ Everything in this repo stays open source (Apache 2.0). The managed offering is
## Install
```bash
pip install "headroom-ai[all]" # Python, everything
npm install headroom-ai # TypeScript / Node
pip install "headroom-ai[all]" # Python, everything — includes the `headroom` CLI
npm install headroom-ai # TypeScript SDK (library only — no `headroom` CLI)
docker pull ghcr.io/chopratejas/headroom:latest
```

View file

@ -127,7 +127,7 @@ python -c "import headroom; print(headroom.__version__)"
## TypeScript / Node.js
The TypeScript SDK is published as `headroom-ai` on npm. It requires **Node.js 18+**.
The TypeScript SDK is published as `headroom-ai` on npm. It requires **Node.js 18+**. It is a library you import — it does **not** install the `headroom` CLI (`headroom wrap`, `headroom proxy`, etc.), which ships only with the Python package above.
```bash
npm install headroom-ai