Newsletter para devsEntra

30 proyectos open source de Peter Steinberger @steipete (el creador de OpenClaw)

Peter Steinberger es uno de esos developers que no necesitan presentación en la comunidad Apple, pero cuyo trabajo reciente va mucho más allá de iOS y macOS. Fundador de PSPDFKit (ahora Nutrient), una de las librerías de PDF más usadas del ecosistema móvil, Peter lleva años demostrando que construir herramientas útiles es su forma natural de entender el software.

Lo que ha hecho en los últimos meses es otra historia.

Ha publicado más de 30 repositorios open source en GitHub. Herramientas CLI, servidores MCP, SDKs en Swift, utilidades en Go, automatizaciones para macOS… Un arsenal de “pequeñas utilidades” que, juntas, dibujan una forma muy concreta de trabajar: todo desde la terminal, todo scriptable, todo al servicio de agentes de IA y flujos de productividad.

Si quieres conocer más sobre su trayectoria, te recomiendo leer ¿Quién es Peter Steinberger?.

Este post es un catálogo práctico. Vas a encontrar cada proyecto con su descripción, cómo empezar y casos de uso reales. No es una lista para guardar en favoritos y olvidar. Es una referencia para cuando necesites resolver algo concreto y pienses: “¿no había una herramienta para esto?”

La hay. Y probablemente la ha escrito Peter.

🔧 Lo interesante de esta colección no es la cantidad. Es la filosofía: herramientas pequeñas, con un propósito claro, que se pueden combinar entre sí. Unix philosophy aplicada al mundo de los agentes de IA.

Openclaw, el agente personal que ejecuta acciones reales

🔗 openclaw/openclaw
⭐️ 197.201 | 🍴 34.325 forks | Lenguaje: TypeScript | Licencia: MIT

Un proyecto orientado a ejecutar acciones reales, no solo conversar. Integra herramientas, flujos y automatización para que un agente pueda operar sobre tareas del mundo dev: comandos, procesos, recursos. La idea es pasar del “te lo explico” al “te lo hago” y dejarlo preparado para integrarse en pipelines o flujos de trabajo repetibles.

Cómo empezar:
Revisa el README del repo y arranca con el método recomendado (releases/installer o build desde fuente).

Casos de uso:

  • Asistente de operaciones dev: ejecutar tareas repetitivas (limpieza, formateo, scaffolding, “hazme el release”) con un agente que ya conoce el flujo.
  • Automatización guiada: convertir playbooks en acciones (checklists → comandos/herramientas) para que el agente lo haga sin inventárselo.
  • Orquestación de herramientas: encadenar herramientas (CLI + APIs + scripts) con un punto único de control y trazabilidad.

Las increíbles lecciones sobre la programación con IA del creador de OpenClaw (antes Clawdbot)

CodexBar, monitor de tokens y límites en la barra de menú

🔗 steipete/CodexBar
⭐️ 5.859 | 🍴 375 forks | Lenguaje: Swift | Licencia: MIT

App de barra de menú para macOS enfocada a tener a la vista los límites y consumo de tokens cuando trabajas con agentes como OpenAI Codex o Claude Code. Sin necesidad de hacer login. El objetivo: que no te reviente el flujo por no ver venir el corte y puedas ajustar antes de quedarte sin contexto.

Cómo empezar:
Instala desde Releases o compila con Xcode y ejecútalo como app de menubar.

Casos de uso:

  • Evitar cortes por sorpresa: ver señales de “te queda poco” y adaptar prompts o dividir tareas.
  • Trabajo con varios agentes: controlar sesiones y ventanas sin abrir dashboards externos.
  • Rutina de productividad: tener métricas visibles para decidir cuándo reiniciar conversación, resumir o hacer snapshot.

Vibetunnel, terminal en el navegador para controlar agentes desde cualquier sitio

🔗 amantus-ai/vibetunnel
⭐️ 3.933 | 🍴 267 forks | Lenguaje: TypeScript | Licencia: MIT

Convierte cualquier navegador en tu terminal “de viaje”: expone una experiencia tipo terminal vía web para conectarte y ejecutar comandos. Está pensado para controlar agentes cuando no estás en tu máquina (móvil, tablet, hotel, tren, lo que toque). Útil cuando necesitas operar sin abrir SSH “a pelo” o cuando quieres una capa más cómoda y portable.

Cómo empezar:
Sigue la sección de instalación del README del repo, que incluye arranque local y cómo exponerlo de forma segura.

Casos de uso:

  • Operar tu entorno desde el móvil: lanzar scripts, revisar logs y empujar cambios mínimos sin sentarte en el escritorio.
  • Control remoto de agentes: iniciar o parar agentes, revisar su output y darles órdenes cortas con baja fricción.
  • Terminal compartible para soporte: abrir una sesión controlada para diagnosticar algo (con cuidado y permisos) sin regalar tu shell completa.

🚀 Si trabajas con agentes de IA y necesitas operar desde el móvil, Vibetunnel es la clase de herramienta que parece un capricho hasta que la necesitas por primera vez. Después no la sueltas.

gogcli, Google Suite en tu terminal

🔗 steipete/gogcli
⭐️ 2.970 | 🍴 258 forks | Lenguaje: Go | Licencia: NOASSERTION

CLI en Go para operar Gmail, Calendar, Drive, Contacts, Tasks, Sheets, Docs, Slides y People desde terminal. Incluye soporte multi-cuenta, salida parseable en JSON, scopes con privilegios mínimos y un quick start guiado para credenciales OAuth.

Cómo empezar:

# Instala con Homebrew
brew install steipete/tap/gogcli
# Explora las opciones
gog --help

Casos de uso:

  • Automatización personal: scripts que leen correo o calendario y generan resúmenes o recordatorios en tu tooling.
  • Operaciones de equipo: consultar calendarios, buscar documentos o listar recursos sin abrir la suite web.
  • Agentes con permisos acotados: dar acceso de solo lectura o scopes mínimos para tareas concretas (por ejemplo, solo calendar readonly).

Aquí hay algo que podría hacer cambiar tu futuro.

Usamos cookies de terceros para mostrar este iframe (que no es de publicidad ;).

Leer más

Summarize, apunta a una URL o archivo y obtén lo esencial

🔗 steipete/summarize
⭐️ 2.708 | 🍴 171 forks | Lenguaje: TypeScript | Licencia: NOASSERTION

CLI para extraer lo esencial de casi cualquier cosa que le señales: una URL, un documento, un fichero local. Disponible también como extensión de Chrome. Orientado a lectura rápida, extracción de ideas y a preparar inputs compactos para otros flujos.

Cómo empezar:
Instala la CLI según el README y ejecuta el comando contra una URL o ruta local.

Casos de uso:

  • Preproceso para prompts: resumir un artículo o un README largo y dárselo a un agente sin meter ruido.
  • Triage de lectura: decidir si algo merece tu tiempo (y cuánto) con un resumen fiable.
  • Documentación interna: generar resúmenes consistentes para wikis y notas de equipo.

Peekaboo, capturas y automatización GUI en macOS

🔗 steipete/Peekaboo
⭐️ 2.112 | 🍴 132 forks | Lenguaje: Swift | Licencia: MIT

Herramienta enfocada a screenshots rápidas y automatización de interfaz en macOS, con interfaz CLI y compatibilidad para integrarse con agentes (MCP + CLI). Incluye visual question answering a través de modelos de IA locales o remotos. Perfecta para flujos donde un agente necesita “ver” y actuar sobre la UI.

Cómo empezar:
Instala la CLI desde releases (o vía Homebrew si está disponible) y prueba el comando de captura indicado en el README.

Casos de uso:

  • Testing visual ligero: capturar pantallas antes y después de una acción para validar UI sin montar un framework entero.
  • Automatizar tareas de escritorio: clicks repetitivos, abrir apps, navegar menús, generar evidencias.
  • Agentes con ojos: dar a un agente la capacidad de capturar estado visual y actuar con pasos reproducibles.

mcporter, runtime y CLI para llamar MCPs desde TypeScript

🔗 steipete/mcporter
⭐️ 1.820 | 🍴 130 forks | Lenguaje: TypeScript | Licencia: NOASSERTION

Toolkit muy completo: descubre MCP servers ya configurados (Cursor, Claude, Codex, etc.), permite llamarlos desde CLI, exponerlos como proxy tipado en TypeScript, y hasta generar CLIs de un servidor con un comando. Tiene ayudas de ergonomía como autocorrección de tool names, helpers de resultado, soporte OAuth/stdio/HTTP y utilidades para gestionar configuración.

Cómo empezar:

# Sin instalación, directamente con npx
npx mcporter list
npx mcporter call linear.create_comment issueId:ENG-123 body:'Looks good!'

Casos de uso:

  • MCP en tests: emitir clientes TypeScript tipados (emit-ts) para llamar herramientas MCP desde suites de test o scripts de verificación.
  • Automatizaciones compartibles: generar un CLI específico para un MCP (generate-cli) y dárselo a tu equipo para tareas repetibles.
  • Orquestación multi-herramienta: un único runtime TS que mezcla herramientas de varios MCPs y compone flujos complejos.

💡 mcporter es una de esas herramientas que resuelve un problema que no sabías que tenías. Cuando trabajas con varios servidores MCP, tener un punto único para descubrirlos, llamarlos y generar clientes tipados cambia las reglas del juego.

Claude Code MCP, un agente dentro de tu agente

🔗 steipete/claude-code-mcp
⭐️ 1.099 | 🍴 132 forks | Lenguaje: JavaScript | Licencia: MIT

Un servidor MCP que expone Claude Code como herramienta “one-shot”: lo llamas, hace el trabajo y vuelve. Ideal para delegar subtareas a Claude Code desde otro agente o herramienta. Requiere Node v20+ y tener el Claude CLI instalado.

Cómo empezar:

{
  "mcpServers": {
    "claude-code-mcp": {
      "command": "npx",
      "args": ["-y", "@steipete/claude-code-mcp@latest"],
      "env": { "CLAUDE_CLI_NAME": "claude-custom" }
    }
  }
}

Casos de uso:

  • Meta-orquestación: tu agente principal delega una tarea puntual a Claude Code (“revisa estos cambios”, “escribe tests”, “refactoriza X”) y recoge el resultado.
  • Model-vs-model checks: usar Claude Code como “segunda opinión” automática antes de un PR.
  • Desacoplar herramientas: unificar un flujo donde diferentes agentes usan MCP, pero la ejecución concreta la hace Claude Code.

RepoBar, CI, PRs y releases a golpe de vista

🔗 steipete/RepoBar
⭐️ 985 | 🍴 55 forks | Lenguaje: Swift | Licencia: MIT

App de barra de menú para macOS que muestra el estado de tus repos de GitHub (CI, Issues, Pull Requests, Latest Release) sin vivir dentro del navegador. La gracia: visibilidad rápida, menos contexto perdido y reacción más rápida cuando algo falla.

Cómo empezar:
Instala la app y conecta tus repos según el README (token, credenciales, selección de repos).

Casos de uso:

  • Vigilancia de CI: detectar fallos de pipeline al momento y reaccionar antes de que se acumule deuda.
  • Gestión de PRs: saber qué está pendiente y qué revisiones son necesarias sin abrir GitHub.
  • Releases sin drama: tener a la vista tags y releases con su estado.

macOS Automator MCP, automatización real de macOS vía AppleScript y JXA

🔗 steipete/macos-automator-mcp
⭐️ 645 | 🍴 47 forks | Lenguaje: TypeScript | Licencia: MIT

Este servidor MCP convierte a tu asistente en “algo que hace cosas” en macOS: ejecuta AppleScript y JXA, y viene con una base de conocimiento con cientos de recetas de automatización listas. La app que ejecuta el server necesita permisos de Automation/Accessibility para poder interactuar con otras apps.

Cómo empezar:

{
  "mcpServers": {
    "macos_automator": {
      "command": "npx",
      "args": ["-y", "@steipete/macos-automator-mcp@latest"]
    }
  }
}

Casos de uso:

  • Automatizar flujos de apps “humanos”: abrir o cambiar ajustes, mover ficheros, manipular Safari, Finder o Mail desde un agente.
  • Operaciones repetitivas con recetas: ejecutar playbooks prehechos sin reescribir scripts cada vez.
  • Integración en pipelines agentic: tu LLM propone o ajusta un AppleScript/JXA y el MCP lo ejecuta, cerrando el bucle plan → acción → verificación.

Trimmy, pega comandos multi-línea y que funcionen a la primera

🔗 steipete/Trimmy
⭐️ 420 | 🍴 23 forks | Lenguaje: Swift | Licencia: NOASSERTION

Utilidad para macOS que “aplana” snippets multi-línea (los de README, Slack, Notion, posts…) para que al pegarlos se ejecuten como esperas. Incluye limpieza de prompts tipo $ o # y opciones contextuales para terminales.

Cómo empezar:

brew install --cask steipete/tap/trimmy

Casos de uso:

  • Copiar y pegar comandos de documentación sin sorpresas: convierte bloques con saltos raros en una línea ejecutable.
  • Limpieza de prompts: quita adornos tipo $ o # cuando toca y conserva headings cuando no.
  • Flujos con agentes: si tu agente te suelta comandos multi-línea, Trimmy reduce la fricción para ejecutar lo que te propone.

wacli, WhatsApp en tu terminal

🔗 steipete/wacli
⭐️ 399 | 🍴 64 forks | Lenguaje: Go | Licencia: NOASSERTION

CLI de WhatsApp montada sobre whatsmeow, enfocada en sincronización local del historial, captura continua, búsqueda offline rápida con SQLite FTS5, envío de mensajes y gestión de contactos y grupos. Herramienta de terceros, no afiliada a WhatsApp.

Cómo empezar:

# Instala y autentica con QR
brew install steipete/tap/wacli
wacli auth

Casos de uso:

  • Búsqueda offline brutal: indexar tu historial y hacer consultas rápidas sin depender de la UI de WhatsApp.
  • Workflows de soporte: localizar mensajes o archivos por texto y fecha, y exportar contexto cuando toca documentar.
  • Automatización controlada: enviar mensajes de sistema (notificaciones internas) desde scripts, manteniendo un store local.

📱 Si alguna vez has necesitado buscar “aquello que te mandaron por WhatsApp hace tres meses” y te has vuelto loco con el buscador de la app, wacli resuelve ese problema de raíz. Búsqueda local, rápida y sin depender de la nube.

poltergeist, hot reload universal y file watcher para cualquier lenguaje

🔗 steipete/poltergeist
⭐️ 302 | 🍴 16 forks | Lenguaje: TypeScript | Licencia: NOASSERTION

File watcher universal que autodetecta proyectos y reconstruye al cambiar ficheros. Funciona como una capa pnpm run dev pero para cualquier lenguaje o build system. Compatible con macOS, Linux y Windows, apoyándose en Watchman para el watching eficiente.

Cómo empezar:

npm install -g @steipete/poltergeist
poltergeist init
poltergeist haunt

Casos de uso:

  • Dev loop universal: unificar “watch + rebuild” en repos heterogéneos (Swift, Rust, Node, CMake…) sin reinventar scripts por proyecto.
  • Agentes que compilan sin romperte el ritmo: el agente modifica archivos y Poltergeist mantiene builds frescas en segundo plano para validar rápido.
  • Monorepos con prioridades: evitar builds inútiles y recompilar lo correcto primero cuando tocas zonas compartidas.

Tachikoma, SDK Swift para hablar con múltiples proveedores de IA

🔗 steipete/Tachikoma
⭐️ 212 | 🍴 19 forks | Lenguaje: Swift | Licencia: NOASSERTION

Un SDK en Swift con una interfaz unificada para generar texto con múltiples modelos y proveedores sin ir cambiando de librería por cada vendor. Una API, muchos modelos.

Cómo empezar:

// Añade la dependencia en Package.swift
.package(url: "https://github.com/steipete/Tachikoma.git", branch: "main"),
.product(name: "Tachikoma", package: "Tachikoma"),
import Tachikoma
// Genera texto con el proveedor que prefieras
let text = try await generate("Write a haiku about Swift.", using: .anthropic(.opus45))
print(text)

Casos de uso:

  • Apps Swift con IA sin vendor lock-in: cambiar de proveedor o modelo sin reescribir media app.
  • Prototipado rápido: comparar outputs de distintos modelos en el mismo flujo (misma API, distinta config).
  • Herramientas internas: CLIs o utilidades macOS en Swift que consumen modelos con una capa común.

AXorcist, automatización de UI macOS con Accessibility en Swift

🔗 steipete/AXorcist
⭐️ 174 | 🍴 14 forks | Lenguaje: Swift | Licencia: MIT

Wrapper en Swift para trabajar con la capa de Accessibility de macOS. Permite leer, inspeccionar e interactuar con la UI (clics, queries, etc.) con queries encadenables y fuzzy-matched. Incluye un CLI para ejecutar acciones desde terminal.

Cómo empezar:

# Compila el CLI
swift build -c release
cp .build/release/axorc /usr/local/bin/

Casos de uso:

  • GUI automation de verdad: scripts que encuentran elementos por heurística (apps legacy, flujos sin API) y actúan como un humano, pero sin café.
  • Testing y QA exploratorio: validar que una pantalla muestra lo esperado, que un botón está habilitado o que un flujo de onboarding es navegable.
  • Herramienta de apoyo para agentes: combinarlo con un agente que decide acciones y AXorcist ejecuta (click, type, inspect), cerrando el loop percepción → acción.

sag, el comando say de macOS pero con voz moderna

🔗 steipete/sag
⭐️ 169 | 🍴 29 forks | Lenguaje: Go | Licencia: MIT

CLI inspirada en say de macOS, pero orientada a voz moderna con TTS de ElevenLabs. Ideal para convertir texto en voz de forma rápida y scriptable.

Casos de uso:

  • Narración de resúmenes: convertir un digest diario (PRs, errores, notas) en audio y escucharlo sin leer.
  • Feedback audible para agentes: que un agente “cante” estados importantes (build roto, despliegue OK) en local.
  • Generación de audio para contenido: prototipar locuciones rápidas para vídeos o demos sin abrir un editor.

goplaces, cliente CLI moderno para Google Places

🔗 steipete/goplaces
⭐️ 126 | 🍴 16 forks | Lenguaje: Go | Licencia: MIT

CLI moderna en Go para Google Places: consultas de lugares, detalles, búsqueda y extracción de datos de interés. Ideal para prototipar integraciones sin montar SDKs pesados.

Casos de uso:

  • Prototipado de producto: obtener datos de lugares para MVPs (directorios, recomendaciones, mapas).
  • Enriquecimiento de datasets: completar direcciones, categorías y ratings desde scripts.
  • Agentes con “mapa”: permitir que un agente consulte lugares como herramienta con límites claros.

TauTUI, framework TUI en Swift

🔗 steipete/TauTUI
⭐️ 106 | 🍴 7 forks | Lenguaje: Swift | Licencia: MIT

Port a Swift de un framework TUI “simple pero potente”, pensado para montar interfaces de terminal sin pelearte con mil dependencias.

Cómo empezar:

// Añade como dependencia en Package.swift
.package(url: "https://github.com/steipete/TauTUI.git", branch: "main"),
.product(name: "TauTUI", package: "TauTUI"),

Casos de uso:

  • CLIs con UI: menús, listas, paneles y prompts interactivos para herramientas internas.
  • Dashboards locales: ver estado de procesos, colas, logs o métricas sin montar un frontend.
  • Herramientas para devs en Swift: si ya programas en Swift, te da una base para TUIs sin reinventar la rueda.

spogo, Spotify desde la terminal

🔗 steipete/spogo
⭐️ 102 | 🍴 10 forks | Lenguaje: Go | Licencia: MIT

CLI para controlar Spotify como si fuese una app de terminal, alimentada por cookies web. Orientado a reproducir y controlar música sin tocar el ratón.

Casos de uso:

  • Control sin cambio de contexto: cambiar música sin salir del editor ni de la terminal.
  • Automatización: scripts para playlists por hora o estado (focus, break, etc.).
  • Demos y streams: controlar música desde terminal mientras grabas o presentas.

🎧 Puede parecer un capricho, pero si vives en la terminal, no tener que sacar las manos del teclado para cambiar de canción es un ahorro de contexto que se nota. Pequeñas fricciones eliminadas, gran impacto acumulado.

brabble, daemon de voz con wake-word y hooks

🔗 steipete/brabble
⭐️ 92 | 🍴 13 forks | Lenguaje: Go | Licencia: NOASSERTION

Un daemon tipo “Hey, Computer” al estilo Star Trek: detección de palabra de activación, transcripción local y ejecución de hooks configurables. Enfocado a disparar automatizaciones sin depender de la nube para el núcleo del flujo.

Casos de uso:

  • Comandos por voz para dev: “compila”, “lanza tests”, “abre proyecto”, y que dispare scripts seguros.
  • Control de tu agente: wake-word → dictas instrucción → ejecuta un hook que llama a tu tooling.
  • Automatización doméstica local: disparar acciones (música, timers, escenas) sin depender de asistentes comerciales.

remindctl, Apple Reminders desde terminal

🔗 steipete/remindctl
⭐️ 91 | 🍴 33 forks | Lenguaje: Swift | Licencia: MIT

CLI para consultar y gestionar Recordatorios de Apple sin abrir la app. Para devs que viven en la terminal y aun así pretenden organizarse.

Casos de uso:

  • Captura rápida de tareas: añadir recordatorios al vuelo mientras estás programando, sin cambiar de contexto.
  • Automatizaciones personales: scripts que crean o cierran recordatorios al completar jobs (“deploy hecho”, “factura enviada”).
  • Integración con flujos de productividad: combinarlo con aliases, Raycast, Alfred o hooks de git.

sonoscli, controla Sonos desde el terminal

🔗 steipete/sonoscli
⭐️ 78 | 🍴 9 forks | Lenguaje: Go | Licencia: NOASSERTION

CLI para descubrir y controlar altavoces Sonos desde terminal: agrupar, manejar colas, reproducción y más. Enfocado a ser operable por scripts.

Casos de uso:

  • Automatización de ambiente: scripts para poner listas o radios por horario o evento.
  • Integración con tu stack: disparar música o alertas desde CI, dashboards o domótica.
  • Control rápido multi-zona: agrupar y desagrupar y cambiar colas sin navegar UIs.

gifgrep, busca GIFs desde la terminal

🔗 steipete/gifgrep
⭐️ 78 | 🍴 8 forks | Lenguaje: Go | Licencia: NOASSERTION

Herramienta para buscar GIFs desde terminal con experiencia TUI y previsualización inline (según soporte del terminal).

Casos de uso:

  • Comunicación en equipo: encontrar GIFs rápido para chats internos sin abrir el navegador.
  • Tooling para creadores: búsquedas rápidas para guiones, presentaciones o demos.
  • Automatización: scripts que sugieren GIFs para una keyword (“ship it”, “it’s fine”).

ElevenLabsKit, SDK Swift para streaming de voces ElevenLabs

🔗 steipete/ElevenLabsKit
⭐️ 67 | 🍴 14 forks | Lenguaje: Swift | Licencia: NOASSERTION

SDK en Swift para consumir voces de ElevenLabs con foco en streaming (no esperar a tener el archivo entero). Pensado para integrar TTS en apps Apple (macOS e iOS) con SwiftPM.

Casos de uso:

  • App con narración en tiempo real: leer respuestas de un agente mientras se generan.
  • Herramientas internas: convertir texto (docs, changelogs) en audio para revisión rápida.
  • Producto con voz integrada: asistentes de escritorio, lectores y utilidades de accesibilidad.

camsnap, snapshots y detección de movimiento para cámaras IP

🔗 steipete/camsnap
⭐️ 52 | 🍴 5 forks | Lenguaje: Go | Licencia: MIT

CLI para capturar snapshots, clips cortos y ejecutar detección de movimiento contra cámaras RTSP/ONVIF.

Casos de uso:

  • Capturas programadas: guardar un snapshot cada N minutos para timelapse o auditoría.
  • Detección de movimiento: disparar clips o alertas cuando hay actividad en una zona.
  • Integración con domótica: hooks para notificar (Telegram, email) o archivar eventos.

ordercli, historial de pedidos de delivery en tu terminal

🔗 steipete/ordercli
⭐️ 45 | 🍴 6 forks | Lenguaje: Go | Licencia: MIT

CLI para consultar pedidos e historial de servicios como Foodora y Deliveroo. Útil como herramienta personal para revisar pedidos, extraer datos y automatizar resúmenes.

Casos de uso:

  • Análisis personal: exportar pedidos y mirar gasto o frecuencia por periodos.
  • Automatización de registros: guardar pedidos en tu diario o finanzas (CSV/JSON).
  • Resúmenes: generar un digest semanal (“qué pedí”, “cuánto gasté”, “patrones”).

tokentally, cálculo de tokens y costes en TypeScript

🔗 steipete/tokentally
⭐️ 32 | 🍴 5 forks | Lenguaje: TypeScript | Licencia: NOASSERTION

Librería TypeScript pequeña para normalizar uso de tokens entre providers, resolver pricing por token y estimar o agregar coste en USD.

Cómo empezar:

pnpm add tokentally

Casos de uso:

  • Cost guardrails en agentes: cortar, degradar modelo o cambiar estrategia cuando el gasto estimado cruza un umbral.
  • FinOps de prompts: medir qué cadenas de prompts o herramientas salen caras y dónde optimizar.
  • Facturación interna y reporting: sumar costes por feature, por usuario o por job sin depender del dashboard de cada proveedor.

blucli, controla BluOS desde terminal

🔗 steipete/blucli
⭐️ 22 | 🍴 4 forks | Lenguaje: Go | Licencia: NOASSERTION

CLI en Go para BluOS: control de reproducción, agrupación y automatización para dispositivos compatibles.

Casos de uso:

  • Automatización de audio: escenas por horario o evento sin abrir app.
  • Control multi-room: agrupar y desagrupar rápido desde terminal.
  • Integración con tooling: hooks desde scripts (por ejemplo, cuando termina CI, suena una notificación).

Commander, parser de CLI en Swift

🔗 steipete/Commander
⭐️ 20 | 🍴 5 forks | Lenguaje: Swift | Licencia: NOASSERTION

Librería para parsear argumentos de línea de comandos en Swift con enfoque “swift-first”, evitando procesos y forks innecesarios.

Casos de uso:

  • CLIs internas: herramientas de build, release, housekeeping y migraciones con flags claros.
  • Apps terminal con subcomandos: estilo tool add, tool list, tool doctor, sin parsear a mano.
  • Base para tooling en macOS: combinarlo con otros paquetes Swift para crear utilidades completas.

osc-progress, progreso de terminal vía OSC 9;4

🔗 steipete/osc-progress
⭐️ 13 | 🍴 3 forks | Lenguaje: TypeScript | Licencia: NOASSERTION

Helper TypeScript para emitir progreso a terminales que soportan OSC 9;4 (Ghostty, WezTerm, Windows Terminal) sin montar un TUI completo.

Cómo empezar:

pnpm add osc-progress

Casos de uso:

  • CLIs “pro” sin TUI: mostrar progreso real (descargas, builds, migraciones) sin ensuciar stdout con spinners raros.
  • Jobs largos en devtools: dar feedback en herramientas internas donde el usuario agradece saber “cuánto falta”.
  • Integración con agentes: cuando un agente lanza acciones largas (tests, builds, scraping), el progreso en terminal reduce la incertidumbre.

La filosofía detrás de las herramientas

Si has llegado hasta aquí, habrás notado un patrón. Peter no construye herramientas grandes y monolíticas. Construye piezas pequeñas con propósito claro que se pueden conectar entre sí.

Hay CLIs en Go para servicios del día a día (WhatsApp, Google Suite, Spotify, Sonos). SDKs en Swift para integrar IA y voz en apps nativas. Servidores MCP para que los agentes puedan automatizar macOS, ejecutar código o consultar herramientas. Y utilidades de productividad que eliminan fricciones que parecen insignificantes hasta que las resuelves.

Los lenguajes de elección son tres: Swift para todo lo nativo de Apple, Go para CLIs ligeras y rápidas, y TypeScript para el ecosistema MCP y Node.

Lo más valioso no es cada herramienta por separado. Es la combinación. Un agente que usa claude-code-mcp para escribir código, poltergeist para mantener el build fresco, Peekaboo para capturar el resultado visual y macos-automator-mcp para interactuar con la UI. Eso es un flujo de trabajo completo construido con piezas sueltas.

Y eso, al final, es lo que diferencia a un developer que usa herramientas de uno que las crea.

Escrito por:

Imagen de Daniel Primo

Daniel Primo

CEO en pantuflas de Web Reactiva. Programador y formador en tecnologías que cambian el mundo y a las personas. Activo en linkedin, en substack y canal @webreactiva en telegram

12 recursos para developers cada domingo en tu bandeja de entrada

Además de una skill práctica bien explicada, trucos para mejorar tu futuro profesional y una pizquita de humor útil para el resto de la semana. Gratis.