Address potential users needs around CI with Duo Chat

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Problem

In the early days of Duo Chat, @andrei.zubov contributed a very basic tool for Duo Chat to answer CI/CD related questions. The tool was never evolved and to fetch any additional context. However, the tool has been picked up a lot by the Chat agent to answer user questions. The tool capabilities are advertised to the LLM in the following way:

description: str = """Useful tool when you need to provide suggestions regarding anything related
        to ".gitlab-ci.yml" file. It helps with questions related to deploying code, configuring CI/CD pipelines,
        defining CI jobs, or environments.
        It can not help with writing code in general or questions about software development."""

    example: str = """Question: Please create a deployment configuration for a node.js application.
        Thought: You have asked a question related to deployment of an application or CI/CD pipelines.
            "ci_editor_assistant" tool can assist with this kind of questions.
        Action: ci_editor_assistant
        Action Input: Please create a deployment configuration for a node.js application."""

The groupduo chat has decided to remove this tool for now, as in its current very simple form it may lead to poorer answers than without the tool.

Opportunity for grouppipeline authoring

The fact that the tool is picked up so often suggests that users ask a lot of questions that trigger it. So, potentially there is an opportunity for the grouppipeline authoring (@dhershkovitch @jreporter @marknuzzo @enf) to address user needs with AI that go beyond what Duo Chat can do without a specialised CI/CD tool. Maybe creating a tool that fetches the .gitlab-ci.yml so users can ask questions about their actual CI could be valuable. The grouppipeline authoring should probably do research to understand needs better where AI in general or a chat in specific might help.

I did a quick scan (using Claude Sonnet 3.5) through all the questions users have asked in our chat bashes looking for questions that relate to CI and found the following list. The majority can probably be answered directly by the LLM that is underlying Duo Chat (Claude Sonnet 3.5). At least one questions however will require additional context of the .gitlab-ci.yml file: How do I optimize my pipelines so that they do not cost so much money?

Question
provide a starter code for gitlab ci for a python project
provide CI starter code using workflow rules for a python project. It should have building and test stages
how can I create environments using CI
How can you improve the performance of third-party analytics scripts?
How do I optimize my pipelines so that they do not cost so much money?
How do I run unit tests for my Next JS application in a GitLab pipeline?
Share a gitlab-ci.yml file to cache node files
Write a .gitlab-ci.yml file to test, build and and deploy a javascript application to AWS EC2
Is it possible to add stages to pipelines
How to standardize CICD using GitLab?
How can i add a release in gitlab job
create aws cloudfront with s3 bucket as origin and behaviour using terraform
Edited by 🤖 GitLab Bot 🤖