Forge OS es un sistema operativo de trabajo colaborativo multi-inquilino (multi-tenant), diseñado con un frontend Vanilla JS superrápido sobre Astro y un backend altamente optimizado en NodeJS con SQLite. Unifica Kanban, Bases de Datos dinámicas y Base de Conocimientos en una sola plataforma.
Tabla de contenidos
Forge OS no es solo un gestor de tareas, es un ecosistema de colaboración completo:
- Aislamiento Multi-Tenant Total: Espacios de trabajo separados lógicamente, garantizando que un usuario no pueda acceder ni modificar datos de otros inquilinos (protección IDOR exhaustiva).
- Cuentas de Invitado (Guest Accounts): Perfiles de acceso restringido y aislado. No pueden buscar a otros, enviar solicitudes, ni modificar configuraciones de visibilidad.
- Red Social Interna (Forge Hub): Perfiles públicos personalizables (banner, avatar, biografía) con edición en línea (
inline editing), sistema de amistades y bloqueo de usuarios. - Tablero Kanban Avanzado: Gestión de Sprints, Issues y Épicas. Incluye rediseño de flujos, drag & drop persistente, y control de tiempo (Time Tracking) server-side con auto-pausa.
- Base de Conocimientos (Knowledge Base): Sistema de documentación estilo Notion, con enlaces bidireccionales, organización jerárquica y versionado automático.
- Bases de Datos Dinámicas (Fase 1): Crea tablas dinámicas tipo Airtable directamente desde la interfaz, adaptando el software a tus necesidades de negocio.
- Command Palette & Atajos Globales: Navegación veloz mediante atajos de teclado (como
/para buscar espacios o/upara usuarios globales). - SEO Dinámico y Optimización: Las tarjetas de redes sociales (OpenGraph) y meta etiquetas se adaptan dinámicamente al perfil público del usuario o tablero que se está visualizando.
- Localización Intuitiva (i18n): Soporte nativo para Inglés y Español (detectado automáticamente).
Te recomendamos encarecidamente utilizar Node.js (v22+) para una máxima compatibilidad y rendimiento.
-
NVM (Recomendado para manejar la versión de Node):
nvm install 22 nvm use 22
-
NPM:
npm install npm@latest -g
-
Clona el repositorio
git clone https://github.com/JoseSerpaCode/Forge-js.git
-
Accede al directorio del proyecto
cd Forge-js -
Instala las dependencias de NPM
npm install
-
Puebla la base de datos (Opcional pero recomendado) Este script inicializa
better-sqlite3e inserta los usuarios y roles requeridos para el entorno de desarrollo.npm run seed
-
Levanta el entorno en local
npm run dev
La aplicación estará disponible de inmediato en
http://localhost:4321.
- Frontend: Astro + Vanilla JS + Vanilla CSS (Enfoque en alta velocidad, sin Virtual DOM y cero JavaScript innecesario para los clientes).
- Backend: Astro SSR (Node.js Adapter) actuando como servidor monolítico con Middlewares empresariales.
- Base de datos: SQLite utilizando
better-sqlite3para I/O ultrarrápido y sincronización síncrona en memoria/disco. - Testing: Playwright para pruebas End-to-End exhaustivas, Vitest para pruebas unitarias.
Forge OS cuenta con auditorías de seguridad incorporadas y Middlewares estrictos:
- Protección RBAC: Roles de acceso (Owner, Admin, Editor, Viewer).
- Prevención de Ataques Web: Protecciones activas contra SQLi, XSS, SSRF y Path Traversal en el manejo de adjuntos.
- Validación Estricta: Tamaños de archivo limitados (10MB max), comprobación de MIME types, e IDs ofuscados o sanitizados con UUIDv4.
Actualmente Forge OS está en un ciclo de desarrollo activo. Aquí está nuestra hoja de ruta principal:
- Módulo de Identidad y Workspaces: Sistema de login y aislamiento multi-tenant.
- Base de Conocimientos (Notion-like): Sistema de documentos, parseo seguro Markdown y enlaces bidireccionales.
- Kanban & Sprints (Bloque 4): Tablero drag&drop, métricas avanzadas (Velocity, Distribution, Precision), control de tiempo (Time Tracking) preciso.
- Dashboard General: Panel central para visualizar el resumen de todos los Workspaces y notificaciones globales.
- UI/UX & Command Palette: Mejoras de usabilidad, atajos globales de teclado, diseño de modales y feedback (Toasts).
- Bases de Datos Dinámicas (Fase 1): Creación de tablas dinámicas tipo Airtable para flexibilizar la gestión de datos.
¡Forge OS está abierto a mejoras y extensiones! Las contribuciones son lo que hacen a la comunidad open source un lugar increíble. Toda contribución será muy apreciada.
- Haz un Fork del proyecto
- Crea tu rama para la nueva funcionalidad (
git checkout -b feature/CaracteristicaIncreible) - Haz un commit detallado de tus cambios (
git commit -m 'feat(scope): Añadir CaracterísticaIncreible') - Haz push a tu rama (
git push origin feature/CaracteristicaIncreible) - Abre un Pull Request
Importante: Por favor, asegúrate de revisar nuestras Normas de Contribución antes de enviar código. Todos los Pull Requests deben venir acompañados de tests de Playwright para validar flujos críticos.