@@ -64,6 +64,52 @@ Please follow these steps to have your contribution considered by the maintainer
64645. Make sure your code lints.
65656. Issue that pull request!
6666
67+ #### Pull Request Title Format
68+
69+ Please use the following format for your PR titles. This is important because PR titles become commit messages when squash-merged:
70+
71+ ```
72+ <type>: <description>
73+
74+ # Examples:
75+ feat: Add support for async prepared statements
76+ fix: Resolve connection timeout in retry logic
77+ docs: Update streaming documentation
78+ test: Add integration tests for connection pooling
79+ refactor: Simplify error handling in AsyncSession
80+ chore: Update dependencies to latest versions
81+ perf: Optimize batch query execution
82+ ci: Add Python 3.13 to test matrix
83+ ```
84+
85+ **Types:**
86+ - `feat`: New feature or enhancement
87+ - `fix`: Bug fix
88+ - `docs`: Documentation only changes
89+ - `test`: Adding or updating tests
90+ - `refactor`: Code change that neither fixes a bug nor adds a feature
91+ - `chore`: Changes to build process, dependencies, or tooling
92+ - `perf`: Performance improvements
93+ - `ci`: Changes to CI configuration files and scripts
94+ - `style`: Code style changes (formatting, missing semi-colons, etc)
95+ - `revert`: Reverting a previous commit
96+
97+ **Description Guidelines:**
98+ - Use imperative mood ("Add feature" not "Added feature")
99+ - Don't capitalize first letter after the type
100+ - No period at the end
101+ - Keep under 50 characters
102+ - Be specific but concise
103+
104+ #### Pull Request Description
105+
106+ Your PR description should include:
107+ - **What**: Brief summary of changes
108+ - **Why**: The motivation for the changes
109+ - **How**: Technical approach (if not obvious)
110+ - **Testing**: How you tested the changes
111+ - **Breaking changes**: Note any breaking changes
112+
67113## Development Setup
68114
69115For detailed development instructions, see our [Developer Documentation](developerdocs/).
@@ -201,17 +247,15 @@ mypy src
201247
202248## Commit Message Guidelines
203249
250+ Since we use squash merging, your PR title becomes the commit message. However, if you're working locally:
251+
252+ - Follow the same format as PR titles: `type: description`
204253- Use the present tense ("Add feature" not "Added feature")
205254- Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
206255- Limit the first line to 72 characters or less
207256- Reference issues and pull requests liberally after the first line
208- - Consider starting the commit message with an applicable emoji:
209- - 🎨 `:art:` when improving the format/structure of the code
210- - 🐛 `:bug:` when fixing a bug
211- - 🔥 `:fire:` when removing code or files
212- - 📝 `:memo:` when writing docs
213- - ✅ `:white_check_mark:` when adding tests
214- - 🔧 `:wrench:` when changing configuration files
257+
258+ **Note**: Individual commit messages within a PR don't need to be perfect since they'll be squashed. Focus on making the PR title excellent!
215259
216260## Additional Notes
217261
0 commit comments