本文へ移動
cccskills
無料GitHub で公開

implement-change

Implement a verdaccio bug fix, feature, or refactor — establish the affected release lines, check whether existing configuration, package-access rules, plugins, or uplink options already solve it, put the change in the layer that owns it, reuse existing helpers, add tests and a changeset, and validate. Use when asked to implement a change in this repository.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md5.3 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Implement a change

Apply AGENTS.md. Keep repository policy there; this skill connects implementation to the testing-changes, review-code, and pull-requests workflows.

Understand the problem before adding code

Establish the intended behaviour and concrete success criteria from the request, the issue, or the reproduction. For a bug, reproduce it first when practical: pnpm build, start a registry (pnpm start, or node packages/verdaccio/bin/verdaccio --config <yaml> --listen 4873), and run the client command from the report against it. A reporter's npm install symptom is a registry route plus a client expectation; find both.

Decide which release lines the work concerns:

  • A feature lands on master only.
  • A bug fix lands on every supported line that has the bug: master first, then a port to 6.x (binary) and/or 8.x (internal modules 6.x consumes). Check whether the code path exists there before promising a port, and say in the PR when it is pending.

Check whether Verdaccio can already do it. Configuration (packages/config/src/conf/default.yaml documents the keys), package-access rules (access/publish/unpublish with groups), uplink options (maxage, timeout, fail_timeout, cache, auth), bundled plugins, middleware and filter plugins, and the web UI settings cover a lot. If an existing capability fully solves the request, the deliverable is an explanation and possibly a documentation change; if it partly solves it, extend the owning feature rather than adding a parallel one. Respect an explicitly requested behaviour that nothing existing provides.

Anything a package manager observes is a contract. Before changing a status code, header, packument field, tarball URL, or auth flow, check what registry.npmjs.org and the npm CLI (npm/cli) do, and remember the e2e matrix runs npm, pnpm, yarn modern (3 and 4), bun, and deno.

Put it in the owning layer

Trace the request through the layers before editing: api/web (routing, status, response shape) → store (local versus uplink merge, filters, stage) → local-storage or the storage plugin (files) and proxy (uplink HTTP); auth for identity and access; config for parsing and defaults; core for pure helpers.

Ask where the behaviour belongs, which abstraction it extends, and what else observes it: a validation added only in an api route leaves the web UI and every plugin exposed; a change in store affects every storage plugin. Changes to interfaces in @verdaccio/types break third-party plugins and are major. Prefer a coherent extension over a local workaround, and keep refactoring bounded to the change.

Reuse before you write

Search packages/core/core/src/*-utils.ts, @verdaccio/config, the store lib helpers, and @verdaccio/test-helper before writing a helper. If the logic exists but is not exported, export or move it and update the callers. Preserve meaningful differences; do not force unrelated behaviour into one generic function because it looks similar. Prefer a maintained package to a hand-rolled parser or escaper, added to the narrowest package that needs it (and older than the workspace's seven-day release-age rule).

Implement and validate

Implement the smallest cohesive change that meets the success criteria. Follow the conventions in AGENTS.md: errorUtils and HTTP_STATUS for errors, the package logger instead of console, streams for tarballs, import.meta.dirname, minimal comments, no swallowed errors.

Add tests that prove the observable contract at the right level: a unit test for a helper, a packages/api integration test for a route, a nocked uplink for store and proxy behaviour, and an e2e scenario only for client wiring. A bug fix ships with a regression test that fails without it.

Add one changeset for the PR, naming every published package it touches (patch for fixes, minor for features, major for breaking config, plugin, or HTTP contract changes), written as a release note without exploit detail. Update docs/migrations-guide.md for breaking changes and docs/warnings.md for a new warning code.

Rebuild the packages you touched, then use testing-changes to run their tests, their dependents' tests, and the client-facing suites the change can affect. Investigate every failure. Then review the complete diff with review-code, fix the verified findings, and rerun the checks the fixes touch.

Report what changed, what existing capability was considered and why it was not enough, the reuse or extraction chosen, the release lines covered and the ports still pending, and exactly what was validated. Commit, push, or open a PR only when the user or the calling workflow authorises it; use pull-requests when taking the change through a PR.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

plugins

無料

Maintain the plugins bundled in this repository (htpasswd, local-storage, auth-memory, memory, audit, package-filter, ui-theme) and the plugin contracts in @verdaccio/core — fix a bundled plugin, change a pluginUtils interface safely, diagnose why a plugin does not load, or verify a plugin with @verdaccio/plugin-verifier. Use when a task touches packages/plugins, packages/loaders, pluginUtils, or a plugin loading problem. Requests to add a new bundled plugin are gated on an accepted discussion thread; this skill says how to handle them.

日本語の概要は準備中です。原文の説明を表示しています。

verdaccio/verdaccio1.8万2026年10月9日 更新

pr-labels

無料

Choose and apply the labels for a verdaccio/verdaccio pull request — exactly one release-line label plus content labels from the repository's existing taxonomy (typically one to three, more for a genuinely large multi-topic PR), never security, and AI assisted only on the author's own PR. Use right after gh pr create, when editing a PR, when reviewing a PR whose labels are missing or wrong, or when asked which labels a change should carry.

日本語の概要は準備中です。原文の説明を表示しています。

verdaccio/verdaccio1.8万2026年10月9日 更新

Take a change through a verdaccio/verdaccio pull request — branch, checks, changeset, title, body, labels, draft-to-ready, then the CI and review rounds after every push, plus the port PRs to other release lines. Use when opening a PR, after pushing to one, when a check fails, or when review comments arrive.

日本語の概要は準備中です。原文の説明を表示しています。

verdaccio/verdaccio1.8万2026年10月9日 更新

Review a verdaccio diff, branch, or pull request against the repository review guide (security first, then npm-client compatibility, performance, product fit, maintainability), verify each finding against the code, and report actionable issues. Use for code reviews and for reviewing your own changes before or during a PR workflow.

日本語の概要は準備中です。原文の説明を表示しています。

verdaccio/verdaccio1.8万2026年10月9日 更新

review-pr

無料

Review an existing verdaccio/verdaccio pull request end to end — description, diff, review threads, CI, labels, changeset, release-line coverage — verify the findings, and report them; optionally fix them on the PR branch when asked. Use when given a PR number or URL to review, re-review, or "review and fix".

日本語の概要は準備中です。原文の説明を表示しています。

verdaccio/verdaccio1.8万2026年10月9日 更新

Select and run the checks that actually cover a change in the verdaccio monorepo — rebuild the touched packages, run their tests and their dependents' tests, the api integration suite, the e2e CLI battery or the Cypress UI suite when the change is client- or UI-visible — and recognise the cases where a scoped run passes without testing anything. Use whenever verifying a change before committing or pushing, or when deciding what to run after an edit.

日本語の概要は準備中です。原文の説明を表示しています。

verdaccio/verdaccio1.8万2026年10月9日 更新

verdaccio のスキルをすべて見る

このスキルの問題を報告する