Skip to content

Commit 1790b0e

Browse files
Pijukatelclaude
andauthored
ci: Add context rich ai-review (#1194)
This adds experimental ai review with enhanced context. It uses `.github/review-references.yaml` as repo specific instructions for additional context. This change is intended as live testing of the review. (To prevent leaking information from reference private repos, it is allowed only for members of Apify team on Github) --------- Co-authored-by: Claude <noreply@anthropic.com>
1 parent fe637d9 commit 1790b0e

3 files changed

Lines changed: 35 additions & 0 deletions

File tree

‎.github/review-references.yaml‎

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Cross-repository references for the apify-factory review (apify/ai-developer, `review-references`).
2+
version: 1
3+
4+
instructions: |
5+
This repository is the Python client for the Apify API, a port of the JS client that the Python SDK
6+
builds on. For every behaviour the pull request adds or changes, check three things: that it matches
7+
what the API actually does, that it matches what the JS client does for the same operation (ignore
8+
differences caused by different language idioms and style), and that every place the Python SDK uses
9+
the changed code still works. Back every finding with the reference file and line (create public
10+
github link fixed to a commit you have seen).
11+
12+
references:
13+
- repository: apify/apify-core
14+
ref: develop
15+
paths:
16+
- src/api/**
17+
- src/packages/**
18+
instructions: |
19+
The API the client calls. Compare the request the client builds with what the handler accepts
20+
(paths, methods, query and body parameters, defaults, limits) and what the client expects back with
21+
what the handler returns (field names and types, pagination, status codes, error types).
22+
- repository: apify/apify-client-js
23+
instructions: |
24+
The reference implementation this client mirrors. Compare the changed Python methods with the
25+
matching JS methods: parameters and defaults, the request it sends, how it parses the response,
26+
what it returns, and how it handles errors.
27+
- repository: apify/apify-sdk-python
28+
instructions: |
29+
The main consumer of this client. Highlight the changes that will require updates to the SDK.

‎.github/workflows/factory_review.yaml‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ jobs:
2525
# Paths never auto-approved here, on top of the pipeline's defaults. Proposed from the
2626
# repository's layout when this workflow was added; edit them like any other code.
2727
with:
28+
# The draft of the cross-repository references, under evaluation. Back to `main` once it lands.
29+
ai-developer-ref: claude/review-references
2830
policy: |
2931
{
3032
"denyGlobs": [

‎.rules.md‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,3 +42,7 @@ The OpenAPI spec can lag behind the API and omit fields, and a live response onl
4242

4343
- A single resource's fields are in `PUBLISHED_*_FIELDS` in `src/packages/<area>-server/src/<resource>/<resource>.server.ts`.
4444
- A list endpoint has its own, usually smaller, `API_PUBLISHED_*_LIST_FIELDS` in `src/api/src/routes/<resource>/<resource>_list.ts`, and often builds each item inline. Don't assume a list item has the same fields as the single resource.
45+
46+
### Additional context
47+
48+
The code in this repository is based on and integrated with code from other repositories. The most important references are defined in [review references](./.github/review-references.yaml)

0 commit comments

Comments
 (0)