rony-chat-bot/data/projects/README.es.md
Victor Hugo Vargas f33708534a feat: bootstrap rony-chat-bot Go module
Initial implementation of the bot:

- cmd/chat-bot: CLI entrypoint (serve, reindex, ask, version)
- internal/agent: LLM provider client + agent runner with RAG injection
- internal/config: YAML config loader (providers, RAG, persona, server)
- internal/i18n: response-language detection (EN/ES)
- internal/persona: persona system prompt assembly from YAML
- internal/portfolio: heading-based chunker + SQLite FTS5 indexer
- internal/server: chi router with /api/chat (SSE), /api/health, /api/info,
  /api/reindex, middleware (RequestID, Logging, CORS, RateLimit)
- internal/streaming: SSE protocol helpers (start, chunk, sources, done, error)
- web/: drop-in vanilla-JS chat widget (no build, no deps) + demo + README
- bench/: reproducible driver benchmark (modernc vs mattn SQLite)
- configs/portfolio-bot.yaml: llama.cpp default provider, SQLite RAG, canine persona
- docs/architecture.md / .es.md: aligned with SQLite FTS5 + llama.cpp decisions
- data/projects/README*.md: project data documentation
- README.md / .es.md: updated for current implementation

All tests pass (go test ./...). Bot is functional end-to-end with the
configured LLM provider.
2026-07-17 00:56:06 -07:00

1.4 KiB

Proyectos del Portfolio

🌐 Idioma: English | Español

Coloca aquí un archivo .md por cada proyecto que quieras que el bot pueda responder.

Convención de nombres

  • Un archivo por proyecto: nombre-del-proyecto.md
  • Nombre en kebab-case (minúsculas con guiones)
  • Ejemplo: rony-tui.md, rony-llm-agent.md, portfolio-astro.md

Frontmatter (opcional pero recomendado)

---
title: "Rony TUI"
date: 2026-06
status: "active"     # active | archived | wip
tags: ["go", "ai", "cli"]
repo: "https://github.com/VictorVargas/rony-harness"
demo: "https://..."  # opcional
---

# Rony TUI

AI agent harness para desarrollo de software...

Cómo se procesan

  1. El bot escanea este directorio al arrancar
  2. Cada .md se divide en chunks de ~500 caracteres
  3. Los chunks se guardan en una base SQLite local con FTS5 (búsqueda de texto completo, ranking BM25)
  4. Cuando alguien pregunta, se buscan los top-5 chunks más relevantes
  5. Esos chunks se inyectan al contexto del LLM

No se requieren modelos de embeddings ni bases vectoriales externas — todo corre en un único archivo SQLite (data/portfolio.db).

Re-indexar

Si modificas los .md, ejecuta:

./bin/chat-bot reindex

Esto reconstruye el índice SQLite FTS5 desde cero.

Ejemplo de proyecto

Ver example-project.md para una plantilla.