Manages useful commands in one place using fzf
Project description
Script-Command-Manager (SCM)
🚀 SCM Tool Guide
A streamlined command manager for your terminal workflows.
Overview
SCM is a high-performance CLI tool designed to catalog, manage, and execute complex shell commands through an intuitive fuzzy-finding interface. Built with Python and powered by fzf, it eliminates the need to remember arcane syntax or sift through endless history files.
Features
- Fuzzy Search Navigation: Instant filtering of categories and commands using
fzf. - Hierarchical Management: Organize commands into custom categories (e.g., Work, Dev, Personal).
- In-App Administration: Add or delete commands and entire categories directly from the interface.
- Shell History Integration: Commands executed via SCM can be injected into your shell history for easy access later.
- Mac-Optimized Core: Robust file I/O designed to handle macOS-specific shell environments and
sed/grepvariations.
Installation
Prerequisites
- Python: 3.6 or higher.
- fzf: Must be installed on your system.
brew install fzf
Local Setup
- Clone the repository:
git clone [https://github.com/Sahaj001/Script-Manager.git](https://github.com/Sahaj001/Script-Manager.git) cd Script-Manager
- Install in editable mode:
pip install -e .
Configuration
To enable command execution and history injection, add the following wrapper to your ~/.zshrc or ~/.bashrc:
### SCM START ###
rscm() {
local result=$(scm)
if [[ -n "$result" ]]; then
eval " $result"
fi
}
alias s='rscm'
### SCM END ###
🚀 Usage
Note Simply type
sorrun_scmin your terminal to launch the interactive menu.
🛠 Features & Navigation
- Select a Category: Use the arrow keys to navigate or start typing to filter through your existing groups.
- Execute: Choose a specific command and hit
Enterto run it directly in your current shell. - Management:
[+ Add New Category]— Create a new group for your commands.[+ Add Command to...]— Expand your library within a specific category.[-] Delete— Prune old or unused commands and groups.
🤝 Contributing
Contributions make the terminal better for everyone!
- Fork the repository.
- Submit a pull request with your improvements.
- For major changes: Please open an issue first to discuss your ideas so we can stay aligned on the project goals.
License Apache License 2.0
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file command_manager_util-1.1.0.tar.gz.
File metadata
- Download URL: command_manager_util-1.1.0.tar.gz
- Upload date:
- Size: 8.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
67abe2c6939622ee6c053de7354a6d17c8e9a826e78704a7057b2bd4de630c3d
|
|
| MD5 |
a7e4d714c3b0be2563871e11d8023def
|
|
| BLAKE2b-256 |
5c73c8c526a950533f417910ea1463b31c2a588b180f9bebd92605378bb28cc5
|
File details
Details for the file command_manager_util-1.1.0-py3-none-any.whl.
File metadata
- Download URL: command_manager_util-1.1.0-py3-none-any.whl
- Upload date:
- Size: 8.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aea0c95b0ff465a18fc32332aab648b7cd17b72094b27f8e9c8f5d6c9f2bc8c9
|
|
| MD5 |
2444759c6b171f8fe76908f72dfb5a19
|
|
| BLAKE2b-256 |
cc9ae7d0185c720457d17cf6a6d92f096e7b89492e404b8160f2269c6f308672
|