AGENTS.md — Project Context for AI Agents

AGENTS.md — Project Context for AI Agents

This file provides instructions and project context for AI agents working on this repository.

Project Overview

Personal academic website of Aadarsha Gopala Reddy, built using the Minimal Mistakes Jekyll Theme and the academicpages template.

  • Type: Jekyll-based static site (Ruby) with a Node.js asset pipeline.
  • Purpose: Showcases academic profile, research projects, CV, and availability.
  • Key Technologies:
    • Static Site Generator: Jekyll (Ruby 3.3+)
    • Styling: Sass (SCSS)
    • Scripts: JavaScript (bundled/minified via Terser)
    • Automation: Python 3/Jupyter Notebooks for content generation from TSV/BibTeX.
    • Package Management: Ruby (Bundler/Gemfile), Node.js (pnpm 9).
    • CI/CD: GitHub Actions for build verification and HTML proofing.

Directory Structure

  • _config.yml: Global configuration (site metadata, social links, collection settings).
  • _config.dev.yml: Development-specific overrides (disables analytics/comments, sets local URL).
  • _data/: YML files for navigation (navigation.yml), author info (authors.yml), and UI text.
  • _pages/: Main site pages (e.g., about.md, cv.html, projects.md, availability.md).
  • _projects/, _publications/, _talks/, _teaching/: Collections of markdown files.
  • _includes/ & _layouts/: Liquid templates and reusable HTML components.
  • _sass/: SCSS source files for the site’s theme.
  • assets/: Contains compiled CSS, bundled JS (js/main.min.js), and fonts.
  • markdown_generator/: Python scripts and Jupyter notebooks to generate markdown files for publications, projects, and talks from TSV/BibTeX data.
  • talkmap/: Leaflet-based map integration for visualizing talk locations.
  • files/: Static assets like PDFs (CV, Resume).
  • images/: Profile photos, site logos, and project teasers.
  • docs/: Project documentation, including plan.md, tasks.md, and markdown_generator.md.

Key Agent Rules

1. Cleanup LaTeX Compilation Residuals

After running pdflatex, latexmk, or any LaTeX compilation, always clean up build artifacts:

rm -f *.aux *.log *.fls *.fdb_latexmk *.out *.synctex.gz

Keep only the source files (.tex, .sty) and the generated PDF.

2. Development Conventions

  • Front Matter: All content files must include YAML front matter.
  • JS Assets: assets/js/main.min.js must be committed — GitHub Pages does not run the Node.js build pipeline.
  • Cross-Platform: Optimized for Linux/macOS and Windows (PowerShell). Respect .editorconfig for consistent line endings (LF).
  • Privacy: Analytics and comments disabled in dev via _config.dev.yml.

3. CV and Resume

LaTeX source files are in:

  • files/resume_tex/reddy_resume.tex — Concise resume
  • files/cv_tex/reddy_cv.tex — Full academic CV

Each has a corresponding .sty style file. Compile with latexmk -pdf. Before committing, copy the generated PDFs to files/ so they render on the website:

cp files/resume_tex/reddy_resume.pdf files/reddy_resume.pdf
cp files/cv_tex/reddy_cv.pdf files/reddy_cv.pdf

4. Troubleshooting

  • WEBrick Error: Patch at _plugins/charset_injection_patch.rb for local serving on newer Ruby versions.
  • Dependency Issues: If bundle install fails, delete Gemfile.lock and retry. For Node, ensure corepack is enabled to use the correct pnpm version.

5. Writing Style and Naming Conventions

Role Naming — GPSC/GPC Leadership: When referring to Aadarsha’s student government role at WashU:

  • Never write “Vice President of the GPC Chamber” as a standalone title. Always clarify GPC’s relationship to GPSC.
  • Use full forms where necessary and short forms where appropriate. Acceptable phrasings include:
    • “Vice President of the GPC Chamber of the Graduate and Professional Student Council”
    • “Co-Vice President of the GPSC”
    • “Vice President of the Graduate-Professional Council (GPC) Chamber” (as written in the CV/resume)
  • The goal is to avoid ambiguity — GPC is a chamber within GPSC, so any reference should make that relationship clear.

Tone — Honest and Humble: When writing body copy about Aadarsha (cover letters, about pages, bios, CV summaries, etc.):

  • Do not oversell or market skills and experience. No hype, no exaggerations.
  • Keep it honest, modest, and humble. Let facts and concrete accomplishments speak for themselves.
  • Prefer understatement over hyperbole. Use plain, direct language instead of boosterish phrasing.
  • Write with humility throughout — this is the candidate’s expressed voice preference.

Web Research: Web search tools (e.g., websearch_web_search_exa) may be used to research companies, roles, industries, or any other context relevant to writing accurate, informed content about Aadarsha or the organizations he engages with.