hjkl-anvil
Mason-style LSP and developer-tool installer
Part of the hjkl monorepo — a vim-modal editor in Rust.
Overview
hjkl-anvil provides a self-contained tool-installation pipeline compatible
with mason-org/mason-registry
manifests. It supports GitHub release tarballs/zips, cargo install,
npm install, pip install, and go install backends with SHA-256
verification, atomic rename + symlink finalization, and a .rev sidecar for
version tracking.
Modules
manifest— parse and validateanvil.tomlmanifests (Manifest,ToolSpec,InstallMethod,ManifestError).registry— in-process tool registry backed by the embeddedanvil.toml(Registry,RegistryError).store— XDG-aware path layout helpers and atomicrevsidecar read/write (RevSidecar,data_root,packages_dir,bin_dir, …).installer—Installtrait, per-backend pipelines,install_blockingdispatcher, path-traversal guard (safe_join),InstallStatusenum.job—InstallPool(2-thread),InstallHandle, per-key deduplication.
Feature flags
| Flag | Description |
|---|---|
sync |
Enables the sync-anvil maintainer binary that syncs the embedded anvil.toml from upstream mason-org releases. Not for downstream consumers. |
Usage
[]
= "0.1"
use ;
let reg = embedded;
let tool = reg.get.unwrap;
install_blocking.unwrap;
Documentation
Contributing
See the monorepo CONTRIBUTING guide.
License
MIT — see LICENSE.