# AGENTS.md

# General agent guidance

This section outlines the universal rules and expectations for any LLM agent working within this repository.

Safety and Quality First: The highest priority is to produce secure, well-documented, and high-quality code. Do not introduce vulnerabilities, hardcoded secrets, or unreadable code.

Propose a Plan: For any new task, first provide a brief plan of action. This plan should clearly outline the intended changes and the rationale behind them.

Maintain Context: Before making any changes, an agent must read and understand the relevant files, including the project's main documentation and existing code structure.

Clear Contributions: All contributions must be submitted via a pull request with a clear, concise commit message and a brief description of the changes.

# Project structure

The project follows the 11ty static site generator structure:

taskfile.build/
├── _includes/              # Template files and layouts
│   └── layouts/
│       └── base.njk        # Main layout template
├── _site/                  # Generated site (build output)
├── css/                    # CSS stylesheets
│   └── style.css           # Main stylesheet
├── img/                    # Image assets
├── js/                     # JavaScript files
├── eleventy.config.js      # 11ty configuration
├── README.md               # Main documentation
├── AGENTS.md              # Agent guidance (this file)
├── examples.md            # Examples documentation
├── library.md             # Library documentation
├── patterns.md            # Patterns documentation
├── usage.md               # Usage documentation
├── package.json           # Node.js dependencies
└── task                   # Main task script

The site generates documentation pages from markdown files using Nunjucks templates, with a responsive layout that includes navigation and content areas.

# Environment & tooling

# Taskfile

This project uses the https://taskfile.build/ standard.

The ./task file is a bash script that provides all functions necessary to work with this project.

Execute: Always try to run a command with the ./task file script.

# Coding conventions

# Bash

The following guideline is heavily based on the Bash Style Guide | ysap.sh, which should be considered the primary reference for style. Adhere to the following principles to ensure scripts are safe, predictable, and maintainable.

Shebang: Start scripts with #!/usr/bin/env bash for portability.

Quoting: This is critical.

Always quote variable expansions "$var" to prevent word-splitting and globbing issues.

Variables: Distinct between local and environment vars.

Functions:

Conditionals:

Command Substitution:

Arrays:

Avoid External Commands:

eval: Never use eval.