thothctl 0.24.3__tar.gz → 0.24.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- thothctl-0.24.4/.pre-commit-config.yaml +27 -0
- thothctl-0.24.4/.pydocstyle +15 -0
- thothctl-0.24.4/PKG-INFO +254 -0
- thothctl-0.24.4/docs/framework/framework_architecture.md +358 -0
- thothctl-0.24.4/docs/toolkit_overview.md +423 -0
- thothctl-0.24.4/mkdocs.yaml +296 -0
- thothctl-0.24.4/pyproject.toml +165 -0
- thothctl-0.24.4/src/thothctl/__init__.py +30 -0
- thothctl-0.24.4/src/thothctl/autocomplete.py +96 -0
- thothctl-0.24.4/src/thothctl/cli.py +114 -0
- thothctl-0.24.4/src/thothctl/commands/ai_review/cli.py +62 -0
- thothctl-0.24.4/src/thothctl/commands/ai_review/commands/analyze.py +119 -0
- thothctl-0.24.4/src/thothctl/commands/ai_review/commands/apply_fix.py +178 -0
- thothctl-0.24.4/src/thothctl/commands/ai_review/commands/configure.py +107 -0
- thothctl-0.24.4/src/thothctl/commands/ai_review/commands/configure_decisions.py +129 -0
- thothctl-0.24.4/src/thothctl/commands/ai_review/commands/decide.py +158 -0
- thothctl-0.24.4/src/thothctl/commands/ai_review/commands/history.py +99 -0
- thothctl-0.24.4/src/thothctl/commands/ai_review/commands/improve.py +153 -0
- thothctl-0.24.4/src/thothctl/commands/ai_review/commands/orchestrate.py +207 -0
- thothctl-0.24.4/src/thothctl/commands/ai_review/commands/override.py +102 -0
- thothctl-0.24.4/src/thothctl/commands/ai_review/commands/report.py +76 -0
- thothctl-0.24.4/src/thothctl/commands/ai_review/commands/serve.py +43 -0
- thothctl-0.24.4/src/thothctl/commands/check/__init__.py +4 -0
- thothctl-0.24.4/src/thothctl/commands/check/cli.py +66 -0
- thothctl-0.24.4/src/thothctl/commands/check/commands/environment.py +31 -0
- thothctl-0.24.4/src/thothctl/commands/check/commands/iac.py +2656 -0
- thothctl-0.24.4/src/thothctl/commands/check/commands/project/iac.py +416 -0
- thothctl-0.24.4/src/thothctl/commands/check/commands/project.py +68 -0
- thothctl-0.24.4/src/thothctl/commands/check/commands/space.py +201 -0
- thothctl-0.24.4/src/thothctl/commands/dashboard/cli.py +61 -0
- thothctl-0.24.4/src/thothctl/commands/dashboard/commands/launch.py +25 -0
- thothctl-0.24.4/src/thothctl/commands/document/__init__.py +4 -0
- thothctl-0.24.4/src/thothctl/commands/document/cli.py +66 -0
- thothctl-0.24.4/src/thothctl/commands/document/commands/iac.py +176 -0
- thothctl-0.24.4/src/thothctl/commands/generate/__init__.py +4 -0
- thothctl-0.24.4/src/thothctl/commands/generate/cli.py +67 -0
- thothctl-0.24.4/src/thothctl/commands/generate/commands/component.py +69 -0
- thothctl-0.24.4/src/thothctl/commands/generate/commands/iac.py +290 -0
- thothctl-0.24.4/src/thothctl/commands/generate/commands/stacks.py +98 -0
- thothctl-0.24.4/src/thothctl/commands/init/__init__.py +4 -0
- thothctl-0.24.4/src/thothctl/commands/init/cli.py +71 -0
- thothctl-0.24.4/src/thothctl/commands/init/commands/__init__.py +4 -0
- thothctl-0.24.4/src/thothctl/commands/init/commands/env.py +50 -0
- thothctl-0.24.4/src/thothctl/commands/init/commands/project.py +720 -0
- thothctl-0.24.4/src/thothctl/commands/init/commands/space.py +172 -0
- thothctl-0.24.4/src/thothctl/commands/init/commands/template.py +79 -0
- thothctl-0.24.4/src/thothctl/commands/inventory/__init__.py +4 -0
- thothctl-0.24.4/src/thothctl/commands/inventory/cli.py +88 -0
- thothctl-0.24.4/src/thothctl/commands/inventory/commands/check.py +288 -0
- thothctl-0.24.4/src/thothctl/commands/inventory/commands/iac.py +663 -0
- thothctl-0.24.4/src/thothctl/commands/list/__init__.py +4 -0
- thothctl-0.24.4/src/thothctl/commands/list/cli.py +71 -0
- thothctl-0.24.4/src/thothctl/commands/list/commands/projects.py +36 -0
- thothctl-0.24.4/src/thothctl/commands/list/commands/spaces.py +31 -0
- thothctl-0.24.4/src/thothctl/commands/list/commands/templates.py +165 -0
- thothctl-0.24.4/src/thothctl/commands/mcp/cli.py +20 -0
- thothctl-0.24.4/src/thothctl/commands/mcp/commands/register.py +152 -0
- thothctl-0.24.4/src/thothctl/commands/mcp/commands/server.py +64 -0
- thothctl-0.24.4/src/thothctl/commands/mcp/commands/status.py +101 -0
- thothctl-0.24.4/src/thothctl/commands/mcp/commands/stop.py +121 -0
- thothctl-0.24.4/src/thothctl/commands/project/__init__.py +4 -0
- thothctl-0.24.4/src/thothctl/commands/project/cli.py +68 -0
- thothctl-0.24.4/src/thothctl/commands/project/commands/bootstrap.py +195 -0
- thothctl-0.24.4/src/thothctl/commands/project/commands/cleanup.py +76 -0
- thothctl-0.24.4/src/thothctl/commands/project/commands/convert.py +112 -0
- thothctl-0.24.4/src/thothctl/commands/project/commands/upgrade.py +210 -0
- thothctl-0.24.4/src/thothctl/commands/remove/__init__.py +4 -0
- thothctl-0.24.4/src/thothctl/commands/remove/cli.py +70 -0
- thothctl-0.24.4/src/thothctl/commands/remove/project.py +56 -0
- thothctl-0.24.4/src/thothctl/commands/remove/space.py +52 -0
- thothctl-0.24.4/src/thothctl/commands/scan/__init__.py +4 -0
- thothctl-0.24.4/src/thothctl/commands/scan/cli.py +66 -0
- thothctl-0.24.4/src/thothctl/commands/scan/commands/iac.py +847 -0
- thothctl-0.24.4/src/thothctl/commands/space/cli.py +48 -0
- thothctl-0.24.4/src/thothctl/commands/space/commands/activate.py +42 -0
- thothctl-0.24.4/src/thothctl/commands/space/commands/show.py +107 -0
- thothctl-0.24.4/src/thothctl/commands/space/commands/update.py +116 -0
- thothctl-0.24.4/src/thothctl/commands/upgrade/cli.py +123 -0
- thothctl-0.24.4/src/thothctl/commands/workflow/cli.py +60 -0
- thothctl-0.24.4/src/thothctl/commands/workflow/commands/devsecops.py +263 -0
- thothctl-0.24.4/src/thothctl/common/common.py +463 -0
- thothctl-0.24.4/src/thothctl/config/constants.py +18 -0
- thothctl-0.24.4/src/thothctl/config/default_values.py +46 -0
- thothctl-0.24.4/src/thothctl/config/settings.py +26 -0
- thothctl-0.24.4/src/thothctl/config/template_config.py +67 -0
- thothctl-0.24.4/src/thothctl/config/template_configs.py +70 -0
- thothctl-0.24.4/src/thothctl/config/templates.py +61 -0
- thothctl-0.24.4/src/thothctl/core/cli_ui.py +338 -0
- thothctl-0.24.4/src/thothctl/core/commands.py +127 -0
- thothctl-0.24.4/src/thothctl/core/config.py +55 -0
- thothctl-0.24.4/src/thothctl/core/integrations/azure_devops/get_azure_devops.py +210 -0
- thothctl-0.24.4/src/thothctl/core/integrations/azure_devops/pull_request_comments.py +66 -0
- thothctl-0.24.4/src/thothctl/core/integrations/github/get_github.py +224 -0
- thothctl-0.24.4/src/thothctl/core/integrations/github/pull_request_comments.py +56 -0
- thothctl-0.24.4/src/thothctl/core/integrations/integrate_messages_services/sent_message_teams.py +497 -0
- thothctl-0.24.4/src/thothctl/core/integrations/pattern_names.py +16 -0
- thothctl-0.24.4/src/thothctl/core/integrations/pr_comments/pr_comment_publisher.py +211 -0
- thothctl-0.24.4/src/thothctl/core/telemetry.py +102 -0
- thothctl-0.24.4/src/thothctl/core/version_tools.py +85 -0
- thothctl-0.24.4/src/thothctl/mcp/__init__.py +16 -0
- thothctl-0.24.4/src/thothctl/mcp/server.py +761 -0
- thothctl-0.24.4/src/thothctl/services/ai_review/ai_agent.py +516 -0
- thothctl-0.24.4/src/thothctl/services/ai_review/analyzers/code_reviewer.py +71 -0
- thothctl-0.24.4/src/thothctl/services/ai_review/analyzers/context_builder.py +331 -0
- thothctl-0.24.4/src/thothctl/services/ai_review/analyzers/report_analyzer.py +198 -0
- thothctl-0.24.4/src/thothctl/services/ai_review/analyzers/risk_assessor.py +61 -0
- thothctl-0.24.4/src/thothctl/services/ai_review/bedrock_agent_api.py +112 -0
- thothctl-0.24.4/src/thothctl/services/ai_review/config/ai_settings.py +173 -0
- thothctl-0.24.4/src/thothctl/services/ai_review/config/decision_rules.py +132 -0
- thothctl-0.24.4/src/thothctl/services/ai_review/decision_engine.py +194 -0
- thothctl-0.24.4/src/thothctl/services/ai_review/main.py +178 -0
- thothctl-0.24.4/src/thothctl/services/ai_review/memory.py +281 -0
- thothctl-0.24.4/src/thothctl/services/ai_review/orchestrator.py +534 -0
- thothctl-0.24.4/src/thothctl/services/ai_review/pr_decision_publisher.py +216 -0
- thothctl-0.24.4/src/thothctl/services/ai_review/providers/azure_provider.py +68 -0
- thothctl-0.24.4/src/thothctl/services/ai_review/providers/bedrock_agent_provider.py +144 -0
- thothctl-0.24.4/src/thothctl/services/ai_review/providers/bedrock_provider.py +78 -0
- thothctl-0.24.4/src/thothctl/services/ai_review/providers/ollama_provider.py +151 -0
- thothctl-0.24.4/src/thothctl/services/ai_review/providers/openai_provider.py +65 -0
- thothctl-0.24.4/src/thothctl/services/ai_review/safety/safety_guard.py +183 -0
- thothctl-0.24.4/src/thothctl/services/ai_review/strands_agent.py +126 -0
- thothctl-0.24.4/src/thothctl/services/ai_review/tracing.py +133 -0
- thothctl-0.24.4/src/thothctl/services/ai_review/utils/cost_tracker.py +159 -0
- thothctl-0.24.4/src/thothctl/services/ai_review/utils/fix_patterns.py +177 -0
- thothctl-0.24.4/src/thothctl/services/ai_review/utils/formatters.py +106 -0
- thothctl-0.24.4/src/thothctl/services/check/environment/check_environment.py +159 -0
- thothctl-0.24.4/src/thothctl/services/check/org_policy_loader.py +128 -0
- thothctl-0.24.4/src/thothctl/services/check/project/blast_radius_service.py +503 -0
- thothctl-0.24.4/src/thothctl/services/check/project/cfn_blast_radius_service.py +719 -0
- thothctl-0.24.4/src/thothctl/services/check/project/check_project_structure.py +642 -0
- thothctl-0.24.4/src/thothctl/services/check/project/cost/__init__.py +6 -0
- thothctl-0.24.4/src/thothctl/services/check/project/cost/cost_analyzer.py +941 -0
- thothctl-0.24.4/src/thothctl/services/check/project/cost/models/__init__.py +6 -0
- thothctl-0.24.4/src/thothctl/services/check/project/cost/models/cloudformation_mapper.py +56 -0
- thothctl-0.24.4/src/thothctl/services/check/project/cost/models/cost_models.py +41 -0
- thothctl-0.24.4/src/thothctl/services/check/project/cost/pricing/__init__.py +6 -0
- thothctl-0.24.4/src/thothctl/services/check/project/cost/pricing/aws_pricing_client.py +74 -0
- thothctl-0.24.4/src/thothctl/services/check/project/cost/pricing/base_pricing.py +55 -0
- thothctl-0.24.4/src/thothctl/services/check/project/cost/pricing/providers/__init__.py +35 -0
- thothctl-0.24.4/src/thothctl/services/check/project/cost/pricing/providers/apigateway_pricing.py +187 -0
- thothctl-0.24.4/src/thothctl/services/check/project/cost/pricing/providers/bedrock_pricing.py +139 -0
- thothctl-0.24.4/src/thothctl/services/check/project/cost/pricing/providers/cloudwatch_pricing.py +144 -0
- thothctl-0.24.4/src/thothctl/services/check/project/cost/pricing/providers/dynamodb_pricing.py +170 -0
- thothctl-0.24.4/src/thothctl/services/check/project/cost/pricing/providers/ebs_pricing.py +135 -0
- thothctl-0.24.4/src/thothctl/services/check/project/cost/pricing/providers/ec2_pricing.py +130 -0
- thothctl-0.24.4/src/thothctl/services/check/project/cost/pricing/providers/ecs_pricing.py +163 -0
- thothctl-0.24.4/src/thothctl/services/check/project/cost/pricing/providers/eip_pricing.py +81 -0
- thothctl-0.24.4/src/thothctl/services/check/project/cost/pricing/providers/eks_pricing.py +144 -0
- thothctl-0.24.4/src/thothctl/services/check/project/cost/pricing/providers/elb_pricing.py +136 -0
- thothctl-0.24.4/src/thothctl/services/check/project/cost/pricing/providers/free_resources_pricing.py +118 -0
- thothctl-0.24.4/src/thothctl/services/check/project/cost/pricing/providers/kms_pricing.py +86 -0
- thothctl-0.24.4/src/thothctl/services/check/project/cost/pricing/providers/lambda_pricing.py +137 -0
- thothctl-0.24.4/src/thothctl/services/check/project/cost/pricing/providers/msk_pricing.py +152 -0
- thothctl-0.24.4/src/thothctl/services/check/project/cost/pricing/providers/rds_pricing.py +168 -0
- thothctl-0.24.4/src/thothctl/services/check/project/cost/pricing/providers/s3_pricing.py +127 -0
- thothctl-0.24.4/src/thothctl/services/check/project/cost/pricing/providers/secrets_manager_pricing.py +137 -0
- thothctl-0.24.4/src/thothctl/services/check/project/cost/pricing/providers/vpc_pricing.py +148 -0
- thothctl-0.24.4/src/thothctl/services/check/project/cost/unified_cost_report.py +554 -0
- thothctl-0.24.4/src/thothctl/services/check/project/drift/__init__.py +27 -0
- thothctl-0.24.4/src/thothctl/services/check/project/drift/cfn_drift_service.py +542 -0
- thothctl-0.24.4/src/thothctl/services/check/project/drift/drift_ai.py +200 -0
- thothctl-0.24.4/src/thothctl/services/check/project/drift/drift_history.py +118 -0
- thothctl-0.24.4/src/thothctl/services/check/project/drift/drift_policy.py +213 -0
- thothctl-0.24.4/src/thothctl/services/check/project/drift/drift_report.py +212 -0
- thothctl-0.24.4/src/thothctl/services/check/project/drift/drift_service.py +374 -0
- thothctl-0.24.4/src/thothctl/services/check/project/drift/models.py +117 -0
- thothctl-0.24.4/src/thothctl/services/check/project/risk_assessment.py +397 -0
- thothctl-0.24.4/src/thothctl/services/check/project/validate_project_structure.py +371 -0
- thothctl-0.24.4/src/thothctl/services/check/rule_merger.py +200 -0
- thothctl-0.24.4/src/thothctl/services/check/stack_optimizer/__init__.py +223 -0
- thothctl-0.24.4/src/thothctl/services/dashboard/dashboard_service.py +286 -0
- thothctl-0.24.4/src/thothctl/services/dashboard/data_loader.py +695 -0
- thothctl-0.24.4/src/thothctl/services/document/architecture_renderer.py +234 -0
- thothctl-0.24.4/src/thothctl/services/document/create_documentation.py +264 -0
- thothctl-0.24.4/src/thothctl/services/document/files_content.py +147 -0
- thothctl-0.24.4/src/thothctl/services/document/files_scan.py +132 -0
- thothctl-0.24.4/src/thothctl/services/document/iac_documentation.py +524 -0
- thothctl-0.24.4/src/thothctl/services/document/iac_grunt_graph.py +805 -0
- thothctl-0.24.4/src/thothctl/services/document/iac_grunt_info.py +167 -0
- thothctl-0.24.4/src/thothctl/services/document/topology_generator.py +741 -0
- thothctl-0.24.4/src/thothctl/services/generate/create_stacks/config_generator.py +363 -0
- thothctl-0.24.4/src/thothctl/services/generate/create_stacks/remote_config_generation.py +719 -0
- thothctl-0.24.4/src/thothctl/services/generate/create_stacks/stack_service.py +685 -0
- thothctl-0.24.4/src/thothctl/services/generate/create_stacks/terragrunt.hcl +36 -0
- thothctl-0.24.4/src/thothctl/services/generate/create_template/create_code.py +146 -0
- thothctl-0.24.4/src/thothctl/services/generate/create_template/create_component.py +131 -0
- thothctl-0.24.4/src/thothctl/services/generate/create_template/create_component_service.py +314 -0
- thothctl-0.24.4/src/thothctl/services/generate/create_template/create_stacks.py +173 -0
- thothctl-0.24.4/src/thothctl/services/generate/create_template/create_template.py +234 -0
- thothctl-0.24.4/src/thothctl/services/generate/create_template/files_content.py +558 -0
- thothctl-0.24.4/src/thothctl/services/generate/create_template/github_template_loader.py +146 -0
- thothctl-0.24.4/src/thothctl/services/generate/create_template/project_templates.py +258 -0
- thothctl-0.24.4/src/thothctl/services/generate/intent/__init__.py +6 -0
- thothctl-0.24.4/src/thothctl/services/generate/intent/code_generator.py +288 -0
- thothctl-0.24.4/src/thothctl/services/generate/intent/context_builder.py +361 -0
- thothctl-0.24.4/src/thothctl/services/generate/intent/intent_service.py +217 -0
- thothctl-0.24.4/src/thothctl/services/generate/intent/models.py +165 -0
- thothctl-0.24.4/src/thothctl/services/generate/intent/prompts.py +187 -0
- thothctl-0.24.4/src/thothctl/services/generate/intent/validator.py +298 -0
- thothctl-0.24.4/src/thothctl/services/init/environment/install_tools.py +473 -0
- thothctl-0.24.4/src/thothctl/services/init/project/__init__.py +0 -0
- thothctl-0.24.4/src/thothctl/services/init/project/project.py +664 -0
- thothctl-0.24.4/src/thothctl/services/init/space/local_registry.py +307 -0
- thothctl-0.24.4/src/thothctl/services/init/space/space.py +538 -0
- thothctl-0.24.4/src/thothctl/services/inventory/__init__.py +0 -0
- thothctl-0.24.4/src/thothctl/services/inventory/changelog_parser.py +447 -0
- thothctl-0.24.4/src/thothctl/services/inventory/inventory_service.py +1773 -0
- thothctl-0.24.4/src/thothctl/services/inventory/models.py +149 -0
- thothctl-0.24.4/src/thothctl/services/inventory/module_compatibility_service.py +782 -0
- thothctl-0.24.4/src/thothctl/services/inventory/report_service.py +2706 -0
- thothctl-0.24.4/src/thothctl/services/inventory/report_service_backup.py +1678 -0
- thothctl-0.24.4/src/thothctl/services/inventory/schema_compatibility_service.py +1511 -0
- thothctl-0.24.4/src/thothctl/services/inventory/terragrunt_parser.py +252 -0
- thothctl-0.24.4/src/thothctl/services/inventory/update_versions.py +390 -0
- thothctl-0.24.4/src/thothctl/services/inventory/version_service.py +1123 -0
- thothctl-0.24.4/src/thothctl/services/mcp/simple_http_server.py +641 -0
- thothctl-0.24.4/src/thothctl/services/mcp/stdio_server.py +632 -0
- thothctl-0.24.4/src/thothctl/services/project/__init__.py +0 -0
- thothctl-0.24.4/src/thothctl/services/project/bootstrap/bootstrap_service.py +557 -0
- thothctl-0.24.4/src/thothctl/services/project/cleanup/clean_project.py +81 -0
- thothctl-0.24.4/src/thothctl/services/project/cleanup/clean_space.py +140 -0
- thothctl-0.24.4/src/thothctl/services/project/convert/__init__.py +0 -0
- thothctl-0.24.4/src/thothctl/services/project/convert/get_project_data.py +660 -0
- thothctl-0.24.4/src/thothctl/services/project/convert/post_init.py +74 -0
- thothctl-0.24.4/src/thothctl/services/project/convert/project_converter.py +428 -0
- thothctl-0.24.4/src/thothctl/services/project/convert/project_defaults.py +46 -0
- thothctl-0.24.4/src/thothctl/services/project/convert/set_project_parameters.py +416 -0
- thothctl-0.24.4/src/thothctl/services/project/create_terramate/create_terramate_stacks.py +160 -0
- thothctl-0.24.4/src/thothctl/services/project/create_terramate/detect_changes_stacks.py +249 -0
- thothctl-0.24.4/src/thothctl/services/project/create_terramate/manage_terramate_stacks.py +323 -0
- thothctl-0.24.4/src/thothctl/services/project/upgrade/upgrade_service.py +413 -0
- thothctl-0.24.4/src/thothctl/services/scan/__init__.py +0 -0
- thothctl-0.24.4/src/thothctl/services/scan/compliance_review.py +398 -0
- thothctl-0.24.4/src/thothctl/services/scan/import_reports.py +38 -0
- thothctl-0.24.4/src/thothctl/services/scan/models.py +85 -0
- thothctl-0.24.4/src/thothctl/services/scan/report_parser.py +186 -0
- thothctl-0.24.4/src/thothctl/services/scan/sarif_output.py +125 -0
- thothctl-0.24.4/src/thothctl/services/scan/scan_history.py +230 -0
- thothctl-0.24.4/src/thothctl/services/scan/scan_service.py +458 -0
- thothctl-0.24.4/src/thothctl/services/scan/scanners/__init__.py +0 -0
- thothctl-0.24.4/src/thothctl/services/scan/scanners/checkov.py +356 -0
- thothctl-0.24.4/src/thothctl/services/scan/scanners/kics.py +269 -0
- thothctl-0.24.4/src/thothctl/services/scan/scanners/opa.py +774 -0
- thothctl-0.24.4/src/thothctl/services/scan/scanners/scan_reports.py +325 -0
- thothctl-0.24.4/src/thothctl/services/scan/scanners/scanners.py +61 -0
- thothctl-0.24.4/src/thothctl/services/scan/scanners/terraform_compliance.py +375 -0
- thothctl-0.24.4/src/thothctl/services/scan/scanners/tfsec.py +38 -0
- thothctl-0.24.4/src/thothctl/services/scan/scanners/trivy.py +381 -0
- thothctl-0.24.4/src/thothctl/services/scan/test.py +460 -0
- thothctl-0.24.4/src/thothctl/services/workflow/__init__.py +0 -0
- thothctl-0.24.4/src/thothctl/services/workflow/models.py +75 -0
- thothctl-0.24.4/src/thothctl/services/workflow/phases/__init__.py +0 -0
- thothctl-0.24.4/src/thothctl/services/workflow/phases/base.py +31 -0
- thothctl-0.24.4/src/thothctl/services/workflow/phases/build.py +87 -0
- thothctl-0.24.4/src/thothctl/services/workflow/phases/deploy.py +73 -0
- thothctl-0.24.4/src/thothctl/services/workflow/phases/develop.py +137 -0
- thothctl-0.24.4/src/thothctl/services/workflow/phases/monitor.py +90 -0
- thothctl-0.24.4/src/thothctl/services/workflow/phases/plan.py +155 -0
- thothctl-0.24.4/src/thothctl/services/workflow/phases/secure.py +105 -0
- thothctl-0.24.4/src/thothctl/services/workflow/phases/test.py +113 -0
- thothctl-0.24.4/src/thothctl/services/workflow/workflow_service.py +97 -0
- thothctl-0.24.4/src/thothctl/utils/banner.py +33 -0
- thothctl-0.24.4/src/thothctl/utils/common/__init__.py +0 -0
- thothctl-0.24.4/src/thothctl/utils/common/create_compliance_html_reports.py +114 -0
- thothctl-0.24.4/src/thothctl/utils/common/create_html_reports.py +623 -0
- thothctl-0.24.4/src/thothctl/utils/common/delete_directory.py +237 -0
- thothctl-0.24.4/src/thothctl/utils/common/fix_report_styling.py +158 -0
- thothctl-0.24.4/src/thothctl/utils/common/render_scan_report.py +239 -0
- thothctl-0.24.4/src/thothctl/utils/common/report_html_utils.py +196 -0
- thothctl-0.24.4/src/thothctl/utils/crypto.py +237 -0
- thothctl-0.24.4/src/thothctl/utils/manage_backend_resources/manage_backend_resources.py +29 -0
- thothctl-0.24.4/src/thothctl/utils/modules_ops/terraform_module_details.py +262 -0
- thothctl-0.24.4/src/thothctl/utils/modules_ops/terraform_modules_fetcher.py +296 -0
- thothctl-0.24.4/src/thothctl/utils/platform_utils.py +80 -0
- thothctl-0.24.4/src/thothctl/utils/process_hcl/analyze_terraform_plan.py +371 -0
- thothctl-0.24.4/src/thothctl/utils/process_hcl/graph_manager.py +183 -0
- thothctl-0.24.4/src/thothctl/utils/process_hcl/process_terraform_file.py +21 -0
- thothctl-0.24.4/src/thothctl/utils/sync_workspaces/sync_terraform_workspaces.py +278 -0
- thothctl-0.24.4/src/thothctl/utils/sync_workspaces/sync_terragrunt_workspaces.py +143 -0
- thothctl-0.24.4/src/thothctl/utils/template_loader.py +228 -0
- thothctl-0.24.4/src/thothctl/version.py +3 -0
- thothctl-0.24.4/src/thothctl/wellcome_banner.py +30 -0
- thothctl-0.24.4/tests/conftest.py +7 -0
- thothctl-0.24.4/tests/test_agentcore_entrypoint.py +155 -0
- thothctl-0.24.4/tests/test_ai_apply_fix.py +142 -0
- thothctl-0.24.4/tests/test_ai_decision_engine.py +141 -0
- thothctl-0.24.4/tests/test_ai_fix_patterns.py +233 -0
- thothctl-0.24.4/tests/test_ai_memory.py +153 -0
- thothctl-0.24.4/tests/test_ai_orchestrator.py +236 -0
- thothctl-0.24.4/tests/test_ai_pr_decision.py +100 -0
- thothctl-0.24.4/tests/test_ai_safety_guard.py +117 -0
- thothctl-0.24.4/tests/test_aws_pricing_client.py +83 -0
- thothctl-0.24.4/tests/test_azure_devops_pr_comments.py +104 -0
- thothctl-0.24.4/tests/test_bedrock_pricing.py +105 -0
- thothctl-0.24.4/tests/test_cdk_language_selection.py +194 -0
- thothctl-0.24.4/tests/test_cfn_blast_radius.py +226 -0
- thothctl-0.24.4/tests/test_cfn_drift_detection.py +318 -0
- thothctl-0.24.4/tests/test_context_steering.py +104 -0
- thothctl-0.24.4/tests/test_cost_analyzer.py +132 -0
- thothctl-0.24.4/tests/test_cost_models.py +71 -0
- thothctl-0.24.4/tests/test_cost_policy_enforcement.py +262 -0
- thothctl-0.24.4/tests/test_cost_pr_comments.py +72 -0
- thothctl-0.24.4/tests/test_dashboard_loading_fix.py +113 -0
- thothctl-0.24.4/tests/test_dashboard_service.py +161 -0
- thothctl-0.24.4/tests/test_drift.py +825 -0
- thothctl-0.24.4/tests/test_drift_detection.py +1139 -0
- thothctl-0.24.4/tests/test_ec2_pricing.py +74 -0
- thothctl-0.24.4/tests/test_generate_iac_codegen.py +278 -0
- thothctl-0.24.4/tests/test_generate_iac_context.py +333 -0
- thothctl-0.24.4/tests/test_generate_iac_prompts.py +161 -0
- thothctl-0.24.4/tests/test_generate_iac_service.py +398 -0
- thothctl-0.24.4/tests/test_generate_iac_validator.py +322 -0
- thothctl-0.24.4/tests/test_github_pr_comments.py +119 -0
- thothctl-0.24.4/tests/test_iac_cost_integration.py +153 -0
- thothctl-0.24.4/tests/test_init_ai_tools.py +154 -0
- thothctl-0.24.4/tests/test_init_template_params.py +178 -0
- thothctl-0.24.4/tests/test_inventory_pr_comments.py +75 -0
- thothctl-0.24.4/tests/test_kics_scanner.py +131 -0
- thothctl-0.24.4/tests/test_mermaid_edge_labels.py +361 -0
- thothctl-0.24.4/tests/test_new_cost_providers.py +444 -0
- thothctl-0.24.4/tests/test_opa_data_files.py +166 -0
- thothctl-0.24.4/tests/test_parallel_scan.py +211 -0
- thothctl-0.24.4/tests/test_platform_utils.py +87 -0
- thothctl-0.24.4/tests/test_pr_comment_publisher.py +392 -0
- thothctl-0.24.4/tests/test_provider_source_url_fix.py +131 -0
- thothctl-0.24.4/tests/test_provider_versions.py +81 -0
- thothctl-0.24.4/tests/test_scan_cfn_support.py +178 -0
- thothctl-0.24.4/tests/test_scan_command.py +74 -0
- thothctl-0.24.4/tests/test_scan_pr_comments.py +74 -0
- thothctl-0.24.4/tests/test_space_command.py +32 -0
- thothctl-0.24.4/tests/test_space_management.py +243 -0
- thothctl-0.24.4/tests/test_stack_optimizer.py +194 -0
- thothctl-0.24.4/tests/test_template_url_fix.py +132 -0
- thothctl-0.24.4/tests/test_terragrunt_parser.py +56 -0
- thothctl-0.24.4/tests/test_topology_generator.py +459 -0
- thothctl-0.24.3/.pre-commit-config.yaml +0 -38
- thothctl-0.24.3/PKG-INFO +0 -254
- thothctl-0.24.3/docs/framework/framework_architecture.md +0 -305
- thothctl-0.24.3/mkdocs.yaml +0 -288
- thothctl-0.24.3/pyproject.toml +0 -165
- thothctl-0.24.3/src/thothctl/__init__.py +0 -29
- thothctl-0.24.3/src/thothctl/autocomplete.py +0 -82
- thothctl-0.24.3/src/thothctl/cli.py +0 -108
- thothctl-0.24.3/src/thothctl/commands/ai_review/__init__.py +0 -1
- thothctl-0.24.3/src/thothctl/commands/ai_review/cli.py +0 -61
- thothctl-0.24.3/src/thothctl/commands/ai_review/commands/__init__.py +0 -1
- thothctl-0.24.3/src/thothctl/commands/ai_review/commands/analyze.py +0 -103
- thothctl-0.24.3/src/thothctl/commands/ai_review/commands/apply_fix.py +0 -146
- thothctl-0.24.3/src/thothctl/commands/ai_review/commands/configure.py +0 -95
- thothctl-0.24.3/src/thothctl/commands/ai_review/commands/configure_decisions.py +0 -104
- thothctl-0.24.3/src/thothctl/commands/ai_review/commands/decide.py +0 -112
- thothctl-0.24.3/src/thothctl/commands/ai_review/commands/history.py +0 -89
- thothctl-0.24.3/src/thothctl/commands/ai_review/commands/improve.py +0 -115
- thothctl-0.24.3/src/thothctl/commands/ai_review/commands/orchestrate.py +0 -154
- thothctl-0.24.3/src/thothctl/commands/ai_review/commands/override.py +0 -86
- thothctl-0.24.3/src/thothctl/commands/ai_review/commands/report.py +0 -73
- thothctl-0.24.3/src/thothctl/commands/ai_review/commands/serve.py +0 -39
- thothctl-0.24.3/src/thothctl/commands/check/__init__.py +0 -5
- thothctl-0.24.3/src/thothctl/commands/check/cli.py +0 -67
- thothctl-0.24.3/src/thothctl/commands/check/commands/environment.py +0 -32
- thothctl-0.24.3/src/thothctl/commands/check/commands/iac.py +0 -2283
- thothctl-0.24.3/src/thothctl/commands/check/commands/project/iac.py +0 -368
- thothctl-0.24.3/src/thothctl/commands/check/commands/project.py +0 -68
- thothctl-0.24.3/src/thothctl/commands/check/commands/space.py +0 -192
- thothctl-0.24.3/src/thothctl/commands/dashboard/cli.py +0 -59
- thothctl-0.24.3/src/thothctl/commands/dashboard/commands/launch.py +0 -23
- thothctl-0.24.3/src/thothctl/commands/document/__init__.py +0 -5
- thothctl-0.24.3/src/thothctl/commands/document/cli.py +0 -67
- thothctl-0.24.3/src/thothctl/commands/document/commands/iac.py +0 -156
- thothctl-0.24.3/src/thothctl/commands/generate/__init__.py +0 -5
- thothctl-0.24.3/src/thothctl/commands/generate/cli.py +0 -69
- thothctl-0.24.3/src/thothctl/commands/generate/commands/component.py +0 -72
- thothctl-0.24.3/src/thothctl/commands/generate/commands/stacks.py +0 -89
- thothctl-0.24.3/src/thothctl/commands/init/__init__.py +0 -5
- thothctl-0.24.3/src/thothctl/commands/init/cli.py +0 -73
- thothctl-0.24.3/src/thothctl/commands/init/commands/__init__.py +0 -8
- thothctl-0.24.3/src/thothctl/commands/init/commands/env.py +0 -51
- thothctl-0.24.3/src/thothctl/commands/init/commands/project.py +0 -644
- thothctl-0.24.3/src/thothctl/commands/init/commands/space.py +0 -165
- thothctl-0.24.3/src/thothctl/commands/init/commands/template.py +0 -71
- thothctl-0.24.3/src/thothctl/commands/inventory/__init__.py +0 -5
- thothctl-0.24.3/src/thothctl/commands/inventory/cli.py +0 -83
- thothctl-0.24.3/src/thothctl/commands/inventory/commands/check.py +0 -290
- thothctl-0.24.3/src/thothctl/commands/inventory/commands/iac.py +0 -611
- thothctl-0.24.3/src/thothctl/commands/list/__init__.py +0 -5
- thothctl-0.24.3/src/thothctl/commands/list/cli.py +0 -72
- thothctl-0.24.3/src/thothctl/commands/list/commands/__init__.py +0 -1
- thothctl-0.24.3/src/thothctl/commands/list/commands/projects.py +0 -36
- thothctl-0.24.3/src/thothctl/commands/list/commands/spaces.py +0 -35
- thothctl-0.24.3/src/thothctl/commands/list/commands/templates.py +0 -155
- thothctl-0.24.3/src/thothctl/commands/mcp/cli.py +0 -20
- thothctl-0.24.3/src/thothctl/commands/mcp/commands/register.py +0 -139
- thothctl-0.24.3/src/thothctl/commands/mcp/commands/server.py +0 -57
- thothctl-0.24.3/src/thothctl/commands/mcp/commands/status.py +0 -88
- thothctl-0.24.3/src/thothctl/commands/mcp/commands/stop.py +0 -113
- thothctl-0.24.3/src/thothctl/commands/project/__init__.py +0 -5
- thothctl-0.24.3/src/thothctl/commands/project/cli.py +0 -70
- thothctl-0.24.3/src/thothctl/commands/project/commands/bootstrap.py +0 -174
- thothctl-0.24.3/src/thothctl/commands/project/commands/cleanup.py +0 -77
- thothctl-0.24.3/src/thothctl/commands/project/commands/convert.py +0 -97
- thothctl-0.24.3/src/thothctl/commands/project/commands/upgrade.py +0 -203
- thothctl-0.24.3/src/thothctl/commands/remove/__init__.py +0 -5
- thothctl-0.24.3/src/thothctl/commands/remove/cli.py +0 -68
- thothctl-0.24.3/src/thothctl/commands/remove/project.py +0 -57
- thothctl-0.24.3/src/thothctl/commands/remove/space.py +0 -52
- thothctl-0.24.3/src/thothctl/commands/scan/__init__.py +0 -5
- thothctl-0.24.3/src/thothctl/commands/scan/cli.py +0 -67
- thothctl-0.24.3/src/thothctl/commands/scan/commands/iac.py +0 -797
- thothctl-0.24.3/src/thothctl/commands/space/cli.py +0 -47
- thothctl-0.24.3/src/thothctl/commands/space/commands/activate.py +0 -38
- thothctl-0.24.3/src/thothctl/commands/space/commands/show.py +0 -101
- thothctl-0.24.3/src/thothctl/commands/space/commands/update.py +0 -79
- thothctl-0.24.3/src/thothctl/commands/upgrade/cli.py +0 -119
- thothctl-0.24.3/src/thothctl/commands/workflow/cli.py +0 -61
- thothctl-0.24.3/src/thothctl/commands/workflow/commands/devsecops.py +0 -234
- thothctl-0.24.3/src/thothctl/common/common.py +0 -460
- thothctl-0.24.3/src/thothctl/config/constants.py +0 -19
- thothctl-0.24.3/src/thothctl/config/default_values.py +0 -47
- thothctl-0.24.3/src/thothctl/config/settings.py +0 -27
- thothctl-0.24.3/src/thothctl/config/template_config.py +0 -66
- thothctl-0.24.3/src/thothctl/config/template_configs.py +0 -73
- thothctl-0.24.3/src/thothctl/config/templates.py +0 -62
- thothctl-0.24.3/src/thothctl/core/cli_ui.py +0 -319
- thothctl-0.24.3/src/thothctl/core/commands.py +0 -127
- thothctl-0.24.3/src/thothctl/core/config.py +0 -56
- thothctl-0.24.3/src/thothctl/core/integrations/azure_devops/get_azure_devops.py +0 -209
- thothctl-0.24.3/src/thothctl/core/integrations/azure_devops/pull_request_comments.py +0 -66
- thothctl-0.24.3/src/thothctl/core/integrations/github/get_github.py +0 -215
- thothctl-0.24.3/src/thothctl/core/integrations/github/pull_request_comments.py +0 -53
- thothctl-0.24.3/src/thothctl/core/integrations/integrate_messages_services/sent_message_teams.py +0 -505
- thothctl-0.24.3/src/thothctl/core/integrations/pattern_names.py +0 -3
- thothctl-0.24.3/src/thothctl/core/integrations/pr_comments/__init__.py +0 -1
- thothctl-0.24.3/src/thothctl/core/integrations/pr_comments/pr_comment_publisher.py +0 -208
- thothctl-0.24.3/src/thothctl/core/telemetry.py +0 -93
- thothctl-0.24.3/src/thothctl/core/version_tools.py +0 -88
- thothctl-0.24.3/src/thothctl/mcp/__init__.py +0 -15
- thothctl-0.24.3/src/thothctl/mcp/server.py +0 -765
- thothctl-0.24.3/src/thothctl/services/ai_review/ai_agent.py +0 -396
- thothctl-0.24.3/src/thothctl/services/ai_review/analyzers/__init__.py +0 -1
- thothctl-0.24.3/src/thothctl/services/ai_review/analyzers/code_reviewer.py +0 -56
- thothctl-0.24.3/src/thothctl/services/ai_review/analyzers/context_builder.py +0 -295
- thothctl-0.24.3/src/thothctl/services/ai_review/analyzers/report_analyzer.py +0 -184
- thothctl-0.24.3/src/thothctl/services/ai_review/analyzers/risk_assessor.py +0 -57
- thothctl-0.24.3/src/thothctl/services/ai_review/bedrock_agent_api.py +0 -97
- thothctl-0.24.3/src/thothctl/services/ai_review/config/__init__.py +0 -1
- thothctl-0.24.3/src/thothctl/services/ai_review/config/ai_settings.py +0 -145
- thothctl-0.24.3/src/thothctl/services/ai_review/config/decision_rules.py +0 -123
- thothctl-0.24.3/src/thothctl/services/ai_review/decision_engine.py +0 -148
- thothctl-0.24.3/src/thothctl/services/ai_review/main.py +0 -142
- thothctl-0.24.3/src/thothctl/services/ai_review/memory.py +0 -259
- thothctl-0.24.3/src/thothctl/services/ai_review/orchestrator.py +0 -459
- thothctl-0.24.3/src/thothctl/services/ai_review/pr_decision_publisher.py +0 -187
- thothctl-0.24.3/src/thothctl/services/ai_review/providers/__init__.py +0 -1
- thothctl-0.24.3/src/thothctl/services/ai_review/providers/azure_provider.py +0 -61
- thothctl-0.24.3/src/thothctl/services/ai_review/providers/bedrock_agent_provider.py +0 -133
- thothctl-0.24.3/src/thothctl/services/ai_review/providers/bedrock_provider.py +0 -69
- thothctl-0.24.3/src/thothctl/services/ai_review/providers/ollama_provider.py +0 -138
- thothctl-0.24.3/src/thothctl/services/ai_review/providers/openai_provider.py +0 -56
- thothctl-0.24.3/src/thothctl/services/ai_review/safety/__init__.py +0 -1
- thothctl-0.24.3/src/thothctl/services/ai_review/safety/safety_guard.py +0 -148
- thothctl-0.24.3/src/thothctl/services/ai_review/strands_agent.py +0 -119
- thothctl-0.24.3/src/thothctl/services/ai_review/tracing.py +0 -123
- thothctl-0.24.3/src/thothctl/services/ai_review/utils/__init__.py +0 -1
- thothctl-0.24.3/src/thothctl/services/ai_review/utils/cost_tracker.py +0 -144
- thothctl-0.24.3/src/thothctl/services/ai_review/utils/fix_patterns.py +0 -174
- thothctl-0.24.3/src/thothctl/services/ai_review/utils/formatters.py +0 -99
- thothctl-0.24.3/src/thothctl/services/check/environment/check_environment.py +0 -168
- thothctl-0.24.3/src/thothctl/services/check/org_policy_loader.py +0 -127
- thothctl-0.24.3/src/thothctl/services/check/project/blast_radius_service.py +0 -445
- thothctl-0.24.3/src/thothctl/services/check/project/cfn_blast_radius_service.py +0 -624
- thothctl-0.24.3/src/thothctl/services/check/project/check_project_structure.py +0 -573
- thothctl-0.24.3/src/thothctl/services/check/project/cost/__init__.py +0 -6
- thothctl-0.24.3/src/thothctl/services/check/project/cost/cost_analyzer.py +0 -814
- thothctl-0.24.3/src/thothctl/services/check/project/cost/models/__init__.py +0 -6
- thothctl-0.24.3/src/thothctl/services/check/project/cost/models/cloudformation_mapper.py +0 -64
- thothctl-0.24.3/src/thothctl/services/check/project/cost/models/cost_models.py +0 -41
- thothctl-0.24.3/src/thothctl/services/check/project/cost/pricing/__init__.py +0 -6
- thothctl-0.24.3/src/thothctl/services/check/project/cost/pricing/aws_pricing_client.py +0 -70
- thothctl-0.24.3/src/thothctl/services/check/project/cost/pricing/base_pricing.py +0 -52
- thothctl-0.24.3/src/thothctl/services/check/project/cost/pricing/providers/__init__.py +0 -35
- thothctl-0.24.3/src/thothctl/services/check/project/cost/pricing/providers/apigateway_pricing.py +0 -176
- thothctl-0.24.3/src/thothctl/services/check/project/cost/pricing/providers/bedrock_pricing.py +0 -132
- thothctl-0.24.3/src/thothctl/services/check/project/cost/pricing/providers/cloudwatch_pricing.py +0 -136
- thothctl-0.24.3/src/thothctl/services/check/project/cost/pricing/providers/dynamodb_pricing.py +0 -164
- thothctl-0.24.3/src/thothctl/services/check/project/cost/pricing/providers/ebs_pricing.py +0 -129
- thothctl-0.24.3/src/thothctl/services/check/project/cost/pricing/providers/ec2_pricing.py +0 -116
- thothctl-0.24.3/src/thothctl/services/check/project/cost/pricing/providers/ecs_pricing.py +0 -151
- thothctl-0.24.3/src/thothctl/services/check/project/cost/pricing/providers/eip_pricing.py +0 -72
- thothctl-0.24.3/src/thothctl/services/check/project/cost/pricing/providers/eks_pricing.py +0 -136
- thothctl-0.24.3/src/thothctl/services/check/project/cost/pricing/providers/elb_pricing.py +0 -128
- thothctl-0.24.3/src/thothctl/services/check/project/cost/pricing/providers/free_resources_pricing.py +0 -115
- thothctl-0.24.3/src/thothctl/services/check/project/cost/pricing/providers/kms_pricing.py +0 -77
- thothctl-0.24.3/src/thothctl/services/check/project/cost/pricing/providers/lambda_pricing.py +0 -123
- thothctl-0.24.3/src/thothctl/services/check/project/cost/pricing/providers/msk_pricing.py +0 -141
- thothctl-0.24.3/src/thothctl/services/check/project/cost/pricing/providers/rds_pricing.py +0 -155
- thothctl-0.24.3/src/thothctl/services/check/project/cost/pricing/providers/s3_pricing.py +0 -121
- thothctl-0.24.3/src/thothctl/services/check/project/cost/pricing/providers/secrets_manager_pricing.py +0 -129
- thothctl-0.24.3/src/thothctl/services/check/project/cost/pricing/providers/vpc_pricing.py +0 -135
- thothctl-0.24.3/src/thothctl/services/check/project/cost/unified_cost_report.py +0 -539
- thothctl-0.24.3/src/thothctl/services/check/project/drift/__init__.py +0 -21
- thothctl-0.24.3/src/thothctl/services/check/project/drift/cfn_drift_service.py +0 -489
- thothctl-0.24.3/src/thothctl/services/check/project/drift/drift_ai.py +0 -170
- thothctl-0.24.3/src/thothctl/services/check/project/drift/drift_history.py +0 -109
- thothctl-0.24.3/src/thothctl/services/check/project/drift/drift_policy.py +0 -202
- thothctl-0.24.3/src/thothctl/services/check/project/drift/drift_report.py +0 -186
- thothctl-0.24.3/src/thothctl/services/check/project/drift/drift_service.py +0 -336
- thothctl-0.24.3/src/thothctl/services/check/project/drift/models.py +0 -111
- thothctl-0.24.3/src/thothctl/services/check/project/risk_assessment.py +0 -384
- thothctl-0.24.3/src/thothctl/services/check/project/validate_project_structure.py +0 -370
- thothctl-0.24.3/src/thothctl/services/check/rule_merger.py +0 -182
- thothctl-0.24.3/src/thothctl/services/check/stack_optimizer/__init__.py +0 -212
- thothctl-0.24.3/src/thothctl/services/dashboard/dashboard_service.py +0 -254
- thothctl-0.24.3/src/thothctl/services/dashboard/data_loader.py +0 -640
- thothctl-0.24.3/src/thothctl/services/document/architecture_renderer.py +0 -220
- thothctl-0.24.3/src/thothctl/services/document/create_documentation.py +0 -264
- thothctl-0.24.3/src/thothctl/services/document/files_content.py +0 -146
- thothctl-0.24.3/src/thothctl/services/document/files_scan.py +0 -140
- thothctl-0.24.3/src/thothctl/services/document/iac_documentation.py +0 -479
- thothctl-0.24.3/src/thothctl/services/document/iac_grunt_graph.py +0 -780
- thothctl-0.24.3/src/thothctl/services/document/iac_grunt_info.py +0 -164
- thothctl-0.24.3/src/thothctl/services/document/topology_generator.py +0 -518
- thothctl-0.24.3/src/thothctl/services/generate/create_stacks/config_generator.py +0 -362
- thothctl-0.24.3/src/thothctl/services/generate/create_stacks/remote_config_generation.py +0 -708
- thothctl-0.24.3/src/thothctl/services/generate/create_stacks/stack_service.py +0 -638
- thothctl-0.24.3/src/thothctl/services/generate/create_template/create_code.py +0 -145
- thothctl-0.24.3/src/thothctl/services/generate/create_template/create_component.py +0 -134
- thothctl-0.24.3/src/thothctl/services/generate/create_template/create_component_service.py +0 -281
- thothctl-0.24.3/src/thothctl/services/generate/create_template/create_stacks.py +0 -173
- thothctl-0.24.3/src/thothctl/services/generate/create_template/create_template.py +0 -229
- thothctl-0.24.3/src/thothctl/services/generate/create_template/files_content.py +0 -549
- thothctl-0.24.3/src/thothctl/services/generate/create_template/github_template_loader.py +0 -138
- thothctl-0.24.3/src/thothctl/services/generate/create_template/project_templates.py +0 -222
- thothctl-0.24.3/src/thothctl/services/init/environment/install_tools.py +0 -476
- thothctl-0.24.3/src/thothctl/services/init/project/project.py +0 -616
- thothctl-0.24.3/src/thothctl/services/init/space/local_registry.py +0 -308
- thothctl-0.24.3/src/thothctl/services/init/space/space.py +0 -520
- thothctl-0.24.3/src/thothctl/services/inventory/changelog_parser.py +0 -416
- thothctl-0.24.3/src/thothctl/services/inventory/inventory_service.py +0 -1562
- thothctl-0.24.3/src/thothctl/services/inventory/models.py +0 -143
- thothctl-0.24.3/src/thothctl/services/inventory/module_compatibility_service.py +0 -652
- thothctl-0.24.3/src/thothctl/services/inventory/report_service.py +0 -2526
- thothctl-0.24.3/src/thothctl/services/inventory/schema_compatibility_service.py +0 -1238
- thothctl-0.24.3/src/thothctl/services/inventory/terragrunt_parser.py +0 -225
- thothctl-0.24.3/src/thothctl/services/inventory/update_versions.py +0 -386
- thothctl-0.24.3/src/thothctl/services/inventory/version_service.py +0 -1072
- thothctl-0.24.3/src/thothctl/services/mcp/simple_http_server.py +0 -544
- thothctl-0.24.3/src/thothctl/services/mcp/stdio_server.py +0 -467
- thothctl-0.24.3/src/thothctl/services/project/bootstrap/bootstrap_service.py +0 -556
- thothctl-0.24.3/src/thothctl/services/project/cleanup/clean_project.py +0 -80
- thothctl-0.24.3/src/thothctl/services/project/cleanup/clean_space.py +0 -128
- thothctl-0.24.3/src/thothctl/services/project/convert/get_project_data.py +0 -551
- thothctl-0.24.3/src/thothctl/services/project/convert/post_init.py +0 -66
- thothctl-0.24.3/src/thothctl/services/project/convert/project_converter.py +0 -401
- thothctl-0.24.3/src/thothctl/services/project/convert/project_defaults.py +0 -45
- thothctl-0.24.3/src/thothctl/services/project/convert/set_project_parameters.py +0 -400
- thothctl-0.24.3/src/thothctl/services/project/create_terramate/create_terramate_stacks.py +0 -158
- thothctl-0.24.3/src/thothctl/services/project/create_terramate/detect_changes_stacks.py +0 -250
- thothctl-0.24.3/src/thothctl/services/project/create_terramate/manage_terramate_stacks.py +0 -322
- thothctl-0.24.3/src/thothctl/services/project/upgrade/upgrade_service.py +0 -410
- thothctl-0.24.3/src/thothctl/services/scan/compliance_review.py +0 -397
- thothctl-0.24.3/src/thothctl/services/scan/import_reports.py +0 -37
- thothctl-0.24.3/src/thothctl/services/scan/models.py +0 -84
- thothctl-0.24.3/src/thothctl/services/scan/report_parser.py +0 -180
- thothctl-0.24.3/src/thothctl/services/scan/sarif_output.py +0 -120
- thothctl-0.24.3/src/thothctl/services/scan/scan_history.py +0 -205
- thothctl-0.24.3/src/thothctl/services/scan/scan_service.py +0 -412
- thothctl-0.24.3/src/thothctl/services/scan/scanners/checkov.py +0 -298
- thothctl-0.24.3/src/thothctl/services/scan/scanners/kics.py +0 -260
- thothctl-0.24.3/src/thothctl/services/scan/scanners/opa.py +0 -739
- thothctl-0.24.3/src/thothctl/services/scan/scanners/scan_reports.py +0 -326
- thothctl-0.24.3/src/thothctl/services/scan/scanners/scanners.py +0 -62
- thothctl-0.24.3/src/thothctl/services/scan/scanners/terraform_compliance.py +0 -338
- thothctl-0.24.3/src/thothctl/services/scan/scanners/tfsec.py +0 -38
- thothctl-0.24.3/src/thothctl/services/scan/scanners/trivy.py +0 -346
- thothctl-0.24.3/src/thothctl/services/workflow/models.py +0 -70
- thothctl-0.24.3/src/thothctl/services/workflow/phases/base.py +0 -30
- thothctl-0.24.3/src/thothctl/services/workflow/phases/build.py +0 -84
- thothctl-0.24.3/src/thothctl/services/workflow/phases/deploy.py +0 -68
- thothctl-0.24.3/src/thothctl/services/workflow/phases/develop.py +0 -132
- thothctl-0.24.3/src/thothctl/services/workflow/phases/monitor.py +0 -85
- thothctl-0.24.3/src/thothctl/services/workflow/phases/plan.py +0 -150
- thothctl-0.24.3/src/thothctl/services/workflow/phases/secure.py +0 -98
- thothctl-0.24.3/src/thothctl/services/workflow/phases/test.py +0 -110
- thothctl-0.24.3/src/thothctl/services/workflow/workflow_service.py +0 -91
- thothctl-0.24.3/src/thothctl/utils/banner.py +0 -32
- thothctl-0.24.3/src/thothctl/utils/common/create_compliance_html_reports.py +0 -114
- thothctl-0.24.3/src/thothctl/utils/common/create_html_reports.py +0 -544
- thothctl-0.24.3/src/thothctl/utils/common/delete_directory.py +0 -238
- thothctl-0.24.3/src/thothctl/utils/common/fix_report_styling.py +0 -167
- thothctl-0.24.3/src/thothctl/utils/common/render_scan_report.py +0 -213
- thothctl-0.24.3/src/thothctl/utils/common/report_html_utils.py +0 -187
- thothctl-0.24.3/src/thothctl/utils/crypto.py +0 -221
- thothctl-0.24.3/src/thothctl/utils/manage_backend_resources/manage_backend_resources.py +0 -28
- thothctl-0.24.3/src/thothctl/utils/modules_ops/terraform_module_details.py +0 -258
- thothctl-0.24.3/src/thothctl/utils/modules_ops/terraform_modules_fetcher.py +0 -296
- thothctl-0.24.3/src/thothctl/utils/platform_utils.py +0 -75
- thothctl-0.24.3/src/thothctl/utils/process_hcl/analyze_terraform_plan.py +0 -372
- thothctl-0.24.3/src/thothctl/utils/process_hcl/graph_manager.py +0 -181
- thothctl-0.24.3/src/thothctl/utils/process_hcl/process_terraform_file.py +0 -20
- thothctl-0.24.3/src/thothctl/utils/sync_workspaces/sync_terraform_workspaces.py +0 -278
- thothctl-0.24.3/src/thothctl/utils/sync_workspaces/sync_terragrunt_workspaces.py +0 -143
- thothctl-0.24.3/src/thothctl/utils/template_loader.py +0 -220
- thothctl-0.24.3/src/thothctl/version.py +0 -2
- thothctl-0.24.3/src/thothctl/wellcome_banner.py +0 -29
- thothctl-0.24.3/tests/conftest.py +0 -6
- thothctl-0.24.3/tests/test_agentcore_entrypoint.py +0 -135
- thothctl-0.24.3/tests/test_ai_apply_fix.py +0 -108
- thothctl-0.24.3/tests/test_ai_decision_engine.py +0 -120
- thothctl-0.24.3/tests/test_ai_fix_patterns.py +0 -163
- thothctl-0.24.3/tests/test_ai_memory.py +0 -145
- thothctl-0.24.3/tests/test_ai_orchestrator.py +0 -187
- thothctl-0.24.3/tests/test_ai_pr_decision.py +0 -87
- thothctl-0.24.3/tests/test_ai_safety_guard.py +0 -117
- thothctl-0.24.3/tests/test_aws_pricing_client.py +0 -73
- thothctl-0.24.3/tests/test_azure_devops_pr_comments.py +0 -103
- thothctl-0.24.3/tests/test_bedrock_pricing.py +0 -112
- thothctl-0.24.3/tests/test_cdk_language_selection.py +0 -159
- thothctl-0.24.3/tests/test_cfn_blast_radius.py +0 -213
- thothctl-0.24.3/tests/test_cfn_drift_detection.py +0 -273
- thothctl-0.24.3/tests/test_context_steering.py +0 -105
- thothctl-0.24.3/tests/test_cost_analyzer.py +0 -139
- thothctl-0.24.3/tests/test_cost_models.py +0 -70
- thothctl-0.24.3/tests/test_cost_policy_enforcement.py +0 -210
- thothctl-0.24.3/tests/test_cost_pr_comments.py +0 -63
- thothctl-0.24.3/tests/test_dashboard_loading_fix.py +0 -94
- thothctl-0.24.3/tests/test_dashboard_service.py +0 -156
- thothctl-0.24.3/tests/test_drift.py +0 -630
- thothctl-0.24.3/tests/test_drift_detection.py +0 -854
- thothctl-0.24.3/tests/test_ec2_pricing.py +0 -78
- thothctl-0.24.3/tests/test_github_pr_comments.py +0 -96
- thothctl-0.24.3/tests/test_iac_cost_integration.py +0 -124
- thothctl-0.24.3/tests/test_init_ai_tools.py +0 -154
- thothctl-0.24.3/tests/test_init_template_params.py +0 -147
- thothctl-0.24.3/tests/test_inventory_pr_comments.py +0 -75
- thothctl-0.24.3/tests/test_kics_scanner.py +0 -137
- thothctl-0.24.3/tests/test_mermaid_edge_labels.py +0 -354
- thothctl-0.24.3/tests/test_new_cost_providers.py +0 -435
- thothctl-0.24.3/tests/test_opa_data_files.py +0 -169
- thothctl-0.24.3/tests/test_parallel_scan.py +0 -193
- thothctl-0.24.3/tests/test_platform_utils.py +0 -90
- thothctl-0.24.3/tests/test_pr_comment_publisher.py +0 -378
- thothctl-0.24.3/tests/test_provider_source_url_fix.py +0 -115
- thothctl-0.24.3/tests/test_provider_versions.py +0 -74
- thothctl-0.24.3/tests/test_scan_cfn_support.py +0 -166
- thothctl-0.24.3/tests/test_scan_pr_comments.py +0 -58
- thothctl-0.24.3/tests/test_space_command.py +0 -31
- thothctl-0.24.3/tests/test_space_management.py +0 -220
- thothctl-0.24.3/tests/test_stack_optimizer.py +0 -178
- thothctl-0.24.3/tests/test_template_url_fix.py +0 -109
- thothctl-0.24.3/tests/test_terragrunt_parser.py +0 -51
- thothctl-0.24.3/tests/test_topology_generator.py +0 -377
- {thothctl-0.24.3 → thothctl-0.24.4}/.devcontainer/Dockerfile +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/.devcontainer/README.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/.devcontainer/devcontainer.json +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/.github/workflows/docs.yml +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/.github/workflows/python-publish.yml +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/.gitignore +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/.readthedocs.yaml +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/Dockerfile +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/LICENSE +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/README.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/__init__.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/catalog/catalog-info.yaml +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/dashboard/README.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/ai-review/README.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/ai-review/agent_specifications.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/ai-review/agentcore.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/check/blast-radius.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/check/check_environment.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/check/check_iac.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/check/check_overview.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/check/check_project_iac.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/check/check_space.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/check/cost-analysis-quick-reference.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/check/cost-analysis.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/check/customizing_rules.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/check/deps-advanced.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/check/deps.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/check/drift-detection.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/check/plan.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/dashboard/dashboard_overview.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/document/customizing_docs.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/document/document_iac.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/document/document_overview.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/document/iac.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/document/mermaid_examples.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/document/mermaid_quickref.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/document/use_cases.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/generate/generate_components.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/generate/generate_iac.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/generate/generate_stacks.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/init/init.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/init/init_space.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/inventory/CHANGELOG.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/inventory/frameworks/terraform.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/inventory/frameworks/terragrunt.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/inventory/iac.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/inventory/inventory_iac.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/inventory/inventory_overview.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/list/list_overview.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/list/list_projects.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/list/list_spaces.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/mcp/mcp.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/project/iac.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/project/project_cleanup.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/project/project_convert.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/project/project_overview.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/project/project_upgrade.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/project/use_cases.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/remove/remove_overview.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/remove/remove_project.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/remove/remove_space.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/scan/iac.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/scan/scan_iac.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/scan/scan_overview.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/scan/use_cases.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/space/space_overview.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/upgrade/upgrade_overview.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/workflow/workflow_devsecops.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/commands/workflow/workflow_overview.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/concepts.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/cross_platform_support.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/infrasctructure_composition.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/policy_as_code.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/roadmap_fdi.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/software_architecture.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/space_configuration.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/specs/phase1_intent_to_iac.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/use_cases/README.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/use_cases/ai_dlc.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/use_cases/check_command.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/use_cases/devsecops_quickstart.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/use_cases/devsecops_sdlc.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/use_cases/inventory_command.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/use_cases/platform_engineering_templates.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/use_cases/space_management.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/use_cases/tasks/create_template.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/framework/use_cases/tasks/workflow_implementation_plan.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/iac_devsecops_use_case.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/img/automate_tasks_command.png +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/img/commnad_init.png +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/img/create_component.gif +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/img/create_inventory.gif +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/img/doc_command.png +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/img/document_project_code.gif +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/img/framework/thothforge-framework.svg +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/img/framework/thothfr.png +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/img/iacpeerbot_summary.png +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/img/icon-light.png +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/img/icon.png +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/img/init_project.gif +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/img/inventory_command.png +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/img/notification_img.png +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/img/report_dependencies.png +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/img/report_dependencies_summary.png +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/img/restore_inventory_version.gif +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/img/reuse_project_pattern.gif +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/img/scan_code.gif +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/img/scan_command.png +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/img/stable/scan_report_example.png +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/img/sync_wk_command.png +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/img/transform_command.png +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/img/update_inventory_version.gif +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/img/validate_command.png +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/img/validate_environment.gif +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/img/validate_project.gif +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/includes/abbreviations.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/index.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/installation/devcontainer_setup.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/installation/linux_installation.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/installation/windows_installation.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/javascripts/tablesort.js +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/mcp.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/navigation.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/quick_start.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/requirements.txt +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/stylesheets/extra-enhanced.css +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/stylesheets/extra.css +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/telemetry.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/template_engine/cli_commands_audit.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/template_engine/for_developers.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/template_engine/for_platform_engineers.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/template_engine/github_templates.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/template_engine/template_engine.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/troubleshooting/linux_troubleshooting.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/troubleshooting/macos_troubleshooting.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/troubleshooting/troubleshooting.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/docs/troubleshooting/windows_troubleshooting.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/scripts/run_mcp_server.sh +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/application/__init__.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/commands/__init__.py +0 -0
- {thothctl-0.24.3/src/thothctl/commands/check/commands → thothctl-0.24.4/src/thothctl/commands/ai_review}/__init__.py +0 -0
- {thothctl-0.24.3/src/thothctl/commands/document → thothctl-0.24.4/src/thothctl/commands/ai_review}/commands/__init__.py +0 -0
- {thothctl-0.24.3/src/thothctl/commands/generate → thothctl-0.24.4/src/thothctl/commands/check}/commands/__init__.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/commands/check/commands/project/__init__.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/commands/dashboard/__init__.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/commands/dashboard/commands/__init__.py +0 -0
- {thothctl-0.24.3/src/thothctl/commands/inventory → thothctl-0.24.4/src/thothctl/commands/document}/commands/__init__.py +0 -0
- {thothctl-0.24.3/src/thothctl/commands/project → thothctl-0.24.4/src/thothctl/commands/generate}/commands/__init__.py +0 -0
- {thothctl-0.24.3/src/thothctl/commands/scan → thothctl-0.24.4/src/thothctl/commands/inventory}/commands/__init__.py +0 -0
- {thothctl-0.24.3/src/thothctl/commands/workflow → thothctl-0.24.4/src/thothctl/commands/list/commands}/__init__.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/commands/mcp/__init__.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/commands/mcp/commands/__init__.py +0 -0
- {thothctl-0.24.3/src/thothctl/commands/workflow → thothctl-0.24.4/src/thothctl/commands/project}/commands/__init__.py +0 -0
- {thothctl-0.24.3/src/thothctl/core/integrations → thothctl-0.24.4/src/thothctl/commands/scan/commands}/__init__.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/commands/space/__init__.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/commands/space/commands/__init__.py +0 -0
- {thothctl-0.24.3/src/thothctl/core/integrations/azure_devops → thothctl-0.24.4/src/thothctl/commands/workflow}/__init__.py +0 -0
- {thothctl-0.24.3/src/thothctl/domain → thothctl-0.24.4/src/thothctl/commands/workflow/commands}/__init__.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/common/.thothcf.setup.toml +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/common/.thothcf_home.toml +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/common/.thothcf_module.toml +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/common/.thothcf_project.toml +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/common/.thothcf_template_parameters.toml +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/common/__init__.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/common/terragrunt/.thothcf_project.toml +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/config/__init__.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/config/defaults.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/config/models.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/config/validation.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/core/__init__.py +0 -0
- {thothctl-0.24.3/src/thothctl/domain/interfaces → thothctl-0.24.4/src/thothctl/core/integrations}/__init__.py +0 -0
- {thothctl-0.24.3/src/thothctl/domain/models → thothctl-0.24.4/src/thothctl/core/integrations/azure_devops}/__init__.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/core/integrations/integrate_messages_services/__init__.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/core/integrations/integrate_messages_services/microsoft_teams.py +0 -0
- {thothctl-0.24.3/src/thothctl/services/check → thothctl-0.24.4/src/thothctl/core/integrations/pr_comments}/__init__.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/core/logger.py +0 -0
- {thothctl-0.24.3/src/thothctl/services/check/environment → thothctl-0.24.4/src/thothctl/domain}/__init__.py +0 -0
- {thothctl-0.24.3/src/thothctl/services/check/project → thothctl-0.24.4/src/thothctl/domain/interfaces}/__init__.py +0 -0
- {thothctl-0.24.3/src/thothctl/services/document → thothctl-0.24.4/src/thothctl/domain/models}/__init__.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/mcp/README.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/services/__init__.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/services/ai_review/__init__.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/services/ai_review/agentcore/agentcore.json +0 -0
- {thothctl-0.24.3/src/thothctl/services/generate → thothctl-0.24.4/src/thothctl/services/ai_review/analyzers}/__init__.py +0 -0
- {thothctl-0.24.3/src/thothctl/services/generate/create_stacks → thothctl-0.24.4/src/thothctl/services/ai_review/config}/__init__.py +0 -0
- {thothctl-0.24.3/src/thothctl/services/init → thothctl-0.24.4/src/thothctl/services/ai_review/providers}/__init__.py +0 -0
- {thothctl-0.24.3/src/thothctl/services/init/environment → thothctl-0.24.4/src/thothctl/services/ai_review/safety}/__init__.py +0 -0
- {thothctl-0.24.3/src/thothctl/services/init/project → thothctl-0.24.4/src/thothctl/services/ai_review/utils}/__init__.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/services/ai_review/utils/fix_prompts.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/services/ai_review/utils/prompts.py +0 -0
- {thothctl-0.24.3/src/thothctl/services/inventory → thothctl-0.24.4/src/thothctl/services/check}/__init__.py +0 -0
- {thothctl-0.24.3/src/thothctl/services/project → thothctl-0.24.4/src/thothctl/services/check/environment}/__init__.py +0 -0
- {thothctl-0.24.3/src/thothctl/services/project/convert → thothctl-0.24.4/src/thothctl/services/check/project}/__init__.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/services/check/project/check_origin_version.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/services/dashboard/__init__.py +0 -0
- {thothctl-0.24.3/src/thothctl/services/scan → thothctl-0.24.4/src/thothctl/services/document}/__init__.py +0 -0
- {thothctl-0.24.3/src/thothctl/services/scan/scanners → thothctl-0.24.4/src/thothctl/services/generate}/__init__.py +0 -0
- {thothctl-0.24.3/src/thothctl/services/workflow → thothctl-0.24.4/src/thothctl/services/generate/create_stacks}/__init__.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/services/generate/create_stacks/templates/terragrunt.hcl.j2 +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/services/generate/create_template/__init__.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/services/generate/create_template/config.yaml +0 -0
- {thothctl-0.24.3/src/thothctl/services/workflow/phases → thothctl-0.24.4/src/thothctl/services/init}/__init__.py +0 -0
- {thothctl-0.24.3/src/thothctl/utils/common → thothctl-0.24.4/src/thothctl/services/init/environment}/__init__.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/services/init/space/__init__.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/services/init/space/example_space.toml +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/services/mcp/README.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/services/mcp/__init__.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/services/project/bootstrap/__init__.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/services/project/cleanup/__init__.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/services/project/convert/conversion_service.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/services/project/create_terramate/__init__.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/services/project/upgrade/__init__.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/templates/ai_reports/pr_comment.md +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/templates/reports/inventory_report.html +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/templates/reports/inventory_report.js +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/templates/unified_report_styles.css +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/utils/__init__.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/utils/common/templates/dashboard.html +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/utils/common/templates/index_report.html +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/utils/common/templates/individual_report.html +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/utils/common/templates/simple_report.html +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/utils/common/templates/unified_report_styles.css +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/utils/common/templates/unified_scan_report.html +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/utils/common/templates/unified_simple_report.html +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/utils/common/templates/xunit_report.html +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/utils/manage_backend_resources/__init__.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/utils/modules_ops/__init__.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/utils/process_hcl/__init__.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/utils/process_hcl/graph_terragrunt_dependencies.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/utils/process_hcl/risk_analyzing_terraform_plan.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/utils/sync_workspaces/__init__.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/src/thothctl/utils/thoth_colors.py +0 -0
- {thothctl-0.24.3 → thothctl-0.24.4}/tox.ini +0 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
repos:
|
|
2
|
+
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
3
|
+
# Ruff version.
|
|
4
|
+
rev: v0.1.11
|
|
5
|
+
hooks:
|
|
6
|
+
# Run the linter (includes import sorting with --fix).
|
|
7
|
+
- id: ruff
|
|
8
|
+
args: [ --fix ]
|
|
9
|
+
# Run the formatter.
|
|
10
|
+
- id: ruff-format
|
|
11
|
+
|
|
12
|
+
#- repo: https://github.com/PyCQA/bandit
|
|
13
|
+
# rev: 1.7.6
|
|
14
|
+
# hooks:
|
|
15
|
+
# - id: bandit
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
# repo: https://github.com/Lucas-C/pre-commit-hooks-safety
|
|
19
|
+
# rev: v1.7.2
|
|
20
|
+
# hooks:
|
|
21
|
+
# - id: python-safety-dependencies-check
|
|
22
|
+
# args: [check, --full-report, --file]
|
|
23
|
+
|
|
24
|
+
- repo: https://github.com/PyCQA/pydocstyle
|
|
25
|
+
rev: 6.3.0
|
|
26
|
+
hooks:
|
|
27
|
+
- id: pydocstyle
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
[pydocstyle]
|
|
2
|
+
# Use Google convention as baseline.
|
|
3
|
+
convention = google
|
|
4
|
+
# Ignore:
|
|
5
|
+
# D100-D107: Missing docstrings (adopt incrementally)
|
|
6
|
+
# D200: One-line docstring should not occupy multiple lines
|
|
7
|
+
# D202: No blank lines allowed after function docstring
|
|
8
|
+
# D205: 1 blank line required between summary and description
|
|
9
|
+
# D209: Multi-line docstring closing quotes on separate line
|
|
10
|
+
# D212: Multi-line docstring summary should start at the first line
|
|
11
|
+
# D403: First word should be properly capitalized
|
|
12
|
+
# D415: First line should end with a period/question/exclamation
|
|
13
|
+
# D417: Missing argument descriptions in docstring
|
|
14
|
+
# D419: Docstring is empty
|
|
15
|
+
add_ignore = D100,D101,D102,D103,D104,D105,D107,D200,D202,D205,D209,D212,D403,D415,D417,D419
|
thothctl-0.24.4/PKG-INFO
ADDED
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: thothctl
|
|
3
|
+
Version: 0.24.4
|
|
4
|
+
Summary: A CLI for Developer Control Plane. Accelerate your cloud IaC deployments.
|
|
5
|
+
Project-URL: SourceCode, https://github.com/thothforge/thothctl
|
|
6
|
+
Project-URL: HomePage, https://github.com/thothforge/thothctl
|
|
7
|
+
Author-email: Alejandro Velez <velez94@pm.me>
|
|
8
|
+
License-Expression: Apache-2.0
|
|
9
|
+
License-File: LICENSE
|
|
10
|
+
Requires-Python: >=3.8
|
|
11
|
+
Requires-Dist: argcomplete>=3.4.0
|
|
12
|
+
Requires-Dist: argparse>=1.4.0
|
|
13
|
+
Requires-Dist: azure-devops==7.1.0b4
|
|
14
|
+
Requires-Dist: bc-python-hcl2>=0.4.2
|
|
15
|
+
Requires-Dist: boto3>=1.34.0
|
|
16
|
+
Requires-Dist: checkov==3.2.451
|
|
17
|
+
Requires-Dist: click>=8.0.0
|
|
18
|
+
Requires-Dist: colorama>=0.4.6
|
|
19
|
+
Requires-Dist: cryptography>=41.0.0
|
|
20
|
+
Requires-Dist: fastapi>=0.104.0
|
|
21
|
+
Requires-Dist: gitdb>=4.0.11
|
|
22
|
+
Requires-Dist: gitpython>=3.1.0
|
|
23
|
+
Requires-Dist: inquirer>=3.3.0
|
|
24
|
+
Requires-Dist: json2html>=1.3.0
|
|
25
|
+
Requires-Dist: junit2html>=30.1.3
|
|
26
|
+
Requires-Dist: junitparser>=2.0.0
|
|
27
|
+
Requires-Dist: mcp>=1.9.4
|
|
28
|
+
Requires-Dist: pre-commit>=3.7.1
|
|
29
|
+
Requires-Dist: psutil
|
|
30
|
+
Requires-Dist: pyfiglet>=1.0.2
|
|
31
|
+
Requires-Dist: pymsteams>=0.2.2
|
|
32
|
+
Requires-Dist: pytest-cov>=5.0.0
|
|
33
|
+
Requires-Dist: pytest>=8.2.2
|
|
34
|
+
Requires-Dist: pywin32>=306; sys_platform == 'win32'
|
|
35
|
+
Requires-Dist: pyyaml<7.0.0,>=6.0.0
|
|
36
|
+
Requires-Dist: requests
|
|
37
|
+
Requires-Dist: rich>=13.7.1
|
|
38
|
+
Requires-Dist: terraform-compliance>=1.3.48
|
|
39
|
+
Requires-Dist: toml>=0.10.2
|
|
40
|
+
Requires-Dist: uvicorn>=0.24.0
|
|
41
|
+
Requires-Dist: xmltodict>=0.13.0
|
|
42
|
+
Requires-Dist: zipp>=3.19.2
|
|
43
|
+
Provides-Extra: telemetry
|
|
44
|
+
Requires-Dist: opentelemetry-api>=1.20.0; extra == 'telemetry'
|
|
45
|
+
Requires-Dist: opentelemetry-exporter-otlp-proto-grpc>=1.20.0; extra == 'telemetry'
|
|
46
|
+
Requires-Dist: opentelemetry-instrumentation-logging>=0.41b0; extra == 'telemetry'
|
|
47
|
+
Requires-Dist: opentelemetry-sdk>=1.20.0; extra == 'telemetry'
|
|
48
|
+
Description-Content-Type: text/markdown
|
|
49
|
+
|
|
50
|
+
[](https://github.com/thothforge/thothctl/actions/workflows/python-publish.yml)
|
|
51
|
+
[](https://thothforge.github.io/thothctl/)
|
|
52
|
+
[](https://pypi.org/project/thothctl/)
|
|
53
|
+
[](https://www.python.org/)
|
|
54
|
+
[](LICENSE)
|
|
55
|
+
|
|
56
|
+
# ThothCTL
|
|
57
|
+
|
|
58
|
+
**AI-Powered Infrastructure Lifecycle CLI** for DevSecOps, Platform Engineering, and IaC governance.
|
|
59
|
+
|
|
60
|
+

|
|
61
|
+
|
|
62
|
+
ThothCTL accelerates the adoption of Internal Developer Platforms by combining security scanning, inventory management, cost analysis, AI-driven code review, and organizational policy enforcement into a single CLI.
|
|
63
|
+
|
|
64
|
+
## Quick Start
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
pip install --upgrade thothctl
|
|
68
|
+
|
|
69
|
+
# Scan for security issues
|
|
70
|
+
thothctl scan iac -t checkov -t trivy -t opa
|
|
71
|
+
|
|
72
|
+
# Create infrastructure inventory (SBOM)
|
|
73
|
+
thothctl inventory iac --check-versions
|
|
74
|
+
|
|
75
|
+
# Launch web dashboard
|
|
76
|
+
thothctl dashboard launch
|
|
77
|
+
|
|
78
|
+
# AI-powered security review
|
|
79
|
+
thothctl ai-review analyze -d ./terraform -p ollama
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Key Features
|
|
83
|
+
|
|
84
|
+
### 🔒 Security Scanning
|
|
85
|
+
|
|
86
|
+
Multi-tool scanning with unified HTML reports and enforcement:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
# All scanners with hard enforcement (fails pipeline on violations)
|
|
90
|
+
thothctl scan iac -t checkov -t trivy -t kics -t opa -t terraform-compliance --enforcement hard
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
- **5 integrated tools**: Checkov, Trivy, KICS, OPA/Conftest, Terraform-compliance
|
|
94
|
+
- **Unified HTML reports** with severity badges, per-stack breakdown
|
|
95
|
+
- **Non-compliance findings table** on enforcement failure
|
|
96
|
+
- **SARIF output** for GitHub Code Scanning integration
|
|
97
|
+
- **Organization policy repos** via `THOTH_ORG_POLICY` env var (HCL + CloudFormation)
|
|
98
|
+
- **Scan trend tracking** with local SQLite history
|
|
99
|
+
|
|
100
|
+
### 📦 Infrastructure Inventory (SBOM)
|
|
101
|
+
|
|
102
|
+
CycloneDX 1.6 compliant Software Bill of Materials:
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
thothctl inventory iac --check-versions
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
- **Module & provider version tracking** with staleness detection
|
|
109
|
+
- **CycloneDX 1.6 SBOM** with formulation, evidence, standards, attestations, dependency graph, hashes, and licenses
|
|
110
|
+
- **Technical debt scoring** with risk levels and recommendations
|
|
111
|
+
- **Schema compatibility analysis** for safe upgrades
|
|
112
|
+
- **Professional HTML reports** with collapsible stack groups
|
|
113
|
+
|
|
114
|
+
### 📊 Web Dashboard
|
|
115
|
+
|
|
116
|
+
Modern FastAPI-based dashboard with dark mode:
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
thothctl dashboard launch
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
- **Security findings viewer** — filter by tool/severity/search, pagination, inline report iframe
|
|
123
|
+
- **SBOM details browser** — CycloneDX metadata, dependency graph, formulation, attestations
|
|
124
|
+
- **Inventory explorer** — collapsible stacks, module/provider tabs, version comparison
|
|
125
|
+
- **Cost analysis** — service breakdown, monthly/annual projections
|
|
126
|
+
- **Drift detection** — severity-classified drifted resources
|
|
127
|
+
- **AI usage tracking** — token counts, costs per request
|
|
128
|
+
|
|
129
|
+
### 🤖 AI Agent for IaC Security
|
|
130
|
+
|
|
131
|
+
Multi-agent system for automated code review and PR decisions:
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
thothctl ai-review analyze -d ./terraform -p ollama
|
|
135
|
+
thothctl ai-review decide -d ./terraform --pr-number 42 --dry-run
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
- **4 specialized agents**: Security, Architecture, Fix, Decision
|
|
139
|
+
- **Multi-provider**: OpenAI, AWS Bedrock, Azure OpenAI, Ollama (local)
|
|
140
|
+
- **Auto-decisions** with confidence thresholds and safety controls
|
|
141
|
+
- **Adaptive memory**: filesystem or S3 (auto-detects runtime)
|
|
142
|
+
- **MCP integration** for AI assistant interoperability
|
|
143
|
+
|
|
144
|
+
### 💰 Cost Analysis & Risk Assessment
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
thothctl check iac -type cost-analysis --recursive
|
|
148
|
+
thothctl check iac -type blast-radius --recursive
|
|
149
|
+
thothctl check iac -type drift --recursive
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
- **14 AWS services** supported (EC2, RDS, S3, Lambda, EKS, etc.)
|
|
153
|
+
- **Blast radius** with ITIL v4 risk classification
|
|
154
|
+
- **Drift detection** with severity scoring and IaC coverage tracking
|
|
155
|
+
|
|
156
|
+
### 🔄 Template Engine & Project Management
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
thothctl project convert --make-template --template-project-type terraform
|
|
160
|
+
thothctl init project --name my-infra --template terraform-aws
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
- **Bidirectional conversion** between projects and reusable templates
|
|
164
|
+
- **Backstage integration** for self-service consumption
|
|
165
|
+
- **Template upgrade workflow** to keep projects in sync
|
|
166
|
+
|
|
167
|
+
## All Commands
|
|
168
|
+
|
|
169
|
+
| Command | Description |
|
|
170
|
+
|---------|-------------|
|
|
171
|
+
| `scan iac` | Multi-tool security scanning with enforcement |
|
|
172
|
+
| `inventory iac` | Infrastructure SBOM with version tracking |
|
|
173
|
+
| `check iac` | Cost analysis, blast radius, drift detection, structure validation |
|
|
174
|
+
| `ai-review` | AI-powered security analysis and PR decisions |
|
|
175
|
+
| `dashboard launch` | Web dashboard for all reports |
|
|
176
|
+
| `document iac` | Auto-generate documentation |
|
|
177
|
+
| `project convert` | Template ↔ project conversion |
|
|
178
|
+
| `init project` | Scaffold new IaC projects |
|
|
179
|
+
| `mcp` | Model Context Protocol server |
|
|
180
|
+
| `generate` | Generate IaC from rules and components |
|
|
181
|
+
|
|
182
|
+
## Installation
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
pip install --upgrade thothctl
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
**Requirements**: Python 3.10+ | Linux, macOS, or Windows (WSL)
|
|
189
|
+
|
|
190
|
+
**Optional system packages**:
|
|
191
|
+
```bash
|
|
192
|
+
# Linux/Debian
|
|
193
|
+
sudo apt install graphviz libgraph-easy-perl -y
|
|
194
|
+
|
|
195
|
+
# macOS
|
|
196
|
+
brew install graphviz graph-easy
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
### Dev Container
|
|
200
|
+
|
|
201
|
+
A ready-to-use [Dev Container](.devcontainer/) is available with all tools pre-configured:
|
|
202
|
+
|
|
203
|
+
```bash
|
|
204
|
+
# Open in VS Code → "Reopen in Container"
|
|
205
|
+
# Or use the devcontainer CLI:
|
|
206
|
+
devcontainer up --workspace-folder .
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
## Documentation
|
|
210
|
+
|
|
211
|
+
📖 **Full docs**: [thothforge.github.io/thothctl](https://thothforge.github.io/thothctl/)
|
|
212
|
+
|
|
213
|
+
- [Quick Start](docs/quick_start.md)
|
|
214
|
+
- [DevSecOps SDLC Guide](docs/framework/use_cases/devsecops_sdlc.md)
|
|
215
|
+
- [Scan Command Reference](docs/framework/commands/scan/scan_overview.md)
|
|
216
|
+
- [Inventory & SBOM](docs/framework/commands/inventory/inventory_overview.md)
|
|
217
|
+
- [Dashboard](docs/dashboard/README.md)
|
|
218
|
+
- [AI Review](docs/framework/commands/ai-review/README.md)
|
|
219
|
+
- [Template Engine](docs/template_engine/template_engine.md)
|
|
220
|
+
- [Dev Container Setup](docs/installation/devcontainer_setup.md)
|
|
221
|
+
|
|
222
|
+
## CI/CD Integration
|
|
223
|
+
|
|
224
|
+
```yaml
|
|
225
|
+
# GitHub Actions
|
|
226
|
+
- name: Security scan
|
|
227
|
+
run: thothctl scan iac -t checkov -t trivy -t opa --enforcement hard --post-to-pr
|
|
228
|
+
|
|
229
|
+
- name: Inventory check
|
|
230
|
+
run: thothctl inventory iac --check-versions --report-type json
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
## Roadmap
|
|
234
|
+
|
|
235
|
+
- [x] Multi-tool security scanning with unified reports
|
|
236
|
+
- [x] AI Agent for IaC Security (multi-agent, auto-decisions)
|
|
237
|
+
- [x] CycloneDX 1.6 SBOM with full supply chain metadata
|
|
238
|
+
- [x] Organization policy engine (OPA/Rego, HCL + CloudFormation)
|
|
239
|
+
- [x] Web Dashboard with findings viewer and SBOM browser
|
|
240
|
+
- [ ] Intent-to-IaC generation (natural language → governed Terraform)
|
|
241
|
+
- [ ] Composable workflow engine (declarative YAML DAG pipelines)
|
|
242
|
+
- [ ] Graph-aware state visibility (tfstate → queryable resource graph)
|
|
243
|
+
- [ ] Architecture diagram generation (Mermaid/Graphviz from IaC)
|
|
244
|
+
- [ ] Strands Agents SDK integration
|
|
245
|
+
|
|
246
|
+
📖 [Full Roadmap](docs/framework/roadmap_fdi.md)
|
|
247
|
+
|
|
248
|
+
## Contributing
|
|
249
|
+
|
|
250
|
+
Contributions welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
|
251
|
+
|
|
252
|
+
## License
|
|
253
|
+
|
|
254
|
+
[Apache-2.0](LICENSE)
|
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
# ThothCTL Framework Architecture
|
|
2
|
+
|
|
3
|
+
> **Note**: This document provides a high-level overview of the framework architecture. For technical implementation details, see [Software Architecture](software_architecture.md).
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
ThothCTL is an Internal Developer Platform (IDP) framework built on a **4-layer architecture** that enables teams to build, manage, and operate infrastructure as code with built-in best practices, security, and AI assistance.
|
|
8
|
+
|
|
9
|
+
```mermaid
|
|
10
|
+
%%{init: {'theme':'base', 'themeVariables': {
|
|
11
|
+
'primaryColor':'#3b82f6',
|
|
12
|
+
'primaryTextColor':'#ffffff',
|
|
13
|
+
'primaryBorderColor':'#2563eb',
|
|
14
|
+
'lineColor':'#94a3b8',
|
|
15
|
+
'secondaryColor':'#10b981',
|
|
16
|
+
'tertiaryColor':'#8b5cf6',
|
|
17
|
+
'background':'transparent',
|
|
18
|
+
'mainBkg':'#3b82f6',
|
|
19
|
+
'secondBkg':'#10b981',
|
|
20
|
+
'tertiaryBkg':'#8b5cf6',
|
|
21
|
+
'clusterBkg':'rgba(241, 245, 249, 0.05)',
|
|
22
|
+
'clusterBorder':'#475569',
|
|
23
|
+
'titleColor':'currentColor',
|
|
24
|
+
'edgeLabelBackground':'transparent',
|
|
25
|
+
'nodeTextColor':'#ffffff',
|
|
26
|
+
'textColor':'currentColor',
|
|
27
|
+
'nodeBorder':'#1e293b',
|
|
28
|
+
'fontSize':'14px'
|
|
29
|
+
}}}%%
|
|
30
|
+
graph TB
|
|
31
|
+
subgraph layer4["<b>🎨 Developer Experience Layer</b><br/><i>Intuitive interfaces and AI assistance</i>"]
|
|
32
|
+
direction LR
|
|
33
|
+
CLI["<b>CLI Interface</b><br/>Rich terminal UI<br/>Autocompletion<br/>Cross-platform"]
|
|
34
|
+
AI["<b>AI Assistant</b><br/>Kiro CLI + MCP<br/>Natural language<br/>24 AI tools"]
|
|
35
|
+
SKILLS["<b>Skills</b><br/>Reusable knowledge<br/>Decision logic<br/>Remediation"]
|
|
36
|
+
DOCS["<b>Documentation</b><br/>Auto-generation<br/>AI-powered<br/>Multi-format"]
|
|
37
|
+
TMPL["<b>Templates</b><br/>Jinja2 engine<br/>Code generation<br/>Scaffolding"]
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
subgraph layer3["<b>⚡ Platform Capabilities Layer</b><br/><i>Core IDP functionality</i>"]
|
|
41
|
+
direction LR
|
|
42
|
+
SEC["<b>Security</b><br/>Checkov • Trivy<br/>KICS • OPA<br/>Compliance"]
|
|
43
|
+
COST["<b>Cost Analysis</b><br/>Real-time pricing<br/>14 AWS services<br/>Optimization"]
|
|
44
|
+
INV["<b>Inventory</b><br/>Dependencies<br/>Version tracking<br/>Reports"]
|
|
45
|
+
VAL["<b>Validation</b><br/>Environment<br/>IaC checks<br/>Blast radius"]
|
|
46
|
+
GEN["<b>Generation</b><br/>Stacks<br/>Components<br/>Boilerplate"]
|
|
47
|
+
WF["<b>Workflow</b><br/>DevSecOps SDLC<br/>Phase orchestration<br/>Enforcement gates"]
|
|
48
|
+
POL["<b>Policy</b><br/>OPA/Rego<br/>Org policies<br/>Remote repos"]
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
subgraph layer2["<b>🔧 IaC Tool Integration Layer</b><br/><i>Multi-tool support through parsers and CLI</i>"]
|
|
52
|
+
direction LR
|
|
53
|
+
TF["<b>Terraform</b><br/>HCL Parser<br/>CLI Execution"]
|
|
54
|
+
TG["<b>Terragrunt</b><br/>Parser Class<br/>CLI Execution"]
|
|
55
|
+
TOFU["<b>OpenTofu</b><br/>HCL Parser<br/>CLI Execution"]
|
|
56
|
+
CFN["<b>CloudFormation</b><br/>JSON/YAML<br/>AWS API"]
|
|
57
|
+
CDK["<b>CDK v2</b><br/>Synth Parser<br/>CLI Execution"]
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
subgraph layer1["<b>🏗️ Foundation Layer</b><br/><i>Building blocks for the framework</i>"]
|
|
61
|
+
direction LR
|
|
62
|
+
SCAFFOLD["<b>Git Scaffolds</b><br/>Templates<br/>Best practices<br/>Reusable"]
|
|
63
|
+
SPACE["<b>Spaces</b><br/>Multi-tenancy<br/>Credentials<br/>Isolation"]
|
|
64
|
+
ENV["<b>Environment</b><br/>Tool bootstrap<br/>Cross-platform<br/>Automated"]
|
|
65
|
+
CONFIG["<b>Configuration</b><br/>Hierarchical<br/>TOML format<br/>Overrides"]
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
CLI -.->|uses| SEC
|
|
69
|
+
AI -.->|orchestrates| GEN
|
|
70
|
+
DOCS -.->|leverages| TMPL
|
|
71
|
+
|
|
72
|
+
SEC -.->|scans| TF
|
|
73
|
+
COST -.->|analyzes| TG
|
|
74
|
+
INV -.->|tracks| TOFU
|
|
75
|
+
VAL -.->|validates| CFN
|
|
76
|
+
GEN -.->|generates| CDK
|
|
77
|
+
WF -.->|orchestrates| SEC
|
|
78
|
+
POL -.->|enforces| TF
|
|
79
|
+
|
|
80
|
+
TF -.->|uses| SCAFFOLD
|
|
81
|
+
TG -.->|operates in| SPACE
|
|
82
|
+
TOFU -.->|requires| ENV
|
|
83
|
+
CFN -.->|reads| CONFIG
|
|
84
|
+
CDK -.->|uses| SCAFFOLD
|
|
85
|
+
|
|
86
|
+
SKILLS -.->|guides| AI
|
|
87
|
+
|
|
88
|
+
classDef layer4Style fill:#3b82f6,stroke:#60a5fa,stroke-width:3px,color:#fff
|
|
89
|
+
classDef layer3Style fill:#10b981,stroke:#34d399,stroke-width:3px,color:#fff
|
|
90
|
+
classDef layer2Style fill:#8b5cf6,stroke:#a78bfa,stroke-width:3px,color:#fff
|
|
91
|
+
classDef layer1Style fill:#f59e0b,stroke:#fbbf24,stroke-width:3px,color:#fff
|
|
92
|
+
|
|
93
|
+
class CLI,AI,SKILLS,DOCS,TMPL layer4Style
|
|
94
|
+
class SEC,COST,INV,VAL,GEN,WF,POL layer3Style
|
|
95
|
+
class TF,TG,TOFU,CFN,CDK layer2Style
|
|
96
|
+
class SCAFFOLD,SPACE,ENV,CONFIG layer1Style
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Framework Principles
|
|
100
|
+
|
|
101
|
+
ThothCTL aligns with IDP business objectives through five core principles:
|
|
102
|
+
|
|
103
|
+
| Principle | Mechanism | Implementation |
|
|
104
|
+
|-----------|-----------|----------------|
|
|
105
|
+
| **Minimize Mistakes** | Meaningful defaults | Templates & scaffolds |
|
|
106
|
+
| **Increase Velocity** | Automation | IaC scripts & workflows |
|
|
107
|
+
| **Improve Products** | Fill product gaps | New components & tools |
|
|
108
|
+
| **Enforce Compliance** | Restrict choices | Wrappers & policies |
|
|
109
|
+
| **Reduce Lock-in** | Abstraction | Service layers & adapters |
|
|
110
|
+
|
|
111
|
+
## Architecture Layers
|
|
112
|
+
|
|
113
|
+
### Layer 1: Foundation Layer 🏗️
|
|
114
|
+
|
|
115
|
+
**Building blocks for the framework**
|
|
116
|
+
|
|
117
|
+
| Component | Purpose | Key Features |
|
|
118
|
+
|-----------|---------|--------------|
|
|
119
|
+
| **Git Scaffolds** | Project templates | Pre-configured structures, best practices, rapid creation |
|
|
120
|
+
| **Spaces** | Multi-tenancy | VCS integration, credential isolation, project organization |
|
|
121
|
+
| **Environment** | Tool bootstrap | Automated setup, version management, cross-platform |
|
|
122
|
+
| **Configuration** | Settings management | Hierarchical TOML, environment overrides, secure credentials |
|
|
123
|
+
|
|
124
|
+
**Official Scaffolds:**
|
|
125
|
+
- [terraform-scaffold](https://github.com/thothforge/terraform_project_scaffold) - Standard Terraform projects
|
|
126
|
+
- [terragrunt-scaffold](https://github.com/thothforge/terragrunt_project_scaffold) - Multi-environment Terragrunt
|
|
127
|
+
- [terraform-module-scaffold](https://github.com/thothforge/terraform_module_scaffold) - Reusable modules
|
|
128
|
+
|
|
129
|
+
**Commands:** `thothctl init env`, `thothctl init space`, `thothctl init project`
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
### Layer 2: IaC Tool Integration Layer 🔧
|
|
134
|
+
|
|
135
|
+
**Multi-tool support through parsers and CLI wrappers**
|
|
136
|
+
|
|
137
|
+
| Tool | Parser | Execution | Status |
|
|
138
|
+
|------|--------|-----------|--------|
|
|
139
|
+
| **Terraform** | HCL Parser | CLI Wrapper | ✅ Full Support |
|
|
140
|
+
| **Terragrunt** | Custom Parser | CLI Wrapper | ✅ Full Support |
|
|
141
|
+
| **OpenTofu** | HCL Parser | CLI Wrapper | ✅ Full Support |
|
|
142
|
+
| **CloudFormation** | JSON/YAML | AWS API | ✅ Full Support |
|
|
143
|
+
| **CDK v2** | Synth Parser | CLI Wrapper | ✅ Full Support |
|
|
144
|
+
|
|
145
|
+
**Key Features:**
|
|
146
|
+
- Unified interface across tools
|
|
147
|
+
- Tool-agnostic workflows
|
|
148
|
+
- Version management
|
|
149
|
+
- Execution orchestration
|
|
150
|
+
|
|
151
|
+
**Commands:** `thothctl project iac`, `thothctl generate`
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
### Layer 3: Platform Capabilities Layer ⚡
|
|
156
|
+
|
|
157
|
+
**Core IDP functionality**
|
|
158
|
+
|
|
159
|
+
#### Security & Compliance
|
|
160
|
+
Multi-tool security scanning with Checkov, Trivy, KICS, and Snyk.
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
📖 **Details:** [Security Scanning](commands/scan/scan_overview.md)
|
|
164
|
+
|
|
165
|
+
#### Cost Analysis
|
|
166
|
+
Real-time AWS cost estimation with 14 services, automated HTML/JSON reports.
|
|
167
|
+
|
|
168
|
+
**Commands:** `thothctl check iac -type cost-analysis`
|
|
169
|
+
|
|
170
|
+
📖 **Details:** [Cost Analysis](commands/check/cost-analysis.md)
|
|
171
|
+
|
|
172
|
+
#### Inventory Management
|
|
173
|
+
Dependency tracking, version checking, professional HTML reports.
|
|
174
|
+
|
|
175
|
+
**Commands:** `thothctl inventory iac --check-versions`
|
|
176
|
+
|
|
177
|
+
📖 **Details:** [Inventory Management](commands/inventory/inventory_overview.md)
|
|
178
|
+
|
|
179
|
+
#### Validation
|
|
180
|
+
Environment validation, IaC checks, blast radius analysis.
|
|
181
|
+
|
|
182
|
+
**Commands:** `thothctl check environment`, `thothctl check iac -type blast-radius`
|
|
183
|
+
|
|
184
|
+
📖 **Details:** [Validation](commands/check/check_overview.md)
|
|
185
|
+
|
|
186
|
+
#### Code Generation
|
|
187
|
+
Stack generation, component creation, boilerplate automation.
|
|
188
|
+
|
|
189
|
+
**Commands:** `thothctl generate`
|
|
190
|
+
|
|
191
|
+
📖 **Details:** [Code Generation](commands/generate/generate_stacks.md)
|
|
192
|
+
|
|
193
|
+
#### Workflow Engine
|
|
194
|
+
Composite DevSecOps pipeline orchestration — chains multiple commands into SDLC phases with enforcement gates and live progress.
|
|
195
|
+
|
|
196
|
+
**Phases:** plan → develop → build → test → secure → deploy → monitor
|
|
197
|
+
|
|
198
|
+
**Commands:** `thothctl workflow devsecops --phase all`, `--phase secure`, `--phase pre-deploy`
|
|
199
|
+
|
|
200
|
+
📖 **Details:** [Workflow Command](commands/workflow/workflow_overview.md) | [DevSecOps SDLC](use_cases/devsecops_sdlc.md)
|
|
201
|
+
|
|
202
|
+
#### Policy as Code
|
|
203
|
+
Organization-level governance via OPA/Rego policies distributed from centralized Git repositories.
|
|
204
|
+
|
|
205
|
+
**Features:**
|
|
206
|
+
- Remote policy repos (GitHub, Azure DevOps, GitLab)
|
|
207
|
+
- Auto-cloning and caching
|
|
208
|
+
- Multi-IaC support (HCL + CloudFormation policies)
|
|
209
|
+
- Parameterized configs (config.yaml → data namespace)
|
|
210
|
+
|
|
211
|
+
**Commands:** `thothctl scan iac -t opa --policy-dir <git-url>`
|
|
212
|
+
|
|
213
|
+
📖 **Details:** [Policy as Code](policy_as_code.md)
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
### Layer 4: Developer Experience Layer 🎨
|
|
218
|
+
|
|
219
|
+
**Intuitive interfaces and AI assistance**
|
|
220
|
+
|
|
221
|
+
#### CLI Interface
|
|
222
|
+
Rich terminal UI with autocompletion, cross-platform support, and modern UX.
|
|
223
|
+
|
|
224
|
+
**Features:**
|
|
225
|
+
- Click-based command structure
|
|
226
|
+
- Rich console output
|
|
227
|
+
- Shell autocompletion (bash, zsh, fish)
|
|
228
|
+
- Progress indicators and spinners
|
|
229
|
+
|
|
230
|
+
#### AI Assistant (Kiro CLI)
|
|
231
|
+
Amazon Q integration with 19 specialized tools via Model Context Protocol (MCP).
|
|
232
|
+
|
|
233
|
+
**Capabilities:**
|
|
234
|
+
- Natural language infrastructure queries
|
|
235
|
+
- Code generation and modification
|
|
236
|
+
- Documentation generation
|
|
237
|
+
- Cost analysis assistance
|
|
238
|
+
- DevSecOps workflow orchestration via `thothctl_workflow_devsecops` MCP tool
|
|
239
|
+
|
|
240
|
+
📖 **Details:** [AI-Powered Development](use_cases/ai_dlc.md)
|
|
241
|
+
|
|
242
|
+
#### Skills System
|
|
243
|
+
Reusable knowledge packages (`.kiro/skills/`) that teach AI agents domain-specific procedures, decision logic, and remediation patterns.
|
|
244
|
+
|
|
245
|
+
**Bundled Skills:**
|
|
246
|
+
- `devsecops` — DevSecOps SDLC orchestration, intent routing, remediation patterns
|
|
247
|
+
- `terraform-skill` — Terraform/Terragrunt patterns, module design, state management
|
|
248
|
+
- `iac-versioning-commits` — Conventional commits and versioning for IaC
|
|
249
|
+
|
|
250
|
+
**Structure:**
|
|
251
|
+
```
|
|
252
|
+
.kiro/skills/<skill-name>/
|
|
253
|
+
├── SKILL.md # Decision logic, procedures, response patterns
|
|
254
|
+
└── references/ # Domain knowledge (commands, fixes, templates)
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
**Distribution:** Skills are included in scaffold templates and distributed to new projects automatically.
|
|
258
|
+
|
|
259
|
+
📖 **Details:** [DevSecOps Skill](https://github.com/thothforge/thothctl-devsecops-skill)
|
|
260
|
+
|
|
261
|
+
#### Documentation Generation
|
|
262
|
+
Automated documentation with AI-powered content generation.
|
|
263
|
+
|
|
264
|
+
**Commands:** `thothctl document iac`, `thothctl document iac --ai`
|
|
265
|
+
|
|
266
|
+
📖 **Details:** [Documentation](commands/document/document_overview.md)
|
|
267
|
+
|
|
268
|
+
#### Template Engine
|
|
269
|
+
Jinja2-based code generation with scaffolding support.
|
|
270
|
+
|
|
271
|
+
**Features:**
|
|
272
|
+
- Variable substitution
|
|
273
|
+
- Conditional logic
|
|
274
|
+
- Loops and filters
|
|
275
|
+
- Custom functions
|
|
276
|
+
|
|
277
|
+
📖 **Details:** [Template Engine](../template_engine/template_engine.md)
|
|
278
|
+
|
|
279
|
+
---
|
|
280
|
+
|
|
281
|
+
## Use Cases
|
|
282
|
+
|
|
283
|
+
ThothCTL supports comprehensive IDP workflows:
|
|
284
|
+
|
|
285
|
+
| Use Case | Commands | Documentation |
|
|
286
|
+
|----------|----------|---------------|
|
|
287
|
+
| **Project Initialization** | `init env`, `init space`, `init project` | [Getting Started](use_cases/README.md) |
|
|
288
|
+
| **DevSecOps Pipeline** | `workflow devsecops --phase all` | [DevSecOps SDLC](use_cases/devsecops_sdlc.md) |
|
|
289
|
+
| **Security Scanning** | `scan iac -t checkov -t trivy -t opa` | [Security](commands/scan/scan_overview.md) |
|
|
290
|
+
| **Policy Enforcement** | `scan iac -t opa --policy-dir <url>` | [Policy as Code](policy_as_code.md) |
|
|
291
|
+
| **Cost Analysis** | `check iac -type cost-analysis` | [Cost Analysis](commands/check/cost-analysis.md) |
|
|
292
|
+
| **Dependency Management** | `inventory iac --check-versions` | [Inventory](commands/inventory/inventory_overview.md) |
|
|
293
|
+
| **Drift Detection** | `check iac -type drift` | [Check Command](commands/check/check_overview.md) |
|
|
294
|
+
| **Documentation** | `document iac --ai` | [Documentation](commands/document/document_overview.md) |
|
|
295
|
+
| **AI Development** | Kiro CLI + MCP + Skills | [AI-DLC](use_cases/ai_dlc.md) |
|
|
296
|
+
| **Observability** | `dashboard launch` | [Dashboard](commands/dashboard/dashboard_overview.md) |
|
|
297
|
+
|
|
298
|
+
📖 **Complete Use Cases:** [Use Cases Documentation](use_cases/README.md)
|
|
299
|
+
|
|
300
|
+
---
|
|
301
|
+
|
|
302
|
+
## Integration Points
|
|
303
|
+
|
|
304
|
+
### Version Control Systems
|
|
305
|
+
- GitHub (OAuth, Personal Access Tokens)
|
|
306
|
+
- GitLab (OAuth, Personal Access Tokens)
|
|
307
|
+
- Azure DevOps (Personal Access Tokens)
|
|
308
|
+
|
|
309
|
+
### Cloud Providers
|
|
310
|
+
- AWS (IAM credentials, SSO)
|
|
311
|
+
- Azure (Service Principal)
|
|
312
|
+
- GCP (Service Account)
|
|
313
|
+
|
|
314
|
+
### CI/CD Platforms
|
|
315
|
+
- GitHub Actions
|
|
316
|
+
- GitLab CI
|
|
317
|
+
- Azure Pipelines
|
|
318
|
+
- Jenkins
|
|
319
|
+
|
|
320
|
+
### AI Services
|
|
321
|
+
- Amazon Q (via Kiro CLI)
|
|
322
|
+
- Model Context Protocol (MCP)
|
|
323
|
+
|
|
324
|
+
---
|
|
325
|
+
|
|
326
|
+
## Configuration Hierarchy
|
|
327
|
+
|
|
328
|
+
```
|
|
329
|
+
1. Global Config (~/.thothctl/config.toml)
|
|
330
|
+
2. Space Config (.thothcf-<space>.toml)
|
|
331
|
+
3. Project Config (.thothcf.toml)
|
|
332
|
+
4. Environment Vars (THOTHCTL_*)
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
**Example Configuration:**
|
|
336
|
+
```toml
|
|
337
|
+
[project]
|
|
338
|
+
name = "my-infrastructure"
|
|
339
|
+
type = "terraform"
|
|
340
|
+
|
|
341
|
+
[space]
|
|
342
|
+
name = "lab-github"
|
|
343
|
+
vcs = "github"
|
|
344
|
+
|
|
345
|
+
[tools]
|
|
346
|
+
terraform_version = "1.6.0"
|
|
347
|
+
terragrunt_version = "0.54.0"
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
---
|
|
351
|
+
|
|
352
|
+
## Next Steps
|
|
353
|
+
|
|
354
|
+
- **Getting Started:** [Quick Start Guide](../quick_start.md)
|
|
355
|
+
- **Commands Reference:** [Commands Documentation](commands/)
|
|
356
|
+
- **Use Cases:** [Use Cases & Examples](use_cases/)
|
|
357
|
+
- **Technical Details:** [Software Architecture](software_architecture.md)
|
|
358
|
+
- **Template Engine:** [Template System](../template_engine/template_engine.md)
|