-
Notifications
You must be signed in to change notification settings - Fork 1
Home
CLI-Gen is an innovative open-source project that leverages graph data structures and Large Language Models (LLMs) to revolutionize code understanding, test case generation, and client library creation. By representing code and API specifications as interconnected graphs, CLI-Gen provides a powerful foundation for automating various software development tasks.
Check out Project Proposal to get an understanding of how we are planning to achieve this.
At the heart of CLI-Gen is a sophisticated graph data structure that serves as the central element for all functionalities. This graph-based approach allows CLI-Gen to:
- Represent code elements (functions, classes, variables) and their relationships.
- Model API specifications, including endpoints, request/response structures, and dependencies.
- Capture the semantic meaning and connections between different parts of a codebase or API.
By using this graph representation, CLI-Gen gains a deep understanding of the code and API structure, enabling more intelligent and context-aware automation.
- Graph-Based Code Analysis: Transform codebases and API specs into rich, interconnected graphs.
-
Intelligent Test Case Generation:
- For API projects: Generate tests based on the graph representation of OpenAPI specs.
- For non-API projects: Create tests by analyzing the graph of code structure and logic.
- Context-Aware Client Library Generation: Create client libraries in multiple programming languages based on the graph representation of OpenAPI specifications.
- LLM Integration: Leverage LLMs to interpret the graph structure, generating human-like code and documentation.
- Extensible Architecture: Easy to add new features or customize existing ones by working with the central graph structure.
-
Graph Construction:
- For codebases: Parse the code and create a graph representing functions, classes, and their relationships.
- For APIs: Transform the OpenAPI spec into a graph structure.
-
Graph Analysis: Use graph algorithms and LLMs to understand the relationships and semantics within the code or API.
-
Automated Generation:
- Test Cases: Generate tests by traversing the graph and identifying key paths and edge cases.
- Client Libraries: Create language-specific clients by translating the API graph into code.
-
Continuous Updates: As the code or API evolves, update the graph structure to ensure all generated elements stay in sync.
- Comprehensive Test Suite Creation: Generate thorough test cases that cover complex interactions within your codebase.
- API Client Library Generation: Automatically create and maintain client libraries in multiple languages.
- Code Documentation: Use the graph structure to generate detailed and context-aware documentation.
- Code Analysis and Refactoring: Identify patterns, dependencies, and potential improvements in your codebase.
Check out our Getting Started Guide to learn how to:
- Set up CLI-Gen in your development environment.
- Generate the graph representation of your code or API.
- Use CLI-Gen's features for test generation, client library creation, and more.
We welcome contributions, ideas, and feedback. Join us in exploring the potential of graph-based code understanding and generation!