Skip to content

Commit ebd0883

Browse files
authored
Add BO Provider and improvements (#66)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added BrowserOperator as a selectable LLM provider with connection testing. * New tools: execute code in-page, update TODO lists, and visual on-page indicators for agent activity. * New UI: file list, file viewer, and todo list components; example prompts with provider-aware model switching. * Improved session lifecycle tracking with explicit completion events and summaries. * Enhanced scroll tool with page-based scrolling. * **Bug Fixes** * Stronger URL/type validation and improved LLM response parsing and error reporting. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
1 parent 1ac1877 commit ebd0883

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+5400
-717
lines changed

CONTRIBUTING.md

Lines changed: 170 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,172 @@
1-
# Contributing to Chromium DevTools
1+
# Contributing to Browser Operator
22

3-
Contributions to Chromium DevTools include code, documentation, and responding
4-
to user questions.
3+
Thank you for your interest in contributing to Browser Operator! We welcome contributions from the community, whether it's bug reports, feature requests, documentation improvements, or code contributions.
54

6-
See the [Chrome DevTools Contribution Guide](./docs/contributing/README.md)
7-
for details on how you can contribute. Also checkout the [Contributing to
8-
Chromium](https://chromium.googlesource.com/chromium/src/+/main/docs/contributing.md)
9-
and [Contributing to V8](https://v8.dev/docs/contribute) documents for details
10-
how to contribute to the Chromium / V8 code base in general, which is relevant
11-
when working on the DevTools back-end.
5+
## 🚀 Getting Started
6+
7+
### Prerequisites
8+
9+
- Node.js and npm
10+
- Git
11+
- macOS 10.15+ or Windows 10 (64-bit)+
12+
- 8GB RAM (16GB recommended)
13+
14+
### Setup
15+
16+
1. **Fork the repository** on GitHub
17+
2. **Clone your fork:**
18+
```bash
19+
git clone https://github.com/YOUR_USERNAME/browser-operator-core.git
20+
cd browser-operator-core
21+
```
22+
3. **Set up your development environment:**
23+
See our [build instructions](https://docs.browseroperator.io) for detailed setup steps
24+
25+
## 💻 Making Changes
26+
27+
### 1. Create a Branch
28+
29+
```bash
30+
git checkout -b feature/your-feature-name
31+
# or
32+
git checkout -b fix/bug-description
33+
```
34+
35+
### 2. Make Your Changes
36+
37+
- Write clean, readable code
38+
- Follow the existing code style
39+
- Add tests for new features
40+
- Update documentation as needed
41+
42+
### 3. Test Your Changes
43+
44+
```bash
45+
# Run linters
46+
npm run lint
47+
48+
# Run tests
49+
npm run test
50+
51+
# Run web tests
52+
npm run webtest
53+
54+
# Build the project
55+
npm run build
56+
```
57+
58+
### 4. Commit Your Changes
59+
60+
Write clear, descriptive commit messages:
61+
62+
```bash
63+
git commit -m "Add feature: description of what you added"
64+
# or
65+
git commit -m "Fix: description of what you fixed"
66+
```
67+
68+
**Add license header to new files:**
69+
```typescript
70+
// Copyright 2025 The Chromium Authors. All rights reserved.
71+
// Use of this source code is governed by a BSD-style license that can be
72+
// found in the LICENSE file.
73+
```
74+
75+
## 📬 Submitting Your Changes
76+
77+
### 1. Push to Your Fork
78+
79+
```bash
80+
git push origin feature/your-feature-name
81+
```
82+
83+
### 2. Open a Pull Request
84+
85+
1. Go to the [Browser Operator repository](https://github.com/BrowserOperator/browser-operator-core)
86+
2. Click "New Pull Request"
87+
3. Select your fork and branch
88+
4. Fill out the PR template with:
89+
- Clear description of changes
90+
- Reference to related issues (if any)
91+
- Screenshots/videos for UI changes
92+
- Testing steps
93+
94+
### 3. Review Process
95+
96+
- A maintainer will review your PR
97+
- Address any feedback or requested changes
98+
- Once approved, your PR will be merged
99+
100+
## 🎯 Contribution Areas
101+
102+
### Bug Reports
103+
104+
Found a bug? [Open an issue](https://github.com/BrowserOperator/browser-operator-core/issues) with:
105+
- Clear description of the bug
106+
- Steps to reproduce
107+
- Expected vs actual behavior
108+
- Screenshots if applicable
109+
- Browser version and OS
110+
111+
### Feature Requests
112+
113+
Have an idea? [Open an issue](https://github.com/BrowserOperator/browser-operator-core/issues) with:
114+
- Clear description of the feature
115+
- Use case and benefits
116+
- Any relevant examples or mockups
117+
118+
### Documentation
119+
120+
Help improve our docs:
121+
- Fix typos or unclear explanations
122+
- Add examples or tutorials
123+
- Translate documentation
124+
- Update outdated information
125+
126+
### Code Contributions
127+
128+
Areas where you can contribute code:
129+
- **New Tools**: Add new tools for the agent framework
130+
- **New Agents**: Create specialized agents for specific tasks
131+
- **UI Improvements**: Enhance the user interface
132+
- **Bug Fixes**: Fix reported issues
133+
- **Performance**: Optimize existing code
134+
- **Tests**: Add or improve test coverage
135+
136+
### Agent Framework Development
137+
138+
Contributing new agents or tools? See:
139+
- [Agent Framework Documentation](front_end/panels/ai_chat/agent_framework/Readme.md)
140+
- [Creating Custom Agents](front_end/panels/ai_chat/core/Readme.md)
141+
- Browse existing tools in [front_end/panels/ai_chat/tools/](front_end/panels/ai_chat/tools/)
142+
143+
## 📝 Code Style
144+
145+
- **TypeScript**: Follow existing patterns and conventions
146+
- **Linting**: Code must pass `npm run lint`
147+
- **Testing**: Add tests for new features
148+
- **Comments**: Document complex logic
149+
- **Types**: Use proper TypeScript types
150+
151+
## 🤝 Community Guidelines
152+
153+
- Be respectful and inclusive
154+
- Help others learn and grow
155+
- Provide constructive feedback
156+
- Treat everyone with respect
157+
158+
### Communication Channels
159+
160+
- **Discord**: [Join our community](https://discord.gg/fp7ryHYBSY)
161+
- **GitHub Issues**: For bugs and features
162+
- **GitHub Discussions**: For questions and ideas
163+
164+
## 📄 License
165+
166+
By contributing to Browser Operator, you agree that your contributions will be licensed under the [BSD-3-Clause License](LICENSE).
167+
168+
---
169+
170+
**Questions?** Join our [Discord community](https://discord.gg/fp7ryHYBSY) or open a [GitHub Discussion](https://github.com/BrowserOperator/browser-operator-core/discussions).
171+
172+
Thank you for contributing to Browser Operator! 🎉

0 commit comments

Comments
 (0)