For club officers: use OFFICER_START_HERE.md and Update public content. Do not edit these files or run deployment commands yourself.
For AI agents and maintainers: this page identifies likely source locations. Inspect the current page before editing because not all text is centralized.
| Public area | Main source locations | Important note |
|---|---|---|
| Home | src/text/Home.js, src/pages/home/Home.jsx, src/images/home/ |
Most prose is centralized. |
| About | src/pages/about/About.jsx, src/images/about/ |
Inspect the component; not every word is in src/text/. |
| Join Us | src/text/JoinUs.js, src/pages/joinUs/, src/text/externalLinks.js, src/images/joinus/ |
Includes membership, waiver, form, map, and price-like wording. Requires owner review. |
| Activities | src/text/Activities.js, src/pages/activities/Activities.jsx, src/images/activities/ |
Significant text, videos, and layout are hardcoded in the component. |
| Events | Firestore event records plus src/pages/events/ |
Admin saves can affect production data immediately. Live behavior is not verified. |
| Shop | Firestore product records plus src/pages/shop/ |
Live commerce is not approved. |
| Committee | src/text/Committee.js, src/pages/officers/Committee.jsx, src/images/committee/ |
Names/titles and duplicate search metadata live in the component. |
| Contact | src/text/ContactUs.js, src/pages/contact/Contact.jsx, src/images/contact/ |
Some text and email parts are hardcoded. |
| Suggestions — SOURCE ONLY, NOT LIVE | src/pages/suggestions/Suggestions.jsx, src/pages/suggestions/suggestions.css |
Information page only: no suggestion form, record, or suggestion-specific service or provider. It opens Contact; any email is a separate existing channel. Exact copy requires communications and privacy/security approval. |
| Footer | src/text/Footer.js, footer components |
Legal/privacy-style wording requires an approved source. |
| Forms, map, and social links | src/text/externalLinks.js |
Use public view/submission links, never private edit links. |
| Terms and Privacy | src/pages/legal/ |
Do not ask AI to invent policy. Require approved owner text. |
| Navigation | src/data.jsx, src/App.jsx |
Route changes require the page map and officer guide to change. |
- Read the officer's one-line request and identify the approving role.
- Inspect the live page and every likely source listed above.
- Open or use one claimed issue and one focused branch.
- Change the smallest possible source area.
- Update search metadata, links, image descriptions, and duplicated visible text when applicable.
- Run focused checks and a production build without exposing secrets or using production data.
- Provide a preview or redacted screenshot.
- Update the affected officer task guide and map.
- Obtain approval before merge.
- Follow Publish and check; do not call a green workflow “live.”
- Prefer JPG or PNG files sized for the page.
- Use lowercase names without spaces.
- Obtain permission before publishing a person's photo.
- Provide meaningful alternative text.
- Remove private metadata and avoid names, addresses, badges, plates, or private screens in the image.
Stop and escalate if the content changes a price, capacity, discount, waiver, Terms, Privacy, member benefit/access, payment, refund, tax, insurance, retention rule, or private data. Those require the owners and evidence in Events, shop, members, and money.