feat(mcp): declare GitHub repositories in the docs manifest to serve technical docs and code references
Los mantenedores suelen responder en 5 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- github, javascript, json
Línea de trabajo
Start by reading contract/kb-docs.schema.json and contract/ARTIFACT.md, then trace how the manifest is validated and carried into the generated search index and MCP responses. Check the existing MCP work in #119, #128, and #129 for integration points. Done means the optional repository declarations are validated, included in MCP output, documented, and covered by hermetic schema, build, and MCP tests.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Feature Description
Let a docs app declare one or more GitHub repositories in the kb-docs.json manifest (contract/kb-docs.schema.json) as its source code references. When the knowledge base is consumed through the MCP server (#119, #128, #129), the server can use that declaration to serve technical documentation and point to the code, not only the user-facing docs.
Problem / Opportunity
The knowledge base is built from user documentation. Agents and developers using it through MCP also need technical detail: how a service is implemented, where a behaviour lives, which module owns a config key. Today the MCP server has no way to know which repositories back a doc app, so it cannot link answers to code or serve the technical docs that exist (README, docs/, ADRs, API specs). Consumers must guess repository names.
Acceptance Criteria
kb-docs.jsonaccepts an optionalrepositorieslist per app. Each entry has at leasturl(GitHubowner/repo), and optionallyref,role/description, andpaths(the technical-doc and source locations to expose).contract/kb-docs.schema.jsonvalidates it. Invalid values fail the build with a clear message. Existing manifests without the field stay valid (non-breaking, optional).- Repository values are validated strictly: allow-listed host (github.com), no shell interpolation, no path traversal in
paths. - The build carries the declaration into the generated MCP data (search index / app metadata).
- MCP responses for an app include the repository references (repo, ref, deep links to files or paths) so clients can fetch code on their own.
- Behaviour with MCP disabled is unchanged: nothing is rendered in the HTML output.
contract/ARTIFACT.mddocuments the field. Tests cover schema, build and MCP output, and stay hermetic (committed fixtures, no network).
Proposed Solution
Add to the app definition in the manifest:
"repositories": [
{
"url": "https://github.com/AbsaOSS/example-service",
"ref": "master",
"role": "source",
"description": "Service implementation",
"paths": ["docs/", "src/", "openapi.yaml"]
}
]
Start with references only: the MCP server returns links and metadata and does not clone or index code at build time (keeps the build hermetic). Fetching or indexing technical docs from the repos could follow as a separate opt-in step, with a documented trust model since content comes from other repositories.
Alternatives considered:
- Convention: infer the repo from the release artifact's origin. Implicit, breaks for monorepos and packaged or iframe apps.
- A separate registry file in this repo. Moves ownership away from the doc app's own repo and drifts.
Dependencies / Related
#119, #128, #129 (MCP server, search index, runtime). Touches contract/, so it must be called out as a contract change in the PR (additive, optional field).
Additional Context
Sub-app artifacts are untrusted input (see AGENTS.md), so the repository references need the same validation as the rest of the manifest.
- Lenguaje dominante
- JavaScript
- Estrellas
- 0
- Forks
- 0
- Merge medio
- 3 d 8 h
- PR fusionados (30 d)
- 5
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de AbsaOSS/knowledge-base
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
AbsaOSS/knowledge-base#118 ·
Los mantenedores suelen responder en 5 días
-
feat: expose knowledge-base documentation through an MCP serverPosiblemente ocupada @oto-macenauer-absa la tomó hace 32 días. Abiertoenhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
AbsaOSS/knowledge-base#117 · 1 asignado ·
Los mantenedores suelen responder en 5 días
-
enhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
AbsaOSS/knowledge-base#114 · 1 reacción ·
Los mantenedores suelen responder en 5 días
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
AbsaOSS/knowledge-base#113 ·
Los mantenedores suelen responder en 5 días
-
Dynamic responsive masthead menu from documentation manifestsPosiblemente ocupada @oto-macenauer-absa la tomó hace 36 días. Abiertoenhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
AbsaOSS/knowledge-base#111 · 1 asignado ·
Los mantenedores suelen responder en 5 días
Todos los issues de AbsaOSS/knowledge-base
Issues similares
-
test-reliability
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Azure/azure-sdk-for-js#40672 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
txn2/mcp-data-platform#2492 ·
Los mantenedores suelen responder en 1 día
-
documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
liberation-data/drivine#639 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
accessibility ux
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
prophet-technocracy/civilizational-emergency-protocol#59 ·
Los mantenedores suelen responder en 1 día
-
type: bug
Dificultad 1/5 1-3 horas Aptitud para principiantes 72/100
RocketChat/Rocket.Chat#43554 · 1 comentario ·
Los mantenedores suelen responder en 1 día