All-in-one CLI for Git workflow automation: init, commit, release, deploy, sync
Project description
Swoosh
All-in-one CLI for Git workflow automation.
Install
One command installs everything (Python, Git, GitHub CLI, SSH, rsync, swoosh):
Linux/macOS:
curl -fsSL https://raw.githubusercontent.com/MNametissa/swoosh/main/install.sh | bash
Windows (PowerShell):
iwr -useb https://raw.githubusercontent.com/MNametissa/swoosh/main/install.ps1 | iex
The installer auto-detects your OS and package manager:
- Linux: apt, dnf, yum, pacman, apk
- macOS: Homebrew (installs if missing)
- Windows: winget, scoop, chocolatey
Manual install
If you already have Python 3.10+ and dependencies:
pipx install swoosh-cli
# or
pip install swoosh-cli
From source
pip install git+https://github.com/MNametissa/swoosh.git
Commands
| Command | Description |
|---|---|
swoosh auth |
Authenticate with GitHub (SSH, token, or OAuth) |
swoosh init |
Initialize project with Git, GitHub repo, CI/CD |
swoosh commit |
Create conventional commit |
swoosh release |
Version bump, changelog, tag, GitHub release |
swoosh deploy |
Deploy via SSH/rsync with rollback |
swoosh sync |
Sync multiple repositories |
swoosh secrets |
Scan for secrets, manage GitHub secrets |
swoosh pr |
Create/list pull requests |
swoosh origin |
Multi-origin management |
swoosh clone |
Clone repositories |
swoosh hook |
Manage auto-push hooks |
swoosh templates |
List CI/CD templates |
swoosh doctor |
Check dependencies |
swoosh config |
Configure defaults |
Usage
Authenticate with GitHub
# Interactive (recommended)
swoosh auth
# Check status
swoosh auth status
# Use SSH key
swoosh auth --ssh
# Use Personal Access Token
swoosh auth --token ghp_xxxxxxxxxxxx
# With git config
swoosh auth --name "Your Name" --email "you@example.com"
Initialize a new project
# Create new project with Python CI template
swoosh init myproject --template python
# Initialize in current directory
swoosh init --here
Commit with conventional format
# Interactive
swoosh commit
# Quick
swoosh commit "add user auth" --type feat --push
Create a release
# Interactive with auto-detection
swoosh release --auto
# Specific bump
swoosh release minor
# Pre-release
swoosh release patch --pre beta
Deploy to server
# swoosh.yaml
deploy:
production:
host: user@server.com
path: /var/www/app
method: rsync
build: npm run build
restart: systemctl restart app
health_check:
type: http
url: http://localhost:3000/health
swoosh deploy production
swoosh deploy --rollback production
Multi-origin management
# List remotes
swoosh origin list
# Add GitLab mirror
swoosh origin mirror --provider gitlab
# Push to all remotes
swoosh origin push
# Check sync status
swoosh origin status
Scan for secrets
swoosh secrets scan
swoosh secrets scan --staged
CI/CD Templates
generic- Basic lintingnode- Node.js with npm, testing, buildpython- Python with pytest, ruffrust- Rust with cargo, clippygo- Go with testing, build
swoosh templates list
swoosh templates show python
Configuration
Global config: ~/.config/swoosh/config.yaml
Project config: swoosh.yaml
swoosh config --show
swoosh config --github-user myuser
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file swoosh_cli-0.1.4.tar.gz.
File metadata
- Download URL: swoosh_cli-0.1.4.tar.gz
- Upload date:
- Size: 45.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
af929c674a4b4c6aa1fb400d2cd56671acca9ae1b9d277a8f6c44b5a140dd9fe
|
|
| MD5 |
68029ec9f60ad77179e5924a924aeddd
|
|
| BLAKE2b-256 |
7f3db4a7bc195b2fe5e79ca0de9e4093fc78ab4f4a1995da4f0737df793b143b
|
File details
Details for the file swoosh_cli-0.1.4-py3-none-any.whl.
File metadata
- Download URL: swoosh_cli-0.1.4-py3-none-any.whl
- Upload date:
- Size: 53.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
858ce93bdfc96cf7b89bbf4e5094a8b0e49d8d242debc1e259d5a0054b7f62cc
|
|
| MD5 |
ab90e79b7298448d25f189cfa869f8c8
|
|
| BLAKE2b-256 |
024c95866c82edb854a18901a13e5d82b958f74f313ac458ae014b7a12dbd65b
|