Skip to content

Commit 95218bc

Browse files
committed
init claude
1 parent 0cdfd1d commit 95218bc

1 file changed

Lines changed: 32 additions & 0 deletions

File tree

CLAUDE.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# CLAUDE.md
2+
3+
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4+
5+
## Overview
6+
7+
This repo packages Capstone 6.0.0-Alpha6 as a Python package named `capstone6pwndbg` (renamed from the upstream `capstone` to avoid conflicts), intended for use by the [pwndbg](https://github.com/pwndbg/pwndbg) debugger.
8+
9+
The actual Capstone source lives in the `capstone/` git submodule — do not modify it directly. The only root-level files that matter here are:
10+
- `python-rename.patch` — renames the Python package from `capstone` to `capstone6pwndbg` in the submodule's `setup.py`
11+
- `.github/workflows/publish.yml` — builds and publishes wheels to PyPI
12+
13+
## Build
14+
15+
```bash
16+
git submodule update --init --recursive
17+
cd ./capstone && git apply ../python-rename.patch && cd ..
18+
uv build --out-dir dist ./capstone/bindings/python
19+
```
20+
21+
## CI / Release
22+
23+
Releases are triggered by pushing a `v*` tag. The workflow (`.github/workflows/publish.yml`) uses `cibuildwheel 3.3.1` to build binary wheels for Linux (x86_64, aarch64), macOS (x86_64, arm64), and publishes via `twine` with PyPI trusted publishing (OIDC). A separate `sdist` job builds and publishes a source distribution.
24+
25+
## Architecture
26+
27+
This repo has no source code of its own. Its only purpose is:
28+
1. Pin the `capstone` submodule to a specific version.
29+
2. Apply `python-rename.patch` to rename the published package.
30+
3. Drive CI to build and publish wheels to PyPI.
31+
32+
When updating the pinned Capstone version: update the submodule ref, verify the patch still applies cleanly, then push a new `v*` tag to trigger the release workflow.

0 commit comments

Comments
 (0)