Skip to content

BuiltByEcho/env-probe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@builtbyecho/env-probe

Detect your dev environment in one command.

Runtimes, languages, package managers, cloud CLIs, containers, git info, and project type — structured for humans, agents, and CI.

Why?

Every time an AI agent starts a session, it burns tokens probing its environment: "What version of Node? Is Docker available? Am I in CI? What kind of project is this?" Each check is a separate shell command and a separate round-trip.

env-probe gives you all of that in one command — formatted for humans, agents, or pipelines.

$ env-probe

# Environment Probe

**Scanned:** 2026-05-12T05:00:00.000Z

## System
- **Platform:** darwin arm64 (25.4.0)
- **Host:** macmini
- **User:** dustin
- **Shell:** /bin/zsh
- **CPU:** Apple M2 Pro (12 cores)
- **Memory:** 16.0 GB
- **Uptime:** 3d 14h 22m

## Runtimes
- **node:** 24.15.0
- **python:** 3.12.4
- **go:** 1.22.0

## Cloud & DevOps CLIs
- **docker:** 27.0.3
- **gh:** 2.62.0

## Environment Context
- Native host (no container/CI detected)

## Git
- **version:** 2.47.0

## Project
- **Root:** /path/to/project
- **Type:** node
- **Package Manager:** pnpm

Install

npm install -g @builtbyecho/env-probe

Or run directly:

npx @builtbyecho/env-probe

Usage

CLI

# Markdown summary (default)
env-probe

# JSON for programmatic use
env-probe --json

# Compact single-line summary
env-probe --compact

# Probe a specific project directory
env-probe -p /path/to/repo

# Combine options
env-probe -p . -f json

Options

Option Default Description
--format, -f markdown Output format: json, markdown, or compact
--json Shorthand for --format json
--compact, -c Shorthand for --format compact
--markdown, -m Shorthand for --format markdown
--project, -p auto-detect Path to project directory for type detection
--help, -h Show help

When no --project path is given, env-probe auto-detects the git repo root.

Programmatic API

import { probe, toMarkdown, toCompact } from "@builtbyecho/env-probe";

// Get structured probe data
const data = probe({ path: "/my/project" });

// Format output
console.log(toMarkdown(data));  // Human/agent-readable markdown
console.log(toCompact(data));   // Single-line compact summary
console.log(JSON.stringify(data, null, 2)); // Raw JSON

Probe Object

{
  "timestamp": "2026-05-12T05:00:00.000Z",
  "system": {
    "platform": "darwin",
    "arch": "arm64",
    "release": "25.4.0",
    "hostname": "macmini",
    "username": "dustin",
    "shell": "/bin/zsh",
    "cpuCores": 12,
    "cpuModel": "Apple M2 Pro",
    "memoryGB": 16.0,
    "uptime": "3d 14h 22m"
  },
  "runtimes": {
    "node": { "version": "24.15.0", "raw": "v24.15.0" },
    "npm": { "version": "11.4.0", "raw": "11.4.0" },
    "python": { "version": "3.12.4", "raw": "Python 3.12.4" }
  },
  "packageManagers": {
    "homebrew": { "version": "4.3.0", "raw": "Homebrew 4.3.0" }
  },
  "cloudCLIs": {
    "docker": { "version": "27.0.3", "raw": "Docker version 27.0.3" },
    "gh": { "version": "2.62.0", "raw": "gh version 2.62.0" }
  },
  "containers": {
    "inDocker": false,
    "inWSL": false,
    "inCI": false,
    "ciName": null
  },
  "git": { "version": "2.47.0", "raw": "git version 2.47.0" },
  "project": {
    "root": "/my/project",
    "type": "node",
    "packageManager": "pnpm"
  }
}

What It Detects

Category What's Found
System Platform, arch, hostname, user, shell, CPU model/cores, memory, uptime
Runtimes Node, npm, npx, Deno, Bun, Python, pip, Ruby, Go, Rust, Java
Package Managers Homebrew, Yarn, pnpm, Cargo, Gem, pipx
Cloud & DevOps AWS, GCloud, Azure, Vercel, Netlify, Fly.io, Docker, kubectl, gh, Supabase
Containers Docker detection, WSL detection, CI detection (GitHub Actions, GitLab CI)
Git Git version
Project Project type (node/rust/go/python/ruby), package manager detection

Why Not Just Run which?

You could. But that's 20+ commands, 20+ round-trips, and you still need to parse each version string differently. env-probe does it in one shot with structured output.

Compact Mode for Agents

The --compact flag gives you a single line that's perfect for agent context windows:

darwin/arm64 | node:24.15.0 | npm:11.4.0 | python:3.12.4 | docker:27.0.3 | gh:2.62.0

Agent Skills

This package includes an OpenClaw/Claude-style skill under skills/ that teaches agents to probe their environment before starting work, reducing wasted commands and token spend.

License

MIT © BuiltByEcho

About

Detect your dev environment in one command. Runtimes, languages, package managers, cloud CLIs, containers, git, and project type — structured for humans, agents, and CI.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors