Repository navigation
Releases: sazardev/leader
Release list
Leader 1.14.2: an empty __init__.py is not a failure
Leader 1.14.2 (includes 1.14.1 and 1.14.0)
Highlights
- An empty file can be a right answer: a build used to report a failure for every file the model left empty, including the ones
that are correct that way (a Python__init__.py, a.gitkeep,py.typed, the requirements file of a project with no
dependencies). It now does for those what it should: nothing.
Fixes
- build: an empty init.py is not a failed answer (5ecfbb0)
1.14.1
Highlights
- Checked against a real build: a build of a small project with Claude Haiku (13 files, $0.03, under 3 minutes) did what the
1.14.0 notes promise: it named its riskiest requirement, deferred the one SPEC.md left open and said why, ended⚠ built · 3/4 requirements have a testinstead of✓, and left a.leader/folder with nothing of the project in it. Two details came out
of it and are fixed here: the plan review no longer calls a test that uses a fake or a temporary directory a "stand-in", and the
builder's own wiring check is recorded under its name.
Fixes
- build: tests are not stand-ins, name the wiring check (1ff9203)
Verify: see packaging/README.md (every file has a detached signature from the Leader Releases key; SHA256SUMS is signed).
Leader 1.14.1: honest builds and a local .leader folder
Leader 1.14.1 (includes 1.14.0)
Highlights
- Checked against a real build: a build of a small project with Claude Haiku (13 files, $0.03, under 3 minutes) did what the
1.14.0 notes promise: it named its riskiest requirement, deferred the one SPEC.md left open and said why, ended⚠ built · 3/4 requirements have a testinstead of✓, and left a.leader/folder with nothing of the project in it. Two details came out
of it and are fixed here: the plan review no longer calls a test that uses a fake or a temporary directory a "stand-in", and the
builder's own wiring check is recorded under its name.
Fixes
- build: tests are not stand-ins, name the wiring check (1ff9203)
1.14.0
Highlights
- A build no longer calls itself done when it only compiles: the closing line now says what is proven, e.g.
◐ built · 23 files · checks pass · 5/17 requirements have a test · core without one: FR-16 · 2 placeholders, and it is✓only when every requirement has a
test and nothing is open. PROGRESS.md carries the same proof and what is open. A layer build (foundation, design, domain) reports the
numbers but keeps✓;kit.build.strictmakes an unproven build a failure. - A repair cannot delete your code quietly: before a replan trashes files, the review lists what goes (lines, public types, tests, who
still uses them) and asks, and the closing line counts the public declarations a build removed or the tests it made unproven. - Layers build on the code that is there: a whole-project build used to plan from the documents and the ADRs' text only, so it wrote
the code earlier builds had left a second time under other names (two ports, two controllers, hundreds of analyzer errors). It now sees
the project's files and their API. A free check fails when a public type is declared in two files, Flutter projects runflutter test
and Rust onescargo test, and plans name their risks and what they defer, with a warning for stand-ins of core requirements. .leader/in every project the builder touches: how Leader worked there (how builds end, which checks fail, what a model costs,
whether you accept a proposal) as counts, sizes, durations, costs and outcomes, for measuring and improving Leader from real use.
Offline: nothing is ever sent. It is never your work: a schema is the only gate, so unknown fields are dropped, file names are salted
hashes, and there is no code, prompt, answer, name or text. The folder documents itself, ignores itself in git,<leader>aSlshows the
report,LEADER_NO_DATA=1turns it off, and deleting it clears everything.
Features
- build: honest builds and a local .leader folder (1cb1c6e)
Fixes
- build: skip examples in the duplicate check, hide custom models (bebfb1d)
Documentation
- build: proof, loss gate, duplicates and the .leader folder (94a536e)
Chores
- deps: update the plugin lockfile (3ab99c6)
Verify: see packaging/README.md (every file has a detached signature from the Leader Releases key; SHA256SUMS is signed).
Leader 1.12.2: your nvim speaks Herdr
Highlights
- Your nvim now speaks Herdr: Herdr is the terminal workspace that runs the coding agents, and
Leader talks to its CLI.<leader>Waopens the breakdown of the workspace: one row per agent grouped by workspace (its
state, the agent and where it is), the transcript of the one under the cursor and why Herdr thinks it is in that
state (the rule that matched). It refreshes on its own, so what is on screen is the state now.<leader>Wsis the
setup: it detects the binary, the version, the server and the agents' integrations, and installs what is missing
(nothing without the button) — the installer does the same, and the start screen gets an Agents button when Herdr
is there. - And Herdr sees what your nvim is doing: nvim registers itself as an agent of the workspace and says what it is
doing (workingwhile the inline agent runs,blockedwhile a proposal waits for you,idleotherwise), so the
Agents panel of Herdr shows it. It never takes the pane from a real agent that already owns it, and a headless nvim (a
script, a test) does not register at all.
Features
- herdr: the workspace of agents under W (135c337)
These binaries are NOT signed. The release key ("Leader Releases",
8E437A7936E48EAEDA88CD73A7DCC3DBB671476A) is not on the machine that built this
pre-release, so there is no.ascnext to the files. The one-command installer
(releases/latest/download/leader-installer.sh) keeps serving the signed v1.12.0
until this one is signed; this pre-release does not replace it.To sign it: put the key in
~/.gnupg-leader-releasesand runapp/package.shagain —
the.ascfiles and the signedSHA256SUMSappear next to these.
Leader 1.12.0: faster Lua, Flutter run/stop, sessions safe from tests
Highlights
- Lua answers across files ~2.5x sooner: Lua now uses
emmylua_ls(a Rust server) when it is installed, andlua_ls
otherwise. On this repo's 670 files cross-file go-to-definition worked at ~0.7 s against ~3.8 s on the bare workspace,
and ~2.5x sooner with the full config, with the same hover, completion and diagnostics.lua_lskeeps nothing between
sessions and itsmaxPreloadhas no effect, so the way to speed it up was a faster server. Mason installs it with the
rest;settings.lsp.lua_serverforces either one. <leader>drruns and stops a Flutter app: pressed again while the app runs, it quits it and closes the debugger and
every panel that opened, instead of only saying it is already running.- Your sessions are safe from tests: Neovim saves a session on every exit, and a headless test that opened temp files
in a repo replaced that folder's real session with files that no longer existed, so restoring the project opened an empty
buffer. Persistence now stays off without a UI, every test script runs against a throwaway state directory, and the whole
suite leaves sessions, recent files, agent history and logs byte-identical.
Features
- dart: leader dr toggles run/stop (fffd15c)
Fixes
- sessions: tests and headless runs never write your state (db55542)
Performance
- lsp: Lua gets emmylua_ls when it is installed (~2.5x faster) (ccc1a54)
Leader 1.10.0: signed packages, a .deb, Arch, the logo
Highlights
- Install it the way your system expects: a
.debfor Debian, Ubuntu, Mint and Pop!_OS, PKGBUILDs for Arch and CachyOS
(prebuilt and from source), the one-command installer for any Linux and WSL, and./install.sh --appfrom a clone. They
add the menu entry, the icons, the manual (man leader) andleader-setup, and uninstalling removes exactly what was
installed. - Signed releases: every file has a SHA-256 and a detached signature by the Leader Releases key (fingerprint in
packaging/README.md). The installer requires a signature made by exactly that key whengpgis installed, and refuses
a forged or missing one. - The logo, clear: the N is the window icon, the menu icon at every size (a solid N when small, the dotted one when
large) and the art of the About dialog. The app id isio.github.sazardev.Leader, so launchers pair the window with
its icon and menu entry. - First launch that explains itself: no Neovim says so in a notification; no Neovim config runs
leader-setupin the
window's own terminal. AppStream metadata, a New Window action, a license (MIT) and a site with Open Graph cards,
structured data, a sitemap and real screenshots.
Features
- site: SEO, screenshots, install options for every system (eab5dbc)
- packaging: signed releases, a .deb and Arch PKGBUILDs (3ebec37)
- app: the logo everywhere, an app id, first-launch setup (035cbea)
Install
| System | How |
|---|---|
| Any Linux x86_64, WSL | curl -fsSL https://github.com/sazardev/leader/releases/latest/download/leader-installer.sh | bash |
| Debian, Ubuntu, Mint, Pop!_OS | sudo apt install ./leader-editor-amd64.deb |
| Arch, CachyOS, Manjaro | packaging/arch/leader-editor-bin (makepkg -si) |
Verify: SHA256SUMS and the .asc signatures, made by the Leader Releases key 8E43 7A79 36E4 8EAE DA88 CD73 A7DC C3DB B671 476A (how).
Leader 1.9.0: projects first, updates, Esc closes everything
Highlights
- Projects first, like an IDE: Leader asks which project to open when it starts (or reopens the last one, or shows the
start screen: your choice),leader <folder>opens that folder, and starting inside a repo opens that repo. The picker
keeps its facts and the list it found on disk, reads git in the background one folder at a time, pins projects (p),
and a Yazi-like browser (b:hup,lin,Enteropens) walks your folders. - Updates, connected: a
↑ 1.9.0badge in the bar and a line at the top of the logo's menu when a newer version
exists; a page shows what changed version by version and updates on request (the config withgit pull --ff-only, the
app through its installer). One tiny request, never more often than every 12 hours, never updates by itself. - Recent files that belong to the project you are in, not everything you ever opened (
Ctrl+Awidens it). - Esc closes whatever is extra: help, quickfix, panels, floats, pickers (from insert too), lone tabs; never the last
window. The hidden cursor has one owner list now, so it can no longer stay invisible after pages overlap. - Install progress in numbers: every language tool with its state, time, bytes and speed, a bar, and a warning
when data stops arriving. The window remembers its size, place and maximized state; the frame is yours to pick. - Speed: hovering never scrolls a list, hovers are coalesced, Telescope no longer leaks a buffer per open, streaming
answers redraw at most every 40 ms, and a list that fails to open leaves nothing behind.
Features
- gui: projects first, a folder browser, install progress, Esc (e9ccc65)
- app: keep the window's size, place and maximized state (fd876ef)
- ui: one owner list for the hidden cursor, Esc closes extra windows (0157e10)
- update: detect new versions, show the changelog, update on request (3eac257)
- recent: recent files that belong to the project you are in (9ac6d49)
Leader 1.7.0: the editor, in its own window
Leader 1.7.0: the editor, in its own window
Leader now has a desktop app for Linux. leader is Neovim with Leader's config in its own GPU window, written in Rust: the
same editor you know, drawn in a single GPU draw call per frame and idle between keystrokes (~170 ms to the first frame,
GPU start included). On top of it, everything a desktop IDE should have: Zed-like menus, a command palette, your
projects, a project picker, a live status of what is running, and the mouse everywhere.
Install in one command
curl -fsSL https://github.com/sazardev/leader/releases/latest/download/leader-installer.sh | bashIt downloads the package, checks its SHA-256 and runs a guided installer:
- Checks this machine: Linux x86_64, glibc 2.31 or newer (Ubuntu 20.04, Debian 11, Fedora 32 and newer), a Wayland or X11 desktop, or WSL with WSLg.
- Installs the app:
~/.local/bin/leader, Leader in your applications menu, its icon. - Brings the editor when it is missing or older than the app: Neovim, Leader's config, plugins, language tools and parsers, through Leader's own installer. An existing Neovim config is moved to
nvim.bak-<date>, never deleted. - Opens Leader. The first launch is the welcome screen: it checks Neovim, plugins, parsers, language tools, the font, the GPU, the clipboard, your system tools and the AI agent, and installs what is missing with Enter.
Prefer the archive? Download leader-linux-x86_64.tar.gz, extract it and run ./install.sh (--help lists --yes, --no-config, --prefix, --uninstall). From a clone: ./install.sh --app builds it from source.
A tour
- A bar that is part of the editor: the editor's own color, it steps back while a modal is open. The current file as a clickable path, live activity (LSP indexing with its progress, installs, saves), and only what the statusline does not already say.
- Mouse everywhere: menus, pickers, modals, Telescope, the tree and the start screen follow the pointer and answer a click.
- Built for speed: nothing renders between keystrokes, glyphs are cached in a GPU atlas, block and box characters are drawn exactly so the flat design tiles with no seams. On WSL it draws with your Windows GPU through WSLg.
- Window keys:
F11fullscreen,Ctrl+Shift+Nnew window,Ctrl+Shift+Hhome,Ctrl+Shift+Rrecent files,Ctrl+=/Ctrl+-/Ctrl+0font size.
What else is new in 1.7.0
Highlights
- Leader for the desktop (Linux and WSL):
leader, a GPU window for the editor written in Rust. The same config,
drawn in one GPU draw call per frame, nothing running between keystrokes, ~170 ms to the first frame. Its own bar in the
theme's colors: Zed-like menus (File, Edit, Selection, View, Go, Run, Git, Agent, Window, Help), a command palette
(Ctrl+Shift+P), the projects you work in (switched with their sessions) and a full-screen project picker
(Ctrl+Shift+O), the current file as a clickable path, live activity (LSP indexing, installs, saves). Full mouse:
menus, pickers, modals, Telescope, the tree and the start screen follow the pointer and answer a click. A welcome
screen checks the install and fixes what is missing. Install it in one command
(curl -fsSL https://github.com/sazardev/leader/releases/latest/download/leader-installer.sh | bash: the app, plus
Neovim and the config when they are missing; Linux x86_64 with glibc 2.31+, WSL with WSLg) or from a clone with
./install.sh --app. - Doctor (
<leader>aX): a troubleshooting agent for builds that fail, apps that will not start or crash. Free
checks first (dependencies, lockfile,.env, toolchain versions, a merge in progress), then one confirmed request. - Merge conflicts (
<leader>Gx): trivial ones resolved for free, the rest one proposal per conflict. - Language packs: Python, TypeScript, Rust, SQL, Swift, JVM and more as packs, with tests in the editor, project
setup presets, debugging and a SQL runner. The installer asks once which packs you want. - A full-screen marketplace for SPEC.md modules and STACK.md / DESIGN.md add-ons, and a bigger library of each.
- Leader is the new name (repo
sazardev/leader), with a brand kit, wallpapers and a scripted product video.
Features
- app: release package with a guided installer (9cb78d4)
- gui: the config side of the desktop app (8c320ce)
- app: Leader desktop app, a GPU front-end for Neovim (f0ee3b0)
- site: wallpapers page, fed by a release of the brand assets (196b936)
- brand: logo, image catalog and wallpaper collection (602c5a7)
- video: scripted product video with keys, effects and score (9ec8b75)
- agent: doctor, a troubleshooting agent (4b23e52)
- git: merge conflict assistant (818657c)
- kit: full-screen marketplace and a bigger library (af08bb9)
- agent: statusline badge for one-shot requests (a2b18f9)
- languages: packs, tests in the editor, setup and SQL runner (4c6f2a1)
- agent: SPEC.md modules for what every app repeats (50e3da4)
Fixes
- kit: drop a stray local path from the design presets (9ced0ca)
Other changes
- docs(app): install and document the desktop app (fb4775e)
- chore(rename): rename my-nvim-setup to Leader (0a5425c)
- docs(agent): document the doctor, conflicts and marketplace (3a3e74a)
- docs(docs): list Go and Dart / Flutter under Languages (4270f1f)
Files
| File | What it is |
|---|---|
leader-installer.sh |
the one-command installer (downloads, verifies and installs the package) |
leader-linux-x86_64.tar.gz |
the app, its menu entry and icon, the guided installer, this changelog |
leader-linux-x86_64.tar.gz.sha256 |
its SHA-256 |
Leader brand assets (brand-1)
Wallpapers, images and the video of Leader's brand kit, built from commit 196b936.
Wallpapers: 102 designs in 270 files. Pick one by device on https://sazardev.github.io/leader/wallpapers/ or download a whole device:
leader-wallpapers-phone.zip: Phone 1170×2532, 96 images (14.1 MB)leader-wallpapers-desktop.zip: Desktop 2560×1440, 102 images (18.4 MB)leader-wallpapers-ultrawide.zip: Ultrawide 3440×1440, 60 images (11.8 MB)leader-wallpapers-4k.zip: 4K 3840×2160, 12 images (4.1 MB)
Brand kit: leader-brand-kit-1-landscape-square-logo.zip and leader-brand-kit-2-portrait-story-carousel.zip (every post size, carousels, banners, avatars, the logo and logo/svg), and leader-brand-USAGE.md (what goes where, with the text to post).
Video: leader-video-1080p.mp4.
Single wallpapers are named <device>-<design>.png (phone-, desktop-, ultrawide-, 4k-). This release is not a version of the config: its tag points to a commit outside master.




