Skip to content

zoltanf/lpx-cli

Repository files navigation

lpx

CI License: MIT

A Go CLI replacing the abandoned lastpass-cli (lpass). Handles vault operations (login, list, show, add typed Secure Notes, edit, delete) and LastPass Enterprise admin operations (users, groups).

The original lpass upstream is dormant, can't reliably create typed Secure Notes, and has no Enterprise API support. lpx builds on ansd/lastpass-go and fills those gaps.

Status

M0 — bootstrap scaffold. Only lpx version and lpx --help are functional. Every other subcommand returns not implemented yet — see project plan milestone Mx. The full multi-week project plan lives in docs/project-plan.md.

Roadmap:

Milestone Scope
M0 Scaffold, multi-platform build, CI (done)
M1 Vault login + read (ls, show, status, logout)
M2 Typed Secure Note write (the core unlock)
M3 Vault edit / delete
M4 Shared folder operations
M5 Enterprise API foundation
M6 Enterprise users + groups CRUD
M7 Distribution: Homebrew tap, installer, signing

Install

Once releases are published:

# macOS / Linux — manual binary install
curl -sSL https://github.com/zoltanf/lpx-cli/releases/latest/download/lpx_<version>_<os>_<arch>.tar.gz | tar xz
sudo mv lpx /usr/local/bin/

In the meantime, build from source:

go install github.com/zoltanf/lpx-cli/cmd/lpx@latest

Or clone and build locally:

git clone https://github.com/zoltanf/lpx-cli
cd lpx-cli
go build -o lpx ./cmd/lpx
./lpx version

Quickstart

$ lpx version
lpx 0.1.0-dev (none, built unknown, go1.26.3, darwin/arm64)

$ lpx --help
lpx is a Go CLI that replaces the abandoned lastpass-cli (lpass)...

$ lpx vault --help
$ lpx enterprise --help

Configuration

lpx stores its session and credentials under ~/.lpx-cli/ on macOS/Linux and %AppData%\lpx-cli\ on Windows. Override with LPX_CONFIG_DIR=/some/path.

Files (created in later milestones):

  • session.json — persisted vault session (M1).
  • enterprise.envKEY=VALUE file with LPX_ENTERPRISE_CID and LPX_ENTERPRISE_PROVHASH (M5). Mode 0600.

Building releases

Cross-platform binaries are produced by GoReleaser:

# Local snapshot build (no publishing) — produces every target binary under ./dist/
goreleaser build --snapshot --clean

# Tag and release (CI runs this on tag push)
git tag v0.1.0 && git push --tags

Supported targets: darwin/arm64, darwin/amd64, linux/amd64, linux/arm64, windows/amd64.

Development

Requirements: Go 1.26+, golangci-lint, goreleaser.

go test ./...
golangci-lint run
goreleaser build --snapshot --clean

CI (GitHub Actions) runs build + test + lint + a cross-compile matrix on every push and PR.

License

MIT — Zoltan Fekete, 2026.

About

A Go CLI replacing the abandoned lastpass-cli (lpass). Vault operations + LastPass Enterprise admin API.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages