> ## Documentation Index
> Fetch the complete documentation index at: https://obversa.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# First Run

> Have Claude write a function, run its tests, and ask Codex to review it.

Run a writer and reviewer on a small coding task. Claude writes the function
and its test. Node runs the test, then Codex reviews the result.

Set up your project as [Installation](/docs/get-started/installation) describes.

## Run the team

You need the Claude Code and Codex command line tools installed and signed
in. A Claude seat writes a function and its test from the brief at
`briefs/add.md`, Node runs the test, and a Codex seat reviews the result.
The file and its brief are on
[A writer and a reviewer](/docs/patterns/writer-and-reviewer). Run it from the
directory the work belongs in, or point it at one
([where a workflow lives](/docs/concepts/where-a-workflow-lives)):

```bash Terminal theme={null}
npx tsx writer-reviewer-pair.ts
```

```json Output theme={null}
{
  "status": "pass",
  "summary": "dag \"writer-reviewer-pair\": all 3 node(s) green",
  "data": {
    "write": {
      "status": "pass",
      "summary": "Created src/add.mjs with a pure add function and test/add.test.mjs with Node.js test coverage"
    },
    "test": {
      "status": "pass",
      "summary": "`node` exited 0"
    },
    "review": {
      "status": "pass",
      "summary": "Review panel: 1/1 reviewer(s) cleared.",
      "data": {
        "findings": [],
        "escalatedFindings": [],
        "errors": [],
        "results": [
          {
            "kind": "verdict",
            "name": "review-1",
            "met": true,
            "reason": "The named add(a, b) function returns a + b without side effects, and the required Node test passes."
          }
        ],
        "passed": 1,
        "required": 1,
        "severityCounts": {}
      }
    }
  }
}
```

All three stages passed: the writer left `src/add.mjs` and
`test/add.test.mjs` behind, the test exited 0, and the one reviewer
accepted the change. Change the brief, the file list and the test command,
and it's your own work.

The file is the short form, `workflow()`: a list of stages. When a step
needs your own code, a branch or a team inside a team, the same team is a
`dag()`, and [Workflows](/docs/concepts/workflows) shows both forms side by side.

## Next steps

* [Workflows](/docs/concepts/workflows): how the steps, reviews and decisions in
  the workflow fit together.
* [Feedback loops](/docs/concepts/feedback-loops): what happens when a review or
  a test says no.
* [Examples](/docs/workflows): complete teams by field, with what each run
  printed.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.