doxa-maps/documentation/contributing/README.md
doxa-maps-88655c70 9dc4dda8cf
Some checks are pending
build-gate / build (push) Waiting to run
consolidate docs into documentation/ and deployment shells into deployment/
Driver 2026-09-21: 'a folder called deployment which will store the capacitor
folder, wordpress folder and tauri folder', and 'a folder called documentation
to store the contributing folder so docs are in one place'.

docs/ + contributing/ + CONTRIBUTING.md -> documentation/ (three doc homes into
one). capacitor/ + wordpress/ + src-tauri/ -> deployment/.

The public/ -> dist/ rename the Driver asked about is NOT here: after seeing the
measured blast radius (855 tracked files, 54 source refs, and public/ is the
served web-root four consumers point at) the Driver withdrew it - 'keep the
public folder the same'.

Path references were rewritten mechanically (258 across 87 files), but three
classes needed hand fixes because a prefix regex cannot see them:
  - join(ROOT,'docs',...) in 10 internal scripts - a quoted SEGMENT, not a prefix
  - tauri frontendDist '../public' -> '../../public', since src-tauri is now one
    level deeper; check:tauri caught this exactly as the card predicted
  - the WordPress contract test's dirname(__DIR__,2) -> 3, same reason

Also reverted one over-reach: the rewrite renamed a FINDING-CATEGORY label
'docs' in public-hygiene-check.mjs, which is a rule name in its own header, not
a path.

Verified: full build ALL GUARDS PASS, SRI consistent; check:tauri, check:mobile
(cap sync + webDir OK), check:wp-embed, quoted-scripts, capability-citations,
capability-exemplars, library-index, public-hygiene, parse and drop all pass.
2026-09-21 23:23:23 +00:00

2.1 KiB

Contributing to doxa-maps

Welcome. You want to help build maps — edit colors, add a map, tune a legend — without learning the whole architecture first. This folder is the contributor entry point; the full guides live in the documentation/ set and are linked below, so nothing here goes stale by being duplicated.

The one rule that keeps everything clean

Parameterized + genuinely reused by more than one map → the shared library (library/, alias @map). Not reused → it lives in your app-profile folder (plugin-designs/<your-map>/).

"Local by default, promote deliberately." When in doubt, keep your change local to your own map; something graduates into the shared library only once a second map genuinely needs it. Full reasoning — the promotion / orphan-audit rule — is in ../documentation/explanation.md.

Start here

You want to… Read
Understand the whole picture (one library, many bundles, no rebuild) ../README.md · ../documentation/explanation.md
Learn step-by-step with no jargon (non-coders welcome) ../documentation/tutorial.md
Do a task (add a map, embed, change colors, pick a CDN) ../documentation/how-to.md
Look something up (file map, config fields, library index) ../documentation/reference.md
Understand build-vs-dev + partner-site embedding ../documentation/CONTRIBUTING.md
Edit or add colors (the two places a color can live) COLORS.md

Colors live here

COLORS.md is the beginner deep-dive on the two places a color strategy can live — the shared library/colors/ set vs your bundle's private plugin-designs/<bundle>/src/colors/ — and how the filename decides override-vs-add. The strategy contract (the required export default shape) is in ../library/colors/README.md.