AI-powered Infrastructure-as-Code generator that analyzes your codebase and automatically creates optimized Docker, Docker Compose, and Terraform configurations.
- 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
- β 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
- π€ AI-powered Dockerfile generation
- π³ Intelligent Docker Compose creation
- βοΈ Cloud-ready Terraform configurations
- π Advanced security analysis (infrastructure, framework-specific, compliance)
- π Performance optimization suggestions
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
The fastest way to get started:
cargo install syncable-cliOr see below for building from source.
# Prerequisites: Rust 1.70+ and Git
# Clone the repository
git clone https://github.com/syncable-dev/syncable-cli.git
cd syncable-cli
# Build and install
cargo install --path .
# Verify installation
sync-ctl --versionComing soon! Check the releases page.
# Analyze current directory
sync-ctl analyze
# Analyze specific project
sync-ctl analyze /path/to/your/project
# Get JSON output
sync-ctl analyze --json > analysis.json
# Use different display modes (NEW!)
sync-ctl analyze --display matrix # Modern dashboard view (default)
sync-ctl analyze --display summary # Brief summary only
sync-ctl analyze --display detailed # Legacy verbose output
sync-ctl analyze -d # Shorthand for detailedThe 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.
# Run vulnerability scan
sync-ctl vulnerabilities /path/to/project
# Check only high severity and above
sync-ctl vulnerabilities --severity high
# Export vulnerability report
sync-ctl vulnerabilities --format json --output vuln-report.json# Basic security analysis with secret detection
sync-ctl security /path/to/project
# Include low severity findings
sync-ctl security --include-low
# Skip specific analysis types
sync-ctl security --no-secrets --no-code-patterns
# Generate security report
sync-ctl security --format json --output security-report.json
# Fail CI/CD pipeline on security findings
sync-ctl security --fail-on-findingsCurrent 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)
$ sync-ctl analyze ./my-express-app
π Analyzing project at: ./my-express-app
============================================================
π PROJECT ANALYSIS RESULTS
============================================================
π― Languages: JavaScript (Node.js 18)
π§ Frameworks: Express, React
π¦ Dependencies: 23 production, 15 development
π Exposed Ports:
- 3000 (Express server)
- 9090 (Metrics endpoint)
π Environment Variables:
Required: DATABASE_URL, SECRET_KEY
Optional: PORT, NODE_ENV, LOG_LEVEL
π¨ Build Scripts:
- npm start
- npm run dev
- npm test
- npm run build
β
Project Type: Web Application$ sync-ctl analyze ./fastapi-service --json{
"project_type": "ApiService",
"languages": [{
"name": "Python",
"version": "3.11",
"confidence": 0.95
}],
"frameworks": [{
"name": "FastAPI",
"category": "Web",
"confidence": 0.92
}],
"ports": [{ "number": 8000, "protocol": "Http" }],
"environment_variables": [
{ "name": "DATABASE_URL", "required": true },
{ "name": "REDIS_URL", "required": false }
]
}$ sync-ctl security ./my-project
π‘οΈ Finalizing analysis... [00:00:01] β°β°β°β°β°β°β°β°β°β°β°β°β°β°β°β°β°β°β°β° 100/100 100%
π‘οΈ Security Analysis Results
============================================================
π SECURITY SUMMARY
β
Security Score: 100.0/100
π ANALYSIS SCOPE
β
Secret Detection (5 files analyzed)
β
Environment Variables (3 variables checked)
βΉοΈ Code Security Patterns (no applicable files found)
π§ Infrastructure Security (coming soon)
π§ Compliance Frameworks (coming soon)
π― FINDINGS BY CATEGORY
π Secret Detection: 0 findings
π Code Security: 0 findings
ποΈ Infrastructure: 0 findings
π Compliance: 0 findings
π‘ RECOMMENDATIONS
β’ Enable dependency vulnerability scanning in CI/CD
β’ Consider implementing rate limiting for API endpoints
β’ Review environment variable security practicesCreate a .syncable.toml in your project:
[analysis]
include_dev_dependencies = true
deep_analysis = true
ignore_patterns = ["vendor", "node_modules", "target"]
max_file_size = 2097152 # 2MB
[output]
format = "json" # or "yaml", "toml"- JavaScript/TypeScript (Node.js)
- Python (3.7+)
- Rust
- Go
- Java/Kotlin
- 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
- npm, yarn, pnpm
- pip, poetry, pipenv
- cargo
- go mod
- maven, gradle
We welcome contributions! Please see our Contributing Guide for details.
# Run tests
cargo test
# Run with debug logging
RUST_LOG=debug cargo run -- analyze ./test-project
# Format code
cargo fmt
# Run linter
cargo clippy- Language Detection
- Framework Detection
- Dependency Parsing
- Vulnerability Checking
- Basic Security Analysis (secret detection, env vars)
- Project Context Analysis
- AI Provider Integration
- Smart Dockerfile Generation
- Intelligent Docker Compose
- Cloud-Ready Terraform
See ROADMAP.md for detailed progress.
This project is licensed under the MIT License - see the LICENSE file for details.
Built with β€οΈ by the Syncable team