Skip to content

Commit 00fff3b

Browse files
chore: update pnpm workspace to include agent-browser as a built dependency and fix turbo schema path (#160)
1 parent 915033d commit 00fff3b

7 files changed

Lines changed: 1435 additions & 8 deletions

File tree

.github/prompts/update-dependencies.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,15 +92,15 @@ The build must complete successfully with zero errors. This step validates that
9292

9393
### Step 2d: Validate the "honeycomb/api-key" sample app
9494

95-
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.
95+
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. **Important**: Do NOT use `agent-browser screenshot` — screenshots are not used by this workflow. Use `agent-browser snapshot` (DOM snapshot) instead. Running a build is NOT sufficient — you must start the dev server and validate in a real browser.
9696

9797
1. Start the dev server in the background using the shell `&` operator (do NOT use `run_in_background: true`): `pnpm dev-honeycomb-api-key > /tmp/honeycomb-dev.log 2>&1 &`
9898
2. The app listens on port **8080** and the Express server on port **1234**. Wait for both 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 && curl --retry 30 --retry-delay 5 --retry-connrefused --silent --output /dev/null http://localhost:1234/api/subscription`
9999
3. Navigate to the following pages and check that each renders without errors:
100100
- `/` (Home page)
101101
- `/movies`
102102
- `/subscription`
103-
4. For each page, use `pnpx agent-browser snapshot` to verify the page rendered content, and use `pnpx agent-browser console` to check for console errors. Ignore these specific console messages — they are expected in CI: (1) network errors to `api.honeycomb.io` (trace export failures with the CI dummy API key), (2) OpenTelemetry SDK warnings about dropped spans or failed exports, (3) `[honeycomb]` or `[telemetry]` verbose debug messages. Treat any OTHER console errors as real failures. Do NOT inspect the dev server log file (`/tmp/honeycomb-dev.log`) — only check the browser console.
103+
4. For each page, use `agent-browser snapshot` to verify the page rendered content, and use `agent-browser console` to check for console errors. Ignore these specific console messages — they are expected in CI: (1) network errors to `api.honeycomb.io` (trace export failures with the CI dummy API key), (2) OpenTelemetry SDK warnings about dropped spans or failed exports, (3) `[honeycomb]` or `[telemetry]` verbose debug messages. Treat any OTHER console errors as real failures. Do NOT inspect the dev server log file (`/tmp/honeycomb-dev.log`) — only check the browser console.
104104
5. Stop the dev server processes when done: `kill $(lsof -t -i:8080) 2>/dev/null || true; kill $(lsof -t -i:1234) 2>/dev/null || true; fuser -k 8080/tcp 2>/dev/null || true; fuser -k 1234/tcp 2>/dev/null || true`
105105

106106
## Step 3: Success

.github/workflows/update-dependencies.yml

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,22 @@ jobs:
3636
cache: pnpm
3737
cache-dependency-path: pnpm-lock.yaml
3838

39+
- name: Install dependencies
40+
run: pnpm install --frozen-lockfile
41+
42+
# Expose workspace binaries (e.g. agent-browser) as bare commands.
43+
# This aligns with the agent-browser skill which expects `agent-browser <cmd>`
44+
# without a `pnpm exec` prefix.
45+
- name: Add node_modules/.bin to PATH
46+
run: echo "$PWD/node_modules/.bin" >> $GITHUB_PATH
47+
3948
- name: Install browser dependencies
40-
run: pnpx agent-browser install --with-deps
49+
run: agent-browser install --with-deps
4150

4251
- name: Warm up browser
4352
run: |
44-
pnpx agent-browser open about:blank
45-
pnpx agent-browser close
53+
agent-browser open about:blank
54+
agent-browser close
4655
4756
- name: Update dependencies
4857
uses: anthropics/claude-code-action@v1
@@ -53,7 +62,7 @@ jobs:
5362
show_full_output: true
5463
claude_args: >-
5564
--max-turns 200
56-
--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:*)
65+
--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:*)
5766
env:
5867
# Required by gh CLI to create PRs and issues.
5968
GH_TOKEN: ${{ github.token }}

eslint.config.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ export default defineConfig([
55
globalIgnores([
66
"packages",
77
"samples",
8-
"docs"
8+
"docs",
9+
"skills-lock.json"
910
]),
1011
defineMonorepoWorkspaceConfig(import.meta.dirname)
1112
]);

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
"@typescript/native-preview": "7.0.0-dev.20260209.1",
4949
"@workleap/eslint-configs": "1.1.12",
5050
"@workleap/typescript-configs": "3.0.7",
51+
"agent-browser": "0.15.1",
5152
"eslint": "9.39.2",
5253
"pkg-pr-new": "0.0.63",
5354
"prettier": "3.8.1",

0 commit comments

Comments
 (0)