RestForge
Cliente de APIs HTTP/REST moderno, rápido y ligero, integrado directamente
en Visual Studio Code. Una alternativa a Postman / Insomnia sin salir del editor.

✨ Características
- Interfaz tipo Postman dentro de un Webview con pestañas múltiples.
- Métodos HTTP:
GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS.
- Editor de headers y query params dinámicos.
- Editor de Body: JSON (con formateo y validación), Form Data,
x-www-form-urlencoded y texto plano.
- Respuesta detallada: código de estado, tiempo, tamaño, headers y
JSON formateado con resaltado de sintaxis.
- Historial de peticiones y colecciones de endpoints.
- Variables de entorno reutilizables:
{{base_url}}, {{token}}, …
- Autenticación: Bearer Token, Basic Auth y API Key (header o query).
- Generación de código: cURL, JavaScript (
fetch), Axios y Python requests.
- Importar / exportar colecciones y entornos en formato JSON.
- Autoguardado local mediante el almacenamiento de VS Code.
- Tema claro/oscuro sincronizado automáticamente con VS Code.
🚀 Uso
- Abre la paleta de comandos (
Ctrl/Cmd + Shift + P).
- Ejecuta «RestForge: Abrir cliente de API» — o usa
Ctrl/Cmd + Alt + R,
o el icono ⚡ de la barra de actividad.
- Escribe una URL, elige el método y pulsa Enviar.
🧱 Arquitectura
El proyecto separa claramente las dos mitades de una extensión de VS Code:
src/
├── shared/ Modelo de datos y protocolo de mensajes (compartido)
├── extension/ Código del Extension Host (Node.js)
│ ├── extension.ts Punto de entrada / activación
│ ├── panel/ Gestión del Webview Panel
│ ├── services/ Ejecución HTTP con Axios
│ ├── storage/ Persistencia con globalState
│ └── webview/ Generación del HTML del Webview
└── webview/ UI del Webview (React + Vite + TailwindCSS)
├── components/ Componentes de la interfaz
├── services/ Utilidades, interpolación, generación de código
├── store/ Estado global (Zustand)
└── types/ Tipos del Webview
- Las peticiones HTTP se ejecutan en el Extension Host (Node + Axios), lo que
evita por completo las restricciones de CORS del navegador.
- El Webview (React) y el Extension Host se comunican mediante un
protocolo de mensajes tipado (
src/shared/types.ts).
- El estado se autoguarda en
globalState y se restaura al reabrir.
🛠️ Desarrollo
Requisitos: Node.js 18+ y VS Code 1.85+.
npm install # instalar dependencias
npm run build # compilar extensión + webview
npm run dev # modo watch (extensión y webview en paralelo)
Para depurar: abre la carpeta en VS Code y pulsa F5
(«Ejecutar extensión RestForge»). Se abrirá una ventana Extension Development
Host con RestForge cargado.
Scripts disponibles
| Script |
Descripción |
npm run build |
Compila la extensión y el webview a dist/. |
npm run dev |
Recompila automáticamente al guardar cambios. |
npm run icon |
Regenera media/icon.png. |
npm run typecheck |
Verificación de tipos con TypeScript. |
npm run lint |
Análisis estático con ESLint. |
npm run package |
Genera el paquete .vsix. |
npm run publish |
Publica en el Marketplace. |
📦 Empaquetar la extensión (.vsix)
npm run package
Esto ejecuta vsce package, que compila el proyecto (vscode:prepublish) y
genera un archivo restforge-0.1.0.vsix en la raíz.
Para instalarlo localmente:
- VS Code → pestaña Extensiones → menú
··· → Instalar desde VSIX…, o
- por terminal:
code --install-extension restforge-0.1.0.vsix
🌐 Publicar en el VS Code Marketplace
- Crea una organización y un Personal Access Token (PAT) en
Azure DevOps con permiso Marketplace → Manage.
- Crea un publisher en https://marketplace.visualstudio.com/manage
(el
publisher de package.json debe coincidir — aquí: RestForge).
- Inicia sesión y publica:
npx vsce login RestForge # pega el PAT cuando lo pida
npm run publish # o: npx vsce publish
Para subir una nueva versión: incrementa version en package.json
(vsce publish patch|minor|major lo hace automáticamente).
🗺️ Roadmap
Funcionalidades previstas para próximas versiones:
- [ ] Soporte para GraphQL y WebSockets.
- [ ] Runner de colecciones (ejecución secuencial con aserciones).
- [ ] Variables secretas cifradas con
SecretStorage.
- [ ] Importación de OpenAPI / Swagger y de colecciones de Postman.
- [ ] Subida de archivos en
form-data.
- [ ] Generación de peticiones asistida por IA.
- [ ] Tests automatizados end-to-end.
📄 Licencia
MIT © RestForge