AGENTS.md
AGENTS.md
Repo-specific notes for Codex and other coding agents working on this portfolio.
Project Shape
- This is a self-contained Jekyll 4 personal research portfolio for GitHub Pages.
- The site is built without an external Jekyll theme gem; layouts, includes, CSS, and JS live in this repo.
- The homepage is
_pages/about.mdwithpermalink: /. - Top-level navigation comes from
_data/nav.yml. - Blog posts live in
_posts/and must useYYYY-MM-DD-title.mdfilenames. - Project entries live in the
projectscollection under_projects/and are output at/projects/:name/.
Local Build And Verification
- Use Ruby 3.x. GitHub Pages deploys from the
mainbranch perREADME.md. - Run
bundle exec jekyll buildbefore finishing changes that affect templates, config, assets, or content rendering. - Use
bundle exec jekyll servefor local preview when visual/layout changes need browser verification. _site/,.jekyll-cache/, andGemfile.lockare currently ignored. Do not commit generated build output or cache files unless the user changes repo policy.
Editing Rules
- Keep changes surgical. Do not rewrite placeholder content unless the user asks for real portfolio copy.
- Do not edit
_site/; it is generated by Jekyll. - When adding a page, put the page in
_pages/, give it explicit front matter, and add nav order in_data/nav.ymlonly if it should appear in the header. - When adding a project, create one Markdown file under
_projects/withlayout,title,description, andorderfront matter. - When adding a post, use
layout: post,title,date, optionaltags, and optionalexcerpt.
Design Notes
- The visual system is defined mainly in
assets/css/main.cssand documented inDESIGN.md. - Preserve the current direction: light frosted header, centered nav, cool gray/white surfaces, cool rose/blue/orange gradients, lo-fi texture, and dark-mode support.
- Keep layout responsive around desktop widths and mobile widths near
390px. - Use existing classes such as
app-surface,interactive-card,empty-state,btn,btn-primary, andbtn-outlinebefore adding new patterns. - Theme behavior is split between the no-flash inline script in
_includes/head.htmland the click handler inassets/js/theme.js; update both only when changing theme semantics.
Known Notes
- The LinkedIn URL in
_data/socials.yml, profile copy, CV, publications, and example project are placeholders.