feat(status): warn when a repo has no description, topics, or README #811

Open
opened 2026-10-19 20:04:44 +00:00 by hexajon · 0 comments
Owner

Problem

A repo with no description, no topics, or no README stays that way until someone runs the audit on purpose. madt_repos check_metadata=true (#114) finds the gaps, but nothing points at them during normal work. Today I set topics on about 40 of my repos and found 4 with no topics at all. Nothing had warned me.

The agent that works in a repo is the best place to fix this. It already has the repo open and knows what the code does, so it can write the description and pick the topics in the same session. It only needs to be told.

Proposal

When madtea reports on a repo (status on the CLI, madt_status on MCP), it also checks the repo's metadata and emits one warning for each missing item:

  • description
  • topics
  • README
  • website (only when the repo is public)

The warning is advisory. It never blocks the command. It goes through the shared diagnostics emitter, so an agent sees it in the MCP result, not only on a terminal. Each warning states in plain words what is missing and names the madtea call that fixes it. The check reads metadata the forge already returns, and caches the result, so status does not get slower.

Acceptance criteria

  • status and madt_status emit one warning per missing item, each with the call that fixes it.
  • The warning reaches the MCP tool result.
  • A repo with every item set emits no warning.
  • The result is cached per repo, so repeated status calls make no extra API call.
  • Tests cover a repo with every item missing, a repo with all items set, and a private repo with no website.

Related: #114 (the audit), #723 (a typed read of description and topics).

## Problem A repo with no description, no topics, or no README stays that way until someone runs the audit on purpose. `madt_repos check_metadata=true` (#114) finds the gaps, but nothing points at them during normal work. Today I set topics on about 40 of my repos and found 4 with no topics at all. Nothing had warned me. The agent that works in a repo is the best place to fix this. It already has the repo open and knows what the code does, so it can write the description and pick the topics in the same session. It only needs to be told. ## Proposal When madtea reports on a repo (`status` on the CLI, `madt_status` on MCP), it also checks the repo's metadata and emits one warning for each missing item: - description - topics - README - website (only when the repo is public) The warning is advisory. It never blocks the command. It goes through the shared diagnostics emitter, so an agent sees it in the MCP result, not only on a terminal. Each warning states in plain words what is missing and names the madtea call that fixes it. The check reads metadata the forge already returns, and caches the result, so `status` does not get slower. ## Acceptance criteria - `status` and `madt_status` emit one warning per missing item, each with the call that fixes it. - The warning reaches the MCP tool result. - A repo with every item set emits no warning. - The result is cached per repo, so repeated `status` calls make no extra API call. - Tests cover a repo with every item missing, a repo with all items set, and a private repo with no website. Related: #114 (the audit), #723 (a typed read of description and topics).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sixfold-space/madtea#811
No description provided.