Skip to content

GreyforgeLabs/devcap

devcap

Scan your development environment for installed tools, versions, and capabilities.

License: AGPL-3.0

Why This Exists

Setting up a new machine or debugging a CI pipeline means answering: "What's installed? What version? What's missing?" Existing tools like envinfo only cover the JS ecosystem. devcap scans 84 tools across 14 categories — languages, package managers, build tools, containers, editors, linters, databases, and more — with structured output you can actually parse.

Quick Start

git clone https://github.com/GreyforgeLabs/devcap.git
cd devcap
./scripts/setup.sh

Usage

# Full scan, text output
devcap scan

# JSON output (pipe to jq, store as artifact)
devcap scan --format json

# Markdown tables (paste into docs)
devcap scan --format markdown

# Scan only Python-related tools
devcap scan --profile python-dev

# CI gate: exit 1 if required tools are missing
devcap check --profile devops

# Custom profile
devcap scan --config my-tools.toml

# List available profiles
devcap list-profiles

Built-in Profiles

Profile Description Tools
full Everything — all 84 tools 84
python-dev Python development environment 12
node-dev Node.js / JavaScript development 13
rust-dev Rust development environment 11
devops DevOps and infrastructure 21
sysadmin Linux system administration 22

Custom Profiles

Create a TOML file:

[profile]
name = "my-stack"
description = "My project requirements"

[services]
system = ["docker", "sshd"]

[[tools]]
name = "python3"
category = "Languages"
required = true

[[tools]]
name = "docker"
category = "Containers"
required = true

[[tools]]
name = "my-custom-tool"
binary = "mct"
category = "Custom"
version_flag = "-v"

Tools listed in the registry inherit their detection config automatically. Custom tools need binary and optionally version_flag.

Output Formats

Text (default) — columnar, human-readable:

=== Languages ===
  python3          3.12.3               /usr/bin/python3
  node             24.12.0              /home/user/.nvm/versions/node/v24.12.0/bin/node
  Missing:
    ruby

JSON — structured, machine-parseable:

{
  "hostname": "dev-machine",
  "timestamp": "2026-01-01T00:00:00+00:00",
  "platform": "Linux 6.0.0",
  "tools": [{"name": "python3", "found": true, "version": "3.12.3", "path": "/usr/bin/python3"}],
  "services": [{"name": "docker", "active": true}]
}

Markdown — tables for documentation or READMEs.

Exit Codes

Code Meaning
0 Success (scan) or all required tools present (check)
1 Missing required tools (check mode only)
2 Usage error (bad profile name, invalid args)

Requirements

  • Python 3.11+
  • Zero runtime dependencies (stdlib only)

Documentation

License

AGPL-3.0. See LICENSE for details.


Built by Greyforge · Read the Chronicle

About

Scan your development environment for installed tools, versions, and capabilities

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors