First off, thank you for considering contributing to AnsiblePlayTest! It's people like you that make this tool better for everyone.
- Code of Conduct
- Getting Started
- Development Environment
- Project Structure
- Pull Request Process
- Coding Style
- Testing
- Reporting Bugs
- Feature Requests
- Documentation
This project and everyone participating in it are governed by our Code of Conduct. By participating, you are expected to uphold this code.
- Fork the repository
- Clone your fork:
git clone https://github.com/your-username/ansible-playtest.git - Create a branch for your changes:
git checkout -b feature/your-feature-name - Install development dependencies:
pip install -r requirements_dev.txt
We recommend setting up a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements_dev.txtansible_playtest/- Core module codedocs/- Documentationexamples/- Example playbooks and scenariostests/- Test suite
- Update the documentation if needed
- Add or update tests as necessary
- Ensure your code passes all tests:
pytest - Make sure code coverage doesn't decrease:
pytest --cov=ansible_playtest - Submit your pull request
- Address any feedback from maintainers
- Follow PEP 8 guidelines
- Use type hints where possible
- Write docstrings for all functions, classes, and modules
- Use descriptive variable names
- Keep functions focused on a single responsibility
All new code should come with tests. We use pytest for testing:
# Run all tests
pytest
# Run with coverage
pytest --cov=ansible_playtestUse the GitHub issue tracker to report bugs. Please include:
- A clear, descriptive title
- Steps to reproduce the issue
- Expected behavior
- Actual behavior
- Any relevant logs or error messages
- Your environment (OS, Python version, Ansible version)
Feature requests are welcome! Please use the GitHub issue tracker and:
- Use a clear, descriptive title
- Describe the current behavior and explain why it's insufficient
- Describe the desired behavior
- Explain why this feature would benefit most users
Documentation improvements are always welcome! We maintain documentation in the docs/ directory.
When updating documentation:
- Follow the existing style
- Use Markdown for all documentation files
- Keep examples clear and concise