lore is the CLI for the Lore version control system. It handles the full workflow — from branching, merging, and shipping your work to more advanced tasks like sparse clones and offline commits — all from a single binary.
In this guide, you'll install lore, add it to your PATH, and set up shell completions so that you can effectively drive Lore, at full speed, directly from your terminal.
- If building from source:
- A Rust toolchain
- The Lore repository cloned locally
The two paths are mutually exclusive, and each one below is complete on its own — follow one top to bottom, and don't jump between them.
- Install the prebuilt binary: Pick this for a normal install from a published release. You don't need a Rust toolchain or a local checkout.
- Build from source and install: Pick this to run a CLI built from your own checkout, using a Rust toolchain.
Pick this path for a normal install from a published release.
-
Run the installer.
macOS / Linux
curl -fsSL https://raw.githubusercontent.com/EpicGames/lore/main/scripts/install.sh | bashWindows
irm https://raw.githubusercontent.com/EpicGames/lore/main/scripts/install.ps1 | iex
The installer downloads the binary for your platform and adds it to your PATH. Open a new terminal session for the PATH change to take effect.
Pick this path to run a CLI built from your own checkout.
-
Build the binary.
From the Lore repository root:
cargo build --release -p lore-client --bin lore
The compiled binary lands at
target/release/lore(target\release\lore.exeon Windows). The first build compiles from source and may take several minutes. -
Put
loreon your PATH.Move the compiled binary into a directory on your PATH so you can run
lorefrom any directory.macOS / Linux
Using
/usr/local/bin(no PATH changes needed):sudo cp target/release/lore /usr/local/bin/lore
Using
~/bininstead (nosudorequired):mkdir -p ~/bin cp target/release/lore ~/bin/lore
If you used
~/bin, add it to your PATH. For zsh (the default on macOS):echo 'export PATH="$HOME/bin:$PATH"' >> ~/.zshrc source ~/.zshrc
For bash:
echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc source ~/.bashrc
Windows (PowerShell)
Copy the executable into a directory you control, for example
%USERPROFILE%\bin:New-Item -ItemType Directory -Force "$env:USERPROFILE\bin" Copy-Item target\release\lore.exe "$env:USERPROFILE\bin\lore.exe"
Add that directory to your PATH:
[Environment]::SetEnvironmentVariable( "Path", [Environment]::GetEnvironmentVariable("Path", "User") + ";$env:USERPROFILE\bin", "User" )
Open a new terminal afterward. An existing terminal won't reflect the PATH change.
The lore completions command generates and installs shell completions for lore. Once installed, pressing Tab completes commands or lists possible matches when the input is ambiguous. To run it, pass the shell name and an optional output directory; omit the directory to print the script to standard output instead. Lore also supports fish and elvish through the same command.
zsh
lore completions zsh ~/.zsh/completionsMake sure the target directory is on your fpath, then restart your shell.
bash
lore completions bash > ~/.local/share/bash-completion/completions/loreRestart your shell to load the completions.
PowerShell
lore completions powershell | Out-String | Invoke-ExpressionTo make completions persistent, add that line to your PowerShell profile.
lore --versionRunning this from any directory prints a lore <version> line. A source build derives its version from the repository checkout, so the exact string depends on the source tree you built from.
- Quickstart — clone a repository, stage and commit changes, and push your first revision.
- Lore CLI command reference — every
lorecommand, subcommand, and flag. - Deploy a local Lore Server — stand up a persistent server to push to and clone from.
- Lore CLI config reference — every CLI config option and its default.