Thanks for your interest in contributing! This document explains how to set up a dev environment, run tests, and submit high‑quality changes.
git clone https://github.com/Bboy9090/PhoenixCore-.git
cd PhoenixCore-- Python: 3.8 or newer
- Rust: stable toolchain via
rustup - pip and virtualenv (optional but recommended)
On all platforms:
pip install -r requirements.txtOn macOS (for OCLP integration and tests):
git submodule update --init third_party/OpenCore-Legacy-Patcher
pip install wxpython pyobjcThe mobile app is an Expo (React Native) project for iOS and Android.
- Install Node.js 18+ and npm.
- From the repo root:
cd phoenix-core-mobile
npm install
npx expo start-
Run on your phone with Expo Go:
- Install Expo Go on your device.
- Ensure phone and computer are on the same Wi‑Fi (or use
npx expo start --tunnel). - Scan the QR code shown in the terminal.
-
Optional – connect to local web server:
SetEXPO_PUBLIC_API_URLto your host’s LAN IP before starting (e.g.http://192.168.1.100:5000).
python -m pytest tests/Make sure tests pass before opening a PR if you touched Python code.
cargo test --workspaceThis runs all Rust tests across the workspace (Phoenix Core and CLI).
-
Python
- Follow PEP 8 style where practical.
- Prefer type hints where they improve clarity.
- Keep GUI logic separate from core logic where possible.
-
Rust
- Run
cargo fmtbefore committing. - Use
cargo clippyfor lints when possible.
- Run
-
Create a feature branch:
git checkout -b feature/my-change
-
Make your changes in small, focused commits.
-
Add or update tests where it makes sense.
-
Update documentation:
README.mdWINDOWS-README.txtQUICK_START.txtdocs/oclp_integration.md
Before opening a PR:
-
Tests pass
cargo test --workspace python -m pytest tests/ -
Docs updated for any user‑facing changes.
-
Clear description:
- What problem it solves
- How it solves it
- Any trade‑offs or limitations
When filing an issue, please include:
- OS and version (Windows/macOS/Linux)
- Python and Rust versions
- Exact command or GUI action
- Logs or stack traces when available
- Whether you are using a release build or running from source
There are dedicated issue templates for bug reports and feature requests in .github/ISSUE_TEMPLATE/.
For any security‑sensitive issues, please avoid filing public issues and instead contact the maintainer directly if contact information is available in the repo profile.
Thanks again for contributing!