eslint-plugin-custom-rule

VERWENDEN SIE DIESES, wenn Sie aufgefordert werden, eine neue eslint-Plugin-Regel für das eslint-plugin-cds-Paket zu erstellen

npx skills add https://github.com/coinbase/cds --skill eslint-plugin-custom-rule

Writing new rules

Process

When asked to create a new custom rule for the package, follow these steps in order:

  1. Run the scaffold-new-rule.mjs script found at packages/eslint-plugin-cds/scripts/scaffold-new-rule.mjs. The script should be used every time a new rule is created. This script will ensure that the same format is used for all custom rules created.
  2. Ask the user what the custom rule should do. If the user doesn't provide enough context in the prompt, ask for clarification or follow up. Do not make assumptions about how a custom rule is meant to behave or what guideline it's supposed to enforce. After gathering the needed context, ask the user which package(s) the rule should be applied to.
  3. Once you have all the needed context, ask the user to provide at least one valid and one invalid example demonstrating when the custom rule is being followed or not. This will help you to write tests for the custom rule in a future step. Similar to step 2, if the provided examples do not give you enough context to understand the difference between a valid versus invalid example, ask the user for clarification. Do not proceed until the user has provided at least one valid and one invalid example and you have enough needed context to understand a valid and invalid example.
  4. Based on the user's provided context, fill in the rule file generated under the src/rules directory. The main section you should fill out is the create() function key that's in the rule object. You can refer to packages/eslint-plugin-cds/src/rules/custom-rule.ts for more documentation on how custom rules are formatted and information to enter. Custom rules should use the AST visitor methods to determine when rules have been violated and should report warnings in the linter. Custom rules should also verify the packages being imported before performing AST parsing. If a file doesn't import a package specified in step 2, do not report an error in the custom rule. Most custom rules already do this. As an example, you can refer to the ImportDeclaration() function in the no-v7-imports rule found here: packages/eslint-plugin-cds/src/rules/no-v7-imports.ts. The rule only reports an error when one of the CDS_PACKAGES packages is used,
  5. Using the context from step 3, write in valid and invalid test cases for the test file generated from the scaffold-new-rule.mjs script. The valid and invalid examples provided in step 3 should be included. Based off those examples and the rule criteria provided in step 2, you can add additional valid or invalid examples.

Directory placement

Custom rules should always be placed in the packages/eslint-plugin-cds/src/rules directory. Tests for each custom rule should be placed in the packages/eslint-plugin-cds/tests directory.

Mehr Skills von coinbase

git.repo-manager
coinbase
git.repo-manager — eine installierbare Fähigkeit für KI-Agenten, veröffentlicht von coinbase/cds.
official
agentic-wallet
coinbase
Krypto-Wallet-Operationen über die awal CLI — Anmelden, Kontostände prüfen, USDC/ETH/POL/SOL senden, Token handeln, das Wallet aufladen und das x402-Zahlungsprotokoll nutzen, um…
official
authenticate-wallet
coinbase
E-Mail-OTP-basierte Wallet-Authentifizierung mit Validierung und Statusprüfung. Zwei-Schritte-Anmeldeablauf: Einleitung per E-Mail, um einen 6-stelligen OTP zu erhalten, dann Verifizierung mit der flowId und dem Code zur Vervollständigung der Authentifizierung. Enthält Eingabevalidierungsregeln für E-Mail, flowId und OTP, um Shell-Injection vor der Ausführung von Befehlen zu verhindern. Bietet Statusprüfung, Kontostandsabfragen, Adressabruf und Wallet-Fensterzugriff über begleitende CLI-Befehle. Alle Befehle unterstützen --json-Ausgabe für maschinenlesbare...
official
fund
coinbase
Zahlen Sie USDC über Coinbase Onramp oder direkte Überweisung auf die Wallet ein. Öffnet eine begleitende Benutzeroberfläche, in der Nutzer voreingestellte Beträge (10 $, 20 $, 50 $) oder individuelle Werte auswählen und zwischen Apple Pay, Debitkarte, Banküberweisung oder Coinbase-Konto-Finanzierung wählen können. Unterstützt mehrere Zahlungsmethoden mit unterschiedlichen Abwicklungszeiten: sofort für Karte und Apple Pay, 1–3 Tage für ACH-Banküberweisungen. Zahlt Gelder als USDC im Base-Netzwerk ein; alternativ können Nutzer USDC direkt an die Wallet-Adresse senden über npx awal@2.0.3...
official
monetize-service
coinbase
Stelle einen kostenpflichtigen API-Endpunkt bereit, den andere Agents über das x402-Protokoll entdecken und bezahlen können. Verlangt USDC pro Anfrage auf Base mittels HTTP-402-Zahlungsprotokoll; Clients zahlen mit signierten Transaktionen, keine API-Schlüssel oder Konten erforderlich. Registriert Endpunkte automatisch im x402 Bazaar zur Agentenentdeckung, wenn Sie Discovery-Erweiterungen deklarieren. Unterstützt mehrere Preisstufen, Wildcard-Routen und mehrere Zahlungsoptionen pro Endpunkt mittels Express-Middleware. Basiert auf @x402/express und @x402/core...
official
pay-for-service
coinbase
Rufe kostenpflichtige APIs auf Base mit automatischer USDC-Zahlung über das x402-Protokoll auf. Führt HTTP-Anfragen (GET, POST usw.) an x402-fähige Endpunkte aus, wobei atomare USDC-Zahlungen automatisch abgewickelt werden. Unterstützt Anpassung von Anfragen durch Methode, JSON-Body, Abfrageparameter und benutzerdefinierte Header. Enthält Zahlungssteuerung: Festlegen des maximalen USDC-Betrags pro Anfrage und Gruppieren verwandter Vorgänge mit Korrelations-IDs. Erfordert Wallet-Authentifizierung und ausreichendes USDC-Guthaben; validiert alle Benutzereingaben, um Shell...
official
query-blockchain-data
coinbase
Fragen Sie On-Chain-Blockchain-Daten auf Base mit der CDP SQL API über x402 ab. Verwenden Sie dies, wenn Sie oder Ihr Benutzer On-Chain-Informationen über decodierte Blöcke anzeigen möchten,…
official
query-onchain-data
coinbase
Fragen Sie Onchain-Daten auf Base mit SQL ab, mit x402-Zahlungen pro Abfrage. Greifen Sie auf decodierte Events, Transaktionen und Blöcke über CoinbaseQL zu, einen ClickHouse-basierten SQL-Dialekt, der Joins, CTEs, Unterabfragen und Standardfunktionen unterstützt. Drei Haupttabellen verfügbar: base.events (decodierte Smart-Contract-Logs), base.transactions (vollständige Transaktionsdaten) und base.blocks (Block-Metadaten). Erfordert Filterung auf indizierte Felder (event_signature, address, block_timestamp) in Event-Abfragen, um vollständige Tabellen...
official