Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
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.
67 changes: 67 additions & 0 deletions docs/guides/onboarding.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# 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. Run something locally (fast path)

```bash
git clone https://github.com/google/A2UI.git
cd A2UI
```

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