deprecate-cds-api
Installation
SKILL.md
Deprecate CDS public API
Automate the standard CDS deprecation workflow for symbols exported from packages/web, packages/mobile, or packages/common.
Inputs to confirm first
- What is being deprecated? Component name, hook, prop, or other exported symbol.
- What should consumers use instead? The replacement must be named in JSDoc and in docs
warningtext. - Which major should
@deprecationExpectedRemovaluse? (e.g.v9,v10.) Ask the user to confirm if they have not already stated it. If they want a default, suggest the next major from the relevantpackage.json(see Step 2) and confirm they accept it before editing.
Step 0 — Discover every public export (all packages)
Deprecate the symbol everywhere it is publicly reachable, not only where it is first implemented.
- For each CDS package (
web,mobile,common), trace the symbol from that package’spackage.jsonexportsmap → barrel /indexfiles → the module that declares or re-exports the symbol. Grepfor the symbol name underpackages/<name>/src(e.g.export { Foo,export * from,Foo as) to catch re-exports and alternate entry paths.- Every package that publicly exports the symbol must end up with deprecation coverage: primary implementation and any re-export site where your tooling or consumers would not see JSDoc from the source file (add JSDoc on the re-export line or duplicate the tags as needed so imports from
@coinbase/cds-web,@coinbase/cds-mobile,@coinbase/cds-common, etc. all surface the deprecation).