diff --git a/Cargo.lock b/Cargo.lock index db8e692..27fbef6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2472,7 +2472,7 @@ dependencies = [ ] [[package]] -name = "xboctploy" +name = "xboct-deploy" version = "0.1.0" dependencies = [ "anyhow", diff --git a/Cargo.toml b/Cargo.toml index e72f93c..c9d8cea 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,10 +1,10 @@ [package] -name = "xboctploy" +name = "xboct-deploy" version = "0.1.0" description = "Lightweight CLI to deploy hobby projects from a local PC to a VPS over SSH" license = "MIT" readme = "README.md" -repository = "https://xboct-git.duckdns.org/Ku6epXBOCTuK/xboctploy" +repository = "https://xboct-git.duckdns.org/Ku6epXBOCTuK/xboct-deploy" keywords = ["deploy", "ssh", "sftp", "vps", "cli"] categories = ["command-line-utilities", "development-tools"] rust-version = "1.88" diff --git a/README.md b/README.md index da33f05..311c0f0 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# xboctploy +# xboct-deploy Легковесная CLI-утилита на Rust для централизованного деплоя хобби-проектов (Node.js, Rust) с локального ПК на слабую VPS по SSH. @@ -19,12 +19,12 @@ cargo install --path . ## Быстрый старт ```sh -xboctploy --list # показать проекты из конфига -xboctploy --list-servers # показать серверы из конфига -xboctploy --pick # интерактивно выбрать проект (нечёткий поиск) -xboctploy --dry-run demo # напечатать план деплоя без выполнения -xboctploy demo # задеплоить проект demo -xboctploy --this # задеплоить проект текущей папки (глобальный конфиг) +xboct-deploy --list # показать проекты из конфига +xboct-deploy --list-servers # показать серверы из конфига +xboct-deploy --pick # интерактивно выбрать проект (нечёткий поиск) +xboct-deploy --dry-run demo # напечатать план деплоя без выполнения +xboct-deploy demo # задеплоить проект demo +xboct-deploy --this # задеплоить проект текущей папки (глобальный конфиг) ``` Вывод: @@ -43,7 +43,7 @@ Deploy successful! (total 2.3s) 1. `--config PATH`, если указан явно; 2. `./deploy.toml` в текущей папке — удобно держать рядом с проектом и в тестах; -3. глобальный `~/.config/xboctploy/deploy.toml` — запуск «из любой папки». +3. глобальный `~/.config/xboct-deploy/deploy.toml` — запуск «из любой папки». `--this` деплоит проект, чей `workdir` совпадает с текущей папкой; конфиг ищется по обычной цепочке, так что временный локальный `./deploy.toml` diff --git a/src/cli.rs b/src/cli.rs index 3a588f5..a702c26 100644 --- a/src/cli.rs +++ b/src/cli.rs @@ -4,7 +4,7 @@ use clap::{ArgGroup, Parser}; /// Deploy hobby projects from a local PC to a VPS over SSH. #[derive(Debug, Parser)] -#[command(name = "xboctploy", version, about)] +#[command(name = "xboct-deploy", version, about)] #[command(arg_required_else_help = true)] #[command(group = ArgGroup::new("target").required(true).args(["project", "list", "list_servers", "pick", "this"]))] pub struct Cli { diff --git a/src/config.rs b/src/config.rs index 358cc82..da99333 100644 --- a/src/config.rs +++ b/src/config.rs @@ -6,7 +6,7 @@ use anyhow::{Context, Result, bail}; use serde::Deserialize; pub const CONFIG_FILE_NAME: &str = "deploy.toml"; -pub const GLOBAL_DIR: &str = "xboctploy"; +pub const GLOBAL_DIR: &str = "xboct-deploy"; #[derive(Debug, Deserialize)] #[serde(deny_unknown_fields)] @@ -423,7 +423,7 @@ commands = [] fn tmpdir(tag: &str) -> PathBuf { let dir = - std::env::temp_dir().join(format!("xboctploy-tests-{}-{tag}", std::process::id())); + std::env::temp_dir().join(format!("xboct-deploy-tests-{}-{tag}", std::process::id())); let _ = fs::remove_dir_all(&dir); fs::create_dir_all(&dir).unwrap(); dir diff --git a/src/local.rs b/src/local.rs index 36b7257..895e688 100644 --- a/src/local.rs +++ b/src/local.rs @@ -97,7 +97,7 @@ mod tests { fn tmpdir(tag: &str) -> PathBuf { let dir = - std::env::temp_dir().join(format!("xboctploy-local-{}-{tag}", std::process::id())); + std::env::temp_dir().join(format!("xboct-deploy-local-{}-{tag}", std::process::id())); let _ = fs::remove_dir_all(&dir); fs::create_dir_all(&dir).unwrap(); dir