A Neo4j-powered knowledge management system that bridges Obsidian vaults, Linear tasks, and Git commits.
Omega_KG enables intelligent knowledge capture and task lifecycle management by:
- Capturing AI conversations through a Chrome browser extension
- Syncing conversations and tasks bidirectionally with Linear
- Tracking implementation through Git commits
- Organizing everything in a Neo4j knowledge graph
- Enforcing task lifecycle policies with automated state transitions
- Capture conversations from Claude, ChatGPT, Gemini, and Perplexity
- Automatic sync to Obsidian vault
- Periodic health checks and batch percolation
- Neo4j-based storage with rich relationship modeling
- Links between decisions, tasks, commits, and sessions
- Query-friendly Cypher-based data model
- Automated state transitions: draft → ready → active → blocked → completed → archived
- Time-based rules and stale task detection
- Email notifications before auto-transitions
- Linear integration for team sync
- Markdown-first workflow
- Frontmatter-based task metadata
- Automatic sync with Linear updates
- Python 3.13+
- Poetry
- Neo4j (local or cloud instance)
- Obsidian vault (optional, for markdown storage)
-
Clone and install dependencies:
git clone https://github.com/ApexSigma-Solutions/omega_kg.git cd omega_kg poetry install --with dev -
Configure environment:
cp .env.example .env # Edit .env with your Neo4j URI, credentials, and Obsidian vault path -
Run the capture server:
poetry run capture-server # Server runs on http://localhost:8765 -
Install the Chrome extension:
- Open
chrome://extensions - Enable "Developer mode"
- Click "Load unpacked"
- Select the
chrome-extension/directory
- Open
# Run lifecycle enforcement (dry-run mode)
poetry run python -m omega_kg.lifecycle --dry-run
# Start capture server (entry point)
poetry run capture-server
# Reorganized Scripts (db-ops, maintenance, troubleshooting, testing, startup)
# Example: Run smoke test
poetry run python scripts/testing/test-smoke.py
# Run all tests
poetry run pytest
# Check code quality
poetry run ruff check .
poetry run mypy omega_kg/capture_server.py: FastAPI server for receiving conversation captureslifecycle.py: Task state management and automationlinear_sync.py: Bidirectional Linear ↔ Obsidian syncpercolation.py: Extract commits/tasks from markdown into Neo4jsettings.py: Pydantic-based configuration management
Nodes:
ChatSession: Conversation sessions with metadataDecision: Key decisions made during sessionsTask: Tasks with lifecycle state and Linear integrationCommit: Git commits linked to tasks
Relationships:
ChatSession -[:CONTAINS]-> DecisionTask -[:IMPLEMENTS]-> DecisionCommit -[:IMPLEMENTS]-> Task
Environment variables (see .env.example):
# Neo4j
NEO4J_URI=bolt://localhost:7687
NEO4J_USER=neo4j
NEO4J_PASSWORD=password
# Obsidian
OBSIDIAN_VAULT_PATH=./vault
# Email (optional)
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=your-email@gmail.com
SMTP_PASSWORD=app-password
EMAIL_TO=recipient@example.comPre-commit hooks ensure code quality:
poetry run pre-commit install
poetry run pre-commit run --all-filesDocumentation is built with MkDocs:
poetry run mkdocs serve
# View at http://localhost:8000- Create a feature branch:
git checkout -b feature/my-feature - Make changes and commit:
git commit -am "Add my feature" - Push to remote:
git push origin feature/my-feature - Open a pull request
MIT License - see LICENSE file for details
For issues, feature requests, or questions:
- Open an issue
- Centralized Documentation: OmegaVault/ApexSigma/Development/Projects/OmegaKG
- Review IMPLEMENTATION_SUMMARY.md