GitLab repo standards board with one-click fix merge requests

See which GitLab projects have the files and settings your team agreed on, and turn every gap into a merge request someone reviews.

App
GitLabSlack BotEngineeringOperationsResearch & MonitoringNotifications & Alerts
PromptCreate

Build me a repo standards board for GitLab that replaces the spreadsheet my platform team uses to track which projects are actually set up properly. The main view is a grid with one row per project and one column per standard we define inside the app, and each cell shows pass, fail, or not applicable at a glance, along with a link to any fix that is currently in flight.

Projects come from List User Projects, and Get a Project fills in the details each row needs: the default branch, the namespace or group path, visibility, description, topics and the web URL. Let me refresh the project list on demand and choose which projects belong on the board, since not every project the connection can see is one we care about. Group rows by team, defaulting to the project's group or namespace path, and let me override the team label for a project and store that override in the app.

The checklist itself is stored in the app so a platform engineer can edit it without shipping code. A rule has a name, a short description of why it exists, a severity, and a check type. Support these check types: a file exists at a path (CODEOWNERS, README, LICENSE); a file exists and its contents match or contain something (a .gitlab-ci.yml that includes our security scan job, a Dockerfile whose FROM line pins one of an approved list of base images, a shared CI template include that is on the current version); and a project setting returned by Get a Project matches an expected value, such as the default branch name or the merge settings. Give me a rules page where I can add, edit, reorder, disable and delete rules, scope a rule so it only applies to projects matching a topic or path pattern, and mark a rule not applicable for one specific project with a reason.

Cells are evaluated by server-side handlers. For file existence use List Repository Tree on the project's default branch, recursing where needed rather than guessing paths. For content rules use Get Raw File Content, which returns plain text; Get a File returns Base64, so prefer the raw variant for anything you need to read and match on. Cache each result in the app with the commit or timestamp it was checked at, so opening the board is fast and I can see when a cell was last verified. Give me a Recheck action per row, per column, and for the whole board.

The second view is a drift view. I pin one file, such as .gitlab-ci.yml or package.json, and the view lists every project alongside the value that matters from that file: the version of the shared CI template it includes, the version of a named dependency, or the pinned base image. Group identical values together so the outliers are obvious, show how many repos sit on each value, and let me change the pinned file and the value being extracted without shipping code.

Every failing cell gets a "Fix with a merge request" button that starts a background agent for that project and rule. The agent reads the current state of the file with Get Raw File Content or List Repository Tree, creates a branch off the default branch with Create a Branch, writes or corrects the file with Create a Commit using its file actions (or Create a File when the file is new), and opens a merge request against the default branch with Create a Merge Request. The merge request description should explain which standard failed, what the agent changed and why, in plain language a reviewer can check. When the agent finishes, the merge request link lands back in that cell so the board shows what is in flight, and the cell stays in an in-review state until the change is merged and the next check passes.

A "Post scorecard" action sends a weekly compliance summary to our channel with the Slack Bot Send a Message action: the overall pass rate, a score per team, which standards are failing most often, and how many fix merge requests are currently open. Let me pick the channel and preview the message before it sends.

Two rules that are not negotiable: nothing is ever committed straight to the default branch, and every fix goes through a merge request a human approves. Keep every standard file based or based on the settings Get a Project returns; do not build rules around project members, permissions or audit events, because those are not available here. Project IDs and file paths must be URL encoded in requests, so encode the slash in a namespace path and in any nested file path. Handle projects that are empty, archived, or simply missing a file without failing the whole board.

What does this prompt do?

  • Puts every project on one grid, one row per repo and one column per standard, so you can see which repos are missing a README, a LICENSE, a code owners file, a security scan step in the pipeline, or an approved base image.
  • Lets you write the checklist yourself inside the app and change it whenever your conventions change, without waiting on a release.
  • Pins one file, like your pipeline config or package.json, and shows which version every repo is on so drift is obvious at a glance.
  • Turns any failing cell into a merge request a teammate reviews, and posts a weekly compliance score per team to your Slack channel.

What do I need to use this?

  • A GitLab account that can see the projects you want on the board
  • Permission to create branches and open merge requests in those projects, so fixes can be raised for review
  • A Slack workspace and channel if you want the weekly scorecard posted
  • A short list of the standards you expect every repo to meet, to start the checklist

How can I customize it?

  • Add, edit or retire standards as your conventions change, and mark one not applicable for repos where it does not fit
  • Choose which file the drift view pins and which value it pulls out of that file
  • Pick the Slack channel for the scorecard and how repos are grouped into teams

FAQs

Will this change our code without us approving it?
No. Every fix arrives as a merge request that a person reviews and merges. Nothing is ever committed straight to your default branch, so the board can never quietly rewrite a repo.
Do we need a paid GitLab plan for this?
No. The board reads the files and project settings available to any GitLab account, so you do not need the compliance features that only come with the higher tiers.
Can we define our own standards?
Yes, that is the point. The checklist lives inside the app, so a platform engineer can add a rule, reword one, or drop one that no longer applies without shipping code.
What if a standard does not apply to a particular repo?
You can mark that cell as not applicable, or scope the standard so it only applies to repos matching a topic or path, and it stops counting against the score.
How do we know a fix is already underway?
The cell shows a link to the merge request the fix opened, so anyone looking at the board can see what is in flight and who still needs to review it.

Related templates

Location scouting workbench for picking your next site

Type in a candidate address and get a scorecard of nearby competitors, foot traffic anchors, and drive time from every site you already run.

Geolocation
Google Sheets
Slack Bot
App
Newsletter send desk for drafts you write in Google Docs

Move every draft from Drive to your email list in one screen: pick the audience, see the real recipient count, and send without fixing formatting by hand.

GetResponse
Google Drive
Google Docs
+1
App
Track every laptop, license and who has it right now

One register for every piece of equipment and every software seat, with a dated record of who had what, so nothing depends on a shared spreadsheet again.

General Input Database
Slack Bot
Google Sheets
App
Search what customers actually say across your Gong calls

One screen where sales, success, and marketing can search every call transcript by keyword, watch mention trends, and share AI summaries to Slack.

Gong
Slack Bot
App
A GitLab merge request review desk your team opens daily

See every open merge request across your GitLab projects in one board, spot who is buried in reviews, and reassign, comment, nudge or merge right from the row.

GitLab
Slack Bot
App
A review board for GitBook change requests across every space

See every open docs edit from all your spaces in one queue, with the oldest floating to the top, and approve, comment, or merge without leaving the page.

GitBook
Slack Bot
App

Retire the repo compliance spreadsheet.

See which projects actually meet the standards you agreed on, and fix the gaps with merge requests your team reviews.