Context
We've vendored blarify 1.3.0 and added KuzuManager to enable Kuzu database support (PR #2118). This allows blarify to work without Neo4j.
Goal
Contribute our KuzuManager implementation upstream to https://github.com/blarApp/blarify so we can eventually remove the vendored copy and use official blarify with Kuzu support.
What Needs to Be Done
Upstream PR to blarify
- Fork blarify repository
- Create branch:
feat/add-kuzu-database-support
- Extract changes from our vendor directory:
repositories/graph_db_manager/kuzu_manager.py (NEW)
repositories/graph_db_manager/__init__.py (export KuzuManager)
cli/commands/create.py (add --db-type kuzu option)
- Write tests for KuzuManager
- Create PR to blarApp/blarify
- Follow up on PR review and merge
Migration Back to Official Blarify
Once upstream accepts Kuzu support:
- Remove
src/amplihack/vendor/blarify/ directory
- Add
blarify>=X.Y.Z to dependencies (version with Kuzu support)
- Update imports in
src/amplihack/memory/kuzu/code_graph.py
- Test migration works
- Create PR to remove vendored blarify
Benefits
- Reduced maintenance burden (no vendored code to maintain)
- Upstream improvements flow through automatically
- Community benefits from Kuzu support
- Cleaner amplihack codebase
Timeline
- Short term: Keep vendored blarify (working now)
- Medium term: Submit upstream PR (weeks)
- Long term: Migrate to official blarify when merged (months)
Related
Dependencies
- Upstream blarify maintainers accepting the contribution
- Kuzu support being maintained in upstream blarify
Context
We've vendored blarify 1.3.0 and added KuzuManager to enable Kuzu database support (PR #2118). This allows blarify to work without Neo4j.
Goal
Contribute our KuzuManager implementation upstream to https://github.com/blarApp/blarify so we can eventually remove the vendored copy and use official blarify with Kuzu support.
What Needs to Be Done
Upstream PR to blarify
feat/add-kuzu-database-supportrepositories/graph_db_manager/kuzu_manager.py(NEW)repositories/graph_db_manager/__init__.py(export KuzuManager)cli/commands/create.py(add --db-type kuzu option)Migration Back to Official Blarify
Once upstream accepts Kuzu support:
src/amplihack/vendor/blarify/directoryblarify>=X.Y.Zto dependencies (version with Kuzu support)src/amplihack/memory/kuzu/code_graph.pyBenefits
Timeline
Related
Dependencies