First off, thank you for considering contributing to AgentDocstringsGenerator! It's people like you that make this such a great tool.
This document provides guidelines for contributing to the project. Please feel free to propose changes to this document in a pull request.
We value community contributions and appreciate your help. Please be respectful in all your interactions.
If you find a bug, please ensure it hasn't already been reported by searching on GitHub under Issues. If you can't find an open issue addressing the problem, please open a new one. Include a clear title, a detailed description, and a code sample or test case that demonstrates the issue.
If you have an idea for an enhancement, please open an issue to discuss it first. This allows us to coordinate our efforts and ensure the proposed changes align with the project's goals.
We welcome pull requests. Please follow these steps to have your contribution considered:
- Follow the Development Workflow.
- Ensure that your code adheres to the Styleguides.
- Make sure all tests pass.
- Fill out the pull request template provided.
This project uses a GitFlow-like branching model.
master: This branch contains the latest stable release. Direct pushes are not allowed.dev: This is the main development branch. All feature branches should be created fromdev, and all pull requests should be submitted todev.feature/*: For new features. Branched fromdev. Example:feature/new-parser.fix/*: For bug fixes. Branched fromdev. Example:fix/off-by-one-error.release/*: For preparing new releases. Branched fromdev. Merged intomaster.
- Fork the repository on GitHub.
- Clone your fork locally:
git clone https://github.com/YOUR_USERNAME/AgentDocstrings.git - Set up the environment:
cd AgentDocstrings pip install -e .[dev] - Create a new branch from
dev:git checkout dev git pull origin dev git checkout -b feature/your-amazing-feature
- Make your changes. Write clean, readable code.
- Add or update tests for your changes in the
tests/directory. - Run tests to ensure everything is working correctly:
python -m pytest - Update the Changelog
NextReleasesection. - Commit your changes. Use a clear and descriptive commit message.
- Push your branch to your fork on GitHub:
git push origin feature/your-amazing-feature - Open a Pull Request to the
devbranch of the main repository.
For every change that affects the user, you must add an entry to the CHANGELOG.md file under the [NextRelease] section. Follow the format of existing entries. If your pull request resolves an existing issue, please link it in the changelog entry (fixes #123) or (closes #456)).
Example:
## [NextRelease]
### Fixed
- **My Awesome Fix**: A brief description of what you've fixed (fixes #78).The release process is partially automated.
- Create a release branch from
dev:git checkout -b release/x.y.z(e.g.,release/1.4.0). - Update the version using
bump-my-version:This command will update the version in# For a patch, minor, or major release bump-my-version bump patch/minor/majorpyproject.tomland update theCHANGELOG.md, replacing[NextRelease]with the new version tag. - Commit the version bump:
git commit -am "chore: release v.x.y.z" - Push the release branch:
git push origin release/x.y.z - Open a Pull Request from the
release/x.y.zbranch tomaster. - Once the PR is merged into
master, therelease-automationworkflow will automatically:- Create a Git tag (e.g.,
v1.4.0). - Create a GitHub Release with the notes from
CHANGELOG.md. - Create a Pull Request to merge
masterback intodev.
- Create a Git tag (e.g.,
- The
release.ymlworkflow will then automatically publish the package to PyPI upon the creation of the GitHub Release.
Please follow the coding style of the project to maintain consistency.
- Python: Google Python Style Guide, formatted with
black. - Comments: Use Better Comments style.
- Docstrings: Use Google Style Docstrings.