Creator: Oriel Silva Jr | LatchyCat
Lumière Sémantique is a sophisticated, AI-powered software development assistant designed to illuminate the complexities of your codebase. It combines the power of Large Language Models (LLMs) with advanced code analysis techniques to provide deep insights, automate tedious tasks, and accelerate your development workflow.
Lumière Sémantique is more than just a code analysis tool; it's a comprehensive suite of services designed to assist developers at every stage of the development lifecycle.
- Strategist: Prioritizes issues based on impact and complexity.
- Cartographer: Generates interactive architectural graphs of your codebase.
- Oracle: Answers architectural questions about your code.
- BOM (Bill of Materials): Provides a detailed breakdown of your project's dependencies, services, and security vulnerabilities.
- Loremaster: Creates and manages a knowledge base for your project.
- Summoner: Generates new code components and features based on your specifications.
- Mage: Performs magical code transformations and refactoring.
- Crucible: Validates code changes in a sandboxed environment.
- Ambassador: Automates the creation of pull requests.
- Onboarding Concierge: Helps new developers get up to speed quickly by suggesting good first issues and finding experts.
- Diplomat: Finds similar issues to prevent duplicate work.
- Review Service: Adjudicates and harmonizes pull requests.
- Quartermaster: Manages resources and dependencies.
- Sentinel: Monitors repository health and metrics.
- Profile Service: Analyzes and suggests improvements for developer profiles.
- Python 3.8+
- Django
- Other dependencies listed in
backend/requirements.txt
- Clone the repository:
git clone https://github.com/LatchyCat/lumiere-semantique.git cd lumiere-semantique - Install the required dependencies:
pip install -r backend/requirements.txt
The backend server provides the core API for the CLI and future web interface.
To start the Django server, run the following command from the project root:
./start_server.shThis will start the development server on http://127.0.0.1:8002/.
The Lumière Sémantique CLI is your primary interface for interacting with the various services.
To start the CLI, run the following command from the project root:
python lumiere.pyThis will launch the interactive CLI, where you can access all of Lumière Sémantique's features.
The next major milestone for Lumière Sémantique is the development of a modern, intuitive frontend using Vite + React. This will provide a rich, graphical interface for visualizing data, interacting with the various services, and making the power of Lumière Sémantique even more accessible.
Stay tuned for updates!
You can interact directly with the Lumière Sémantique backend API using curl. Ensure the Django server is running (./start_server.sh) before attempting these calls. The base URL for the API is http://127.0.0.1:8002/api/v1.
- Description: Retrieves a list of all LLM models configured and available for use by the system.
- Endpoint:
/models/list/(GET)
curl -X GET http://127.0.0.1:8002/api/v1/models/list/- Description: Initiates the ingestion process for a specified GitHub repository. This clones the repository and prepares it for analysis.
- Endpoint:
/ingest/(POST) - Note: Replace
YOUR_GITHUB_REPO_URLwith an actual GitHub repository URL (e.g.,https://github.com/octocat/Spoon-Knife).
curl -X POST http://127.0.0.1:8002/api/v1/ingest/ \
-H "Content-Type: application/json" \
-d '{"repo_url": "YOUR_GITHUB_REPO_URL"}'- Description: Queries the Oracle service for insights or answers about an already ingested repository.
- Endpoint:
/oracle/ask/(POST) - Note: Replace
YOUR_REPO_ID(e.g.,octocat_Spoon-Knife) andYOUR_QUESTIONwith relevant values. Therepo_idis typically the GitHub user/repo name with/replaced by_.
curl -X POST http://127.0.0.1:8002/api/v1/oracle/ask/ \
-H "Content-Type: application/json" \
-d '{"repo_id": "YOUR_REPO_ID", "question": "YOUR_QUESTION"}'- Description: Fetches a list of all repositories that have been successfully ingested and analyzed by Lumière Sémantique.
- Endpoint:
/repositories/(GET)
curl -X GET http://127.0.0.1:8002/api/v1/repositories/- Description: Retrieves a summary of the Bill of Materials for a specified repository, including dependencies, services, and security overview.
- Endpoint:
/bom/(GET) - Note: Replace
YOUR_REPO_IDwith an actual ingested repository ID.
curl -X GET "http://127.0.0.1:8002/api/v1/bom/?repo_id=YOUR_REPO_ID&format=summary"