Migrated all Gitea documentation from docs/GITEA/ folder into the Knowledge Base system, following KB naming conventions and frontmatter requirements. ## What Was Migrated ### Gitea Documentation Guides (6 KB entries) 1. **Gitea Basics Guide** () - Core concepts and features of Gitea - Key differences from GitHub - Terminology and common workflows - System requirements 2. **Gitea Actions Guide** () - Gitea Actions CI/CD system - Compatibility with GitHub Actions - Workflow creation and patterns - Troubleshooting guide 3. **LLM Guidelines for Gitea** () - Terminology guidelines for LLMs - Documentation standards - Common scenarios and checklist - Quick reference 4. **Gitea Workflows Guide** () - Common workflows (repository setup, branches, PRs, issues) - Best practices (branch naming, commits, PR process) - Integration with documentation systems - Troubleshooting 5. **Gitea API Reference** () - API authentication and endpoints - Differences from GitHub API - Common use cases - MCP server integration 6. **Gitea Documentation Overview** () - Overview and index of all Gitea documentation - Quick reference guide - Links to all Gitea KB entries ## KB System Compliance ✅ All files follow KB naming convention (YYYY-MM-DD--slug--type.md) ✅ All files have complete frontmatter (all 18 required fields) ✅ All files categorized in 02_systems/ (infrastructure/tooling) ✅ All files reference original documentation location ✅ KB changelog updated with migration entry ✅ KB index regenerated via script (8 files, 23 topics, 31 tags) ## Category Decision All Gitea documentation entries were placed in **02_systems/** category because: - Gitea is infrastructure/tooling (not project-specific) - Documentation covers platform usage and integration - Guides are system-level references - Fits KB category definition: "Infrastructure, DevOps, tooling" ## Original Documentation Original documentation remains in folder: - docs/GITEA/Gitea-Basics.md - docs/GITEA/Gitea-Actions-Guide.md - docs/GITEA/LLM-Gitea-Guidelines.md - docs/GITEA/Gitea-Workflows.md - docs/GITEA/Gitea-API-Reference.md - docs/GITEA/README.md KB entries reference original locations for full documentation. ## Benefits - Gitea documentation now searchable via KB index - Integrated with KB system for LLM discovery - Consistent with other KB entries - Maintains reference to original documentation - Provides comprehensive Gitea platform reference
Knowledge Base (KB) System
Last updated: 2025-01-27
Overview
The KB system provides a lightweight, LLM-friendly staging area for external information that may inform Tendril project development. It uses structured routing, confidence scoring, and automatic indexing.
The KB system complements the phase documentation system by capturing:
- Pulse Daily chats and ideas
- Informal notes and thoughts about the project
- External information that may inform the project
- Project-level decisions (complements phase-specific ADRs)
- How-to guides and playbooks
- Glossary entries
- Design ideas and UX concepts
Directory Structure
kb/
├── 01_projects/ # Project-specific notes
│ ├── tendril/ # Tendril project notes
│ └── _shared/ # Cross-project notes
├── 02_systems/ # Infrastructure, DevOps, tooling
├── 03_research/ # Informal research, links
├── 04_design/ # Product specs, UX, copy
├── 05_decisions/ # ADR-style decisions
├── 06_glossary/ # Terms, acronyms
├── 07_playbooks/ # How-to guides, SOPs
├── 08_archive/ # Superseded content
├── _guides/ # KB system guidelines (read-only)
│ └── KB_INGEST_PROMPT.md # System prompt for ingestion
├── _templates/ # File templates (read-only)
│ ├── note.md
│ ├── decision.md
│ └── howto.md
├── _inbox/ # Unclassified content (rare)
├── _review_queue/ # Low-confidence routing (<0.60)
├── _index.md # Auto-generated searchable index
├── CHANGELOG.md # KB change tracking
├── README.md # KB system documentation (this file)
└── scripts/
└── generate-index.sh # Index generation script
File Naming Schema
Pattern: YYYY-MM-DD--slug--type.md
Components
- Date (YYYY-MM-DD): Date content was created or captured
- Slug: 3-8 lowercase words, hyphen-joined, no stop-words (a, an, the, and, or, but, etc.)
- Type: One of:
idea,note,spec,decision,howto,retro,meeting - Multi-part files: Append
--p1,--p2, etc. for long content
Examples
- ✅
2025-01-27--api-authentication-flow--spec.md - ✅
2025-01-27--user-onboarding-decision--decision.md - ✅
2025-01-27--comprehensive-api-design--spec--p1.md(multi-part) - ❌
api-design.md(missing date and type) - ❌
2025-01-27--the-api--note.md(contains stop-word "the")
Regex Pattern
^\d{4}-\d{2}-\d{2}--[a-z0-9-]{3,}--(idea|note|spec|decision|howto|retro|meeting)(--p[0-9]+)?\.md$
Frontmatter Schema
Every KB file MUST have complete YAML frontmatter with all 18 required fields.
Required Fields (18)
---
title: "Descriptive title in sentence case"
date: "YYYY-MM-DD" # Must match filename date
captured_at: "YYYY-MM-DD" # Same as date (project compatibility)
author: ["author name"] # Array, default ["unknown author"]
source: { kind: pulse|chat|web|doc, ref: "<link-or-id>" }
source_type: voice|web|pdf|image|personal_note|chat|pulse
project: ["tendril"] # Array, default ["tendril"] for Tendril
related_projects: ["tendril"] # Same as project (compatibility)
topics: ["topic1", "topic2"] # Array of 2-5 topic keywords
tags: ["tag1", "tag2"] # Array of 2-8 tags
type: idea|note|spec|decision|howto|retro|meeting # Must match filename type
status: draft|active|archived
phase_relevance: ["phase-01", "phase-02"] # Array of relevant phases or []
routing_hint: "Brief explanation of routing decision"
proposed_path: "kb/XX_category/" # Where LLM intends to file it
routing_confidence: 0.87 # Numeric 0.00-1.00
related: [] # Array of related file paths
summary: "One to three sentence summary of the content"
---
Optional Fields
key_takeaways: ["takeaway1", "takeaway2"]
action_candidates: ["action1", "action2"]
Field Guidelines
- title: Clear, descriptive, sentence case (not title case)
- date: Must match filename date prefix (YYYY-MM-DD)
- author: Array format, use
["unknown author"]if unknown - source: Object with
kind(pulse, chat, web, doc) andref(link, ID, or identifier) - project: Array, default
["tendril"]for Tendril project - topics: Array of 2-5 topic keywords (e.g.,
["authentication", "security", "api"]) - tags: Array of 2-8 tags for cross-cutting categorization (e.g.,
["backend", "urgent", "review-needed"]) - type: Must match filename type suffix exactly
- status:
draftfor new content,activefor current/relevant,archivedfor old - routing_hint: Brief explanation (1-2 sentences) of routing decision
- proposed_path: The directory path where the LLM intends to file the content
- routing_confidence: Numeric value between 0.00 and 1.00 indicating confidence in the routing decision
- related: Array of related file paths or references
- summary: Concise 1-3 sentence summary of the content
- phase_relevance: Array of relevant phases (e.g.,
["phase-01", "phase-02"]) or empty array[]
Routing Decision Tree
Content must be routed to one of these directories based on its primary purpose:
- Is it project-specific? →
/kb/01_projects/tendril/or_shared/ - Is it a how-to or procedure? →
/kb/07_playbooks/ - Is it a decision with rationale? →
/kb/05_decisions/ - Is it about infrastructure/tooling? →
/kb/02_systems/ - Is it research or external reference? →
/kb/03_research/ - Is it design/UX/copy? →
/kb/04_design/ - Is it a definition or term? →
/kb/06_glossary/ - Is it obsolete? →
/kb/08_archive/(only if truly superseded) - Unclear? →
/kb/_inbox/(should be rare)
Routing Destinations
/kb/01_projects/tendril/- Tendril project-specific notes, tasks, or updates/kb/01_projects/_shared/- Cross-project notes that apply to multiple projects/kb/02_systems/- Infrastructure, DevOps, tooling, technical systems, architecture decisions/kb/03_research/- Links, papers, competitor notes, external research, learning materials/kb/04_design/- Product specs, UX design, copy, user experience, interface design/kb/05_decisions/- ADR-style decisions with rationale, architectural decisions, strategic choices/kb/06_glossary/- Terms, acronyms, definitions, vocabulary/kb/07_playbooks/- How-to guides, SOPs, runbooks, procedures, operational guides/kb/08_archive/- Old or superseded content (use sparingly, prefer deletion if truly obsolete)/kb/_inbox/- Use only if content cannot be clearly classified (should be rare)/kb/_review_queue/- Low-confidence routing items requiring human review (routing_confidence < 0.60)
Routing Confidence System
After determining the proposed routing destination, you MUST assess your confidence level:
- 0.90–1.00: Crystal clear placement - content clearly matches category
- 0.75–0.89: Good guess - content fits well but might have minor ambiguity
- 0.60–0.74: Uncertain - content could fit multiple categories, needs review
- <0.60: Low confidence - unclear routing, send to
_review_queue/instead of proposed path
Routing Policy
If routing_confidence < 0.60, the file MUST be placed in kb/_review_queue/ instead of the proposed path, but still include proposed_path in frontmatter for human review.
Usage Guidelines
Creating KB Files
- Use templates: Copy from
kb/_templates/and fill in all required fields - Follow naming convention:
YYYY-MM-DD--slug--type.md - Complete frontmatter: All 18 required fields must be present
- Route appropriately: Use routing decision tree to determine correct category
- Assess confidence: Set
routing_confidencehonestly (0.00-1.00)
KB Ingestion
For LLM-assisted KB ingestion:
- Paste
/kb/_guides/KB_INGEST_PROMPT.mdcontents as the first message in Cursor chat - Provide raw content after the system prompt
- LLM will analyze and route content appropriately
- Review generated JSON output before creating file
- Update index and changelog after creating KB file
See kb/_guides/KB_INGEST_PROMPT.md for complete ingestion instructions.
Index and Changelog Updates
MANDATORY: After creating, modifying, or deleting ANY file in kb/ (except _guides/, _templates/, README.md, _index.md, and CHANGELOG.md):
-
Run index generation script:
kb/scripts/generate-index.sh- This regenerates
kb/_index.mdwith current KB content - Verify the script completes successfully
- Check that changes appear in
kb/_index.md
- This regenerates
-
Update KB changelog:
- Add entry to
kb/CHANGELOG.mdwith date-based format:## [YYYY-MM-DD] KB File Added/Modified/Deleted ### Added/Changed/Removed - `kb/XX_category/filename.md` - [Brief description] - Use today's date (YYYY-MM-DD format)
- Include the full file path relative to repository root
- Provide a brief description (1-2 sentences) of what changed
- Add entry to
-
Commit all changes together:
- Commit KB file change, index update, and changelog entry together
- Use commit message:
docs(kb): [action] [filename-slug] and update index/changelog
NEVER skip these steps - Both index and changelog updates are mandatory for KB system integrity.
Integration with Phase Documentation
The KB system complements the phase documentation system:
- KB decisions (
kb/05_decisions/) complement phase-specific ADRs (tendril/phases/phase-XX-name/decisions.md) - KB entries can reference project phases via
phase_relevance[]field - KB research (
kb/03_research/) may inform phase planning and development - KB playbooks (
kb/07_playbooks/) provide operational guides for phase work
Index Generation
The KB index (kb/_index.md) is automatically generated and provides:
- File listing by category
- Topics index (all unique topics with file references)
- Tags index (all unique tags with file references)
- Phase relevance index (files organized by phase)
Manual Index Generation
kb/scripts/generate-index.sh
Automatic Index Updates
Gitea Actions workflow (.github/workflows/kb-index-update.yml) will auto-update the index on push to main when KB files change. (To be configured in Phase 3)
Templates
Templates are available in kb/_templates/:
note.md- General notes templatedecision.md- ADR-style decision templatehowto.md- How-to guide template
All templates include complete frontmatter with all 18 required fields and placeholder values.
Related Documentation
- KB Ingestion Prompt:
kb/_guides/KB_INGEST_PROMPT.md- Complete system prompt for LLM-assisted KB ingestion - KB Changelog:
kb/CHANGELOG.md- Change tracking for KB system - KB Index:
kb/_index.md- Auto-generated searchable index - Phase Documentation:
tendril/phases/phase-XX-name/- Phase-specific documentation
Location: kb/
Maintained by: Tendril Project Team
Repository: https://git.parkingmeter.info/Mycelium/tendril