Committing your code changes has never been this easy

Hey everyone!

I wanted to share something I’ve been working on.

Over the past month or so, I’ve been building a tool in my free time to generate commit messages using AI.

The idea was simple: the tool reads my code changes, passes them to an AI, and the AI generates a commit message.

Well, I did that… but I also ended up building a bunch of other useful features along the way.

The project has two parts:

:one: CLI Tool@denyhs/cortex-cli
You can use it directly from your terminal, like this:

cortex commit-message --commitStaged

:two: Web Appcommits.denyhs.com

This one, of course, is built in Meteor, and it also hosts the API.

Here’s what you can do with the web app:
:white_check_mark: View all your generated commit messages
:white_check_mark: Create templates with custom AI prompts for different projects
:white_check_mark: Set up daily reports summarizing all your commits
:white_check_mark: And more!

I started this as a small side project, but it quickly became something I use every single day. As soon as I had the first API version running, I was hooked.

And the cool part? It’s helping other people too!

Two friends of mine have also been using it, and last month alone, the three of us generated over 700 commit messages! :tada:

If you’re interested in giving it a try, I’ve put together some docs here: https://commits.denyhs.com/docs.

I’d love to hear your feedback! Let me know what you think. :heart:

8 Likes

Congrats, @denyhs. This looks like a very useful tool.

Can you still add your custom message followed by whatever the AI generates?

1 Like

This seems a really useful tool. I am going to give it a try. Thank you @denyhs! :rocket:

1 Like

Yes!

I’ve built a template strings feature. You can provide custom variables + additional info.

This is something that’s really useful for me. In a project I work on, the pattern is:

task ID - task Name

What was changed

So, in the template I have for this project, I have this template string:

Then, in the terminal, I can specify which template I want to use, and if there are variables, it will ask me to fill them.

So you are free to do whatever you want!

2 Likes