# Portfolio Projects Place a `.md` file here for each project you want the bot to be able to answer about. ## File naming convention - One file per project: `project-name.md` - Name in kebab-case (lowercase with hyphens) - Example: `rony-harness.md`, `rony-llm-agent.md`, `portfolio-astro.md` ## Frontmatter (optional but recommended) ```markdown --- title: "Rony Harness" date: 2026-06 status: "active" # active | archived | wip tags: ["go", "ai", "cli"] repo: "https://github.com/VictorVargas/rony-harness" demo: "https://..." # optional --- # Rony Harness AI agent harness for software development... ``` ## How they're processed 1. The bot scans this directory on startup 2. Each `.md` is split into chunks of ~500 characters 3. Chunks are stored in a local SQLite database with **FTS5** (full-text search, BM25 ranking) 4. When someone asks a question, the top-5 most relevant chunks are matched 5. Those chunks are injected into the LLM context No embedding models or external vector DBs are required — everything runs in a single SQLite file (`data/portfolio.db`). ## Re-index If you modify the `.md` files, run: ```bash ./bin/chat-bot reindex ``` This rebuilds the SQLite FTS5 index from scratch. ## Project example See [`example-project.md`](./example-project.md) for a template.