tessl install github:langgenius/dify --skill orpc-contract-firstGuide for implementing oRPC contract-first API patterns in Dify frontend. Triggers when creating new API contracts, adding service endpoints, integrating TanStack Query with typed contracts, or migrating legacy service calls to oRPC. Use for all API layer work in web/contract and web/service directories.
Review Score
85%
Validation Score
13/16
Implementation Score
73%
Activation Score
100%
web/contract/
├── base.ts # Base contract (inputStructure: 'detailed')
├── router.ts # Router composition & type exports
├── marketplace.ts # Marketplace contracts
└── console/ # Console contracts by domain
├── system.ts
└── billing.tsCreate contract in web/contract/console/{domain}.ts
base from ../base and type from @orpc/contractpath, method, input, outputRegister in router at web/contract/router.ts
billing: { invoices, bindPartnerStack }Create hooks in web/service/use-{domain}.ts
consoleQuery.{group}.{contract}.queryKey() for query keysconsoleClient.{group}.{contract}() for API calls{ params, query?, body? } format{paramName} in path, match in params object/billing/* → billing: {})@/types/, use type<T>() helperexport type ConsoleInputs = InferContractRouterInputs<typeof consoleRouterContract>