hum is a Neovim plugin that uses the Claude API to generate clean, natural-language commit messages and pull request descriptions — guided by your repository’s PR template.
Let Claude do the talking while you keep coding.
- 📝 Generate Conventional Commits automatically
- 📋 Craft full pull request descriptions based on your repo's PR template
- 🤖 Powered by Anthropic Claude for smart, context-aware summarization
- 🧠 Works with your current buffer, diff, or staged changes
- 🪶 Minimal, fast, and written in Lua
Use your favorite plugin manager:
{
"simiancreative/hum",
config = function()
require("hum").setup({
claude_api_key = os.getenv("CLAUDE_API_KEY"),
})
end
}use {
"simiancreative/hum",
config = function()
require("hum").setup({
claude_api_key = os.getenv("CLAUDE_API_KEY"),
})
end
}Generate a commit message for staged changes:
:HumCommit
Generate a PR description based on your current branch diff:
:HumPR
If you're interested in contributing to Hum:
# Clone the repository
git clone https://github.com/simiancreative/hum.git
# Set up the development environment (installs dependencies and git hooks)
make setup
# Run tests
make test
# Run linter
make lintSee CONTRIBUTING.md for more details.
require("hum").setup({
claude_api_key = os.getenv("CLAUDE_API_KEY"),
model = "claude-3-haiku", -- or claude-3-sonnet, claude-2, etc.
pr_template_path = ".github/PULL_REQUEST_TEMPLATE.md",
})Like its namesake, hum is small, fast, and purposeful — a quiet companion that helps your code speak clearly.
Let your code hum.
MIT © SimianCreative
