From f0fa005dbc4799e01365a9cf7f25f69a8aca72db Mon Sep 17 00:00:00 2001 From: Bot Date: Wed, 25 Mar 2026 16:05:32 +0800 Subject: [PATCH] Fix issue #1 --- CONTRIBUTING.md | 35 +++++++++++++++++++++++++++++ README.md | 2 ++ apply_fix.sh | 54 ++++++++++++++++++++++++++++++++++++++++++++ fix_script.py | 59 +++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 150 insertions(+) create mode 100644 CONTRIBUTING.md create mode 100644 apply_fix.sh create mode 100644 fix_script.py diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..94d781de8 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,35 @@ +# Contributing to agent-browser + +First off, thank you for considering contributing to agent-browser! + +## Development Environment + +1. Fork and clone the repository: + ```bash + git clone https://github.com/dextonai/agent-browser.git + cd agent-browser + ``` +2. Install the dependencies: + ```bash + npm install + ``` +3. Run the test suite to verify your environment: + ```bash + npm test + ``` + +## Coding Style Guidelines + +- **TypeScript**: All new code should be written in TypeScript. +- **Formatting**: We use standard formatters (like Prettier). Please ensure your code is formatted before submitting. +- **Linting**: Address any linting errors. +- **Testing**: Include tests for any new features or bug fixes. + +## Submitting a Pull Request + +1. Create a new branch for your feature or bugfix from `main`. +2. Make your changes and commit them with descriptive commit messages. +3. Ensure all tests and linting checks pass. +4. Push your branch to your fork. +5. Open a Pull Request against the `main` branch of the `dextonai/agent-browser` repository. +6. Provide a detailed description of the changes you've made in the PR body. diff --git a/README.md b/README.md index 7b0dfba9a..cf045282d 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) + 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..65854b865 --- /dev/null +++ b/apply_fix.sh @@ -0,0 +1,54 @@ +cat << 'EOF' > CONTRIBUTING.md +# Contributing to agent-browser + +First off, thank you for considering contributing to agent-browser! + +## Development Environment + +1. Fork and clone the repository: + ```bash + git clone https://github.com/dextonai/agent-browser.git + cd agent-browser + ``` +2. Install the dependencies: + ```bash + npm install + ``` +3. Run the test suite to verify your environment: + ```bash + npm test + ``` + +## Coding Style Guidelines + +- **TypeScript**: All new code should be written in TypeScript. +- **Formatting**: We use standard formatters (like Prettier). Please ensure your code is formatted before submitting. +- **Linting**: Address any linting errors. +- **Testing**: Include tests for any new features or bug fixes. + +## Submitting a Pull Request + +1. Create a new branch for your feature or bugfix from `main`. +2. Make your changes and commit them with descriptive commit messages. +3. Ensure all tests and linting checks pass. +4. Push your branch to your fork. +5. Open a Pull Request against the `main` branch of the `dextonai/agent-browser` repository. +6. Provide a detailed description of the changes you've made in the PR body. +EOF + +if [ -f README.md ]; then + awk '/^# / && !done { print; print "\n[![Build Status](https://github.com/dextonai/agent-browser/actions/workflows/ci.yml/badge.svg)](https://github.com/dextonai/agent-browser/actions)"; done=1; next } 1' README.md > README.md.tmp + if ! grep -q "Build Status" README.md.tmp; then + echo "[![Build Status](https://github.com/dextonai/agent-browser/actions/workflows/ci.yml/badge.svg)](https://github.com/dextonai/agent-browser/actions)" > README.md.tmp2 + echo "" >> README.md.tmp2 + cat README.md >> README.md.tmp2 + mv README.md.tmp2 README.md + rm -f README.md.tmp + else + mv README.md.tmp README.md + fi +else + echo '# agent-browser' > README.md + echo '' >> README.md + echo '[![Build Status](https://github.com/dextonai/agent-browser/actions/workflows/ci.yml/badge.svg)](https://github.com/dextonai/agent-browser/actions)' >> README.md +fi \ No newline at end of file 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)