# contributing Pull requests are welcome. If you're planning something big, open an issue first so we don't step on each other. ## building ```sh cmake -B build cmake --build build --config Release ``` Capstone is fetched automatically via FetchContent. You don't need to install it. ## what needs work - **More architectures** — right now it's x86/x86-64 only. ARM, AArch64, etc would be nice. - **Better indirect call resolution** — the register tracer is basic. It could be smarter. - **More binary formats** — Mach-O isn't supported yet. ## style - No tabs. 4 spaces. - No comments unless the code is genuinely confusing. - Match the existing style. If you're changing something, make it look like it belongs. - Keep it simple. This is not a framework. ## committing Write short commit messages. Use `git rebase` to keep the history clean. No merge commits. ## testing There's a test binary in `tests/`. Run cfgrip on it and make sure the output is valid JSON: ```sh ./build/cfgrip tests/example1.exe ``` If your change affects the output format, update `tests/example1.exe.cfg` too.