diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..24a1fc352 --- /dev/null +++ b/CONTRIBUTING.md @@ -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. diff --git a/README.md b/README.md index 7b0dfba9a..127e49820 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/apply_fix.sh b/apply_fix.sh new file mode 100644 index 000000000..20a11d097 --- /dev/null +++ b/apply_fix.sh @@ -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 diff --git a/fix_script.py b/fix_script.py new file mode 100644 index 000000000..bff1b4c16 --- /dev/null +++ b/fix_script.py @@ -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)