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β
- Please read and follow our Code of Conduct.
- Join the discussion on Slack (KubeStellar-dev).
- Most work happens in GitHub (issues, pull requests, discussions).
π 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β
-
Fork this repo and clone your fork.
-
Keep your
main
branch in sync:git checkout main
git pull upstream main -
Create a feature/fix branch:
git checkout -b fix/button-hover
-
Make your changes, then commit with sign-off:
git add .
git commit -s -m "π fix: improve hover visibility for 'View on GitHub' button" -
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!