ccmd 1.1.4__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.
ccmd-1.1.4/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 De Catalyst (@Wisyle)
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
ccmd-1.1.4/MANIFEST.in ADDED
@@ -0,0 +1,21 @@
1
+ # Include important documentation
2
+ include README.md
3
+ include LICENSE
4
+ include SECURITY.md
5
+ include SECURITY_CHANGELOG.md
6
+
7
+ # Include command definitions
8
+ include commands.yaml
9
+
10
+ # Include requirements
11
+ include requirements.txt
12
+
13
+ # Exclude development and testing files
14
+ exclude .gitignore
15
+ exclude showcase.py
16
+ exclude showcase_config.yaml
17
+ exclude setup.sh
18
+ exclude setup.ps1
19
+ recursive-exclude tests *
20
+ recursive-exclude .github *
21
+ recursive-exclude security *
ccmd-1.1.4/PKG-INFO ADDED
@@ -0,0 +1,452 @@
1
+ Metadata-Version: 2.4
2
+ Name: ccmd
3
+ Version: 1.1.4
4
+ Summary: Cross-platform Command Manager - Simplify your terminal with intuitive shortcuts
5
+ Author-email: De Catalyst <Robert5560newton@gmail.com>
6
+ Maintainer-email: De Catalyst <Robert5560newton@gmail.com>
7
+ License: MIT
8
+ Project-URL: Homepage, https://github.com/Wisyle/ccmd
9
+ Project-URL: Documentation, https://github.com/Wisyle/ccmd#readme
10
+ Project-URL: Repository, https://github.com/Wisyle/ccmd
11
+ Project-URL: Bug Tracker, https://github.com/Wisyle/ccmd/issues
12
+ Project-URL: Security, https://github.com/Wisyle/ccmd/security
13
+ Project-URL: Changelog, https://github.com/Wisyle/ccmd/releases
14
+ Keywords: cli,command-line,terminal,productivity,automation,shell,commands,shortcuts,developer-tools,cross-platform
15
+ Classifier: Development Status :: 5 - Production/Stable
16
+ Classifier: Environment :: Console
17
+ Classifier: Intended Audience :: Developers
18
+ Classifier: Intended Audience :: System Administrators
19
+ Classifier: License :: OSI Approved :: MIT License
20
+ Classifier: Operating System :: OS Independent
21
+ Classifier: Operating System :: POSIX :: Linux
22
+ Classifier: Operating System :: MacOS
23
+ Classifier: Operating System :: Microsoft :: Windows
24
+ Classifier: Programming Language :: Python :: 3
25
+ Classifier: Programming Language :: Python :: 3.7
26
+ Classifier: Programming Language :: Python :: 3.8
27
+ Classifier: Programming Language :: Python :: 3.9
28
+ Classifier: Programming Language :: Python :: 3.10
29
+ Classifier: Programming Language :: Python :: 3.11
30
+ Classifier: Programming Language :: Python :: 3.12
31
+ Classifier: Topic :: Software Development
32
+ Classifier: Topic :: System :: Shells
33
+ Classifier: Topic :: System :: System Shells
34
+ Classifier: Topic :: Utilities
35
+ Requires-Python: >=3.7
36
+ Description-Content-Type: text/markdown
37
+ License-File: LICENSE
38
+ Requires-Dist: PyYAML>=6.0
39
+ Requires-Dist: questionary>=2.0.0
40
+ Requires-Dist: GitPython==3.1.43
41
+ Requires-Dist: bcrypt>=4.0.0
42
+ Provides-Extra: dev
43
+ Requires-Dist: pytest>=7.0; extra == "dev"
44
+ Requires-Dist: pytest-cov>=4.0; extra == "dev"
45
+ Requires-Dist: bandit>=1.7; extra == "dev"
46
+ Requires-Dist: safety>=2.0; extra == "dev"
47
+ Dynamic: license-file
48
+
49
+ # 🧠 CCMD β€” Custom Command Manager
50
+
51
+ [![Latest Release](https://img.shields.io/github/v/release/Wisyle/ccmd?label=Download&color=brightgreen)](https://github.com/Wisyle/ccmd/releases/latest)
52
+ [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
53
+ [![Python](https://img.shields.io/badge/python-3.7+-blue.svg)](https://www.python.org/downloads/)
54
+ [![Security](https://img.shields.io/badge/security-enhanced-green.svg)](SECURITY_DISCLAIMER.md)
55
+
56
+ > **Cross-platform command enhancer for humans.**
57
+ > Replace long, repetitive terminal syntax with short, intuitive commands.
58
+ > Works on **Linux**, **Windows PowerShell**, and **WSL** β€” safe, rollback-ready, and open source.
59
+
60
+ > **✨ New in v1.1.3:** Bug Fix Release! Fixed command chaining directory persistence, interactive timeout issues, and pip install warnings.
61
+
62
+ > **πŸ”— v1.1.2:** Command Chaining & Composability! Chain commands with `>>>`, enhanced security, and process management.
63
+
64
+ > **πŸ” v1.1.1:** Enterprise-grade security! Master password protection, command injection prevention, SSH key validation, and intelligent auto-locator.
65
+
66
+ > **⚠️ Important:** CCMD is a powerful tool that sits between your shell and you. Like electricity or any powerful tool, **it can be dangerous if used wrongly**. Please read the [Security Disclaimer](SECURITY_DISCLAIMER.md) before using CCMD. Use carefully, cautiously, and responsibly.
67
+
68
+ > **πŸ“Œ Version Notice:** We **strongly recommend using v1.1.3 or later**. Older versions (v1.0.x, v1.1.0-v1.1.2) may have bugs affecting command chaining and interactive commands. [Upgrade now](https://github.com/Wisyle/ccmd/releases/latest) β€” it's safe, fast, and backward compatible!
69
+
70
+ ---
71
+
72
+ ## 🧩 Overview
73
+
74
+ **CCMD** is an open-source project developed by **De Catalyst (Wisyle)**.
75
+ It lets you define simple, natural shortcuts for everyday shell operations β€” no more typing endless flags or remembering weird syntax.
76
+
77
+ Instead of typing:
78
+ ```bash
79
+ cd ~/Downloads
80
+ git add .
81
+ git commit -m "update"
82
+ git push
83
+ ````
84
+
85
+ You can just write:
86
+
87
+ ```bash
88
+ go downloads
89
+ push
90
+ ```
91
+
92
+ CCMD handles the rest. It safely installs into your shell profile, manages custom commands through YAML, and supports plugins, system monitoring, and SSH management.
93
+
94
+ ---
95
+
96
+ ## ✨ Features
97
+
98
+ ### πŸ› v1.1.3 Bug Fixes (LATEST!)
99
+ * **πŸ”§ Fixed Directory Persistence** β€” Chained commands now correctly persist directory changes
100
+ * **⏱️ Fixed Interactive Timeouts** β€” Interactive commands like `claude` no longer timeout
101
+ * **πŸ“¦ Fixed Pip Install Warnings** β€” Automatic handling of externally-managed Python environments
102
+ * **βž• Enhanced Navigation** β€” Support for custom project directory paths in `go` command
103
+ * **🎯 180s Timeout for Non-Interactive** β€” Non-interactive commands timeout after 3 minutes (prevents hangs)
104
+
105
+ **Upgrade Recommendation:** If you're using v1.1.2 command chaining, upgrade to v1.1.3 for critical bug fixes!
106
+
107
+ ### πŸ”— v1.1.2 Features
108
+ * **πŸ”— Command Chaining** β€” Chain commands with `>>>` operator: `go downloads >>> ls >>> echo "done"`
109
+ * **πŸ”„ Command Composability** β€” CCMD commands can call other CCMD commands
110
+ * **🎯 Smart Directory Chaining** β€” Directory changes persist through command chains
111
+ * **πŸ›‘οΈ Enhanced Security** β€” Context-aware validation, expanded pattern detection (40+ patterns)
112
+ * **πŸ’€ Process Management** β€” `kap` kills all processes (with confirmation), `kp` kills by name
113
+ * **πŸ” bcrypt Fallback** β€” PBKDF2-HMAC-SHA256 fallback if bcrypt unavailable
114
+ * **πŸ”’ Type Enforcement** β€” Custom commands cannot abuse privileged types
115
+
116
+ **Example:** `ccmd add` β†’ name: `devwork` β†’ command: `go projects >>> ls >>> echo "Ready to code!"`
117
+
118
+ ### πŸ” v1.1.1 Security Features
119
+ * **πŸ”’ Master Password System** β€” Protect sensitive commands with bcrypt-hashed passwords
120
+ * **πŸ›‘οΈ Command Injection Prevention** β€” Automatic blocking of dangerous command patterns
121
+ * **πŸ” SSH Key Validation** β€” Verify key permissions (0600) before use
122
+ * **πŸ” Sensitive Command Detection** β€” Auto-detect and protect sudo, ssh, AWS commands
123
+ * **πŸ“ Atomic File Operations** β€” Safe, corruption-proof file writes
124
+ * **🎯 Intelligent Auto-Locator** β€” No more path issues, works anywhere
125
+ * **πŸ“Š Audit Logging** β€” Track all authentication attempts
126
+ * **⚑ Security Cache** β€” 5-minute authentication window for convenience
127
+
128
+ **New Commands:** `init`, `debug`, `sudo`, `change-password`, `reset-password`, `kap`, `kp`
129
+
130
+ ### πŸ†• v1.1.0 Features
131
+ * **✨ Custom Commands** β€” Create your own commands with `add`, manage with `remove`
132
+ * **πŸ”„ Instant Reload** β€” `reload` command updates config without manual reinstall
133
+ * **🎯 Interactive Push** β€” Full git workflow with file selection and auto-commit messages
134
+ * **πŸ“‹ Command Manager** β€” Enable/disable commands with `list`
135
+ * **πŸ›‘οΈ Graceful Cancellation** β€” Press Ctrl+C anytime without ugly errors
136
+ * **🌍 Better Windows Support** β€” Fully tested on PowerShell with proper encoding
137
+
138
+ ### Core Features
139
+ * **Cross-Platform Support** β€” Linux, WSL, Windows PowerShell (macOS code exists but untested*)
140
+ * **Natural Commands** β€” No prefixes; just type `go`, `push`, `cpu`, etc.
141
+ * **Smart Directory Navigation** β€” Search and jump to directories anywhere
142
+ * **Auto Git Integration** β€” Interactive add, commit, and push workflow
143
+ * **System Insights** β€” Monitor CPU, memory, and processes
144
+ * **Safe Rollback** β€” Backs up your shell configuration before any changes
145
+ * **Persistent Customization** β€” Your custom commands survive CCMD updates
146
+ * **Password Protection** β€” Mark custom commands as requiring authentication
147
+
148
+ *_macOS users: We need your feedback! Please test and report issues._
149
+
150
+ ---
151
+
152
+ ## πŸ“š Documentation
153
+
154
+ For detailed guides and technical documentation, see:
155
+
156
+ * **[πŸ” Security Disclaimer](SECURITY_DISCLAIMER.md)** β€” **READ THIS FIRST!** Important security information and responsible use guidelines
157
+ * **[πŸ“‹ Release Notes v1.1.3](RELEASE_NOTES_v1.1.3.md)** β€” Latest bug fixes and improvements
158
+ * **[πŸ“‹ Release Notes v1.1.1](RELEASE_NOTES_v1.1.1.md)** β€” Complete changelog and upgrade guide
159
+ * **[Features](FEATURES.md)** β€” Complete feature list including security features
160
+ * **[Installation Guide](INSTALLATION.md)** β€” Step-by-step installation for all platforms
161
+ * **[Usage Guide](USAGE.md)** β€” Complete command reference and usage examples
162
+ * **[Configuration Guide](CONFIGURATION.md)** β€” Customize and create your own commands
163
+ * **[Troubleshooting](TROUBLESHOOTING.md)** β€” Common issues and solutions
164
+ * **[Architecture](ARCHITECTURE.md)** β€” Technical architecture and development guide
165
+
166
+ ---
167
+
168
+ ## 🧱 Project Structure
169
+
170
+ ```
171
+ ccmd/
172
+ β”œβ”€β”€ cli/
173
+ β”‚ β”œβ”€β”€ main.py # CLI entrypoint
174
+ β”‚ β”œβ”€β”€ install.py # Installation and PATH setup
175
+ β”‚ β”œβ”€β”€ editor.py # Interactive command editor
176
+ β”‚ └── ssh_manager.py # Manage SSH aliases and keys
177
+ β”œβ”€β”€ core/
178
+ β”‚ β”œβ”€β”€ parser.py # Parse and map custom commands
179
+ β”‚ β”œβ”€β”€ executor.py # Execute commands securely
180
+ β”‚ β”œβ”€β”€ registry.py # Manage alias storage
181
+ β”‚ β”œβ”€β”€ rollback.py # Backup & restore shell configs
182
+ β”‚ └── system_check.py # Detect OS and compatibility
183
+ β”œβ”€β”€ commands.yaml # Default command definitions
184
+ β”œβ”€β”€ run.py # Master entrypoint
185
+ β”œβ”€β”€ setup.sh # Unix installer
186
+ β”œβ”€β”€ setup.ps1 # Windows installer
187
+ β”œβ”€β”€ LICENSE
188
+ └── README.md
189
+ ```
190
+
191
+ ---
192
+
193
+ ## πŸš€ Installation
194
+
195
+ ### Prerequisites
196
+
197
+ * Python **3.7+**
198
+
199
+ ### Method 1: Using Git (Recommended)
200
+
201
+ For users comfortable with Git:
202
+
203
+ ```bash
204
+ # Clone the repository (ccmd branch)
205
+ git clone -b ccmd https://github.com/Wisyle/ccmd.git
206
+ cd ccmd
207
+
208
+ # Run the installer for your platform
209
+ # Linux/macOS/WSL:
210
+ bash setup.sh
211
+
212
+ # Windows PowerShell:
213
+ .\setup.ps1
214
+
215
+ # Reload your shell
216
+ source ~/.bashrc # or ~/.zshrc for Zsh, or restart terminal
217
+ ```
218
+
219
+ ### Method 2: Download ZIP (For non-Git users)
220
+
221
+ If you're not familiar with Git, download the official release:
222
+
223
+ 1. **Download the latest release:**
224
+ - Visit: https://github.com/Wisyle/ccmd/releases/latest
225
+ - Download **Source code (zip)** under Assets
226
+ - Or direct download: https://github.com/Wisyle/ccmd/archive/refs/tags/v1.1.3.zip
227
+
228
+ 2. **Extract the files:**
229
+ - Extract the downloaded ZIP file
230
+ - Rename the folder to `ccmd` (remove any version suffix)
231
+
232
+ 3. **Install CCMD:**
233
+
234
+ **On Linux/macOS/WSL:**
235
+ ```bash
236
+ cd /path/to/ccmd
237
+ bash setup.sh
238
+ source ~/.bashrc # or ~/.zshrc
239
+ ```
240
+
241
+ **On Windows PowerShell:**
242
+ ```powershell
243
+ cd C:\path\to\ccmd
244
+ .\setup.ps1
245
+ . $PROFILE
246
+ ```
247
+
248
+ 4. **Test installation:**
249
+ ```bash
250
+ python3 run.py --check
251
+ go home
252
+ ```
253
+
254
+ ### Verify Installation
255
+
256
+ After installation, test that CCMD is working:
257
+
258
+ ```bash
259
+ # Check system status
260
+ python3 run.py --check
261
+
262
+ # List available commands
263
+ python3 run.py --list
264
+
265
+ # Test a command
266
+ go home
267
+ ```
268
+
269
+ ### Uninstall / Rollback
270
+
271
+ ```bash
272
+ python3 run.py --restore
273
+ ```
274
+
275
+ ### Update CCMD
276
+
277
+ **If installed via Git:**
278
+ ```bash
279
+ cd /path/to/ccmd
280
+ git pull origin ccmd
281
+ python3 run.py --install
282
+ ```
283
+
284
+ **If installed via ZIP:**
285
+ - Download the latest ZIP
286
+ - Extract and replace your existing ccmd folder
287
+ - Run the installer again (`bash setup.sh` or `.\setup.ps1`)
288
+
289
+ ---
290
+
291
+ ## 🧠 Default Commands
292
+
293
+ ### Navigation
294
+ | Command | Description | Example |
295
+ | ------------ | -------------------------------- | ----------------- |
296
+ | `go <dir>` | Navigate to directory or search | `go downloads` |
297
+
298
+ ### Git Operations
299
+ | Command | Description | Notes |
300
+ | ------- | ------------------------------------- | --------------------------------- |
301
+ | `push` | Interactive git add, commit, and push | Auto-generates commit messages πŸ†• |
302
+
303
+ ### System Monitoring
304
+ | Command | Description | Platform Support |
305
+ | ------- | --------------------- | ------------------ |
306
+ | `cpu` | Show CPU usage | Linux, macOS, Windows |
307
+ | `mem` | Show memory usage | Linux, macOS, Windows |
308
+ | `proc` | List running processes| Linux, macOS, Windows |
309
+ | `kap` | Kill process by PID | Linux, macOS, Windows |
310
+
311
+ ### Custom Commands πŸ†• v1.1.0
312
+ | Command | Description | Notes |
313
+ | -------- | ------------------------------ | ----------------------------------- |
314
+ | `add` | Create a custom command | Interactive prompts |
315
+ | `remove` | Delete a custom command | Shows list to select from |
316
+ | `list` | Manage commands (enable/disable)| Toggle commands on/off |
317
+
318
+ ### CCMD Management
319
+ | Command | Description | Notes |
320
+ | ----------- | --------------------------------- | ------------------------ |
321
+ | `reload` | Reload config and update shell πŸ†• | No manual reinstall needed |
322
+ | `update` | Update CCMD from GitHub | Downloads latest version |
323
+ | `version` | Show current and latest version | Checks GitHub releases |
324
+ | `restore` | Restore shell config from backup | Rollback changes |
325
+ | `uninstall` | Remove CCMD completely | Cleans everything |
326
+ | `hi` | Show system dashboard | System overview |
327
+
328
+ ---
329
+
330
+ ## βš™οΈ Configuration
331
+
332
+ ### Default Commands
333
+
334
+ CCMD default commands are defined in `$CCMD_HOME/commands.yaml`. These are managed by CCMD and updated when you upgrade.
335
+
336
+ ### Custom Commands (v1.1.0+)
337
+
338
+ Your custom commands are stored separately in:
339
+
340
+ ```
341
+ ~/.ccmd/custom_commands.yaml
342
+ ```
343
+
344
+ **Why separate?** Your custom commands survive CCMD updates and never get overwritten.
345
+
346
+ **Create custom commands:**
347
+ ```bash
348
+ add # Interactive command creation
349
+ ```
350
+
351
+ **Remove custom commands:**
352
+ ```bash
353
+ remove # Interactive command removal
354
+ ```
355
+
356
+ **Reload after manual edits:**
357
+ ```bash
358
+ reload # Reloads config and updates shell
359
+ ```
360
+
361
+ Each command follows this format:
362
+
363
+ ```yaml
364
+ mycommand:
365
+ description: "What this command does"
366
+ action: "the shell command to execute"
367
+ type: custom
368
+ interactive: false # Set to true for commands needing user input
369
+ ```
370
+
371
+ ---
372
+
373
+ ## πŸ” Security & Safety
374
+
375
+ * Backups created automatically before modifying any shell files.
376
+ * Rollback available anytime with `--restore`.
377
+ * SSH keys are never stored or transmitted.
378
+ * Commands executed via safe subprocess calls, never `eval`.
379
+
380
+ ---
381
+
382
+ ## πŸ§ͺ Testing Locally
383
+
384
+ Before global install, run:
385
+
386
+ ```bash
387
+ python run.py --test
388
+ ```
389
+
390
+ This simulates:
391
+
392
+ * Shell detection and rc edits
393
+ * Git and system command execution
394
+ * Rollback and uninstall checks
395
+
396
+ ---
397
+
398
+ ## 🧰 Example Usage
399
+
400
+ ```bash
401
+ # Navigate fast
402
+ go downloads
403
+
404
+ # Push Git changes instantly
405
+ push
406
+
407
+ # Check system load
408
+ cpu
409
+
410
+ # Connect to your default server
411
+ ssh
412
+ ```
413
+
414
+ ---
415
+
416
+ ## 🌍 Contributing
417
+
418
+ Contributions are welcome!
419
+ Fork the repo, create a branch, make your edits, and open a pull request.
420
+ A contribution guide will soon be added in `/docs/CONTRIBUTING.md`.
421
+
422
+ ---
423
+
424
+ ## πŸ“œ License
425
+
426
+ Released under the **MIT License**.
427
+ Free to use, modify, and distribute.
428
+
429
+ ---
430
+
431
+ ## πŸ§‘β€πŸ’» Developed By
432
+
433
+ **De Catalyst**
434
+ **GitHub:** [@Wisyle](https://github.com/Wisyle)
435
+ **Email:** [Robert5560newton@gmail.com](mailto:Robert5560newton@gmail.com)
436
+ **X (Twitter):** [@iamdecatalyst](https://x.com/iamdecatalyst)
437
+ **Instagram:** [@iamdecatalyst](https://instagram.com/iamdecatalyst)
438
+ **Telegram:** [@iamdecatalyst](https://t.me/iamdecatalyst)
439
+
440
+ > For bug reports, updates, or collaboration inquiries, feel free to reach out.
441
+
442
+ ---
443
+
444
+ ## πŸͺ„ Tagline
445
+
446
+ > β€œStop remembering commands. Start commanding naturally.”
447
+
448
+ ---
449
+
450
+
451
+ ## Always check new releases before downloading
452
+