Files
ops-bridge/.claude/rules/stack-and-commands.md
tegwick 101244bd1d refactor(docs): split CLAUDE.md into scoped rules files under .claude/rules/
Each concern (identity, session protocol, workplan convention, stack,
architecture, repo boundary) now lives in its own file with a single
responsibility. CLAUDE.md becomes a thin @-import integrator. Removes
Ralph Loop duplication — global ~/.claude/CLAUDE.md remains authoritative.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-16 18:11:52 +01:00

1.2 KiB

What this repo builds

A CLI tool (bridge) that manages named SSH reverse tunnels:

bridge up [TUNNEL]      # start tunnel(s)
bridge down [TUNNEL]    # stop tunnel(s)
bridge restart [TUNNEL] # restart tunnel(s)
bridge status           # show all tunnels: state, uptime, last health check
bridge logs [TUNNEL]    # tail reconnect log

Config file: ~/.config/bridge/tunnels.yaml

Each tunnel:

  • Named (e.g. state-hub-coulombcore)
  • Reverse SSH port-forward: ssh -R remote_port:127.0.0.1:local_port host
  • Auto-reconnects on drop (backoff loop)
  • Optional HTTP health check to confirm the forwarded service is reachable

PRD: workplans/BRIDGE-WP-0001-initial-implementation.md

Stack

  • Language: Python 3.11+
  • CLI framework: Typer
  • Dependencies: typer, pyyaml, httpx
  • Packaging: uv tool install (single command install, no venv activation)
  • No system daemons — process management is internal, PID tracked in ~/.local/state/bridge/

Dev Commands

# Install locally for development
uv tool install -e .

# Run tests
uv run pytest

# Run a single test
uv run pytest tests/test_tunnel.py::test_name -v

# Lint
uv run ruff check .