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 +21 -0
- ccmd-1.1.4/MANIFEST.in +21 -0
- ccmd-1.1.4/PKG-INFO +452 -0
- ccmd-1.1.4/README.md +404 -0
- ccmd-1.1.4/SECURITY.md +121 -0
- ccmd-1.1.4/SECURITY_CHANGELOG.md +71 -0
- ccmd-1.1.4/ccmd/__init__.py +4 -0
- ccmd-1.1.4/ccmd/cli/__init__.py +1 -0
- ccmd-1.1.4/ccmd/cli/editor.py +216 -0
- ccmd-1.1.4/ccmd/cli/install.py +367 -0
- ccmd-1.1.4/ccmd/cli/interactive.py +863 -0
- ccmd-1.1.4/ccmd/cli/main.py +1151 -0
- ccmd-1.1.4/ccmd/cli/ssh_manager.py +285 -0
- ccmd-1.1.4/ccmd/core/__init__.py +1 -0
- ccmd-1.1.4/ccmd/core/auth.py +607 -0
- ccmd-1.1.4/ccmd/core/executor.py +583 -0
- ccmd-1.1.4/ccmd/core/parser.py +251 -0
- ccmd-1.1.4/ccmd/core/registry.py +319 -0
- ccmd-1.1.4/ccmd/core/rollback.py +286 -0
- ccmd-1.1.4/ccmd/core/security.py +324 -0
- ccmd-1.1.4/ccmd/core/system_check.py +129 -0
- ccmd-1.1.4/ccmd.egg-info/PKG-INFO +452 -0
- ccmd-1.1.4/ccmd.egg-info/SOURCES.txt +30 -0
- ccmd-1.1.4/ccmd.egg-info/dependency_links.txt +1 -0
- ccmd-1.1.4/ccmd.egg-info/entry_points.txt +2 -0
- ccmd-1.1.4/ccmd.egg-info/requires.txt +10 -0
- ccmd-1.1.4/ccmd.egg-info/top_level.txt +1 -0
- ccmd-1.1.4/commands.yaml +121 -0
- ccmd-1.1.4/pyproject.toml +79 -0
- ccmd-1.1.4/requirements.txt +14 -0
- ccmd-1.1.4/setup.cfg +4 -0
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
|
+
[](https://github.com/Wisyle/ccmd/releases/latest)
|
|
52
|
+
[](LICENSE)
|
|
53
|
+
[](https://www.python.org/downloads/)
|
|
54
|
+
[](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
|
+
|