synor/apps/cli/Cargo.toml
Gulshan Yadav c829362729 feat(cli): add deploy command for Synor Hosting
Add `synor deploy` command group for deploying web applications:
- `synor deploy push` - upload project to Synor Hosting
- `synor deploy init` - create synor.json configuration
- `synor deploy list` - list all deployments
- `synor deploy delete` - remove a deployment

Features:
- synor.json configuration parsing with build/routes/headers
- Framework auto-detection (Next.js, Vite, Astro, Angular, SvelteKit)
- Build command execution with install support
- Multipart file upload to storage gateway
- Deployment name validation with reserved word protection
- Content type detection for 20+ MIME types

Also adds Phase 9 milestone documentation and marks Synor Hosting
as 100% complete in the roadmap.
2026-01-10 12:59:35 +05:30

66 lines
1.4 KiB
TOML

[package]
name = "synor-cli"
version = "0.1.0"
edition = "2021"
description = "Synor blockchain CLI"
license = "MIT OR Apache-2.0"
readme = "README.md"
repository = "https://github.com/synorcc/synor"
keywords = ["blockchain", "dag", "cli", "synor", "wallet"]
categories = ["cryptography::cryptocurrencies", "command-line-utilities"]
[[bin]]
name = "synor"
path = "src/main.rs"
[dependencies]
# Synor crates
synor-types = { path = "../../crates/synor-types" }
synor-crypto = { path = "../../crates/synor-crypto" }
synor-rpc = { path = "../../crates/synor-rpc" }
# Async runtime
tokio = { workspace = true, features = ["full"] }
# CLI
clap = { version = "4.4", features = ["derive", "env"] }
dialoguer = "0.11"
console = "0.15"
indicatif = "0.17"
# Configuration
serde = { workspace = true }
serde_json = { workspace = true }
toml = "0.8"
# Logging
tracing = { workspace = true }
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
# Error handling
thiserror = { workspace = true }
anyhow = "1.0"
# Utils
hex = { workspace = true }
dirs = "5.0"
tabled = "0.15"
chrono = { workspace = true }
borsh = { workspace = true }
# Cryptography (for wallet)
sha3 = { workspace = true }
blake3 = { workspace = true }
rand = { workspace = true }
aes-gcm = "0.10"
argon2 = "0.5"
# HTTP client
reqwest = { version = "0.11", features = ["json", "multipart"] }
[dev-dependencies]
tempfile = "3"
[features]
default = []
dev = []