## Search & Retrieval - Improved search ranking with scoring (title match, favorites, recency) - Highlight matches with excerpt extraction - Fuzzy search with string-similarity - Unified noteQuery function ## Quick Capture - Quick Add API (POST /api/notes/quick) with type prefixes - Quick add parser with tag extraction - Global Quick Add UI (Ctrl+N shortcut) - Tag autocomplete in forms ## Note Relations - Automatic backlinks with sync on create/update/delete - Backlinks API (GET /api/notes/[id]/backlinks) - Related notes with scoring and reasons ## Guided Forms - Type-specific form fields (command, snippet, decision, recipe, procedure, inventory) - Serialization to/from markdown - Tag suggestions based on content (GET /api/tags/suggest) ## UX by Type - Command: Copy button for code blocks - Snippet: Syntax highlighting with react-syntax-highlighter - Procedure: Interactive checkboxes ## Quality - Standardized error handling across all APIs - Integration tests (28 tests passing) - Unit tests for search, tags, quick-add Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
4.1 KiB
📌 Recall — Backlog MVP-2
🎯 Objetivo
Convertir el MVP actual en una herramienta que permita capturar rápido y recuperar conocimiento en segundos.
🧩 EPIC 1 — Búsqueda y recuperación
[P1] Mejorar ranking de búsqueda
Objetivo: resultados relevantes ordenados inteligentemente
Alcance
- Crear
src/lib/search.ts - Implementar scoring:
- match título exacto/parcial
- match contenido
- favoritos/pin
- recencia
- Aplicar en
/api/searchy/api/notes
Criterios de aceptación
- Coincidencias en título aparecen primero
- Favoritos/pin influyen en ranking
- Resultados ordenados por score
Archivos
src/lib/search.tssrc/app/api/search/route.tssrc/app/api/notes/route.ts
[P1] Resaltado de términos
Objetivo: mejorar lectura de resultados
Alcance
- Helper
highlightMatches - Mostrar extracto con contexto
Criterios
- Términos resaltados correctamente
- Extracto relevante
[P1] Búsqueda fuzzy básica
Objetivo: tolerar errores de escritura
Alcance
- Matching parcial y aproximado en título/tags
Criterios
- "dokcer" encuentra "docker"
- No degrada rendimiento
[P1] Unificar lógica de búsqueda
Objetivo: evitar duplicación
Alcance
- Extraer lógica a
note-query.ts
Criterios
- Mismo resultado en ambos endpoints
⚡ EPIC 2 — Captura rápida
[P1] Quick Add API
Objetivo: crear notas desde texto único
Alcance
- Endpoint
POST /api/notes/quick - Parsear tipo y tags
Criterios
- Prefijos funcionan (
cmd:etc) - Tags se crean automáticamente
[P1] Parser Quick Add
Objetivo: separar lógica de parsing
Alcance
src/lib/quick-add.ts
Criterios
- Tests unitarios
- Normalización de tags
[P1] UI Quick Add global
Objetivo: captura instantánea
Alcance
- Componente global input
- Submit con Enter
Criterios
- Disponible en toda la app
- Feedback visual
[P1] Autocomplete de tags
Objetivo: evitar duplicados
Alcance
- Endpoint
/api/tags - Sugerencias en formulario
Criterios
- Tags sugeridos correctamente
- No duplicación
🧠 EPIC 3 — Relación entre notas
[P1] Notas relacionadas 2.0
Objetivo: relaciones útiles
Alcance
- Mejorar
related.ts - Score por tags, tipo, texto
Criterios
- Mostrar razón de relación
- Top resultados relevantes
[P1] Backlinks automáticos
Objetivo: navegación entre notas
Alcance
- Detectar menciones
- Endpoint backlinks
Criterios
- Relación bidireccional
[P1] Links nota
Objetivo: crear conocimiento conectado
Alcance
- Autocomplete en editor
- Render como enlace
Criterios
- Navegación funcional
🧩 EPIC 4 — Plantillas
[P2] Plantillas inteligentes
Objetivo: acelerar creación
Alcance
- Expandir
templates.ts
Criterios
- Template por tipo
- No sobrescribe contenido
[P2] Campos asistidos
Objetivo: mejorar UX
Alcance
- Inputs guiados por tipo
Criterios
- Serialización a markdown
🧪 EPIC 5 — UX por tipo
[P2] Vista command
- Botón copiar
[P2] Vista snippet
- Syntax highlight
[P2] Checklist procedure
- Check interactivo
🏷️ EPIC 6 — Tags
[P1] Normalización de tags
Objetivo: evitar duplicados
Alcance
- lowercase + trim
Criterios
- Tags únicos consistentes
[P2] Sugerencias de tags
Objetivo: mejorar captura
Alcance
- Endpoint
/api/tags/suggest
🧪 EPIC 7 — Calidad
[P1] Tests unitarios
- search
- quick-add
- tags
[P1] Tests integración
- APIs principales
[P2] Manejo de errores API
- formato estándar
🗺️ Orden de ejecución
Sprint 1
- Ranking búsqueda
- Quick Add (API + parser + UI)
- Normalización tags
- Tests base
Sprint 2
- Autocomplete tags
- Relacionadas
- Backlinks
- Links nota
Sprint 3
- Highlight
- Fuzzy search
- Templates
Sprint 4
- UX tipos
- Tags suggest
- API errors
✅ Definición de Done
- Código testeado
- API consistente
- UI usable sin errores
- No regresiones en CRUD existente