liftoff

module
v0.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 28, 2026 License: MIT

README

liftoff

GitHub Stars GitHub Forks GitHub License Visitors release Go

lo (a.k.a. Liftoff) is a fast, cross-platform CLI designed to remove friction from your development workflow.

Instead of manually navigating folders, installing dependencies, and starting projects one by one, lo lets you launch everything from a single command — instantly.

lifoff

Features

  • Launch any project from your workspace with a single command
  • Zero-config runtime detection (Node, Rust, Python, Go, Java)
  • Automatic dependency installation
  • Launchpads: group multiple projects and start them together
  • Watch Mode: monitor your projects resources while its running
  • Cross-platform: Linux, macOS, Windows
  • Docker Compose support

Installation

Linux / macOS

curl -fsSL https://raw.githubusercontent.com/notliad/liftoff/main/install.sh | bash

Arch Linux (AUR)

You can install lo directly from the AUR using an AUR helper like yay or paru:

yay -S liftoff

or

paru -S liftoff

Windows (PowerShell)

irm https://raw.githubusercontent.com/notliad/liftoff/main/install.ps1 | iex

Build from source (requires Go 1.22+)

bash install.sh --from-local                               # build from ./cmd/lo
bash install.sh --from-module github.com/notliad/liftoff/cmd/lo@latest
bash install.sh --uninstall
.\install.ps1 -FromLocal
.\install.ps1 -FromModule github.com/notliad/liftoff/cmd/lo@latest
.\install.ps1 -Uninstall

Supported Languages & Frameworks

Node.js / JavaScript / TypeScript

  • Detects package.json with dev, start, docs:dev, or storybook scripts
  • Automatically selects package manager via lockfile: pnpm, bun, npm, yarn
  • If no lockfile is found, prompts interactively to choose an available package manager
  • Framework hints: Next.js, Nuxt, SvelteKit, Astro, NestJS, Remix, Vite+React, Vite+Vue, Vite, React, Vue, Angular, Express, Fastify, Hono

Rust

  • Detects Cargo.toml
  • Runs with cargo run
  • Framework hints: Axum, Actix, Rocket, Tauri, Bevy

Python

  • Detects pyproject.toml, requirements.txt, setup.py, mkdocs.yml
  • Parses pyproject.toml for smarter detection
  • Execution strategy: uv, poetry, or python (py on Windows)
  • Framework hints: FastAPI, Flask, Django, Streamlit, Gradio, MkDocs

Java

  • Detects pom.xml, build.gradle, build.gradle.kts
  • Maven: spring-boot:run or exec:java
  • Gradle: bootRun, run, or build
  • Framework hints: Spring, Quarkus, Micronaut

Go

  • Detects go.mod
  • Runs with go run . or go run ./cmd/<name>
  • Framework hints: Gin, Fiber, Echo, Chi, Temporal

Docs & Static Sites

Tool Detection
Docusaurus @docusaurus/core dependency
VuePress vuepress / @vuepress/core / vuepress-vite dependency, docs:dev script
MkDocs mkdocs.yml or mkdocs.yaml file; runs via mkdocs serve
Storybook @storybook/* packages or storybook CLI; appears as a separate entry in the project list alongside the main project
Docker Compose docker-compose.yaml, docker-compose.yml, compose.yaml, or compose.yml; appears as a separate entry and runs docker compose up -d --build --remove-orphans

Usage

lo                     # select project on list
lo [project-name]      # run a project
lo compose             # select compose on list
lo compose [name]      # run docker compose for a project root
lo --list, -l          # list projects
lo --pad, -p [name]    # run/create a launchpad
lo --pad --list        # list your launchpads
lo --pad --list [name] # list projects of a launchpad
lo --pad --edit [name] # edit your launchpad
lo --watch, -w [name]  # run project in watch mode
lo --settings, -s      # open settings menu
lo --help, -h          # i need somebody :)
lo --version, -v       # display version

First run

On first run, lo asks for your projects directories and saves them to:

  • ~/.config/lo/config.yaml

Example value:

dirs:
    - /home/you/Projects
launchpads:
    my-works:
        - api
        - web

Make sure ~/.local/bin is in your PATH.

For bash (~/.bashrc):

export PATH="$HOME/.local/bin:$PATH"

For zsh (~/.zshrc):

export PATH="$HOME/.local/bin:$PATH"

Uninstall

rm -f ~/.local/bin/lo
rm -rf ~/.config/lo

Development

Run checks:

bash -n install.sh
go test ./...
go build ./cmd/lo
man ./man/man1/lo.1

License

MIT

Directories

Path Synopsis
cmd
lo command
Package main implements the `lo` CLI — a fast, cross-platform project launcher.
Package main implements the `lo` CLI — a fast, cross-platform project launcher.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL