Skip to content

[REC] druk β€” terminal code editor, single self-contained binary with tree-sitter syntax + LSPΒ #102

Description

@edwinjhlee

πŸ”— Website

https://github.com/letstri/druk (homepage: https://druk.sh)

πŸ“¦ Ready to be included in x-cmd pkg?

Yes. Every release ships prebuilt binaries through GitHub Releases: macOS arm64 + x86_64, Linux arm64 + x86_64, Windows x86_64, plus .deb / .rpm packages and npm/bun launchers. Latest: https://github.com/letstri/druk/releases/latest

πŸ“₯ How to install

```sh

one-line installer (puts binary in ~/.druk/bin, appends to PATH)

curl -fsSL https://druk.letstri.dev/install | bash

package managers

brew install letstri/tap/druk
npm install -g druk
bun add -g druk

or platform packages

Debian/Ubuntu: .deb from releases page

Fedora/openSUSE: .rpm from releases page

```

Pin a version: `| bash -s -- --version 1.0.1`. Skip shell-modify: `--no-modify-path`. Mirror via `DRUK_DOWNLOAD_BASE`.

πŸ“ TLDR

A code editor for the terminal: file tree, tabs, search, git marks and syntax highlighting for 30+ languages β€” keyboard and mouse. One self-contained executable (no Node/Bun required for the binary itself; the npm/bun packages are launchers that download the same binary). Tree-sitter syntax and language-server support out of the box.

🌟 Highlights

  • One binary: prebuilt and shipped for macOS (arm64, x64), Linux (arm64, x64), Windows (x64) β€” plus `.deb` / `.rpm` and an npm/bun launcher wrapper.
  • Tree-sitter syntax + LSP: 30+ languages with syntax highlighting, language-server integration without per-tool config.
  • Built-in git marks: file tree shows git status; dedicated source-control panel.
  • Smart upgrade path: `druk update` detects how it was installed (Homebrew, the install script, npm/pnpm/yarn/bun) and runs the right upgrade.
  • Project opening modes: `druk` (cwd), `druk ./dir`, `druk src/main.ts`, `druk src/main.ts:42`, `druk src/main.ts:42:7` (line + column).
  • Out-of-the-box UX: `Tab` switches sidebar↔editor, `Ctrl+B` toggles tree, palette commands (e.g. View β†’ Collapse folders in sidebar).
  • Self-updates, mirror-friendly via `DRUK_DOWNLOAD_BASE` env var.

Comparison with micro / helix / nvim + LSP is in the upstream README ("How it compares"). Card repo already exists: https://github.com/x-cmd-install/druk (data warehouse populated).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions