Crate idt

Crate idt 

Source
Expand description

Install language servers, linters, formatters, and developer helpers concurrently.

§Arguments

  • dev_tools_dir Directory for tool installation (created if missing).
  • bin_dir Directory for binary symlinks (created if missing).
  • tool_names Optional specific tools to install (defaults to all).

§Usage

idt ~/.dev/tools ~/.local/bin # install all tools
idt ~/.dev/tools ~/.local/bin ruff_lsp rust_analyzer taplo # subset

§Flow

  1. Ensure target directories.
  2. Auth to GitHub (rate limits, releases).
  3. Resolve selected installers (all or subset).
  4. Spawn scoped threads to run installers.
  5. Cleanup dead symlinks; aggregate failures.

§Errors

  • Missing required argument (dev_tools_dir / bin_dir).
  • Directory creation fails.
  • GitHub authentication fails.
  • Installer thread panics.
  • Individual tool installation fails (installer reports detail).
  • Dead symlink cleanup fails.

Modules§

downloaders 🔒
installers 🔒

Functions§

main 🔒
Install language servers, linters, formatters, and developer helpers concurrently.
report 🔒
Summarize installer thread outcomes; collect failing bin names.