# tope — monitor de límites de Claude + Codex

Un monitor de terminal estilo **btop/htop**, a pantalla completa, que muestra cuánto
llevás usado de tus límites de **Claude** (Claude Code) y **Codex** (Codex CLI): la
ventana de 5 horas, la semanal, cuándo se resetean, etc.

Es **un solo archivo de Python**, sin librerías que instalar. Lee **tus propias
credenciales locales** — no manda nada a ningún lado ni comparte tu uso con nadie.

---

## Requisitos (macOS)

1. **Python 3.8 o más nuevo.** Fijate si ya lo tenés:
   ```sh
   python3 --version
   ```
   Si dice "command not found", instalalo con [Homebrew](https://brew.sh):
   `brew install python`  (o instalá las "Command Line Tools" de Xcode).

2. **Las apps cuyos límites quieras ver, instaladas y logueadas con tu cuenta:**
   - Panel **Claude** → **Claude Code** logueado (suscripción Max/Pro).
   - Panel **Codex** → **Codex CLI** logueado (suscripción ChatGPT).

   No hace falta tener las dos: si sólo tenés una, el otro panel queda en gris con
   un aviso y el resto funciona igual.

> Una terminal moderna (la **Terminal.app** de macOS o **iTerm2**) alcanza. Se ve
> mejor con colores "truecolor"; si algo se ve raro, probá `./tope --256`.

---

## Instalación

Copiá el archivo `tope` a tu compu y, en la Terminal, desde la carpeta donde lo dejaste:

```sh
chmod +x tope            # darle permiso de ejecución (una sola vez)
./tope                   # correrlo
```

Para poder ejecutarlo desde cualquier lado escribiendo sólo `tope`:

```sh
mkdir -p ~/bin && mv tope ~/bin/
echo 'export PATH="$HOME/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
tope
```

---

## Uso

Corré `tope` y ocupa toda la ventana. Teclas:

| tecla | acción |
|-------|--------|
| `q`   | salir |
| `r`   | actualizar ahora |
| `p`   | pausar / reanudar |
| `?`   | ayuda |

Se adapta si agrandás/achicás la ventana. Queda muy bien en una pestaña dedicada
de **tmux** si lo usás (`tmux new-window -n tope tope`), pero no es obligatorio.

**Flags útiles:**
- `tope --256` → si los colores se ven mal.
- `tope --ascii` → modo sin caracteres especiales (terminales viejas).
- `tope --once` → imprime los números una vez y sale (para scripts / barras de estado).
- Cadencia de refresco: por defecto **Codex cada 7 s** (es local, gratis) y **Claude cada 45 s**
  (pega a un servidor de Anthropic que limita las consultas seguidas). Se ajustan con
  `--codex-interval N` / `--claude-interval N`, o ambos a la vez con `--interval N`.

> Si el panel de Claude dice "sin red · 429", es que se consultó demasiado seguido:
> `tope` se autolimita y se recupera solo en ~1 minuto. No bajes `--claude-interval` de ~30.

---

## Si el panel de Claude dice "token vencido" o "sin red"

En **macOS**, Claude Code suele guardar el login en el **Keychain** (Llavero).
`tope` lo lee automáticamente, pero **la primera vez** macOS puede mostrar un cartel
pidiendo permiso para que el comando `security` acceda al Llavero:
**hacé clic en "Permitir siempre"** (Always Allow).

Si igual no anda, abrí Claude Code una vez (`claude`), asegurate de estar logueada,
y volvé a probar. Para Codex es lo mismo: corré `codex` una vez y logueate.

---

## Privacidad

`tope` sólo lee tus credenciales locales (el Keychain para Claude, `~/.codex/` para
Codex) y consulta **tu** uso contra los servidores de Anthropic / OpenAI, igual que
hacen Claude Code y Codex. No guarda ni envía nada a terceros.

---

*Hecho con cariño 🩵 — si algo falla, mandale captura a quien te pasó esto.*
