mirror of
https://github.com/SirHumza/orbisRPC.git
synced 2026-10-14 16:01:28 +02:00
1.8 KiB
1.8 KiB
AGENTS.md — orbisRPC contributor notes
Beta Discord Rich Presence daemon for jailbroken PS4. Testers install the
.elf from Discord; no PKG ships yet. README is the tester entry point,
docs/ is the deep end (index at docs/README.md).
Never break
orbisrpc/is the PS4 payload. Host-test every change:make -C tests test,make -C tests asan,ORBISRPC_STRICT_SECRETS=1 python3 tests/e2e_consumer.py.- Never link
libkernel.so(or any app-world.so). Daemon-world only:libkernel_web.sprx,libSceLibcInternal.sprx,libSceNet.sprx, pluslibSceSystemService.sprxfor foreground detection. CI gates this; a violation dies beforemain()with no log line. - The SDK must be built from git, never the release ZIP (CRT firmware
gate; see
docs/research/sdk-13.52.md). discord_build_activity()arg order is(state, name, details, asset_idle, asset_playing, ...)— every param isconst char*, so a mis-order compiles. Assert values, not arity (seetest_activity_assets).
Secrets
- Never commit a Discord user token or webhook URL. CI enforces this with
ORBISRPC_STRICT_SECRETS=1. The Discord notify webhook lives only in theDISCORD_WEBHOOK_URLrepo secret. SeeSECURITY.md.
Conventions
- Tests link the vendored sqlite amalgamation, not system sqlite, with a
test-only VFS shim (
tests/test_utils.c) — stockxFullPathnamefails silent-CANTOPEN on some CI runners. - Docs: tester flow in
README.md, reference indocs/(TROUBLESHOOTING.md,CONFIG.md,BUILDING.md), hardware research indocs/research/. Keep them in sync with behavior changes. - Never tell testers to use Payload Guest for orbisRPC — it crashes. Autorun via
/data/payloadsis not recommended on test builds. - License is undecided (MIT vs GPL). Don't add GPL code or a LICENSE file until the owners pick.