diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..963675d55 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,57 @@ +# Contributing + +Thanks for your interest in contributing to agent-browser. This guide covers local setup, style expectations, and the pull request workflow. + +## Development setup + +1. Install dependencies: + +```bash +pnpm install +``` + +2. Build the project: + +```bash +pnpm build +``` + +3. Build the native CLI (requires Rust): + +```bash +pnpm build:native +``` + +### Rust tests (optional) + +```bash +cd cli +cargo test +``` + +## Code style and conventions + +- Use pnpm for all package management and scripts. +- Do not use emojis in code, output, or documentation. +- CLI flags must use kebab-case (for example, `--auto-connect`). +- Do not add hardcoded ANSI color codes. Use `cli/src/color.rs` for CLI colors. + +If you introduce user-facing features (new flags, commands, behaviors, environment variables), update the following locations: + +- `cli/src/output.rs` (CLI help output) +- `README.md` +- `skills/agent-browser/SKILL.md` +- `docs/src/app/` documentation pages +- Inline doc comments in relevant source files + +## Pull request workflow + +1. Create a feature branch from `main`. +2. Keep changes focused and scoped to a single topic. +3. Run relevant tests and formatters where applicable. +4. If your change affects releases, add a changeset with `pnpm changeset`. +5. Ensure CI is green before requesting review. + +## Reporting issues + +Please include clear reproduction steps, expected behavior, and environment details when filing issues. diff --git a/README.md b/README.md index 8ede376c9..ddeff2d10 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # agent-browser +[![CI](https://github.com/MauryaQbit/agent-browser/actions/workflows/ci.yml/badge.svg)](https://github.com/MauryaQbit/agent-browser/actions/workflows/ci.yml) + Browser automation CLI for AI agents. Fast native Rust CLI. ## Installation @@ -70,7 +72,7 @@ Detects your installation method (npm, Homebrew, or Cargo) and runs the appropri ### Requirements -- **Chrome** - Run `agent-browser install` to download Chrome from [Chrome for Testing](https://developer.chrome.com/blog/chrome-for-testing/) (Google's official automation channel). Existing Chrome, Brave, Playwright, and Puppeteer installations are detected automatically. No Playwright or Node.js required for the daemon. +- **Chrome** - Run `agent-browser install` to download Chrome from [Chrome for Testing](https://developer.chrome.com/blog/chrome-for-testing/) (Google's official automation channel). Existing Chro[...] - **Rust** - Only needed when building from source (see From Source above). ## Quick Start @@ -147,1176 +149,4 @@ agent-browser get box # Get bounding box agent-browser get styles # Get computed styles ``` -### Check State - -```bash -agent-browser is visible # Check if visible -agent-browser is enabled # Check if enabled -agent-browser is checked # Check if checked -``` - -### Find Elements (Semantic Locators) - -```bash -agent-browser find role [value] # By ARIA role -agent-browser find text # By text content -agent-browser find label