Portsmith
Trae funciones enfocadas de JS/TS desde otros repositorios a tu aplicación mediante MCP, con verificaciones de comportamiento y un parche que puedes revisar.
Documentación
Portsmith
Mueve funciones de JS/TS entre repositorios, con comprobaciones de comportamiento y un parche revisable.
Inicio rápido · Primera transferencia · Agentes de codificación · Ejemplos · Discusiones
¿Encontraste una función útil en otro código base? Portsmith rastrea sus archivos JS/TS, los prepara en una copia de tu aplicación y verifica la integración contra el comportamiento que declares. Usa tus propias ediciones, un agente de codificación o un modelo compatible con OpenAI. Tus repositorios originales permanecen sin cambios.

Grabado desde la demostración fuente usando una propuesta incluida y redactada, no IA autónoma. El alfa publicado tiene el mismo comportamiento de ejemplo con un estilo de navegador más simple. Detalles de la demostración y reproducción · Imagen fija
Pruébalo ahora
Node 22.19+ (22.x) o 24.11+, además de Git. No se necesita clave API ni registro:
npx --yes --package=portsmith-workbench@alpha portsmith-demo
El ejemplo incluido mueve el filtrado de tablas a una aplicación de catálogo:
Source contract 5/5 passed
Destination before 1/5 passed
Destination after 5/5 passed
Existing tests pass before and after
Output a patch + verification report
Crea una carpeta .portsmith/demo-* nueva en tu directorio actual e imprime las rutas del parche y del informe. La propuesta está redactada para que puedas probar el flujo de trabajo sin un modelo.
Para uso continuo:
npm install -g portsmith-workbench@alpha
portsmith doctor --human
portsmith-demo --install-browser
El último comando descarga Chromium compatible y ejecuta comprobaciones de interacción del navegador. Más adelante usa portsmith-demo --browser. Los hosts Linux mínimos también pueden necesitar npx playwright@1.61.1 install-deps chromium. Instalación y solución de problemas →
¿Para qué puedo usarlo?
- Reutilizar una función específica: mueve un filtro, analizador o transformación a otra aplicación JS/TS.
- Revisar la integración de un agente: prueba el comportamiento propuesto, conserva las pruebas existentes y luego inspecciona el parche.
- Verificar un flujo de trabajo del navegador: declara interacciones como búsqueda y restablecimiento, y conserva capturas de pantalla y trazas.
Comienza con una función pequeña cuyas entradas, salidas y pruebas de destino puedas nombrar. Recorre una transferencia completa →
Cómo funciona
Discover → Inspect → Declare behavior → Prepare a copy
↓
Review patch ← Export ← Verify ← Adapt the integration
La exportación requiere una fuente que pase, una brecha de destino demostrada, un candidato que pase, regresiones completadas, originales sin cambios y un parche nuevo que reproduzca el candidato verificado. Una falla, tiempo de espera agotado o prueba omitida bloquea la verificación. Reglas completas de verificación →
Trae tu agente de codificación
Portsmith incluye una CLI, servidor MCP y API de JavaScript tipada. Conecta un host MCP como Claude Code o Cursor, y luego pregunta:
Usa Portsmith para encontrar la función de búsqueda en
/work/sourcey planifica una transferencia a/work/app. Muéstrame el contrato de comportamiento y las dependencias antes de ejecutar código. Conserva las pruebas existentes y exporta un parche que pueda revisar.
Configuraciones MCP copiables · Habilidad de flujo de trabajo para agentes · Referencia de API
Para la adaptación impulsada por modelos del propio Portsmith:
portsmith init --out ./portsmith-setup --model YOUR_MODEL_ID
# Copy portsmith-setup/.env.example to .env in that directory; add your key locally.
Luego sigue la guía de configuración del modelo. Tu clave permanece en el entorno; el uso del modelo envía código seleccionado a tu proveedor configurado. La demostración sin clave anterior no ejercita la adaptación autónoma.
Alcance de este alfa
| Funciona dentro del alcance declarado | Límites a conocer |
|---|---|
| Rastreo de archivos JS/TS y descubrimiento de funciones | Pistas léxicas, no prueba de ejecución ni división de funciones |
| Configuración npm/pnpm en copias nuevas, incluidos espacios de trabajo | Scripts deshabilitados; versiones desconocidas necesitan declaraciones revisadas |
| Capturas de alias estáticos y resolución explícita de Vite/plugins | Importaciones calculadas y activos arbitrarios de bundlers no son compatibles |
| Contratos de funciones, regresiones Node/Vitest, compilaciones declaradas | Solo cuentan las comprobaciones declaradas completadas |
| Interacciones con Chromium, capturas de pantalla y trazas | Sin conversión general entre frameworks ni garantía de producción |
Alfa público: 0.6.0-alpha.2. Revisa cada parche. La verificación ejecuta código del repositorio en tu máquina; no es un entorno aislado de seguridad. Usa código confiable y revisa las licencias de las fuentes. Una aprobación prueba los casos declarados, no la equivalencia general. Detalles de dependencias · Seguridad
Ejemplos y evidencia
Las transferencias controladas históricas incluyen IT-Tools, TodoMVC, drawDB y Mermaid Live Editor. Tienen límites redactados y limitaciones registradas; no son una tasa de éxito general ni una prueba de paridad con Rea. Explora los casos →
Rea es un adaptador de evidencia de análisis opcional. Sus hallazgos permanecen separados de las comprobaciones de comportamiento de Portsmith. Alcance del adaptador y comparación.
Documentación y contribuciones
| Quiero… | Empieza aquí |
|---|---|
| Instalar o diagnosticar la configuración | Configuración |
| Entender cada paso | Primera transferencia |
| Usar un agente o un modelo | Configuración MCP / agente · Adaptación autónoma |
| Transferir una aplicación más grande | Configuración de dependencias · Alias |
| Declarar comprobaciones del navegador | Contratos de navegador |
| Encontrar comandos o tipos de API | Referencia CLI · API |
| Contribuir o reportar un problema | Contribuciones · Problemas |
git clone https://github.com/punsnprotons/portsmith.git
cd portsmith
npm ci --ignore-scripts
npm run browser:install
npm run check
npm run demo
Arquitectura · Validación · Comprobaciones de lanzamiento · Licencia MIT