Skip to main content

Properties of a Workspace

Workspaces are the central hubs where you organize your projects and collaborate with your team. Understanding their properties is key to effective usage.

Key Properties

  • Workspace Name: Each workspace has a unique name that identifies it. Choose a descriptive name to easily distinguish it from others. This name is displayed in the workspace switcher and throughout the application.

  • Members: A workspace can have multiple members, each with their own roles and permissions (see Role-Based Access Control for details).

  • Repositories: Workspaces are linked to your code repositories which you upload or sync to the platform. This includes:

    • Local Repositories: These are directories on your local machine that you've granted the application permission to access. Changes in these directories can be synced with the platform, and the platform's agents can work with them. See the sections on Managing Repositories and Local Sync for more information.
    • Remote Repositories: These are repositories hosted on external platforms such as GitHub or GitLab, which you might be able to connect in the future (currently only local repositories are supported).
  • Task Context: The Workspace also stores the context of any active task or project. This includes the current code plan, any generated code diffs, documentation, or other artifacts.

  • Tabs: Each workspace has a set of tabs that can be used to view different aspects of the project. These include:

    • Help Tab: Provides access to helpful resources, documentation, and support information.
    • Flow Editor Tab: A visual interface for designing and managing workflows. (Not implemented yet)
    • Code Editor Tab: An editor for viewing and modifying code.
    • Plan Tab: Displays the current code plan, outlining the steps required to complete the task.
    • Markdown Editor Tab: An editor for creating and editing markdown documents.
    • Inline Chat Tab: A chat interface for interacting with the coding agents.

Managing Workspaces

  • Creating a Workspace: New workspaces can be created by clicking the "Create new workspace" option in the workspace switcher. This will open a modal where you can enter the name of the new workspace.

  • Switching Workspaces: You can switch between workspaces by selecting the desired workspace from the workspace switcher in the sidebar.

  • Deleting a Workspace: You can delete a workspace, but you must be an administrator to do so. Deleting a workspace will also delete all of its contents, so be sure to back up anything you want to keep.

States and Statuses

  • Initialization Status: Indicates whether the workspace has been properly initialized. This includes checking permissions for local directories, and syncing with the server.

  • Sync Status: Shows the current status of the workspace's sync with the server. This can be "syncing", "synced", or "error".

  • Permission Status: Displays the current permission status for the workspace's local directories. This can be "approved", "rejected", or "prompt".