Metadata-Version: 2.1
Name: porunga_cli
Version: 0.1.2
Summary: A CLI tool to suggest commit messages
Author: HARIHARA SUDHAN (HARI)
Author-email: 108145682+hari0205@users.noreply.github.com
Requires-Python: >=3.11,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: click (>=8.1.7,<9.0.0)
Requires-Dist: defusedxml (>=0.7.1,<0.8.0)
Requires-Dist: flake8 (>=7.1.0,<8.0.0)
Requires-Dist: inquirerpy (>=0.3.4,<0.4.0)
Requires-Dist: keyring (>=25.2.1,<26.0.0)
Requires-Dist: keyrings-alt (>=5.0.1,<6.0.0)
Requires-Dist: langchain (>=0.1.16,<0.2.0)
Requires-Dist: langchain-openai (>=0.1.3,<0.2.0)
Requires-Dist: python-dotenv (>=1.0.1,<2.0.0)
Requires-Dist: tenacity (>=8.4.2,<9.0.0)
Description-Content-Type: text/markdown

# Porunga - A CLI tool to suggest commit messages

A simple tool to suggest commit messages.

![Porunga Usage](./assets/porunga-use-ezgif.com-speed.gif)

## Prerequisites

- Make sure you are using Python version >3.11
- This tool requires OPENAI API Key to work. Please see [this](https://help.openai.com/en/articles/4936850-where-do-i-find-my-openai-api-key)

## Installation

`pip install porunga`

## Usage

- To see a list of commands availabe to use:

```sh
porunga --help
```

- To get information about a specific command , use:

```sh
porunga COMMAND --help
```

Example:

```sh
porunga set-env --help
```

- To set env variables, it is **recommended** to use set-env command

```sh
porunga set-env OPENAI_API_KEY=sk-....
```

You can set the following env variables that this tool uses:

- `OPENAI_API_KEY` : API key from OpenAI
- `PORUNGA_MODEL_NAME` : Open AI Model to use
- `PORUNGA_MODE` : Either `cost` or `precise` or `balanced`. It is **recommended** to precise for the best results

> This CLI tool uses gpt-4o by default, which is recommended.

- To get suggestions

```sh
porunga suggest FILEPATH -n 2
```

This generates 2 suggestions for the particular uncommitted changes.

## Warning

The results generated by this tool can be unpredictable and may produce inconsistent results. Users are advised to review and verify the suggestions before using them.

