Constrúyelo desde cero
Un walkthrough de diez pasos que arranca en una carpeta vacía y termina con una app de chat con IA local funcionando.
El walkthrough reconstruye LocalLens de adentro hacia afuera. Cada paso agrega un archivo (el paso 0 arma el esqueleto del proyecto), explica por qué existe el archivo, muestra el código mínimo y te apunta al siguiente paso.
El orden es deliberado. Refleja la dirección de imports del codebase, así que ningún paso depende de un archivo que aún no escribiste.
Los diez pasos
- Setup del proyecto —
bun init, instalar dependencias, configurar configs y scripts. - Tipos de dominio y
AppError— el vocabulario compartido que cada otro archivo importa. - Chunking y el prompt fundamentado — los helpers del lado de recuperación que todavía no saben del SDK.
- El gateway de QVAC — cargar modelos, ingestar, buscar, hacer stream de completions.
- El store JSON — persiste cerebros
y chunks en
.locallens/store.json. - Adaptadores de archivos — recorrido local de carpeta y normalización del file picker del navegador.
- El workflow de la aplicación
— conecta todo en
LocalLensApp. - La CLI — el punto de entrada sin UI.
- El servidor Bun — la superficie HTTP opcional.
- La UI del navegador — una capa delgada encima del servidor.
El camino didáctico
El walkthrough cubre las partes que enseñan la arquitectura. No explica cada regla de CSS ni cada helper de la UI. El código completo está en GitHub — léelo una vez que hayas pasado por estas páginas.
Por qué este orden
Cada paso depende solo de lo que vino antes:
project shell → bun init, deps, configs (no source yet)
domain.ts → no internal imports
rag.ts → imports domain
qvac.ts → imports domain
store.ts → imports domain
files.ts → imports domain
locallens.ts → imports domain, files, qvac, rag, store
cli.ts → imports domain, locallens
server.ts → imports domain, locallens
ui/ → talks to server.ts over HTTPConstruye en este orden y bun run typecheck se queda en verde
después de cada paso.