AGENTS.md — Repository Guide for AI Assistants
AGENTS.md — Repository Guide for AI Assistants
This repository hosts the official personal academic, research, and dissemination website for Rubén Mulero:
- Live URL: https://www.rubenmulero.com
- GitHub Repository:
rubenmulero/rubenmulero.github.io - Hosting Platform: GitHub Pages (custom domain via
CNAME) - Primary Language: English (all user-facing content, posts, and publications must be written in English).
1. Owner Profile & Affiliations
When generating text, bios, or metadata, adhere to the following identity:
- Name: Rubén Mulero
- Current Position: Research Scientist at Tecnalia Research & Innovation (Derio, Bizkaia, Spain) and PhD Candidate at the University of the Basque Country (UPV/EHU).
- Doctoral Co-Advisors:
- Dr. Roberto Garay Martinez (Principal Investigator of Energy Unit, DeustoTech, University of Deusto; Institute of Technology, Faculty of Engineering, Av. Universidades 24, 48007 Bilbao, Spain) — https://robertogaray.com/
- Dr. Iñigo Mendialdua (Department of Computer Languages and Systems, University of the Basque Country / UPV/EHU, Manuel Lardizabal Ibilbidea, 1, 20018 Donostia, Gipuzkoa, Spain) — LinkedIn
- Core Research Areas:
- Artificial Intelligence & Deep Reinforcement Learning (DQN, PPO, DDPG, SAC)
- Model Predictive Control (MPC) & Evolutionary Optimization
- Building Energy Management Systems (BEMS) & HVAC Optimization
- Empirical Testing at KUBIK (Tecnalia’s full-scale experimental smart building test facility)
- Ground Source Heat Pumps (GSHP), District Heating, and Smart Grids
- Verified Profiles:
- ORCID: 0000-0002-6341-5161
- Google Scholar: Rubén Mulero Profile
- Tecnalia Science Portal (Pure): scienceportal.tecnalia.com
- LinkedIn: rubenmulero
- GitHub: rubenmulero
- Work Email:
ruben.mulero@tecnalia.com
2. Architecture & Deployment Workflow
- Jekyll Static Engine: Standard Jekyll 3.10 native GitHub Pages configuration.
- CI/CD Pipeline (
.github/workflows/pages.yml):- Automatically triggered on every
git pushto themasterbranch. - Executes
actions/jekyll-build-pagesand deploys artifacts to GitHub Pages (actions/deploy-pages).
- Automatically triggered on every
- Custom Domain:
- Root file
CNAMEcontainswww.rubenmulero.com. - CRITICAL: NEVER delete or alter
CNAMEunless explicitly instructed by the user.
- Root file
3. Directory & File Map
rubenmulero.github.io/
├── favicon.ico # Multi-resolution root favicon (16x16, 32x32, 48x48)
├── CNAME # Points custom domain to GitHub Pages (DO NOT DELETE)
├── _config.yml # Global Jekyll settings, metadata, social links, plugins
├── index.html # Homepage (Hero, profile card, highlights, recent papers, blog previews)
├── feed.xml # RSS 2.0 Feed generator (Liquid-based)
│
├── _data/ # STRUCTURED DATA (Modify these to add content)
│ ├── publications.yml # All papers, DOIs, categories, and BibTeX citations
│ ├── research.yml # Core research lines and portfolio summaries
│ ├── cv.yml # Timeline of work, education, advisors, and skills
│ ├── collaborators.yml # Frequent co-authors and academic network
│ └── navigation.yml # Header navigation links
│
├── _posts/ # Blog articles in Markdown (YYYY-MM-DD-title.md)
│ ├── 2020-05-01-site-launched.md
│ ├── 2025-06-15-training-workbench-intelligent-energy-operators.md
│ └── 2026-10-29-relaunching-personal-website.md
│
├── _layouts/ # Page layouts
│ ├── default.html # Base shell (head, header, main, footer, main.js)
│ ├── page.html # Standard page container with title header
│ └── post.html # Blog post layout with metadata, author box, RSS, and nav
│
├── _includes/ # Reusable components
│ ├── head.html # Meta tags, fonts, styles, MathJax, RSS autodiscovery, favicons
│ ├── header.html # Sticky navigation, logo monogram, theme toggle, mobile hamburger
│ ├── footer.html # Affiliations, quick links, academic profiles, RSS button
│ └── publication_item.html # Card with category badge, author highlighting, DOI, and BibTeX copy
│
├── assets/ # Static assets
│ └── images/
│ ├── ruben-mulero.jpg # User portrait photo (1024x1024 high-res)
│ ├── favicon.png # 32x32 browser tab icon
│ ├── favicon-192.png # 192x192 high-res favicon
│ ├── apple-touch-icon.png # 180x180 Apple touch icon
│ └── favicon.ico # Multi-resolution favicon resource
│
├── css/
│ └── main.css # Comprehensive CSS with CSS custom properties (Light/Dark themes)
├── js/
│ └── main.js # Theme toggle, mobile menu, publication filter, BibTeX copy
│
├── publications/index.html # Filterable publications catalog (Journals, Conferences, Books)
├── research/index.html # Deep-dive into research lines and contributions
├── blog/index.html # Chronological blog listing with RSS subscription
├── blog/atom.xml # Legacy Atom feed compatibility
├── cv/index.html # Interactive CV and timeline
├── bio/index.html # Dedicated Biography, academic trajectory, and collaborators
├── about/index.html # Legacy route redirecting to /bio/
└── contact/index.html # Office address, email, LinkedIn, and verified scientific profiles
4. How to Perform Common Maintenance Tasks
Task A: Adding a New Scientific Publication
Do not edit raw HTML. Open _data/publications.yml and prepend or insert a new entry into the YAML array:
- title: "Title of Your Paper or Conference Article"
authors: "Rubén Mulero, Roberto Garay-Martinez, Iñigo Mendialdua, et al."
year: 2026
category: journal # Allowed: 'journal', 'conference', or 'book'
category_label: "Journal Article" # Display text: 'Journal Article', 'Conference Paper', 'Book Chapter'
venue: "Applied Energy"
doi: "https://doi.org/10.1016/j.apenergy.2026.12345"
doi_id: "10.1016/j.apenergy.2026.12345"
featured: true # Set to true to highlight with a gold star badge
Note: In publication_item.html, the author string automatically bolds any occurrence of "Rubén Mulero".
Task B: Publishing a New Blog Post
Create a file inside _posts/ with the standard naming convention: YYYY-MM-DD-your-slug.md.
Example file structure:
---
layout: post
title: "Article Title Here"
date: 2026-11-15
tags: ["Reinforcement Learning", "Building Simulation", "Research"]
excerpt: "A concise 1-2 sentence preview used on the blog index and in RSS readers."
math: true # Optional: set to true to enable LaTeX MathJax equations ($...$ and $$...$$)
---
Introductory paragraph...
### Section Heading
Write in standard Markdown. Fenced code blocks with language specifiers are supported:
```python
import torch
# Example code
Equations can be written with LaTeX when math: true is enabled:
\(Q(s, a) = r + \gamma \max_{a'} Q(s', a')\)
### Task C: Updating Research Lines / Funded Projects
Edit `_data/research.yml`. Each item has:
```yaml
- id: "unique-anchor-id"
title: "Project / Research Title"
acronym: "SITEBOT" # Optional: short acronym
funding: "European Commission — Horizon Europe" # Optional: grant agency
program: "EIC Pathfinder Challenges" # Optional
grant_id: "101307035" # Optional: grant agreement number
cordis_url: "https://cordis.europa.eu/project/id/101307035" # Optional
dimensions_url: "https://app.dimensions.ai/..." # Optional
duration: "October 2026 – September 2030" # Optional
summary: "Short summary for home page cards."
tags: ["Swarm Robotics", "Robotics", "EIC Pathfinder"]
icon: "cpu"
description: "Comprehensive multi-paragraph explanation."
highlights:
- "Key contribution 1."
- "Key contribution 2."
Task D: Updating Experience, Grants, or Education in CV
Edit _data/cv.yml. Work positions, funded European grants (grants: array), educations, advisors, and skills are rendered dynamically inside /cv/index.html.
Task E: Updating Collaborators & Academic Network
Edit _data/collaborators.yml. Add or modify co-authors, roles, institutions, research focus, and external URLs (ORCID, LinkedIn, University profiles). Renders dynamically inside /about/index.html.
5. Styling & Design System Guidelines
- Theme Palette: Built on CSS Custom Properties in
css/main.css.- Light mode: Clean white background (
#ffffff), soft slate cards (#f8fafc), deep text (#0f172a), royal blue accent (#2563eb). - Dark mode (
[data-theme="dark"]): Deep midnight background (#090d16), navy cards (#131d31), sky blue accent (#38bdf8).
- Light mode: Clean white background (
- Typography:
- UI, headings, buttons, tags:
Inter, sans-serif. - Prose / article body:
Merriweather, serif. - Code / BibTeX:
JetBrains Mono, monospace.
- UI, headings, buttons, tags:
- Cache-Busting:
_includes/head.htmlappends?v=1793293886tomain.cssto prevent stale browser caching upon redeployment.
6. Deployment Protocol
Whenever an agent makes edits to this repository:
- Verify that all YAML files in
_data/*.ymland_config.ymlare strictly valid. - Ensure no non-whitelisted Jekyll gems are added to
_config.yml(allowed:jekyll-feed,jekyll-seo-tag,jekyll-sitemap). - Commit and push directly to
origin master:git add . git commit -m "feat(or fix): descriptive summary" git push origin master - GitHub Actions will trigger automatically. Check run status via GitHub CLI or API if verification is required.