Lean web editor https://live.lean-lang.org/
  • TypeScript 73.3%
  • JavaScript 13.4%
  • CSS 9%
  • Lean 1.9%
  • Shell 1.9%
  • Other 0.5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Robert J. Simmons 2d798028d2
chore: minor cleanups (#162)
This is mostly the result of looking over #54 and removing the really
inessential divergences.
2026-10-28 15:36:46 -04:00
.github/workflows chore: update pinned actions to their SHA-pinned releases (#154) 2026-10-02 17:25:36 +10:00
.vscode chore: enable autoformatting with oxfmt (#129) 2026-06-28 00:15:47 +02:00
client chore: minor cleanups (#162) 2026-10-28 15:36:46 -04:00
cypress fix: tests (#152) 2026-08-30 14:53:27 +02:00
doc chore: minor cleanups (#162) 2026-10-28 15:36:46 -04:00
Projects bump dependencies (#158) 2026-10-28 00:10:36 +01:00
server fix: zod validation of all yjs-directed messages (#161) 2026-10-28 00:09:39 +01:00
.editorconfig prettier & tailwind (#84) 2025-12-28 16:52:56 +01:00
.gitignore Validate project files, add order, insert version (#122) 2026-06-27 20:23:55 +02:00
.npmrc Add cypress (#57) 2025-03-07 17:02:09 +01:00
cypress.config.ts chore: enable autoformatting with oxfmt (#129) 2026-06-28 00:15:47 +02:00
ecosystem.config.cjs chore: enable autoformatting with oxfmt (#129) 2026-06-28 00:15:47 +02:00
LICENSE add license 2023-08-28 14:46:24 +02:00
oxfmt.config.ts chore: replace eslint and prettier with oxlint and oxfmt (#128) 2026-06-28 00:13:37 +02:00
oxlint.config.ts chore: replace eslint and prettier with oxlint and oxfmt (#128) 2026-06-28 00:13:37 +02:00
package-lock.json bump dependencies (#158) 2026-10-28 00:10:36 +01:00
package.json fix: prevent websockets from crashing server and sanitise project names (#157) 2026-10-27 11:11:33 +01:00
README.md Update README.md 2026-10-27 11:25:25 +01:00
SECURITY.md Add security policy (#93) 2026-03-14 12:18:32 +01:00

GitHub license ci status

Lean Web

This is a web application running Lean 4 server-side. There is a playground hosted at live.lean-lang.org and one at lean.math.hhu.de.

In contrast to the Lean 3 web editor, in this web editor, the Lean server is running on a web server, and not in the browser.

Scope of Lean Web

  • Minimalistic and accessible way to run some (smallish) Lean snippets
  • Run MWEs from Zulip with the latest Mathlib installed.
  • Demonstrate some Lean code in talks/lecutres.
  • Doodling around with Lean before installing it as a newcomer.
  • Run some Lean code in a mobile context.

Currently, serious Lean code development and larger projects are considered out-of-scope. For these, it might be more suitable to look at a setup using Codespaces or Gitpot.

While lean4web looks very similar to VSCode with the Lean4 extension installed - and it reuses much of that code - lean4web does not claim to be feature complete.

Security

Providing the use access to a Lean instance running on the server is a severe security risk. That is why we start the Lean server with bubblewrap.

To report security issues, please see Security Policy

Contribution

If you experience any problems, or have feature requests, please open an issue here!

PRs fixing issues are very welcome!

Regarding new features, it's best to write an issue first to discuss them: For example, some functionality might be better implemented in lean4monaco which provides the key features and a discussion might be helpful to figure this out.

Documentation