Skip to main content

A penify cli tool to generate Documentation, Commit-summary and Hooks to automate git workflows.

Project description

Penify CLI

Penify CLI is a command-line tool for managing Git hooks and generating documentation. It provides functionality to install and uninstall Git post-commit hooks, generate documentation for files or folders, and perform Git commits with automated message generation.

Installation

You can install Penify CLI using pip:

pip install penify-cli

Usage

Penify CLI provides several subcommands for different functionalities:

Install Git Hook

To install the Git post-commit hook:

penify-cli install-hook -l /path/to/git/repo -t your_api_token
  • -l, --location: The path to the Git repository where you want to install the hook.
  • -t, --token: Your API token for authentication. If not provided, the tool will look for the PENIFY_API_TOKEN environment variable.

Uninstall Git Hook

To uninstall the Git post-commit hook:

penify-cli uninstall-hook -l /path/to/git/repo
  • -l, --location: The path to the Git repository from which you want to uninstall the hook.

Generate Documentation

To generate documentation for files or folders:

penify-cli doc-gen -t your_api_token [options]

Options:

  • -t, --token: Your API token for authentication. If not provided, the tool will look for the PENIFY_API_TOKEN environment variable.
  • -fl, --file_path: Path to a specific file for which to generate documentation.
  • -cf, --complete_folder_path: Path to a folder for which to generate documentation for all files.
  • -gf, --git_folder_path: Path to a Git repository to generate documentation for modified files. Defaults to the current directory.

Note: If you want to automate API Documentation, Architecture Documentation, Code Documentation, Pull Request Documentation and need a demo. Send message in our support channel Discord

Commit Code

To commit code with an automatically generated commit message:

penify-cli commit -gf /path/to/git/repo -t your_api_token [-m "Optional message"] [-e True/False]
  • -gf, --git_folder_path: Path to the Git repository. Defaults to the current directory.
  • -t, --token: Your API token for authentication. If not provided, the tool will look for the PENIFY_API_TOKEN environment variable.
  • -m, --message: Optional commit message. If not provided, a default message will be used.
  • -e, --terminal: Set to "True" to open the terminal for editing the commit message. Defaults to "False".

Environment Variables

  • PENIFY_API_TOKEN: You can set this environment variable with your API token to avoid passing it as an argument each time. Here is the tutorial on setting env variables

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 .
    

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

penify_cli-0.1.1.tar.gz (10.3 kB view hashes)

Uploaded Source

Built Distribution

penify_cli-0.1.1-py3-none-any.whl (13.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page