Contributing Guide¶
Getting Started¶
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR-USERNAME/xx-shell.git - Create a feature branch:
git checkout -b feature/your-feature-name
Development Workflow¶
- Install pre-commit hooks:
pre-commit install - Make your changes following the coding conventions
- Run tests:
pytest - Commit your changes using conventional commits:
git commit -m "feat: add new feature" git commit -m "fix: resolve issue with X" git commit -m "docs: update contributing guide"
Quality Assurance¶
- Testing Strategy
- Unit tests for core components
- Integration tests for command execution
-
End-to-end tests for user workflows
-
Code Quality
- Implement linting
- Enforce code style
-
Maintain test coverage
-
Documentation
- Keep documentation updated
- Generate API documentation
- Maintain changelog
Pull Requests¶
- Push your branch:
git push origin feature/your-feature-name - Create a pull request
- Include:
- Description of changes
- Related issue number (if applicable)
- Test coverage information
- Documentation updates
Code Style¶
- Follow PEP 8 with 100 character line length
- Use type hints for all public APIs
- Include docstrings in Google style format
- Write tests for all new features
Issue Reporting¶
- Use the issue template
- Include:
- Steps to reproduce
- Expected behavior
- Actual behavior
- Environment details