CommandGPT is a simple command line tool for GPT-3.5 to convert
- Natural Language to PowerShell command,
- Natural Language to Bash command,
- Bash to PowerShell command,
- PowerShell to Natural Language,
- Bash to Natural Language.
NOTE: This project requires a valid OPENAI API key. You can get one here.
pip install -r requirements.txt
python main.py [-h] -i INPUT -o OUTPUT -c COMMAND [-x] [-d]
-h, --help show this help message and exit
-i INPUT, --input INPUT
Input language
-o OUTPUT, --output OUTPUT
Output language
-c COMMAND, --command COMMAND
Command to will be converted
-x, --execute Execute command and exit
-d, --debug Debug mode
2023-04-11.00-43-56.mp4
for example,
python main.py -i nat -o ps -c "Create a file named test.txt"
or use the interactive mode
2023-04-10.18-18-10.mp4
python main.py
- Convert Natural Language to PowerShell command
Welcome to the CommandGPT!
1. Natural Language to PowerShell
2. Natural Language to Bash
3. PowerShell to Bash
4. Bash to PowerShell
5. PowerShell to Natural Language
6. Bash to Natural Language
7. Exit
Please select an option: 1
Please enter a natural language command: Create a file named test.txt
PowerShell equivalent: New-Item -ItemType File -Path "test.txt"
- Convert Natural Language to Bash command
Welcome to the CommandGPT!
1. Natural Language to PowerShell
2. Natural Language to Bash
3. PowerShell to Bash
4. Bash to PowerShell
5. PowerShell to Natural Language
6. Bash to Natural Language
7. Exit
Please select an option: 2
Please enter a natural language command: List all files in the current directory except test.txt and files starting with a dot.
Bash equivalent: ls -p | grep -v / | grep -v '^test\.txt$' | grep -v '^\.'
- Convert Bash to Natural Language
1. Natural Language to PowerShell
2. Natural Language to Bash
3. PowerShell to Bash
4. Bash to PowerShell
5. PowerShell to Natural Language
6. Bash to Natural Language
7. Exit
Please select an option: 6
Please enter a bash command: curl -X "GET" localhost:9200/_cat/indices?v=true&pretty=true
Natural Language equivalent: List all indices in Elasticsearch.