Skip to content

eme130/lazymd

Repository files navigation

LazyMD

A terminal-based markdown editor written in Go. Inspired by lazygit and lazydocker.

Go License CI

+---------------------------------------------------------------------------+
| LazyMD v0.1.0                         Tab:panels  1:tree  2:preview      |
+------------+--------------------------------------+----------------------+
| Files      |  1  # Welcome to LazyMD             | Preview              |
|            |  2                                    |                      |
|  src       |  3  A **fast** terminal editor        | Welcome to LazyMD   |
|  README    |  4  with *vim* keybindings.           | ==================  |
|  main      |  5                                    |                      |
|            |  6  ## Features                       | A fast terminal      |
|            |  7                                    | editor with vim      |
|            |  8  - Syntax highlighting             | keybindings.         |
|            |  9  - Live preview                    |                      |
|            | 10  - `plugin system`                 | Features             |
|            |                                       | --------             |
|            |                                       | - Syntax highlighting|
|            |                                       | - Live preview       |
|            |                                       | - plugin system      |
+------------+--------------------------------------+----------------------+
| NORMAL  README.md                                          Ln 1, Col 1   |
|                                                                           |
+---------------------------------------------------------------------------+

Install

git clone https://github.com/EME130/lazymd.git
cd lazymd
go build -o lm ./cmd/lm

Optionally copy the binary to your PATH:

cp lm /usr/local/bin/

Pre-built binaries are available on the Releases page.

Quick Start

lm myfile.md       # Open a file
lm                  # Open current directory (file tree)
lm notes.md        # Create a new file

Press i to insert, Escape to return to normal mode, :w to save, :q to quit.

MCP Server

LazyMD is an MCP server with 22 built-in tools. AI agents connect over stdio to read, navigate, and edit markdown documents.

lm --mcp-server              # Start MCP server
lm --mcp-server myfile.md    # With a file preloaded
# Claude Code
claude mcp add LazyMD -- /path/to/lm --mcp-server
// Gemini CLI (~/.gemini/settings.json)
{ "mcpServers": { "LazyMD": { "command": "/path/to/lm", "args": ["--mcp-server"] } } }

Documentation

Development

task --list           # Show all targets
task build            # Build TUI → bin/lm
task run              # Run TUI
task test             # Run all tests
task lint             # Format + vet
task debug            # Debug TUI with delve

Desktop (Wails)

task desktop:install  # Install frontend deps
task desktop:build    # Build desktop → bin/lm-desktop
task desktop:dev      # Wails dev mode (hot reload)
task debug:desktop    # Debug desktop with delve

Pass arguments: task run -- myfile.md


Inspired by lazygit and llvm

Be grateful for what we have — and use it to make Earth a heaven.

Disclaimer: This project is not for sale, not for profit, and not for you to monetize. It was built with love — for Kleopetra. If your first instinct is to figure out how to make money from it, you're in the wrong place.

License

MIT

About

LadyMD (aka lm) is compiler which compiles your ideas into something valueable

Topics

Resources

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors