https://github.com/david-m-github/iminstant
Versatile and user-friendly command-line interface for managing and automating tasks on Windows systems.
https://github.com/david-m-github/iminstant
automation management-system shell user-friendly windows
Last synced: 5 months ago
JSON representation
Versatile and user-friendly command-line interface for managing and automating tasks on Windows systems.
- Host: GitHub
- URL: https://github.com/david-m-github/iminstant
- Owner: David-M-GitHub
- License: mit
- Created: 2024-12-16T12:52:43.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-01-02T14:27:46.000Z (over 1 year ago)
- Last Synced: 2025-01-02T15:27:54.388Z (over 1 year ago)
- Topics: automation, management-system, shell, user-friendly, windows
- Language: Python
- Homepage:
- Size: 111 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.MD
- License: LICENSE
Awesome Lists containing this project
README

Welcome to **ImInstant**, a powerful and intuitive command-line interface for managing and automating tasks. Designed with versatility and ease of use in mind, this project combines modularity, auto-completion, and a stylish interface to enhance your productivity.
---
# ✨ Key Features
- **Modular Commands:** Each command is implemented as a separate Python file, simplifying extension and maintenance.
- **Autocomplete:** Tab-completion for seamless command execution.
- **Interactive Interface:** Modern, colorful, and user-friendly terminal output.
- **Cross-Platform Support:** Built for Windows with expandability for Linux and macOS.
- **Customizable Modules:** Easy to add or modify commands to fit your needs.
---
# 🚀 Getting Started
## Prerequisites
1. **Python 3.8+**
- Download and install Python from [python.org](https://www.python.org/).
- Ensure Python is added to your system's PATH.
2. **Git** (optional but recommended)
- Download and install Git from [git-scm.com](https://git-scm.com/).
## Clone the Repository
```bash
# Clone using Git
git clone https://github.com/David-M-GitHub/iminstant.git
cd iminstant
```
## Create and Activate Virtual Environment
```bash
# Create a virtual environment
python -m venv venv
# Activate the virtual environment (OS-specific)
# On Windows:
venv\Scripts\activate
# On Linux/macOS:
source venv/bin/activate
```
## Install Dependencies
```bash
# Update PIP
python -m pip install --upgrade pip
# Install Requirements
pip install -r requirements.txt
```
---
# 💻 Usage
## Start the Program
1. Launch the program:
```bash
python main.py
```
2. Start typing commands! The following commands are included by default:
- `help`: Displays a list of available commands.
- `install `: Installs software via Winget.
- `exit`: Exits the ImInstant console.
- `uninstall `: Uninstalls specified software using Winget.
- `systeminfo`: Displays detailed system information.
- `clear`: Clears the console screen.
- `updateall`: Updates all applications to the latest version using Winget.
- `and more...`: See at `help`
3. Autocomplete is available using the `TAB` key.
## Example Session
```plaintext
┌───────────────────────────────────────────────────────────┐
│ Welcome to ImInstant Command Line Interface │
├───────────────────────────────────────────────────────────┤
│ Type 'help' to see available commands. │
│ Type 'exit' to leave the console. │
└───────────────────────────────────────────────────────────┘
iminstant> help
Available commands:
install
help
exit
iminstant> install firefox
Installing firefox...
firefox has been successfully installed!
iminstant> exit
Exiting ImInstant. Goodbye!
```
---
# 📂 Project Structure
```plaintext
iminstant/
├── commands/
│ ├── __init__.py # Command folder initializer
│ ├── install.py # Command: install software
│ ├── help.py # Command: display all commands
│ ├── exit.py # Command: exit the console
│ └── .... #
├── completer.py # Autocomplete functionality
├── main.py # Main entry point
├── requirements.txt # Required dependencies
└── README.md # Documentation
```
---
# 🔧 Extending ImInstant
## Adding a New Command
1. **Create a New Command File:**
Add a new `.py` file in the `commands/` directory. The file name becomes the command name.
Example: `commands/status.py`
2. **Define the `run` Function:**
Each command file must define a `run(args)` function to process input arguments.
Example:
```python
from colorama import Fore
description = "Example Description."
usage = "example"
def run(args):
"""
Example command: Displays system status.
"""
print(f"{Fore.GREEN}System is running smoothly!")
def complete(text):
"""
Auto-completion for the 'example' command.
"""
return []
```
3. **Run the Program:**
Your new command will automatically load and become available.
```bash
python main.py
```
---
# 🔜 Planned Features
1. **Dynamic Argument Parsing:** Add support for flags and options, e.g., `install firefox --silent`.
2. **Command Logging:** Maintain a history of executed commands and their output.
3. **Cross-Platform Enhancements:** Extend compatibility to Linux and macOS.
4. **Custom Themes:** Allow users to customize the appearance of the console interface.
5. **Plugin System:** Enable external plugins for greater extensibility.
6. **Integrated Update Checker:** Notify users when new updates are available for ImInstant or installed software. ✅
7. **Remote Command Execution:** Execute commands on remote systems via SSH.
8. **Task Scheduling:** Schedule commands to run at specific times.
9. **Dependency Management:** Automatically handle software dependencies during installation.
10. **Command Aliases:** Let users define shortcuts for frequently used commands.
---
# 🤝 Contributing
We welcome contributions! Please follow these steps:
1. Fork the repository.
2. Create a new branch for your feature or bugfix.
3. Commit your changes with clear messages.
4. Submit a pull request for review.
---
# 📓 License
This project is licensed under the MIT License. See the `LICENSE` file for details.
---
# 📧 Contact
For support or questions, please contact:
- Email: david@musa-innovation.com
- GitHub: [David-M-GitHub](https://github.com/David-M-GitHub)
---
Start using **ImInstant** today and take command of your tasks effortlessly!