Software development flow
- Tier: Premium, Ultimate
- Add-on: GitLab Duo Core, Pro, or Enterprise
- Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
- Status: Beta
- LLM: Anthropic Claude Sonnet 4
- Available on GitLab Duo with self-hosted models: Yes
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:
- Install and configure the GitLab extension for VS Code version 5.16.0 or later.
- Ensure you meet the other prerequisites.
To use the software development flow:
- On the left sidebar, select GitLab Duo Agent Platform (Beta) ( ).
- Select the Flows tab.
- 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.
- 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:
- Projects API
- Search API
- CI Pipelines API
- CI Jobs API
- Merge Requests API
- Epics API
- Issues API
- Notes API
- Usage Data API
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:
- 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). - 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. - 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.