Lentil
Terminal output messages often vary significantly in clarity and usefulness. Many developers know the frustration of compiling a program only to be overwhelmed by hundreds of lines of cryptic or irrelevant messages.
Lentil is a tool that enhances command-line output by filtering unnecessary noise and emphasising the most relevant information. It goes a step further by suggesting potential fixes based on the context of your project files.
Lentil empowers developers to navigate complex compiler outputs more efficiently, reducing time spent on debugging.
Usage
Just type lentil before your usual compilation command!
$ lentil gcc main.c
Instead of sifting through a sea of cryptic messages, view it through Lentil.
Lentil captures both stdout and stderr, then uses retrieval-augmented generation (RAG) techniques to contextualise the output. By analysing your project files recursively, it converts compiler messages into a standardised intermediate representation (IR), which is then presented in a clear and structured format on the webapp.
Key Features
- Live updates: Continuously reflects changes as you code.
- Language agnostic: Works with any programming language and integrates seamlessly with various editors.
- Flexible integration: Can be used as a standalone command or integrated into existing tools via its IR.
Architecture Overview
Core application
The core is built with OCaml and is responsible for:
- Capturing stdout, stderr, and the context of the current working directory
- Producing a standardised IR that powers the frontend
- Starting the web server
Web server
Lentil also includes a web server written in Python, serving three main functions:
- RAG facilitation: Using a Chroma vector database for contextual analysis
- LLM inference: Generating AI-driven explanations and recommendations
- Web interface: Offering a modern, browser-based view for enhanced user experience
To start the web server:
$ lentil --serve
* Running on http://127.0.0.1:5000
Get Started
Explore the code and contribute to the project on GitHub.
Built With
- chromadb
- llm
- ocaml
- openai
- python
- react
- typescript
Log in or sign up for Devpost to join the conversation.