Skip to main content

Contribution Guide

This guide covers the technical process for contributing to the ADG: forking the repository, setting up the development environment, submitting pull requests, and troubleshooting common issues.

For content standards, writing conventions, and formatting requirements, visit the Style Guide.

Contribution workflow:


Code of Conduct

Please be respectful and constructive in all interactions. This project follows standard open source etiquette. Visit MDN Web Docs: "Open source etiquette" for more standard open source etiquette guidance.


Pull Request Tips

  1. Fork this repository to a personal GitHub account.

  2. Build a local copy of the documentation from the fork:

       # Download project dependencies
    npm install
    # Review a copy of the docs
    npm start
  3. Install Vale in the development environment.

  4. If using VS Code, install extensions markdownlint and Vale VS Code.

  5. Install typos in the development environment.

  6. Test all changes locally before submitting a pull request:

      # Review typos
    typos
    # Correct typos
    typos --write-changes
    typos -w
    # Check for config errors and/or broken links
    npm run build
    # Check that everything looks correct
    npm start
  7. Pull requests should be complete and self-contained. Don't submit placeholder content or partial entries.

  8. Ideally, pull requests should address an existing issue, but this isn't required.

  9. Don't submit pull requests with lint or Vale errors in the content or code examples.


Commit Message Guidelines

This project follows the Conventional Commits specification to maintain clear, consistent commit history.

Format

Each commit message consists of a type, scope, subject, issue number:

<Type>(<Scope>): <Subject> <Issue #>

Type

Must be one of the following:

  • docs: documentation changes - term entries, examples, explanations
  • fix: bug fixes - broken links, typos, technical inaccuracies
  • style: formatting changes - capitalization, punctuation, Vale fixes
  • refactor: restructuring content without changing meaning
  • chore: maintenance tasks - dependencies, configuration

Scope

The scope identifies which glossary section the changes impact:

  • glossary term category names:

    • core-concepts
    • api-types-architectures
    • ai-and-apis
    • tools-techniques
    • workflows-methodologies
    • frameworks-strategy
    • writing-style
  • meta documentation and/or styling filenames:

    • config
    • contribution-guide
    • get-started
    • how-glossary-built
    • introduction
    • prompt-templates
    • quick-reference
    • README
    • src / static
    • style-guide

Subject

  • use present tense - "add" not "added"
  • these are labels, not complete sentences
  • don't capitalize the first letter
  • no period at the end
  • keep it concise - 50 characters or less
  • find issue numbers in the repository's Issues tab
  • reference the issue in the PR description such as - "Resolves Issue #72"

Examples

# Good commit messages
docs(core-concepts): add HTTP status codes (Issue #123)
fix(tools-techniques): correct cURL link (Issue #125)
style(writing-style): edit capitalization (Issue #141)

# Bad commit messages
Updated files
Fixed stuff
docs: changes

Troubleshooting

Build fails locally

Make sure all software requirements installed correctly. For example, ensure Node.js and npm are up to date. Run npm install in the fork directory, then attempt the build again.

Changes don't appear after pushing to GitHub

GitHub Pages can take a few minutes to rebuild and deploy. Wait a few minutes, then refresh the site. Clear the browser cache - Ctrl+Shift+Delete on Windows/Linux, Cmd+Shift+Delete on Mac - if changes still don't appear.

Pull request has lint errors

Run npm run lint locally to identify errors before submission. Most formatting issues can be auto-fixed with npm run lint:fix.

typos flags intentional spelling

Check the _typos.toml configuration file in the repository root. Add false positives to [default.extend-words] to suppress them. Run typos --config _typos.toml to verify the configuration is loading correctly.

Vale or markdownlint extensions don't appear in VS Code

Install the extensions from the Visual Studio Code marketplace. Reload VS Code - Ctrl+R on Windows/Linux and Cmd+R on Mac - after installation.

Vale reports errors, but content appears correct

Check the .vale.ini configuration file in the repository root. Use vale . to run Vale from the command line and observe detailed error output.


MIT License

By contributing to this project, contributors agree to contribution license under the MIT License; visit the LICENSE for details