Skip to main content
Yanked

This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Reason given by maintainers: productcli change

Penify CLI Tool

Tests Coverage

A CLI tool to generate smart commit messages, code documentation, and more.

Features

  • Automatically generate documentation for your code
  • Support for multiple programming languages
  • Git hook integration for automatic documentation on commits
  • Folder and file analysis

Installation

Install from PyPI:

pip install penifycli

Usage

Penify CLI provides several subcommands for different functionalities, organized into basic commands (no login required) and advanced commands (login required).

Basic Commands (No login required)

Commit

Generate smart commit messages using local LLM:

penifycli commit [-m "Optional message"] [-e] [-d]

Options:

  • -m, --message: Optional custom commit message
  • -e, --terminal: Open editor to modify commit message before committing
  • -d, --description: Generate commit message with both title and description (without this flag, only title is generated)

Config

Configure local LLM and JIRA settings:

# Configure LLM settings
penifycli config llm --model MODEL_NAME [--api-base API_URL] [--api-key API_KEY]

# Configure LLM settings through web interface
penifycli config llm-web

# Configure JIRA settings
penifycli config jira --url JIRA_URL --username USERNAME --api-token TOKEN [--verify]

# Configure JIRA settings through web interface
penifycli config jira-web

Advanced Commands (Login required)

Login

To log in and obtain an API token:

penifycli login

This command will open a browser window for authentication. After successful login, the API key will be saved locally for future use.

Documentation Generation

Generate documentation for Git diff, files or folders:

# Generate documentation for latest Git commit diff
penifycli docgen

# Generate documentation for specific file or folder
penifycli docgen -l /path/to/file/or/folder

Options:

  • -l, --location: Path to specific file or folder for documentation generation (defaults to current directory)

Git Hook Management

Install or uninstall Git post-commit hooks:

# Install Git hook
penifycli docgen install-hook [-l /path/to/repo]

# Uninstall Git hook
penifycli docgen uninstall-hook [-l /path/to/repo]

Options:

  • -l, --location: Path to the Git repository (defaults to current directory)

Authentication

Penify CLI uses an API token for authentication with advanced features.

If no token is available and you try to access an advanced feature, you'll be prompted to log in.

Local LLM Configuration

For commit message generation, Penify can use a local LLM. Configure it using:

penifycli config llm --model MODEL_NAME --api-base API_URL --api-key API_KEY

Common configurations:

  • OpenAI: --model gpt-3.5-turbo --api-base https://api.openai.com/v1 --api-key YOUR_KEY
  • Anthropic: --model claude-2 --api-base https://api.anthropic.com --api-key YOUR_KEY

JIRA Integration

Configure JIRA integration to enhance commit messages with issue details:

penifycli config jira --url https://your-domain.atlassian.net --username your-email@example.com --api-token YOUR_API_TOKEN

Development

To set up the development environment:

  1. Clone the repository:

    git clone https://github.com/SingularityX-ai/penify-cli.git
    
  2. Install the package in editable mode:

    pip install -e .
    

Running Tests

pytest

License

This project is licensed under the MIT License.

Author

Suman Saurabh (ss.sumansaurabh92@gmail.com)

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Issues

If you encounter any problems or have suggestions, please file an issue on the GitHub repository.

Support

For automated API Documentation, Architecture Documentation, Code Documentation, Pull Request Documentation, or if you need a demo, please join our Discord support channel.

Release files for penifycli 0.2.4

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

Source distribution (sdist)

Source distribution for penifycli 0.2.4
File Size Uploaded
penifycli-0.2.4.tar.gz 26.3 kB Details

Built distribution (wheel)

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

Total release size: 52.1 kB

Release files / penifycli-0.2.4.tar.gz

Download URL penifycli-0.2.4.tar.gz
Size 26.3 kB
Tags Source
SHA-256 checksum
How to use checksums
cb8a50cebd59fff522961c66a426787860329948dafc12a0f28cc7f7235548dd
BLAKE2b-256 checksum
How to use checksums
82f648ba9489dc1e64c1fb43468eaf7898bae82d1a80c2f52845a8a1554d103e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.2

Release files / penifycli-0.2.4-py3-none-any.whl

Download URL penifycli-0.2.4-py3-none-any.whl
Size 25.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e498a19ee55cc24ded8a23675a5b3b7459bcd39fcd62abd656f9e50fe4b0d8bf
BLAKE2b-256 checksum
How to use checksums
32f48eaff2a32a8b84aeb8116bc8e85bf65e0410f2ee28ef408f2bfbd71adbee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.2

Release history Release notifications | RSS feed

This release

0.2.4 This release

2 release files

0.2.2

2 release files

0.2.0

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