BashWiz is a Python package designed to automate complex tasks by generating and executing Bash commands sequentially. It simplifies setting up projects, resolving errors, and installing software through predefined workflows and customizable prompts.
- Command Generation: Dynamically generates Bash commands for tasks like setting up projects or installing software.
- Error Resolution: Handles errors with intelligent troubleshooting using pre-defined prompts.
- Custom Workflows: Create and execute workflows tailored to your requirements.
- Environment Configuration: Utilizes configuration files to ensure repeatable and scalable solutions.
- Safety Checker: Ensures commands are safe to execute by validating them against predefined rules.
Install BashWiz directly from PyPI:
pip install bashwiz- Clone the repository:
git clone https://github.com/pritmanvar/BashWiz.git cd BashWiz - Create new environment and enable it:
python -m venv .venv source .venv/bin/activate - Install the package in editable mode:
pip install -e .
Run the following command to start BashWiz:
bashwiz <OPTIONS>-
Show Help Message
bashwiz --help
Displays the help message with a list of available options.
-
Show Current Configuration
bashwiz --config
Outputs the current configuration settings.
-
Set Configuration Interactively
bashwiz --set-config
Launches an interactive prompt to set configuration options.
-
Execute a Query
bashwiz --query "install postman using snap"Executes a specific query, such as installing software or troubleshooting.
BashWiz/
├── LICENSE # Project license
├── MANIFEST.in # Package manifest file
├── pyproject.toml # Build configuration
├── README.md # README File for project
├── setup.py # Installation script
├── BashWiz/
│ ├── __init__.py # Package initializer
│ ├── __main__.py # Entry point
│ ├── .env # Environment variables -> It is managed automatically.
│ ├── config.py # Configuration management
│ ├── schemas.py # Data schemas
│ ├── utils/ # Utility scripts
│ │ ├── functions.py # Helper functions
│ │ ├── config_functions.py # Configuration utilities
│ ├── Graphs/ # Graph-based task management
│ │ ├── agents.py # Agent definitions
│ │ ├── graph.py # Graph utilities
│ ├── prompts/ # Prompt templates
│ ├── command_builder_prompt.yaml
│ ├── error_resolver_prompt.yaml
│ ├── safe_command_checker_prompt.yaml
We welcome contributions! Follow these steps:
- Fork the repository.
- Create a feature branch:
git checkout -b feature-name
- Commit your changes:
git commit -m "Add feature-name" - Push to the branch:
git push origin feature-name
- Open a Pull Request.
This project is licensed under the terms of the MIT License.
For questions or support, please contact:
- Email: pritmanvar@gmail.com
- LinkedIn: pritmanvar