An LLM powered super CLI
Project description
supersed
supersed is a natural language-powered file editor that leverages LLMs to perform various file manipulations on txt or txt-like files based on user instructions. Simplify your workflow by managing and editing your text files using plain English commands. No more googling for the right commands!
Features
- Natural Language Editing: Modify text files using simple English commands.
- Backup and Restore: Automatically backup files before making changes and restore them if needed.
- Flexible File Targeting: Specify individual files or use patterns to target multiple files, including those in subdirectories.
- Cross-Platform Compatibility: Works seamlessly on both Linux and macOS systems.
Installation
-
Use PyPI package: If you simply want to use
supersed
, install it from PyPI using.pip install supersed
-
Clone the Repository: If you would like to contribute to
supersed
, consider cloning the github directory.git clone https://github.com/akcanuv/supersed.git cd supersed pip install -e .
-
Set Up OpenAI API Key: Obtain your OpenAI API Key from OpenAI and set it as an environment variable:
- Linux/macOS:
export OPENAI_API_KEY='your-api-key-here'
- Windows (Command Prompt):
set OPENAI_API_KEY=your-api-key-here
- Windows (PowerShell):
$env:OPENAI_API_KEY="your-api-key-here"
Note that running the above command sets the API key as environment variables only temporarily. To set it permanently, add the statement to.bashrc
,.zshrc
or any other shell config file for the shell you're using.
Usage
Run the script with your desired command:
supersed "your instruction here"
Commands
- Execute a Command:
Provide an instruction and specify the scope of the commands with -s, default scope is
.
:
supersed "your instruction" -s "scope"
- Save Backup: Backup specified files:
supersed save
- Restore Backup: Restore all backed-up files:
supersed restore
Examples
- Update the README.md by Reviewing supersed.py:
supersed "update the README.md file by reviewing the code in supersed.py"
- Remove All Blank Spaces in Text Files Within test_files Directory:
supersed "remove all the blank spaces in the text files in test_files directory"
- Save Current File Versions to Backup:
supersed save
- Restore Files from Backup:
supersed restore
Backup and Restore
- Backup: Before executing any changes, supersed automatically backs up the target files to a .backup directory. To manually update the backup, use the save command.
- Restore: If you need to revert changes, use the restore command to retrieve the original files from the .backup directory.
Notes
- File Patterns: Use glob patterns to specify target files. For recursive searches, use patterns like **/*.txt.
- Safety: Always ensure you have backups of important files. Use the save command to create a new backup point after satisfactory changes.
License
This project is licensed under the MIT License.
Project details
Release history Release notifications | RSS feed
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
File details
Details for the file supersed-0.3.8.tar.gz
.
File metadata
- Download URL: supersed-0.3.8.tar.gz
- Upload date:
- Size: 11.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
3ed8507e712ce0297783bd2bd738c206458c5d61e882a86721b74460979068b3
|
|
MD5 |
8b68d68c28eca38d78841bbb911103e0
|
|
BLAKE2b-256 |
87f200c5a2dc9b09759a1ba01163a62e9ee59d0b812a3cdbca3902a761b0ca8b
|
File details
Details for the file supersed-0.3.8-py3-none-any.whl
.
File metadata
- Download URL: supersed-0.3.8-py3-none-any.whl
- Upload date:
- Size: 10.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
36dd1ecff06907348bce241b4402ffbd19591f40d8d90e199ed907e87fa1ccdd
|
|
MD5 |
d60befad3cabca4641766b6a33b4ffad
|
|
BLAKE2b-256 |
d3e91ee9ef63bbb4f990b8fc2c68c8715b4cb385137d6dd679f5afc1757df157
|