Skip to main content

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 linting
  • node - Node.js with npm, testing, build
  • python - Python with pytest, ruff
  • rust - Rust with cargo, clippy
  • go - 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)

Source distribution for swoosh-cli 0.1.4
File Size Uploaded
swoosh_cli-0.1.4.tar.gz 45.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for swoosh-cli 0.1.4
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page