tfkit-py


Nametfkit-py JSON
Version 0.4.57 PyPI version JSON
download
home_pageNone
SummaryAdvanced Terraform Intelligence & Analysis Suite
upload_time2025-11-03 17:30:57
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseMIT
keywords analysis cli cost-optimization devops iac infrastructure-as-code security terraform visualization
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # TFKit - Terraform Intelligence & Analysis Suite

[![Python Version](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
[![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
[![Latest Release](https://img.shields.io/github/v/release/ivasik-k7/tfkit)](https://github.com/ivasik-k7/tfkit/releases)
[![Pipeline Status](https://img.shields.io/github/actions/workflow/status/ivasik-k7/tfkit/main.yml?branch=main)](https://github.com/ivasik-k7/tfkit/actions)
[![Code Coverage](https://img.shields.io/codecov/c/github/ivasik-k7/tfkit)](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                                        |
| :----------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------: |
| [![Graph Visualization](https://iili.io/KL7utRI.md.png)](https://freeimage.host/i/KL7utRI) | [![Dashboard Visualization](https://iili.io/KPV3mPa.md.png)](https://freeimage.host/i/KPV3mPa) | [![Classic Visualization](https://iili.io/KL7aYPe.md.png)](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[![Python Version](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)\n[![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)\n[![Latest Release](https://img.shields.io/github/v/release/ivasik-k7/tfkit)](https://github.com/ivasik-k7/tfkit/releases)\n[![Pipeline Status](https://img.shields.io/github/actions/workflow/status/ivasik-k7/tfkit/main.yml?branch=main)](https://github.com/ivasik-k7/tfkit/actions)\n[![Code Coverage](https://img.shields.io/codecov/c/github/ivasik-k7/tfkit)](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| [![Graph Visualization](https://iili.io/KL7utRI.md.png)](https://freeimage.host/i/KL7utRI) | [![Dashboard Visualization](https://iili.io/KPV3mPa.md.png)](https://freeimage.host/i/KPV3mPa) | [![Classic Visualization](https://iili.io/KL7aYPe.md.png)](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"
}
        
Elapsed time: 0.81653s