imgui-mirror/CONTRIBUTING.md
Turtle Dove 2cf50a523a docs: Add README.md and CONTRIBUTING.md for fork
- README.md: Fork overview, sync status, active contribution branches,
  quick start, upstream resources, license/credits
- CONTRIBUTING.md: Guidelines for reporting issues, submitting PRs,
  syncing with upstream, branch strategy, areas needing help
2026-07-13 08:13:45 -05:00

2.9 KiB

Contributing to imgui_xl

First and foremost: Dear ImGui is developed by Omar Cornut and the community at ocornut/imgui. This fork (imgui_xl) exists to facilitate community contributions, test improvements, and develop backend fixes before submitting upstream PRs.

How to Contribute

Reporting Issues

  1. Check upstream first — Most issues belong in ocornut/imgui/issues. Only open issues here if they're specific to this fork's modifications.
  2. Use the issue tracker — Provide a Minimal, Complete, and Verifiable Example (MCVE).
  3. Include version info — Branch (master/docking), commit hash, backend, compiler, OS.

Submitting Pull Requests

  1. Fork this repo and create a feature branch from master or docking (match the upstream branch you're targeting).
  2. Keep PRs focused — One fix/feature per PR. Small PRs are reviewed faster.
  3. Follow the existing code style — Dear ImGui has a specific style. Read the upstream FAQ and CONTRIBUTING.md.
  4. Test your change — At minimum, build example_null to verify compilation:
    # Windows (MinGW)
    mingw32-make -C examples/example_null
    
    # Windows (MSVC)
    cd examples\example_null
    call "C:\Program Files\Microsoft Visual Studio\...\VC\Auxiliary\Build\vcvars64.bat"
    .\build_win32.bat
    
  5. Write a clear commit message — Use the format: Area: Description. (#issue) (e.g., Vulkan: Fixed use-after-free in multi-viewport dynamic rendering. (#9390))

Areas Needing Help

Check the upstream "help wanted" issues for areas where contributions are needed. Current focus areas in this fork:

  • Backend improvements — Vulkan, DirectX, Metal backends
  • CI/CD fixes — Android build, cross-platform testing
  • Documentation — Examples, tutorials, backend guides

Syncing with Upstream

This fork tracks ocornut/imgui:master and ocornut/imgui:docking. To sync:

git remote add upstream https://github.com/ocornut/imgui.git
git fetch upstream
git checkout master
git merge upstream/master
git push origin master

Branch Strategy

Branch Tracks Purpose
master upstream/master Stable, synced with upstream master
docking upstream/docking Synced with upstream docking branch
fix/* — Bug fix branches for PRs
enhance/* — Enhancement/feature branches

License

All contributions are subject to the MIT License, same as upstream Dear ImGui.

Code of Conduct

Be respectful, constructive, and patient. This is a community effort.