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
22 changes: 22 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
root = true

[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true

[*.swift]
indent_style = space
indent_size = 4

[*.{yml,yaml}]
indent_style = space
indent_size = 2

[*.{json,toml}]
indent_style = space
indent_size = 2

[*.md]
trim_trailing_whitespace = false
8 changes: 8 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Default owners for everything
* @toon-format/swift-maintainers

# Project governance and documentation
CODE_OF_CONDUCT.md @johannschopplich
CONTRIBUTING.md @johannschopplich
LICENSE @mattt
README.md @mattt
81 changes: 81 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
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. Import TOONEncoder
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)
validations:
required: true

- type: dropdown
id: version
attributes:
label: TOONEncoder Version
description: Which version of TOONEncoder are you using?
options:
- 0.2.0 (latest)
- 0.1.0
- Other (please specify in Additional Context)
validations:
required: true

- type: textarea
id: environment
attributes:
label: Environment
description: |
Please provide:
- Swift version
- Xcode version (if applicable)
- Platform (iOS, macOS, etc.)
- Operating system
placeholder: |
- Swift 6.0
- Xcode 16.0
- macOS 15.0
- iOS 17.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/property 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
66 changes: 66 additions & 0 deletions .github/ISSUE_TEMPLATE/spec_compliance.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: SPEC Compliance Issue
description: Report a deviation from the TOON specification
labels: ["spec-compliance"]
body:
- type: markdown
attributes:
value: |
Report an issue where TOONEncoder 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: v3.0
validations:
required: true

- type: input
id: spec-section
attributes:
label: SPEC Section
description: Which section of SPEC.md is affected?
placeholder: "Section 7.1: Escaping (Encoding and Decoding)"
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 TOONEncoder currently do?
placeholder: Currently, TOONEncoder...
validations:
required: true

- type: textarea
id: test-case
attributes:
label: Test Case
description: Provide a test case that demonstrates the issue
placeholder: |
```swift
import TOONEncoder
let encoder = TOONEncoder()
let result = try encoder.encode(...)
// Expected: ...
// Actual: ...
```
validations:
required: true

- type: textarea
id: additional
attributes:
label: Additional Context
description: Any other relevant information
122 changes: 122 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
## 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 Swift 6.0
- [ ] Tested on Swift 6.1
- [ ] Tested on Swift 6.2

### Test Output

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

## Code Quality

<!-- Confirm code quality checks -->

- [ ] Ran `swift test` - all tests pass
- [ ] Ran `swift-format` - code follows format guidelines
- [ ] Added documentation comments for public APIs
- [ ] Code follows Swift conventions

## Checklist

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

- [ ] My code follows the project's coding standards
- [ ] I have added documentation comments to new public APIs
- [ ] I have added 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 Swift 6.0+ 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 -->

```swift
// 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)
Loading