Files
branderson 2d1d8cce46 feat: mirror main to GitHub and publish images to GHCR
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.
2026-10-15 16:48:04 -07:00

51 lines
2.0 KiB
Markdown

# Dotcom Arcade: notes for agents
Dotcom Arcade is a heavily modified fork of
[flashpoint-web](https://github.com/darkraise/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 `master` on 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.
- **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.