Skip to main content

CommanDeft

CommanDeft is a simple Python CLI tool designed to generate useful shell commands based on user prompts. It utilizes OpenAI's chat models to provide intelligent suggestions and help users compose shell commands quickly and efficiently.

Requirements

  • In order to use CommanDeft you will need an OpenAI API Key which will be asked of you during the initial configuration. You can easily get one from HERE

-If you are using Linux you might have to install xclip using your package manager.
For example, in Debian: sudo apt-get install xclip

Installation

To install CommanDeft, you can use the following command:

pip install commandeft

Example Usage

  1. Generate a shell command based on a prompt:

    commandeft --prompt "list all files in the current directory"
    OR
    commandeft -p "list all files in the current directory"
    

    This will provide a shell command suggestion based on the given prompt:

    > ls -a
    
  2. Run CommanDeft in interactive mode:

    commandeft --interactive

    This will start CommanDeft in interactive mode, allowing you to input prompts and receive command suggestions directly within the CLI.

  3. Re-configure:

    commandeft --configure

    This will run the configuration flow for CommanDeft, allowing you to set up your preferences and customize the behavior of the tool.

Configuration

During the initial configuration or when running:

commandeft --configure (or -c)
  • You can choose the generated answer's temperature. Because this tool is geared towards code generation, lower temperatures perform better. More information about temeratures HERE
  • You can choose the max_token value.
    ⚠️ Keep in Mind that the guided prompt(assistant role prompt + user role prompt without user's prompt) consumes ~70 tokens. The value you specify won't include these tokens.
  • You will also be asked about the action that will be performed every time when you accept a generated command when running in interactive mode.
    The available actions are:
  1. Running the generated command
  2. Copying it to the clipboard

Don't worry though, after this you will be asked to apply your selected action on every generation.

Options

Once installed, you can run CommanDeft using the commandeft command. Here are the available options:

  • -h, --help: Show the help message and exit.
  • -v, --version: Show the version information and exit.
  • -c, --configure: Configure CommanDeft (Like the one on the first run).
  • -i, --interactive: Run CommanDeft in interactive mode.
  • -p, --prompt "TEXT": Specify your prompt inline.

Contributing

Contributions to CommanDeft are welcome! If you encounter any issues, have suggestions for improvements, or would like to contribute code, please check out the project repository on GitHub: Repo

License

This project is licensed under the MIT License. See the LICENSE file for more details.

Feedback

If you find CommanDeft useful or have any feedback, I would love to hear from you! Please feel free to reach out and let me know how I can make this tool even better.

Metadata

Release files for commandeft 0.6.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for commandeft 0.6.1
File Size Uploaded
commandeft-0.6.1.tar.gz 20.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for commandeft 0.6.1
File Interpreter ABI Platform
commandeft-0.6.1-py3-none-any.whl Python 3 none any Details

Total release size: 39.0 kB

Release files / commandeft-0.6.1.tar.gz

Download URL commandeft-0.6.1.tar.gz
Size 20.7 kB
Tags Source
SHA-256 checksum
How to use checksums
b3cc69445fdf4dc4847991b7faf3ed78ecd8493ab03a0a4f1af52e4e6f26ce37
BLAKE2b-256 checksum
How to use checksums
d64540e15571b942e4fd82b0946a9a2b792f12937ed5bfd99cc10bd7842a5bf1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via pdm/2.10.1 CPython/3.11.5

Release files / commandeft-0.6.1-py3-none-any.whl

Download URL commandeft-0.6.1-py3-none-any.whl
Size 18.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
23f80e5ce9212c644d7da3d7691e1fa37fb9a8956e1ee1950df3124e84e903cb
BLAKE2b-256 checksum
How to use checksums
27a8a0d1dc27a01bac0bb1f03d236c5a7abde7a6c212934d4aca79e2557a995a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via pdm/2.10.1 CPython/3.11.5

Release history Release notifications | RSS feed

This release

0.6.1 This release

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page