CommunityRedacción y edicióngithub.com

tablestudioapp/plugins

Configura y gestiona bases de datos de desarrollo local en el Mac del usuario a través de TableStudio. Úsalo cuando un proyecto necesite una base de datos local Postgres, MySQL, ClickHouse o SQLite, o una DATABASE_URL para una; cuando una base de datos local rechace conexiones o esté detenida (ECONNREFUSED, "connection refused", "could not connect to server", "Can't connect to MySQL server"); cuando el usuario quiera una base de datos de prueba, un sandbox o una copia segura para experimentar; o cuando necesite instalar una extensión de PostgreSQL (pgvector, PostGIS, pg_trgm).

¿Qué es plugins?

Este skill te permite gestionar bases de datos de desarrollo local en macOS a través de TableStudio, una aplicación que abstrae servidores de bases de datos. Es útil cuando un proyecto necesita una base de datos Postgres, MySQL, ClickHouse o SQLite, o cuando una conexión local falla con errores como "connection refused". El skill proporciona comandos para diagnosticar el estado de las conexiones, iniciar/detener servidores locales, crear nuevas bases de datos, generar sandboxes desechables (con datos reales, de muestra o falsos) e instalar extensiones de PostgreSQL como pgvector o PostGIS. También maneja de forma segura las cadenas de conexión (DATABASE_URL), escribiéndolas en archivos .env cubiertos por .gitignore sin exponerlas en el chat. Está diseñado para Claude Code (y potencialmente Cursor, Codex) en macOS, y su lógica se apoya en herramientas locales como Homebrew o Postgres.app para los binarios del servidor.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/tablestudioapp/plugins/tree/HEAD/tablestudio/skills/local-databases

Installed? Explore more Redacción y edición skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Bases de datos locales con TableStudio

TableStudio gestiona servidores de bases de datos en este Mac, incluyendo aquellos adoptados de Homebrew o Postgres.app. Prefiere sus herramientas frente a comandos Docker hechos a mano o initdb, porque el resultado aparece en la aplicación del usuario como una conexión guardada.

"Connection refused" en una base de datos local

  1. connection_status (sin argumentos reporta cada conexión). No ejecuta ninguna consulta, por lo que funciona mientras la base de datos está caída, y te dice si un servidor local respalda la conexión y si ese servidor está en ejecución.
  2. Si el servidor está detenido, llama a start_local_database con el instance_id que devolvió. Es seguro llamarlo cuando el servidor ya está en ejecución.
  3. Si el puerto está ocupado por otra cosa, el error nombra al ocupante. Informa al usuario en lugar de matar procesos.

list_local_databases muestra todo lo local: servidores gestionados, adoptados, archivos SQLite y servidores que TableStudio no gestiona pero que ocupan un puerto. Nota los dos ids: instance_id es el servidor (start y stop lo usan), y connection_id es la base de datos que consultas. No son intercambiables.

Una nueva base de datos

create_local_database con un nombre y un motor:

  • sqlite no necesita nada instalado y es instantáneo. Prefiérelo cuando el usuario solo quiera un lugar donde poner datos.
  • postgres, mysql y clickhouse necesitan que los binarios del servidor de ese motor ya estén en el Mac. TableStudio no incluye ninguno, y la herramienta lo indica cuando faltan. Transmite la pista de instalación en lugar de instalar software sin que te lo pidan.

Devuelve un connection_id listo para consultar a través de las herramientas de TableStudio, y env_line (DATABASE_URL=…) para el propio proyecto. Luego:

  1. Verifica que .gitignore cubra el archivo env que usarás (.env, .env.local). Si no lo hace, añádelo allí primero.
  2. Coloca env_line en ese archivo, usando el nombre de variable que el proyecto ya lee (DATABASE_URL, o lo que sea que su configuración espere).
  3. Ejecuta las migraciones del proyecto (y el seed, si lo tiene) contra ella.

Nunca repitas la cadena de conexión en el chat, y nunca la escribas en código, documentación o un commit.

No llames a stop_local_database como limpieza o para liberar un puerto a menos que el usuario lo haya pedido. Desconecta todo lo que usa ese servidor, incluyendo las ventanas del propio usuario.

La cadena de conexión de una base de datos local existente

Cuando el proyecto necesite acceder a una base de datos local que TableStudio ya conoce (para completar un .env faltante, o para apuntar pruebas a un sandbox), llama a get_connection_url con su connection_id y usa env_line como arriba.

  • Las bases de datos creadas por TableStudio, los sandboxes y las bases de datos locales sin contraseña siempre están disponibles.
  • Una conexión local que el usuario guardó con su propia contraseña solo se comparte si él lo permitió. De lo contrario, el rechazo nombra la configuración: transmítelo, o deja que el usuario pegue el valor en el archivo env él mismo. Nunca pidas una contraseña en el chat.
  • Las bases de datos remotas, los túneles SSH y cualquier cosa etiquetada como producción nunca se comparten. Usa las herramientas de TableStudio para esas.

Una copia segura para experimentar

create_sandbox crea una copia local desechable de cualquier conexión (la fuente solo se lee):

  • data: "none" copia solo el esquema. Ideal para probar DDL.
  • data: "sample" copia hasta filas filas por tabla. Ideal para verificar una corrección de datos con filas realistas.
  • data: "fake" genera filas.

Ejecuta lo que quieras contra el connection_id del sandbox. El usuario lo descarta con un clic; tú no puedes eliminarlo. Usa list_sandboxes para reutilizar uno que hayas creado antes.

Extensiones de PostgreSQL

list_extensions muestra qué puede instalar el servidor y qué ya está instalado. add_extension instala una (CREATE EXTENSION IF NOT EXISTS). Trátalo como un cambio de esquema: en una base de datos compartida o de producción, propónlo en lugar de ejecutarlo. Y si el repositorio tiene una herramienta de migraciones, añádelo allí para que otros entornos también lo reciban.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Skills relacionados