lci-ops-diagnostics

Maps lci install, self-update, diagnostics, profiling, and packaging code for footprint analysis.

Updated Apr 27, 2026
One-click install
npx skills add https://github.com/standardbeagle/lci-cpp --skill lci-ops-diagnostics-standardbeagle
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: lci-ops-diagnostics
Source: https://github.com/standardbeagle/lci-cpp/tree/main/.agents/skills/lci-ops-diagnostics
Command: npx skills add https://github.com/standardbeagle/lci-cpp --skill lci-ops-diagnostics-standardbeagle

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Locating the code behind lci's installers, self-update, status/debug commands, profiling flags, and release packaging is hard because it spans the CLI tree, updater, server routes, CMake presets, and CI workflows. This skill provides a verified code map with file:line references plus the evidence needed to compare lci's install footprint against other code tools. ## Core Features & Use Cases - Surface and code map: Entry points for lci update, status, list, debug info/export/memprofile, gperftools profiling flags, install scripts, CPack/npm/pip packaging, and CI legs, each with exact source locations. - Invariants and traps: Documents fail-fast stubs (debug validate/deps/graph), updater string-equality version comparison, release-binary dependency traps, and memprofile attribution pitfalls. - Probe recipes and product comparison: Shell commands to exercise every surface, plus comparison axes (binary size, runtime deps, self-update, platform matrix) against ripgrep, ctags, Zoekt, and Sourcegraph. - Use Case: When asked whether lci's release binary is self-contained or how its footprint compares to ripgrep, use this skill to find the CPack config, run ldd on the binary, and cite verified numbers instead of guessing. ## Quick Start Use the lci-ops-diagnostics skill to find where lci's self-update and status commands are implemented and verify the release binary's runtime dependencies.

Frequently Asked Questions about lci-ops-diagnostics

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I find where lci's self-update command is implemented?▼

Self-update starts at src/cli/main.cpp:480, flows through src/cli/update.cpp:8, and lands in run_update at src/update/updater.cpp:385. The updater verifies SHA256SUMS, downloads into a private 0700 workdir, and swaps the binary via rename(2) with rollback.

How does lci compare to ripgrep in binary size and dependencies?▼

lci's local release build is 33.8 MB stripped with dynamic deps on libc, libstdc++, libssl, zlib, and brotli, because 13 tree-sitter grammars, RE2, abseil, and httplib are linked in. ripgrep is a few MB and typically static; measure competitor binaries with ldd before quoting numbers.

Why does lci debug validate exit with an error?▼

debug validate is a fail-fast stub that exits 1 because no server-side consistency check exists; the old branch fabricated a pass verdict for every server. The same applies to debug deps and debug graph, whose symbol-linker engine was deleted.

Does lci support Linux arm64 or profiling out of the box?▼

No Linux arm64 prebuilt artifact exists; releases ship Linux x86_64, Windows x86_64, and macOS arm64 only. The --profile-cpu and --profile-memory flags require a dev build with -DLCI_ENABLE_GPERFTOOLS=ON, which is OFF by default.

What are the limitations of lci's updater and packaging?▼

The updater compares versions by string equality, not ordering, so it can offer a downgrade to a newer dev binary. npm and pip wrappers are stale at 0.6.0 with no CI publish step, and there is no distro packaging beyond an in-tree Homebrew formula.