mirror/github-mirror.sh publishes main and its tags to a read-only GitHub mirror, adding a notice under the README title, with a systemd timer to run it hourly. A GitHub Actions workflow builds the images on the mirror and pushes them to ghcr.io. The docs point prebuilt images there, and CONTRIBUTING no longer invites issues and pull requests. upstream-status.sh now fetches without tags, so upstream's version tags stay out of local clones.
2.0 KiB
Dotcom Arcade: notes for agents
Dotcom Arcade is a heavily modified fork of
flashpoint-web by darkraise
(GPL-3.0), with game streaming added under streaming/. Coding standards and
architecture notes are in CLAUDE.md; feature and deployment docs are in
docs/.
Upstream
- Upstream is https://github.com/darkraise/flashpoint-web, branch
master. It's read-only from here: don't push to it or open pull requests there unless asked. - Most of upstream's code is still used: the backend, the frontend's data layer, the player, and the account and admin pages. Fixes to these should come in from upstream rather than being rewritten here.
- To see what upstream has changed since it was last merged, and how each
touched file stands here, run
scripts/upstream-status.sh. - To pull changes in, follow
docs/08-development/upstream-sync.md. In short:- merge upstream's
masteron a branch (don't cherry-pick); - keep files removed here removed;
- keep the Dotcom Arcade branding;
- keep upstream's migration file names;
- have the pull request merged with a merge commit, never squashed, so the next sync starts from the right place.
- merge upstream's
- Parts that are only ours:
streaming/;scripts/;frontend/src/components/portal/;views/GamePage.tsx;lib/saves/flashSaves.ts;- the discovery backend;
.gitea/;- migrations upstream doesn't have.
GitHub mirror
mirror/ publishes main to a read-only GitHub mirror from the operator's
host, never from a session; see docs/08-development/github-mirror.md. GitHub
runs .github/workflows, the forge .gitea/workflows; keep the two image
workflows in step.
CI
Workflows are in .gitea/workflows. Jobs that run docker builds use the
dejima-privileged runner label; anything else uses dejima-confined. The
privileged job image has no Docker client, so install docker-ce-cli first.
Never hardcode the forge's host name: read it at run time, or take it from the
REGISTRY_HOST repository variable.