Contributing - amosproj/amos2025ss04-ai-driven-testing GitHub Wiki
Contributing to AI-Driven Testing
We welcome contributions to the AI-Driven Testing project! Whether you're fixing a bug, adding a new feature, or improving documentation, your help is appreciated. Please follow these guidelines to make the contribution process smooth.
1. Getting Started
- Familiarize yourself with the project:
- Read the User Developer Guide and other relevant Wiki pages to understand the project's purpose, architecture, and setup.
- Explore the existing codebase.
- Check for existing issues: Look at the GitHub Issues tab to see if your idea or bug is already being tracked.
- Discuss your plans (for larger contributions): If you plan to make a significant change, it's a good idea to open an issue first to discuss your approach with the maintainers.
2. Development Workflow
-
Fork the Repository (if you are an external contributor):
- Click the "Fork" button on the main repository page.
- Clone your fork to your local machine:
git clone https://github.com/YOUR-USERNAME/amos2025ss04-ai-driven-testing.git
-
Create a New Branch:
- Navigate to your local repository directory.
- Create a descriptive branch for your changes (e.g.,
feature/new-llm-support
,fix/api-bug-123
):git checkout development # Or the main development branch git pull origin development # Ensure you have the latest changes git checkout -b your-branch-name
-
Make Your Changes:
- Write your code, add tests, and update documentation as needed.
- Follow the project's coding style (see below).
-
Test Your Changes:
- Run existing tests to ensure you haven't introduced regressions:
pytest
(from thebackend
directory or project root, depending on test setup). - Add new tests for any new functionality you've implemented. Aim for good test coverage.
- Run existing tests to ensure you haven't introduced regressions:
-
Code Style and Linting:
- This project may use linters and formatters like Black, Flake8, or Ruff (check
pyproject.toml
,pre-commit-config.yaml
, or CI workflows). - Run the formatter/linter before committing:
# Example using Black black . # Example using Ruff # ruff format . # ruff check --fix .
- Ensure your code adheres to these standards. Pre-commit hooks might be set up to automate this.
- This project may use linters and formatters like Black, Flake8, or Ruff (check
-
Commit Your Changes:
- Use clear and descriptive commit messages.
- Stage your changes:
git add .
- Commit:
git commit -m "feat: Add support for XYZ feature"
orfix: Resolve issue with ABC"
-
Push Your Branch:
- Push your branch to your fork (if external) or the main repository (if you have write access):
git push origin your-branch-name
- Push your branch to your fork (if external) or the main repository (if you have write access):
-
Open a Pull Request (PR):
- Go to the original
amosproj/amos2025ss04-ai-driven-testing
repository on GitHub. - You should see a prompt to create a Pull Request from your recently pushed branch.
- Ensure the PR targets the correct base branch (e.g.,
development
ormain
). - Provide a clear title and description for your PR, explaining the changes and referencing any related issues (e.g., "Closes #123").
- The CI process (GitHub Actions) will automatically run checks on your PR. Address any failures.
- Engage in any code review discussions.
- Go to the original
3. Coding Guidelines (General)
- Write clear, readable, and maintainable code.
- Add comments where necessary to explain complex logic.
- Follow Python best practices (PEP 8).
- Ensure new dependencies are added to
requirements.txt
and/orenvironment.yml
and justified.
4. Documentation
- If you add new features or change existing behavior, update the relevant Wiki pages or README files.
- Ensure code comments and docstrings are clear and up-to-date.
5. Issue Tracking
- Use GitHub Issues to report bugs or suggest features.
- Provide as much detail as possible when creating an issue (e.g., steps to reproduce, error messages, expected behavior).
Thank you for contributing!