Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Default owners for everything
* @toon-format/java-maintainers

# Project governance and documentation
CODE_OF_CONDUCT.md @johannschopplich
CONTRIBUTING.md @felipestanzani
67 changes: 67 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
name: Bug Report
description: Report a bug or unexpected behavior
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to report a bug!

- type: textarea
id: description
attributes:
label: Description
description: A clear description of what the bug is
placeholder: When I try to encode..., I expect..., but instead...
validations:
required: true

- type: textarea
id: reproduction
attributes:
label: Reproduction Steps
description: Steps to reproduce the behavior
placeholder: |
1. Create a Toon instance
2. Call encode() with...
3. See error...
validations:
required: true

- type: textarea
id: expected
attributes:
label: Expected Behavior
description: What you expected to happen
validations:
required: true

- type: textarea
id: actual
attributes:
label: Actual Behavior
description: What actually happened (including error messages and stack traces)
validations:
required: true

- type: textarea
id: environment
attributes:
label: Environment
description: |
Please provide:
- Java version
- JToon version (from build.gradle or pom.xml)
- Operating system
placeholder: |
- Java 21.0.1
- JToon 0.1.2
- macOS 15.0
validations:
required: true

- type: textarea
id: additional
attributes:
label: Additional Context
description: Any other context about the problem (optional)
48 changes: 48 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: Feature Request
description: Suggest a new feature or enhancement
labels: ["enhancement"]
body:
- type: markdown
attributes:
value: |
Thanks for suggesting a feature!

- type: textarea
id: problem
attributes:
label: Problem Statement
description: What problem does this feature solve?
placeholder: As a user, I want to... because...
validations:
required: true

- type: textarea
id: solution
attributes:
label: Proposed Solution
description: How would you like this to work?
placeholder: |
Add a new method/function that...
validations:
required: true

- type: textarea
id: alternatives
attributes:
label: Alternatives Considered
description: What alternative solutions have you considered?

- type: textarea
id: spec
attributes:
label: SPEC Compliance
description: |
Does this relate to the TOON specification?
If yes, please reference the relevant section.
placeholder: This relates to SPEC.md section...

- type: textarea
id: additional
attributes:
label: Additional Context
description: Any other context, mockups, or examples
65 changes: 65 additions & 0 deletions .github/ISSUE_TEMPLATE/spec_compliance.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: SPEC Compliance Issue
description: Report a deviation from the TOON specification
labels: ["spec-compliance"]
body:
- type: markdown
attributes:
value: |
Report an issue where JToon doesn't comply with the official TOON spec.

- type: input
id: spec-version
attributes:
label: SPEC Version
description: Which version of the TOON spec does this relate to?
placeholder: v1.3
validations:
required: true

- type: input
id: spec-section
attributes:
label: SPEC Section
description: Which section of SPEC.md is affected?
placeholder: "Section 2.3: Array Notation"
validations:
required: true

- type: textarea
id: spec-requirement
attributes:
label: SPEC Requirement
description: What does the spec require?
placeholder: According to SPEC.md, the encoder should...
validations:
required: true

- type: textarea
id: current-behavior
attributes:
label: Current Behavior
description: What does JToon currently do?
placeholder: Currently, JToon...
validations:
required: true

- type: textarea
id: test-case
attributes:
label: Test Case
description: Provide a test case that demonstrates the issue
placeholder: |
```java
import com.felipestanzani.toon.Toon;
String result = Toon.encode(...);
// Expected: ...
// Actual: ...
```
validations:
required: true

- type: textarea
id: additional
attributes:
label: Additional Context
description: Any other relevant information
121 changes: 121 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
## Description

<!-- Provide a clear and concise description of your changes -->

## Type of Change

<!-- Mark the relevant option with an [x] -->

- [ ] Bug fix (non-breaking change that fixes an issue)
- [ ] New feature (non-breaking change that adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] Documentation update
- [ ] Refactoring (no functional changes)
- [ ] Performance improvement
- [ ] Test coverage improvement

## Related Issues

<!-- Link any related issues using #issue_number -->

Closes #

## Changes Made

<!-- List the main changes in this PR -->

-
-
-

## SPEC Compliance

<!-- If this PR relates to the TOON spec, indicate which sections are affected -->

- [ ] This PR implements/fixes spec compliance
- [ ] Spec section(s) affected:
- [ ] Spec version:

## Testing

<!-- Describe the tests you added or ran -->

- [ ] All existing tests pass
- [ ] Added new tests for changes
- [ ] Tested on Java 17
- [ ] Tested on Java 21

### Test Output

```bash
# Paste test output here
```

## Code Quality

<!-- Confirm code quality checks -->

- [ ] Ran `./gradlew test` - all tests pass
- [ ] Ran `./gradlew jacocoTestCoverageVerification` - coverage meets 85% threshold
- [ ] Added JavaDoc comments for public APIs
- [ ] Code follows Java conventions

## Checklist

<!-- Mark completed items with an [x] -->

- [ ] My code follows the project's coding standards
- [ ] I have added JavaDoc comments to new public APIs
- [ ] I have added JUnit tests that prove my fix/feature works
- [ ] New and existing tests pass locally
- [ ] I have updated documentation (README.md if needed)
- [ ] My changes do not introduce new dependencies (or are justified)
- [ ] I have maintained Java 17+ compatibility
- [ ] I have reviewed the [TOON specification](https://github.com/toon-format/spec) for relevant sections

## Performance Impact

<!-- If applicable, describe any performance implications -->

- [ ] No performance impact
- [ ] Performance improvement (describe below)
- [ ] Potential performance regression (describe and justify below)

<!-- Details: -->

## Breaking Changes

<!-- If this is a breaking change, describe the migration path for users -->

- [ ] No breaking changes
- [ ] Breaking changes (describe migration path below)

<!-- Migration path: -->

## Screenshots / Examples

<!-- If applicable, add screenshots or example output -->

```java
// Example usage
```

Output:
```
# Example output
```

## Additional Context

<!-- Add any other context about the PR here (optional) -->

## Checklist for Reviewers

<!-- For maintainers reviewing this PR -->

- [ ] Code changes are clear and well-documented
- [ ] Tests adequately cover the changes
- [ ] Documentation is updated
- [ ] No security concerns
- [ ] Follows TOON specification
- [ ] Backward compatible (or breaking changes are justified and documented)
2 changes: 1 addition & 1 deletion CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,4 +82,4 @@ This Code of Conduct is adapted from the Contributor Covenant, version 3.0, perm

Contributor Covenant is stewarded by the Organization for Ethical Source and licensed under CC BY-SA 4.0. To view a copy of this license, visit [https://creativecommons.org/licenses/by-sa/4.0/](https://creativecommons.org/licenses/by-sa/4.0/)

For answers to common questions about Contributor Covenant, see the FAQ at [https://www.contributor-covenant.org/faq](https://www.contributor-covenant.org/faq). Translations are provided at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations). Additional enforcement and community guideline resources can be found at [https://www.contributor-covenant.org/resources](https://www.contributor-covenant.org/resources). The enforcement ladder was inspired by the work of [Mozilla’s code of conduct team](https://github.com/mozilla/inclusion).
For answers to common questions about Contributor Covenant, see the FAQ at [https://www.contributor-covenant.org/faq](https://www.contributor-covenant.org/faq). Translations are provided at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations). Additional enforcement and community guideline resources can be found at [https://www.contributor-covenant.org/resources](https://www.contributor-covenant.org/resources). The enforcement ladder was inspired by the work of [Mozilla’s code of conduct team](https://github.com/mozilla/inclusion).
Loading