Skip to content

Commit ee6683b

Browse files
miguelg719claude
andcommitted
Add distribution setup, documentation, and app icons
- Add custom Browserbase app icons (PNG, ICO, ICNS) - Add JSDoc documentation to all source files - Update README with download links, build instructions, and hosting guide - Add GitHub Actions workflow for automated releases - Add repository metadata to package.json Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 9c4624c commit ee6683b

12 files changed

Lines changed: 449 additions & 10 deletions

File tree

.github/workflows/release.yml

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
name: Build and Release
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
workflow_dispatch:
8+
inputs:
9+
version:
10+
description: 'Version to release (e.g., 1.0.0)'
11+
required: false
12+
13+
jobs:
14+
build:
15+
strategy:
16+
matrix:
17+
include:
18+
- os: ubuntu-latest
19+
platform: linux
20+
- os: windows-latest
21+
platform: win
22+
- os: macos-latest
23+
platform: mac
24+
25+
runs-on: ${{ matrix.os }}
26+
27+
steps:
28+
- name: Checkout code
29+
uses: actions/checkout@v4
30+
31+
- name: Setup Node.js
32+
uses: actions/setup-node@v4
33+
with:
34+
node-version: '20'
35+
cache: 'npm'
36+
37+
- name: Install dependencies
38+
run: npm ci
39+
40+
- name: Build application
41+
run: npm run build
42+
43+
- name: Build distributables (Linux)
44+
if: matrix.platform == 'linux'
45+
run: npm run dist -- --linux
46+
env:
47+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
48+
49+
- name: Build distributables (Windows)
50+
if: matrix.platform == 'win'
51+
run: npm run dist -- --win
52+
env:
53+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
54+
55+
- name: Build distributables (macOS)
56+
if: matrix.platform == 'mac'
57+
run: npm run dist -- --mac
58+
env:
59+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
60+
61+
- name: Upload artifacts
62+
uses: actions/upload-artifact@v4
63+
with:
64+
name: release-${{ matrix.platform }}
65+
path: |
66+
release/*.exe
67+
release/*.dmg
68+
release/*.AppImage
69+
release/*.zip
70+
release/*.yml
71+
if-no-files-found: ignore
72+
73+
release:
74+
needs: build
75+
runs-on: ubuntu-latest
76+
if: startsWith(github.ref, 'refs/tags/')
77+
78+
permissions:
79+
contents: write
80+
81+
steps:
82+
- name: Download all artifacts
83+
uses: actions/download-artifact@v4
84+
with:
85+
path: artifacts
86+
merge-multiple: true
87+
88+
- name: List artifacts
89+
run: ls -la artifacts/
90+
91+
- name: Create GitHub Release
92+
uses: softprops/action-gh-release@v1
93+
with:
94+
files: artifacts/*
95+
draft: false
96+
prerelease: ${{ contains(github.ref, '-beta') || contains(github.ref, '-alpha') }}
97+
generate_release_notes: true
98+
env:
99+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

README.md

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,18 @@
22

33
A high-fidelity Chrome browser interface that proxies all browsing activity through Browserbase remote browsers with advanced stealth enabled. This Electron application makes cloud browser sessions appear and behave as native desktop Chrome instances.
44

5+
## Download
6+
7+
Download the latest release for your platform:
8+
9+
| Platform | Download |
10+
|----------|----------|
11+
| Windows | [Desktop Browserbase Setup.exe](https://github.com/browserbase/desktop-browserbase/releases/latest) |
12+
| macOS | [Desktop Browserbase.dmg](https://github.com/browserbase/desktop-browserbase/releases/latest) |
13+
| Linux | [Desktop Browserbase.AppImage](https://github.com/browserbase/desktop-browserbase/releases/latest) |
14+
15+
> **Note:** You'll need a [Browserbase](https://browserbase.com) account with API access to use this application.
16+
517
## Features
618

719
- **Native Chrome Experience** - Pixel-perfect Chrome v130+ UI styling
@@ -159,6 +171,80 @@ Make sure `BROWSERBASE_API_KEY` and `BROWSERBASE_PROJECT_ID` are set before runn
159171
- Verify your API key is valid
160172
- Check the Browserbase status page
161173

174+
## Building for Distribution
175+
176+
To create distributable packages for all platforms:
177+
178+
```bash
179+
# Build for your current platform
180+
npm run dist
181+
182+
# Build for specific platforms (requires appropriate OS or CI)
183+
npm run dist -- --win # Windows (NSIS installer)
184+
npm run dist -- --mac # macOS (DMG)
185+
npm run dist -- --linux # Linux (AppImage)
186+
```
187+
188+
Built packages will be output to the `release/` directory.
189+
190+
### Platform Requirements
191+
192+
- **Windows builds:** Can be built on Windows or via CI
193+
- **macOS builds:** Must be built on macOS (for code signing)
194+
- **Linux builds:** Can be built on Linux or via CI
195+
196+
## Hosting Releases
197+
198+
We recommend hosting releases on **GitHub Releases** for the following benefits:
199+
200+
- Free hosting for open source projects
201+
- Automatic download statistics
202+
- Integration with GitHub Actions for automated builds
203+
- Easy versioning with git tags
204+
- CDN-backed downloads for fast, reliable access
205+
206+
### Release Process
207+
208+
1. Update version in `package.json`
209+
2. Commit changes and create a git tag:
210+
```bash
211+
git tag v1.0.0
212+
git push origin v1.0.0
213+
```
214+
3. GitHub Actions will automatically build and create a release
215+
216+
Alternatively, for private distribution:
217+
- **AWS S3 + CloudFront**: Scalable, pay-as-you-go hosting
218+
- **Cloudflare R2**: S3-compatible with generous free tier
219+
- **Your own server**: Full control over distribution
220+
221+
## Contributing
222+
223+
Contributions are welcome! Please follow these steps:
224+
225+
1. Fork the repository
226+
2. Create a feature branch: `git checkout -b feature/my-feature`
227+
3. Make your changes and add tests if applicable
228+
4. Ensure the build passes: `npm run build`
229+
5. Commit your changes: `git commit -m "Add my feature"`
230+
6. Push to the branch: `git push origin feature/my-feature`
231+
7. Open a Pull Request
232+
233+
### Development Guidelines
234+
235+
- Follow the existing code style (TypeScript, ESLint)
236+
- Add JSDoc comments for new public APIs
237+
- Test on multiple platforms when possible
238+
- Keep commits focused and atomic
239+
240+
## Security
241+
242+
This application handles sensitive credentials (API keys). Please:
243+
244+
- Never commit `.env` files or API keys
245+
- Use environment variables for configuration
246+
- Report security vulnerabilities via GitHub Security Advisories
247+
162248
## License
163249

164250
MIT

assets/icons/icon.icns

963 KB
Binary file not shown.

assets/icons/icon.ico

62.5 KB
Binary file not shown.

assets/icons/icon.png

368 KB
Loading

package.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,12 @@
1313
"pack": "npm run build && electron-builder --dir",
1414
"dist": "npm run build && electron-builder"
1515
},
16-
"author": "",
16+
"author": "Browserbase",
17+
"repository": {
18+
"type": "git",
19+
"url": "https://github.com/browserbase/desktop-browserbase"
20+
},
21+
"homepage": "https://browserbase.com",
1722
"license": "MIT",
1823
"devDependencies": {
1924
"@types/node": "^20.10.0",

0 commit comments

Comments
 (0)