Imported from IslasGECI/islasgeci.github.io (
AGENTS.md). Install upstream withnpx skills add IslasGECI/islasgeci.github.io. Copyright stays with the author.
AGENTS β repo conventions
Public interface
- The public interface is what can be seen published from islas.dev.
- If it cannot be seen from islas.dev, it is not part of the public interface.
Commits
- gitmoji + imperative verb, β€72 chars first line. Why-over-what in body.
- Examples from this repo:
β»οΈ Consolidate style guide pages,π Add naming conventions for functions and methods.
Jekyll front matter
| Layout | Required |
|---|---|
page |
layout, title, tagline, description |
post |
layout, title, author, tags |
Post filenames: YYYY-MM-DD-slug.md in _posts/. Tags are space-separated ids from _data/tags.yml.
Key files
_data/navigation.ymlβ top-level nav links. Add new pages here._data/tags.ymlβ tag taxonomy. New tags must be added here before use._config.ymlβ Jekyll config. Collections enabled:guia_de_estilo,protocolo_avanzado..config/wordlist-es.txtβ Spanish aspell custom dictionary. Add new technical terms here. Encoding: The first line must containutf-8(personal_ws-1.1 es N utf-8).aspell-esdefaults toiso8859-1; the suffix overrides it..config/wordlist-en.txtβ English aspell custom dictionary. Add new English terms here. Format: First line:personal_ws-1.1 en N utf-8whereNis the word count.
Development
- Docker only. No local Ruby needed.
make startβ build + serve. Visit http://localhost:4000.make downβ stop the dev server.- Quirk:
make servehas a missing space in the volume mount (jekyll\->jekyll\). Runmake buildfirst ifmake servefails.
Checks
make checkruns style and spellcheck via Docker. Requires Docker. The host hasaspellbut not the Spanish dictionary, so run checks through Docker, not localaspell.make checkstops at the first failing script; runsrc/check_spelling.shalone once style is red.src/check_style.shβ validates line endings (.,:,?) and β€25 words per line in_posts/*.md. Quirk: does not skip fenced code blocks β lines inside ``` blocks are also checked.src/check_spelling.shβ runsaspellagainst_posts/*.mdusing.config/wordlist-es.txt(Spanish) or.config/wordlist-en.txt(English, for*_en.mdposts).Dockerfileβ minimal Ubuntu image withaspell,aspell-en,aspell-es, andmake.
Wordlists
- Every entry in
.config/wordlist-*.txtmust be a term aspell still flags; delete dead entries. - Rebuild by listing the flags with an empty personal dictionary, then diffing the result against the wordlist.
- Compare sorted word lists with
LC_ALL=C sort -u; plainsortorder is locale-dependent. - The integer in the header counts entries, excluding the header line.
Style fixes
When fixing legacy posts that exceed the 25-word line limit:
- One sentence per line. No hard-wrapping mid-sentence.
- β€30 words: try shortening first (trim filler words, redundant phrases).
- 31+ words: split at a conjunction or natural clause boundary.
- Both split parts must be complete sentences. Prepositional phrases alone ("Para los nombres...") are not sentences.
- Do not split paired structures:
no sΓ³lo...sino tambiΓ©n,tan...como. Shorten instead. - The punctuation rule ignores lines that start with a non-word character (headings, list markers, indented code) and post front-matter keys; the β€25-word rule still counts those lines.
- Pre-push hook rejects pushes with violations. Use
git push --no-verifyfor legacy content that is being fixed incrementally.
Setup
.pipelines/init.shβ configurescore.hooksPath .githooksto activate the pre-push hook..githooks/pre-pushβ runsmake checkbefore every push; rejects if checks fail. Activate withbash .pipelines/init.sh.
CI
.github/workflows/actions.yml builds the Docker image and runs make check on every push.
Language
- Posts and docs: Spanish. Code and filenames: English (snake_case).
- Prefer Python and R. Do not reference MATLAB.
- Allowed abbreviations:
sst,eez,lon,lat,x,y,X,Y.
Reference scripts
../albatross-bycatch-mexico/src/*.Ris the reference codebase for scripts conforming to the conventions in STYLEGUIDE.md. When creating new R scripts, consult these files for real-world examples of Spanish section markers, imperative comments, and Tidyverse style.
Repo rules
- Only plain text committed (CSV, JSON, SVG, TEX, TXT). No binary files >256 px.
- Text files use LF endings;
.gitattributesenforces this (* text=auto eol=lf). - No tests directory β this is a Jekyll site, not a library.
- No GitFlow.
- STYLEGUIDE.md at
_guia_de_estilo/STYLEGUIDE.mdis the single source of truth for conventions. When it subsumes other pages, preserve unique content as blog posts, delete redundants, remove cross-references.
