Skip to content

Latest commit

 

History

History
75 lines (56 loc) · 6.53 KB

contribute.md

File metadata and controls

75 lines (56 loc) · 6.53 KB

Contributing to Lemonade

We're excited that you are interested in contributing!

Before contributing, please familiarize yourself with these 3 documents:

  1. The project philosophy will help you understand design priorities.
  2. The AI content policy is essential to make sure your communications are well received.
  3. Understanding the spec-driven development guide is required before opening a pull request.

We also highly recommend that all contributors join the Lemonade discord community, meet the maintainers and get a sense of what is trending.

Welcome to the project!

Development Process

Working Groups

Lemonade's roadmap is defined by a set of working groups. Most substantial contributions should be within the scope of an existing group, and you can join by reaching out to the leads.

If you want to found a new working group, or make any change to Lemonade's scope, surface area, or user experience, you need to follow the spec-driven development process.

PR Expectation

Each contribution needs to:

  1. Accurately describe the scope, use case, and implementation in the PR body. This must be human-written per the AI content policy.
  2. Solve one clearly defined problem, and limit its scope to what is necessary.
  3. Pass the CI tests and follow the testing guide.
    • Contributors: make sure the code builds locally before creating the PR.
    • Reviewers: make sure to check the code before allowing CI to run!
  4. Meet the requirements of the documentation guide.
  5. Sustain the overall code quality and standards of the rest of the repo.

The fastest way to build trust as a new contributor is to submit small, clear, well-tested PRs that are easy to review and easy to verify.

Opening a PR

  1. Depending on the complexity and nature of your contribution:
    • Simple fixes: just make a PR.
    • Already within the scope of a working group: just make a PR, and link the working group in the PR body.
    • Anything else: open an RFC, get it approved, and link it in the PR body.
  2. Create a fork of Lemonade repo and implement your code.
  3. You are strongly encouraged to run an AI code review tool yourself, such as claude /code-review and address any issues before opening your PR. Reviewers may put your PR back to draft status and ask you to do this.
  4. Make a pull request to merge your code back to the main repo.
  5. A Lemonade administrator will triage your PR and assign it a label:
  • rfc:not-required or rfc:on-roadmap: ready for review.
  • rfc:required: PR will be marked as a draft until an approved RFC or working group is linked.

Maintainers

While each maintainer is welcome to work on any part of the Lemonade codebase, each maintainer does have specific knowledge of certain areas. You should use their knowledge as a starting point for designing your contribution, and they will be the ones to review your contribution when it is ready.

"Admin maintainer" means that individual is a repository admin who can tag releases and take other administrative actions.

Tip

Whenever possible, PRs should have at least one reviewer with subject area expertise. Try to avoid merging PRs that are approved, but not thoroughly reviewed.

Maintainer Admin Subject Areas
@jeremyfowers Yes new endpoints, new backends, large new features, GUI design language, new CLI commands, website, governance, Lemonade Mix (LMX) omni models, ci
@kenvandine Yes snaps, linux, new backends, hardware vendor support, Nvidia CUDA, ARM
@ramkrishna2910 Yes new backends, new modalities, vLLM, whisper, stable diffusion, smart router and orchestration, cloud API integration, external partnerships, NPU
@superm1 Yes ROCm, linux packaging, system info, security, Docker, containers, llamacpp, NPU , FastFlowLM
@abn telemetry, sandboxing, http
@bitgamma thenoise, cli, recipes, new backends, benchmarking, new models
@eddierichter-amd smart router
@fl0rianr Lemonade Mix (LMX) omni models, GUI, ci, smart router
@Geramy sockets, tcp/ip, udp, named pipes, mac, security, Nexus mesh compute
@kpoineal GUI, app, a11y, Windows, LemonAIde
@pwilkin Trellis, OpenMOSS, ACE-Step, ThinkSound, llamacpp
@sawansri agents, tui, cli, new backends, launch, vLLM, new models
@siavashhub MCP, chat repl, Docker, containers
@SlawomirNowaczyk smart router
@sofiageo linux packaging, flatpak, GUI design language, benchmarking
@valiabhay Fedora