Skip to content

Contributing

Fox3 Academy contributors edited this page Sep 29, 2026 · 2 revisions

Contributing

Fox3 Academy is built by DCS pilots for DCS pilots. Every kind of help counts, and most of it needs no code.

Ways to help

You are... You can...
A DCS pilot Fly the lessons in your jet and report what differs from DCS.
A module expert Bring evidence: manual pages, track files, Tacview captures, with the DCS version.
An instructor Suggest lessons and drills with the lesson label.
A web developer Pick an issue labelled good first issue or help wanted, or a task from the backlog.
A 3D artist Improve or add an aircraft or store model. Every model is built by a Blender Python generator in scripts/assets/source and rebuilt with scripts/assets/rebuild_models.py (see docs/assets).

Where the work is

Your first pull request

  1. Fork, then npm install and npm run dev.
  2. Read CONTRIBUTING.md and AGENTS.md. The short version:
    • Model game mechanics only, as DCS presents them to the player.
    • Facts come from docs/research and live in src/data; never invent a key, range or cue.
    • Colours and fonts from the design system only.
  3. Work on a focused branch. Add a test for every logic fix.
  4. Run npm run check (typecheck, tests, build). CI runs the same on your pull request.
  5. For UI changes, screenshot the page at 1440 and 820 wide with scripts/shot.sh (the app is desktop and tablet only).
  6. Open the pull request and fill in the template.

Labels

Label Meaning
dcs-accuracy Behaves differently from DCS World
new-jet Adding or extending an aircraft
lesson New or improved lesson or drill
good first issue Small, well-scoped, good for a first contribution
help wanted Open for anyone to pick up

Code map

Path What lives there
src/data Aircraft, radars, missiles, RWRs, bindings, procedures, sources
src/sim World loop, flight, radar, jamming, IFF, datalink, RWR, launch rules, missile model, SAMs, AI, scenarios, air-to-ground (Shkval, targeting pod, Maverick, weapons)
src/render three.js kit: stage, jets and their models, tactical view, radar volume, cameras, replay, attack scene
src/ui Controls, panels and canvas cockpit displays (radars, RWRs, HUDs, MFCD pages)
src/pages One folder per module

More in the developer guide.

Clone this wiki locally