Skip to content
This repository was archived by the owner on May 25, 2026. It is now read-only.

Commit e85c1c4

Browse files
vitbokischclaude
andcommitted
Replace esbuild with @vitus-labs/tools-rolldown, add release files
Switch build system from custom esbuild config to declarative vl-tools.config.mjs using @vitus-labs/tools-rolldown, aligning with the vitus-labs ecosystem. Add LICENSE (MIT), README, and CHANGELOG for v0.1.0 release readiness. Pin claude-code-action SHA in CI. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent b2f34e4 commit e85c1c4

12 files changed

Lines changed: 787 additions & 213 deletions

File tree

.claude/rules/ci.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ All jobs run in parallel on every PR to `main`:
1111
| Lint & Format | `biome lint` + `biome format --check` | Any lint error or format diff |
1212
| Typecheck | `tsc --noEmit` | Any type error |
1313
| Test & Coverage | `vitest --coverage` + artifact upload | Test failure or coverage below 95% |
14-
| Build | esbuild + `dist/` artifact upload | Build error |
14+
| Build | Rolldown + `dist/` artifact upload | Build error |
1515
| Secrets Scan | TruffleHog (full history, verified only) | Verified secret found |
1616
| Security Audit | `bun pm audit --level=high` | High+ vulnerability |
1717
| Dependency Review | `actions/dependency-review-action` | High CVE or GPL-3.0/AGPL-3.0 license |
@@ -53,5 +53,5 @@ bun run check && bun run typecheck && bun run build && bun run test -- --coverag
5353
## Release Checklist
5454

5555
1. Ensure all CI checks pass on `main`.
56-
2. Update version in `package.json` and `manifest.json`.
56+
2. Update version in `package.json` (manifest.json is auto-synced during build).
5757
3. `git tag v<version> && git push --tags` — release workflow handles the rest.

.claude/rules/code.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@
3737

3838
## Build
3939

40-
- `esbuild.config.ts` handles all 5 entry points and copies static files to `dist/`.
40+
- `vl-tools.config.mjs` configures `@vitus-labs/tools-rolldown` with 5 entry points and static file copying.
41+
- `scripts/sync-manifest.ts` syncs the version from `package.json` into `dist/manifest.json` after build.
4142
- `dist/` is the self-contained extension directory. Chrome "Load unpacked" points there.
4243
- Static files: `manifest.json`, `devtools.html`, `panel.html`, `panel.css`, `icons/`.
43-
- NEVER import node built-ins in files that run in the browser. Only `esbuild.config.ts` and `scripts/` may use Node/Bun APIs.
44+
- NEVER import node built-ins in files that run in the browser. Only `scripts/` may use Node/Bun APIs.

.github/workflows/claude-review.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
2323
with:
2424
fetch-depth: 0
25-
- uses: anthropics/claude-code-action@beta
25+
- uses: anthropics/claude-code-action@28f83620103c48a57093dcc2837eec89e036bb9f # beta
2626
with:
2727
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
2828
model: claude-sonnet-4-20250514

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Changelog
2+
3+
## 0.1.0
4+
5+
Initial release.
6+
7+
- Chrome DevTools panel with live component tree
8+
- Click-to-highlight DOM elements
9+
- Component inspector with details pane
10+
- Real-time mount/unmount tracking
11+
- Automatic Pyreon framework detection
12+
- Manifest V3 Chrome extension

CLAUDE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ bun run typecheck # tsc --noEmit
5353

5454
## Tooling
5555

56-
- **Build**: esbuild — IIFE for content/page/panel/devtools, ESM for background
56+
- **Build**: Rolldown via `@vitus-labs/tools-rolldown` — IIFE for content/page/panel/devtools, ESM for background
5757
- **Lint**: Biome via `@vitus-labs/tools-lint` (single quotes, no semicolons, 2-space indent)
5858
- **TypeScript**: `@vitus-labs/tools-typescript/lib` (ES2024, strict, bundler resolution)
5959
- **Tests**: Vitest via `@vitus-labs/tools-vitest` with happy-dom

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2026 Vit Bokisch
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 48 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,48 @@
1-
# devtools
1+
# @pyreon/devtools
2+
3+
Chrome DevTools extension for the [Pyreon](https://github.com/nickolasgit/pyreon) UI framework. Adds a **Pyreon** panel to Chrome DevTools with a live component tree, click-to-highlight, and inspector.
4+
5+
## Features
6+
7+
- Live component tree reflecting the current page state
8+
- Click any component to highlight its DOM element on the page
9+
- Inspector pane showing component details (id, parent, children)
10+
- Real-time mount/unmount tracking
11+
- Automatic Pyreon framework detection
12+
13+
## Install (development)
14+
15+
```bash
16+
bun install
17+
bun run build
18+
```
19+
20+
1. Open `chrome://extensions`
21+
2. Enable **Developer mode**
22+
3. Click **Load unpacked** and select the `dist/` directory
23+
24+
## Commands
25+
26+
```bash
27+
bun run build # production build -> dist/
28+
bun run dev # watch mode with auto-rebuild
29+
bun run test # run tests
30+
bun run lint # biome lint
31+
bun run check # biome check --write
32+
bun run typecheck # tsc --noEmit
33+
```
34+
35+
## Architecture
36+
37+
Four isolated execution contexts communicate via tagged message passing:
38+
39+
```
40+
Page (window.__PYREON_DEVTOOLS__) <-> window.postMessage
41+
Content Script (content-script.ts) <-> chrome.runtime messaging
42+
Background Service Worker (background.ts) <-> chrome.runtime.Port
43+
DevTools Panel (panel.ts)
44+
```
45+
46+
## License
47+
48+
[MIT](LICENSE)

0 commit comments

Comments
 (0)