Skip to main content
In this quickstart, you will create a repo, read and write files with MesaFS, and experiment with versioning. The goal is to show the primitives Mesa provides that can be used for any of your agent workflows.
1

Sign up and create an API key

  1. Create an account at app.mesa.dev.
  2. Create an organization for your product (example: acme).
  3. Generate an API key with admin scope.
Store the key as an environment variable:
API keys are only shown once. Save them in your secrets manager before leaving the dashboard.
See Authentication for key management and scope details.
2

Install the SDK or CLI

Using MesaFS through the CLI requires FUSE which is not a straightforward process on macOS (yet). If testing with the CLI we recommend using a FUSE-enabled sandbox. See Sandboxes for more.
3

Create a repo

In Mesa, you start by creating a special kind of folder called a repository. Each repository has its own version history and permissions.Repositories are free to create. Use them liberally to isolate resources that belong to different customers or projects.
To retrieve an existing repo later:
4

Read and write your first files

Once created, the easiest way to read and write to a repository is by mounting MesaFS, either through our SDKs or through a FUSE mount with our CLI.
5

Experiment with versioning

A repository is a directed acyclic graph of Changes: snapshots of the repository at that point in time. See more in Versioning.Every file write is part of specific change. Your first change is created automatically when you mount an empty repo in MesaFS. All subsequent changes must be explicitly created.
You can easily roll back to a previous version by switching to an old Change.
6

Diff two changes

Now you have two changes in your repo.You can imagine having many different changes, each representing the concurrent work of a different agent. Once an agent is done working, you may want to show a UI for users to review the changes and approve or reject them.
7

Bookmark changes

By default, changes have random, alphanumeric identifiers. However, you will often want to assign a human-readable name to a change. You can do this with bookmarks. By default, the first change on a repo is bookmarked main.
8

Merge two changes

You will eventually have lots of different changes and bookmarks and you’ll want to merge the changes from one bookmark into another.Merge your source bookmark (my-feature) into your target bookmark (main). This process creates a new Change on top of main that contains the merged changes and moves the main bookmark to the new Change.
Now you have 3 changes in your repo.Conventionally, the main bookmark points to the canonical version of your documents, and other bookmarks represent “draft” work. A typical pattern is rendering diff UI for human-in-the-loop approvals, then merging approved changes into your main line of Change history.
You’re now ready to start building complex agent workflows with Mesa.

Next steps