Skip to main content

AI-powered incident diagnosis for engineering teams. Pull logs and deploys, get a structured root cause in 30 seconds.

Project description

Autopsy CLI

CI PyPI License: MIT

AI-powered incident diagnosis for engineering teams. Pull production error logs and recent deploys, send them to an LLM, and get a structured root cause analysis in the terminal in under a minute. Zero-trust: your data never leaves your environment.

Install

pip install autopsy-cli          # core CLI (no TUI)
pip install "autopsy-cli[tui]"   # + interactive terminal UI (requires textual)

Or from source:

git clone https://github.com/zaappy/autopsy.git && cd autopsy
pip install -e ".[dev]"

Quick Start

autopsy           # Launch interactive TUI (menu, then run Diagnose or Setup)
autopsy init      # Or: interactive config wizard (~/.autopsy/config.yaml)
autopsy diagnose  # Or: run diagnosis directly (CloudWatch + GitHub → AI → panels)

Interactive TUI — Run autopsy with no arguments to open the interactive terminal UI:

  • AUTOPSY logo and tagline (AI-powered incident diagnosis • zero-trust)
  • Arrow-key menu: Diagnose, Setup configuration, Validate connections, Show config, Diagnosis history (cloud, disabled)
  • Shortcuts: d Diagnose, i Init, v Validate, c Config, q Quit, Esc Back
  • Choosing Diagnose runs the full pipeline inside the TUI (progress steps, then 4-panel result). Errors are shown inline; press Esc to return to the menu.
  • Choosing Setup / Validate / Show config exits the TUI and runs the corresponding CLI command in your terminal.

Three steps: install → init → diagnose (via TUI or direct commands).

Configuration

After autopsy init, edit ~/.autopsy/config.yaml or re-run the wizard. The init wizard stores credentials in ~/.autopsy/.env — no manual env var exports needed.

Section Purpose
aws CloudWatch region, log groups, time window (minutes). Uses your AWS CLI credentials.
github Repo (owner/repo), branch, number of recent commits to analyze. Uses GITHUB_TOKEN.
ai Provider (anthropic or openai), model, API keys.

Credentials are loaded from ~/.autopsy/.env automatically. If you prefer env vars, export them in your shell — they take precedence over the .env file.

Security: Add ~/.autopsy/.env to .gitignore if you ever copy the config directory. Never commit credentials. If your home directory is backed up or synced (e.g. OneDrive, Time Machine, Google Drive), the .env file may be included — consider excluding ~/.autopsy/ from sync or use env vars instead.

autopsy config show       # Print config (secrets masked)
autopsy config validate   # Check env vars and connectivity

How It Works

┌─────────────┐     ┌──────────────────┐     ┌─────────────┐     ┌──────────────┐
│   Config    │────▶│  Data Collectors │────▶│  AI Engine  │────▶│  Renderers   │
│ ~/.autopsy  │     │  CloudWatch      │     │  (Claude /   │     │  Terminal or │
│ config.yaml │     │  GitHub          │     │   OpenAI)    │     │  JSON        │
└─────────────┘     └──────────────────┘     └─────────────┘     └──────────────┘
                           │                          │
                           ▼                          ▼
                    Logs + recent commits      Structured diagnosis:
                    (deduped, truncated)       root cause, deploy, fix, timeline
  1. Collect — CloudWatch Logs Insights (error-level) and GitHub (last N commits + diffs).
  2. Reduce — Log dedup and token budget; diff filters (code files only, cap per file).
  3. Diagnose — Single prompt with logs + deploys; LLM returns JSON (root cause, correlated deploy, suggested fix, timeline).
  4. Render — Rich panels in the terminal or --json for piping.

CLI Reference

Command Description
autopsy Interactive TUI — menu with Diagnose, Setup, Validate, Config (requires textual)
autopsy init Interactive config wizard
autopsy diagnose Run full diagnosis pipeline (same as TUI “Diagnose”)
autopsy diagnose --json Output raw JSON
autopsy diagnose --time-window 15 Override log window (minutes)
autopsy diagnose --log-group /aws/lambda/foo Override log groups (repeatable)
autopsy diagnose --provider openai Use OpenAI instead of Anthropic
autopsy config show Print config (secrets masked)
autopsy config validate Check credentials and connectivity
autopsy version / autopsy --version CLI version, prompt version, Python version

If textual is not installed, autopsy with no arguments prints help instead of starting the TUI.

Contributing

  1. Fork the repo and create a branch.
  2. Install dev deps: pip install -e ".[dev]".
  3. Run lint and tests: ruff check . && pytest.
  4. Open a PR against main.

We follow the layout and conventions in the repo (collectors, AI engine, renderers, no business logic in cli.py).

License

MIT. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

autopsy_cli-0.2.1.tar.gz (45.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

autopsy_cli-0.2.1-py3-none-any.whl (37.7 kB view details)

Uploaded Python 3

File details

Details for the file autopsy_cli-0.2.1.tar.gz.

File metadata

  • Download URL: autopsy_cli-0.2.1.tar.gz
  • Upload date:
  • Size: 45.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for autopsy_cli-0.2.1.tar.gz
Algorithm Hash digest
SHA256 c10890c236ffa8b7b1a86d6ecc06a473098ed4ee578f064e7555e1fb8c8e199a
MD5 d7635e342d52afb6387cc84d5c1c8541
BLAKE2b-256 86fa9cb776d4989f00d9b461e75d1162e508b940c300fc0187cf3f1aba78a111

See more details on using hashes here.

Provenance

The following attestation bundles were made for autopsy_cli-0.2.1.tar.gz:

Publisher: ci.yml on zaappy/autopsy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file autopsy_cli-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: autopsy_cli-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 37.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for autopsy_cli-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 44246943ee3697261b22ab5e4f8a09a2a1dd42cc286fe9668e2ab6ae53c2357b
MD5 06f97355d85c67c5fe93f99bf9588a9e
BLAKE2b-256 46a03b5d0b5c75bbb009b007e41fb92b0079eb78114bfb44473953923f6d2582

See more details on using hashes here.

Provenance

The following attestation bundles were made for autopsy_cli-0.2.1-py3-none-any.whl:

Publisher: ci.yml on zaappy/autopsy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page