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
Metadata
Release files for swoosh-cli 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| swoosh_cli-0.1.4.tar.gz | 45.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| swoosh_cli-0.1.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 98.9 kB
Release files / swoosh_cli-0.1.4.tar.gz
| Download URL | swoosh_cli-0.1.4.tar.gz |
|---|---|
| Size | 45.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
af929c674a4b4c6aa1fb400d2cd56671acca9ae1b9d277a8f6c44b5a140dd9fe
|
|
BLAKE2b-256 checksum How to use checksums |
7f3db4a7bc195b2fe5e79ca0de9e4093fc78ab4f4a1995da4f0737df793b143b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / swoosh_cli-0.1.4-py3-none-any.whl
| Download URL | swoosh_cli-0.1.4-py3-none-any.whl |
|---|---|
| Size | 53.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
858ce93bdfc96cf7b89bbf4e5094a8b0e49d8d242debc1e259d5a0054b7f62cc
|
|
BLAKE2b-256 checksum How to use checksums |
024c95866c82edb854a18901a13e5d82b958f74f313ac458ae014b7a12dbd65b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|