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

# Your first agent

> Clone, edit, release, run, and inspect a Git-backed agent.

Agents are best when the task needs code, tools, or per-input adaptation instead
of a fixed workflow graph. The source lives in Git, so you work with normal files
and commits.

## 1. Clone the agent source

```bash theme={null}
eigenpal agents clone --out tmp/org-repos/acme-local
cd tmp/org-repos/acme-local
```

Use a directory name that makes the organization and environment obvious.

## 2. Edit the agent

Open the agent files, change the prompt, tools, or code, then run any local
checks your project defines.

```bash theme={null}
git status
```

## 3. Commit, push, and release

```bash theme={null}
eigenpal agents save
eigenpal agents release 1.0.1
eigenpal agents sync agents.extract-invoice
```

`save` validates, commits, and pushes local changes. `release` creates an
immutable source tag, and `sync` points the automation at the latest release.

## 4. Run the agent

```bash theme={null}
eigenpal run agents.extract-invoice --input-file document=invoice.pdf
```

The command prints a run id. Poll or watch it like any other run:

```bash theme={null}
eigenpal runs watch <run-id>
eigenpal runs trace <run-id>
```

## 5. Improve with reviews

When a run is wrong, add a review and promote the corrected case into the
dataset:

```bash theme={null}
eigenpal runs reviews update <run-id> --verdict incorrect --note "Missed the VAT id"
eigenpal runs promote <run-id> --name missed-vat-id
```

The next experiment can now catch the same miss before it ships again. For a
full review workflow, see [Review production runs](/guides/review-runs).
