Metadata-Version: 2.4
Name: nbsvision
Version: 0.23.0
Summary: One CLI. Every Sense. Zero Tokens.
License: MIT
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pyyaml
Requires-Dist: playwright
Requires-Dist: pillow
Provides-Extra: crypto
Requires-Dist: pycryptodome; extra == "crypto"
Provides-Extra: cdp
Requires-Dist: websocket-client; extra == "cdp"
Provides-Extra: diff
Requires-Dist: deepdiff; extra == "diff"
Provides-Extra: windows
Requires-Dist: pywin32; extra == "windows"
Requires-Dist: pynput; extra == "windows"
Provides-Extra: capture
Requires-Dist: numpy; extra == "capture"
Requires-Dist: mss; extra == "capture"
Requires-Dist: psutil; extra == "capture"
Requires-Dist: uiautomation; extra == "capture"
Provides-Extra: all
Requires-Dist: nbsvision[capture,cdp,crypto,diff,windows]; extra == "all"
Dynamic: license-file

# Synesthesia

**DOM/code/pixel → compact tree.** One CLI that turns web pages, code, and screenshots into small searchable trees.

```bash
pip install nbsvision
syn --help
syn dom --url https://github.com --mini
```

[🇬🇧 English](README.md) | [🇷🇺 Русский](README.ru.md) | [🇩🇪 Deutsch](README.de.md) | [🤖 AI](README.ai.md)

Requires Python 3.11+. From source: `pip install git+https://github.com/freundapps/NBSvision.git`

![Synesthesia](synmdlogo.jpg)

> **36 tools · two-circuit @✓ · 0⏋ LLM** — «One CLI. Every Sense. Zero Tokens.»

---

## What is this?

NBSvision is a command-line toolkit (`syn`) that compresses messy inputs — live web pages, PDFs, spreadsheets, screenshots — into compact structural trees. Instead of feeding raw HTML or huge JSON to an LLM, you get a small tree you can search locally with `syn find`, using zero tokens for navigation and inspection.

## Why would I use it?

### 1. Understand any web page in the terminal

Turn a live URL into a readable layout tree:

```bash
syn dom --url https://github.com --mini
syn dom --url https://github.com --json > tree.json
```

### 2. Find elements without an LLM

Search a saved tree by tag, name, or class — no API calls:

```bash
syn find tree.json --tag button
syn find tree.json --name "Sign in"
```

### 3. Turn files or screenshots into structure

Decode office documents or capture the screen:

```bash
syn decode data.xlsx --mini
syn pixel --screenshot --to-nbs
```

## What's next?

Run interactive onboarding — it asks what you have (HTML, PDF, screenshot, code) and suggests the right commands:

```bash
syn doctor
```

For deeper topics: `syn explain format`, `syn explain verify`, or `syn --help`.

## Terminology

ULTRA, NBSX, codon, and other format names are documented in [docs/glossary.md](docs/glossary.md). You do not need them for the quickstart above.

---

## More commands

| Task | Command |
|------|---------|
| Verify a spec | `syn verify < spec/two-circuit-verify.nbs` |
| Scrape page text | `syn grab --url URL --text` |
| Run a workflow | `syn run recipes/elif-to-dict-dispatch.nbsx` |
| List all tools | `syn --help` |

Full signatures and agent-oriented docs: [README.ai.md](README.ai.md) · machine-readable: [README.ai.ultra](README.ai.ultra)

---

## Real-world examples

| Site | Command |
|------|---------|
| github.com | `syn dom --url https://github.com --mini` |
| google.com | `syn dom --url https://google.com --mini` |
| apple.com | `syn dom --url https://apple.com --mini` |

---

## Project layout

```
NBSvision/
├── README.md              # This file — for humans
├── README.ai.ultra        # Compact tree — for LLM agents
├── recipes/               # 8 NBSX refactoring templates
├── spec/                  # NBS spec, verification fixtures
└── scripts/               # Python modules (syn router)
```

---

## License

MIT — use freely, attribution appreciated.

> ⭐ If this saved you time, [star the repo](https://github.com/freundapps/NBSvision).
