Skip to content

Commit 02f1b36

Browse files
chore: prepare migration to TOON format repo (#4)
1 parent 8a2a61a commit 02f1b36

11 files changed

Lines changed: 616 additions & 26 deletions

.editorconfig

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
end_of_line = lf
6+
insert_final_newline = true
7+
trim_trailing_whitespace = true
8+
9+
[*.swift]
10+
indent_style = space
11+
indent_size = 4
12+
13+
[*.{yml,yaml}]
14+
indent_style = space
15+
indent_size = 2
16+
17+
[*.{json,toml}]
18+
indent_style = space
19+
indent_size = 2
20+
21+
[*.md]
22+
trim_trailing_whitespace = false

.github/CODEOWNERS

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Default owners for everything
2+
* @toon-format/swift-maintainers
3+
4+
# Project governance and documentation
5+
CODE_OF_CONDUCT.md @johannschopplich
6+
CONTRIBUTING.md @johannschopplich
7+
LICENSE @mattt
8+
README.md @mattt
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
name: Bug Report
2+
description: Report a bug or unexpected behavior
3+
labels: ["bug"]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Thanks for taking the time to report a bug!
9+
10+
- type: textarea
11+
id: description
12+
attributes:
13+
label: Description
14+
description: A clear description of what the bug is
15+
placeholder: When I try to encode..., I expect..., but instead...
16+
validations:
17+
required: true
18+
19+
- type: textarea
20+
id: reproduction
21+
attributes:
22+
label: Reproduction Steps
23+
description: Steps to reproduce the behavior
24+
placeholder: |
25+
1. Import TOONEncoder
26+
2. Call encode() with...
27+
3. See error...
28+
validations:
29+
required: true
30+
31+
- type: textarea
32+
id: expected
33+
attributes:
34+
label: Expected Behavior
35+
description: What you expected to happen
36+
validations:
37+
required: true
38+
39+
- type: textarea
40+
id: actual
41+
attributes:
42+
label: Actual Behavior
43+
description: What actually happened (including error messages)
44+
validations:
45+
required: true
46+
47+
- type: dropdown
48+
id: version
49+
attributes:
50+
label: TOONEncoder Version
51+
description: Which version of TOONEncoder are you using?
52+
options:
53+
- 0.2.0 (latest)
54+
- 0.1.0
55+
- Other (please specify in Additional Context)
56+
validations:
57+
required: true
58+
59+
- type: textarea
60+
id: environment
61+
attributes:
62+
label: Environment
63+
description: |
64+
Please provide:
65+
- Swift version
66+
- Xcode version (if applicable)
67+
- Platform (iOS, macOS, etc.)
68+
- Operating system
69+
placeholder: |
70+
- Swift 6.0
71+
- Xcode 16.0
72+
- macOS 15.0
73+
- iOS 17.0
74+
validations:
75+
required: true
76+
77+
- type: textarea
78+
id: additional
79+
attributes:
80+
label: Additional Context
81+
description: Any other context about the problem (optional)
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: Feature Request
2+
description: Suggest a new feature or enhancement
3+
labels: ["enhancement"]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Thanks for suggesting a feature!
9+
10+
- type: textarea
11+
id: problem
12+
attributes:
13+
label: Problem Statement
14+
description: What problem does this feature solve?
15+
placeholder: As a user, I want to... because...
16+
validations:
17+
required: true
18+
19+
- type: textarea
20+
id: solution
21+
attributes:
22+
label: Proposed Solution
23+
description: How would you like this to work?
24+
placeholder: |
25+
Add a new method/property that...
26+
validations:
27+
required: true
28+
29+
- type: textarea
30+
id: alternatives
31+
attributes:
32+
label: Alternatives Considered
33+
description: What alternative solutions have you considered?
34+
35+
- type: textarea
36+
id: spec
37+
attributes:
38+
label: SPEC Compliance
39+
description: |
40+
Does this relate to the TOON specification?
41+
If yes, please reference the relevant section.
42+
placeholder: This relates to SPEC.md section...
43+
44+
- type: textarea
45+
id: additional
46+
attributes:
47+
label: Additional Context
48+
description: Any other context, mockups, or examples
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
name: SPEC Compliance Issue
2+
description: Report a deviation from the TOON specification
3+
labels: ["spec-compliance"]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Report an issue where TOONEncoder doesn't comply with the official TOON spec.
9+
10+
- type: input
11+
id: spec-version
12+
attributes:
13+
label: SPEC Version
14+
description: Which version of the TOON spec does this relate to?
15+
placeholder: v3.0
16+
validations:
17+
required: true
18+
19+
- type: input
20+
id: spec-section
21+
attributes:
22+
label: SPEC Section
23+
description: Which section of SPEC.md is affected?
24+
placeholder: "Section 7.1: Escaping (Encoding and Decoding)"
25+
validations:
26+
required: true
27+
28+
- type: textarea
29+
id: spec-requirement
30+
attributes:
31+
label: SPEC Requirement
32+
description: What does the spec require?
33+
placeholder: According to SPEC.md, the encoder should...
34+
validations:
35+
required: true
36+
37+
- type: textarea
38+
id: current-behavior
39+
attributes:
40+
label: Current Behavior
41+
description: What does TOONEncoder currently do?
42+
placeholder: Currently, TOONEncoder...
43+
validations:
44+
required: true
45+
46+
- type: textarea
47+
id: test-case
48+
attributes:
49+
label: Test Case
50+
description: Provide a test case that demonstrates the issue
51+
placeholder: |
52+
```swift
53+
import TOONEncoder
54+
let encoder = TOONEncoder()
55+
let result = try encoder.encode(...)
56+
// Expected: ...
57+
// Actual: ...
58+
```
59+
validations:
60+
required: true
61+
62+
- type: textarea
63+
id: additional
64+
attributes:
65+
label: Additional Context
66+
description: Any other relevant information

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
## Description
2+
3+
<!-- Provide a clear and concise description of your changes -->
4+
5+
## Type of Change
6+
7+
<!-- Mark the relevant option with an [x] -->
8+
9+
- [ ] Bug fix (non-breaking change that fixes an issue)
10+
- [ ] New feature (non-breaking change that adds functionality)
11+
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
12+
- [ ] Documentation update
13+
- [ ] Refactoring (no functional changes)
14+
- [ ] Performance improvement
15+
- [ ] Test coverage improvement
16+
17+
## Related Issues
18+
19+
<!-- Link any related issues using #issue_number -->
20+
21+
Closes #
22+
23+
## Changes Made
24+
25+
<!-- List the main changes in this PR -->
26+
27+
-
28+
-
29+
-
30+
31+
## SPEC Compliance
32+
33+
<!-- If this PR relates to the TOON spec, indicate which sections are affected -->
34+
35+
- [ ] This PR implements/fixes spec compliance
36+
- [ ] Spec section(s) affected:
37+
- [ ] Spec version:
38+
39+
## Testing
40+
41+
<!-- Describe the tests you added or ran -->
42+
43+
- [ ] All existing tests pass
44+
- [ ] Added new tests for changes
45+
- [ ] Tested on Swift 6.0
46+
- [ ] Tested on Swift 6.1
47+
- [ ] Tested on Swift 6.2
48+
49+
### Test Output
50+
51+
```bash
52+
# Paste test output here
53+
```
54+
55+
## Code Quality
56+
57+
<!-- Confirm code quality checks -->
58+
59+
- [ ] Ran `swift test` - all tests pass
60+
- [ ] Ran `swift-format` - code follows format guidelines
61+
- [ ] Added documentation comments for public APIs
62+
- [ ] Code follows Swift conventions
63+
64+
## Checklist
65+
66+
<!-- Mark completed items with an [x] -->
67+
68+
- [ ] My code follows the project's coding standards
69+
- [ ] I have added documentation comments to new public APIs
70+
- [ ] I have added tests that prove my fix/feature works
71+
- [ ] New and existing tests pass locally
72+
- [ ] I have updated documentation (README.md if needed)
73+
- [ ] My changes do not introduce new dependencies (or are justified)
74+
- [ ] I have maintained Swift 6.0+ compatibility
75+
- [ ] I have reviewed the [TOON specification](https://github.com/toon-format/spec) for relevant sections
76+
77+
## Performance Impact
78+
79+
<!-- If applicable, describe any performance implications -->
80+
81+
- [ ] No performance impact
82+
- [ ] Performance improvement (describe below)
83+
- [ ] Potential performance regression (describe and justify below)
84+
85+
<!-- Details: -->
86+
87+
## Breaking Changes
88+
89+
<!-- If this is a breaking change, describe the migration path for users -->
90+
91+
- [ ] No breaking changes
92+
- [ ] Breaking changes (describe migration path below)
93+
94+
<!-- Migration path: -->
95+
96+
## Screenshots / Examples
97+
98+
<!-- If applicable, add screenshots or example output -->
99+
100+
```swift
101+
// Example usage
102+
```
103+
104+
Output:
105+
```
106+
# Example output
107+
```
108+
109+
## Additional Context
110+
111+
<!-- Add any other context about the PR here (optional) -->
112+
113+
## Checklist for Reviewers
114+
115+
<!-- For maintainers reviewing this PR -->
116+
117+
- [ ] Code changes are clear and well-documented
118+
- [ ] Tests adequately cover the changes
119+
- [ ] Documentation is updated
120+
- [ ] No security concerns
121+
- [ ] Follows TOON specification
122+
- [ ] Backward compatible (or breaking changes are justified and documented)

0 commit comments

Comments
 (0)