DEV Community

Cover image for Today we released ADM: OpenSource tools configurator
Crystal Studio
Crystal Studio

Posted on

Today we released ADM: OpenSource tools configurator

Today we released ADM v0.4.0. It is a free, open-source command line tool that installs a development environment on a new computer: you run one command, tick tool categories from a single screen, and ADM installs everything the right way for your system. macOS, Linux, Windows. The recommended install channel needs no Node.js at all, even though ADM is written in JavaScript. MIT license, source on GitHub.

https://adm-cli.pages.dev
https://github.com/CrystalPlatforms/ADM-CLI

The problem it solves

A fresh laptop in IT means the same chore every time: install a code editor, languages, git, package managers, and a dozen smaller utilities, each from its own source. On macOS you reach for Homebrew, on Ubuntu for apt, on Fedora for dnf, on Windows for winget. Languages add another layer, because many install through version managers such as nvm.

ADM collapses that afternoon of copy-pasting into one wizard run that ends with a report. The same catalog drives every system: ADM detects the distribution, package manager, CPU architecture, and shell, then picks the correct install route for each tool.

Key facts

  • 277 tools across 11 categories: JavaScript/TypeScript, Python, Go, Rust, Java/JVM, C#/.NET, Ruby, PHP, C/C++, Universal/DevOps, AI.
  • macOS, Linux, Windows.
  • Four install channels: curl script (portable bundle), PowerShell (Windows), Homebrew, npm.
  • No Node.js required on the bundle channels: private Node runtime inside ~/.adm/.
  • Self-update: download, sha256 verification, atomic swap, automatic rollback.
  • MIT, source public on GitHub. First commit May 31, 2026.
  • 408 automated test cases in 32 test files.

How the wizard works

Run adm with no arguments:

  1. Categories: all 11 on one screen, multi-select.
  2. Tools: per chosen category, with ✓ next to anything already installed. Installed picks stay selectable, and selecting one reinstalls it.
  3. Install: one spinner per tool, in sequence. A failed tool never blocks the run.
  4. Report: installed / reinstalled / skipped, and failures with a copyable hint.

After installing git or gh, ADM offers to set your git identity. Decline once and it never asks again.

The no-Node constraint

The usual way to distribute a JavaScript CLI is npm, which demands Node.js 20 or newer. A brand-new laptop rarely has any Node, which makes npm a poor first step for a setup tool.

So the primary channels sidestep it. On macOS and Linux a curl command installs a portable bundle into ~/.adm/, where the app lives next to its own private Node runtime, plus an adm launcher in ~/.local/bin/. On Windows a PowerShell command does the same into %LOCALAPPDATA%. Neither needs sudo or admin rights, and both add a single PATH entry marked with # adm-cli, so removal stays clean.

curl -fsSL https://raw.githubusercontent.com/CrystalPlatforms/ADM-CLI/main/scripts/installer.sh | sh
Enter fullscreen mode Exit fullscreen mode

Homebrew wraps the same bundle (brew install CrystalPlatforms/tap/adm). The npm channel remains for people who already run Node 20 (npm install -g @crystalplatforms/adm).

Self-update that cannot brick the tool

adm upgrade self-updates ADM. --check answers whether a newer release exists without changing anything; --dry-run prints the plan with the URL and checksum first.

The new version is downloaded and its sha256 verified before the old one is touched. The previous app and runtime stay as a backup, and any failure rolls back, so a broken download leaves your working install intact. On the npm channel ADM prints the npm update -g command instead of swapping itself.

New in v0.4.0: adm tools

adm tools opens a full-screen list of what is on the machine. The inventory merges three sources: ADM's registry in ~/.adm/installed.json, the npm global list, and a scan of the directories on your PATH. Duplicates from different sources collapse into one line.

There is a fuzzy search bar, a side panel with details per tool, and actions: reinstall, remove, and reveal the location in Finder or Explorer. Managers that are not installed show an empty group with a warning line instead of failing silently.

What ADM deliberately does not do

No AI features, nothing sent to a model. Early development explored AI and GitHub/GitLab integrations, and v0.3.0 removed them outright: the first start of that version cleans up leftover tokens and caches from the old features and prints what it removed. The scope is setup and tool management, plus adm dotfiles sync, adm config --json, self-update, uninstall, and adm feedback.

Try it

Repo: github.com/CrystalPlatforms/ADM-CLI. Release v0.4.0 ships bundles for five platform targets with sha256 sums, plus a Homebrew formula. If you have a fresh machine to set up, that is the one command it takes.

Feedback and bug reports: adm feedback prints where to go. We read everything.

Top comments (0)