Crates.io | syncable-cli |
lib.rs | syncable-cli |
version | 0.13.4 |
created_at | 2025-06-05 22:52:40.095976+00 |
updated_at | 2025-08-10 21:45:18.610778+00 |
description | A Rust-based CLI that analyzes code repositories and generates Infrastructure as Code configurations |
homepage | |
repository | https://github.com/syncable-dev/syncable-cli |
max_upload_size | |
id | 1702447 |
size | 1,390,145 |
Automatically generate optimized Docker, Kubernetes, and cloud infrastructure configurations by analyzing your codebase.
Syncable IaC CLI analyzes your project and automatically generates production-ready infrastructure configurations. Supporting 260+ technologies across 5 major language ecosystems, it understands your stack and creates optimized IaC files tailored to your specific needs.
# Install (Cross-platform)
cargo install syncable-cli
# Windows users can also use:
# powershell -c "iwr -useb https://raw.githubusercontent.com/syncable-dev/syncable-cli/main/install.ps1 | iex"
# Analyze any project
sync-ctl analyze /path/to/your/project # Unix/Linux/macOS
sync-ctl analyze C:\path\to\your\project # Windows
# Check for vulnerabilities
sync-ctl vulnerabilities
# Run security analysis (multiple modes available)
sync-ctl security # Thorough scan (default)
sync-ctl security --mode lightning # Ultra-fast critical files only
sync-ctl security --mode paranoid # Most comprehensive scan
# Force update check (clears cache)
sync-ctl --clear-update-cache analyze .
# Get help with any command
sync-ctl --help # Show all available commands
sync-ctl analyze --help # Show analyze command options
sync-ctl security --help # Show security scanning options
sync-ctl vulnerabilities --help # Show vulnerability check options
That's it! The CLI will detect your languages, frameworks, dependencies, and provide detailed insights about your project structure. The tool includes smart update notifications to keep you on the latest version.
Syncable IaC CLI is like having a DevOps expert analyze your codebase:
$ sync-ctl analyze ./my-express-app
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ PROJECT ANALYSIS DASHBOARD
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโ Architecture Overview โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Type: Single Project โ
โ Pattern: Fullstack โ
โ Full-stack app with frontend/backend separation โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโ Technology Stack โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Languages: JavaScript, TypeScript โ
โ Frameworks: Express, React, Tailwind CSS โ
โ Databases: PostgreSQL, Redis โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
cargo install syncable-cli
curl -sSL https://install.syncable.dev | sh
# Download and run the PowerShell installer
iwr -useb https://raw.githubusercontent.com/syncable-dev/syncable-cli/main/install.ps1 | iex
# Or download first and run (safer)
Invoke-WebRequest -Uri https://raw.githubusercontent.com/syncable-dev/syncable-cli/main/install.ps1 -OutFile install.ps1
powershell -ExecutionPolicy Bypass -File install.ps1
git clone https://github.com/syncable-dev/syncable-cli.git
cd syncable-cli
cargo install --path .
Windows Users:
%USERPROFILE%\.cargo\bin
- add to PATH if neededLinux/macOS Users:
~/.local/bin
which may need to be added to your PATH# Analyze with different display formats
sync-ctl analyze # Matrix view (default)
sync-ctl analyze --display detailed # Detailed view
sync-ctl analyze --json # JSON output
# Vulnerabilities analysis
sync-ctl vulnerabilities # Dependency vulnerability scan
# Security analysis with turbo engine (10-100x faster)
sync-ctl security # Thorough scan (default)
sync-ctl security --mode lightning # Critical files only (.env, configs)
sync-ctl security --mode fast # Smart sampling with priority patterns
sync-ctl security --mode balanced # Good coverage with optimizations
sync-ctl security --mode paranoid # Most comprehensive including low-severity
sync-ctl vulnerabilities # Dependency vulnerability scan
# Dependency analysis
sync-ctl dependencies --licenses # Show license information
sync-ctl dependencies --vulnerabilities # Check for known CVEs
The turbo security engine offers 5 scan modes optimized for different use cases:
Mode | Speed | Coverage | Use Case | Typical Time |
---|---|---|---|---|
Lightning | ๐ Fastest | Critical files only | Pre-commit hooks, CI checks | |
Fast | โก Very Fast | Smart sampling | Development workflow | |
Balanced | ๐ฏ Optimized | Good coverage | Regular security checks | |
Thorough | ๐ Complete | Comprehensive | Security audits (default) | |
Paranoid | ๐ต๏ธ Maximum | Everything + low severity | Compliance, releases |
The turbo security engine scans for 260+ secret patterns across multiple categories:
Our security engine provides intelligent risk assessment based on git status:
Status | Risk Level | Meaning | Action Needed |
---|---|---|---|
๐ข SAFE | Low | File properly ignored by .gitignore | โ No action needed |
๐ต OK | Low | File appears safe for version control | โ Monitor for changes |
๐ก EXPOSED | High | Contains secrets but NOT in .gitignore | โ ๏ธ Add to .gitignore immediately |
๐ด TRACKED | Critical | Contains secrets AND tracked by git | ๐จ Remove from git history |
Files are marked as OK when they contain patterns that look like secrets but are actually safe:
package-lock.json
, pnpm-lock.yaml
, cargo.lock
Our engine uses sophisticated techniques to minimize false positives:
# โ FALSE POSITIVE - Will be ignored
const API_KEY = "your_api_key_here"; // Documentation example
const EXAMPLE_TOKEN = "sk-example123"; // Clearly a placeholder
# โ
REAL SECRET - Will be detected
const STRIPE_KEY = "sk_live_4eC39HqLyjWDarjtT1zdp7dc";
//
, #
, /* */
, <!-- -->
)/test/
, /tests/
, /spec/
, __test__
directoriesnode_modules/
, vendor/
, target/
yarn.lock
, pnpm-lock.yaml
, go.sum
Choose the output format that works best for you:
$ sync-ctl security --mode thorough
๐ก๏ธ Security Analysis Results
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโ Security Summary โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Overall Score: 85/100 โ
โ Risk Level: High โ
โ Total Findings: 3 โ
โ Files Analyzed: 47 โ
โ Scan Mode: Thorough โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโ Security Findings โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 1. ./.env.local โ
โ Type: ENV VAR | Severity: Critical | Position: 3:15 | Status: EXPOSED โ
โ โ
โ 2. ./config/database.js โ
โ Type: API KEY | Severity: High | Position: 12:23 | Status: TRACKED โ
โ โ
โ 3. ./docs/api-example.md โ
โ Type: API KEY | Severity: Critical | Position: 45:8 | Status: OK โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโ Key Recommendations โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 1. ๐จ Add .env.local to .gitignore immediately โ
โ 2. ๐ Move database credentials to environment variables โ
โ 3. โ
API example in docs is safely documented โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Create .syncable.toml
in your project root:
[analysis]
include_dev_dependencies = true
ignore_patterns = ["vendor", "node_modules", "target"]
[security]
# Scan configuration
default_mode = "thorough" # Default scan mode
fail_on_high_severity = true # Exit with error on high/critical findings
check_secrets = true # Enable secret detection
check_code_patterns = true # Enable code security pattern analysis
# Performance tuning
max_file_size_mb = 10 # Skip files larger than 10MB
worker_threads = 0 # Auto-detect CPU cores (0 = auto)
enable_cache = true # Enable result caching
cache_size_mb = 100 # Cache size limit
# Pattern filtering
priority_extensions = [ # Scan these extensions first
"env", "key", "pem", "json", "yml", "yaml",
"toml", "ini", "conf", "config"
]
# Scan mode selection
sync-ctl security --mode lightning # Fastest, critical files only
sync-ctl security --mode paranoid # Slowest, most comprehensive
# Output control
sync-ctl security --json # JSON output for automation
sync-ctl security --output report.json # Save to file
# Filtering options
sync-ctl security --include-low # Include low-severity findings
sync-ctl security --no-secrets # Skip secret detection
sync-ctl security --no-code-patterns # Skip code pattern analysis
# CI/CD integration
sync-ctl security --fail-on-findings # Exit with error code if issues found
We welcome contributions! See CONTRIBUTING.md for guidelines.
# Run tests
cargo test
# Check code quality
cargo clippy
# Format code
cargo fmt
MIT License - see LICENSE for details.
Built with Rust ๐ฆ and powered by the open-source community.
Need help? Check our documentation or open an issue.