Skip to main content

A CLI tool to facilitate the developer workflow

Project description

Glu CLI

Glu CLI is a command‑line interface for Glu that streamlines common development workflows by integrating GitHub pull requests, Jira tickets, and AI‑powered content generation.

Installation

Glu CLI is distributed via PyPI. You can install it with:

pip install glu

【F:pyproject.toml†L1-L7】

Alternatively, to install from source:

git clone https://github.com/BrightNight-Energy/glu.git
cd glu
pip install -e .

Usage

After installation, the glu command will be available:

glu --help

Commands

Glu CLI provides two main command groups: pr and ticket. They are registered as subcommands of the main CLI:

glu pr --help
glu ticket --help

【F:glu/cli/main.py†L253-L260】

pr create

The only command you need. When you're ready to push and raise a PR, use this. It will:

  1. Create your commit message based on commit diff (if uncommitted changes)
  2. Create a ticket in Jira based on PR description (or use the provided ticket #)
  3. Push a PR based on the git diff and tag your reviewers
  4. If PR is not a draft, will move your ticket to Ready for review!

...all fully customizable and within your control.

glu ticket creation demo

glu pr create [OPTIONS]

Options:

  • --ticket, -t TEXT Jira ticket number
  • --project, -p TEXT Jira project (defaults to default project)
  • --draft, -d Mark as draft PR
  • --ready-for-review/--no-ready-for-review Transition ticket to Ready for review
  • --reviewer, -r TEXT Requested reviewers (repeatable)
  • --provider, -pr TEXT AI model provider

See the implementation for more details: 【F:glu/cli/pr.py†L50-L78】

ticket create

Create a Jira ticket, optionally using AI to generate summary and description:

glu ticket creation demo

glu ticket create [OPTIONS]

Options:

  • --summary, --title, -s TEXT Issue summary or title
  • --type, -t TEXT Issue type
  • --body, -b TEXT Issue description
  • --assignee, -a TEXT Assignee
  • --reporter, -r TEXT Reporter
  • --priority, -y TEXT Priority
  • --project, -p TEXT Jira project
  • --ai-prompt, -ai TEXT AI prompt to generate summary and description
  • --provider, -pr TEXT AI model provider

The command also accepts additional JIRA fields via --<field> <value>: 【F:glu/cli/ticket.py†L31-L60】

Configuration (init)

Initialize your Glu configuration interactively:

glu init

Options:

  • Jira Config

    • --jira-api-token TEXT Jira API token (required)
    • --jira-email, --email TEXT Jira email (required)
    • --jira-server TEXT Jira server URL (default: https://jira.atlassian.com)
    • --jira-in-progress TEXT Jira “in progress” transition name (default: Starting)
    • --jira-ready-for-review TEXT Jira “ready for review” transition name (default: Ready for review)
    • --default-jira-project TEXT Default Jira project key
  • GitHub Config

    • --github-pat TEXT GitHub Personal Access Token (required)
  • OpenAI Config

    • --openai-api-key TEXT OpenAI API key (required)
    • --openai-org-id TEXT OpenAI organization ID (required)
  • Glean Config

    • --glean-api-token TEXT Glean API token
    • --glean-instance TEXT Glean instance URL

For full option details, refer to the source definition: 【F:glu/cli/main.py†L45-L124】

Contributing

Contributions to Glu CLI are welcome! Please follow these guidelines:

  1. Fork the repository and create your branch:
    git checkout -b feature/your-feature
    
  2. Make your changes, ensuring that new code includes tests where appropriate.
  3. Install precommit hooks:
     pre-commit install --install-hooks
     pre-commit install --hook-type commit-msg
    
  4. Commit your changes following Conventional Commits.
  5. Push to your fork and open a Pull Request.

Acknowledgements

Glu CLI is inspired by Jira CLI and GitHub CLI.

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

glu_cli-1.4.0.tar.gz (977.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

glu_cli-1.4.0-py3-none-any.whl (22.8 kB view details)

Uploaded Python 3

File details

Details for the file glu_cli-1.4.0.tar.gz.

File metadata

  • Download URL: glu_cli-1.4.0.tar.gz
  • Upload date:
  • Size: 977.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.9

File hashes

Hashes for glu_cli-1.4.0.tar.gz
Algorithm Hash digest
SHA256 ff89be28a65e1cfcf87ac0b7bab0194a9f9216fca8a7124bb91e954e0bf37640
MD5 aacf2040a4a5fdde22acdd766005ab6d
BLAKE2b-256 d3744f0dc070fba8ad2986e1fcab87f5378da8a870607edd059cc0e06ac4b4dd

See more details on using hashes here.

File details

Details for the file glu_cli-1.4.0-py3-none-any.whl.

File metadata

  • Download URL: glu_cli-1.4.0-py3-none-any.whl
  • Upload date:
  • Size: 22.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.9

File hashes

Hashes for glu_cli-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d825160e5a32c6506d9dd61154dbe5ed7db62182f75c58e5300dab330d4d054b
MD5 3b51251e981f22e02430dbcbb8e7f093
BLAKE2b-256 87bc482b6c40ba06f299c25bf99f0a1e8091ef035859a7834934e6e141917608

See more details on using hashes here.

Supported by

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