AGENTS.md
This repo is my personal website (academic/research profile). Agents and collaborators: follow this file as the single source of truth for how to work here.
Goal
Maintain a fast, clean, professional website that highlights:
- Research projects
- Publications
- CV / Resume
- Talks / Outreach / Teaching (optional)
- Contact
Primary priorities: clarity, readability, stability, low maintenance, and a polished design.
Non-goals
- No heavy frameworks (no React rebuild, no complex client-side app)
- No database / server backend
- No “clever” over-engineering
- Avoid fragile build steps and dependency explosions
Tech assumptions (adjust if repo differs)
- Static site (Jekyll / GitHub Pages compatible)
- Content in Markdown
- Data-driven sections via
_data/*.yml - Reusable components via
_includes/ and layouts via _layouts/ - Styling via Sass/CSS
If you discover the repo differs, report it to me before making any changes.
Working style rules (important)
Small, reviewable changes
Keep PRs focused. Don’t mix unrelated refactors with content updates.
Do not introduce tables for layout
Use proper semantic HTML and CSS (flex/grid) instead.
Prefer consistency over novelty
Reuse existing components, spacing, typography, and patterns.
Don’t invent macro-like systems unless asked
No new “magic” conventions that are hard to remember. If a reusable abstraction is needed, keep it obvious and documented.
- Accessibility is not optional
- Meaningful headings (H1 once per page, then H2/H3)
- Alt text for images (or empty alt for purely decorative)
- Sufficient contrast and readable font sizes
- Stability matters
- Don’t break existing URLs
- Don’t rename pages/paths without redirects or strong reason
- Avoid changes that require manual steps every update
- Update CHANGELOG
- After making changes always update the CHANGELOG
- Add “DONE” labels to added features/solved problems in ROADMAP.
- Always follow the GitHub workflow after making changes: Add, commit, push.
For deep changes/large works, crate a new branch to test changes and make sure we don’t break things.
Definition of Done (for any change)
- Site builds locally without errors
- No obvious layout regressions on mobile + desktop widths
- No broken internal links introduced
- Content is consistent in tone and formatting
- Images are optimized (reasonable size; no multi-MB uncompressed assets)
Suggested local workflow (if Jekyll)
Run locally:
bundle installbundle exec jekyll serve (or bundle exec jekyll build)
If the repo uses a different toolchain, follow the existing README.
Content conventions
Publications
- Publications should be data-driven if possible (YAML/JSON in
_data/) - Keep citation links stable and prefer authoritative sources (publisher / DOI / ADS)
- Avoid duplicating the same publication info across multiple files
Projects / Research pages
- Each project should have: short summary, key results, role, links (paper/code), and a clean hero image (optional)
- Prefer concise text and scannable structure
CV / Resume
- Single source of truth (avoid maintaining the same content in 3 places)
- If PDF is generated, keep the pipeline simple and documented
Branch + commit hygiene
- Use feature branches (e.g.,
feat/resume, fix/nav-spacing) - Commit messages: short and descriptive
feat: add resume sectionfix: correct publication year orderingstyle: tighten spacing on research cards
When unsure
If you hit ambiguity:
- Inspect existing patterns and copy them
- Prefer the smallest change that solves the problem
- Leave a short note in the PR describing the decision and tradeoff
- Report to me