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

# Superblocks SDLC

> Superblocks version control helps you track, preview, publish, and roll back application changes

export const Alert = ({type, title, children}) => {
  const variant = ["info", "success", "warning", "danger", "note"].includes(type) ? type : "note";
  return <div className={`alert alert--${variant}`}>
      <div className="alert-icon" />
      <div className="alert-content">
        {title && <div className="alert-title">{title}</div>}
        <div className="alert-body">{children}</div>
      </div>
    </div>;
};

Using version control you can:

* [**Track versions**](#track-versions) as Clark checkpoints
* [**Preview**](#preview) a version before it goes live
* [**Publish**](#publish) a version to production
* [**Roll back**](#roll-back) by publishing an earlier version
* [**Undeploy**](#undeploy) an app so end users cannot access it
* [**Restore**](#restore) the editor and chat to an earlier checkpoint
* Use [**Git**](#git-connected-apps) for PR-based workflows when the app is connected to a repository

## Track versions

After each Clark prompt completion, Superblocks saves a **checkpoint**. To see your app's checkpoints, open **Clark AI**, then click the **Version history** icon in the Clark header.

<img src="https://mintcdn.com/superblocks/mm1QoNLfd7KZacuX/images/building-with-clark/checkpoints/version-history.png?fit=max&auto=format&n=mm1QoNLfd7KZacuX&q=85&s=3aca06200c926b442b1cab9ba1dc448a" alt="Version history in the Clark panel" style={{ width: "70%" }} width="1050" height="760" data-path="images/building-with-clark/checkpoints/version-history.png" />

## Preview

From a checkpoint in chat or version history, click **Preview**. Superblocks builds a shareable preview of that version so you can QA without changing production.

## Publish

From a checkpoint in chat or version history, click **Publish** to promote that version to production. Superblocks builds, runs pre-publish checks, and deploys in one flow.

Click **View publish details** from a previewed / published checkpoint card, or click any previewed / published version in history to watch build progress, review errors, and complete pre-publish security or database actions.

<img src="https://mintcdn.com/superblocks/mm1QoNLfd7KZacuX/images/building-with-clark/checkpoints/03-publish-detail.png?fit=max&auto=format&n=mm1QoNLfd7KZacuX&q=85&s=67e03fab71cc2c46e336623ad3730c99" alt="Publish detail view" width="2982" height="1682" data-path="images/building-with-clark/checkpoints/03-publish-detail.png" />

<Alert type="info">
  Builders need [permission to deploy the application](/admin/org-administration/resource-roles#applications). Without it, the **Publish** button stays disabled with a message that you do not have permission to publish to production.
</Alert>

## Roll back

To revert production to a previous version, publish the desired older checkpoint from **Version history**. End users of the app will now see the earlier version the next time they refresh or load the app.

## Undeploy

You can **Undeploy** an application to make it temporarily unavailable to end users. To undeploy an application:

1. Open **Version history** in Clark
2. Open the menu on the **Live** version
3. Click **Undeploy** and confirm

<img src="https://mintcdn.com/superblocks/-077B3_3izMdW8zr/images/development-lifecycle/source-control/undeploy-app.png?fit=max&auto=format&n=-077B3_3izMdW8zr&q=85&s=b1990c05806fae1f671c49a46cc725a3" alt="Undeploy an app" style={{ width: "70%" }} width="990" height="388" data-path="images/development-lifecycle/source-control/undeploy-app.png" />

Afer undeploying, the application is no longer accessible to end users. You can keep working in edit mode and publish again when ready.

## Restore

You can **Restore** an application in order to discard later edit-mode work and reset Clark's chat memory to an earlier point. To restore an application:

1. Open the checkpoint in chat or find it in **Version history**
2. Choose **Restore**
3. Confirm in **Restore to checkpoint**

<Alert type="info">
  Restore only affects edit mode and chat history. The live production version does not change until you publish again. If you need to change what end users see, [publish](#publish) or [roll back](#roll-back) instead.
</Alert>

## Git-connected apps

When an app is connected to Git:

* Edits happen on `superblocks/live`
* You **commit** and open pull requests in your repository
* After merging to your default branch and the CI sync completes, publish from the **Deploy** tab in Clark version history (not from the History / `superblocks/live` list)

<img src="https://mintcdn.com/superblocks/mm1QoNLfd7KZacuX/images/building-with-clark/checkpoints/publish-git.png?fit=max&auto=format&n=mm1QoNLfd7KZacuX&q=85&s=1d5d180222f183bae92a4eb4747b68d1" alt="Publish main branch for git-enabled app" style={{ width: "70%" }} width="960" height="574" data-path="images/building-with-clark/checkpoints/publish-git.png" />

For more on Git workflows, see [Connect to Git](/development-lifecycle/version-control/connect-to-git).


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