lorehub
Version:
Capture and surface the collective wisdom of your codebase
134 lines (101 loc) • 3.83 kB
Markdown
# LoreHub Design Decrees
This document captures all the key decrees made during the initial design phase.
## Project Scope & Vision
**Decree**: Build as a personal project (Roee) with potential for wider adoption
- Start simple, iterate based on real usage
- Focus on solving real pain points in multi-realm development
- Especially valuable for large monorepos (70+ provinces)
## Naming
**Decree**: LoreHub
- **Alternatives considered**: lighthouse, beacon, compass, waypoint, factmap, wisehub
- **Rationale**: Available on npm, memorable, clear purpose
- **CLI alias**: `lh` for quick commands
## Technology Stack
**Decree**: TypeScript + SQLite
- **Language**: TypeScript (MCP ecosystem standard, rapid iteration)
- **Database**: SQLite with FTS5
- Alternatives: PostgreSQL (requires setup), DuckDB (less mature), Graph DBs (overkill)
- Rationale: Embedded, zero-config, excellent full-text search
- **Framework**: Official @modelcontextprotocol/sdk
- **SQLite Driver**: better-sqlite3 (synchronous, faster than node-sqlite3)
## Architecture
**Decree**: Local-first with future sync path
- **Storage**: SQLite only for v1
- **Sync**: Defer to v2+ (event log → git sync → cloud)
- **Rationale**: Ship useful tool first, validate core idea before distributed complexity
## Data Model
**Decree**: Rich but distilled lores
- Store: Core lore + why (1-2 sentences) + context + confidence
- **Rationale**: "6 months later, you need the 'why' more than the 'what'"
- Example:
```yaml
Lore: "Use Redis for session cache"
Why: "Needed sub-50ms response, in-memory wasn't scaling past 10k"
Context: "implementing auth in api/auth.ts"
```
**Decree**: Immutable lores with relationships
- Lores never change, only superseded
- Track evolution through relationships
- Archive manually or when superseded
## Feature Set
**Decree**: MVP includes intelligent capture + search
- Manual lore entry
- Git commit auto-parsing
- Smart LLM conversation capture
- Basic relationship linking
- Context-aware surfacing
**Decree**: Hybrid auto-capture
- Smart detection with confirmation (default)
- Explicit triggers: "@lorehub: ..."
- Can disable smart detection
## Realm Structure
**Decree**: Single realm with province tags
- **Rationale**: Better for monorepos with many services
- Auto-detect provinces from paths
- Enable cross-province insights
- Example: "Show all Redis decrees across 70 provinces"
**Decree**: Git root detection
- Auto-detect realm from .git directory
- Support additional context directories
- Handles nested repositories
## User Interface
**Decree**: Dual interface design
1. **MCP Server**: Natural language queries for LLMs
2. **CLI Tool**: Quick commands for developers
**Decree**: Hybrid surfacing approach
- Gentle hints: "📍 Found 3 related lores"
- Expand on request
- Not intrusive or know-it-all
## CLI Ergonomics
**Decree**: Mixed command style
```bash
# Most common - quick capture
lh "Lore text"
lh @decree "Chose X over Y"
# Search
lh ?redis # Quick search
lh ??"natural query" # Natural language
# Everything else
lh relate <id1> conflicts <id2>
lh export --format=markdown
```
## Git Integration
**Decree**: Extract wisdom + rationale from commits
- Pattern detection: "decreed to", "switched from/to", "fixed by"
- Store core insight, not commit metadata
- Link to commit hash as source
## Performance Targets
- Query response: <100ms for 100k lores
- Startup time: <500ms
- Memory footprint: <50MB typical usage
## Future Roadmap
1. **v1.0**: Local single-user tool
2. **v2.0**: Export/import capabilities
3. **v3.0**: Git-based team sync
4. **v4.0**: Optional cloud sync service
## Future Decrees (Deferred)
- Team synchronization strategy
- Conflict resolution approach
- Cloud service architecture
- Pricing model
- Advanced visualizations