Thanks for your interest in improving prun-operator!
- Bun
- Violentmonkey (recommended over Tampermonkey — it auto-reloads the userscript when the dev server rebuilds)
bun install
bun devbun dev starts Vite with vite-plugin-monkey. On first run, open the printed URL to install the dev userscript into Violentmonkey. After that, edits to src/ rebuild automatically and the script reloads in the browser on your next navigation/refresh of https://apex.prosperousuniverse.com/.
src/
main.ts # entry — wires up the MutationObserver
tiles/ # per-tile enhancements (one module per tile type)
components/ # Preact UI used inside injected tiles
tools/ # cross-tile features (e.g. copy sell contract)
utils/ # DOM helpers, React-safe input simulation, etc.
See CLAUDE.md for architecture notes — tile matching, React-controlled input simulation, and CSS class substring selectors.
bun run buildOutputs the userscript to dist/prun-operator.user.js.
Biome handles formatting and linting:
bunx biome check --write .- Keep PRs focused — one feature or fix per PR.
- Run
bunx biome check --write .andbun run buildbefore submitting. - If you're adding support for a new tile type, follow the pattern in
src/tiles/and register the handler insrc/tiles/index.ts.
By contributing, you agree that your contributions will be licensed under the Apache License 2.0.