Skip to content

Contributing

xwings edited this page Jul 6, 2025 · 2 revisions

Contributing to Qiling Framework

We welcome contributions from the community to make Qiling even better! Whether you're fixing a bug, adding a new feature, or improving the documentation, your help is greatly appreciated.

Ways to Contribute

  • Reporting Bugs: If you find a bug, please open an issue on our GitHub repository. Provide as much detail as possible, including the code to reproduce the issue, the expected behavior, and the actual behavior.
  • Feature Requests: Have an idea for a new feature? Open an issue to discuss it.
  • Pull Requests: If you want to contribute code, please submit a pull request. We follow the standard GitHub flow.
  • Improving Documentation: Our documentation is always a work in progress. If you see something that is unclear, incorrect, or missing, please let us know or submit a pull request to the wiki repository.

Setting up a Development Environment

To contribute code, you'll need to set up a development environment.

  1. Fork the repository: Create your own fork of the Qiling repository on GitHub.
  2. Clone your fork:
    git clone https://github.com/YOUR_USERNAME/qiling.git
    cd qiling
  3. Install in editable mode: This allows you to make changes to the source code and have them immediately reflected when you run Qiling.
    pip install -e .
  4. Install development dependencies: These include tools for testing and linting.
    pip install -r requirements-dev.txt

Coding Style and Conventions

  • Style: We follow the PEP 8 style guide for Python code.
  • Linting: We use flake8 for linting. Before submitting a pull request, please run it on your changes:
    flake8 qiling/
  • Testing: We use pytest for our test suite. Please make sure all existing tests pass and, if you're adding a new feature, add new tests to cover it.
    pytest

Submitting a Pull Request

  1. Create a new branch for your feature or bug fix.
    git checkout -b my-new-feature
  2. Make your changes and commit them with a clear and descriptive message.
  3. Push your branch to your fork.
    git push origin my-new-feature
  4. Open a pull request from your fork to the master branch of the main Qiling repository.
  5. The Qiling team will review your pull request, provide feedback, and merge it when it's ready.

Thank you for your interest in contributing to Qiling!

Clone this wiki locally