Skip to content

pritmanvar/BashWiz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BashWiz

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.


Features

  • 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.

Installation

For Users

Install BashWiz directly from PyPI:

pip install bashwiz

For Developers

  1. Clone the repository:
    git clone https://github.com/pritmanvar/BashWiz.git
    cd BashWiz
  2. Create new environment and enable it:
    python -m venv .venv
    source .venv/bin/activate
  3. Install the package in editable mode:
    pip install -e .

Usage

Running BashWiz

Run the following command to start BashWiz:

bashwiz <OPTIONS>

Commands and Examples

  1. Show Help Message

    bashwiz --help

    Displays the help message with a list of available options.

  2. Show Current Configuration

    bashwiz --config

    Outputs the current configuration settings.

  3. Set Configuration Interactively

    bashwiz --set-config

    Launches an interactive prompt to set configuration options.

  4. Execute a Query

    bashwiz --query "install postman using snap"

    Executes a specific query, such as installing software or troubleshooting.


Project Structure

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

Contribution

We welcome contributions! Follow these steps:

  1. Fork the repository.
  2. Create a feature branch:
    git checkout -b feature-name
  3. Commit your changes:
    git commit -m "Add feature-name"
  4. Push to the branch:
    git push origin feature-name
  5. Open a Pull Request.

License

This project is licensed under the terms of the MIT License.


Contact

For questions or support, please contact:

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages