Contributing
Thanks for contributing to B4n1Web!
Development Setup
# Clone
git clone https://github.com/B4N1-com/b4n1-web.git
cd b4n1-web
# Rust binary
cd engine/cli-core
cargo build --release
# Python SDK
cd ../../sdks/python
pip install -e ".[dev]"
# JavaScript SDK
cd ../../sdks/javascript
npm install
# Java SDK
cd ../../sdks/java
mvn install -DskipTests
# C# SDK
cd ../../sdks/csharp
dotnet build
Running Tests
# All tests
bash test_all.sh
# Rust
cd engine/cli-core && cargo test --lib
# JavaScript
cd sdks/javascript && npx vitest run
# Python
cd sdks/python && PYTHONPATH=. pytest tests/ -v
# C#
cd sdks/csharp && dotnet test
Code Style
- Rust:
cargo fmt+cargo clippy - TypeScript:
npm run lint(ESLint + Prettier) - Python:
black+ruff - C#:
dotnet format - Java: Google Java Format
Pull Request Process
- Fork the repo
- Create feature branch:
git checkout -b feat/my-feature - Make changes with tests
- Run all tests:
bash test_all.sh - Commit:
git commit -m "feat: my feature" - Push and open PR
Commit Convention
feat: new feature
fix: bug fix
docs: documentation changes
refactor: code restructuring
test: adding tests
chore: maintenance
Example: feat(python): add async context manager support
Adding a New SDK
- Create
sdks/<language>/directory - Implement
AgentBrowserclass with same API - Add tests in
sdks/<language>/tests/ - Add to
test_all.sh - Update documentation
Releasing
# Bump version
bash scripts/bump-version.sh 0.9.6
# Commit and tag
git add -A && git commit -m "release: v0.9.6"
git tag v0.9.6
git push && git push --tags
# GitHub Actions builds and publishes automatically
Reporting Issues
Use GitHub Issues with:
- OS and version
- b4n1web version
- Full error message
- Minimal reproduction
Security
Report security issues privately via email to security@b4n1.com
Code of Conduct
Be respectful. No harassment, discrimination, or spam.