AGENTS.md - Developer Guidelines for franciscoquintero
AGENTS.md - Developer Guidelines for franciscoquintero
This is a Jekyll static site (Ruby-based). Below are the conventions and commands for working in this repository.
1. Build, Serve, and Development Commands
Running the Site Locally
# Install dependencies (first time only)
bundle install
# Serve the site locally with live reload
bundle exec jekyll serve
# Or use the shorter alias (if available in PATH)
jekyll serve
Building for Production
# Build the site (outputs to _site/)
bundle exec jekyll build
# Build with draft posts included
bundle exec jekyll build --drafts
# Build and serve with verbose output
bundle exec jekyll serve --verbose
Ruby/Linting Commands
# Check for broken links (optional, requires html-proofer)
# bundle exec htmlproofer ./_site --allow-hash-href
# Lint SCSS/CSS (requires sassc gem)
# bundle exec sass --style expanded --check _sass:_sass
Single Test / Validation
Since this is a static Jekyll site, there are no traditional unit tests. To validate:
# Build and verify no errors
bundle exec jekyll build
# Serve and manually test in browser at http://localhost:4000
bundle exec jekyll serve --watch
2. Code Style Guidelines
General Conventions
- Line endings: LF (Unix-style)
- Encoding: UTF-8
- Indentation: 2 spaces (no tabs)
- Trailing whitespace: Remove on save
- Final newline: Always include
These are enforced by .editorconfig at the project root.
HTML/Liquid Templates
- Use Liquid templating syntax
- Follow HTML5 semantic structure
- Keep templates clean; minimize logic in views
- Example:
<article> <h2><a href="/general/2026/02/20/felicidad-es-una-escala.html">La Felicidad es una Escala</a></h2> </article> <article> <h2><a href="/degoogle/2026/01/10/degoogle-pasivo.html">Degoogle un poco pasivo</a></h2> </article> <article> <h2><a href="/general/2025/12/16/el-viejo-analogo.html">Me Convierto en el Viejo Análogo</a></h2> </article> <article> <h2><a href="/general/2025/10/01/suscripciones-locas.html">Las Suscripciones Están Fuera de Control</a></h2> </article> <article> <h2><a href="/juegos/2025/09/22/postales-de-fifa.html">Postales desde FIFA22</a></h2> </article> <article> <h2><a href="/general/2025/09/22/servicio-al-cliente.html">Servicio no tan al Cliente</a></h2> </article> <article> <h2><a href="/software/2025/09/22/vite-build-consume-muchos-recursos.html">Vite Build Acabando Recursos de VPS</a></h2> </article> <article> <h2><a href="/general/2025/09/21/cansado-de-redes-sociales.html">Ya Estoy Cansado de las Redes Sociales</a></h2> </article>
SCSS/CSS
- Use SCSS (Sass) with nesting
- 2-space indentation
- No semicolons after property declarations
- Use
&parent selector for nesting - Group related properties together
- Example:
.parent { .child { color: #555; } &:hover { color: #000; } } - Use CSS custom properties for colors and spacing when appropriate
JSON Data Files
- Located in
_data/ - Use double quotes for strings
- No trailing commas
- 2-space indentation
- Example:
[ { "name": "Ruby", "logo": "/images/stack/ruby.svg" } ]
YAML Front Matter
- Used in all content files (
_posts,_pages) - Use 2-space indentation
- Example:
--- layout: default title: "My Post" date: 2024-01-15 ---
Naming Conventions
- Files: Use kebab-case (e.g.,
my-post.html,_blog_styles.scss) - CSS classes: Use kebab-case (e.g.,
.card-box-inner) - Variables in SCSS: Use kebab-case (e.g.,
$primary-color) - Liquid variables: Use descriptive names (e.g.,
post.url,site.posts)
Image Assets
- Store in
/images/directory - Use SVG for icons and logos when possible
- Include
alttext for accessibility - Optimize images before committing
Git Commit Messages
- Use clear, descriptive messages
- Example:
Add new blog post about RailsorFix mobile responsive layout
3. Project Structure
franciscoquintero/
├── _config.yml # Jekyll configuration
├── _data/ # JSON data files (navigation, stack, tools, etc.)
├── _includes/ # Reusable partials
├── _layouts/ # Page templates (default, posts, tools)
├── _posts/ # Blog posts (Markdown)
├── _sass/ # SCSS stylesheets
├── assets/ # CSS, JS, images
├── images/ # Static images
├── Gemfile # Ruby dependencies
└── .editorconfig # Editor configuration
4. Common Tasks
Adding a New Blog Post
- Create a new file in
_posts/with formatYYYY-MM-DD-title.md - Add YAML front matter with
layout,title,date - Write content in Markdown
Adding a New Page
- Create a new
.htmlor.mdfile in root or appropriate folder - Add YAML front matter with
layout,title,permalink
Modifying Styles
- Edit files in
_sass/directory - Use
@importto include partials in main stylesheet - Changes rebuild automatically with
jekyll serve --watch
5. Notes
- This is a personal portfolio site using the minima Jekyll theme
- No CI/CD pipeline configured
- No JavaScript frameworks used
- No Cursor or Copilot rules currently defined in the project