Ummon logo

Ummon

by Nayshins

Ummon is a code analysis tool that builds knowledge graphs from codebases to enhance understanding, improve AI assistance, and enable sophisticated querying. It creates connections between code entities and domain concepts, making it easier to reason about complex software systems and identify relevant code for specific tasks.

View on GitHub

Last updated: N/A

What is Ummon?

Ummon is a code analysis tool that builds knowledge graphs from codebases. It indexes code, maps relationships between code entities, and uses LLMs to identify business entities and concepts, bridging the gap between technical and business understanding.

How to use Ummon?

Ummon can be installed using cargo install ummon. It's used via the command line to index codebases (ummon index /path/to/codebase), query the knowledge graph (ummon query "show all authentication functions"), and generate AI-assisted recommendations (ummon assist "implement a user registration function"). Configuration is primarily done through command-line flags, with environment variables used for sensitive information like API keys.

Key features of Ummon

  • Knowledge Graph Construction

  • Advanced Querying System

  • Relevance Agent

  • Domain Model Extraction

Use cases of Ummon

  • Enhancing code understanding

  • Improving AI assistance for code-related tasks

  • Enabling sophisticated querying of codebases

  • Identifying relevant code for specific tasks

FAQ from Ummon

What programming languages does Ummon support?

Ummon supports Rust, Python, JavaScript, and Java.

How does Ummon update the knowledge graph?

Ummon supports both incremental updates (default) and full rebuilds.

What is the purpose of the Relevance Agent?

The Relevance Agent suggests code files relevant to a proposed change or query using semantic analysis and graph centrality metrics.

What is Domain Model Extraction?

Domain Model Extraction uses LLMs to identify business entities and concepts and maps them to implementation details.

How do I configure Ummon?

Ummon is primarily configured through command-line flags. Sensitive information like API keys are configured using environment variables.

Ummon - MCP Server | MCP Directory