Skip to content

Contributing Guide

Getting Started

  1. Fork the repository
  2. Clone your fork:
    git clone https://github.com/YOUR-USERNAME/xx-shell.git
    
  3. Create a feature branch:
    git checkout -b feature/your-feature-name
    

Development Workflow

  1. Install pre-commit hooks:
    pre-commit install
    
  2. Make your changes following the coding conventions
  3. Run tests:
    pytest
    
  4. 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

  1. Testing Strategy
  2. Unit tests for core components
  3. Integration tests for command execution
  4. End-to-end tests for user workflows

  5. Code Quality

  6. Implement linting
  7. Enforce code style
  8. Maintain test coverage

  9. Documentation

  10. Keep documentation updated
  11. Generate API documentation
  12. Maintain changelog

Pull Requests

  1. Push your branch:
    git push origin feature/your-feature-name
    
  2. Create a pull request
  3. Include:
  4. Description of changes
  5. Related issue number (if applicable)
  6. Test coverage information
  7. 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