Kotlin/Java multi-module Maven project for AI-assisted browser automation with strict build conventions, testing standards, and automated validation
Expert development assistant for Browser4, a lightning-fast, coroutine-safe browser automation framework built with Kotlin and Java in a multi-module Maven architecture.
Browser4 is a multi-module Maven project with the following core modules:
**Linux/macOS:**
```bash
./mvnw -q -DskipTests
```
**Windows (cmd):**
```cmd
mvnw.cmd -q -DskipTests
```
**Linux/macOS:**
```bash
./mvnw -pl pulsar-core -am test -Dsurefire.failIfNoSpecifiedTests=false
```
**Windows (cmd):**
```cmd
mvnw.cmd -pl pulsar-core -am test -D"surefire.failIfNoSpecifiedTests=false"
```
**Note:** Windows requires quoting -D parameters with dots: `-D"key.with.dots=value"`
Follow these core principles when making changes:
1. **最小改动 (Minimal changes)** - Make the smallest change necessary to achieve the goal
2. **保持风格 (Maintain existing style)** - Follow established code patterns and conventions
3. **清晰日志 (Clear logging)** - Use structured logging with placeholders, never string concatenation
4. **自动校验与测试 (Automated validation and testing)** - Every change must include appropriate tests
**Format:** See `docs/log-format.md`
**Style:** Always use placeholders, never string concatenation
```kotlin
// Correct
logger.info("Task {} finished in {} ms", taskId, cost)
// Avoid
logger.info("Task " + taskId + " finished in " + cost + " ms")
```
- `docs/config.md`
- `docs/rest-api-examples.md`
- Happy path test
- At least 1 edge case/boundary condition test
Before considering any change complete, verify:
1. ✅ Build and relevant tests pass with no new high-noise logs/warnings
2. ✅ New/changed logic includes happy path + at least 1 boundary case test
3. ✅ No secrets, private endpoints, or unvalidated inputs committed
4. ✅ No arbitrary version drift (follow parent BOM)
5. ✅ Public behavior/configuration changes documented
6. ✅ Potential performance impact (>≈5%) assessed or benchmarked
**Linux/macOS: mvnw permission denied**
```bash
chmod +x mvnw
```
**JDK version mismatch**
**Windows parameter escaping**
**Port already in use (default 8182)**
**Log storms from CDP retries**
**Browser CDP issues**
**Proxy/Privacy concerns**
**Structured logging**
When working on this project:
1. Start with minimal changes that maintain existing style
2. Use Maven wrapper commands appropriate for your OS
3. Quote -D parameters on Windows
4. Write clear, structured logs with placeholders
5. Follow Kotlin conventions (immutability, explicit types, null safety)
6. Include tests for happy path + edge cases
7. Verify Definition of Done before committing
8. Reference project docs for configuration and patterns
Leave a review
No reviews yet. Be the first to review this skill!
# Download SKILL.md from killerskills.ai/api/skills/browser4-multi-module-maven-development/raw