Contributing Index - drizztdourden08/relic-of-the-past GitHub Wiki
Contributing Guide
Thanks for helping improve Relic of the Past! This is the contributor hub; the repo-root
CONTRIBUTING.md
is the short version GitHub surfaces, and points here.
[!IMPORTANT] This is an unofficial fan project, not affiliated with Nintendo. Keep ROMs and other user-provided game assets out of commits, since they're gitignored and never committed.
Start here
- Build from Source needs Node ⥠24,
npm install,npm run dev. The WASM core is committed prebuilt, so you don't need Emscripten for normal work. - Coding Standards sets â€200 lines/file, arrow functions, exports at end, one-thing-per-file, deep folders. ESLint and hooks enforce all of it.
- Under File Tagging & Analysis, every file carries
@layer/@kind, andnpm run analyzegates changed files. New file ânpm run analyze:tag. - Under Plan Format, every implementation plan names its design pattern(s), shows a CRUD filetree, the data model in TS, and a flow diagram.
When your change touches
| Area | Read |
|---|---|
| C / the game core | Building the WASM Core, Adding a WASM Function |
| The CâJS boundary | Game Hooks Reference |
| Renderer â main (Electron IPC) | Adding an IPC Channel, Electron & IPC |
| Architecture / where code goes | Architecture overview |
| UI components | Design System, Design Language |
| Anything user-visible | run the app and verify; see Testing |
| Linux / Android targets | Testing on a Linux VM & Android emulator |
| Sharing files or bug reports with other contributors | The Sanctuary |
Before you open a PR
npm run ci # tsc + eslint + repo analysis
- Conventional Commits (
feat:,fix:,docs:, and so on), scoped where helpful. - Branch from
master, keep PRs small and focused, and fill out the PR template. - Update docs in
docs/when behavior changes. They're the source of truth and sync to the Wiki. - For security-sensitive reports, use private disclosure, not a public issue.