{"id":34944458,"url":"https://github.com/syncable-dev/syncable-cli","last_synced_at":"2026-04-04T12:58:29.737Z","repository":{"id":297517322,"uuid":"997057541","full_name":"syncable-dev/syncable-cli","owner":"syncable-dev","description":"Syncable CLI is an intelligent Infrastructure as Code generator that analyzes codebases to automatically detect languages, frameworks, and dependencies across 70+ frameworks in 5 languages (Rust, JS/TS, Python, Go, Java). It generates optimized Docker, Compose, and Terraform configs with built-in security analysis and vulnerability scanning.","archived":false,"fork":false,"pushed_at":"2026-03-28T12:39:43.000Z","size":17576,"stargazers_count":35,"open_issues_count":12,"forks_count":7,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-28T15:21:37.070Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/syncable-dev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-06-05T22:16:09.000Z","updated_at":"2026-03-28T12:39:47.000Z","dependencies_parsed_at":null,"dependency_job_id":"1f5705da-0211-44ce-8798-5d681132b7b6","html_url":"https://github.com/syncable-dev/syncable-cli","commit_stats":null,"previous_names":["syncable-dev/syncable-cli"],"tags_count":94,"template":false,"template_full_name":null,"purl":"pkg:github/syncable-dev/syncable-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syncable-dev%2Fsyncable-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syncable-dev%2Fsyncable-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syncable-dev%2Fsyncable-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syncable-dev%2Fsyncable-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/syncable-dev","download_url":"https://codeload.github.com/syncable-dev/syncable-cli/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syncable-dev%2Fsyncable-cli/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31400460,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T10:20:44.708Z","status":"ssl_error","status_checked_at":"2026-04-04T10:20:06.846Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-12-26T19:49:46.911Z","updated_at":"2026-04-04T12:58:29.732Z","avatar_url":"https://github.com/syncable-dev.png","language":"Rust","funding_links":[],"categories":["Applications"],"sub_categories":["Domain-Specific Projects"],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"logo.png\" alt=\"Syncable\" width=\"120\" /\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eSyncable CLI\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eDevOps toolbox for AI coding agents and developers\u003c/strong\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003c!-- Build \u0026 Quality --\u003e\n  \u003ca href=\"https://github.com/syncable-dev/syncable-cli/actions/workflows/ci.yml\"\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/syncable-dev/syncable-cli/ci.yml?branch=main\u0026style=flat-square\u0026label=CI\" alt=\"CI Status\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://crates.io/crates/syncable-cli\"\u003e\u003cimg src=\"https://img.shields.io/crates/v/syncable-cli?style=flat-square\u0026color=blue\" alt=\"Crates.io\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.npmjs.com/package/syncable-cli-skills\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/syncable-cli-skills?style=flat-square\u0026color=cb3837\" alt=\"npm\"\u003e\u003c/a\u003e\n  \u003cbr\u003e\n  \u003c!-- Downloads \u0026 Community --\u003e\n  \u003ca href=\"https://crates.io/crates/syncable-cli\"\u003e\u003cimg src=\"https://img.shields.io/crates/d/syncable-cli?style=flat-square\" alt=\"Downloads\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/syncable-dev/syncable-cli/stargazers\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/syncable-dev/syncable-cli?style=flat-square\" alt=\"GitHub Stars\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/syncable-dev/syncable-cli/commits/main\"\u003e\u003cimg src=\"https://img.shields.io/github/last-commit/syncable-dev/syncable-cli?style=flat-square\" alt=\"Last Commit\"\u003e\u003c/a\u003e\n  \u003cbr\u003e\n  \u003c!-- Tech Stack --\u003e\n  \u003ca href=\"https://www.gnu.org/licenses/gpl-3.0\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-GPL%20v3-blue.svg?style=flat-square\" alt=\"License\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.rust-lang.org/\"\u003e\u003cimg src=\"https://img.shields.io/badge/Rust-1.88+-orange?style=flat-square\u0026logo=rust\" alt=\"Rust 1.88+\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/syncable-dev/syncable-cli\"\u003e\u003cimg src=\"https://img.shields.io/badge/Platform-Linux%20%7C%20macOS%20%7C%20Windows-lightgrey?style=flat-square\" alt=\"Platform\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#-quick-start\"\u003eQuick Start\u003c/a\u003e •\n  \u003ca href=\"#-ai-agent-skills\"\u003eAI Agent Skills\u003c/a\u003e •\n  \u003ca href=\"#-commands\"\u003eCommands\u003c/a\u003e •\n  \u003ca href=\"#-installation\"\u003eInstallation\u003c/a\u003e •\n  \u003ca href=\"https://syncable.dev\"\u003eSyncable Platform →\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n## What is Syncable CLI?\n\nSyncable CLI (`sync-ctl`) is a DevOps toolbox that analyzes codebases, scans for security issues, validates infrastructure files, and deploys to cloud providers. It works standalone from the terminal or through **AI coding agent skills** — giving Claude Code, Codex, Gemini CLI, Cursor, and Windsurf the ability to run security scans, check for CVEs, lint Dockerfiles, and deploy services through natural conversation.\n\n## ⚡ Quick Start\n\n### For AI coding agents (recommended)\n\n```bash\nnpx syncable-cli-skills\n```\n\nThis installs 11 skills (7 command + 4 workflow) into your AI coding agent. Then just ask:\n\n- *\"assess this project\"* — full health check\n- *\"scan for security issues\"* — secrets and credential detection\n- *\"check for vulnerabilities\"* — CVE scanning across all dependencies\n- *\"validate my Dockerfiles\"* — lint IaC files\n- *\"deploy this service\"* — cloud deployment with preview\n\n### For direct CLI use\n\n```bash\ncargo install syncable-cli\nsync-ctl analyze .\n```\n\n## 🤖 AI Agent Skills\n\nOne command installs skills for all major AI coding agents:\n\n```bash\nnpx syncable-cli-skills\n```\n\n| Agent | Install Path | Format |\n|-------|-------------|--------|\n| **Claude Code** | Plugin marketplace | `SKILL.md` with plugin.json |\n| **Codex** | `~/.agents/skills/` | `SKILL.md` directories |\n| **Gemini CLI** | `~/.gemini/\u003cprofile\u003e/skills/` | `SKILL.md` directories |\n| **Cursor** | `.cursor/rules/` | `.mdc` with `alwaysApply` |\n| **Windsurf** | `.windsurf/rules/` | `.md` with `trigger: always` |\n\n### What the skills teach your agent\n\n**Command skills** — atomic wrappers around `sync-ctl` commands:\n\n| Skill | What it does |\n|-------|-------------|\n| `syncable-analyze` | Detect tech stack, languages, frameworks, dependencies |\n| `syncable-security` | Scan for secrets, hardcoded credentials, insecure patterns |\n| `syncable-vulnerabilities` | Check dependencies for known CVEs across all ecosystems |\n| `syncable-dependencies` | Audit licenses, production vs dev split, package details |\n| `syncable-validate` | Lint Dockerfiles, Compose files, K8s manifests, Helm charts, Terraform |\n| `syncable-optimize` | Analyze Kubernetes resource requests, limits, cost efficiency |\n| `syncable-platform` | Authenticate, switch projects/environments, deploy to cloud |\n\n**Workflow skills** — multi-step orchestrations with decision logic:\n\n| Skill | What it does |\n|-------|-------------|\n| `syncable-project-assessment` | Full health check: stack + security + vulnerabilities + dependencies |\n| `syncable-security-audit` | Deep pre-deployment review with paranoid-mode scanning |\n| `syncable-iac-pipeline` | Validate all IaC files + Kubernetes optimization |\n| `syncable-deploy-pipeline` | End-to-end: auth → analyze → security gate → deploy + monitor |\n\n### How it works\n\nSkills teach your AI agent to use `sync-ctl` with the `--agent` flag, which outputs compressed JSON instead of terminal formatting. The agent gets a summary with the key findings, plus a reference ID to retrieve full details on demand:\n\n```bash\n# Agent runs this (compressed output, ~2KB)\nsync-ctl security . --mode balanced --agent\n\n# Agent drills into details only when needed (paginated)\nsync-ctl retrieve \u003cref_id\u003e --query \"severity:critical\" --limit 10\n```\n\nThis keeps the agent's context window small while giving access to the full data.\n\n## 🔍 Commands\n\n### Project Analysis\n```bash\nsync-ctl analyze .                    # Human-readable matrix view\nsync-ctl analyze . --agent            # Compressed JSON for agents\n```\nDetects 260+ technologies across JavaScript, Python, Go, Rust, and Java ecosystems.\n\n### Security Scanning\n```bash\nsync-ctl security . --mode balanced   # Standard scan\nsync-ctl security . --mode paranoid   # Deep compliance audit\n```\n\n| Mode | Speed | Use Case |\n|------|-------|----------|\n| `lightning` | Fastest | Pre-commit hooks |\n| `fast` | Fast | Development |\n| `balanced` | Standard | Default |\n| `thorough` | Complete | PR reviews |\n| `paranoid` | Maximum | Compliance audits |\n\n### Vulnerability Detection\n```bash\nsync-ctl vulnerabilities .            # Scan all dependencies for CVEs\nsync-ctl vulnerabilities . --severity high  # Only high+ severity\n```\nScans npm, pip, cargo, go, and Java dependencies. Automatically discovers and scans all subdirectories in monorepos.\n\n### IaC Validation\n```bash\nsync-ctl validate .                   # Lint all IaC files\nsync-ctl validate . --types dockerfile,compose  # Specific types\nsync-ctl validate . --types compose --fix       # Auto-fix issues\n```\n\n| Linter | What it checks | Rules |\n|--------|---------------|-------|\n| **Hadolint** | Dockerfiles | 60+ rules |\n| **Dclint** | Docker Compose | 15 rules (8 auto-fixable) |\n| **Kubelint** | K8s manifests | 63+ security \u0026 best-practice checks |\n| **Helmlint** | Helm charts | 40+ rules |\n\n### Deployment\n```bash\nsync-ctl deploy preview .             # Get deployment recommendation (JSON)\nsync-ctl deploy run . --provider hetzner --port 8080 --public  # Deploy\nsync-ctl deploy status \u003ctask_id\u003e --watch  # Monitor progress\nsync-ctl deploy wizard                # Interactive wizard (for humans)\n```\n\n### Platform Management\n```bash\nsync-ctl auth login                   # Authenticate with Syncable\nsync-ctl project current              # Show current context\nsync-ctl org list                     # List organizations\nsync-ctl project select \u003cid\u003e          # Switch project\nsync-ctl env select staging           # Switch environment\n```\n\n## 📦 Installation\n\n### Cargo (recommended)\n```bash\ncargo install syncable-cli\n```\n\n### From source\n```bash\ngit clone https://github.com/syncable-dev/syncable-cli.git\ncd syncable-cli\ncargo install --path .\n```\n\n## 🌟 Supported Technologies\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003e260+ technologies across 5 ecosystems\u003c/strong\u003e\u003c/summary\u003e\n\n**JavaScript/TypeScript** — React, Vue, Angular, Next.js, Express, Nest.js, Fastify, and 40+ more\n\n**Python** — Django, Flask, FastAPI, Celery, NumPy, TensorFlow, PyTorch, and 70+ more\n\n**Go** — Gin, Echo, Fiber, gRPC, Kubernetes client, and 20+ more\n\n**Rust** — Actix-web, Axum, Rocket, Tokio, SeaORM, and 20+ more\n\n**Java/Kotlin** — Spring Boot, Micronaut, Quarkus, Hibernate, and 90+ more\n\n\u003c/details\u003e\n\n## 🚀 Syncable Platform\n\nThis CLI is the foundation of the **Syncable Platform** — a complete DevOps solution that takes you from code to production:\n\n- **One-click deployments** to AWS, GCP, Hetzner, or Azure\n- **Team collaboration** with shared environments\n- **Monitoring \u0026 logs** built-in\n- **Cost optimization** recommendations\n\n**[Get started at syncable.dev →](https://syncable.dev)**\n\n## 🤝 Contributing\n\nWe love contributions! Whether it's bug fixes, new features, or documentation improvements.\n\n```bash\ngit clone https://github.com/syncable-dev/syncable-cli.git\ncd syncable-cli\ncargo build\ncargo test\ncargo clippy \u0026\u0026 cargo fmt\n```\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines.\n\n## 📄 License\n\nThis project is licensed under the **GNU General Public License v3.0** (GPL-3.0).\n\nSee [LICENSE](LICENSE) for the full license text.\n\n### Third-Party Attributions\n\nThe Dockerfile linting functionality (`src/analyzer/hadolint/`) is a Rust translation\nof [Hadolint](https://github.com/hadolint/hadolint), originally written in Haskell by\nLukas Martinelli and contributors.\n\nThe Docker Compose linting functionality (`src/analyzer/dclint/`) is a Rust implementation\ninspired by [dclint](https://github.com/zavoloklom/docker-compose-linter) by Sergey Kupletsky.\n\nThe Kubernetes manifest linting functionality (`src/analyzer/kubelint/`) is a Rust reimplementation\ninspired by [KubeLinter](https://github.com/stackrox/kube-linter) by StackRox / Red Hat.\n\nThe Helm chart linting functionality (`src/analyzer/helmlint/`) is a Rust implementation\ninspired by the official [Helm lint](https://helm.sh/docs/helm/helm_lint/) command.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyncable-dev%2Fsyncable-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsyncable-dev%2Fsyncable-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyncable-dev%2Fsyncable-cli/lists"}