GitLab Duo Chat best practices
When prompting GitLab Duo Chat with questions, keep the following best practices in mind.
Have a conversation
Treat chats like conversations, not search forms. Start with a search-like question, then follow up with related questions to refine the scope. Build context through back-and-forth.
For example, you might ask:
c# start project best practices
Then follow up with:
Please show the project structure for the C# project.
Refine the prompt
For better responses, provide more context up front. Think through the full scope of what you need help with and include it in one prompt.
How can I get started creating an empty C# console application in VS Code?
Please show a .gitignore and .gitlab-ci.yml configuration with steps for C#,
and add security scanning for GitLab.
Follow prompt patterns
Structure prompts as problem statement, request for help, then add specificity. Don’t feel you must ask everything up front.
I need to fulfill compliance requirements. How can I get started with Codeowners and approval rules?
Then ask:
Please show an example for Codeowners with different teams: backend, frontend, release managers.
Use low-context communication
Even if code is selected, provide context as if none is visible. Be specific on factors like language, framework, and requirements.
When implementing a pure virtual function in an inherited C++ class,
should I use virtual function override, or just function override?
Repeat yourself
Try rephrasing a question if you get an unexpected or strange response. Add more context.
How can I get started creating an C# application in VS Code?
Follow up with:
How can I get started creating an empty C# console application in VS Code?
Be patient
Avoid yes/no questions. Start general, then provide specifics as needed.
Explain labels in GitLab. Provide an example for efficient usage with issue boards.
Reset when needed
Use /reset
if Chat gets stuck on a wrong track. Start fresh.
Refine slash command prompts
Go beyond the basic slash command. Use them with more specific suggestions.
/refactor into a multi-line written string. Show different approaches for all C++ standards.
Or:
/explain why this code has multiple vulnerabilities
Related topics
- GitLab Duo Chat best practices blog post
- Videos on how to use Chat
- Request a GitLab Duo Chat learning session
Docs
Edit this page to fix an error or add an improvement in a merge request.
Create an issue to suggest an improvement to this page.
Product
Create an issue if there's something you don't like about this feature.
Propose functionality by submitting a feature request.
Feature availability and product trials
View pricing to see all GitLab tiers and features, or to upgrade.
Try GitLab for free with access to all features for 30 days.
Get help
If you didn't find what you were looking for, search the docs.
If you want help with something specific and could use community support, post on the GitLab forum.
For problems setting up or using this feature (depending on your GitLab subscription).
Request support