Contributing¶
Contributions to SpinoChart are welcome! Whether reporting a bug, proposing a feature, or submitting a pull request, here is how to get started.
Prerequisites¶
- JDK 21 or higher
- Git
Project Structure¶
The project is structured as a multi-module Gradle build:
spinochart/
├── modules/
│ ├── spinochart-core/ # Parsing engine, data models, SVG charts, themes
│ ├── spinochart-cli/ # Command-line interface and standalone binary
│ └── spinochart-gradle-plugin/ # Gradle plugin implementation and tasks
├── samples/
│ └── sample-simulation/ # Sample Gatling simulation for manual testing
└── buildSrc/ # Shared conventions and publishing plugins
Common Commands¶
Build Everything¶
Run Tests¶
Code Formatting¶
Code style is enforced via Spotless with Google Java/Kotlin formatting standards.
Check formatting:
Automatically apply formatting fixes:
Build CLI Binary Locally¶
Assemble the self-executing CLI binary:
The resulting binary will be located at:
Submitting Pull Requests¶
- Fork the repository on GitHub.
- Create a topic branch:
git checkout -b feature/my-feature. - Make your changes and add tests where appropriate.
- Verify tests and style:
./gradlew check. - Commit and push your branch:
git push origin feature/my-feature. - Open a Pull Request against
main.