The NUI source lives in web. The production files referenced by the FiveM manifest are built into web/dist.
Run locally
Open the Vite URL printed in the terminal. Add ?game= with a lowercase game name to preview a specific mock.
Valid game names are drill, keypad, skillbar, sequence, lockpick, pattern, wires, circuit, fingerprint, and terminal.
Validate a change
The browser mock accepts 1234 as a successful keypad entry. It is only a local preview behavior and is not part of the FiveM validator contract.
Browser mocks do not prove NUI focus, FiveM callbacks, resource-stop cleanup, or gameplay behavior. Test changed interactions in FiveM before you release a build.
Contribute a game
Keep changes focused and framework-independent. New games should follow the shared session contract, clean up timers and listeners, support keyboard interaction where appropriate, and document every public option.