# TFKit - Terraform Intelligence & Analysis Suite
[](https://www.python.org/downloads/)
[](LICENSE)
[](https://github.com/ivasik-k7/tfkit/releases)
[](https://github.com/ivasik-k7/tfkit/actions)
[](https://codecov.io/gh/ivasik-k7/tfkit)
A comprehensive toolkit for analyzing, visualizing, and validating Terraform infrastructure code. TFKit provides deep insights into your Terraform projects with advanced dependency tracking, security scanning, and interactive visualizations.
## Overview
TFKit helps infrastructure teams understand, validate, and optimize their Terraform configurations through:
- **Quick Scanning**: Rapid project analysis with comprehensive metrics
- **Validation Suite**: Built-in validation with security and compliance checks
- **Multi-Format Export**: Flexible output formats for integration with other tools
- **Interactive Visualizations**: Rich graphical representations with multiple themes and layouts
- **CI/CD Ready**: SARIF output and automation-friendly interfaces
## Quick Start
### Installation
```bash
pip install tfkit-py
```
### Basic Usage
Get started with these essential commands:
```bash
# Quick project scan
tfkit scan
# Scan with visualization
tfkit scan --open --theme dark --layout graph
# Validate configurations
tfkit validate --all --strict
# Export analysis results
tfkit export --format json --format yaml
```
## Visualization Layouts
| Graph Layout | Dashboard Layout | Classic Layout |
| :----------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------: |
| [](https://freeimage.host/i/KL7utRI) | [](https://freeimage.host/i/KPV3mPa) | [](https://freeimage.host/i/KL7aYPe) |
| Force-directed graph showing resource relationships (Github-Dark Theme) | Dashboard with metrics and insights | Traditional hierarchical layout (Solirized-Light Theme) |
</div>
### Available Themes
- **Dark** (default) - Dark theme for extended viewing sessions
- **Light** - Light theme for printed reports
- **Cyber** - High-contrast theme for presentations
- **GitHub Dark** - GitHub's dark color scheme
- **Monokai** - Popular code editor theme
- **Solarized Light** - Eye-friendly light theme
- **Dracula** - Popular dark theme
- **Atom One Dark** - Atom editor's dark theme
- **Gruvbox Dark** - Retro groove color scheme
- **Night Owl** - Night-optimized theme
### Layout Options
- **Classic** - Traditional hierarchical tree layout
- **Graph** - Force-directed graph for complex relationships (default)
- **Dashboard** - Metrics-focused layout with key insights
## Command Reference
### Scan Command
Quick analysis for rapid insights into your Terraform project with comprehensive statistics and health assessment.
```bash
tfkit scan [PATH] [OPTIONS]
```
**Options:**
- `--output, -o DIR` - Output directory for reports
- `--format, -f FORMAT` - Output format: `table` (default), `json`, `yaml`, `simple`
- `--open, -O` - Open results in browser
- `--quiet, -q` - Minimal output
- `--save, -s FILE` - Save scan results to file
- `--theme THEME` - Visualization theme (default: dark)
- `--layout LAYOUT` - Visualization layout (default: graph)
**Examples:**
```bash
# Scan current directory
tfkit scan
# Scan specific path
tfkit scan /path/to/terraform
# Scan with JSON output
tfkit scan --format json
# Scan and open visualization
tfkit scan --open --theme cyber --layout dashboard
# Save results and open browser
tfkit scan --save scan.json --open
# Quiet mode with simple output
tfkit scan --quiet --format simple
```
**Output:**
The scan command provides:
- **Project Summary**: Total objects, resources, data sources, variables, outputs, providers
- **Health Assessment**: Overall health score, unused objects, orphaned outputs, incomplete resources
- **Resource Types**: Breakdown of resource types with counts
- **Potential Issues**: Unused objects, orphaned outputs, incomplete configurations
- **State Distribution**: Classification of all Terraform components
### Validate Command
Comprehensive validation of Terraform configurations with multiple check types and flexible output formats.
```bash
tfkit validate [PATH] [OPTIONS]
```
**Validation Options:**
- `--strict, -s` - Enable strict validation mode
- `--check-syntax` - Check HCL syntax
- `--check-references` - Validate references
- `--check-best-practices` - Check against best practices
- `--check-security` - Security validation
- `--all, -a` - Run all validation checks (recommended)
- `--fail-on-warning` - Treat warnings as errors (CI/CD mode)
- `--ignore RULE` - Ignore specific validation rules (can use multiple times)
**Output Options:**
- `--format, -f FORMAT` - Output format: `table` (default), `json`, `sarif`
**Examples:**
```bash
# Basic validation (syntax + references)
tfkit validate
# Full validation suite
tfkit validate --all
# Strict validation with all checks
tfkit validate --all --strict
# Security-focused validation
tfkit validate --check-security --strict
# CI/CD integration with SARIF output
tfkit validate --all --strict --fail-on-warning --format sarif > results.sarif
# Validation with ignored rules
tfkit validate --all --ignore TF020 --ignore TF021
# JSON output for programmatic use
tfkit validate --all --format json
```
**Validation Output:**
Results include:
- **Summary**: Count of errors, warnings, info messages, and passed checks
- **Issues Table**: Detailed list with severity, category, rule ID, location, resource name, and message
- **Suggestions**: Actionable recommendations for fixing issues
- **Passed Checks**: List of successfully validated rules
**Severity Levels:**
- ❌ **ERROR** - Critical issues that must be fixed
- ⚠️ **WARNING** - Issues that should be addressed
- ℹ️ **INFO** - Informational messages and suggestions
### Export Command
Export analysis data in multiple structured formats for integration with other tools and workflows.
```bash
tfkit export [PATH] [OPTIONS]
```
**Options:**
- `--format, -f FORMAT` - Export formats: `json`, `yaml`, `csv`, `xml`, `toml` (can specify multiple)
- `--output-dir, -o DIR` - Output directory (default: current directory)
- `--prefix, -p PREFIX` - Output filename prefix (default: "tfkit-export")
- `--split-by TYPE` - Split exports by category: `type`, `provider`, `module`
- `--include PATTERN` - Include specific components (can use multiple times)
- `--exclude PATTERN` - Exclude specific components (can use multiple times)
- `--compress, -c` - Compress output files into ZIP archive
**Examples:**
```bash
# Export as JSON (default)
tfkit export
# Export multiple formats
tfkit export --format json --format yaml --format csv
# Export to specific directory
tfkit export --format json --output-dir ./exports
# Split exports by provider
tfkit export --format csv --split-by provider
# Export with compression
tfkit export --format json --format yaml --compress
# Custom filename prefix
tfkit export --format json --prefix infrastructure-2024
```
**Exported Data:**
The export includes:
- **Summary**: Resource counts and project metadata
- **Health Metrics**: Health score and issue counts
- **Resource Types**: Detailed breakdown of all resource types
- **State Distribution**: Classification of components
- **Issues**: Unused objects, orphaned outputs, incomplete configurations
- **Providers**: List of used providers
### Examples Command
Display practical usage examples and common patterns for all TFKit commands.
```bash
tfkit examples
```
Shows real-world examples including:
- Quick scanning workflows
- Validation patterns
- Export strategies
- Complete analysis pipelines
## Advanced Usage
### Complete Analysis Pipeline
```bash
# 1. Quick project scan with health assessment
tfkit scan --save initial-scan.json
# 2. Full validation with all checks
tfkit validate --all --strict
# 3. Generate interactive visualization
tfkit scan --open --theme dark --layout graph
# 4. Export data for external tools
tfkit export --format json --format yaml --compress
```
### Security-Focused Workflow
```bash
# Security validation
tfkit validate --check-security --strict --fail-on-warning
# Scan with security assessment
tfkit scan --format json --save security-scan.json
# Generate security report
tfkit scan --open --theme cyber
```
### CI/CD Integration
```bash
# Pre-commit validation
tfkit validate --check-syntax --check-references --fail-on-warning
# Full CI validation with SARIF
tfkit validate --all --strict --fail-on-warning --format sarif > results.sarif
# Automated scanning with JSON output
tfkit scan --quiet --format json --save scan-results.json
```
### Multi-Format Export Workflow
```bash
# Export all formats with compression
tfkit export --format json --format yaml --format csv --compress
# Split by provider for large projects
tfkit export --format json --split-by provider --output-dir exports/
# Custom export with filtering
tfkit export --format yaml --prefix prod-infra --exclude "*.test.tf"
```
## Output Examples
### Scan Results (Table Format)
```
████████╗███████╗██╗ ██╗██╗████████╗
╚══██╔══╝██╔════╝██║ ██╔╝██║╚══██╔══╝
██║ █████╗ █████╔╝ ██║ ██║
██║ ██╔══╝ ██╔═██╗ ██║ ██║
██║ ██║ ██║ ██╗██║ ██║
╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝
📊 TERRAFORM PROJECT SUMMARY
┏━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Metric ┃ Count ┃ Details ┃
┡━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩
│ Total Objects│ 24 │ All Terraform components│
│ Resources │ 15 │ 8 unique types │
│ Data Sources │ 3 │ External data references│
│ Variables │ 12 │ 10 used │
│ Outputs │ 8 │ 2 orphaned │
│ Providers │ 3 │ aws, null, template │
└──────────────┴───────┴────────────────────────┘
🏥 HEALTH ASSESSMENT
┏━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ Category ┃ Count ┃ Status ┃
┡━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ Overall Score │ 85.0% │ Excellent │
│ Unused Objects │ 2 │ Potential cleanup│
│ Orphaned Outputs│ 2 │ Unused outputs │
│ Incomplete │ 1 │ Missing values │
└────────────────┴───────┴──────────────────┘
```
### Validation Results (Table Format)
```
✓ Validating Configuration
Path: /path/to/terraform
Mode: STRICT
🔍 Checking syntax...
🔗 Validating references...
📋 Checking best practices...
🔒 Security validation...
┏━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Severity ┃ Category ┃ Rule ┃ Location ┃ Resource ┃ Message ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩
│ ❌ ERROR │ Security │ TF101 │ main.tf:15 │ │ Missing security group │
│ ⚠️ WARNING│ References│ TF020 │ variables.tf:8 │ var.region │ Unused variable │
└──────────┴────────────┴────────┴────────────────┴───────────────┴────────────────────────┘
Validation Summary
Errors: 1 Warnings: 1 Info: 0 Passed: 45
✗ Validation failed
```
### Scan Results (Simple Format)
```
TERRAFORM SCAN RESULTS
📦 Total Objects: 24
🔧 Resources: 15 (8 types)
📊 Data Sources: 3
⚙️ Providers: aws, null, template
🏥 Health: 🟢 85.0%
⚠️ Unused: 2 objects
📤 Orphaned: 2 outputs
```
## Global Options
Available for all commands:
- `--version, -v` - Show version and exit
- `--welcome, -w` - Show welcome message with quick start guide
- `--debug` - Enable debug output for troubleshooting
- `--help, -h` - Show command help
## Development
### Installation from Source
```bash
git clone https://github.com/ivasik-k7/tfkit.git
cd tfkit
pip install -e .
```
### Running Tests
```bash
pytest tests/ -v
```
## Requirements
- Python 3.8+
- Click 8.0+
- Rich 13.0+
- python-hcl2 (for validation features)
- PyYAML (optional, for YAML export)
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Acknowledgments
- Built with [Rich](https://github.com/Textualize/rich) for beautiful terminal output
- Uses [Click](https://click.palletsprojects.com/) for CLI framework
- Inspired by Terraform best practices and community tools
Raw data
{
"_id": null,
"home_page": null,
"name": "tfkit-py",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "Ivan Kovtun <kovtun.ivan@proton.me>",
"keywords": "analysis, cli, cost-optimization, devops, iac, infrastructure-as-code, security, terraform, visualization",
"author": null,
"author_email": "Ivan Kovtun <kovtun.ivan@proton.me>",
"download_url": "https://files.pythonhosted.org/packages/05/bf/bc653992a10727b8e7634032c7a596e068b98cc2d19a2ef87c227ed7be72/tfkit_py-0.4.57.tar.gz",
"platform": null,
"description": "# TFKit - Terraform Intelligence & Analysis Suite\n\n[](https://www.python.org/downloads/)\n[](LICENSE)\n[](https://github.com/ivasik-k7/tfkit/releases)\n[](https://github.com/ivasik-k7/tfkit/actions)\n[](https://codecov.io/gh/ivasik-k7/tfkit)\n\nA comprehensive toolkit for analyzing, visualizing, and validating Terraform infrastructure code. TFKit provides deep insights into your Terraform projects with advanced dependency tracking, security scanning, and interactive visualizations.\n\n## Overview\n\nTFKit helps infrastructure teams understand, validate, and optimize their Terraform configurations through:\n\n- **Quick Scanning**: Rapid project analysis with comprehensive metrics\n- **Validation Suite**: Built-in validation with security and compliance checks\n- **Multi-Format Export**: Flexible output formats for integration with other tools\n- **Interactive Visualizations**: Rich graphical representations with multiple themes and layouts\n- **CI/CD Ready**: SARIF output and automation-friendly interfaces\n\n## Quick Start\n\n### Installation\n\n```bash\npip install tfkit-py\n```\n\n### Basic Usage\n\nGet started with these essential commands:\n\n```bash\n# Quick project scan\ntfkit scan\n\n# Scan with visualization\ntfkit scan --open --theme dark --layout graph\n\n# Validate configurations\ntfkit validate --all --strict\n\n# Export analysis results\ntfkit export --format json --format yaml\n```\n\n## Visualization Layouts\n\n| Graph Layout | Dashboard Layout | Classic Layout |\n| :----------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------: |\n| [](https://freeimage.host/i/KL7utRI) | [](https://freeimage.host/i/KPV3mPa) | [](https://freeimage.host/i/KL7aYPe) |\n| Force-directed graph showing resource relationships (Github-Dark Theme) | Dashboard with metrics and insights | Traditional hierarchical layout (Solirized-Light Theme) |\n\n</div>\n\n### Available Themes\n\n- **Dark** (default) - Dark theme for extended viewing sessions\n- **Light** - Light theme for printed reports\n- **Cyber** - High-contrast theme for presentations\n- **GitHub Dark** - GitHub's dark color scheme\n- **Monokai** - Popular code editor theme\n- **Solarized Light** - Eye-friendly light theme\n- **Dracula** - Popular dark theme\n- **Atom One Dark** - Atom editor's dark theme\n- **Gruvbox Dark** - Retro groove color scheme\n- **Night Owl** - Night-optimized theme\n\n### Layout Options\n\n- **Classic** - Traditional hierarchical tree layout\n- **Graph** - Force-directed graph for complex relationships (default)\n- **Dashboard** - Metrics-focused layout with key insights\n\n## Command Reference\n\n### Scan Command\n\nQuick analysis for rapid insights into your Terraform project with comprehensive statistics and health assessment.\n\n```bash\ntfkit scan [PATH] [OPTIONS]\n```\n\n**Options:**\n\n- `--output, -o DIR` - Output directory for reports\n- `--format, -f FORMAT` - Output format: `table` (default), `json`, `yaml`, `simple`\n- `--open, -O` - Open results in browser\n- `--quiet, -q` - Minimal output\n- `--save, -s FILE` - Save scan results to file\n- `--theme THEME` - Visualization theme (default: dark)\n- `--layout LAYOUT` - Visualization layout (default: graph)\n\n**Examples:**\n\n```bash\n# Scan current directory\ntfkit scan\n\n# Scan specific path\ntfkit scan /path/to/terraform\n\n# Scan with JSON output\ntfkit scan --format json\n\n# Scan and open visualization\ntfkit scan --open --theme cyber --layout dashboard\n\n# Save results and open browser\ntfkit scan --save scan.json --open\n\n# Quiet mode with simple output\ntfkit scan --quiet --format simple\n```\n\n**Output:**\n\nThe scan command provides:\n\n- **Project Summary**: Total objects, resources, data sources, variables, outputs, providers\n- **Health Assessment**: Overall health score, unused objects, orphaned outputs, incomplete resources\n- **Resource Types**: Breakdown of resource types with counts\n- **Potential Issues**: Unused objects, orphaned outputs, incomplete configurations\n- **State Distribution**: Classification of all Terraform components\n\n### Validate Command\n\nComprehensive validation of Terraform configurations with multiple check types and flexible output formats.\n\n```bash\ntfkit validate [PATH] [OPTIONS]\n```\n\n**Validation Options:**\n\n- `--strict, -s` - Enable strict validation mode\n- `--check-syntax` - Check HCL syntax\n- `--check-references` - Validate references\n- `--check-best-practices` - Check against best practices\n- `--check-security` - Security validation\n- `--all, -a` - Run all validation checks (recommended)\n- `--fail-on-warning` - Treat warnings as errors (CI/CD mode)\n- `--ignore RULE` - Ignore specific validation rules (can use multiple times)\n\n**Output Options:**\n\n- `--format, -f FORMAT` - Output format: `table` (default), `json`, `sarif`\n\n**Examples:**\n\n```bash\n# Basic validation (syntax + references)\ntfkit validate\n\n# Full validation suite\ntfkit validate --all\n\n# Strict validation with all checks\ntfkit validate --all --strict\n\n# Security-focused validation\ntfkit validate --check-security --strict\n\n# CI/CD integration with SARIF output\ntfkit validate --all --strict --fail-on-warning --format sarif > results.sarif\n\n# Validation with ignored rules\ntfkit validate --all --ignore TF020 --ignore TF021\n\n# JSON output for programmatic use\ntfkit validate --all --format json\n```\n\n**Validation Output:**\n\nResults include:\n\n- **Summary**: Count of errors, warnings, info messages, and passed checks\n- **Issues Table**: Detailed list with severity, category, rule ID, location, resource name, and message\n- **Suggestions**: Actionable recommendations for fixing issues\n- **Passed Checks**: List of successfully validated rules\n\n**Severity Levels:**\n\n- \u274c **ERROR** - Critical issues that must be fixed\n- \u26a0\ufe0f **WARNING** - Issues that should be addressed\n- \u2139\ufe0f **INFO** - Informational messages and suggestions\n\n### Export Command\n\nExport analysis data in multiple structured formats for integration with other tools and workflows.\n\n```bash\ntfkit export [PATH] [OPTIONS]\n```\n\n**Options:**\n\n- `--format, -f FORMAT` - Export formats: `json`, `yaml`, `csv`, `xml`, `toml` (can specify multiple)\n- `--output-dir, -o DIR` - Output directory (default: current directory)\n- `--prefix, -p PREFIX` - Output filename prefix (default: \"tfkit-export\")\n- `--split-by TYPE` - Split exports by category: `type`, `provider`, `module`\n- `--include PATTERN` - Include specific components (can use multiple times)\n- `--exclude PATTERN` - Exclude specific components (can use multiple times)\n- `--compress, -c` - Compress output files into ZIP archive\n\n**Examples:**\n\n```bash\n# Export as JSON (default)\ntfkit export\n\n# Export multiple formats\ntfkit export --format json --format yaml --format csv\n\n# Export to specific directory\ntfkit export --format json --output-dir ./exports\n\n# Split exports by provider\ntfkit export --format csv --split-by provider\n\n# Export with compression\ntfkit export --format json --format yaml --compress\n\n# Custom filename prefix\ntfkit export --format json --prefix infrastructure-2024\n```\n\n**Exported Data:**\n\nThe export includes:\n\n- **Summary**: Resource counts and project metadata\n- **Health Metrics**: Health score and issue counts\n- **Resource Types**: Detailed breakdown of all resource types\n- **State Distribution**: Classification of components\n- **Issues**: Unused objects, orphaned outputs, incomplete configurations\n- **Providers**: List of used providers\n\n### Examples Command\n\nDisplay practical usage examples and common patterns for all TFKit commands.\n\n```bash\ntfkit examples\n```\n\nShows real-world examples including:\n\n- Quick scanning workflows\n- Validation patterns\n- Export strategies\n- Complete analysis pipelines\n\n## Advanced Usage\n\n### Complete Analysis Pipeline\n\n```bash\n# 1. Quick project scan with health assessment\ntfkit scan --save initial-scan.json\n\n# 2. Full validation with all checks\ntfkit validate --all --strict\n\n# 3. Generate interactive visualization\ntfkit scan --open --theme dark --layout graph\n\n# 4. Export data for external tools\ntfkit export --format json --format yaml --compress\n```\n\n### Security-Focused Workflow\n\n```bash\n# Security validation\ntfkit validate --check-security --strict --fail-on-warning\n\n# Scan with security assessment\ntfkit scan --format json --save security-scan.json\n\n# Generate security report\ntfkit scan --open --theme cyber\n```\n\n### CI/CD Integration\n\n```bash\n# Pre-commit validation\ntfkit validate --check-syntax --check-references --fail-on-warning\n\n# Full CI validation with SARIF\ntfkit validate --all --strict --fail-on-warning --format sarif > results.sarif\n\n# Automated scanning with JSON output\ntfkit scan --quiet --format json --save scan-results.json\n```\n\n### Multi-Format Export Workflow\n\n```bash\n# Export all formats with compression\ntfkit export --format json --format yaml --format csv --compress\n\n# Split by provider for large projects\ntfkit export --format json --split-by provider --output-dir exports/\n\n# Custom export with filtering\ntfkit export --format yaml --prefix prod-infra --exclude \"*.test.tf\"\n```\n\n## Output Examples\n\n### Scan Results (Table Format)\n\n```\n\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2557 \u2588\u2588\u2557\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\n\u255a\u2550\u2550\u2588\u2588\u2554\u2550\u2550\u255d\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255d\u2588\u2588\u2551 \u2588\u2588\u2554\u255d\u2588\u2588\u2551\u255a\u2550\u2550\u2588\u2588\u2554\u2550\u2550\u255d\n \u2588\u2588\u2551 \u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2554\u255d \u2588\u2588\u2551 \u2588\u2588\u2551\n \u2588\u2588\u2551 \u2588\u2588\u2554\u2550\u2550\u255d \u2588\u2588\u2554\u2550\u2588\u2588\u2557 \u2588\u2588\u2551 \u2588\u2588\u2551\n \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2557\u2588\u2588\u2551 \u2588\u2588\u2551\n \u255a\u2550\u255d \u255a\u2550\u255d \u255a\u2550\u255d \u255a\u2550\u255d\u255a\u2550\u255d \u255a\u2550\u255d\n\n\ud83d\udcca TERRAFORM PROJECT SUMMARY\n\u250f\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2513\n\u2503 Metric \u2503 Count \u2503 Details \u2503\n\u2521\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2529\n\u2502 Total Objects\u2502 24 \u2502 All Terraform components\u2502\n\u2502 Resources \u2502 15 \u2502 8 unique types \u2502\n\u2502 Data Sources \u2502 3 \u2502 External data references\u2502\n\u2502 Variables \u2502 12 \u2502 10 used \u2502\n\u2502 Outputs \u2502 8 \u2502 2 orphaned \u2502\n\u2502 Providers \u2502 3 \u2502 aws, null, template \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n\n\ud83c\udfe5 HEALTH ASSESSMENT\n\u250f\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2513\n\u2503 Category \u2503 Count \u2503 Status \u2503\n\u2521\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2529\n\u2502 Overall Score \u2502 85.0% \u2502 Excellent \u2502\n\u2502 Unused Objects \u2502 2 \u2502 Potential cleanup\u2502\n\u2502 Orphaned Outputs\u2502 2 \u2502 Unused outputs \u2502\n\u2502 Incomplete \u2502 1 \u2502 Missing values \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n```\n\n### Validation Results (Table Format)\n\n```\n\u2713 Validating Configuration\n Path: /path/to/terraform\n Mode: STRICT\n\n \ud83d\udd0d Checking syntax...\n \ud83d\udd17 Validating references...\n \ud83d\udccb Checking best practices...\n \ud83d\udd12 Security validation...\n\n\u250f\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2513\n\u2503 Severity \u2503 Category \u2503 Rule \u2503 Location \u2503 Resource \u2503 Message \u2503\n\u2521\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2529\n\u2502 \u274c ERROR \u2502 Security \u2502 TF101 \u2502 main.tf:15 \u2502 \u2502 Missing security group \u2502\n\u2502 \u26a0\ufe0f WARNING\u2502 References\u2502 TF020 \u2502 variables.tf:8 \u2502 var.region \u2502 Unused variable \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n\nValidation Summary\nErrors: 1 Warnings: 1 Info: 0 Passed: 45\n\n\u2717 Validation failed\n```\n\n### Scan Results (Simple Format)\n\n```\nTERRAFORM SCAN RESULTS\n\ud83d\udce6 Total Objects: 24\n\ud83d\udd27 Resources: 15 (8 types)\n\ud83d\udcca Data Sources: 3\n\u2699\ufe0f Providers: aws, null, template\n\ud83c\udfe5 Health: \ud83d\udfe2 85.0%\n\u26a0\ufe0f Unused: 2 objects\n\ud83d\udce4 Orphaned: 2 outputs\n```\n\n## Global Options\n\nAvailable for all commands:\n\n- `--version, -v` - Show version and exit\n- `--welcome, -w` - Show welcome message with quick start guide\n- `--debug` - Enable debug output for troubleshooting\n- `--help, -h` - Show command help\n\n## Development\n\n### Installation from Source\n\n```bash\ngit clone https://github.com/ivasik-k7/tfkit.git\ncd tfkit\npip install -e .\n```\n\n### Running Tests\n\n```bash\npytest tests/ -v\n```\n\n## Requirements\n\n- Python 3.8+\n- Click 8.0+\n- Rich 13.0+\n- python-hcl2 (for validation features)\n- PyYAML (optional, for YAML export)\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Acknowledgments\n\n- Built with [Rich](https://github.com/Textualize/rich) for beautiful terminal output\n- Uses [Click](https://click.palletsprojects.com/) for CLI framework\n- Inspired by Terraform best practices and community tools\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Advanced Terraform Intelligence & Analysis Suite",
"version": "0.4.57",
"project_urls": {
"Documentation": "https://tfkit.netlify.app/docs",
"Homepage": "https://tfkit.netlify.app",
"Issues": "https://github.com/ivasik-k7/tfkit/issues",
"Repository": "https://github.com/ivasik-k7/tfkit"
},
"split_keywords": [
"analysis",
" cli",
" cost-optimization",
" devops",
" iac",
" infrastructure-as-code",
" security",
" terraform",
" visualization"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "b639946e9dd9201f39a8c4995addfae934adf5ca40a1272de0245d8cf1a94ac4",
"md5": "48fcbd5d883e0f1aa6b6442d1d3de875",
"sha256": "0b2b835555d107f495bf66c07dbf4e1a23aa8917cfbc04e47af30c21e3dba8c2"
},
"downloads": -1,
"filename": "tfkit_py-0.4.57-py3-none-any.whl",
"has_sig": false,
"md5_digest": "48fcbd5d883e0f1aa6b6442d1d3de875",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 121631,
"upload_time": "2025-11-03T17:30:55",
"upload_time_iso_8601": "2025-11-03T17:30:55.784009Z",
"url": "https://files.pythonhosted.org/packages/b6/39/946e9dd9201f39a8c4995addfae934adf5ca40a1272de0245d8cf1a94ac4/tfkit_py-0.4.57-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "05bfbc653992a10727b8e7634032c7a596e068b98cc2d19a2ef87c227ed7be72",
"md5": "9757ae0d50a707e329a03f76df17d3f3",
"sha256": "71fc7ee50bfaf98d07604ce1ac18230221e2cd73a9dfd227b00ed30d451822e4"
},
"downloads": -1,
"filename": "tfkit_py-0.4.57.tar.gz",
"has_sig": false,
"md5_digest": "9757ae0d50a707e329a03f76df17d3f3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 119002,
"upload_time": "2025-11-03T17:30:57",
"upload_time_iso_8601": "2025-11-03T17:30:57.418770Z",
"url": "https://files.pythonhosted.org/packages/05/bf/bc653992a10727b8e7634032c7a596e068b98cc2d19a2ef87c227ed7be72/tfkit_py-0.4.57.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-11-03 17:30:57",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ivasik-k7",
"github_project": "tfkit",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "tfkit-py"
}