Documentation

Quickstart & Usage Guide

Install any tool in seconds and see it in action. Every CLI command below is a real, working example — copy, paste, and run.

✓ Available now via GitHub

pip install git+https://github.com/Coding-Dev-Tools/revenueholdings.git
⚡ API Contract Guardian ↻ json2sql ☁ DeployDiff ⌘ ConfigDrift 👻 APIGhost 🔑 APIAuth 🛡 Envault ⚗ SchemaForge 🔌 click-to-mcp 🧹 DeadCode ⛁ Revenue Holdings Suite 🔁 CI Pipeline 🔑 License
📦 PyPI publishing is coming soon. Until then, tools install via GitHub with pip install git+https://... — no account or token needed.

API Contract Guardian

v0.1.0 — OpenAPI diff scanner & contract enforcement

Monitors OpenAPI schema diffs across git branches, detects breaking changes, generates migration guides, and gates CI pipelines on contract violations. Works with OpenAPI 3.0 and 3.1 specs in YAML or JSON.

View on GitHub →
pip install git+https://github.com/Coding-Dev-Tools/api-contract-guardian.git Requires Python 3.9+

Compare two spec files

api-contract-guardian check spec-v1.yaml spec-v2.yaml

Compare git branches

api-contract-guardian check --base main --head feature-api-v2 openapi.yaml

Generate migration guide

api-contract-guardian migrate spec-v1.yaml spec-v2.yaml --output MIGRATION.md

Why you need it: API breaking changes in production cost teams hours of debugging and incident response. ACG catches them in CI before they merge — the same way a linter catches syntax errors before runtime.

json2sql

v0.1.0 — JSON to SQL converter with smart type inference

Convert JSON files and datasets to SQL INSERT statements instantly. Supports PostgreSQL, MySQL, SQLite, and generic SQL dialects with automatic type inference — no schema definition required.

View on GitHub →
pip install git+https://github.com/Coding-Dev-Tools/json2sql.git Requires Python 3.9+

Basic conversion

json2sql convert data.json

Specify output dialect

json2sql convert data.json --dialect postgres
json2sql convert data.json --dialect mysql
json2sql convert data.json --dialect sqlite

Pipe from stdin

curl -s https://api.example.com/users | json2sql convert --dialect postgres

Why you need it: Writing SQL seed data by hand is error-prone and tedious. json2sql turns hours of manual INSERT statement construction into a one-liner — especially useful for ETL pipelines, database seeding, and test data generation.

📖 Read the json2sql tutorial →

DeployDiff

v0.1.0 — Infrastructure change preview & cost estimator

Preview infrastructure changes with human-readable diffs, cost impact estimation, and pre-generated rollback commands — before you hit deploy. Supports Terraform plan JSON, CloudFormation change sets, and Pulumi previews.

View on GitHub →
pip install git+https://github.com/Coding-Dev-Tools/deploydiff.git Requires Python 3.9+

Preview infrastructure changes

deploydiff preview --tf plan.json

CloudFormation change set

deploydiff preview --cf change-set.json

Pulumi diff

deploydiff preview --pulumi pulumi-preview.json

Why you need it: Every infrastructure change carries risk — wrong config, unexpected cost, unreachable state. DeployDiff gives you a clear preview before your IaC tool applies it, with rollback commands pre-generated so recovery isn't panic-mode.

📖 Read the DeployDiff tutorial →

ConfigDrift

v0.1.0 — Configuration drift detection & compliance

Catch config drift before it breaks production. Compare configs across dev, staging, and prod — flag missing keys, deprecated values, value mismatches, and compliance issues instantly. Supports YAML, JSON, TOML, and .env files.

View on GitHub →
pip install git+https://github.com/Coding-Dev-Tools/configdrift.git Requires Python 3.9+

Compare two config files

configdrift check dev.yaml prod.yaml

Environment-style comparison

configdrift check --baseline dev --target prod configs/

JSON output for CI

configdrift check dev.yaml prod.yaml --output json

Why you need it: Config drift is the silent killer of deployments — a missing key in prod that exists in staging, a deprecated value that's still in dev. ConfigDrift automates the comparison so you catch it in CI, not in an incident post-mortem.

📖 Read the ConfigDrift tutorial →

👻 APIGhost

v0.1.0 — OpenAPI mock server with VCR recording

Turn any OpenAPI 3.0/3.1 spec into a running mock API server with realistic fake data, scenario-based response overrides, and VCR-style cassette recording/replay. Perfect for frontend teams, integration testing, and contract-first development.

View on GitHub →
pip install git+https://github.com/Coding-Dev-Tools/apighost.git Requires Python 3.9+

Start a mock server from a spec

apighost serve petstore.yaml

Record real interactions & replay deterministically

apighost record petstore.yaml --output my-cassette
apighost replay my-cassette

Why you need it: Frontend teams shouldn't wait for backend APIs. APIGhost spins up a working mock from your OpenAPI spec instantly — with realistic data, error scenarios, and record/replay for integration tests. Ship UI against a stable mock, swap in the real API when ready.

📖 Read the APIGhost tutorial →

🔑 APIAuth

v0.1.0 — API key & JWT lifecycle management

Generate, import, verify, rotate, and revoke API keys and JWTs from the terminal. Encrypted local keystore with AES-256-GCM, CI/CD export formats, and audit trail for compliance. No more secrets scattered in .env files.

View on GitHub →
pip install git+https://github.com/Coding-Dev-Tools/apiauth.git Requires Python 3.9+

Generate and manage keys

apiauth generate api-key --name "Gateway Key" --service api-gateway --expiry-days 90
apiauth list --service api-gateway
apiauth rotate <key-id>

Export for CI/CD pipelines

apiauth export --format github-actions --service api-gateway

Why you need it: API keys in .env files are a security incident waiting to happen. APIAuth gives you a proper keystore — encrypted, auditable, rotatable — with one-command CI/CD export. Stop copying secrets into config files and start managing them like infrastructure.

📖 Read the APIAuth tutorial →

🛡 Envault

v0.1.0 — Environment variable syncing, diffing & secret rotation

Compare .env files across environments, sync variables with conflict resolution, and rotate secrets with auto-generated cryptographically secure values. Integrates with AWS SSM, HashiCorp Vault, Doppler, and 1Password — one tool for all your secret stores.

View on GitHub →
pip install git+https://github.com/Coding-Dev-Tools/envault.git Requires Python 3.10+

Diff environments

envault diff dev prod

Rotate a secret (smart type inference)

envault rotate DB_PASSWORD        # → database-safe password
envault rotate API_KEY            # → prefixed API key
envault rotate JWT_SECRET         # → 256-bit base64 secret

Why you need it: .env drift is how staging works but prod doesn't — a missing variable, a different value, a stale secret. Envault catches the diff, syncs safely, and rotates secrets with one command. Connect it to your secret store and stop managing .env files by hand.

📖 Read the Envault tutorial →

SchemaForge

v1.7.0 — Bidirectional ORM schema converter (11 formats) + VS Code extension

Convert between SQL DDL, Prisma, Drizzle, TypeORM, Django, SQLAlchemy, GraphQL SDL, JSON Schema, OpenAPI 3.0, Protobuf, and Avro with zero-loss roundtripping. 110 bidirectional conversion paths. Now with a full VS Code extension for live preview, quick convert, and format detection.

View on GitHub → VS Code Extension →
pip install git+https://github.com/Coding-Dev-Tools/schemaforge.git Requires Python 3.9+

Convert Prisma → Drizzle

schemaforge convert --from prisma --to drizzle --input schema.prisma

Diff two schemas

schemaforge diff schema.prisma schema.drizzle.ts

Why you need it: Every ORM migration is a one-way street — Prisma introspects SQL but can't export back, Drizzle users manually rewrite schemas when switching. SchemaForge is the only tool that goes both ways across 11 formats. Stop rewriting schemas by hand and start converting them.

📖 Read the v1.7.0 release (VS Code + 11 formats) → v0.5.0: SQLAlchemy →

🔌 click-to-mcp

v0.2.1 — Auto-wrap Click/Typer CLIs as MCP servers

Turn any Click or Typer CLI into an MCP server with a single command. Expose your tools to Claude, GPT, Cursor, and any MCP-compatible AI — no code changes needed. Auto-discovers commands, generates tool schemas, and handles stdio/SSE transport.

View on GitHub →
pip install git+https://github.com/Coding-Dev-Tools/click-to-mcp.git Requires Python 3.9+

Wrap a CLI as MCP server

click-to-mcp wrap mycli --transport stdio

Auto-discover Click apps

click-to-mcp discover --dir ./src

Why you need it: MCP is the standard for AI-tool integration, but wrapping CLIs as MCP servers is manual boilerplate. click-to-mcp eliminates that — point it at any Click/Typer app and get a fully compatible MCP server in seconds. The only tool that does Click→MCP conversion (mcp2cli does the reverse).

🧹 DeadCode

v0.1.0 — Unused export & dead route detector for TypeScript/React

Detect and remove unused exports, dead routes, orphaned CSS, and unreferenced components in TypeScript/React/Next.js projects. Uses the full TypeScript compiler API for accurate analysis — ESLint catches unused variables but misses the structural decay that bloats bundles.

View on GitHub →
pip install git+https://github.com/Coding-Dev-Tools/deadcode.git Requires Python 3.9+ & Node.js 18+

Scan current project

deadcode scan

Preview what can be removed

deadcode remove --dry-run

Why you need it: ESLint catches unused variables but misses structural decay — orphaned exports bloat bundles, stale routes confuse teammates, orphaned CSS silently accumulates. DeadCode uses the TypeScript compiler API for whole-project analysis that linters can't match. Scan, preview, then clean with confidence.

Revenue Holdings Suite

One install. All ten tools.

Install every tool in the Revenue Holdings ecosystem with a single command. Perfect for CI/CD pipelines, dev workstations, or teams that want the full safety net across API contracts, SQL, infrastructure, configs, API mocking, key management, env syncing, schema conversion, MCP wrapping, and dead code cleanup.

View on GitHub →
pip install git+https://github.com/Coding-Dev-Tools/revenueholdings.git Installs all 10 tools as dependencies

CI Pipeline Example — A single script runs all four checks in sequence. If any check fails, the pipeline stops and the developer gets a clear error message telling them exactly what broke and where.

# .github/workflows/ci-safety-net.yml
name: CI Safety Net
on: [pull_request]
jobs:
  checks:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v5
        with:
          python-version: '3.11'
      - run: pip install git+https://github.com/Coding-Dev-Tools/revenueholdings.git

      # 1. API Contract Guardian — detect breaking schema changes
      - run: api-contract-guardian check --base origin/main --head HEAD openapi.yaml

      # 2. json2sql — validate SQL output from seed data
      - run: json2sql convert --dialect postgres data/seed.json

      # 3. DeployDiff — preview infra changes
      - run: deploydiff preview --tf plan.json

      # 4. ConfigDrift — catch environment drift
      - run: configdrift check dev.yaml prod.yaml --output json

Pro tip: Use the meta-package in CI so your pipeline automatically gets all new tools as they're released. Pin the major version for production stability: pip install git+https://github.com/Coding-Dev-Tools/revenueholdings.git@v0.1

🔁 CI & Integration Guide

Adding safety checks to your existing pipeline

All ten tools are designed as stateless CLI commands that fit naturally into CI pipelines. Each returns a non-zero exit code on failure, so they integrate with any CI system that supports shell commands — GitHub Actions, GitLab CI, CircleCI, Jenkins, or raw bash scripts.

Per-tool install for minimal dependencies

# Install only what you need
pip install git+https://github.com/Coding-Dev-Tools/api-contract-guardian.git  # API contract checks
pip install git+https://github.com/Coding-Dev-Tools/deploydiff.git             # Infra change previews
pip install git+https://github.com/Coding-Dev-Tools/json2sql.git              # SQL validation
pip install git+https://github.com/Coding-Dev-Tools/configdrift.git           # Config drift detection
pip install git+https://github.com/Coding-Dev-Tools/apighost.git             # OpenAPI mock server
pip install git+https://github.com/Coding-Dev-Tools/apiauth.git              # API key & JWT management
pip install git+https://github.com/Coding-Dev-Tools/envault.git               # .env syncing & secret rotation
pip install git+https://github.com/Coding-Dev-Tools/schemaforge.git          # ORM schema converter

    

Exit codes (all tools)

0 — Success (no issues found)
1 — Issues found (breaking change, drift, mismatch)
2 — Error (invalid input, file not found)

CI best practice: Start with --output json or --output silent mode on all tools to keep CI logs clean. Gate merges only on breaking changes — use warning-level violations as advisory feedback in PR comments instead of blocking the pipeline.

🔑 License Key Setup

Each tool checks a license key on startup to determine your tier. Free tier works out of the box (50 uses/day per tool). Set a license key to unlock unlimited Pro access.

rh license activate YOUR_LICENSE_KEY Or set REVENUEHOLDINGS_LICENSE_KEY env var
  • rh license activate <key> — Activate a new license key (stores in ~/.revenueholdings/)
  • rh license status — Show current tier, usage counts, and remaining rate limit
  • rh license deactivate — Remove the current license (reverts to free tier)
  • Works offline for up to 7 days between automatic verifications
  • Free tier: 50 uses/day per tool. Pro tier: unlimited, all features.

Get a license key: Free keys available on the pricing page — no credit card needed. Set the REVENUEHOLDINGS_LICENSE_KEY environment variable for automated CI/CD deployments.

💰 View pricing & get your key →

Something missing? Open an issue or email us.