pages/CONTRIBUTING.md
George 25b758805c
Added copilot instructions, AGENTS.md, improved README files (#3486)
This pull request introduces several documentation improvements and adds
comprehensive Copilot and agent instruction files to the al-folio
repository. The most significant changes are the addition of
repository-wide and path-specific Copilot instructions, updates to agent
documentation to reference these instructions, and improvements to the
documentation structure and clarity regarding file purposes and
workflows.

**Copilot and Agent Instruction Enhancements:**

- Added a new `.github/copilot-instructions.md` file providing detailed,
repository-wide setup, build, CI/CD, troubleshooting, and file format
guidance for Copilot coding agents.
- Introduced `.github/instructions/bibtex-bibliography.instructions.md`
with specific instructions for editing and validating BibTeX files,
including custom keywords, formatting rules, and integration with
Jekyll-Scholar.
- Updated agent documentation files (`customize.agent.md`,
`docs.agent.md`) to reference the new Copilot instruction files and
explain their purpose and usage for both repository-wide and
path-specific scenarios.
[[1]](diffhunk://#diff-15864f2655921f50a97689076e3b8feba0da320463750845be6a76eb2e30bfe4L57-R65)
[[2]](diffhunk://#diff-15864f2655921f50a97689076e3b8feba0da320463750845be6a76eb2e30bfe4L107-R122)
[[3]](diffhunk://#diff-961a46180ce568ce43c20bf7129dc5e4926a9aa4e0d7bc19926ca5ee3ff95cd0L49-R51)
[[4]](diffhunk://#diff-961a46180ce568ce43c20bf7129dc5e4926a9aa4e0d7bc19926ca5ee3ff95cd0L106-R137)

**Documentation Structure and Clarity Improvements:**

- Clarified and reorganized the documentation file list in agent files,
removing references to deprecated or merged files (e.g.,
`MAINTENANCE.md`, `ACCESSIBILITY.md`) and updating descriptions to
reflect current usage.
[[1]](diffhunk://#diff-15864f2655921f50a97689076e3b8feba0da320463750845be6a76eb2e30bfe4L57-R65)
[[2]](diffhunk://#diff-961a46180ce568ce43c20bf7129dc5e4926a9aa4e0d7bc19926ca5ee3ff95cd0L21-R21)
[[3]](diffhunk://#diff-961a46180ce568ce43c20bf7129dc5e4926a9aa4e0d7bc19926ca5ee3ff95cd0L106-R137)
- Enhanced documentation on the purpose and application of each
documentation file, and added detailed explanations of Copilot
instruction files and their role in project development.

**Workflow and Validation Updates:**

- Updated references and descriptions for GitHub Actions workflows in
agent documentation to include the Copilot environment setup and clarify
pre-commit and CI/CD requirements.
[[1]](diffhunk://#diff-15864f2655921f50a97689076e3b8feba0da320463750845be6a76eb2e30bfe4L57-R65)
[[2]](diffhunk://#diff-961a46180ce568ce43c20bf7129dc5e4926a9aa4e0d7bc19926ca5ee3ff95cd0L49-R51)
- Corrected references for accessibility guidance, now directing users
to `TROUBLESHOOTING.md` instead of the removed `ACCESSIBILITY.md`.

These changes collectively improve the onboarding experience for both
human contributors and AI agents, ensuring consistent adherence to
project conventions and reducing errors.

**References:**  

[[1]](diffhunk://#diff-227c2c26cb2ee0ce0f46a320fc48fbcbdf21801a57f59161b1d0861e8aad55f5R1-R253)
[[2]](diffhunk://#diff-6fd2827fb8d9c2dd6dc973572201853487ecbbd1120b00425d4f1c21dfdcf35fR1-R174)
[[3]](diffhunk://#diff-15864f2655921f50a97689076e3b8feba0da320463750845be6a76eb2e30bfe4L57-R65)
[[4]](diffhunk://#diff-15864f2655921f50a97689076e3b8feba0da320463750845be6a76eb2e30bfe4L107-R122)
[[5]](diffhunk://#diff-15864f2655921f50a97689076e3b8feba0da320463750845be6a76eb2e30bfe4L550-R562)
[[6]](diffhunk://#diff-961a46180ce568ce43c20bf7129dc5e4926a9aa4e0d7bc19926ca5ee3ff95cd0L21-R21)
[[7]](diffhunk://#diff-961a46180ce568ce43c20bf7129dc5e4926a9aa4e0d7bc19926ca5ee3ff95cd0L49-R51)
[[8]](diffhunk://#diff-961a46180ce568ce43c20bf7129dc5e4926a9aa4e0d7bc19926ca5ee3ff95cd0L106-R137)

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-28 22:55:05 -03:00

6.2 KiB
Raw Blame History

Contributing to al-folio

Thank you for considering contributing to al-folio!

Pull Requests

We welcome your pull requests (PRs). For minor fixes (e.g., documentation improvements), feel free to submit a PR directly. If you would like to implement a new feature or a bug, please make sure you (or someone else) has opened an appropriate issue first; in your PR, please mention the issue it addresses.

Note that since #2048 al-folio uses the prettier formatter for its code, meaning all new submitted code must conform to its standard. If you don't have prettier installed for your setup and the prettier code check fails when submitting a PR, you can check the referred failed action in our repo. In that action there will be an artifact with an HTML diff showing the needed changes.

GitHub Copilot Agents

This repository includes two specialized GitHub Copilot agents to assist with development and documentation:

Customization Agent

The Customization Agent (.github/agents/customize.agent.md) helps users customize their al-folio website. It:

  • Guides you through modifying configuration files, adding content, and customizing the theme
  • Explains technical concepts in plain language for users without coding experience
  • Applies changes directly to your repository files
  • Provides step-by-step instructions for common customization tasks

To use the customization agent, you need to have GitHub Copilot enabled in your repository. The agent can help with tasks like changing site information, updating your CV, adding publications, creating blog posts, customizing theme colors, and more.

Documentation Agent

The Documentation Agent (.github/agents/docs.agent.md) maintains the project documentation. It:

  • Updates and maintains documentation files (README.md, INSTALL.md, CUSTOMIZE.md, FAQ.md, CONTRIBUTING.md)
  • Keeps documentation in sync with code changes
  • Writes clear, concise documentation for users without technical backgrounds
  • Follows documentation standards and best practices

The documentation agent is primarily intended for maintainers and contributors who are updating the project documentation.

Custom Instruction Files

To enhance GitHub Copilot's effectiveness when working with specific file types, this repository includes custom instruction files in .github/instructions/:

  • .github/copilot-instructions.md Main Copilot instructions with repository overview, build process, tech stack, project layout, CI/CD pipelines, and common pitfalls
  • .github/instructions/liquid-templates.instructions.md Guidance for modifying Liquid template files (.liquid)
  • .github/instructions/yaml-configuration.instructions.md Guidance for configuration and data files (_config.yml, _data/**/*.yml)
  • .github/instructions/bibtex-bibliography.instructions.md Guidance for bibliography files (.bib, _bibliography/**)
  • .github/instructions/markdown-content.instructions.md Guidance for content files across collections (_books/, _news/, _pages/, _posts/, _projects/, _teachings/)
  • .github/instructions/javascript-scripts.instructions.md Guidance for JavaScript files in _scripts/

These files help Copilot agents understand project conventions, build requirements, and development workflows without requiring codebase exploration.

Copilot Environment Setup

A GitHub Actions workflow (.github/workflows/copilot-setup-steps.yml) automatically configures the Copilot environment with required dependencies (Ruby 3.3.5, Python 3.13, Node.js, ImageMagick, nbconvert) before agent execution.

Important: Verify Agent Output

While these agents are designed to assist you, they can make mistakes or produce incorrect information. Always review and verify the output before applying it to your repository:

  • Review code and configuration changes Check that suggested modifications are correct and fit your needs
  • Test changes locally Before pushing to GitHub, test the changes locally (using Docker or native setup)
  • Verify syntax Ensure any YAML, Markdown, or configuration files have correct syntax
  • Check documentation If the agent generates documentation, review it for accuracy and clarity
  • Don't blindly apply changes Understand what changes are being made and why
  • Run your site After applying changes, run your site locally and verify everything works as expected

Example: If an agent suggests a BibTeX entry or configuration change, verify that the syntax is correct and matches the existing style in your repository before committing.

How to Enable Agents

GitHub Copilot agents are available to users with GitHub Copilot subscriptions. To use these agents:

  1. Ensure you have GitHub Copilot enabled for your account
  2. Open your repository in an editor with GitHub Copilot support (such as VS Code with the GitHub Copilot extension)
  3. The agents will be automatically available based on the configuration files in .github/agents/. For more information, see Using custom agents in your IDE.

For more information about GitHub Copilot agents and how to use them, see the GitHub Copilot documentation.

Issues

We use GitHub issues to track bugs and feature requests. Before submitting an issue, please make sure:

  1. You have read the FAQ section of the README and your question is NOT addressed there.
  2. You have done your best to ensure that your issue is NOT a duplicate of one of the previous issues.
  3. Your issue is either a bug (unexpected/undesirable behavior) or a feature request. If it is just a question, please ask it in the Discussions forum.

When submitting an issue, please make sure to use the appropriate template.

License

By contributing to al-folio, you agree that your contributions will be licensed under the LICENSE file in the root directory of the source tree.