Skip to main content
// contribute

Built in the open.
Good, bad, and ugly.

LemmaScript is young, and the ground floor is wide open. The people who show up now will shape how correct-by-construction software gets built — the language, the tools, and what agents can guarantee. Here's where it stands today, and where you come in.

// start here

First time contributing?

Welcome and thank you for your interest! Pick the on-ramp that matches the time you have; all three are real contributions.

Start small

A typo, a docs gap, a confusing error message. Open an issue or a pull request straight away — no setup or permission needed.

Bring your own code

Point LemmaScript at a module you know well. Wherever it can’t express a property you care about, that gap is the contribution — open an issue with the case.

Go deep

Take on one of the known limits of what the toolchain can express. This is the highest-leverage work in the project. It also requires the most effort.

i
No gatekeeping. A good bug report with a minimal reproduction is a real contribution on its own; you don't need to write the fix.
// the map

What can I contribute to?

The language & compiler

The core toolchain: the contract language, what it can express, and the walls that still stand. Deep work, and the most leverage per line.

The ecosystem

Tools that snap onto the core — lint rules, editor helpers, CI surfaces, new pieces of the loop. Build the one you wish existed and submit it.

Errors & diagnostics

Anywhere the toolchain is confusing, unhelpful, or just wrong. If something surprised you or slowed you down, it’s worth an issue.

Docs & skills

If something took you or your AI agent longer to figure out than it should have, that’s a docs and/or skills gap. Fixes there help the next team move faster.

// agents & LLMs

Using LLMs? Of course.

LemmaScript is built for a future where agents write the majority of the code. We're not going to ask you to leave yours at the door. The ground rules are about ownership and excellence, not the tools you use.

Agent-driven implementation is okay; agent-driven thinking is not

Agent-implemented contributions are welcome. However, agents tend to overfit to the problem in front of them. The best improvements and fixes come from you zooming out and asking how to make this fix/feature broad enough to cover an entire class of issues rather than just one specific use case.

You alone are the author of record

Review and understand everything you submit regardless of who or what wrote it. If you can’t explain the change, or answer questions about it, it isn’t ready. Reviewer time is a scarce resource.

Never let an agent weaken a guarantee

The fastest way to make something pass is to relax a contract. Agents love to get to a green checkmark with this workaround. Triple check that your contribution is strengthening the system as a whole. Never trust an agent's word that it got to the result through the proper channels.

Or let your agent contribute as it works

Coming soon

The special case to the rules above: a drop-in skill that turns everyday use into contributions. As your agent works with LemmaScript, it recognizes when it has hit a gap or a rough edge, files the issue on the spot, and — when the fix is within reach — submits the pull request itself. You stay the reviewer; the loop does the rest.

// showcase

Built something with LemmaScript? Show it off.

The best proof this works is what people build with it. Ship a project with a contract-backed core — an app, a library, a tool — and submit it to the showcase. We feature the best ones on the site, with full credit to you.