CodeCargo logo

Core Concepts

Workspaces

A workspace in CodeCargo is a way to directly interact with your code assets in GitHub.

  • Each workspace contains a collection of files, GitHub repositories, or other assets
  • All assets in a workspace serve as context to the GenAI agent
  • After a workspace is created, you can add or remove files, repositories, or other assets
  • Your GenAI Agent can make edits across multiple files and repositories, and then create PRs
  • Workspaces become read-only after you create a PR
  • Assets loaded into a workspace can be from different Projects
  • Workspaces are tied to a user and a single organization

Creating a Workspace

You can create a workspace in two different ways:

Option #1 - Click on the button located on the top-right-corner of the screen labeled "X repo(s) in workspace," then click on "New Workspace." Enter a name for your workspace, then click "Create Workspace."

Option 2 - Click on the button located on the top-right-hand corner of the screen labeled "X repos(s) in workspace," then click "Manage," then click on the button labeled "+ New Workspace" and enter a name, and click "Create Workspace."

Adding Files, Repositories and other Assets to a Workspace

You can add the following items to a Workspace:

  • Files
  • GitHub Repositories
  • Building Blocks
  • Service Catalog entities

In general, to add any of the above to a workspace, navigate to the item that you'd like to add, click the + icon directly to the left of the item, and it will be added to the workspace. You can then remove the item by clicking on the boue - icon in the same location.

Files

To add a file to the workspace, navigate to a project, then to the Guardrails section, and click the + icon directly to the left of a workflow file. The icon will turn blue indicating that the file has been added to the workspace, and the workspace button in the top-right-corner of the dashboard will update.

Quick Tip

Adding a file to your Workspace also adds all contents from the GitHub repository that it is defined in.

Repositories

When you add a Repository to your workspace, all contents of the repository will be added to the workspace. To add a repository to the workspace:

From the Organization Menu: click on "repositories," and click the + icon to the left of any repository that you would like to add to the workspace.

From a Project: click on "Repositories" in the Project dashboard, then click the + icon to the left of any repository that you would like to add to the workspace.

Building Blocks

Navigate to Building Blocks from the Organization menu. Click the type of Building Block you'd like to add to the workspace (Workflows or Actions). To the left of the Building Block, click on the + icon to the left of the building block to add it to your workspace.

Service Catalog Entities

Navigate to a Project with an active Service Catalog, make sure its open in split or table view, then click on the + icon to the left of the Service Catalog entity that you'd like to add to the workspace.

GenAI Context

All files, repositories, Building Blocks, and Service Catalog entities in the workspace are used as context for the GenAI Editor. This means the active GenAI Agent will be able to read all of those entities and make code changes, perform analysis, or other tasks based on the file contents and their relationships.

This enables advanced use-cases such as refactoring an API and updating all software that calls it, migrating CI/CD pipelines from one framework to another, and more.

Previous
GitHub Integration