LICENSE
README.md
pyproject.toml
src/infra/__init__.py
src/infra/__main__.py
src/infra/cli.py
src/infra/context.py
src/infra/doctor.py
src/infra/execute.py
src/infra/commands/__init__.py
src/infra/commands/ansible.py
src/infra/commands/config_cmds.py
src/infra/commands/github.py
src/infra/commands/options.py
src/infra/commands/packer.py
src/infra/commands/setup.py
src/infra/commands/slack.py
src/infra/commands/terraform.py
src/infra/commands/terragrunt.py
src/infra/plugins/__init__.py
src/infra/plugins/ansible.py
src/infra/plugins/base.py
src/infra/plugins/config.py
src/infra/plugins/github.py
src/infra/plugins/packer.py
src/infra/plugins/slack.py
src/infra/plugins/alibaba/__init__.py
src/infra/plugins/alibaba/cli.py
src/infra/plugins/alibaba/landing_zones.py
src/infra/plugins/alibaba/login.py
src/infra/plugins/alibaba/options.py
src/infra/plugins/alibaba/profiles.py
src/infra/plugins/alibaba/profiles_cmd.py
src/infra/plugins/alibaba/runtime.py
src/infra/plugins/alibaba/site.py
src/infra/plugins/aws/__init__.py
src/infra/plugins/aws/cli.py
src/infra/plugins/aws/export.py
src/infra/plugins/aws/landing_zones.py
src/infra/plugins/aws/login.py
src/infra/plugins/aws/logout.py
src/infra/plugins/aws/profiles.py
src/infra/plugins/aws/profiles_cmd.py
src/infra/plugins/aws/runtime.py
src/infra/plugins/aws/ssm_audit.py
src/infra/plugins/aws/ssm_search.py
src/infra/plugins/aws/sso_discovery.py
src/infra/plugins/aws/token_info.py
src/infra/plugins/aws/inventory/__init__.py
src/infra/plugins/aws/inventory/common.py
src/infra/plugins/aws/inventory/ec2.py
src/infra/plugins/aws/inventory/elasticache.py
src/infra/plugins/aws/inventory/rds.py
src/infra/plugins/aws/services/__init__.py
src/infra/plugins/aws/services/cost.py
src/infra/plugins/aws/services/ec2.py
src/infra/plugins/aws/services/ecr.py
src/infra/plugins/aws/services/elasticache.py
src/infra/plugins/aws/services/options.py
src/infra/plugins/aws/services/rds.py
src/infra/plugins/aws/services/ssm.py
src/infra/plugins/cost/__init__.py
src/infra/plugins/cost/actions.py
src/infra/plugins/cost/cli.py
src/infra/plugins/cost/models.py
src/infra/plugins/cost/plugin.py
src/infra/plugins/eol/__init__.py
src/infra/plugins/eol/cache.py
src/infra/plugins/eol/cli.py
src/infra/plugins/eol/render.py
src/infra/plugins/server/__init__.py
src/infra/plugins/server/app_factory.py
src/infra/plugins/server/cli.py
src/infra/plugins/server/html.py
src/infra/plugins/setup/__init__.py
src/infra/plugins/setup/cli_upgrade.py
src/infra/plugins/setup/journal.py
src/infra/plugins/setup/plan.py
src/infra/plugins/setup/plugin.py
src/infra/plugins/setup/profiles.py
src/infra/plugins/setup/verify.py
src/infra/plugins/tencent/__init__.py
src/infra/plugins/tencent/cli.py
src/infra/plugins/tencent/landing_zones.py
src/infra/plugins/tencent/login.py
src/infra/plugins/tencent/logout.py
src/infra/plugins/tencent/options.py
src/infra/plugins/tencent/profiles.py
src/infra/plugins/tencent/profiles_cmd.py
src/infra/plugins/tencent/runtime.py
src/infra/plugins/tencent/site.py
src/infra/plugins/terraform/__init__.py
src/infra/plugins/terraform/args.py
src/infra/plugins/terraform/cleanup.py
src/infra/plugins/terraform/paths.py
src/infra/plugins/terraform/plugin.py
src/infra/plugins/terraform/scaffold.py
src/infra/plugins/terragrunt/__init__.py
src/infra/plugins/terragrunt/args.py
src/infra/plugins/terragrunt/paths.py
src/infra/plugins/terragrunt/plugin.py
src/infra/plugins/terragrunt/scaffold.py
src/infra/plugins/work/__init__.py
src/infra/plugins/work/cli.py
src/infra/plugins/work/connectors.py
src/infra/plugins/work/context_pack.py
src/infra/plugins/work/explain.py
src/infra/plugins/work/mcp_stdio.py
src/infra/plugins/work/models.py
src/infra/plugins/work/planner.py
src/infra/plugins/work/runner.py
src/infra/plugins/work/skills.py
src/infra/plugins/work/ai/__init__.py
src/infra/plugins/work/ai/audit.py
src/infra/plugins/work/ai/client.py
src/infra/plugins/work/ai/doctor.py
src/infra/plugins/work/ai/models.py
src/infra/plugins/work/ai/redact.py
src/infra/plugins/work/ai/registry.py
src/infra/plugins/work/ai/resolve.py
src/infra/plugins/work/ai/sources.py
src/infra/plugins/work/ai/url_safety.py
src/infra/templates/README.md
src/infra/templates/ansible/ansible.cfg
src/infra/templates/ansible/inventory.ini
src/infra/templates/ansible/requirements.yml
src/infra/templates/ansible/setup.yml
src/infra/templates/ansible/vars.yml
src/infra/templates/ansible/callback_plugins/infra_journal.py
src/infra/templates/ansible/callback_plugins/infra_minimal.py
src/infra/templates/ansible/roles/common/README.md
src/infra/templates/ansible/roles/common/defaults/main.yml
src/infra/templates/ansible/roles/common/meta/main.yml
src/infra/templates/ansible/roles/common/tasks/README.md
src/infra/templates/ansible/roles/common/tasks/ai.yml
src/infra/templates/ansible/roles/common/tasks/ai_darwin.yml
src/infra/templates/ansible/roles/common/tasks/ai_debian.yml
src/infra/templates/ansible/roles/common/tasks/aliyun.yml
src/infra/templates/ansible/roles/common/tasks/aliyun_darwin.yml
src/infra/templates/ansible/roles/common/tasks/aliyun_debian.yml
src/infra/templates/ansible/roles/common/tasks/aws.yml
src/infra/templates/ansible/roles/common/tasks/aws_darwin.yml
src/infra/templates/ansible/roles/common/tasks/aws_debian.yml
src/infra/templates/ansible/roles/common/tasks/cli_ux.yml
src/infra/templates/ansible/roles/common/tasks/cli_ux_darwin.yml
src/infra/templates/ansible/roles/common/tasks/cli_ux_debian.yml
src/infra/templates/ansible/roles/common/tasks/db_clients.yml
src/infra/templates/ansible/roles/common/tasks/db_clients_darwin.yml
src/infra/templates/ansible/roles/common/tasks/db_clients_debian.yml
src/infra/templates/ansible/roles/common/tasks/deploy_user_config.yml
src/infra/templates/ansible/roles/common/tasks/desktop_apps.yml
src/infra/templates/ansible/roles/common/tasks/desktop_apps_darwin.yml
src/infra/templates/ansible/roles/common/tasks/desktop_apps_debian.yml
src/infra/templates/ansible/roles/common/tasks/developer.yml
src/infra/templates/ansible/roles/common/tasks/developer_darwin.yml
src/infra/templates/ansible/roles/common/tasks/developer_debian.yml
src/infra/templates/ansible/roles/common/tasks/docker.yml
src/infra/templates/ansible/roles/common/tasks/docker_darwin.yml
src/infra/templates/ansible/roles/common/tasks/docker_debian.yml
src/infra/templates/ansible/roles/common/tasks/download_url.yml
src/infra/templates/ansible/roles/common/tasks/fetch_uri.yml
src/infra/templates/ansible/roles/common/tasks/fzf.yml
src/infra/templates/ansible/roles/common/tasks/fzf_darwin.yml
src/infra/templates/ansible/roles/common/tasks/fzf_debian.yml
src/infra/templates/ansible/roles/common/tasks/git.yml
src/infra/templates/ansible/roles/common/tasks/git_darwin.yml
src/infra/templates/ansible/roles/common/tasks/git_debian.yml
src/infra/templates/ansible/roles/common/tasks/gpg.yml
src/infra/templates/ansible/roles/common/tasks/gpg_darwin.yml
src/infra/templates/ansible/roles/common/tasks/gpg_debian.yml
src/infra/templates/ansible/roles/common/tasks/http_clients.yml
src/infra/templates/ansible/roles/common/tasks/install_github_tarball.yml
src/infra/templates/ansible/roles/common/tasks/iterm2.yml
src/infra/templates/ansible/roles/common/tasks/iterm2_darwin.yml
src/infra/templates/ansible/roles/common/tasks/iterm2_debian.yml
src/infra/templates/ansible/roles/common/tasks/java.yml
src/infra/templates/ansible/roles/common/tasks/java_darwin.yml
src/infra/templates/ansible/roles/common/tasks/java_debian.yml
src/infra/templates/ansible/roles/common/tasks/k8s.yml
src/infra/templates/ansible/roles/common/tasks/k8s_darwin.yml
src/infra/templates/ansible/roles/common/tasks/k8s_debian.yml
src/infra/templates/ansible/roles/common/tasks/k8s_ops.yml
src/infra/templates/ansible/roles/common/tasks/k8s_ops_darwin.yml
src/infra/templates/ansible/roles/common/tasks/k8s_ops_debian.yml
src/infra/templates/ansible/roles/common/tasks/kind.yml
src/infra/templates/ansible/roles/common/tasks/kind_darwin.yml
src/infra/templates/ansible/roles/common/tasks/kind_debian.yml
src/infra/templates/ansible/roles/common/tasks/linux_tune.yml
src/infra/templates/ansible/roles/common/tasks/linux_tune_debian.yml
src/infra/templates/ansible/roles/common/tasks/main.yml
src/infra/templates/ansible/roles/common/tasks/merge_editor_settings.yml
src/infra/templates/ansible/roles/common/tasks/micromamba.yml
src/infra/templates/ansible/roles/common/tasks/micromamba_darwin.yml
src/infra/templates/ansible/roles/common/tasks/micromamba_debian.yml
src/infra/templates/ansible/roles/common/tasks/minikube.yml
src/infra/templates/ansible/roles/common/tasks/minikube_darwin.yml
src/infra/templates/ansible/roles/common/tasks/minikube_debian.yml
src/infra/templates/ansible/roles/common/tasks/mise.yml
src/infra/templates/ansible/roles/common/tasks/mise_darwin.yml
src/infra/templates/ansible/roles/common/tasks/mise_debian.yml
src/infra/templates/ansible/roles/common/tasks/neovim.yml
src/infra/templates/ansible/roles/common/tasks/neovim_darwin.yml
src/infra/templates/ansible/roles/common/tasks/neovim_debian.yml
src/infra/templates/ansible/roles/common/tasks/os_setup_darwin.yml
src/infra/templates/ansible/roles/common/tasks/os_setup_debian.yml
src/infra/templates/ansible/roles/common/tasks/packer.yml
src/infra/templates/ansible/roles/common/tasks/packer_darwin.yml
src/infra/templates/ansible/roles/common/tasks/packer_debian.yml
src/infra/templates/ansible/roles/common/tasks/python.yml
src/infra/templates/ansible/roles/common/tasks/python_debian.yml
src/infra/templates/ansible/roles/common/tasks/qa.yml
src/infra/templates/ansible/roles/common/tasks/qa_darwin.yml
src/infra/templates/ansible/roles/common/tasks/qa_debian.yml
src/infra/templates/ansible/roles/common/tasks/resolve_github_latest.yml
src/infra/templates/ansible/roles/common/tasks/ssh.yml
src/infra/templates/ansible/roles/common/tasks/ssh_darwin.yml
src/infra/templates/ansible/roles/common/tasks/ssh_debian.yml
src/infra/templates/ansible/roles/common/tasks/sshd_tune.yml
src/infra/templates/ansible/roles/common/tasks/sshd_tune_debian.yml
src/infra/templates/ansible/roles/common/tasks/supply_chain.yml
src/infra/templates/ansible/roles/common/tasks/supply_chain_darwin.yml
src/infra/templates/ansible/roles/common/tasks/supply_chain_debian.yml
src/infra/templates/ansible/roles/common/tasks/tccli.yml
src/infra/templates/ansible/roles/common/tasks/terraform.yml
src/infra/templates/ansible/roles/common/tasks/terraform_darwin.yml
src/infra/templates/ansible/roles/common/tasks/terraform_debian.yml
src/infra/templates/ansible/roles/common/tasks/tmux.yml
src/infra/templates/ansible/roles/common/tasks/tmux_darwin.yml
src/infra/templates/ansible/roles/common/tasks/tmux_debian.yml
src/infra/templates/ansible/roles/common/tasks/trivy.yml
src/infra/templates/ansible/roles/common/tasks/trivy_darwin.yml
src/infra/templates/ansible/roles/common/tasks/trivy_debian.yml
src/infra/templates/ansible/roles/common/tasks/vim.yml
src/infra/templates/ansible/roles/common/tasks/vim_darwin.yml
src/infra/templates/ansible/roles/common/tasks/vim_debian.yml
src/infra/templates/ansible/roles/common/tasks/zsh.yml
src/infra/templates/ansible/roles/common/tasks/zsh_darwin.yml
src/infra/templates/ansible/roles/common/tasks/zsh_debian.yml
src/infra/templates/ansible/roles/common/templates/mise.toml.j2
src/infra/templates/ansible/roles/common/templates/setup_user_env.sh.j2
src/infra/templates/aws/config
src/infra/templates/aws/credentials
src/infra/templates/aws_sso/config.ini
src/infra/templates/bat/config
src/infra/templates/claude/config.json
src/infra/templates/codex/config.json
src/infra/templates/config/config.yml
src/infra/templates/config/pypirc
src/infra/templates/curl/curlrc
src/infra/templates/cursor/settings.json
src/infra/templates/desktop/README.md
src/infra/templates/developer/README.md
src/infra/templates/direnv/direnv.toml
src/infra/templates/direnv/envrc.example
src/infra/templates/docker/config.json
src/infra/templates/docker/config.json.j2
src/infra/templates/editorconfig/editorconfig
src/infra/templates/gemini/config.yaml
src/infra/templates/gh/config.yml
src/infra/templates/git/README.md
src/infra/templates/git/attributes
src/infra/templates/git/gitconfig
src/infra/templates/git/ignore
src/infra/templates/git/mailmap
src/infra/templates/git/message
src/infra/templates/github/README.md
src/infra/templates/gpg/README.md
src/infra/templates/iterm2/README.md
src/infra/templates/iterm2/infra.json
src/infra/templates/mamba/mambarc
src/infra/templates/nvim/init.lua
src/infra/templates/packer/packer.pkrvars.hcl
src/infra/templates/python/README.md
src/infra/templates/python/pypirc
src/infra/templates/redis/redisclirc
src/infra/templates/ripgrep/config
src/infra/templates/setup/README.md
src/infra/templates/setup/setup.conf
src/infra/templates/setup/setup.overlay.example.yml
src/infra/templates/setup/setup.team.overlay.example.yml
src/infra/templates/shell/README.md
src/infra/templates/shell/aliases.sh
src/infra/templates/ssh/README.md
src/infra/templates/ssh/config
src/infra/templates/ssh/conf.d/github.conf
src/infra/templates/terraform/terraform.env
src/infra/templates/terraform/terraformrc
src/infra/templates/terraform/repo/terraform/README.md
src/infra/templates/terraform/repo/terraform/modules/README.md
src/infra/templates/terraform/repo/terraform/sites/README.md
src/infra/templates/terraform/repo/terraform/sites/stg/platform/example/main.tf
src/infra/templates/terraform/repo/terraform/sites/stg/platform/example/outputs.tf
src/infra/templates/terraform/repo/terraform/sites/stg/platform/example/variables.tf
src/infra/templates/terraform/repo/terraform/sites/stg/platform/example/versions.tf
src/infra/templates/terragrunt/terragrunt.env
src/infra/templates/terragrunt/terragrunt.hcl
src/infra/templates/terragrunt/repo/account.hcl
src/infra/templates/terragrunt/repo/env.hcl
src/infra/templates/terragrunt/repo/region.hcl
src/infra/templates/terragrunt/repo/root.hcl
src/infra/templates/terragrunt/repo/terragrunt.hcl
src/infra/templates/terragrunt/repo/_envcommon/stack.hcl
src/infra/templates/terragrunt/repo/leaf/terragrunt.hcl
src/infra/templates/tmux/README.md
src/infra/templates/tmux/tmux.conf
src/infra/templates/vim/vimrc
src/infra/templates/vscode/settings.json
src/infra/templates/wget/wgetrc
src/infra/templates/work/README.md
src/infra/templates/work/skills/cost-review.yml
src/infra/templates/work/skills/eol-scan.yml
src/infra/templates/work/skills/iac-plan-check.yml
src/infra/templates/work/skills/inventory-snapshot.yml
src/infra/templates/work/skills/security-pass.yml
src/infra/templates/work/skills/workstation-health.yml
src/infra/utils/__init__.py
src/infra/utils/aws.py
src/infra/utils/backoff.py
src/infra/utils/config.py
src/infra/utils/docker.py
src/infra/utils/env.py
src/infra/utils/fmt.py
src/infra/utils/logger.py
src/infra/utils/naming.py
src/infra/utils/stack_paths.py
src/infra/utils/ui.py
src/infra/utils/ui_select.py
src/infra/utils/best_practices/__init__.py
src/infra/utils/best_practices/ansible.py
src/infra/utils/best_practices/aws.py
src/infra/utils/best_practices/ci.py
src/infra/utils/best_practices/docker.py
src/infra/utils/best_practices/models.py
src/infra/utils/best_practices/packer.py
src/infra/utils/best_practices/terraform.py
src/infra/utils/best_practices/terragrunt.py
src/infra_cli.egg-info/PKG-INFO
src/infra_cli.egg-info/SOURCES.txt
src/infra_cli.egg-info/dependency_links.txt
src/infra_cli.egg-info/entry_points.txt
src/infra_cli.egg-info/requires.txt
src/infra_cli.egg-info/top_level.txt
tests/test_cli.py
tests/test_doctor.py