> ## 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.

# Artifacts as files

> Workflows, datasets, evaluators, and agents are plain files you can export, import, diff, and version.

Every object in EigenPal is a **portable artifact**: workflows, datasets,
evaluators, and agent source are all plain files. That gives you standard
developer workflows:

* **Version them in Git** and diff exactly what changed between two workflow versions.
* **Review them in pull requests**, the same as any code change.
* **Export them between environments** with the same commands.
* **Generate them programmatically** from code, scripts, or agents.

Nothing is locked inside a UI. You can pull a workflow, change one step, push a
new version, run it against a dataset, and read the scores through files and the
CLI or API.

## The artifacts

| Artifact   | Format                     | Export / import                              |
| ---------- | -------------------------- | -------------------------------------------- |
| Workflow   | YAML (`workflow.yaml`)     | `eigenpal workflow pull` / `push`            |
| Dataset    | Folder archive of examples | `eigenpal workflow dataset pull` / `push`    |
| Evaluators | YAML (`evaluators.yaml`)   | `eigenpal workflow evaluators pull` / `push` |
| Agent      | Git-backed source package  | `eigenpal agents clone` / `commit` / `push`  |
| Run output | JSON + output files        | `eigenpal runs get` / `artifacts`            |

Every artifact round-trips: what you pull is what you can push back. A
single-example dataset export re-imports cleanly, which is useful for moving
one failing case between environments.

## What this enables

* **Files are scriptable.** Workflows, datasets, and evaluators can be edited by
  humans, generated by scripts, or changed by coding agents.
* **Git review works.** Diff a workflow change in a PR. Roll back a dataset.
  Track evaluator history.
* **Environment moves are explicit.** Export, inspect, and move artifacts between
  local, staging, and production with the same commands.

## The CLI is the surface

The `eigenpal` CLI covers authoring, running, and inspecting from a terminal.
See the [CLI reference](/cli/overview) for the full command tree and the
[skill install guide](/guides/skill-install) for agent-tool setup.
