|
| 1 | +# Agent Guide (Root) |
| 2 | + |
| 3 | +Purpose |
| 4 | + |
| 5 | +- This file orients an automated agent (and humans) to make safe, correct edits. |
| 6 | +- The site is data-driven: update YAML in `data/` and pages update automatically via custom plugins. |
| 7 | + |
| 8 | +Tech stack |
| 9 | + |
| 10 | +- Framework: Docusaurus 3 (React 18) |
| 11 | +- Dev server: `npm install && npm start` (`http://localhost:4720`) |
| 12 | +- Build: `npm run build` → output in `build/` |
| 13 | + |
| 14 | +High-level map (go here for the task you want) |
| 15 | + |
| 16 | +- Add or edit a publication: `data/publications/` (see `data/publications/AGENTS.md`) |
| 17 | +- Add or edit a member (researcher/engineer/visiting/external): `data/members/` (see `data/members/AGENTS.md`) |
| 18 | +- Add or edit a faculty member: `data/faculty/` (see `data/faculty/AGENTS.md`) |
| 19 | +- Add or edit a project definition: `data/projects/` (see `data/projects/AGENTS.md`) |
| 20 | +- Add a project details page (MDX content): `src/pages/research/projects/` (see `src/pages/research/projects/AGENTS.md`) |
| 21 | + |
| 22 | +How content flows |
| 23 | + |
| 24 | +- Custom plugins under `plugins/` load YAML and expose the data globally: |
| 25 | + - Publications → `plugins/publications/` |
| 26 | + - Projects → `plugins/projects/` |
| 27 | + - Members (and member-pages) → `plugins/members/` |
| 28 | +- List pages are MDX under `src/pages/` and use React components that read plugin data. |
| 29 | +- Detail pages are auto-generated by plugins: |
| 30 | + - Publications: `/publications/{slug}` |
| 31 | + - Members (only `type: researcher`): `/members/{slug}` |
| 32 | + |
| 33 | +Quick rules that prevent surprises |
| 34 | + |
| 35 | +- Keep `slug` values unique in YAML. Routes are built from them. |
| 36 | +- Publication authors must be short-name strings (e.g., `A. Kougkas`). Member pages match on this form. |
| 37 | +- To associate a publication with a project, include the project `name` as a tag in the publication YAML (e.g., `ChronoLog`, `Hermes`, `WisIO`). |
| 38 | +- Member photos live in `static/img/members/` and are referenced by filename in YAML. |
| 39 | +- Prefer a consistent publication `date` format (e.g., `June, 2025`). Sorting uses `new Date(date)`. |
| 40 | + |
| 41 | +Common entry points |
| 42 | + |
| 43 | +- Publications list: `src/pages/publications.mdx` |
| 44 | +- Projects list: `src/pages/research/projects/index.mdx` |
| 45 | +- Members directory: `src/pages/members.mdx` |
| 46 | + |
| 47 | +Where to learn details |
| 48 | + |
| 49 | +- See the folder-local `AGENTS.md` for step-by-step, examples, and schema: |
| 50 | + - `data/publications/AGENTS.md` |
| 51 | + - `data/projects/AGENTS.md` |
| 52 | + - `data/members/AGENTS.md` |
| 53 | + - `data/faculty/AGENTS.md` |
| 54 | + - `src/pages/research/projects/AGENTS.md` |
| 55 | + |
| 56 | +Advanced (usually not required for content edits) |
| 57 | + |
| 58 | +- Type definitions: `src/types.ts` |
| 59 | +- Publication table and detail UI: `src/components/publications/` |
| 60 | +- Member list/item/detail UI: `src/components/people/` |
| 61 | +- Project list/cards: `src/components/projects/` |
0 commit comments