๐ Syncable IaC CLI
AI-powered Infrastructure-as-Code generator that analyzes your codebase and automatically creates optimized Docker, Docker Compose, and Terraform configurations.
โจ Features
๐ Comprehensive Project Analysis
- Language Detection: Automatically detects JavaScript/TypeScript, Python, Rust, Go, Java/Kotlin
- Framework Recognition: Identifies 70+ frameworks including Express, React, Django, FastAPI, Spring Boot
- Dependency Analysis: Parses all package managers and extracts version constraints
- Vulnerability Scanning: Integrates with security databases for each language ecosystem
- Security Analysis: Basic secret detection and environment variable security checks
- Context Extraction: Discovers entry points, ports, environment variables, and build scripts
๐ฏ Current Capabilities (Phase 1 Complete โ )
- โ Multi-language project analysis
- โ Framework and library detection with confidence scoring
- โ Comprehensive dependency parsing
- โ Security vulnerability checking
- โ Basic security analysis with secret detection
- โ Project context analysis (ports, env vars, build scripts)
- โ Project type classification
๐ง Coming Soon (Phase 2+)
- ๐ค AI-powered Dockerfile generation
- ๐ณ Intelligent Docker Compose creation
- โ๏ธ Cloud-ready Terraform configurations
- ๐ Advanced security analysis (infrastructure, framework-specific, compliance)
- ๐ Performance optimization suggestions
๐ณ Docker Infrastructure Analysis
NEW: Comprehensive Docker infrastructure analysis and understanding:
-
Dockerfile Analysis:
- Supports all Dockerfile variants (
Dockerfile,dockerfile.dev,dockerfile.prod, etc.) - Extracts base images, exposed ports, environment variables, and build stages
- Detects multi-stage builds and complexity metrics
- Environment-specific configuration detection
- Supports all Dockerfile variants (
-
Docker Compose Analysis:
- Supports all compose file variants (
docker-compose.yml,docker-compose.dev.yaml, etc.) - Service dependency mapping and network topology analysis
- Port mapping analysis (external/internal, host/container)
- Volume mount analysis and data persistence patterns
- Supports all compose file variants (
-
Service Discovery & Networking:
- Internal DNS and service communication patterns
- Custom network analysis and service isolation
- Load balancer detection (nginx, traefik, haproxy, kong)
- API gateway identification and ingress patterns
-
Orchestration Pattern Detection:
- Single Container applications
- Docker Compose multi-service setups
- Microservices architecture patterns
- Event-driven architecture (with message queues)
- Service mesh detection (Istio, Linkerd, Envoy)
-
Monorepo Docker Support:
- Analyzes Docker configurations across multiple projects
- Maps services to their respective project contexts
- Handles compose files at repository root with project-specific Dockerfiles
๐ฆ Installation
โก Quick Install
The fastest way to get started:
Or see below for building from source.
From Source (Recommended)
# Prerequisites: Rust 1.70+ and Git
# Clone the repository
# Build and install
# Verify installation
Pre-built Binaries
Coming soon! Check the releases page.
๐ Quick Start
Analyze a Project
# Analyze current directory
# Analyze specific project
# Get JSON output
# Use different display modes (NEW!)
๐ Display Modes (NEW!)
The analyze command now offers multiple display formats:
- Matrix View (default): A modern, compact dashboard with side-by-side project comparison
- Summary View: Brief overview perfect for CI/CD pipelines
- Detailed View: Traditional verbose output with all project details
- JSON: Machine-readable format for integration with other tools
See the Display Modes Documentation for visual examples and more details.
Check for Vulnerabilities
# Run vulnerability scan
# Check only high severity and above
# Export vulnerability report
Security Analysis
# Basic security analysis with secret detection
# Include low severity findings
# Skip specific analysis types
# Generate security report
# Fail CI/CD pipeline on security findings
Current Security Features:
- โ Secret detection (API keys, tokens, passwords)
- โ Environment variable security analysis
- โ Basic code pattern analysis (limited rules)
- โ Security scoring and risk assessment
- ๐ง Infrastructure security analysis (coming soon)
- ๐ง Framework-specific security checks (coming soon)
- ๐ง Compliance framework validation (coming soon)
๐ Usage Examples
Example: Node.js Express Application
============================================================
============================================================
)
)
)
Example: Python FastAPI Service
Example: Security Analysis
============================================================
)
)
)
)
)
๐ ๏ธ Advanced Configuration
Create a .syncable.toml in your project:
[]
= true
= true
= ["vendor", "node_modules", "target"]
= 2097152 # 2MB
[]
= "json" # or "yaml", "toml"
๐งช Supported Technologies
Languages & Runtimes
- JavaScript/TypeScript (Node.js)
- Python (3.7+)
- Rust
- Go
- Java/Kotlin
Frameworks (70+ supported)
- JavaScript: Express, Next.js, React, Vue, Angular, Nest.js
- Python: Django, Flask, FastAPI, Pyramid
- Rust: Actix-web, Rocket, Axum, Warp
- Go: Gin, Echo, Fiber, Chi
- Java: Spring Boot, Micronaut, Quarkus
Package Managers
- npm, yarn, pnpm
- pip, poetry, pipenv
- cargo
- go mod
- maven, gradle
๐ค Contributing
We welcome contributions! Please see our Contributing Guide for details.
# Run tests
# Run with debug logging
RUST_LOG=debug
# Format code
# Run linter
๐ Project Status
Phase 1: Core Analysis Engine โ
- Language Detection
- Framework Detection
- Dependency Parsing
- Vulnerability Checking
- Basic Security Analysis (secret detection, env vars)
- Project Context Analysis
Phase 2: AI Integration ๐ง
- AI Provider Integration
- Smart Dockerfile Generation
- Intelligent Docker Compose
- Cloud-Ready Terraform
See ROADMAP.md for detailed progress.
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Acknowledgments
Built with โค๏ธ by the Syncable team