Skip to content

Commit 28b9402

Browse files
authored
Merge pull request #313 from syncable-dev/develop
Develop
2 parents feb8680 + f9b33bc commit 28b9402

3 files changed

Lines changed: 135 additions & 130 deletions

File tree

README.md

Lines changed: 114 additions & 126 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55
<h1 align="center">Syncable CLI</h1>
66

77
<p align="center">
8-
<strong>Your AI-Powered DevOps Engineer in the Terminal</strong>
8+
<strong>DevOps toolbox for AI coding agents and developers</strong>
99
</p>
1010

1111
<p align="center">
1212
<!-- Build & Quality -->
1313
<a href="https://github.com/syncable-dev/syncable-cli/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/syncable-dev/syncable-cli/ci.yml?branch=main&style=flat-square&label=CI" alt="CI Status"></a>
1414
<a href="https://crates.io/crates/syncable-cli"><img src="https://img.shields.io/crates/v/syncable-cli?style=flat-square&color=blue" alt="Crates.io"></a>
15-
<a href="https://docs.rs/syncable-cli"><img src="https://img.shields.io/docsrs/syncable-cli?style=flat-square&label=docs.rs" alt="docs.rs"></a>
15+
<a href="https://www.npmjs.com/package/syncable-cli-skills"><img src="https://img.shields.io/npm/v/syncable-cli-skills?style=flat-square&color=cb3837" alt="npm"></a>
1616
<br>
1717
<!-- Downloads & Community -->
1818
<a href="https://crates.io/crates/syncable-cli"><img src="https://img.shields.io/crates/d/syncable-cli?style=flat-square" alt="Downloads"></a>
@@ -21,169 +21,173 @@
2121
<br>
2222
<!-- Tech Stack -->
2323
<a href="https://www.gnu.org/licenses/gpl-3.0"><img src="https://img.shields.io/badge/License-GPL%20v3-blue.svg?style=flat-square" alt="License"></a>
24-
<a href="https://www.rust-lang.org/"><img src="https://img.shields.io/badge/Rust-1.85+-orange?style=flat-square&logo=rust" alt="Rust 1.85+"></a>
24+
<a href="https://www.rust-lang.org/"><img src="https://img.shields.io/badge/Rust-1.88+-orange?style=flat-square&logo=rust" alt="Rust 1.88+"></a>
2525
<a href="https://github.com/syncable-dev/syncable-cli"><img src="https://img.shields.io/badge/Platform-Linux%20%7C%20macOS%20%7C%20Windows-lightgrey?style=flat-square" alt="Platform"></a>
2626
</p>
2727

2828
<p align="center">
2929
<a href="#-quick-start">Quick Start</a> •
30-
<a href="#-ai-agent">AI Agent</a> •
31-
<a href="#-features">Features</a> •
30+
<a href="#-ai-agent-skills">AI Agent Skills</a> •
31+
<a href="#-commands">Commands</a> •
3232
<a href="#-installation">Installation</a> •
3333
<a href="https://syncable.dev">Syncable Platform →</a>
3434
</p>
3535

3636
---
3737

38-
> **🚀 Ready to deploy?** Take your infrastructure to production with [Syncable Platform](https://syncable.dev) — seamless cloud deployments, monitoring, and team collaboration built on top of this CLI.
39-
40-
---
41-
4238
## What is Syncable CLI?
4339

44-
**Stop copy-pasting Dockerfiles from Stack Overflow.** Syncable CLI is an AI-powered assistant that understands your codebase and generates production-ready infrastructure — Dockerfiles, Kubernetes manifests, Terraform configs, and CI/CD pipelines — tailored specifically to your project.
45-
46-
<p align="center">
47-
<img src="syncable-cli-demo.gif" alt="Syncable CLI Demo" width="800" />
48-
</p>
40+
Syncable 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.
4941

5042
## ⚡ Quick Start
5143

44+
### For AI coding agents (recommended)
45+
5246
```bash
53-
# Install
54-
cargo install syncable-cli
47+
npx syncable-cli-skills
48+
```
49+
50+
This installs 11 skills (7 command + 4 workflow) into your AI coding agent. Then just ask:
5551

56-
# Start the AI Agent
57-
sync-ctl chat
52+
- *"assess this project"* — full health check
53+
- *"scan for security issues"* — secrets and credential detection
54+
- *"check for vulnerabilities"* — CVE scanning across all dependencies
55+
- *"validate my Dockerfiles"* — lint IaC files
56+
- *"deploy this service"* — cloud deployment with preview
5857

59-
# Or run a quick analysis
58+
### For direct CLI use
59+
60+
```bash
61+
cargo install syncable-cli
6062
sync-ctl analyze .
6163
```
6264

63-
That's it. The agent analyzes your codebase, understands your stack, and helps you build infrastructure that actually works.
65+
## 🤖 AI Agent Skills
6466

65-
## 🤖 AI Agent
67+
One command installs skills for all major AI coding agents:
6668

67-
The Syncable Agent is like having a senior DevOps engineer available 24/7. It can:
69+
```bash
70+
npx syncable-cli-skills
71+
```
6872

69-
### Generate Infrastructure
70-
- **Dockerfiles** — Optimized multi-stage builds for any language
71-
- **Docker Compose** — Full local development environments
72-
- **Kubernetes** — Deployments, services, ingress, and more
73-
- **Terraform** — Cloud infrastructure as code
74-
- **CI/CD** — GitHub Actions, GitLab CI, Jenkins pipelines
73+
| Agent | Install Path | Format |
74+
|-------|-------------|--------|
75+
| **Claude Code** | Plugin marketplace | `SKILL.md` with plugin.json |
76+
| **Codex** | `~/.agents/skills/` | `SKILL.md` directories |
77+
| **Gemini CLI** | `~/.gemini/<profile>/skills/` | `SKILL.md` directories |
78+
| **Cursor** | `.cursor/rules/` | `.mdc` with `alwaysApply` |
79+
| **Windsurf** | `.windsurf/rules/` | `.md` with `trigger: always` |
7580

76-
### Understand Your Code
77-
- Detects **260+ technologies** across JavaScript, Python, Go, Rust, and Java
78-
- Identifies architecture patterns (monolith, microservices, serverless)
79-
- Maps service dependencies and port configurations
80-
- Reads your existing configs and improves them
81+
### What the skills teach your agent
8182

82-
### 🔌 VS Code Integration (Recommended)
83+
**Command skills** — atomic wrappers around `sync-ctl` commands:
8384

84-
For the best experience, install the **Syncable IDE Companion** extension:
85+
| Skill | What it does |
86+
|-------|-------------|
87+
| `syncable-analyze` | Detect tech stack, languages, frameworks, dependencies |
88+
| `syncable-security` | Scan for secrets, hardcoded credentials, insecure patterns |
89+
| `syncable-vulnerabilities` | Check dependencies for known CVEs across all ecosystems |
90+
| `syncable-dependencies` | Audit licenses, production vs dev split, package details |
91+
| `syncable-validate` | Lint Dockerfiles, Compose files, K8s manifests, Helm charts, Terraform |
92+
| `syncable-optimize` | Analyze Kubernetes resource requests, limits, cost efficiency |
93+
| `syncable-platform` | Authenticate, switch projects/environments, deploy to cloud |
8594

86-
```bash
87-
code --install-extension syncable.syncable-ide-companion
88-
```
95+
**Workflow skills** — multi-step orchestrations with decision logic:
96+
97+
| Skill | What it does |
98+
|-------|-------------|
99+
| `syncable-project-assessment` | Full health check: stack + security + vulnerabilities + dependencies |
100+
| `syncable-security-audit` | Deep pre-deployment review with paranoid-mode scanning |
101+
| `syncable-iac-pipeline` | Validate all IaC files + Kubernetes optimization |
102+
| `syncable-deploy-pipeline` | End-to-end: auth → analyze → security gate → deploy + monitor |
103+
104+
### How it works
89105

90-
This enables:
91-
- **Native diff views** — Review file changes side-by-side in VS Code
92-
- **One-click accept/reject** — Accept with `Cmd+S` or reject changes easily
93-
- **Auto-detection** — Works automatically when running `sync-ctl chat` in VS Code's terminal
106+
Skills 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:
94107

95-
> Without the extension, the agent still works but shows diffs in the terminal instead.
108+
```bash
109+
# Agent runs this (compressed output, ~2KB)
110+
sync-ctl security . --mode balanced --agent
96111

97-
### Chat Commands
98-
| Command | Description |
99-
|---------|-------------|
100-
| `/model` | Switch AI model (GPT-4, Claude, etc.) |
101-
| `/provider` | Switch between OpenAI and Anthropic |
102-
| `/clear` | Clear conversation history |
103-
| `/help` | Show available commands |
112+
# Agent drills into details only when needed (paginated)
113+
sync-ctl retrieve <ref_id> --query "severity:critical" --limit 10
114+
```
104115

105-
### Keyboard Shortcuts
106-
| Shortcut | Action |
107-
|----------|--------|
108-
| `Ctrl+J` | Insert newline (multi-line input) |
109-
| `Shift+Enter` | Insert newline |
110-
| `@filename` | Add file to context |
111-
| `Ctrl+C` | Cancel / Exit |
116+
This keeps the agent's context window small while giving access to the full data.
112117

113-
## 🔍 Features
118+
## 🔍 Commands
114119

115120
### Project Analysis
116121
```bash
117-
sync-ctl analyze .
122+
sync-ctl analyze . # Human-readable matrix view
123+
sync-ctl analyze . --agent # Compressed JSON for agents
118124
```
119-
Get a complete breakdown of your project — languages, frameworks, databases, ports, and architecture patterns.
125+
Detects 260+ technologies across JavaScript, Python, Go, Rust, and Java ecosystems.
120126

121127
### Security Scanning
122128
```bash
123-
sync-ctl security
129+
sync-ctl security . --mode balanced # Standard scan
130+
sync-ctl security . --mode paranoid # Deep compliance audit
124131
```
125-
Blazing-fast secret detection powered by Rust. Finds API keys, tokens, and credentials in seconds, not minutes.
126132

127133
| Mode | Speed | Use Case |
128134
|------|-------|----------|
129-
| `--mode lightning` | 🚀 Fastest | Pre-commit hooks |
130-
| `--mode fast` | ⚡ Fast | Development |
131-
| `--mode thorough` | 🔍 Complete | Security audits |
132-
| `--mode paranoid` | 🕵️ Maximum | Compliance |
135+
| `lightning` | Fastest | Pre-commit hooks |
136+
| `fast` | Fast | Development |
137+
| `balanced` | Standard | Default |
138+
| `thorough` | Complete | PR reviews |
139+
| `paranoid` | Maximum | Compliance audits |
133140

134-
### Vulnerability Checking
141+
### Vulnerability Detection
135142
```bash
136-
sync-ctl vulnerabilities
143+
sync-ctl vulnerabilities . # Scan all dependencies for CVEs
144+
sync-ctl vulnerabilities . --severity high # Only high+ severity
137145
```
138-
Scan your dependencies for known CVEs across npm, pip, cargo, and more.
146+
Scans npm, pip, cargo, go, and Java dependencies. Automatically discovers and scans all subdirectories in monorepos.
139147

140-
## 📦 Installation
141-
142-
### Cargo (Recommended)
148+
### IaC Validation
143149
```bash
144-
cargo install syncable-cli
150+
sync-ctl validate . # Lint all IaC files
151+
sync-ctl validate . --types dockerfile,compose # Specific types
152+
sync-ctl validate . --types compose --fix # Auto-fix issues
145153
```
146154

147-
### Linux/macOS
148-
```bash
149-
curl -sSL https://install.syncable.dev | sh
150-
```
155+
| Linter | What it checks | Rules |
156+
|--------|---------------|-------|
157+
| **Hadolint** | Dockerfiles | 60+ rules |
158+
| **Dclint** | Docker Compose | 15 rules (8 auto-fixable) |
159+
| **Kubelint** | K8s manifests | 63+ security & best-practice checks |
160+
| **Helmlint** | Helm charts | 40+ rules |
151161

152-
### Windows
153-
```powershell
154-
iwr -useb https://raw.githubusercontent.com/syncable-dev/syncable-cli/main/install.ps1 | iex
162+
### Deployment
163+
```bash
164+
sync-ctl deploy preview . # Get deployment recommendation (JSON)
165+
sync-ctl deploy run . --provider hetzner --port 8080 --public # Deploy
166+
sync-ctl deploy status <task_id> --watch # Monitor progress
167+
sync-ctl deploy wizard # Interactive wizard (for humans)
155168
```
156169

157-
### From Source
170+
### Platform Management
158171
```bash
159-
git clone https://github.com/syncable-dev/syncable-cli.git
160-
cd syncable-cli
161-
cargo install --path .
172+
sync-ctl auth login # Authenticate with Syncable
173+
sync-ctl project current # Show current context
174+
sync-ctl org list # List organizations
175+
sync-ctl project select <id> # Switch project
176+
sync-ctl env select staging # Switch environment
162177
```
163178
164-
## 🔧 Configuration
179+
## 📦 Installation
165180
166-
### AI Provider Setup
181+
### Cargo (recommended)
167182
```bash
168-
# OpenAI
169-
export OPENAI_API_KEY="sk-..."
170-
171-
# Anthropic
172-
export ANTHROPIC_API_KEY="sk-ant-..."
183+
cargo install syncable-cli
173184
```
174185
175-
### Project Config (`.syncable.toml`)
176-
```toml
177-
[agent]
178-
default_provider = "anthropic"
179-
default_model = "claude-sonnet-4-20250514"
180-
181-
[security]
182-
default_mode = "thorough"
183-
fail_on_high_severity = true
184-
185-
[analysis]
186-
ignore_patterns = ["node_modules", "target", "dist"]
186+
### From source
187+
```bash
188+
git clone https://github.com/syncable-dev/syncable-cli.git
189+
cd syncable-cli
190+
cargo install --path .
187191
```
188192
189193
## 🌟 Supported Technologies
@@ -203,11 +207,11 @@ ignore_patterns = ["node_modules", "target", "dist"]
203207
204208
</details>
205209
206-
## 🚀 What's Next?
210+
## 🚀 Syncable Platform
207211
208212
This CLI is the foundation of the **Syncable Platform** — a complete DevOps solution that takes you from code to production:
209213
210-
- **One-click deployments** to AWS, GCP, or Azure
214+
- **One-click deployments** to AWS, GCP, Hetzner, or Azure
211215
- **Team collaboration** with shared environments
212216
- **Monitoring & logs** built-in
213217
- **Cost optimization** recommendations
@@ -219,15 +223,10 @@ This CLI is the foundation of the **Syncable Platform** — a complete DevOps so
219223
We love contributions! Whether it's bug fixes, new features, or documentation improvements.
220224
221225
```bash
222-
# Clone and build
223226
git clone https://github.com/syncable-dev/syncable-cli.git
224227
cd syncable-cli
225228
cargo build
226-
227-
# Run tests
228229
cargo test
229-
230-
# Check code quality
231230
cargo clippy && cargo fmt
232231
```
233232
@@ -246,21 +245,10 @@ of [Hadolint](https://github.com/hadolint/hadolint), originally written in Haske
246245
Lukas Martinelli and contributors.
247246
248247
The Docker Compose linting functionality (`src/analyzer/dclint/`) is a Rust implementation
249-
inspired by [docker-compose-linter](https://github.com/zavoloklom/docker-compose-linter)
250-
by Sergey Suspended.
251-
252-
See [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md) for full attribution details.
253-
254-
---
248+
inspired by [dclint](https://github.com/zavoloklom/docker-compose-linter) by Sergey Kupletsky.
255249
256-
<p align="center">
257-
<strong>Built with 🦀 Rust</strong>
258-
<br>
259-
<a href="https://github.com/syncable-dev/syncable-cli">GitHub</a> •
260-
<a href="https://syncable.dev">Website</a> •
261-
<a href="https://github.com/syncable-dev/syncable-cli/issues">Issues</a>
262-
</p>
250+
The Kubernetes manifest linting functionality (`src/analyzer/kubelint/`) is a Rust reimplementation
251+
inspired by [KubeLinter](https://github.com/stackrox/kube-linter) by StackRox / Red Hat.
263252
264-
<p align="center">
265-
<a href="https://github.com/syncable-dev/syncable-cli"><img src="https://img.shields.io/github/stars/syncable-dev/syncable-cli?style=social" alt="GitHub stars"></a>
266-
</p>
253+
The Helm chart linting functionality (`src/analyzer/helmlint/`) is a Rust implementation
254+
inspired by the official [Helm lint](https://helm.sh/docs/helm/helm_lint/) command.

src/cli.rs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ use std::path::PathBuf;
44
#[derive(Parser)]
55
#[command(name = "sync-ctl")]
66
#[command(version = env!("CARGO_PKG_VERSION"))]
7-
#[command(about = "Generate Infrastructure as Code from your codebase")]
7+
#[command(about = "DevOps CLI toolbox for AI coding agents and developers")]
88
#[command(
9-
long_about = "A powerful CLI tool that analyzes your codebase and automatically generates optimized Infrastructure as Code configurations including Dockerfiles, Docker Compose files, and Terraform configurations"
9+
long_about = "Analyze tech stacks, scan for security issues and CVEs, validate IaC files, optimize Kubernetes resources, and deploy to cloud providers. Works standalone or through AI coding agent skills (Claude Code, Codex, Gemini CLI, Cursor, Windsurf)."
1010
)]
1111
pub struct Cli {
1212
#[command(subcommand)]
@@ -361,7 +361,8 @@ pub enum Commands {
361361
offset: usize,
362362
},
363363

364-
/// Start an interactive AI chat session to analyze and understand your project
364+
/// [DEPRECATED] Start an interactive AI chat session. Use AI coding agent skills instead.
365+
#[command(hide = true)]
365366
Chat {
366367
/// Path to the project directory (default: current directory)
367368
#[arg(value_name = "PROJECT_PATH", default_value = ".")]
@@ -430,7 +431,8 @@ pub enum Commands {
430431
command: Option<DeployCommand>,
431432
},
432433

433-
/// Run as dedicated AG-UI agent server (headless mode for containers)
434+
/// [DEPRECATED] Run as dedicated AG-UI agent server. Use AI coding agent skills instead.
435+
#[command(hide = true)]
434436
Agent {
435437
/// Path to the project directory
436438
#[arg(value_name = "PROJECT_PATH", default_value = ".")]

0 commit comments

Comments
 (0)