Add comprehensive DEVELOPMENT.md for contributors #5759
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Created a single, consolidated development guide to replace scattered documentation and provide contributors with a complete reference for working on Sparkling Water.
What's Added
DEVELOPMENT.md (1,126 lines) covering:
H2OContext, converters), ml (algorithm wrappers), py/r (language bindings), scoring, examplesSPARK_HOME,MASTER), build commands, shell usage.scalafmt.conf), naming conventions, common patterns for data conversion and context initializationKey Sections
The guide provides text-based architecture diagrams showing data flow:
And practical developer workflows like:
# Make changes in core ./gradlew :sparkling-water-core:test ./gradlew :sparkling-water-core:integTest ./bin/run-example.sh AirlinesWithWeatherDemoConsolidates information from
doc/src/site/sphinx/devel/RST files while adding architecture context, troubleshooting, and extension patterns not previously documented in a single location.Original prompt
Create a single, well-structured DEVELOPMENT.md file that explains everything a contributor needs to know to work effectively on this project, including an architecture overview. The result should be written in clear, concise Markdown and tailored to THIS repository’s codebase and configuration files.
Produce a DEVELOPMENT.md that includes clear sections like this (adapt the titles if needed):
Overview
Architecture Overview
Repository Layout
treestyle) for clarity, but only down to a useful depth.Getting Started for Development
Running & Writing Tests
Code Style & Conventions
Branching, Workflow & Commit Practices
Local Development Tips
Database & Data Model (if applicable)
Security, Performance & Quality Considerations
CI/CD & Deployment (Contributor Perspective)
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.