diff --git a/src/content/docs/getting-started/index.mdx b/src/content/docs/getting-started/index.mdx index 23e2919..ec6c6fb 100644 --- a/src/content/docs/getting-started/index.mdx +++ b/src/content/docs/getting-started/index.mdx @@ -5,7 +5,7 @@ sidebar: order: 0 --- -import { Card, CardGrid, Aside, LinkCard } from '@astrojs/starlight/components'; +import { Card, CardGrid, Aside, LinkCard, Tabs, TabItem } from '@astrojs/starlight/components'; Before you start, you need three things: a dish, a way to talk to it, and the software to drive it. This page covers all three. @@ -82,24 +82,69 @@ RS-485 half-duplex shares one differential pair for both transmit and receive. R ### Installing the software -Clone the repository and install both packages: +All three packages are on [PyPI](https://pypi.org/) — install with `uvx` (no clone needed) or from source. -```bash -git clone https://github.com/your-org/winegard-travler.git -cd winegard-travler -uv sync -``` + + + Run any tool directly — `uvx` creates a temporary environment, installs dependencies, and cleans up after: -This installs two CLI tools: + ```bash + # Terminal UI (includes the core library automatically) + uvx birdcage-tui --demo + + # Core CLI tools + uvx winegard-birdcage --help + + # MCP server (for Claude Code / AI-assisted control) + uvx mcbirdcage + ``` + + For the camera overlay (F6) with JPEG annotation and FITS export: + + ```bash + uvx --with 'birdcage-tui[camera]' birdcage-tui --demo + ``` + + + Install persistently into a virtual environment: + + ```bash + pip install winegard-birdcage # Core library + CLI tools + pip install birdcage-tui # Terminal UI + pip install mcbirdcage # MCP server + ``` + + + Clone the repository for development: + + ```bash + git clone https://git.supported.systems/warehack.ing/birdcage.git + cd birdcage + uv sync # Core library + CLI tools + cd tui && uv sync # Terminal UI + cd ../mcp && uv sync # MCP server + ``` + + + +This gives you three CLI tools: - **`birdcage`** -- antenna control, rotctld server, position queries, manual moves - **`console-probe`** -- firmware exploration and command discovery tool +- **`birdcage-tui`** -- six-screen terminal interface (demo mode works without hardware) + +| PyPI Package | What it is | +|-------------|------------| +| [`winegard-birdcage`](https://pypi.org/project/winegard-birdcage/) | Core library: serial protocol, antenna control, rotctld server, CLI | +| [`birdcage-tui`](https://pypi.org/project/birdcage-tui/) | Textual TUI with 6 screens, satellite tracking, camera capture | +| [`mcbirdcage`](https://pypi.org/project/mcbirdcage/) | MCP server: 35 tools for AI-assisted dish control | Verify the installation: ```bash -uv run birdcage --help -uv run console-probe --help +birdcage --help +console-probe --help +birdcage-tui --demo ``` ## Next steps diff --git a/src/content/docs/guides/tui.mdx b/src/content/docs/guides/tui.mdx index 877d2e1..276a9bf 100644 --- a/src/content/docs/guides/tui.mdx +++ b/src/content/docs/guides/tui.mdx @@ -27,26 +27,44 @@ Birdcage is what happens when you take all of that and give it a proper interfac ## Quick Start - -1. **Clone and install** (from the `tui/` directory inside the Birdcage repo): + + + ```bash + # Demo mode — no hardware, no clone, no install + uvx birdcage-tui --demo - ```bash - cd tui/ - uv sync - ``` + # With camera capture support (Pillow + astropy) + uvx --with 'birdcage-tui[camera]' birdcage-tui --demo -2. **Run in demo mode** (no hardware required): + # Connect to a real dish + uvx birdcage-tui --port /dev/ttyUSB0 --firmware g2 + ``` + + + ```bash + # Clone and install + cd tui/ + uv sync - ```bash - uv run birdcage-tui --demo - ``` + # Demo mode + uv run birdcage-tui --demo -3. **Connect to a real dish:** + # Connect to a real dish + uv run birdcage-tui --port /dev/ttyUSB0 --firmware g2 + ``` + + - ```bash - uv run birdcage-tui --port /dev/ttyUSB0 --firmware g2 - ``` - +### Extras + +The base install includes everything except image processing. Optional extras add camera capabilities: + +| Extra | Install | What it adds | +|-------|---------|-------------| +| *(base)* | `uvx birdcage-tui` | Full TUI, all 6 screens, demo mode | +| `camera` | `uvx --with 'birdcage-tui[camera]' birdcage-tui` | JPEG annotation (Pillow) + FITS export for radio astronomy (astropy) | + +The camera screen (F6) works without the `camera` extra — it falls back to minimal JPEG output. The extra adds annotated frames and FITS file export for integration with DS9, CASA, and other astronomy tools. - -1. **Clone and install** (from the `tui/` directory): - - ```bash - cd tui/ - uv sync - ``` - -2. **Run in demo mode:** - - ```bash - uv run birdcage-tui --demo - ``` - + + + ```bash + uvx birdcage-tui --demo + ``` + + + ```bash + cd tui/ + uv sync + uv run birdcage-tui --demo + ``` + + ## Why "Birdcage"?