Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

feat(planning, work-items, testing, mutation-testing): declare hard plugin dependencies

Cerrado Apto para principiantes
#9,914 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
85/100
Tipo de issue
Nueva funcionalidad
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
shell
Área
cli

Línea de trabajo

Edita los cuatro archivos plugin.json listados (p. ej. plugins/planning/.claude-plugin/plugin.json) para añadir el array dependencies exactamente como en la tabla. Ejecuta scripts/new-changelog-fragment.sh para cada plugin para añadir fragmentos de changelog. Valida con bash scripts/validate-plugins.sh --only "planning work-items testing mutation-testing" y bash scripts/check-changelog-fragments.sh --check; hecho cuando todos los prints de jq coincidan y los scripts salgan con 0.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

agent-ready priority: medium status: ready work-class: scoped

Refs #6462. Slice 1 of 2.

Problem

The core bundle (slice 2) installs its members through native dependencies, so a member that cannot do a job without another plugin must declare that plugin, or the bundle's closure is incomplete. On origin/main only plugins/playgrounds/.claude-plugin/plugin.json declares dependencies. docs/plugin-philosophy.md:104-107 reserves dependencies for hard requires and keeps optional collaboration presence-gated with a fallback.

Among the 53 core members, four call sites have no working fallback without their collaborator:

  • plugins/planning/skills/wayfind/context/tracker-mechanics.md:11: "Without the work-items plugin, wayfind cannot read or write the tracker. Say so and stop" (also plugins/planning/skills/wayfind/SKILL.md:20).
  • plugins/work-items/skills/ship/actions/run.md:71: ship run invokes /implementation:implement-dispatch with no presence check and no fallback.
  • plugins/testing/skills/cleanup/SKILL.md:56 and :124: the mutation gate needs mutation-testing. Without it, only --cannot-fail-only runs.
  • plugins/mutation-testing/skills/audit/SKILL.md:96 and :104: --exercised invokes /testing:audit --file to find tests, and refuses when testing is not installed.

All four targets are core members, so these declarations add nothing outside the core set to the bundle's closure.

Fix

Add an unversioned dependencies array to four manifests. Use a bare name, which resolves in this marketplace (https://code.claude.com/docs/en/plugins/dependencies.md, "Declare a dependency with a version constraint"):

Manifest dependencies Call site
plugins/planning/.claude-plugin/plugin.json ["work-items"] plugins/planning/skills/wayfind/context/tracker-mechanics.md:11
plugins/work-items/.claude-plugin/plugin.json ["implementation"] plugins/work-items/skills/ship/actions/run.md:71
plugins/testing/.claude-plugin/plugin.json ["mutation-testing"] plugins/testing/skills/cleanup/SKILL.md:56
plugins/mutation-testing/.claude-plugin/plugin.json ["testing"] plugins/mutation-testing/skills/audit/SKILL.md:104

testing and mutation-testing depend on each other. The dependencies page does not say whether a cycle installs. The live install check below settles it. If it fails, drop testing's entry, keep mutation-testing's, and say so in the PR body.

Add one changelog fragment per plugin with scripts/new-changelog-fragment.sh planning work-items testing mutation-testing minor, with a ### Changed entry naming the dependency. Edit nothing under .github/**.

Done when

  • jq -c '.dependencies' plugins/planning/.claude-plugin/plugin.json prints ["work-items"]
  • jq -c '.dependencies' plugins/work-items/.claude-plugin/plugin.json prints ["implementation"]
  • jq -c '.dependencies' plugins/testing/.claude-plugin/plugin.json prints ["mutation-testing"], or null with the PR body saying the cycle failed to install
  • jq -c '.dependencies' plugins/mutation-testing/.claude-plugin/plugin.json prints ["testing"]
  • bash scripts/validate-plugins.sh --only "planning work-items testing mutation-testing" exits 0
  • bash scripts/check-changelog-fragments.sh --check exits 0 and bash scripts/check-changelog-fragments.sh --check-required origin/main exits 0
  • With CLAUDE_CONFIG_DIR set to a fresh mktemp -d directory: claude plugin marketplace add "$PWD" and claude plugin install testing@melodic-software both exit 0, claude plugin list --json lists testing and mutation-testing, and claude plugin list --json | jq '[.. | objects | select(has("errors"))] | length' prints 0
  • ci-status is green on the PR head
Lenguaje dominante
Shell
Estrellas
22
Forks
2
Merge medio
3 h 38 min
PR fusionados (30 d)
959

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de melodic-software/claude-code-plugins

Todos los issues de melodic-software/claude-code-plugins

Issues similares

Más issues de Shell/Bash

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.