Skip to main content

Cross-platform Command Manager - Simplify your terminal with intuitive shortcuts

Project description

๐Ÿง  CCMD โ€” Custom Command Manager

Latest Release License Python Security

Cross-platform command enhancer for humans. Replace long, repetitive terminal syntax with short, intuitive commands. Works on Linux, Windows PowerShell, and WSL โ€” safe, rollback-ready, and open source.

โœจ New in v1.1.3: Bug Fix Release! Fixed command chaining directory persistence, interactive timeout issues, and pip install warnings.

๐Ÿ”— v1.1.2: Command Chaining & Composability! Chain commands with >>>, enhanced security, and process management.

๐Ÿ” v1.1.1: Enterprise-grade security! Master password protection, command injection prevention, SSH key validation, and intelligent auto-locator.

โš ๏ธ 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 before using CCMD. Use carefully, cautiously, and responsibly.

๐Ÿ“Œ 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 โ€” it's safe, fast, and backward compatible!


๐Ÿงฉ Overview

CCMD is an open-source project developed by De Catalyst (Wisyle).
It lets you define simple, natural shortcuts for everyday shell operations โ€” no more typing endless flags or remembering weird syntax.

Instead of typing:

cd ~/Downloads
git add .
git commit -m "update"
git push

You can just write:

go downloads
push

CCMD handles the rest. It safely installs into your shell profile, manages custom commands through YAML, and supports plugins, system monitoring, and SSH management.


โœจ Features

๐Ÿ› v1.1.3 Bug Fixes (LATEST!)

  • ๐Ÿ”ง Fixed Directory Persistence โ€” Chained commands now correctly persist directory changes
  • โฑ๏ธ Fixed Interactive Timeouts โ€” Interactive commands like claude no longer timeout
  • ๐Ÿ“ฆ Fixed Pip Install Warnings โ€” Automatic handling of externally-managed Python environments
  • โž• Enhanced Navigation โ€” Support for custom project directory paths in go command
  • ๐ŸŽฏ 180s Timeout for Non-Interactive โ€” Non-interactive commands timeout after 3 minutes (prevents hangs)

Upgrade Recommendation: If you're using v1.1.2 command chaining, upgrade to v1.1.3 for critical bug fixes!

๐Ÿ”— v1.1.2 Features

  • ๐Ÿ”— Command Chaining โ€” Chain commands with >>> operator: go downloads >>> ls >>> echo "done"
  • ๐Ÿ”„ Command Composability โ€” CCMD commands can call other CCMD commands
  • ๐ŸŽฏ Smart Directory Chaining โ€” Directory changes persist through command chains
  • ๐Ÿ›ก๏ธ Enhanced Security โ€” Context-aware validation, expanded pattern detection (40+ patterns)
  • ๐Ÿ’€ Process Management โ€” kap kills all processes (with confirmation), kp kills by name
  • ๐Ÿ” bcrypt Fallback โ€” PBKDF2-HMAC-SHA256 fallback if bcrypt unavailable
  • ๐Ÿ”’ Type Enforcement โ€” Custom commands cannot abuse privileged types

Example: ccmd add โ†’ name: devwork โ†’ command: go projects >>> ls >>> echo "Ready to code!"

๐Ÿ” v1.1.1 Security Features

  • ๐Ÿ”’ Master Password System โ€” Protect sensitive commands with bcrypt-hashed passwords
  • ๐Ÿ›ก๏ธ Command Injection Prevention โ€” Automatic blocking of dangerous command patterns
  • ๐Ÿ” SSH Key Validation โ€” Verify key permissions (0600) before use
  • ๐Ÿ” Sensitive Command Detection โ€” Auto-detect and protect sudo, ssh, AWS commands
  • ๐Ÿ“ Atomic File Operations โ€” Safe, corruption-proof file writes
  • ๐ŸŽฏ Intelligent Auto-Locator โ€” No more path issues, works anywhere
  • ๐Ÿ“Š Audit Logging โ€” Track all authentication attempts
  • โšก Security Cache โ€” 5-minute authentication window for convenience

New Commands: init, debug, sudo, change-password, reset-password, kap, kp

๐Ÿ†• v1.1.0 Features

  • โœจ Custom Commands โ€” Create your own commands with add, manage with remove
  • ๐Ÿ”„ Instant Reload โ€” reload command updates config without manual reinstall
  • ๐ŸŽฏ Interactive Push โ€” Full git workflow with file selection and auto-commit messages
  • ๐Ÿ“‹ Command Manager โ€” Enable/disable commands with list
  • ๐Ÿ›ก๏ธ Graceful Cancellation โ€” Press Ctrl+C anytime without ugly errors
  • ๐ŸŒ Better Windows Support โ€” Fully tested on PowerShell with proper encoding

Core Features

  • Cross-Platform Support โ€” Linux, WSL, Windows PowerShell (macOS code exists but untested*)
  • Natural Commands โ€” No prefixes; just type go, push, cpu, etc.
  • Smart Directory Navigation โ€” Search and jump to directories anywhere
  • Auto Git Integration โ€” Interactive add, commit, and push workflow
  • System Insights โ€” Monitor CPU, memory, and processes
  • Safe Rollback โ€” Backs up your shell configuration before any changes
  • Persistent Customization โ€” Your custom commands survive CCMD updates
  • Password Protection โ€” Mark custom commands as requiring authentication

*macOS users: We need your feedback! Please test and report issues.


๐Ÿ“š Documentation

For detailed guides and technical documentation, see:


๐Ÿงฑ Project Structure

ccmd/
 โ”œโ”€โ”€ cli/
 โ”‚   โ”œโ”€โ”€ main.py           # CLI entrypoint
 โ”‚   โ”œโ”€โ”€ install.py        # Installation and PATH setup
 โ”‚   โ”œโ”€โ”€ editor.py         # Interactive command editor
 โ”‚   โ””โ”€โ”€ ssh_manager.py    # Manage SSH aliases and keys
 โ”œโ”€โ”€ core/
 โ”‚   โ”œโ”€โ”€ parser.py         # Parse and map custom commands
 โ”‚   โ”œโ”€โ”€ executor.py       # Execute commands securely
 โ”‚   โ”œโ”€โ”€ registry.py       # Manage alias storage
 โ”‚   โ”œโ”€โ”€ rollback.py       # Backup & restore shell configs
 โ”‚   โ””โ”€โ”€ system_check.py   # Detect OS and compatibility
 โ”œโ”€โ”€ commands.yaml         # Default command definitions
 โ”œโ”€โ”€ run.py                # Master entrypoint
 โ”œโ”€โ”€ setup.sh              # Unix installer
 โ”œโ”€โ”€ setup.ps1             # Windows installer
 โ”œโ”€โ”€ LICENSE
 โ””โ”€โ”€ README.md

๐Ÿš€ Installation

Prerequisites

  • Python 3.7+

Method 1: Using Git (Recommended)

For users comfortable with Git:

# Clone the repository (ccmd branch)
git clone -b ccmd https://github.com/Wisyle/ccmd.git
cd ccmd

# Run the installer for your platform
# Linux/macOS/WSL:
bash setup.sh

# Windows PowerShell:
.\setup.ps1

# Reload your shell
source ~/.bashrc  # or ~/.zshrc for Zsh, or restart terminal

Method 2: Download ZIP (For non-Git users)

If you're not familiar with Git, download the official release:

  1. Download the latest release:

  2. Extract the files:

    • Extract the downloaded ZIP file
    • Rename the folder to ccmd (remove any version suffix)
  3. Install CCMD:

    On Linux/macOS/WSL:

    cd /path/to/ccmd
    bash setup.sh
    source ~/.bashrc  # or ~/.zshrc
    

    On Windows PowerShell:

    cd C:\path\to\ccmd
    .\setup.ps1
    . $PROFILE
    
  4. Test installation:

    python3 run.py --check
    go home
    

Verify Installation

After installation, test that CCMD is working:

# Check system status
python3 run.py --check

# List available commands
python3 run.py --list

# Test a command
go home

Uninstall / Rollback

python3 run.py --restore

Update CCMD

If installed via Git:

cd /path/to/ccmd
git pull origin ccmd
python3 run.py --install

If installed via ZIP:

  • Download the latest ZIP
  • Extract and replace your existing ccmd folder
  • Run the installer again (bash setup.sh or .\setup.ps1)

๐Ÿง  Default Commands

Navigation

Command Description Example
go <dir> Navigate to directory or search go downloads

Git Operations

Command Description Notes
push Interactive git add, commit, and push Auto-generates commit messages ๐Ÿ†•

System Monitoring

Command Description Platform Support
cpu Show CPU usage Linux, macOS, Windows
mem Show memory usage Linux, macOS, Windows
proc List running processes Linux, macOS, Windows
kap Kill process by PID Linux, macOS, Windows

Custom Commands ๐Ÿ†• v1.1.0

Command Description Notes
add Create a custom command Interactive prompts
remove Delete a custom command Shows list to select from
list Manage commands (enable/disable) Toggle commands on/off

CCMD Management

Command Description Notes
reload Reload config and update shell ๐Ÿ†• No manual reinstall needed
update Update CCMD from GitHub Downloads latest version
version Show current and latest version Checks GitHub releases
restore Restore shell config from backup Rollback changes
uninstall Remove CCMD completely Cleans everything
hi Show system dashboard System overview

โš™๏ธ Configuration

Default Commands

CCMD default commands are defined in $CCMD_HOME/commands.yaml. These are managed by CCMD and updated when you upgrade.

Custom Commands (v1.1.0+)

Your custom commands are stored separately in:

~/.ccmd/custom_commands.yaml

Why separate? Your custom commands survive CCMD updates and never get overwritten.

Create custom commands:

add                    # Interactive command creation

Remove custom commands:

remove                 # Interactive command removal

Reload after manual edits:

reload                 # Reloads config and updates shell

Each command follows this format:

mycommand:
  description: "What this command does"
  action: "the shell command to execute"
  type: custom
  interactive: false   # Set to true for commands needing user input

๐Ÿ” Security & Safety

  • Backups created automatically before modifying any shell files.
  • Rollback available anytime with --restore.
  • SSH keys are never stored or transmitted.
  • Commands executed via safe subprocess calls, never eval.

๐Ÿงช Testing Locally

Before global install, run:

python run.py --test

This simulates:

  • Shell detection and rc edits
  • Git and system command execution
  • Rollback and uninstall checks

๐Ÿงฐ Example Usage

# Navigate fast
go downloads

# Push Git changes instantly
push

# Check system load
cpu

# Connect to your default server
ssh

๐ŸŒ Contributing

Contributions are welcome! Fork the repo, create a branch, make your edits, and open a pull request. A contribution guide will soon be added in /docs/CONTRIBUTING.md.


๐Ÿ“œ License

Released under the MIT License. Free to use, modify, and distribute.


๐Ÿง‘โ€๐Ÿ’ป Developed By

De Catalyst GitHub: @Wisyle Email: Robert5560newton@gmail.com X (Twitter): @iamdecatalyst Instagram: @iamdecatalyst Telegram: @iamdecatalyst

For bug reports, updates, or collaboration inquiries, feel free to reach out.


๐Ÿช„ Tagline

โ€œStop remembering commands. Start commanding naturally.โ€


Always check new releases before downloading

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ccmd-1.1.4.tar.gz (59.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ccmd-1.1.4-py3-none-any.whl (57.7 kB view details)

Uploaded Python 3

File details

Details for the file ccmd-1.1.4.tar.gz.

File metadata

  • Download URL: ccmd-1.1.4.tar.gz
  • Upload date:
  • Size: 59.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for ccmd-1.1.4.tar.gz
Algorithm Hash digest
SHA256 460af10b47e3ef6fa7722db31fa8be93adb83efe9f8507253fb6f6862e628f39
MD5 385881cbc755bcd5cc24d9304499c368
BLAKE2b-256 74f1b464d98882bf44f1891e9f67d801cc95ff96bb29c90fd7fdfe804801ccad

See more details on using hashes here.

File details

Details for the file ccmd-1.1.4-py3-none-any.whl.

File metadata

  • Download URL: ccmd-1.1.4-py3-none-any.whl
  • Upload date:
  • Size: 57.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for ccmd-1.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 1f7ca87387132ab36d7efe926552e5d85c021390094591b45c7848d1fcb6c0fd
MD5 3ab5b8352366a499b296df2ffdfb6806
BLAKE2b-256 9d61f3b9b287c58c0036f2a6c7d0984fed12d7a464b3bd02719e90faf64947b8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page