Skip to content
mgt-toolPublic

About

Your architecture, executable. One YAML model — run as a test in CI with mgtt simulate, and as your incident responder at 3am with mgtt diagnose.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

105 Commits

Folders and files

Repository files navigation

mgtt

Your architecture, executable.

Architecture diagrams go stale, and at 3am the person who drew one is asleep. mgtt replaces the diagram with a YAML model of your system: components, what each depends on, and what "healthy" means for each. One engine then reasons over that model at every stage:

  1. In CI, mgtt simulate feeds the engine failure scenarios and asserts it blames the right component. If a change breaks the model's reasoning, the PR fails. No cluster or credentials needed.
  2. At 3am, mgtt diagnose runs the same engine on live probes. It names the root cause, rules out healthy components, and says what it couldn't see. Run it yourself, or let an AI agent drive it over MCP. An agent can also draft the model for you.
  3. After the incident, mgtt incident end --emit-scenario writes what was observed as a new scenario. Commit it, and CI checks that diagnosis on every future PR.

The model is tested like code, and each incident adds a test.

$ mgtt simulate --all
  all healthy                              ✓ passed
  api crash-loop, rds healthy              ✓ passed
  rds down                                 ✓ passed

  3/3 scenarios passed

Install

curl -sSL https://raw.githubusercontent.com/mgt-tool/mgtt/main/install.sh | sh   # MGTT_VERSION=v0.3.0 to pin
go install github.com/mgt-tool/mgtt/cmd/mgtt@latest
docker run --rm -v "$PWD:/workspace" ghcr.io/mgt-tool/mgtt:latest version

Docs

Examples

  • storefront: a shop on EKS and AWS, blue/green behind one Service. Ten scenarios, one of them a queue consumer failing where only the background-jobs process sees it.
  • redundant-web: two web Deployments as a redundancy group. One down is degraded; the database under both is the root cause.
  • minishop: two components and a drifted copy, small enough to check by hand that verification with writ catches the drift.

License

Copyright (C) 2026 Alex Kunich. Engine and CLI: AGPL-3.0. Provider SDK: Apache-2.0, so provider authors don't inherit the engine's terms. See NOTICE. Contributions: CONTRIBUTING.md.

About

Your architecture, executable. One YAML model — run as a test in CI with mgtt simulate, and as your incident responder at 3am with mgtt diagnose.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages