* Migrate from Bun to Node.js/npm
Replace all Bun-specific commands with Node.js/npm equivalents:
- bun install → npm install
- bun run → npm run
- bun x tsx → npx tsx
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* Add typescript as devDependency
Required for npx tsc --noEmit to work on fresh installs.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* Update GitHub Actions to use Node.js/npm
- Replace oven-sh/setup-bun with actions/setup-node@v4
- Use npm ci for deterministic installs
- Add package-lock.json for skills/dev-browser
- Remove @types/bun from root devDependencies
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* Add root package-lock.json for CI
Required for npm ci in the format check job.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* Fix CI: use npm install for cross-platform compatibility
npm ci fails with platform-specific optional dependencies (rollup)
when the lockfile was generated on a different platform. Using
npm install resolves the correct platform binaries.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* Fix CI: add rollup Linux binary as optional dependency
npm has a known bug where platform-specific optional dependencies
aren't properly resolved when the lockfile was generated on a
different platform. Adding @rollup/rollup-linux-x64-gnu as an
explicit optional dependency ensures it's available on Linux CI.
See: https://github.com/npm/cli/issues/4828🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
- Move all source from packages/dev-browser/src to skills/dev-browser/src
- Remove monorepo workspaces configuration
- Add @/* path alias via package.json imports and tsconfig paths
- Update all imports to use @/client.js and @/index.js
- Update SKILL.md and CLAUDE.md documentation
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit introduces several development tools to improve code quality and maintainability within the dev-browser package. Key changes include:
- Addition of `husky` for managing Git hooks, ensuring that pre-commit checks are enforced.
- Integration of `lint-staged` to run linters on staged files, promoting consistent code style.
- Implementation of `prettier` for automatic code formatting, enhancing readability and reducing style discrepancies.
- Updates to the `package.json` and `bun.lock` files to include the new dependencies and scripts for formatting and linting.
These enhancements aim to streamline the development process and maintain high code quality standards across the project.
This commit introduces new functionalities for extracting the LLM-friendly DOM tree and resolving CSS selectors for elements within the dev-browser package. Key changes include:
- Addition of `getLLMTree` and `getSelectorForID` methods in the `DevBrowserClient` interface for fetching the DOM tree and corresponding selectors.
- Implementation of server endpoints to handle requests for LLM tree extraction and selector resolution, enhancing the API's capabilities.
- Updates to the TypeScript types to support the new functionalities, including `GetLLMTreeResponse` and `GetSelectorResponse`.
- Enhancements to the DOM utility functions to facilitate backend node ID resolution for persistent element identification.
These updates improve the interaction with web pages and enhance the overall usability of the dev-browser package.
Implements a cleanup mechanism that removes entries from the registry when a page is closed, enhancing resource management and preventing memory leaks. This change improves the overall stability and performance of the dev-browser by ensuring that closed pages do not linger in the registry.