Skip to main content

Contributing to A2A

Greetings! πŸ‘‹ We’re grateful for your interest in contributing to the A2A project, part of the KubeStellar ecosystem. Your contributions β€” whether raising issues, enhancing documentation, fixing bugs, or improving the UI β€” are essential to our success.

This document adapts the main KubeStellar contributing guidelines to A2A, focusing on website, UI, and docs contributions.


πŸ“Œ General Practices​


🐞 Issues​

  • Before opening a new issue, search the A2A issue tracker (open + closed).
  • If no existing issue matches your problem, feel free to create one.
  • We label beginner-friendly items as good first issue and broader items as help wanted.
  • To claim an issue, comment /assign. To release it, comment /unassign.

Slash Commands​

A2A (via Prow bots) supports slash commands:

  • Issue commands: /assign, /unassign, /good-first-issue, /help-wanted
  • PR commands: /lgtm, /approve, /hold, /unhold, /retest

πŸ”€ Git & Branching Workflow​

  1. Fork this repo and clone your fork.

  2. Keep your main branch in sync:

    git checkout main
    git pull upstream main
  3. Create a feature/fix branch:

    git checkout -b fix/button-hover
  4. Make your changes, then commit with sign-off:

    git add .
    git commit -s -m "πŸ› fix: improve hover visibility for 'View on GitHub' button"
  5. Push your branch:

    git push origin fix/button-hover

πŸ“ Commit & PR Guidelines​

  • Use Conventional Commits with emoji prefixes:

    • ✨ feat: new feature
    • πŸ› fix: bug fix
    • πŸ“– docs: documentation
    • πŸ’„ style: UI/style updates
    • ♻️ refactor: refactor
  • Keep commits focused and descriptive.

  • All commits must be signed (git commit -s) to comply with CNCF’s Developer Certificate of Origin.

When opening a PR:

  • Reference the related issue (Fixes #123).
  • Fill in the PR template (problem, solution, screenshots if UI).
  • Keep PRs small and scoped.
  • Use an emoji in the title (e.g., πŸ› fix: footer contributing link).

πŸ” Reviews & Approval​

  • PRs require /lgtm from a reviewer and /approve from a maintainer before merging.

  • You cannot /lgtm your own PR.

  • Reviewers check:

    • Issue is resolved
    • Code follows guidelines
    • UI works in light/dark modes
    • Build/lint/tests pass

πŸ§ͺ Testing Locally​

Most contributions here are UI and docs. Please:

  • Run locally with

    npm install
    npm start
  • Test on desktop, tablet (~768px), and mobile (~375px).

  • Check both light and dark themes.

  • Run build:

    npm run build

πŸ“œ Licensing​

This project is Apache 2.0 licensed. By contributing, you agree to the Developer Certificate of Origin (DCO).

To sign commits:

git commit -s -m "your message"

πŸ™Œ Thank you for contributing to A2A and helping the KubeStellar community grow!