#shell #command #user #text #command-line #generative-ai #git-commit

app dev-shell

A command line shell for using GenerativeAI tools in the command line

1 unstable release

0.0.2 Jul 30, 2023
0.0.1 Jul 30, 2023

#21 in #generative-ai

MIT license

51KB
653 lines

dev-shell a rust cli for interacting with ChatGPT

Project Status: Concept – Minimal or no implementation has been done yet, or the repository is only intended to be a limited example, demo, or proof-of-concept.

Description

This is a ChatGPT CLI application written in Rust. The application allows users to interact with the ChatGPT API for AI text generation within their terminal.

As a cli the application can accept input from other tools.

git log HEAD~2 | dev-shell Summarize as a release note

Project build and release status

ci release security audit

Building

Prerequisites

Clone the repository and run the tests

cargo test

Build the application

cargo build --release

add the binary target/release/dev-shell to your path or copy to a directory that is already on your path.

Use-cases

Summarize for a git commit

The following summarizes changes and commits those changes.

git diff | dev-shell Summarize changes as a git commit message. | git commit -a -F -

Which is a little long-winded, so you can create an alias in your shell.

alias dscommit="git diff | dev-shell Summarize changes as a git commit message. | git commit -a -F -"

Repository maintenance

Currently, repository maintenance is manual and run semi regularly.

Updating the rust toolchain

rustup update

Remember to update the rust toolchain used by bazel in the WORKSPACE.bazel file.

Updating dependencies

The following command will update the Cargo.lock file with the latest versions of dependencies.

cargo update

Updating/syncing bazel dependencies

This command then takes the updated dependencies and updates the equivalent bazel dependencies.

export CARGO_BAZEL_REPIN=true
bazel test //...

Dependencies

~14–28MB
~413K SLoC