# Contributing

The pull request loop for this repo: branch → commit → verify in your own box (local...

- Repository: https://github.com/kortix-ai/suna (20345 stars)
- Category: Testing
- License: see repository
- Last updated: 2026-11-01
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add kortix-ai/suna --skill contributing -g -a claude-code -y`
Codex: `npx skills add kortix-ai/suna --skill contributing -g -a codex -y`
Cursor: `npx skills add kortix-ai/suna --skill contributing -g -a cursor -y`
Gemini CLI: `npx skills add kortix-ai/suna --skill contributing -g -a gemini-cli -y`

## Description

The pull request loop for this repo: branch → commit → verify in your own box (local tests + local stack) → PR into dev → demo video recorded with agent-browser on the local stack → `gh --attach` → self-merge → verify on dev. A PR into dev runs no CI unless a person adds the `test` or `preview` label (one run each). Load when opening, updating, or finishing a pull request; when asking what CI runs where; when adding or explaining PR labels or the per-PR preview environment; or when attaching an image or video to a PR, issue, or comment. The PR title and body are the create-pr skill.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Contributing: the pull request loop

Every change reaches `dev` through a pull request. A pull request into `dev` runs **no**
GitHub Actions job: your development machine runs every test, the stack, and the demo before
the PR opens, and the PR is mergeable at once. Each PR carries a demo video of the change,
recorded with **agent-browser** against your local stack. The video is uploaded with `gh --attach` and appears
in the PR body. This skill is that loop, end to end.

`AGENTS.md` owns the policy: canonical branches, when to self-merge, and the customer-data
rule. This skill is the procedure. Read `AGENTS.md` → "First, at session start" and
"Default delivery" before step 1 if you have not.

## Preflight (once per machine)

```bash
gh --version                 # ≥ 2.99.0: first release with --attach
agent-browser --version      # installed: npm i -g agent-browser && agent-browser install
agent-browser doctor         # "Recording" must pass: ffmpeg with libvpx + libx264
gh auth status               # token prefix gho_, ghp_, or github_pat_ (see attachments reference)
```

Done when all four pass. A `ghs_` or `ghu_` token cannot attach. See
[references/attachments.md](references/attachments.md) → "Token types".

## Steps

### 1. Branch and worktree

Join the canonical branch for the work, or create one:
`pnpm worktree create --name <slug> --yes --no-start` (the **worktree** skill). All edits and
runs happen under `../suna-<slug>`.

Done when `git branch --show-current` prints the canonical branch inside its worktree.

### 2. Commit

The rest: https://github.com/kortix-ai/suna/blob/HEAD/.agents/skills/contributing/SKILL.md
