Skip to content

Getting Started

Terminal window
# Linux / macOS
curl -fsSL https://raw.githubusercontent.com/standardbeagle/lci-cpp/main/install.sh | sh
Terminal window
# Windows (PowerShell)
irm https://raw.githubusercontent.com/standardbeagle/lci-cpp/main/install.ps1 | iex

Both detect your OS/arch, download the matching release binary, and install it (/usr/local/bin or ~/.local/bin on Unix; %LOCALAPPDATA%\Programs\lci on Windows). Override with LCI_PREFIX; pin a version with LCI_VERSION=0.7.0.

Terminal window
lci update # self-update to the latest release
lci update --check # report current vs latest without installing
lci update --version 0.6.0 # install a specific release

lci update works regardless of how lci was installed. Package-manager users can also run npm update -g @standardbeagle/lci or uv tool upgrade lci-cli.

Toolchain: GCC 13+ or Clang 17+, CMake 3.25+, vcpkg, Ninja.

Terminal window
cmake --preset release \
-DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake
cmake --build build/release --parallel
./build/release/src/lci --version

Install and package the build:

Terminal window
cd build/release
sudo cmake --install .
cpack -G TGZ # produces lci-0.7.0-Linux.tar.gz
cpack -G DEB # produces lci-0.7.0-Linux.deb

The CPack output contains only bin/lci (~30 MB). Tree-sitter grammars, RE2, and TLS are statically linked; the only shared runtime dependencies are libc, libstdc++, libgcc_s, and libm (all standard on modern Linux).

Terminal window
cmake --build build/release --parallel
ctest --preset release --parallel $(nproc)

The preset excludes the separately gated benchmark target. Run ./build/release/tests/lci_benchmarks explicitly for performance checks.

Terminal window
lci search "myFunction"

Full CLI reference: lci --help or lci <command> --help, or see CLI Usage.