coinbase/cds

research.deprecation-usage

Audits how often deprecated CDS exports are actively used in customer codebases using Sourcegraph MCP search tools.

查看源码
仓库原始内容

按源仓库内容呈现,保留标题、案例、代码、表格、链接以及原文引用的演示图片。

Objective

Your objective is to provide information to user about the extent to which deprecated members of CDS are used in customer repositories. This information should be as accurate as possible as it will be used to inform decisions on whether or not it is safe to drop certain exports in a release or hold them for the next major version.

Removal readiness policy: a deprecated API must remain for one full major version undisturbed before removal. If it was deprecated during major M, it must survive all of M+1; the earliest removal major is M+2 (see @deprecationExpectedRemoval and .claude/skills/deprecate-cds-api/SKILL.md).

Follow the

1 - Determining Research Scope

You may be asked to investigate a single, specific deprecation or all CDS deprecations in general.

If you need to perform a comprehensive audit, there is one additional preparation step:

bash
yarn node scripts/findDeprecations.mjs --json

This script extracts the deprecations with metadata from all CDS packages in JSON format.

2 - Determining the Type of Deprecation

There are two common categories of deprecations in CDS packages:

  1. A single prop of a React component
  2. A whole React component, function or constant

If you are researching a single deprecation, find it in this monorepo's source code (DO NOT USE SOURCEGRAPH). It will be marked with the jsdoc @deprecated annotation. Inspect the code around the deprecation to determine which of the two categories it falls into. If the deprecation is found in multiple CDS packages you may ask the user to clarify which package is of interest to them.

If you are performing a comprehensive audit for all CDS deprecations, the output of the script you ran in Step 1 will have already classified the deprecaations for you.

3 - Using Sourcegraph

For every deprecation you must research, perform a search on Sourcegraph to find evidence of usage.

IMPORTANT: Only attempt to search for one deprecation at a time.

IMPORTANT: Do not attempt to search if you do not have the information to

You must perform a keyword search using the Sourcegraph MCP server. For the query parameter you must use the EXACT queries I share below, substituing in the name(s) of the deprecation you are investigating.

Components, Functions, Constants

Replace NAME_HERE with the name of the deprecated component/function/constant

NOT repo:frontend/cds(-(internal|public|next))?$ file:..(t|j)sx?$ /import[^;'"]*?\bNAME_HERE\b[^;'"]*?from\s+['"][^'"]*(?:cds-web|cds-mobile)[^'"]*['"]/

React prop

Replace NAME_HERE with the name of the React component and PROP_HERE with the name of the deprecated prop.

NOT repo:frontend/cds(-(internal|public|next))?$ file:..(t|j)sx?$ /<\\s*NAME_HERE\\b[^>]*?\\s+PROP_HERE[\\s=\/>]/

4 - Structured Output

Your output will depend on the number of deprecations you needed to audit:

Single Deprecation Output

State the total number of usages found and output a markdown table with columns: Repo, Hits, Search Link — where each link uses a full Sourcegraph URL that will take the user directly to the relevant regex search for the deprecation, filtered by the repo represented in the row of the table.

How to build per-repo Sourcegraph search

For the following sourcegraph search:

/<\\s*CellMedia\\b[^>]*\\stitle[\\s=\\/>]/ NOT repo:frontend/cds(-(internal|public|next))?$ file:\\.(t|j)sx?$

Here is an example for repo coinbase.ghe.com/payments/onramp-widget:

https://sourcegraph.cbhq.net/search?q=NOT+repo%3Afrontend%2Fcds%28-%28internal%7Cpublic%7Cnext%29%29%3F%24+file%3A..%28t%7Cj%29sx%3F%24+%3C%5Cs*CellMedia%5Cb%5B%5E%3E%5D*%3F%5Cs%2Btitle%5B%5Cs%3D%2F%3E%5D&patternType=regexp&sm=0&__cc=1&df=%5B%22repo%22%2C%22coinbase.ghe.com%2Fpayments%2Fonramp-widget%22%2C%22repo%3A%5Ecoinbase%5C%5C.ghe%5C%5C.com%2Fpayments%2Fonramp-widget%24%22%5D

Multiple Deprecations Output

When you have analyzed more than one deprecation, simply list out every deprecation and the total number of matches that came back from its sourcegraph query.

来自同一仓库

更多 Skills

全部 Skills
coinbase
官方

cds-code

Provides a workflow for building and reviewing high-quality React and React Native UI with the Coinbase Design System (CDS). Use this skill to create UI or make visual changes to existing UI with CDS components, tokens, style props, icons, and illustrations. Use it for explicit CDS-adherence audits and reviews, not non-visual logic, data, analytics, navigation, tests, generated code, or refactoring. Examples: "build this screen", "fix spacing on this component", "replace this UI with CDS components", "perform a CDS audit on our changes", "check our codebase for CDS adherence", "does this feature use CDS well?"

安装量
1
GitHub Stars
500
最近更新
9月3日
coinbase
官方

cds-docs

Retrieve Coinbase Design System (CDS) documentation: setup, installation, theming, tokens, and per-component APIs/examples. Use this skill whenever the task involves CDS components, design-system rules, theming, or choosing between web and mobile CDS packages, even if the user only says "use CDS" or names a component. Always start from the docs route index, then fetch only the pages you need to reason and implement correctly. Prefer the CDS MCP server (list-cds-routes, get-cds-doc); if MCP is unavailable, use curl against https://cds.coinbase.com/llms/....

安装量
1
GitHub Stars
500
最近更新
9月3日
coinbase
官方

components.styles

Guidelines writing styles API (styles, classNames, and static classNames) for a CDS component. Use this skill when adding customization options to a React component via styles or classNames props or when needing to update the docsite with component styles documentation.

安装量
1
GitHub Stars
500
最近更新
9月3日
coinbase
官方

dev.cds-mobile

USE THIS when asked to work on a new or existing (MOBILE) CDS React component in packages/mobile

安装量
1
GitHub Stars
500
最近更新
9月3日