Thanks for your interest! This doc covers how to propose changes, the commit convention, and how releases are cut.
- Read the Code of Conduct
- By submitting a pull request, you agree your contribution is licensed under Apache 2.0
git clone https://github.com/chainbase-labs/agentkey.git
cd agentkey
# Install the skill into your local agent for testing
npx skills add .See scripts/install.sh / scripts/install.ps1 for the end-user install path, and skills/agentkey/SKILL.md for the skill contract.
- Fork and create a feature branch off
main - Make your changes (keep PRs focused — one concern per PR)
- Open a PR with a Conventional Commits title (see below)
- Ensure CI passes (commitlint validates your PR title)
- A maintainer will review and merge
PR titles must follow Conventional Commits:
<type>(optional-scope): <description>
Types:
feat:— new user-facing featurefix:— bug fixdocs:— documentation onlychore:— tooling, build, dependenciesrefactor:— code restructure, no behavior changetest:— test additions/changesci:— CI configperf:— performance improvementstyle:— formatting only
Breaking changes: add ! after the type (feat!: ...) and explain in the PR body.
Examples:
feat: add Reddit post searchfix: correct MCP path detection on Windowsdocs(readme): update install instructionsfeat!: remove deprecated v1 API
Individual commit messages inside a PR are not validated — the PR title is what matters because all PRs are squash-merged using the PR title as the commit message.
Releases are cut automatically by release-please based on Conventional Commits on main. Contributors never run git tag or publish manually.
When conventional commits accumulate on main, release-please opens a "Release PR" that bumps version / plugin.json / CHANGELOG.md. Merging that PR cuts the GitHub Release and tag.
Use the issue templates.
For security issues, do not open a public issue. Email support@chainbase.com — see SECURITY.md.