Welcome to the agentic-layer project! This guide will help you contribute effectively to our codebase.
We follow the Conventional Commits standard for commit messages. This helps us maintain a clean history and generate automated release notes in the future.
<type>: <description>
If you have an issue, include the issue key:
<type>: <issue-key> <description>
We primarily use these commit types:
feat: A new featurefix: A bug fix that does not change the logical behavior of the codechore: Maintenance tasks (dependencies, tooling, etc.)
Other conventional commit types are also allowed (docs, style, refactor, test, etc.), if above types do not fit.
feat: Add user authentication system
fix: Resolve database connection timeout
chore: Update dependencies to latest versions
feat: #1234 Add new feature
fix: #567 Fix login validation bug
- We do not use scopes or breaking change indicators
featandfixcommits may be used for automated release notes in the future- Always include the Jira issue key when working on a ticket
We use a rebase-based workflow to maintain a clean, linear commit history.
-
Rebase your branch against the latest main branch:
git checkout main git pull --rebase origin main git checkout your-feature-branch git rebase main
-
Ensure all commits follow our commit message conventions
Note: When fellow developers have potentially already checked out your branch (like when they have started a review), prefer to use merge instead of rebase to avoid rewriting history. You can rebase your branch later, after all developers have finished their reviews, right before merging the pull request.
- Create a pull request from your feature branch to main
- Ensure all CI checks pass
- Request review from team members
- Address any feedback with additional commits
- Once approved, the pull request will be rebased and merged
- As an internal developer, you merge the pull request yourself
- As an external contributor, a team member will merge your pull request
Configure your Git to use rebase for pulls:
git config pull.rebase trueThis ensures that git pull uses rebase instead of merge by default.
When you're working on a GitHub issue:
- Include the issue number in all relevant commit messages
- Use the format:
#XXXwhere XXX is the issue number - Example:
feat: #123 Add user dashboard component - You can also use GitHub's closing keywords to automatically close issues:
fix: #456 Resolve login validation bug(closes issue #456)feat: #789 Add search functionality(closes issue #789)
# GitHub issues
feat: #123 Add new feature
fix: #456 Fix login validation bugThis helps with traceability and project management across both platforms.
- Install pre-commit hooks for the respective repository (mandatory for all repos with pre-commit configs)
pre-commit install
- Always ensure your code is well-tested before submitting a pull request