swoosh-cli 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,198 @@
1
+ Metadata-Version: 2.4
2
+ Name: swoosh-cli
3
+ Version: 0.1.0
4
+ Summary: All-in-one CLI for Git workflow automation: init, commit, release, deploy, sync
5
+ Author: MNametissa
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://github.com/MNametissa/swoosh
8
+ Project-URL: Repository, https://github.com/MNametissa/swoosh
9
+ Keywords: git,github,cli,automation,deploy,ci-cd
10
+ Classifier: Development Status :: 4 - Beta
11
+ Classifier: Environment :: Console
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Programming Language :: Python :: 3.10
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Topic :: Software Development :: Version Control :: Git
17
+ Requires-Python: >=3.10
18
+ Description-Content-Type: text/markdown
19
+ Requires-Dist: typer[all]>=0.9.0
20
+ Requires-Dist: rich>=13.0.0
21
+ Requires-Dist: questionary>=2.0.0
22
+ Requires-Dist: pyyaml>=6.0
23
+ Requires-Dist: toml>=0.10.0
24
+ Requires-Dist: paramiko>=3.0.0
25
+
26
+ # Swoosh
27
+
28
+ All-in-one CLI for Git workflow automation.
29
+
30
+ ## Install
31
+
32
+ One command installs everything (Python, Git, GitHub CLI, SSH, rsync, swoosh):
33
+
34
+ **Linux/macOS:**
35
+ ```bash
36
+ curl -fsSL https://raw.githubusercontent.com/MNametissa/swoosh/main/install.sh | bash
37
+ ```
38
+
39
+ **Windows (PowerShell):**
40
+ ```powershell
41
+ iwr -useb https://raw.githubusercontent.com/MNametissa/swoosh/main/install.ps1 | iex
42
+ ```
43
+
44
+ The installer auto-detects your OS and package manager:
45
+ - **Linux**: apt, dnf, yum, pacman, apk
46
+ - **macOS**: Homebrew (installs if missing)
47
+ - **Windows**: winget, scoop, chocolatey
48
+
49
+ ### Manual install
50
+
51
+ If you already have Python 3.10+ and dependencies:
52
+ ```bash
53
+ pipx install swoosh-cli
54
+ # or
55
+ pip install swoosh-cli
56
+ ```
57
+
58
+ ### From source
59
+ ```bash
60
+ pip install git+https://github.com/MNametissa/swoosh.git
61
+ ```
62
+
63
+ ## Commands
64
+
65
+ | Command | Description |
66
+ |---------|-------------|
67
+ | `swoosh auth` | Authenticate with GitHub (SSH, token, or OAuth) |
68
+ | `swoosh init` | Initialize project with Git, GitHub repo, CI/CD |
69
+ | `swoosh commit` | Create conventional commit |
70
+ | `swoosh release` | Version bump, changelog, tag, GitHub release |
71
+ | `swoosh deploy` | Deploy via SSH/rsync with rollback |
72
+ | `swoosh sync` | Sync multiple repositories |
73
+ | `swoosh secrets` | Scan for secrets, manage GitHub secrets |
74
+ | `swoosh pr` | Create/list pull requests |
75
+ | `swoosh origin` | Multi-origin management |
76
+ | `swoosh clone` | Clone repositories |
77
+ | `swoosh hook` | Manage auto-push hooks |
78
+ | `swoosh templates` | List CI/CD templates |
79
+ | `swoosh doctor` | Check dependencies |
80
+ | `swoosh config` | Configure defaults |
81
+
82
+ ## Usage
83
+
84
+ ### Authenticate with GitHub
85
+ ```bash
86
+ # Interactive (recommended)
87
+ swoosh auth
88
+
89
+ # Check status
90
+ swoosh auth status
91
+
92
+ # Use SSH key
93
+ swoosh auth --ssh
94
+
95
+ # Use Personal Access Token
96
+ swoosh auth --token ghp_xxxxxxxxxxxx
97
+
98
+ # With git config
99
+ swoosh auth --name "Your Name" --email "you@example.com"
100
+ ```
101
+
102
+ ### Initialize a new project
103
+ ```bash
104
+ # Create new project with Python CI template
105
+ swoosh init myproject --template python
106
+
107
+ # Initialize in current directory
108
+ swoosh init --here
109
+ ```
110
+
111
+ ### Commit with conventional format
112
+ ```bash
113
+ # Interactive
114
+ swoosh commit
115
+
116
+ # Quick
117
+ swoosh commit "add user auth" --type feat --push
118
+ ```
119
+
120
+ ### Create a release
121
+ ```bash
122
+ # Interactive with auto-detection
123
+ swoosh release --auto
124
+
125
+ # Specific bump
126
+ swoosh release minor
127
+
128
+ # Pre-release
129
+ swoosh release patch --pre beta
130
+ ```
131
+
132
+ ### Deploy to server
133
+ ```yaml
134
+ # swoosh.yaml
135
+ deploy:
136
+ production:
137
+ host: user@server.com
138
+ path: /var/www/app
139
+ method: rsync
140
+ build: npm run build
141
+ restart: systemctl restart app
142
+ health_check:
143
+ type: http
144
+ url: http://localhost:3000/health
145
+ ```
146
+
147
+ ```bash
148
+ swoosh deploy production
149
+ swoosh deploy --rollback production
150
+ ```
151
+
152
+ ### Multi-origin management
153
+ ```bash
154
+ # List remotes
155
+ swoosh origin list
156
+
157
+ # Add GitLab mirror
158
+ swoosh origin mirror --provider gitlab
159
+
160
+ # Push to all remotes
161
+ swoosh origin push
162
+
163
+ # Check sync status
164
+ swoosh origin status
165
+ ```
166
+
167
+ ### Scan for secrets
168
+ ```bash
169
+ swoosh secrets scan
170
+ swoosh secrets scan --staged
171
+ ```
172
+
173
+ ## CI/CD Templates
174
+
175
+ - `generic` - Basic linting
176
+ - `node` - Node.js with npm, testing, build
177
+ - `python` - Python with pytest, ruff
178
+ - `rust` - Rust with cargo, clippy
179
+ - `go` - Go with testing, build
180
+
181
+ ```bash
182
+ swoosh templates list
183
+ swoosh templates show python
184
+ ```
185
+
186
+ ## Configuration
187
+
188
+ Global config: `~/.config/swoosh/config.yaml`
189
+ Project config: `swoosh.yaml`
190
+
191
+ ```bash
192
+ swoosh config --show
193
+ swoosh config --github-user myuser
194
+ ```
195
+
196
+ ## License
197
+
198
+ MIT
@@ -0,0 +1,173 @@
1
+ # Swoosh
2
+
3
+ All-in-one CLI for Git workflow automation.
4
+
5
+ ## Install
6
+
7
+ One command installs everything (Python, Git, GitHub CLI, SSH, rsync, swoosh):
8
+
9
+ **Linux/macOS:**
10
+ ```bash
11
+ curl -fsSL https://raw.githubusercontent.com/MNametissa/swoosh/main/install.sh | bash
12
+ ```
13
+
14
+ **Windows (PowerShell):**
15
+ ```powershell
16
+ iwr -useb https://raw.githubusercontent.com/MNametissa/swoosh/main/install.ps1 | iex
17
+ ```
18
+
19
+ The installer auto-detects your OS and package manager:
20
+ - **Linux**: apt, dnf, yum, pacman, apk
21
+ - **macOS**: Homebrew (installs if missing)
22
+ - **Windows**: winget, scoop, chocolatey
23
+
24
+ ### Manual install
25
+
26
+ If you already have Python 3.10+ and dependencies:
27
+ ```bash
28
+ pipx install swoosh-cli
29
+ # or
30
+ pip install swoosh-cli
31
+ ```
32
+
33
+ ### From source
34
+ ```bash
35
+ pip install git+https://github.com/MNametissa/swoosh.git
36
+ ```
37
+
38
+ ## Commands
39
+
40
+ | Command | Description |
41
+ |---------|-------------|
42
+ | `swoosh auth` | Authenticate with GitHub (SSH, token, or OAuth) |
43
+ | `swoosh init` | Initialize project with Git, GitHub repo, CI/CD |
44
+ | `swoosh commit` | Create conventional commit |
45
+ | `swoosh release` | Version bump, changelog, tag, GitHub release |
46
+ | `swoosh deploy` | Deploy via SSH/rsync with rollback |
47
+ | `swoosh sync` | Sync multiple repositories |
48
+ | `swoosh secrets` | Scan for secrets, manage GitHub secrets |
49
+ | `swoosh pr` | Create/list pull requests |
50
+ | `swoosh origin` | Multi-origin management |
51
+ | `swoosh clone` | Clone repositories |
52
+ | `swoosh hook` | Manage auto-push hooks |
53
+ | `swoosh templates` | List CI/CD templates |
54
+ | `swoosh doctor` | Check dependencies |
55
+ | `swoosh config` | Configure defaults |
56
+
57
+ ## Usage
58
+
59
+ ### Authenticate with GitHub
60
+ ```bash
61
+ # Interactive (recommended)
62
+ swoosh auth
63
+
64
+ # Check status
65
+ swoosh auth status
66
+
67
+ # Use SSH key
68
+ swoosh auth --ssh
69
+
70
+ # Use Personal Access Token
71
+ swoosh auth --token ghp_xxxxxxxxxxxx
72
+
73
+ # With git config
74
+ swoosh auth --name "Your Name" --email "you@example.com"
75
+ ```
76
+
77
+ ### Initialize a new project
78
+ ```bash
79
+ # Create new project with Python CI template
80
+ swoosh init myproject --template python
81
+
82
+ # Initialize in current directory
83
+ swoosh init --here
84
+ ```
85
+
86
+ ### Commit with conventional format
87
+ ```bash
88
+ # Interactive
89
+ swoosh commit
90
+
91
+ # Quick
92
+ swoosh commit "add user auth" --type feat --push
93
+ ```
94
+
95
+ ### Create a release
96
+ ```bash
97
+ # Interactive with auto-detection
98
+ swoosh release --auto
99
+
100
+ # Specific bump
101
+ swoosh release minor
102
+
103
+ # Pre-release
104
+ swoosh release patch --pre beta
105
+ ```
106
+
107
+ ### Deploy to server
108
+ ```yaml
109
+ # swoosh.yaml
110
+ deploy:
111
+ production:
112
+ host: user@server.com
113
+ path: /var/www/app
114
+ method: rsync
115
+ build: npm run build
116
+ restart: systemctl restart app
117
+ health_check:
118
+ type: http
119
+ url: http://localhost:3000/health
120
+ ```
121
+
122
+ ```bash
123
+ swoosh deploy production
124
+ swoosh deploy --rollback production
125
+ ```
126
+
127
+ ### Multi-origin management
128
+ ```bash
129
+ # List remotes
130
+ swoosh origin list
131
+
132
+ # Add GitLab mirror
133
+ swoosh origin mirror --provider gitlab
134
+
135
+ # Push to all remotes
136
+ swoosh origin push
137
+
138
+ # Check sync status
139
+ swoosh origin status
140
+ ```
141
+
142
+ ### Scan for secrets
143
+ ```bash
144
+ swoosh secrets scan
145
+ swoosh secrets scan --staged
146
+ ```
147
+
148
+ ## CI/CD Templates
149
+
150
+ - `generic` - Basic linting
151
+ - `node` - Node.js with npm, testing, build
152
+ - `python` - Python with pytest, ruff
153
+ - `rust` - Rust with cargo, clippy
154
+ - `go` - Go with testing, build
155
+
156
+ ```bash
157
+ swoosh templates list
158
+ swoosh templates show python
159
+ ```
160
+
161
+ ## Configuration
162
+
163
+ Global config: `~/.config/swoosh/config.yaml`
164
+ Project config: `swoosh.yaml`
165
+
166
+ ```bash
167
+ swoosh config --show
168
+ swoosh config --github-user myuser
169
+ ```
170
+
171
+ ## License
172
+
173
+ MIT
@@ -0,0 +1,38 @@
1
+ [build-system]
2
+ requires = ["setuptools>=61.0"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "swoosh-cli"
7
+ version = "0.1.0"
8
+ description = "All-in-one CLI for Git workflow automation: init, commit, release, deploy, sync"
9
+ readme = "README.md"
10
+ requires-python = ">=3.10"
11
+ license = "MIT"
12
+ authors = [{name = "MNametissa"}]
13
+ keywords = ["git", "github", "cli", "automation", "deploy", "ci-cd"]
14
+ classifiers = [
15
+ "Development Status :: 4 - Beta",
16
+ "Environment :: Console",
17
+ "Intended Audience :: Developers",
18
+ "Programming Language :: Python :: 3.10",
19
+ "Programming Language :: Python :: 3.11",
20
+ "Programming Language :: Python :: 3.12",
21
+ "Topic :: Software Development :: Version Control :: Git",
22
+ ]
23
+
24
+ dependencies = [
25
+ "typer[all]>=0.9.0",
26
+ "rich>=13.0.0",
27
+ "questionary>=2.0.0",
28
+ "pyyaml>=6.0",
29
+ "toml>=0.10.0",
30
+ "paramiko>=3.0.0",
31
+ ]
32
+
33
+ [project.scripts]
34
+ swoosh = "swoosh.cli:app"
35
+
36
+ [project.urls]
37
+ Homepage = "https://github.com/MNametissa/swoosh"
38
+ Repository = "https://github.com/MNametissa/swoosh"
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,3 @@
1
+ """Swoosh - All-in-one CLI for Git workflow automation."""
2
+
3
+ __version__ = "0.1.0"