Skip to content
Open
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
37 changes: 37 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Contributing to agent-browser

First off, thank you for considering contributing to agent-browser!

## Development Environment Setup

1. **Fork & Clone:** Fork the repository on GitHub and clone your fork locally.
```bash
git clone https://github.com/YOUR_USERNAME/agent-browser.git
cd agent-browser
```
2. **Install Dependencies:**
```bash
npm install
```
3. **Build:**
```bash
npm run build
```
4. **Test:**
```bash
npm test
```

## Coding Style Guidelines

- **TypeScript:** Write strongly typed TypeScript.
- **Linting & Formatting:** Ensure your code passes existing linting and formatting rules. Use Prettier/ESLint if configured.
- **Testing:** Include tests for any new features or bug fixes. Verify that all existing tests pass before submitting.

## How to Submit a Pull Request

1. Create a new branch from `main`: `git checkout -b feature/your-feature-name`
2. Commit your changes with descriptive commit messages.
3. Push to your fork: `git push origin feature/your-feature-name`
4. Open a Pull Request against the main repository.
5. Provide a clear description of your changes and reference any related issues.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# agent-browser

[![Build Status](https://github.com/dextonai/agent-browser/actions/workflows/ci.yml/badge.svg)](https://github.com/dextonai/agent-browser/actions/workflows/ci.yml)

Headless browser automation CLI for AI agents. Fast Rust CLI with Node.js fallback.

## Installation
Expand Down
48 changes: 48 additions & 0 deletions apply_fix.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@

cat << 'EOF' > CONTRIBUTING.md
# Contributing to agent-browser

First off, thank you for considering contributing to agent-browser!

## Development Environment Setup

1. **Fork & Clone:** Fork the repository on GitHub and clone your fork locally.
```bash
git clone https://github.com/YOUR_USERNAME/agent-browser.git
cd agent-browser
```
2. **Install Dependencies:**
```bash
npm install
```
3. **Build:**
```bash
npm run build
```
4. **Test:**
```bash
npm test
```

## Coding Style Guidelines

- **TypeScript:** Write strongly typed TypeScript.
- **Linting & Formatting:** Ensure your code passes existing linting and formatting rules. Use Prettier/ESLint if configured.
- **Testing:** Include tests for any new features or bug fixes. Verify that all existing tests pass before submitting.

## How to Submit a Pull Request

1. Create a new branch from `main`: `git checkout -b feature/your-feature-name`
2. Commit your changes with descriptive commit messages.
3. Push to your fork: `git push origin feature/your-feature-name`
4. Open a Pull Request against the main repository.
5. Provide a clear description of your changes and reference any related issues.
EOF

if [ -f README.md ]; then
if ! grep -q "badge.svg" README.md; then
awk 'NR==1 && /^#/ {print; print "\n[![Build Status](https://github.com/dextonai/agent-browser/actions/workflows/ci.yml/badge.svg)](https://github.com/dextonai/agent-browser/actions/workflows/ci.yml)"; next} NR==1 && !/^#/ {print "[![Build Status](https://github.com/dextonai/agent-browser/actions/workflows/ci.yml/badge.svg)](https://github.com/dextonai/agent-browser/actions/workflows/ci.yml)\n"; print; next} 1' README.md > README.tmp && mv README.tmp README.md
fi
else
echo -e "# agent-browser\n\n[![Build Status](https://github.com/dextonai/agent-browser/actions/workflows/ci.yml/badge.svg)](https://github.com/dextonai/agent-browser/actions/workflows/ci.yml)\n" > README.md
fi
59 changes: 59 additions & 0 deletions fix_script.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
import os
import requests
import json
import subprocess

api_key = os.environ.get("OPENAI_API_KEY", "anything")
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {api_key}"
}

# 1. Read all TS/JS files in src/
files_content = ""
for root, _, files in os.walk("src"):
for file in files:
if file.endswith((".ts", ".js", ".py", ".java")):
path = os.path.join(root, file)
with open(path, "r") as f:
files_content += f"--- {path} ---\n{f.read()}\n\n"

prompt = f"""You are an expert engineer.
Issue: https://github.com/dextonai/agent-browser/issues/1
Description:
## Add a README badge and contribution guide to agent-browser

Add a contribution guide (CONTRIBUTING.md) and a status badge to the README.md in the dextonai/agent-browser repository. The CONTRIBUTING.md should include: how to set up the dev environment, coding style guidelines, and how to submit a PR. The README badge should show the build status. This is a simple documentation task.

**Reward:** 1.000000000000000000 DXTN
**Mode:** competition
**Deadline:** None

---
To claim this bounty, submit a PR referencing `bounty:8e29b86d-2387-4a5a-bd72-69afaa74c4ad` in the PR body.

_Managed by [DextonHub](https://dextonhub.com). [View bounty](https://dextonhub.com/app/bounties/8e29b86d-2387-4a5a-bd72-69afaa74c4ad)_

Files:
{files_content}

Your job is to provide ONLY a valid bash script that patches the files using tools like sed, awk, or echoing entire rewritten files.
Do NOT use markdown code blocks, just raw bash commands so I can pipe it directly to bash.
"""

payload = {
"model": "gemini-3.1-pro-preview",
"messages": [{"role": "user", "content": prompt}],
"max_tokens": 4096
}

resp = requests.post("http://172.25.176.1:4000/v1/chat/completions", headers=headers, json=payload)
data = resp.json()
bash_code = data["choices"][0]["message"]["content"].strip()
if bash_code.startswith("```bash"):
bash_code = bash_code[7:-3]
elif bash_code.startswith("```"):
bash_code = bash_code[3:-3]

with open("apply_fix.sh", "w") as f:
f.write(bash_code)