The Lemonade SDK project welcomes contributions from everyone!
See code organization for an overview of the repository.
Lemonade Server integrates quickly with most OpenAI-compatible LLM apps.
You can:
.md file to the server apps folder. Follow the style of the Open WebUI guide.Guides should:
To contribute code or examples, first open an Issue with:
enhancement, good first issue, etc.).One of the maintainers will get back to you ASAP with guidance.
Current UI Development Approach:
For now, UI and frontend development is being handled exclusively by core maintainers. Here’s why: AI-assisted coding has made building UIs incredibly fast, but it’s also made reviewing UI PRs quite challenging. UI changes often involve complex state management, visual consistency, accessibility considerations, and cross-platform considerations that require deep context about the entire application architecture.
How You Can Still Influence the UI:
We want your creativity and insights! Share UI/UX ideas, report bugs, or request features via Issue or Discord. Include mockups, screenshots, and reproduction steps where relevant.
UI Scope: Management, Not Competition:
Our UI exists to facilitate Lemonade management - not to compete with the apps built on top of Lemonade. While it’s tempting to add agentic workflows, advanced chat features, or other sophisticated capabilities, that’s not our goal. We focus on making model management, configuration, and monitoring delightful and effortless. Defining this line isn’t always easy, but use this principle as your guide when considering new UI features.
Use Issues to report bugs or suggest features.
A maintainer will apply one of these labels to indicate the status:
on roadmap: planned for development.good first issue: open for contributors.needs detail: needs clarification before proceeding.wontfix: out of scope or unmaintainable.Submit a PR to contribute code. Maintainers:
Discuss major changes via an Issue first.
We require that all Python files in this repo adhere to black formatting. This is enforced with a black check in CI workflows.
The easiest way to ensure proper formatting is to enable the black formatter in VSCode with format-on-save:
Install the Python extension: Install the Python extension for VSCode if you haven’t already.
This will automatically format your code according to black standards whenever you save a file.
You can also install black directly and run it manually:
# Install black (if not already installed)
pip install black
# Run black formatter on your file
black your_file.py
We use linting tools to maintain code quality and catch potential issues. The project uses standard Python linting tools that are automatically run in CI.
To run linting checks locally before submitting a PR:
# Install linting dependencies (if not already installed)
pip install pylint
# Run pylint from the root of the repo
pylint src/lemonade --rcfile .pylintrc --disable E0401
This will show linting warnings and errors in your terminal.
Tests are run automatically on each PR. These include:
black)To run tests locally, use the commands in .github/workflows/.
We follow Semantic Versioning.