docs: add a routing-as-data convention for plugins that route to installed tools
Los mantenedores suelen responder en 1 día
Ya se ha fusionado un pull request relacionado.
- #6640 de @kyle-sexton — fusionado
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
- Tipo de issue
- Documentación
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- json, markdown, yaml
- Área
- documentation
Línea de trabajo
Start in docs/conventions/ — read the existing config-cascade convention and the related customization-home issue #5906 (whose superseding ADR must be cited), then inspect user-interface's routing.json for the shape being generalized. Draft the new convention doc covering route rows, detection, team customization, degradation and adoption, plus the JSON Schema with additionalProperties: false. Done means the doc lands, the config-cascade policy-floor clause is updated, and user-interface detect ids move to the <self> placeholder; cross-check against #6306, #6302 and #6298 for what each adopter expects.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Problem
Plugins that route to other installed skills, plugins, MCP servers and tools keep their routes as data. user-interface already does (its routing.json), and user-experience (#6306) and the DX plugin (#6302) will too. No convention owns that shape, so each plugin would invent its own. The plugin philosophy asks for an owner doc before a second adopter of a pattern.
Proposed scope
A convention doc under docs/conventions/ that owns:
- Route rows: a versioned file with a
noteand a schema withadditionalProperties: false. Ranks run 1..n per group, and the project is an implicit rank 0, never a row.kindis one of skill, plugin, mcp or tool, anddetectis kept separate fromid.accountis none, key, login or paid.statusis confirmed, unconfirmed or deferred: a deferred route is never used, an unconfirmed one is disclosed when used, and an account-bound row is never unconfirmed. Each row carriesas_ofand an httpspointer. - Detection: by plugin or skill name, never by marketplace id. A plugin's own entries use a
<self>placeholder resolved at run time. Installed and reachable are each true, false or null, with a reason when unreadable. A plugin disabled for the project counts as absent. Tests run on fixtures. - Team customization: a team's repo holds
docs/conventions/<plugin>.yamlbesidedocs/conventions/<plugin>.md, and becomes adocs/conventions/<plugin>/folder only when the plugin needs more files. Routing is one key in that file, and it can re-rank, add or disable routes and set a deny floor. The JSON Schema ships inside the plugin. Nothing goes under.claude/. Per-user values use pluginuserConfig. This follows the customization home set in #5906, and the doc cites #5906's superseding ADR. - Degradation: if the team file is missing, malformed or unreadable, the plugin uses its built-in routes, names the skipped file, says that team overrides and the deny floor were not applied, and suggests setup.
- Adoption:
user-interfacemoves its detect ids to<self>, anduser-experienceand the DX plugin adopt the doc.
The config-cascade convention's policy-floor clause (dedicated file, team layer included) is updated in this PR or in #5906, whichever merges first.
Out of scope
- The superseding ADR and moving other plugins'
.claude/<name>configs (#5906). - Each plugin's own routes.
Related
- #6306 (
user-experience) - #6302 (DX)
- #6298 (
user-interface) - #5906 (customization home)
🤖 Generated with Claude Code
- Lenguaje dominante
- Shell
- Estrellas
- 22
- Forks
- 2
- Merge medio
- 5 h 15 min
- PR fusionados (30 d)
- 833
Preparar el entorno
- Sin Dockerfile ni 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 melodic-software/claude-code-plugins
-
good first issue needs-triage priority: medium
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
melodic-software/claude-code-plugins#6631 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
melodic-software/claude-code-plugins#6547 ·
Los mantenedores suelen responder en 1 día
-
needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
melodic-software/claude-code-plugins#6535 ·
Los mantenedores suelen responder en 1 día
-
test_comment_census.py: SccArgv flag-shaped-filename test errors on Windows (#!/bin/sh scc shim)Abiertogood first issue needs-triage priority: low
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
melodic-software/claude-code-plugins#6532 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
good first issue needs-triage priority: low
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
melodic-software/claude-code-plugins#6390 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de melodic-software/claude-code-plugins
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
aws-samples/appmod-blueprints#972 ·
Los mantenedores suelen responder en 1 día
-
[Bug]: remote-ls --updates reports up-to-date OCI refs because it ignores deployed Alt-idPosiblemente ocupada @Joao-kouznetz la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
status:needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 3 días