Track every documentation source your team has indexed

By General Input

Know what is in your documentation index, who owns each source, and how stale it has gone, then prove which sources actually answer real questions.

Integrations

  • Context7

Type

App

Categories

  • Engineering
  • Operations

Build me an internal app that works as a registry for every documentation source our platform team has indexed into Context7. Right now nobody knows what is in there, who owns it, or how stale it has gone. The whole app runs on Context7. The fields Context7 does not track for us, meaning the owning team, a short description, and our spot check verdicts and notes, live in the app's own storage keyed by library ID.

The main view is a table of every indexed source, one row per source. Each row shows the source type (Confluence space, GitLab repository, Bitbucket repository, or llms.txt file), the Context7 library ID, when it was last refreshed, the owning team and short description from our own storage, and the current processing state. Use Search for Libraries to resolve and confirm library IDs. Let me sort and filter by type, owning team and staleness. Flag anything not refreshed in the last 90 days as stale, and flag any row with no owning team as unowned, since a source nobody owns is the one that rots first. Keep the staleness threshold defined in one place so it is easy to change.

An Add source form submits a new source by type. Give me a single form with a type picker backed by the four Context7 operations: Add a Confluence Space, Add a GitLab Repository, Add a Bitbucket Repository and Add an llms.txt File. Show only the fields that the chosen type needs, and capture the owning team and a short description alongside every submission, saving those to the app's storage against the returned library ID as soon as Context7 accepts the source. Add a Confluence Space requires a Confluence account connected on the Context7 side and a team project, so when that is missing, say exactly that in the form rather than failing silently.

Every row gets a Refresh a Library button. Context7 answers 202 Accepted while a library is still processing, so treat that as a real state and not an error: show the row as processing, keep checking, and move it to a finished state with a new last refreshed timestamp once it resolves. I want to watch that resolve on screen instead of guessing whether it worked. Show an in flight indicator on the row, disable that row's button while a refresh is running so nobody double submits, and surface rate limit responses with the retry hint rather than a generic failure.

Add a spot check panel. I type a question a new engineer would genuinely ask, pick two or three indexed sources, and the app calls Get Documentation Context once per selected source with that same question, then shows the results side by side in columns so I can compare what each one actually returns. Under each column, let me save a verdict (useful, thin, or useless) and a free text note, stored in the app against that source and question, so we build a record over time of which sources never return anything useful and can be retired. Surface the saved verdict history on the source's row or detail view, and make it obvious when a source returns nothing at all.

Show the current Teamspace Policies on the page as well, in a panel an admin can read before anyone tries to add a source that will be rejected. Pull it from Get Teamspace Policies and lay out which source types are allowed and which public repository filters apply. If a source type is disallowed by policy, disable that option in the Add source form and explain why, so the policy is visible at the moment it matters.

Several Context7 endpoints require the API key to belong to a member of the teamspace that owns the library. When a call comes back forbidden, show a clear permission message naming the source and what access is missing. Never leave a blank panel or an empty table that looks like there is simply no data. Keep this app to Context7 only. There is no second system here, and I do not want chat or ticketing bolted on to pad it out.

Related prompts

Explore more prompts
A technology radar board your architecture group works out ofPlan every library upgrade across all your repositoriesKeep your docs current for AI assistants after every releaseRisk-check every dependency upgrade pull request in GitHubAnswer engineers' library questions in Slack from live docsPersonalized onboarding guides for new engineers in NotionWeekly Context7 docs usage report in Sheets and SlackLocal listing health board for every location you manageClean out the Looker dashboards and Looks nobody opensCompetitor LinkedIn ad watchlist with a permanent archive