Skip to content

Commit 2423fb4

Browse files
committed
init
0 parents  commit 2423fb4

20 files changed

+1006
-0
lines changed

.editorconfig

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
root = true
2+
3+
[*]
4+
indent_style = tab
5+
end_of_line = lf
6+
insert_final_newline = true
7+
trim_trailing_whitespace = true
8+
charset = utf-8
9+
quote_type = single

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
* text=auto eol=lf
Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
name: 🐛 Bug Report
2+
description: Report a bug or unexpected behavior
3+
title: "[Bug]: "
4+
labels: ["bug", "needs-triage"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for taking the time to report this issue! Please fill out the information below to help us understand and resolve the problem.
10+
11+
- type: checkboxes
12+
id: prerequisites
13+
attributes:
14+
label: Prerequisites
15+
description: Please confirm the following before submitting
16+
options:
17+
- label: I have searched existing issues to ensure this bug hasn't been reported
18+
required: true
19+
- label: I have checked the documentation
20+
required: true
21+
- label: I am using the latest version
22+
required: false
23+
24+
- type: input
25+
id: version
26+
attributes:
27+
label: Package Version
28+
description: What version of the package are you using?
29+
placeholder: e.g., 1.2.3
30+
validations:
31+
required: true
32+
33+
- type: textarea
34+
id: description
35+
attributes:
36+
label: Bug Description
37+
description: A clear and concise description of what the bug is
38+
placeholder: What went wrong?
39+
validations:
40+
required: true
41+
42+
- type: textarea
43+
id: reproduction
44+
attributes:
45+
label: Steps to Reproduce
46+
description: Detailed steps to reproduce the behavior
47+
placeholder: |
48+
1. Import '...'
49+
2. Call function with '...'
50+
3. See error
51+
validations:
52+
required: true
53+
54+
- type: textarea
55+
id: expected
56+
attributes:
57+
label: Expected Behavior
58+
description: What did you expect to happen?
59+
placeholder: What should have happened instead?
60+
validations:
61+
required: true
62+
63+
- type: textarea
64+
id: actual
65+
attributes:
66+
label: Actual Behavior
67+
description: What actually happened?
68+
placeholder: Include error messages, screenshots, or logs
69+
validations:
70+
required: true
71+
72+
- type: textarea
73+
id: code
74+
attributes:
75+
label: Code Sample
76+
description: Minimal code to reproduce the issue
77+
placeholder: |
78+
```typescript
79+
// Your code here
80+
```
81+
render: typescript
82+
validations:
83+
required: false
84+
85+
- type: input
86+
id: reproduction-link
87+
attributes:
88+
label: Reproduction Link
89+
description: Link to a minimal reproduction (CodeSandbox, StackBlitz, GitHub repo, etc.)
90+
placeholder: https://codesandbox.io/s/...
91+
validations:
92+
required: false
93+
94+
- type: textarea
95+
id: environment
96+
attributes:
97+
label: Environment
98+
description: Please provide your environment details
99+
placeholder: |
100+
- OS: [e.g., macOS 14.0, Windows 11, Ubuntu 22.04]
101+
- Node version: [e.g., 20.10.0]
102+
- Package manager: [e.g., npm 10.2.3, yarn 4.0.2, pnpm 8.14.0]
103+
- TypeScript version (if applicable): [e.g., 5.3.3]
104+
- Browser (if applicable): [e.g., Chrome 120, Safari 17]
105+
validations:
106+
required: false
107+
108+
- type: textarea
109+
id: additional
110+
attributes:
111+
label: Additional Context
112+
description: Any other context, screenshots, or information about the problem
113+
placeholder: Add any other relevant details here
114+
validations:
115+
required: false
116+
117+
- type: textarea
118+
id: solution
119+
attributes:
120+
label: Possible Solution
121+
description: If you have suggestions on how to fix this, please share
122+
placeholder: Optional - your ideas for fixing this issue
123+
validations:
124+
required: false
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
name: ✨ Feature Request
2+
description: Suggest a new feature or enhancement
3+
title: "[Feature]: "
4+
labels: ["enhancement", "needs-triage"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for your interest in improving this project! Please describe your feature request in detail.
10+
11+
- type: checkboxes
12+
id: prerequisites
13+
attributes:
14+
label: Prerequisites
15+
description: Please confirm the following before submitting
16+
options:
17+
- label: I have searched existing issues to ensure this hasn't been requested
18+
required: true
19+
- label: I have checked the documentation to ensure this feature doesn't exist
20+
required: true
21+
22+
- type: textarea
23+
id: problem
24+
attributes:
25+
label: Problem Statement
26+
description: Is your feature request related to a problem? Please describe.
27+
placeholder: I'm frustrated when... / It would be helpful if...
28+
validations:
29+
required: true
30+
31+
- type: textarea
32+
id: solution
33+
attributes:
34+
label: Proposed Solution
35+
description: Describe the solution you'd like
36+
placeholder: A clear and concise description of what you want to happen
37+
validations:
38+
required: true
39+
40+
- type: textarea
41+
id: alternatives
42+
attributes:
43+
label: Alternatives Considered
44+
description: Describe alternatives you've considered
45+
placeholder: What other approaches have you thought about?
46+
validations:
47+
required: false
48+
49+
- type: textarea
50+
id: examples
51+
attributes:
52+
label: Code Examples
53+
description: Show how you'd like to use this feature
54+
placeholder: |
55+
```typescript
56+
// Example usage
57+
```
58+
render: typescript
59+
validations:
60+
required: false
61+
62+
- type: textarea
63+
id: api
64+
attributes:
65+
label: API Design (if applicable)
66+
description: If this involves new APIs, describe the proposed interface
67+
placeholder: |
68+
Proposed function signatures, types, or component props
69+
render: typescript
70+
validations:
71+
required: false
72+
73+
- type: textarea
74+
id: additional
75+
attributes:
76+
label: Additional Context
77+
description: Add any other context, mockups, or screenshots
78+
placeholder: Links to similar features in other libraries, mockups, etc.
79+
validations:
80+
required: false
81+
82+
- type: dropdown
83+
id: priority
84+
attributes:
85+
label: Priority
86+
description: How important is this feature to you?
87+
options:
88+
- Low - Nice to have
89+
- Medium - Would significantly improve my workflow
90+
- High - Blocking my usage of this library
91+
validations:
92+
required: false
93+
94+
- type: checkboxes
95+
id: contribution
96+
attributes:
97+
label: Contribution
98+
description: Would you be willing to contribute this feature?
99+
options:
100+
- label: I'm willing to submit a PR to implement this feature
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
name: ❓ Question
2+
description: Ask a question about usage or clarification
3+
title: "[Question]: "
4+
labels: ["question"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for your question! Please provide as much detail as possible so we can help you effectively.
10+
11+
- type: checkboxes
12+
id: prerequisites
13+
attributes:
14+
label: Prerequisites
15+
description: Please confirm the following before submitting
16+
options:
17+
- label: I have checked the documentation
18+
required: true
19+
- label: I have searched existing issues for similar questions
20+
required: true
21+
22+
- type: textarea
23+
id: question
24+
attributes:
25+
label: Your Question
26+
description: What would you like to know?
27+
placeholder: Please be as specific as possible
28+
validations:
29+
required: true
30+
31+
- type: textarea
32+
id: context
33+
attributes:
34+
label: Context
35+
description: What are you trying to accomplish?
36+
placeholder: Describe your use case or what you're building
37+
validations:
38+
required: false
39+
40+
- type: textarea
41+
id: code
42+
attributes:
43+
label: Code Sample
44+
description: Share relevant code if applicable
45+
placeholder: |
46+
```typescript
47+
// Your code here
48+
```
49+
render: typescript
50+
validations:
51+
required: false
52+
53+
- type: textarea
54+
id: attempted
55+
attributes:
56+
label: What I've Tried
57+
description: What have you already attempted?
58+
placeholder: Describe any solutions you've already explored
59+
validations:
60+
required: false
61+
62+
- type: textarea
63+
id: additional
64+
attributes:
65+
label: Additional Information
66+
description: Any other details that might be helpful
67+
validations:
68+
required: false

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
## Description
2+
3+
<!-- Briefly describe what this PR does -->
4+
5+
## Type of Change
6+
7+
<!-- Check the relevant option -->
8+
9+
- [ ] 🐛 Bug fix
10+
- [ ] ✨ New feature
11+
- [ ] 💥 Breaking change
12+
- [ ] 📝 Documentation
13+
- [ ] ♻️ Refactoring
14+
- [ ] ⚡ Performance
15+
- [ ] ✅ Tests
16+
- [ ] 🔧 Build/CI
17+
18+
## Related Issues
19+
20+
<!-- Link related issues: Fixes #123, Closes #456 -->
21+
22+
## Changes
23+
24+
<!-- List key changes -->
25+
26+
-
27+
-
28+
29+
## Testing
30+
31+
<!-- How did you test this? -->
32+
33+
- [ ] Tests added/updated
34+
- [ ] All tests passing
35+
36+
## Checklist
37+
38+
- [ ] Code follows project style
39+
- [ ] Self-reviewed
40+
- [ ] Documentation updated (if needed)
41+
- [ ] No breaking changes (or documented)
42+
43+
## Screenshots/Notes
44+
45+
<!-- Optional: Add screenshots or additional context -->

.github/workflows/ci.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: CI
2+
3+
on: [push, pull_request]
4+
5+
concurrency:
6+
group: ${{ github.workflow }}-${{ github.ref }}
7+
cancel-in-progress: true
8+
9+
jobs:
10+
test:
11+
name: Test on ${{ matrix.os }}
12+
runs-on: ${{ matrix.os }}
13+
strategy:
14+
fail-fast: false
15+
matrix:
16+
os: [ubuntu-latest, macos-latest, windows-latest]
17+
18+
steps:
19+
- name: Checkout code
20+
uses: actions/checkout@v4
21+
22+
- name: Setup Bun
23+
uses: oven-sh/setup-bun@v2
24+
with:
25+
bun-version: latest
26+
27+
- name: Install dependencies
28+
run: bun install --frozen-lockfile
29+
30+
- name: Build
31+
run: bun run build
32+
33+
- name: Type check
34+
run: bun run type-check
35+
36+
- name: Lint
37+
run: bun run lint
38+
39+
- name: Run tests
40+
run: bun run test

0 commit comments

Comments
 (0)