eslint-plugin-custom-rule

USE THIS quando solicitado a criar uma nova regra de plugin eslint para o pacote eslint-plugin-cds

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.

Mais skills de coinbase

git.repo-manager
coinbase
git.repo-manager — uma skill instalável para agentes de IA, publicada por coinbase/cds.
official
agentic-wallet
coinbase
Operações de carteira cripto via CLI awal — fazer login, verificar saldos, enviar USDC/ETH/POL/SOL, trocar tokens, financiar a carteira e usar o protocolo de pagamento x402 para…
official
authenticate-wallet
coinbase
Autenticação de carteira baseada em OTP por e-mail, com validação e verificação de status. Fluxo de login em duas etapas: inicie com o e-mail para receber um OTP de 6 dígitos, depois verifique com o flowId e o código para concluir a autenticação. Inclui regras de validação de entrada para e-mail, flowId e OTP para evitar injeção de shell antes de executar comandos. Oferece verificação de status, consultas de saldo, recuperação de endereço e acesso à janela da carteira por meio de comandos CLI complementares. Todos os comandos suportam saída --json para formato legível por máquina...
official
fund
coinbase
Depositar USDC na carteira via Coinbase Onramp ou transferência direta. Abre uma interface complementar onde os usuários selecionam valores predefinidos ($10, $20, $50) ou personalizados e escolhem entre Apple Pay, cartão de débito, transferência bancária ou financiamento por conta Coinbase. Suporta múltiplos métodos de pagamento com prazos de liquidação variados: instantâneo para cartão e Apple Pay, 1–3 dias para transferências bancárias ACH. Deposita fundos como USDC na rede Base; alternativamente, os usuários podem enviar USDC diretamente para o endereço da carteira via npx awal@2.0.3...
official
monetize-service
coinbase
Implante um endpoint de API pago que outros agentes possam descobrir e pagar via protocolo x402. Cobra USDC por requisição na Base usando o protocolo de pagamento HTTP 402; clientes pagam com transações assinadas, sem necessidade de chaves de API ou contas. Registra automaticamente endpoints no x402 Bazaar para descoberta de agentes quando você declara extensões de descoberta. Suporta múltiplos níveis de preço, rotas curinga e múltiplas opções de pagamento por endpoint usando middleware Express. Construído sobre @x402/express e @x402/core...
official
pay-for-service
coinbase
Chame APIs pagas na Base com pagamento automático em USDC via protocolo x402. Executa requisições HTTP (GET, POST, etc.) para endpoints habilitados para x402 com pagamentos atômicos em USDC tratados automaticamente. Suporta personalização de requisições através de método, corpo JSON, parâmetros de consulta e cabeçalhos personalizados. Inclui controles de pagamento: defina o valor máximo de USDC por requisição e agrupe operações relacionadas com IDs de correlação. Requer autenticação de carteira e saldo suficiente de USDC; valida toda entrada do usuário para prevenir shell...
official
query-blockchain-data
coinbase
Consulte dados onchain da blockchain na Base usando a CDP SQL API via x402. Use quando você ou seu usuário quiser visualizar informações onchain sobre blocos decodificados,…
official
query-onchain-data
coinbase
Consulte dados onchain na Base usando SQL com pagamentos x402 por consulta. Acesse eventos, transações e blocos decodificados via CoinbaseQL, um dialeto SQL baseado em ClickHouse que suporta joins, CTEs, subconsultas e funções padrão. Três tabelas principais disponíveis: base.events (logs de contratos inteligentes decodificados), base.transactions (dados completos de transações) e base.blocks (metadados de blocos). Requer filtragem em campos indexados (event_signature, address, block_timestamp) em consultas de eventos para evitar varredura completa da tabela...
official