diff --git a/CLAUDE.md b/CLAUDE.md index 917c9b0..4d862b9 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -98,4 +98,19 @@ The project uses Docker-based cross-compilation toolchains (see `docker/` direct 2. **Memory Safety**: Uses direct ByteBuffers for efficient memory operations - be aware of buffer boundaries 3. **Thread Safety**: Snappy compression/decompression methods are thread-safe as they don't maintain state 4. **OSGi Support**: The project includes OSGi bundle configuration in build.sbt -5. **Compatibility**: Multiple stream formats are supported - ensure you use matching read/write formats (see compatibility matrix in README.md) \ No newline at end of file +5. **Compatibility**: Multiple stream formats are supported - ensure you use matching read/write formats (see compatibility matrix in README.md) + +## Development Workflow + +### Pull Request Guidelines +- Use squashed commits when merging PRs to maintain clean commit history +- Run tests before creating PR: `./sbt test` +- Check code formatting: `./sbt scalafmtCheckAll` + +### Common Development Tasks +- When making changes to native code, rebuild with `make clean-native native` +- For Java/Scala changes, use `./sbt ~test` for continuous testing +- Always test on multiple JDK versions if possible (8, 11, 17, 21) + +### Native Code Testing +- Use make clean-native native for testing native code \ No newline at end of file