A tool for creating and managing comprehensive knowledge graphs for programming and software development concepts using Neo4j.
This tool leverages LLMs (like Claude or GPT) to automatically generate and populate a knowledge graph with programming concepts, their relationships, dependencies, and hierarchical structures. It uses Neo4j as the graph database to store and query the knowledge graph.
- Dynamic discovery of programming domains, subjects, topics, concepts, and techniques
- Automatic relationship creation (contains, requires, related_to)
- Hierarchical knowledge organization
- Validation and enhancement of knowledge graph consistency
- Command-line arguments for customizing the seeding process
- Node.js 22+
- Neo4j 4.4+ running locally or remotely
- LLM API access (Anthropic's Claude or OpenAI)
- Clone this repository
- Install dependencies:
npm install - Copy
.env.exampleto.envand configure:cp .env.example .env - Edit the
.envfile to add your own API keys and Neo4j configuration
npm run dev
npm run build
npm start
Available options:
--clear: Clear existing data before seeding--depth=N: Maximum exploration depth (default: 3)--limit=N: Maximum total entities to create (default: 300)--skip-validation: Skip validation phase--retries=N: Number of retries for failed LLM parsing (default: 3)--no-fallbacks: Disable simplified fallback prompts--skip-gap-filling: Skip filling identified gaps in the graph--skip-description-enhancement: Skip enhancing auto-generated descriptions--children-per-unit=N: Number of child units to explore per parent (default: 4)--relationships-per-unit=N: Number of relationships per unit (default: 5)
MIT