feat(suggest): add API technology detection — GraphQL, gRPC, tRPC, OpenAPI#309
Conversation
|
Warning Rate limit exceeded
Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 23 minutes and 36 seconds. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThis change extends the skills catalog with four new API technology definitions—GraphQL, gRPC, tRPC, and OpenAPI—each paired with associated skills and detection heuristics using packages, config files, and file extensions to identify these technologies in projects. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@src/skills/catalog.v1.toml`:
- Around line 1636-1639: In the [technologies.detect] block update the
config_files heuristics to avoid false positives by removing the overly generic
"codegen.ts" and "codegen.yml" entries and replacing them with more specific
GraphQL-targeted filenames (e.g., "codegen.graphql.ts" and "codegen.graphql.yml"
or "codegen-graphql.ts" / "codegen-graphql.yml") so that the config_files array
under the technologies.detect section only matches GraphQL-specific codegen
files.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: e26040a3-a69a-4df0-b5bf-da984fc212f5
📒 Files selected for processing (1)
src/skills/catalog.v1.toml
| [technologies.detect] | ||
| packages = ["graphql", "@apollo/client", "@apollo/server", "urql", "graphql-yoga", "@graphql-tools/schema"] | ||
| config_files = [".graphqlrc", ".graphqlrc.json", ".graphqlrc.yaml", ".graphqlrc.yml", "codegen.ts", "codegen.yml"] | ||
| file_extensions = [".graphql", ".gql"] |
There was a problem hiding this comment.
Narrow GraphQL config-file heuristics to avoid false positives.
On Line 1638, codegen.ts / codegen.yml are too generic for existence-only matching and can incorrectly classify non-GraphQL repos as GraphQL.
Suggested fix
[technologies.detect]
packages = ["graphql", "@apollo/client", "@apollo/server", "urql", "graphql-yoga", "@graphql-tools/schema"]
-config_files = [".graphqlrc", ".graphqlrc.json", ".graphqlrc.yaml", ".graphqlrc.yml", "codegen.ts", "codegen.yml"]
+config_files = [".graphqlrc", ".graphqlrc.json", ".graphqlrc.yaml", ".graphqlrc.yml"]
file_extensions = [".graphql", ".gql"]📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| [technologies.detect] | |
| packages = ["graphql", "@apollo/client", "@apollo/server", "urql", "graphql-yoga", "@graphql-tools/schema"] | |
| config_files = [".graphqlrc", ".graphqlrc.json", ".graphqlrc.yaml", ".graphqlrc.yml", "codegen.ts", "codegen.yml"] | |
| file_extensions = [".graphql", ".gql"] | |
| [technologies.detect] | |
| packages = ["graphql", "@apollo/client", "@apollo/server", "urql", "graphql-yoga", "@graphql-tools/schema"] | |
| config_files = [".graphqlrc", ".graphqlrc.json", ".graphqlrc.yaml", ".graphqlrc.yml"] | |
| file_extensions = [".graphql", ".gql"] |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@src/skills/catalog.v1.toml` around lines 1636 - 1639, In the
[technologies.detect] block update the config_files heuristics to avoid false
positives by removing the overly generic "codegen.ts" and "codegen.yml" entries
and replacing them with more specific GraphQL-targeted filenames (e.g.,
"codegen.graphql.ts" and "codegen.graphql.yml" or "codegen-graphql.ts" /
"codegen-graphql.yml") so that the config_files array under the
technologies.detect section only matches GraphQL-specific codegen files.
…enAPI Add 4 new technologies to skill suggestion catalog: - GraphQL: packages, config_files, file_extensions detection - gRPC: packages, file_extensions (.proto) detection - tRPC: packages detection - OpenAPI: config_files, packages detection Add 4 corresponding skill entries (2 dallay-owned, 2 external). Closes #301
74ea405 to
389ed06
Compare
|



Add 4 new technologies to skill suggestion catalog:
Add 4 corresponding skill entries (2 dallay-owned, 2 external).
Closes #301