Inspiration

  • I often spent extra time writing PR titles and descriptions after finishing my work.
  • It became a repetitive part of my workflow.
  • I wanted a tool that could understand my Git changes directly and generate a good PR automatically.

What it does

  • Reads your local Git changes.
  • Generates PR titles and descriptions automatically.
  • Works completely offline.
  • Supports custom project instructions.
  • Helps teams keep pull requests consistent.

How we built it

  • Built as an open-source CLI tool using Node.js and TypeScript.
  • Analyzes the local Git diff.
  • Uses AI to generate PR titles and descriptions.
  • Supports project-specific configuration for custom PR styles.
  • Uses GitHub Actions for automatic PR generation.
  • Uses YAML workflows for PR automation.
  • Published as an npm package.

Challenges we ran into

  • Generating meaningful PR descriptions for different types of code changes.
  • Keeping the generated output clear and relevant.
  • Making the tool simple to use while keeping it flexible.
  • Supporting different project workflows.

Accomplishments that we're proud of

  • Built my first open-source package.
  • Created a tool that saves developers time.
  • Added offline support.
  • Added support for custom project instructions.
  • Made the tool easy to set up and use.

What we learned

  • Building and publishing an open-source package.
  • Creating a CLI tool with Node.js and TypeScript.
  • Working with Git diffs and Git internals.
  • Using GitHub Actions for automation.
  • Setting up CI/CD pipelines.
  • Writing GitHub Actions YAML workflows.
  • Managing npm package releases and versioning.
  • Writing clear documentation for developers.
  • Designing tools that solve real developer problems.
  • Improving projects based on community feedback.

What's next for GitInk

  • Improve the quality of generated PR titles and descriptions.
  • Support more AI providers.
  • Add integrations with popular code editors.
  • Add more customization options.
  • Continue improving GitInk based on community feedback.

Built With

Share this project:

Updates