One binary · zero ceremony

The package & project manager for let-go

Git deps, runner, build tool, test runner, scaffolder, and task runner — in one binary.

$ brew install abogoyavlensky/tap/lgx
View on GitHub →
~/projects
$ lgx new hello
=> Creating project hello...
Created hello at /Users/you/projects/hello

Next steps:
  cd hello
  lgx run
$ cd hello
$ lgx run
Welcome to let-go!

Everything a project needs

Declare your project in one small lgx.edn and let go...

Git-based dependencies

Pin libraries straight from git by tag or sha. Transitive deps are resolved too, with first-wins conflict handling.

{:deps
 {tiny-cli
  {:git/url "https://github.com/..."
   :git/tag "v0.2.0"}}}

Run & REPL

lgx run fetches deps and runs your entrypoint with everything on the source path. lgx nrepl runs an nREPL server on a random port for your editor.

$ lgx run
$ lgx nrepl

Standalone binaries

lgx build bundles your app into a single executable — resources embedded, nothing to install on the target machine.

$ lgx build
$ ./bin/myapp

Test runner

lgx test discovers every test file under `test/` dir and runs each `deftest`. No harness to maintain. Beautiful and informative output.

$ lgx test
 24 assertions, 0 failures

Project scaffolding

lgx new starts a project from the built-in base or cli templates — or from any git repo you point it at.

$ lgx new myapp
$ lgx new mycliapp -t cli

Tasks & contexts

Replace your Makefile with tasks in lgx.edn, complete with shell commands, .lg-scripts and typed positional args. Add a custom context layer to extend deps and paths.

{:tasks
 {check {:doc "Run all checks"
         :do  [{:sh "cljfmt check"}
               {:run "scripts/check.lg"}]}}}

Install in seconds

Prebuilt binaries for macOS and Linux. Pick whichever fits your setup.

Homebrew

macOS and Linux.

brew install abogoyavlensky/tap/lgx

mise

Globally, or pinned per project in .mise.toml.

mise use -g github:abogoyavlensky/lgx@latest

Install script

Latest release to ~/.local/bin/lgx.

curl -fsSL https://raw.githubusercontent.com/abogoyavlensky/lgx/master/scripts/install.sh | bash

Requires let-go. lgx drives the lg binary (≥ 1.10.0), so it needs lg on your PATH — plus git for fetching deps.