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

informatiq

v1.3.0

Published

πŸš€ CLI tool to streamline developer machine setup for InformatiQ projects

Readme

πŸš€ InformatiQ CLI

A powerful command-line tool to streamline developer onboarding and machine setup for InformatiQ projects.

Version License

✨ Features

  • 🩺 System Diagnostics: Verify your development environment setup (includes Docker check)
  • πŸ”§ Auto-Installation: Automatically install missing dependencies (Node.js, Git, Docker)
  • βš™οΈ Interactive Configuration: Easy setup wizard for credentials and settings
  • πŸ” Secure Storage: Credentials stored securely in OS keychain
  • πŸ“¦ NPM Authentication: Automatic configuration for Azure DevOps package registry
  • πŸ“‚ Project Cloning: Clone InformatiQ repos interactively via GitHub CLI
  • πŸ”„ Project Updates: Pull latest changes across all cloned projects in one command
  • ▢️ Project Runner: Run Node.js projects directly by name
  • 🌍 Cross-Platform: Works on macOS, Linux, and Windows
  • 🎨 Beautiful CLI: Colorful, emoji-rich interface for better UX

πŸ“¦ Installation

Install globally using npm:

npm install -g informatiq

Or use npx to run without installation:

npx informatiq doctor

πŸš€ Quick Start

1. Configure Your Environment

Run the interactive setup wizard:

informatiq configure

You'll be prompted for:

  • Email: Your email address
  • PAT: Azure DevOps Personal Access Token

2. Verify Your Setup

Check if everything is configured correctly:

informatiq doctor

This command checks:

  • βœ… Node.js installation
  • βœ… NPM installation
  • βœ… Git installation
  • βœ… InformatiQ configuration
  • βœ… NPM authentication

3. Clone InformatiQ Projects

informatiq clone projects

This will:

  1. Install and authenticate GitHub CLI if needed
  2. Show a multi-select list of all InformatiQ repositories
  3. Ask where to store the projects on your machine
  4. Clone (or update) the selected repositories

4. Start Developing! πŸŽ‰

You're all set! Your machine is now configured for InformatiQ development.

πŸ“– Commands

informatiq doctor

Run system diagnostics to check your development environment.

# Check system without fixing
informatiq doctor

# Check and auto-fix issues
informatiq doctor --fix

What it checks:

  • Node.js version (requires 16+)
  • NPM installation
  • Git installation
  • Docker installation and daemon status
  • InformatiQ configuration (PAT, email)
  • NPM authentication setup

Auto-fix capabilities (--fix flag):

  • πŸ”§ Installs Node.js via nvm if missing
  • πŸ”§ Installs nvm if required
  • πŸ”§ Installs Git using platform-specific package managers
  • πŸ”§ Installs Docker (Homebrew on macOS, script on Linux, manual on Windows)
  • πŸ”§ Starts Docker daemon if installed but not running

See Auto-Installation Guide for more details.

informatiq configure

Interactive setup wizard to configure your environment.

informatiq configure

# Force reconfiguration
informatiq configure --force

What it does:

  1. Prompts for your email address
  2. Prompts for Azure DevOps Personal Access Token
  3. Saves credentials securely
  4. Optionally configures NPM authentication

informatiq config

Manage configuration values.

# Display all configuration
informatiq config

# Get a specific value
informatiq config get pat
informatiq config get email

# Set a specific value
informatiq config set email [email protected]
informatiq config set pat <your-pat>

# List all configuration (same as 'informatiq config')
informatiq config list

# Clear all configuration
informatiq config clear
informatiq config clear --force  # Skip confirmation

Available configuration keys:

  • pat: Personal Access Token
  • email: Email address
  • organization: Azure DevOps organization
  • projectId: Azure DevOps project ID
  • projectsHomePath: Local directory where cloned projects are stored

informatiq clone projects

Interactively clone InformatiQ repositories to your machine.

informatiq clone projects

What it does:

  1. Installs and authenticates GitHub CLI (gh) if not already set up
  2. Fetches all repositories from the InformatiQ GitHub organization
  3. Presents a multi-select prompt β€” choose any number of repos
  4. Asks for a local directory path (defaults to ~/informatiq-projects)
  5. Clones each selected repo; if a directory already exists, runs git pull instead
  6. Saves the home path so other commands can use it

Requirements: GitHub CLI (auto-installed if missing)

informatiq update projects

Pull the latest changes for all projects in your configured home directory.

informatiq update projects

What it does:

  • Scans the configured projects home directory for git repositories
  • Runs git pull on the current branch of each repo
  • Reports per-repo status: βœ… updated / ⚠️ skipped (detached HEAD) / ❌ failed
  • Provides actionable error messages for any failures

informatiq run <project-name>

Start a Node.js project by name.

informatiq run my-project

What it does:

  • Resolves <project-name> inside the configured projects home directory
  • Checks that the directory contains a package.json with a start script
  • Runs npm start with fully interactive output
  • Lists available projects if the specified name is not found
  • For non-Node.js projects, informs you that only Node.js is currently supported

πŸ” Security

Credential Storage

InformatiQ CLI uses secure storage mechanisms:

  • macOS: Keychain Access
  • Windows: Credential Vault
  • Linux: Secret Service API (libsecret)

If the OS keychain is unavailable, credentials are stored in an encrypted configuration file.

Personal Access Token (PAT)

To generate a PAT:

  1. Log in to your Azure DevOps account and navigate to your user settings
  2. Click Personal Access Tokens β†’ New Token
  3. Set scopes: Packaging (Read)
  4. Copy the token and use it during configuration

⚠️ Important: Never share your PAT or commit it to version control!

πŸ“¦ NPM Authentication

InformatiQ CLI automatically configures your .npmrc file for the Azure DevOps package registry when you run informatiq configure. No manual .npmrc editing is required.

πŸ› οΈ Development

Prerequisites

  • Node.js 16 or higher
  • npm or yarn

Setup

# Clone the repository
git clone https://github.com/likhononair/informatiq-cli.git
cd informatiq-cli

# Install dependencies
npm install

# Build the project
npm run build

# Run locally
npm run dev -- doctor

Scripts

  • npm run build: Compile TypeScript to JavaScript
  • npm run dev: Run CLI in development mode
  • npm run watch: Watch for changes and rebuild
  • npm test: Run tests
  • npm run lint: Lint code
  • npm run format: Format code with Prettier

Contributing

We use Conventional Commits for commit messages:

# Examples
git commit -m "feat: add new feature"
git commit -m "fix: resolve bug"
git commit -m "docs: update README"

Commit types:

  • feat: New feature
  • fix: Bug fix
  • docs: Documentation changes
  • style: Code style changes (formatting, etc.)
  • refactor: Code refactoring
  • perf: Performance improvements
  • test: Test changes
  • build: Build system changes
  • ci: CI/CD changes
  • chore: Other changes

License

ISC Β© InformatiQ Team

🀝 Support

πŸ™ Acknowledgments

Built with love using:


Made with ❀️ by the InformatiQ Team