Skip to content

Commit ae1d117

Browse files
authored
Initial commit
0 parents  commit ae1d117

File tree

9 files changed

+1257
-0
lines changed

9 files changed

+1257
-0
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
name: 🐛 Bug Report
3+
about: Report a bug you found
4+
title: "[BUG] Short description"
5+
labels: 🐞 bug
6+
assignees: ''
7+
---
8+
9+
## 🐞 Description
10+
A clear and concise description of the bug.
11+
12+
## 🔁 Steps to Reproduce
13+
1. Go to '...'
14+
2. Click on '...'
15+
3. Scroll to '...'
16+
4. See error
17+
18+
## ✅ Expected Behavior
19+
What should have happened instead?
20+
21+
## 📸 Screenshots
22+
If applicable, add screenshots or GIFs.
23+
24+
## 🖥️ Environment
25+
- OS: [e.g., Windows 11, macOS 13]
26+
- Browser: [e.g., Chrome 114, Firefox 115]
27+
- Node.js Version: [e.g., 18.17.1]
28+
- Project Version: [e.g., 1.0.0]
29+
30+
## ➕ Additional Context
31+
Add any other context about the problem here.

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: 💬 Discussions
4+
url: https://github.com/username/project-name/discussions
5+
about: Start a discussion, ask questions, or share ideas
6+
- name: 🔐 Security Issues
7+
url: https://github.com/username/project-name/security/advisories
8+
about: Please report security vulnerabilities privately via GitHub Security Advisories
9+
issue_templates:
10+
- name: 🐛 Bug Report
11+
description: Report a reproducible bug or unexpected behavior
12+
file: bug_report.md
13+
labels: ["🐞 bug"]
14+
- name: 💡 Feature Request
15+
description: Suggest a new feature or improvement
16+
file: feature_request.md
17+
labels: ["✨ enhancement"]
18+
- name: 📚 Documentation
19+
description: Report missing, unclear, or outdated documentation
20+
file: documentation.md
21+
labels: ["📚 documentation"]
22+
- name: 📝 General Issue
23+
description: Open a general issue (discussion, question, idea, etc.)
24+
file: general_issue.md
25+
labels: ["❓ question"]
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
name: 📚 Documentation
3+
about: Report missing, unclear, or outdated documentation
4+
title: "[DOCS] Short description"
5+
labels: 📚 documentation
6+
assignees: ''
7+
---
8+
9+
## 📖 Documentation Issue
10+
Describe what is unclear, missing, or needs updating.
11+
12+
## 🗂️ Location
13+
- File/Section: [e.g., README.md, Installation Guide]
14+
- Link (if applicable): [URL]
15+
16+
## ✅ Suggested Improvements
17+
How should the documentation be improved?
18+
19+
## 📸 Screenshots
20+
If applicable, add images or examples.
21+
22+
## ➕ Additional Context
23+
Any other information that could help.
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
name: 💡 Feature Request
3+
about: Suggest a new feature or improvement
4+
title: "[FEATURE] Short description"
5+
labels: ✨ enhancement
6+
assignees: ''
7+
---
8+
9+
## ✨ Feature Description
10+
A clear and concise description of the feature you'd like to see.
11+
12+
## 🎯 Problem / Motivation
13+
What problem does this feature solve? Why is it valuable?
14+
15+
## 🛠️ Proposed Solution
16+
How could this feature be implemented? (e.g., API, UI, workflow)
17+
18+
## 🔄 Alternatives
19+
What alternatives have you considered?
20+
21+
## 📸 Mockups / Screenshots
22+
If applicable, add sketches, mockups, or references.
23+
24+
## ➕ Additional Context
25+
Add any other context, links, or resources.
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
name: 📑 General Issue
3+
about: Open a general issue (discussion, question, idea, etc.)
4+
title: "[GENERAL] Short description"
5+
labels: ❓ question
6+
assignees: ''
7+
---
8+
9+
## 📝 Summary
10+
A clear and concise description of the issue.
11+
12+
## 🤔 Context
13+
Why are you opening this issue? (discussion, idea, feedback, question)
14+
15+
## 🎯 Goal
16+
What do you want to achieve with this issue?
17+
18+
## ➕ Additional Notes
19+
Any other relevant details, links, or references.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
## 📝 Description
2+
<!-- What has been changed and why? -->
3+
4+
## 🔹 Type of change
5+
- [ ] 🐛 Bug fix
6+
- [ ] ✨ Feature/enhancement
7+
- [ ] 🛠️ Refactoring
8+
- [ ] 📝 Documentation
9+
- [ ] 🚀 Deployment/CI
10+
11+
## 📋 Checklist
12+
- [ ] Code has been tested
13+
- [ ] Documentation has been updated
14+
- [ ] Reviewer has been added
15+
- [ ] Branch is currently `main` / `master`
16+
- [ ] No breaking changes
17+
18+
## 📌 Related issues
19+
<!-- Link to GitHub issues, e.g.: #123 -->
20+
21+
## 📸 Screenshots / GIFs
22+
<!-- Optional: Visualization of changes -->
23+
24+
## 💡 Additional information
25+
<!-- Anything that could be important for reviewers -->

.github/workflows/labels.yml

Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
# Remove this action after the initial commit, you won't need it anymore :)
2+
name: Setup Repository Labels
3+
4+
on:
5+
push:
6+
branches:
7+
- master
8+
9+
jobs:
10+
setup-labels:
11+
runs-on: ubuntu-latest
12+
permissions:
13+
contents: read
14+
issues: write
15+
steps:
16+
- name: Checkout repository
17+
uses: actions/checkout@v3
18+
with:
19+
token: ${{ secrets.GITHUB_TOKEN }}
20+
fetch-depth: 0
21+
22+
- name: Detect initial commit
23+
id: check_commit
24+
uses: actions/github-script@v7
25+
with:
26+
script: |
27+
const { data: commits } = await github.rest.repos.listCommits({
28+
owner: context.repo.owner,
29+
repo: context.repo.repo,
30+
per_page: 2
31+
});
32+
const isInitial = commits.length === 1;
33+
console.log(`Initial commit: ${isInitial}`);
34+
return isInitial;
35+
36+
- name: Check if custom labels already exist
37+
id: check_labels
38+
uses: actions/github-script@v7
39+
with:
40+
script: |
41+
const existingLabels = await github.rest.issues.listLabelsForRepo({
42+
owner: context.repo.owner,
43+
repo: context.repo.repo
44+
});
45+
const customLabels = [
46+
"🔬 research",
47+
"⚙️ ops",
48+
"🤖 ci",
49+
"🎬 demo",
50+
"🐞 bug",
51+
"✨ enhancement",
52+
"📚 documentation",
53+
"❓ question",
54+
"🙋 help wanted",
55+
"🌱 good first issue",
56+
"🚫 wontfix",
57+
"🔁 duplicate",
58+
"❌ invalid",
59+
"⏳ in progress",
60+
"✅ ready for review",
61+
"⛔ blocked",
62+
"🔥 priority: high",
63+
"⚡ priority: medium",
64+
"🍃 priority: low"
65+
];
66+
const exists = existingLabels.data.some(label => customLabels.includes(label.name));
67+
console.log(`Custom labels exist: ${exists}`);
68+
return exists;
69+
70+
- name: Setup labels
71+
if: steps.check_commit.outputs.result == 'true' && steps.check_labels.outputs.result == 'false'
72+
uses: actions/github-script@v7
73+
with:
74+
script: |
75+
const existingLabels = await github.rest.issues.listLabelsForRepo({
76+
owner: context.repo.owner,
77+
repo: context.repo.repo
78+
});
79+
for (const label of existingLabels.data) {
80+
await github.rest.issues.deleteLabel({
81+
owner: context.repo.owner,
82+
repo: context.repo.repo,
83+
name: label.name
84+
});
85+
}
86+
87+
const labels = [
88+
{"name": "🔬 research", "color": "ededed", "description": "Research needed"},
89+
{"name": "⚙️ ops", "color": "c2e0c6", "description": "Ops task"},
90+
{"name": "🤖 ci", "color": "bfdadc", "description": "Related to GitHub Actions / CI"},
91+
{"name": "🎬 demo", "color": "bfdadc", "description": "Demo label"},
92+
{"name": "🐞 bug", "color": "d73a4a", "description": "Bug report"},
93+
{"name": "✨ enhancement", "color": "a2eeef", "description": "Feature request / enhancement"},
94+
{"name": "📚 documentation", "color": "0075ca", "description": "Documentation update"},
95+
{"name": "❓ question", "color": "d876e3", "description": "User question or inquiry"},
96+
{"name": "🙋 help wanted", "color": "008672", "description": "Needs help from contributors"},
97+
{"name": "🌱 good first issue", "color": "7057ff", "description": "Good entry point for new contributors"},
98+
{"name": "🚫 wontfix", "color": "ffffff", "description": "Issue won't be fixed"},
99+
{"name": "🔁 duplicate", "color": "cccccc", "description": "Duplicate issue"},
100+
{"name": "❌ invalid", "color": "e6e6e6", "description": "Invalid issue or PR"},
101+
{"name": "⏳ in progress", "color": "fbca04", "description": "Work in progress"},
102+
{"name": "✅ ready for review", "color": "0e8a16", "description": "PR ready for review"},
103+
{"name": "⛔ blocked", "color": "5319e7", "description": "Work is blocked"},
104+
{"name": "🔥 priority: high", "color": "b60205", "description": "High priority"},
105+
{"name": "⚡ priority: medium", "color": "d93f0b", "description": "Medium priority"},
106+
{"name": "🍃 priority: low", "color": "86a17d", "description": "Low priority"}
107+
];
108+
109+
for (const label of labels) {
110+
await github.rest.issues.createLabel({
111+
owner: context.repo.owner,
112+
repo: context.repo.repo,
113+
name: label.name,
114+
description: label.description,
115+
color: label.color
116+
});
117+
}
118+
119+
- name: 🎉 Setup Complete
120+
if: steps.check_commit.outputs.result == 'true' && steps.check_labels.outputs.result == 'false'
121+
run: |
122+
echo ""
123+
echo "============================================================"
124+
echo "✅ All custom labels have been created successfully!"
125+
echo "⚠️ You can now safely delete this workflow (.github/workflows/labels.yml)!"
126+
echo "============================================================"
127+
echo ""

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2025 Your Name
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

0 commit comments

Comments
 (0)