Software development flow

The availability of this feature is controlled by a feature flag. For more information, see the history.

The software development flow is the first flow that’s available in the VS Code IDE. Formerly known as GitLab Duo Workflow, the software development flow:

  • Runs in your IDE so that you do not have to switch contexts or tools.
  • Creates and works through a plan, in response to your prompt.
  • Stages proposed changes in your project’s repository. You control when to accept, modify, or reject the suggestions.
  • Understands the context of your project structure, codebase, and history. You can also add your own context, such as relevant GitLab issues or merge requests.

This flow is available in the VS Code IDE only.

Use the software development flow in VS Code

The software development flow is one flow in the Agent Platform.

Prerequisites:

To use the software development flow:

  1. On the left sidebar, select GitLab Duo Agent Platform (Beta) ( duo-agentic-chat ).
  2. Select the Flows tab.
  3. In the text box, specify a code task in detail.
    • The software development flow is aware of all files available to Git in the project branch.
    • You can provide additional context for your chat.
    • The software development flow cannot access external sources or the web.
  4. Select Start.

After you describe your task, a plan is generated and executed. You can pause or ask it to adjust the plan.

Supported languages

The software development flow officially supports the following languages:

  • CSS
  • Go
  • HTML
  • Java
  • JavaScript
  • Markdown
  • Python
  • Ruby
  • TypeScript

APIs that the software development flow has access to

To create solutions and understand the context of the problem, the software development flow accesses several GitLab APIs.

Specifically, an OAuth token with the ai_workflows scope has access to the following APIs:

Audit log

An audit event is created for each API request done by the software development flow. On your GitLab Self-Managed instance, you can view these events on the instance audit events page.

Risks

The software development flow is an experimental product and users should consider their circumstances before using this tool. It is subject to the GitLab Testing Agreement. The software development flow is an AI agent that is given some ability to perform actions on the user’s behalf. AI tools based on LLMs are inherently unpredictable and you should take appropriate precautions.

The software development flow in VS Code runs workflows on your local workstation. All the documented risks should be considered before using this product. The following risks are important to understand:

  1. The software development flow has access to the local file system of the project where you started running it. The software development flow respects your local .gitignore file, but it can still access files that are not committed to the project and not called out in .gitignore. Such files can contain credentials (for example, .env files).
  2. The software development flow also gets access to a time-limited ai_workflows scoped GitLab OAuth token with your user’s identity. This token can be used to access GitLab APIs on your behalf. This token is limited to the duration of the workflow and only has access to certain APIs in GitLab. Without user approval, the software development performs only read operations. By design, the token can still perform write operations on the users behalf. You should consider the access your user has in GitLab before running the software development flow.
  3. You should not give the software development flow any additional credentials or secrets, in goals or messages, as there is a chance it might end up using those in code or other API calls.

Give feedback

The software development flow is an experiment and your feedback is crucial to improve it for you and others. To report issues or suggest improvements, complete this survey.