idctl

module
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 20, 2026 License: MIT

README

idctl

Ever committed code with the wrong Git identity?

Ever deployed to the wrong AWS account?

Ever wondered which SSH key your terminal will actually use?

idctl is a read-only CLI that inspects your runtime identity context across Git, AWS, Kubernetes and SSH, then highlights mismatches and risks before they become mistakes.

Example

idctl risk

Actionable findings only — no healthy-system noise.

Only problems are shown, grouped by severity, each with Problem, Impact, and Fix.

Why?

Modern developer environments contain multiple identities:

  • Git accounts
  • AWS profiles
  • Kubernetes contexts
  • SSH keys

idctl helps you understand which identity is actually active right now.

Install

Option 1: go install

go install github.com/voyager556321/idctl/cmd/idctl@latest

Option 2: Download binary

Grab the latest Linux/macOS binary from Releases.

Quick start

1. Create your config

idctl init

Opens ~/.idctl/config.yaml — declare your identity profiles (Git name/email, AWS profile, kube context, SSH key).

2. Check for risks

idctl risk

Shows only problems — mismatches and risks grouped by severity.

3. Full snapshot

idctl status

Shows everything that's active right now.

4. Predict next action risks

idctl predict

Shows what will actually happen when you run git commit, git push, aws cli, kubectl apply or ssh connect — before you do it.

Directories

Path Synopsis
cmd
idctl command
Command idctl is a lightweight runtime identity-state inspector and fixer.
Command idctl is a lightweight runtime identity-state inspector and fixer.
internal
adapter
Package adapter contains one module per identity subsystem.
Package adapter contains one module per identity subsystem.
cli
Package cli implements the idctl command-line surface using only the standard library's flag package.
Package cli implements the idctl command-line surface using only the standard library's flag package.
config
Package config loads ~/.idctl/config.yaml.
Package config loads ~/.idctl/config.yaml.
engine
Package engine wires the read-only adapters together: read all state, diff against an expected profile, and derive doctor findings + overall risk.
Package engine wires the read-only adapters together: read all state, diff against an expected profile, and derive doctor findings + overall risk.
model
Package model defines the unified identity state and the desired-state (profile) types that every adapter reads into and diffs against.
Package model defines the unified identity state and the desired-state (profile) types that every adapter reads into and diffs against.
predictor
Package predictor turns the current identity STATE into per-ACTION risk.
Package predictor turns the current identity STATE into per-ACTION risk.
risk
Package risk is the single source of truth for actionable identity findings.
Package risk is the single source of truth for actionable identity findings.
sys
Package sys is a thin, safe wrapper around os/exec so adapters never hang the whole tool on a slow external command (looking at you, `aws sts`).
Package sys is a thin, safe wrapper around os/exec so adapters never hang the whole tool on a slow external command (looking at you, `aws sts`).

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL