Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions .github/prompts/update-dependencies.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,13 +84,15 @@ All tests must pass. If a test fails, run the failing package's tests directly (

### Step 2c: Validate the "web" sample app

Use `pnpx agent-browser` for all browser interactions in this step. Read the locally installed agent skill at `.agents/skills/agent-browser/` to learn the available commands. **Important**: the skill examples use bare `agent-browser` commands, but you MUST always prefix with `pnpx` (e.g., `agent-browser open <url>` becomes `pnpx agent-browser open <url>`). Running a build is NOT sufficient — you must start the dev server and validate in a real browser.
Use `agent-browser` for all browser interactions in this step. It is installed as a workspace devDependency. Read the locally installed agent skill at `.agents/skills/agent-browser/` to learn the available commands. Running a build is NOT sufficient — you must start the dev server and validate in a real browser.

**Important**: Use `agent-browser snapshot` (not `screenshot`) for content verification. Snapshots capture the accessibility tree as text — they are faster, more reliable, and produce structured output that is easy to assert against. Screenshots are pixel-based images and should NOT be used for validation.

1. Start the dev server in the background using the shell `&` operator (do NOT use `run_in_background: true`): `pnpm dev-web > /tmp/web-dev.log 2>&1 &`
2. The web app listens on port **8080**. Wait for it to be ready — do NOT use `sleep`, do NOT write polling loops, do NOT parse the log file for a URL. Instead, immediately run: `curl --retry 30 --retry-delay 5 --retry-connrefused --silent --output /dev/null http://localhost:8080`
3. Navigate to `http://localhost:8080` and verify it loads correctly
4. Use `pnpx agent-browser snapshot` to verify the page rendered content — it should contain the headings "Console Logger" and "Composite Logger", along with buttons for logging operations (e.g., "Text", "Debug", "Information", "Warning", "Error", "Critical")
5. Use `pnpx agent-browser console` to check for console errors (ignore warnings and known noise)
4. Use `agent-browser snapshot` to verify the page rendered content — it should contain the headings "Console Logger" and "Composite Logger", along with buttons for logging operations (e.g., "Text", "Debug", "Information", "Warning", "Error", "Critical")
5. Use `agent-browser console` to check for console errors (ignore warnings and known noise)
6. Stop the dev server process when done: `kill $(lsof -t -i:8080) 2>/dev/null || true; fuser -k 8080/tcp 2>/dev/null || true`

## Step 3: Success
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/code-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ permissions:
id-token: write

concurrency:
group: code-review-${{ github.event.pull_request.number }}
group: code-review-${{ github.ref }}
cancel-in-progress: true

jobs:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/sync-agent-skill.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ permissions:
actions: write

concurrency:
group: sync-agent-skill
group: sync-agent-skill-${{ github.ref }}
cancel-in-progress: true

jobs:
Expand Down
17 changes: 13 additions & 4 deletions .github/workflows/update-dependencies.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,22 @@ jobs:
cache: pnpm
cache-dependency-path: pnpm-lock.yaml

- name: Install dependencies
run: pnpm install --frozen-lockfile

# Expose workspace binaries (e.g. agent-browser) as bare commands.
# This aligns with the agent-browser skill which expects `agent-browser <cmd>`
# without a `pnpm exec` prefix.
- name: Add node_modules/.bin to PATH
run: echo "$PWD/node_modules/.bin" >> $GITHUB_PATH

- name: Install browser dependencies
run: pnpx agent-browser install --with-deps
run: agent-browser install --with-deps

- name: Warm up browser
run: |
pnpx agent-browser open about:blank
pnpx agent-browser close
agent-browser open about:blank
agent-browser close

- name: Update dependencies
uses: anthropics/claude-code-action@v1
Expand All @@ -53,7 +62,7 @@ jobs:
show_full_output: true
claude_args: >-
--max-turns 200
--allowedTools Edit,Read,Write,Glob,Grep,Bash(pnpm:*),Bash(git:*),Bash(node:*),Bash(gh:*),Bash(pnpx agent-browser:*),Bash(agent-browser:*),Bash(kill:*),Bash(lsof:*),Bash(curl:*),Bash(fuser:*)
--allowedTools Edit,Read,Write,Glob,Grep,Bash(pnpm:*),Bash(git:*),Bash(node:*),Bash(gh:*),Bash(agent-browser:*),Bash(kill:*),Bash(lsof:*),Bash(curl:*),Bash(fuser:*)
env:
# Required by gh CLI to create PRs and issues.
GH_TOKEN: ${{ github.token }}
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@
"@typescript-eslint/parser": "8.55.0",
"@workleap/eslint-configs": "1.1.12",
"@workleap/typescript-configs": "3.0.7",
"agent-browser": "0.15.1",
"eslint": "9.39.2",
"pkg-pr-new": "0.0.63",
"prettier": "3.8.1",
Expand Down
Loading
Loading