Using Version Control in Shakespeare

    Using Version Control in Shakespeare

    Learn how to effectively use version control features in Shakespeare to manage your project history, collaborate with others, and maintain your codebase.

    M.K. Fain

    What is Version Control? What is Git?

    Version control is like having a time machine for your code. It tracks every change you make to your project, allowing you to see what changed, when it changed, and who changed it. Git is the most popular version control system - think of it as a super-powered "undo" button that can save snapshots of your entire project at different points in time. If something breaks, you can easily go back to a working version. It also lets multiple people work on the same project without stepping on each other's toes.

    1. Using Shakespeare's Built-in Version Control

    Roll back to existing versions by clicking the … menu in the project chat pane → Rollback

    Shakespeare rollback interface showing the three dots menu with rollback option

    💡 Pro tip: Advanced Git Users

    If you are an experienced git user, you can also speak to Shakespeare in the chat to give it git commands, or use git in the built-in terminal!

    To access the terminal: click the code icon in the top right of the preview pane, then the terminal icon

    Shakespeare terminal interface showing git commands being executed

    2. Connecting to GitHub and GitLab

    A benefit of connecting to GitHub or GitLab is that others can easily improve your projects, and you can easily sync your projects across devices by pushing and pulling.

    GitHub

    1

    First log in to GitHub on Shakespeare: (settings → Git settings → connect GitHub)

    https://shakespeare.diy/settings/git

    Shakespeare settings page showing GitHub connection option
    2

    Then you have to create a new project in GitHub:https://github.com/new

    (note: visibility MUST be public!)

    3

    Then copy the HTTPS clone URL (make sure you get the HTTPS and NOT the SSH!)

    Example: https://github.com/marykatefain/fantastic-couscous.git

    GitHub repository page showing how to copy the HTTPS clone URL
    4

    Then in Shakespeare click the … menu in the chat pane → Repository

    Shakespeare chat pane showing the three dots menu with repository option
    5

    Then paste the git URL you copied and click "Save"

    6

    Then click "Push" to push your Shakespeare work to GitHub

    Shakespeare repository settings showing push button to sync changes

    GitLab

    Same as GitHub, except you need to login with "Create a new token" first:

    1

    Create a new token here:https://gitlab.com/-/user_settings/personal_access_tokens

    • Set a long expiration for smoothest experience
    • Scope: read_repository, write_repository
    GitLab personal access token creation page showing required scopes
    2

    Add the token to Shakespeare under settings → Git settings → GitLab:https://shakespeare.diy/settings/git

    Shakespeare settings page showing GitLab token input field
    3

    Create new blank project in GitLab here:https://gitlab.com/projects/new#blank_project

    Make it public, and Uncheck "Initialize repository with a README"

    4

    Copy the clone with HTTPS link (make sure it's not the SSH one!)

    Ex. https://gitlab.com/marykatefain/testing.git

    GitLab repository page showing how to copy the HTTPS clone URL
    5

    Add as the repository URL and click Push to sync your changes (same as GitHub)

    N

    3. Using Nostr Git

    Under the repository settings, you can also push to Nostr to back up your repository without needing a GitLab or GitHub account (note: must be logged in to Nostr)

    Shakespeare repository settings showing Nostr Git push option

    Then you will have a Nostr git URL you can use to share or import your project across devices:

    Example: nostr://npub1jvnpg4c6ljadf5t6ry0w9q0rnm4mksde87kglkrc993z46c39axsgq89sc/git.shakespeare.diy/design-craftsman

    Shakespeare showing generated Nostr Git URL for sharing projects
    🎭

    Ready to Build with Shakespeare?

    Start building amazing projects with AI-powered development on Nostr.

    Turn your ideas into reality through natural conversation with AI

    Get the latest Shakespeare updates and resources

    Stay updated with the latest features and announcements. Optionally provide your npub to link your account.

    * indicates required
    Written by M.K. Fain