npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@crystalgames/adm

v0.2.3

Published

ADM developer CLI — environment setup, GitHub integration, and AI-powered daily assistant

Readme

ADM CLI

ADM is a TUI-only developer tool that automates environment setup on new machines and provides an AI-powered daily assistant for development workflows. One command — adm — opens a full-screen terminal interface where everything happens: AI chat, setup, GitHub/GitLab management, tool installation, and configuration.

Targets Node.js/web developers on macOS, Linux, and Windows — reducing initial dev setup from hours to minutes while staying available as an intelligent companion throughout development.


Installation

npm (recommended)

npm install -g @crystalgames/adm

macOS / Linux (curl)

curl -fsSL https://raw.githubusercontent.com/CrystalGamesStudio/ADM-CLI/main/scripts/installer.sh | sh

Homebrew (macOS / Linux)

brew tap CrystalGamesStudio/tap
brew install CrystalGamesStudio/tap/adm

Windows (PowerShell)

irm https://raw.githubusercontent.com/CrystalGamesStudio/ADM-CLI/main/scripts/install.ps1 | iex

Prerequisites: Node.js 18+ must be installed. The curl and PowerShell installers will check for this and provide installation instructions if missing.


Quick Start

# Launch full-screen TUI
adm

# Inside the TUI:
/help            — Show all commands
/ai              — Toggle AI mode (blue input, chat with GLM)
/ai <question>   — One-off AI query without toggling mode
/github status   — GitHub status
/gitlab status   — GitLab status
/download        — Launch extension setup wizard
/feedback        — Open feedback page in browser
/theme cyberpunk — Switch theme
/exit            — Quit ADM

TUI Commands

| Command | Description | |---------|-------------| | /help | Show command reference | | /exit | Exit ADM | | /clear | Clear message history | | /theme | List or switch themes (dark, light, cyberpunk, nord, forest, monokai) | | /config | Show current configuration | | /ai | Toggle AI mode ON/OFF — input turns blue, questions go to GLM API | | /ai <question> | One-off AI query without toggling mode | | /model | Show or switch AI provider | | /github | GitHub operations: status, pr, issue, commit | | /gitlab | GitLab operations: status, mr, issue, commit | | /download | Launch extension setup wizard | | /feedback | Open feedback page in browser | | /connect | Connect to GitHub or GitLab | | /dotfiles | Sync dotfiles from repo | | /upgrade | Check for and install updates |

AI Mode

When AI mode is ON (/ai):

  • Input bar turns blue with AI> prompt
  • Status bar shows AI: ON (green)
  • Everything typed goes directly to GLM API
  • Responses appear with GLM: prefix
  • Press Esc or type exit to leave AI mode

AI knowledge system: on first run, ADM reads its own docs (README, PRD) and caches a compact summary in ~/.adm/ai-knowledge.json. This knowledge is injected as a system message in every AI query, so the AI knows about ADM itself. Cache auto-updates when ADM version changes.


Technical Architecture

Stack

  • Runtime: Node.js 18+
  • TUI: ink v5 + React 18 (full-screen terminal UI)
  • AI: GLM API (Zhipu AI) — glm-4.7-flash model with automatic fallback
  • GitHub: @octokit/rest
  • Styling: chalk v4, 6 built-in themes
  • Testing: Jest

Project Structure

src/
├── tui/                          # Full-screen TUI (ink + React)
│   ├── app.js                    # Main App component (status bar, messages, input)
│   ├── app-state.js              # State management + AI mode logic
│   └── commands/
│       └── registry.js           # Unified command dispatch + autocomplete
├── ai/
│   └── knowledge.js              # AI knowledge cache (reads docs, invalidates on version)
├── integrations/
│   ├── ai-backend.js             # GLM API client (query, retry, fallback models)
│   ├── github.js                 # GitHub API (PRs, issues)
│   └── gitlab.js                 # GitLab API (MRs, issues)
├── installer/                    # Node.js, package managers, system packages
├── config/                       # Configuration system (~/.adm/config.json)
├── plugins/                      # Plugin loader (~/.adm/plugins/)
├── ui/                           # Themes, ASCII clock, animations, spinner
└── utils/                        # Keychain, encryption, dotfiles sync, fuzzy search

User State

~/.adm/
├── config.json          — Settings (theme, AI provider, tokens)
├── ai-knowledge.json    — Cached ADM docs for AI context
├── plugins/             — Custom command plugins (.js)
├── tokens.enc           — Encrypted service tokens
└── history              — Command history

Key Features

Full-Screen TUI

Single adm command launches an ink-based terminal UI with:

  • Status bar — theme name, AI mode indicator, version
  • Message area — scrollable command output and AI responses
  • Input bar — green > prompt (blue AI> in AI mode)

AI Mode + Knowledge

  • /ai toggles continuous AI chat mode
  • /ai <question> for one-off queries
  • GLM API with automatic model fallback on rate limits
  • Knowledge system: ADM docs cached and injected as AI context
  • Friendly error messages on API failures

6 Themes

dark (default), light, cyberpunk, nord, forest, monokai — switch with /theme <name>

GitHub & GitLab Integration

  • /github — PR listing, creation, commenting, issues
  • /gitlab — MR listing, creation, commenting, issues
  • Secure token storage (OS keychain on macOS, encrypted file on Linux)

Extension Setup Wizard

/download launches an interactive wizard that installs:

  • Node.js (via nvm wrapper)
  • Package managers (pnpm, npm)
  • Build tools (Vite, esbuild)
  • System packages (git, gh CLI)
  • SSH keys (ED25519)
  • Git config (user.name, user.email)
  • Dotfiles sync from repo

Feedback

/feedback opens the feedback page in your default browser.

Plugin System

Drop .js files in ~/.adm/plugins/ — each exports { execute(args, context) } to add custom commands.

Dotfiles Sync

/dotfiles sync — clone/sync dotfiles from a git repo, apply symlinks or copies for .bashrc, .zshrc, .gitconfig, .ssh/config.


Development

# Install dependencies
npm install

# Run tests
npm test

# Run TUI locally
npm start

# Run specific test suite
npx jest tests/unit/tui/ --no-coverage

# Link globally for development
npm link

Test Structure

  • tests/unit/ — Unit tests
  • tests/integration/ — Integration tests
  • tests/e2e/ — End-to-end smoke tests

License

MIT — see LICENSE.