Skip to content

Commit aca7cf2

Browse files
authored
Develop (#44)
* HOTFIX - hoping auto update becomes available * feat: improved README.md * feat: Updating auto update rules, and general experience
1 parent 7f3f2f9 commit aca7cf2

4 files changed

Lines changed: 260 additions & 47 deletions

File tree

README.md

Lines changed: 111 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# 🚀 Syncable IaC CLI
22

3+
> Automatically generate optimized Docker, Kubernetes, and cloud infrastructure configurations by analyzing your codebase.
34
> Automatically generate optimized Docker, Kubernetes, and cloud infrastructure configurations by analyzing your codebase.
45
56
[![Rust](https://img.shields.io/badge/rust-%23000000.svg?style=for-the-badge&logo=rust&logoColor=white)](https://www.rust-lang.org/)
@@ -8,12 +9,20 @@
89

910
**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.
1011

12+
## ⚡ Quick Start
13+
[![Crates.io Downloads](https://img.shields.io/crates/d/syncable-cli)](https://crates.io/crates/syncable-cli)
14+
15+
**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.
16+
1117
## ⚡ Quick Start
1218

1319
```bash
1420
# Install
21+
# Install
1522
cargo install syncable-cli
1623

24+
# Analyze any project
25+
1726
# Analyze any project
1827
sync-ctl analyze /path/to/your/project
1928

@@ -22,9 +31,12 @@ sync-ctl vulnerabilities
2231

2332
# Run security analysis
2433
sync-ctl security
34+
35+
# Force update check (clears cache)
36+
sync-ctl --clear-update-cache analyze .
2537
```
2638

27-
That's it! The CLI will detect your languages, frameworks, dependencies, and provide detailed insights about your project structure.
39+
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.
2840

2941
## 🎯 What It Does
3042

@@ -76,6 +88,12 @@ $ sync-ctl analyze ./my-express-app
7688
- **Service mapping** - Traces dependencies between containers
7789
- **Network topology** - Visualizes service communication
7890

91+
### 🔄 Smart Update System
92+
- **Intelligent caching** - Checks every 2 hours when no update available
93+
- **Immediate notifications** - Shows updates instantly when available
94+
- **Clear instructions** - Provides multiple update methods with step-by-step guidance
95+
- **Zero-maintenance** - Automatically keeps you informed of new releases
96+
7997
## 🛠️ Installation
8098

8199
### Via Cargo (Recommended)
@@ -92,6 +110,19 @@ cargo install --path .
92110

93111
## 📖 Usage Guide
94112

113+
### Basic Commands
114+
cargo install syncable-cli
115+
```
116+
117+
### From Source
118+
```bash
119+
git clone https://github.com/syncable-dev/syncable-cli.git
120+
cd syncable-cli
121+
cargo install --path .
122+
```
123+
124+
## 📖 Usage Guide
125+
95126
### Basic Commands
96127

97128
```bash
@@ -118,8 +149,33 @@ Choose the output format that works best for you:
118149
- **Summary** - Brief overview for CI/CD
119150
- **JSON** - Machine-readable format
120151

152+
### Advanced Configuration
153+
# Analyze with different display formats
154+
sync-ctl analyze # Matrix view (default)
155+
sync-ctl analyze --display detailed # Detailed view
156+
sync-ctl analyze --json # JSON output
157+
158+
# Security & vulnerability checks
159+
sync-ctl security # Comprehensive security analysis
160+
sync-ctl vulnerabilities # Dependency vulnerability scan
161+
162+
# Dependency analysis
163+
sync-ctl dependencies --licenses # Show license information
164+
sync-ctl dependencies --vulnerabilities # Check for known CVEs
165+
```
166+
167+
### Display Modes
168+
169+
Choose the output format that works best for you:
170+
171+
- **Matrix** (default) - Compact dashboard view
172+
- **Detailed** - Comprehensive vertical layout
173+
- **Summary** - Brief overview for CI/CD
174+
- **JSON** - Machine-readable format
175+
121176
### Advanced Configuration
122177
178+
Create `.syncable.toml` in your project root:
123179
Create `.syncable.toml` in your project root:
124180
125181
```toml
@@ -172,31 +228,85 @@ check_secrets = true
172228
- CI/CD pipeline generation
173229
- Real-time monitoring setup
174230

231+
[security]
232+
fail_on_high_severity = true
233+
check_secrets = true
234+
```
235+
236+
## 🌟 Technology Coverage
237+
238+
<details>
239+
<summary><b>View Supported Technologies (260+)</b></summary>
240+
241+
### By Language
242+
243+
- **JavaScript/TypeScript** (46) - React, Vue, Angular, Next.js, Express, Nest.js, and more
244+
- **Python** (76) - Django, Flask, FastAPI, NumPy, TensorFlow, PyTorch, and more
245+
- **Java/JVM** (98) - Spring Boot, Micronaut, Hibernate, Kafka, Elasticsearch, and more
246+
- **Go** (21) - Gin, Echo, Fiber, gRPC, Kubernetes client, and more
247+
- **Rust** (20) - Actix-web, Axum, Rocket, Tokio, SeaORM, and more
248+
249+
### Package Managers
250+
- npm, yarn, pnpm, bun (JavaScript)
251+
- pip, poetry, pipenv, conda (Python)
252+
- Maven, Gradle (Java)
253+
- Cargo (Rust)
254+
- Go modules (Go)
255+
256+
</details>
257+
258+
## 🚀 Roadmap
259+
260+
### ✅ Phase 1: Analysis Engine (Complete)
261+
- Project analysis and technology detection
262+
- Vulnerability scanning
263+
- Basic security analysis
264+
265+
### 🔄 Phase 2: AI-Powered Generation (In Progress)
266+
- Smart Dockerfile generation
267+
- Intelligent Docker Compose creation
268+
- Cloud-optimized configurations
269+
270+
### 📅 Future Phases
271+
- Kubernetes manifests & Helm charts
272+
- Terraform modules for AWS/GCP/Azure
273+
- CI/CD pipeline generation
274+
- Real-time monitoring setup
275+
175276
## 🤝 Contributing
176277
278+
We welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
177279
We welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
178280
179281
```bash
180282
# Run tests
181283
cargo test
182284
285+
# Check code quality
286+
cargo clippy
183287
# Check code quality
184288
cargo clippy
185289
186290
# Format code
187291
cargo fmt
188292
```
293+
```
189294
190295
## 📄 License
191296
297+
MIT License - see [LICENSE](LICENSE) for details.
192298
MIT License - see [LICENSE](LICENSE) for details.
193299
194300
## 🙏 Acknowledgments
195301
302+
Built with Rust 🦀 and powered by the open-source community.
196303
Built with Rust 🦀 and powered by the open-source community.
197304
198305
---
199306
200307
**Need help?** Check our [documentation](https://github.com/syncable-dev/syncable-cli/wiki) or [open an issue](https://github.com/syncable-dev/syncable-cli/issues).
201308
202309
[![Star on GitHub](https://img.shields.io/github/stars/syncable-dev/syncable-cli?style=social)](https://github.com/syncable-dev/syncable-cli)
310+
**Need help?** Check our [documentation](https://github.com/syncable-dev/syncable-cli/wiki) or [open an issue](https://github.com/syncable-dev/syncable-cli/issues).
311+
312+
[![Star on GitHub](https://img.shields.io/github/stars/syncable-dev/syncable-cli?style=social)](https://github.com/syncable-dev/syncable-cli)

src/analyzer/display.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -48,15 +48,15 @@ impl ContentLine {
4848
}
4949

5050
/// Box drawer that pre-calculates optimal dimensions
51-
struct BoxDrawer {
51+
pub struct BoxDrawer {
5252
title: String,
5353
lines: Vec<ContentLine>,
5454
min_width: usize,
5555
max_width: usize,
5656
}
5757

5858
impl BoxDrawer {
59-
fn new(title: &str) -> Self {
59+
pub fn new(title: &str) -> Self {
6060
Self {
6161
title: title.to_string(),
6262
lines: Vec::new(),
@@ -65,15 +65,15 @@ impl BoxDrawer {
6565
}
6666
}
6767

68-
fn add_line(&mut self, label: &str, value: &str, label_colored: bool) {
68+
pub fn add_line(&mut self, label: &str, value: &str, label_colored: bool) {
6969
self.lines.push(ContentLine::new(label, value, label_colored));
7070
}
7171

72-
fn add_value_only(&mut self, value: &str) {
72+
pub fn add_value_only(&mut self, value: &str) {
7373
self.lines.push(ContentLine::new("", value, false));
7474
}
7575

76-
fn add_separator(&mut self) {
76+
pub fn add_separator(&mut self) {
7777
self.lines.push(ContentLine::separator());
7878
}
7979

@@ -130,7 +130,7 @@ impl BoxDrawer {
130130
}
131131

132132
/// Draw the complete box
133-
fn draw(&self) -> String {
133+
pub fn draw(&self) -> String {
134134
let box_width = self.calculate_optimal_width();
135135
let content_width = box_width - 4; // Available space for content
136136

0 commit comments

Comments
 (0)