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.
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.
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.
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.
" for strings that require variable expansion.' for all other strings.Always quote variable expansions "$var" to prevent word-splitting and globbing issues.
Variables: Distinct between local and environment vars.
local for all variables inside functions.buildx_output).export BUILDX_PLATFORM)Functions:
function keyword.my-func() { ... } syntax.Conditionals:
[[ ... ]] for conditional testing, not [ ... ] or test.((...)) for arithmetic comparisons (e.g., ((a > b))).[] with [[]] make sure to escape the brackets. The [] is a regex filter.Command Substitution:
$(...) for command substitution, not backticks.Arrays:
for item in "${my_array[@]}"; do ... done.Avoid External Commands:
${var/foo/bar}).*) to iterate over files, not ls.cat when a command can read a file directly (e.g., grep "pattern" file).eval: Never use eval.