Structure
The three ChromaDB collections
After ingestion the knowledge base is stored across three ChromaDB collections. The RAG engine queries all three when assembling context for the LLM.tech-packs
Modular architectural guidelines organized by technology domain: frontend, backend, data, DevOps/cloud, and AI engineering. Used when the user asks about stack-specific patterns.
templates
Structured Markdown templates for all 24 workflow documents. Injected verbatim into the prompt by the
WorkflowInjector so the LLM always follows the correct output format.examples
Fully-populated example documents from
MASTER_WORKFLOW_EXAMPLES/. Shown to the LLM alongside the template so it understands the expected level of detail and realism.Numbers at a glance
| Metric | Value |
|---|---|
| Total documents | 29 |
| Vector embeddings | 934 |
| ChromaDB collections | 3 |
| Workflow document types | 24 |
| Master Workflow examples | 25 files |
softarchitect collection should be listed after the API container starts.
Tech Packs
Tech Packs are the modular architectural encyclopedia at the heart of the knowledge base. Each pack covers a technology domain with opinionated, production-tested guidance: recommended patterns, anti-patterns, security considerations, and integration notes. Packs are organized underpackages/knowledge_base/02-TECH-PACKS/:
| Domain folder | Contents |
|---|---|
FRONTEND/ | Flutter Clean Architecture, state management, accessibility |
BACKEND/ | FastAPI patterns, LangChain integration, error handling |
DATA/ | ChromaDB vector storage, SQLite persistence, schema design |
DEVOPS_CLOUD/ | Docker Compose, GitHub Actions, hardware acceleration |
AI_ENGINEERING/ | RAG pipelines, LLM prompt engineering, embedding strategies |
general/ | Cross-cutting concerns: SOLID, Clean Architecture, OWASP |
_STANDARD_SCHEMA/ subfolder defines the schema every Tech Pack must follow, ensuring consistent structure for the document loader and vector store.
Master Workflow examples
MASTER_WORKFLOW_EXAMPLES/ contains a fully-populated reference document for each of the 24 workflow steps. These are not just stubs — they are realistic, detailed examples that the LLM uses as a quality target when generating your project’s documents.
Each example file is paired with the template for the same document type. The WorkflowInjector reads both files from disk and wraps them in XML tags before injecting into the prompt:
Viewing the knowledge base structure
Inspect the raw knowledge base on disk:The
VectorStoreService uses SHA-256 hashes of content + source as document IDs, so running ingestion with the same files is idempotent — no duplicate vectors are created.How content is chunked
TheDocumentLoader applies semantic chunking to each Markdown file before embedding:
- Split by H2 headers — each
##section becomes a candidate chunk - Fall back to H3 — if no H2 headers are found
- Fall back to paragraphs — for sections that exceed 2,000 characters
- Filter by minimum size — chunks shorter than 500 characters are discarded
MarkdownCleaner removes HTML tags, normalises Unicode (NFKC), strips suspicious patterns (javascript:, data: URIs, <script> blocks), and collapses excessive whitespace. This ensures only clean, semantically rich content enters the vector store.