StateAnchor
Documentation
Back to app →

Core Concept

Projects & versions

Projects let you track all versions of a wrapper as your API evolves. Every time you regenerate, a new version is saved alongside the previous ones.

What is a project?

A project is a named container for a specific API wrapper. It holds:

  • All versions ever generated for that API
  • The language and style used for each version
  • The timestamp of each generation
  • The changelog note you attach when regenerating

Projects are optional — you can generate without saving. But if you plan to update your wrapper as the API changes, saving to a project is the right approach.

Creating a project

After generating a wrapper on the dashboard, click Save to Project. You'll be prompted to either:

  • Create a new project (enter a name)
  • Add to an existing project as a new version
TIP: Name your projects after the API, not your use case. e.g. "Stripe" not "payment-feature". The project tracks the API, not the feature.

Version history

Inside a project, versions are listed in reverse chronological order. Each version shows the version number, date, language, style, and changelog note.

Regenerating a wrapper

When your API changes, open the project and click Regenerate. You can:

  • Update the description to reflect new endpoints or changed parameters
  • Switch to a different language or style
  • Add a changelog note describing what changed

The new generation is saved as the next version. Previous versions are preserved. Regenerating costs 1 credit (or 2 for MCP servers).

Revising a wrapper

From the History page you can Revise any past generation. Revision lets you refine the output with a follow-up instruction:

Add a retry helper that automatically retries on 429 and 503 with exponential backoff.
Max 3 retries. Expose a retryConfig option in the constructor.

Revising saves a new version in the project, just like regenerating. It costs 1 credit.

NOTE: Revision works best for targeted improvements. For significant API changes, it's usually better to regenerate from an updated description.

Diff view

Click any version to see the full generated code. Select two versions to compare them side-by-side — additions appear in green, removals in red, unchanged lines in gray.

Downloading a version

Every version can be downloaded as a file. The filename includes the project name and version number:

stripe-client-v3.ts
openweather-client-v1.py
github-wrapper-v2.go