Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -176,3 +176,4 @@ A2UI is an **Apache 2.0** licensed project. We believe the future of UI is agent
and we want to work with you to help build it.

See [CONTRIBUTING.md](CONTRIBUTING.md) for details on how to get started.
New here? Start with the [Contributor Onboarding](docs/guides/onboarding.md) guide.
72 changes: 72 additions & 0 deletions docs/guides/onboarding.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# Contributor Onboarding

This guide helps first-time contributors, students, and hackathon teams get from zero to their first PR.

## 1. Pick a path (15-30 minutes)

- **Run the demo**: Follow the [Quickstart](../quickstart.md) to see A2UI end-to-end.
- **Build a renderer**: Start with [Client Setup](client-setup.md).
- **Build an agent**: See [Agent Development](agent-development.md).
- **Docs-only contribution**: Update guides, fix typos, or add examples (lowest risk).

## 2. Prerequisites

- **Node.js** v18+
- **Python** 3.10+ (only for agent demos)
- **uv** (Python package manager) for agent demos
- **Gemini API key** (only required for agent demos)

If you only want to contribute docs, you do not need Python or an API key.

## 3. Fork and clone (fast path)

```bash
# 1) Fork https://github.com/google/A2UI on GitHub
# 2) Clone your fork
git clone https://github.com/<your-username>/A2UI.git
cd A2UI

# 3) (Optional) Add upstream for syncing
git remote add upstream https://github.com/google/A2UI.git
```

Then follow the [Quickstart](../quickstart.md) for the one-command demo.

## 4. Find a starter task

Good places to start:

- [good first issue](https://github.com/google/A2UI/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)
- [documentation](https://github.com/google/A2UI/issues?q=is%3Aissue+is%3Aopen+label%3Adocumentation)
- [help wanted](https://github.com/google/A2UI/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22)

If you are new, docs issues are the quickest way to get a PR merged.

## 5. Make a change

```bash
git checkout -b your-branch-name
# edit files
```

- Keep changes small and focused.
- If you touched code, run the relevant tests.
- For docs-only changes, a quick review is usually enough.

## 6. Open a PR

Before opening a PR, sign the [Google CLA](https://cla.developers.google.com/about).

Then open a PR against `main` and include:

- A short summary of what changed
- A link to the issue (if there is one)
- Any test results (or note "docs-only")

See [CONTRIBUTING.md](../../CONTRIBUTING.md) for full details.

## 7. After you open the PR

- Respond to review comments
- Keep the PR focused; follow-up changes can be new PRs
- If CI fails, push a fix and re-run checks
8 changes: 8 additions & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,14 @@ and [transports](concepts/transports.md) (A2A, etc.) which communicate A2UI mess

[:octicons-arrow-right-24: Learn concepts](concepts/overview.md)

- :material-account-group:{ .lg .middle } **[Contributor Onboarding](guides/onboarding.md)**

---

A short, practical path for first-time contributors, students, and hackathon teams.

[:octicons-arrow-right-24: Start contributing](guides/onboarding.md)

- :material-code-braces:{ .lg .middle } **[Developer Guides](guides/client-setup.md)**

---
Expand Down
1 change: 1 addition & 0 deletions mkdocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ nav:
- Transports: concepts/transports.md
- Client-to-Server Actions: concepts/client_to_server_actions.md
- Guides:
- Contributor Onboarding: guides/onboarding.md
- Client Setup: guides/client-setup.md
- Agent Development: guides/agent-development.md
- Renderer Development: guides/renderer-development.md
Expand Down