Skip to content

Commit 12a9c60

Browse files
committed
Enhance project structure and security features
- Updated .gitignore to include coverage directories - Expanded README.md with new security and release management features - Added coverage script to package.json - Created comprehensive labeler.yml for automatic PR labeling - Implemented release-drafter.yml for automated release notes generation - Developed labeler workflow for automatic labeling of PRs - Established release workflow for building, attesting, and deploying the application
1 parent 56cc6cc commit 12a9c60

7 files changed

Lines changed: 1041 additions & 54 deletions

File tree

.github/labeler.yml

Lines changed: 278 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,278 @@
1+
# Label definitions aligned with PixiJS game development
2+
3+
# 🚀 Features and Enhancements
4+
feature:
5+
- any:
6+
- changed-files:
7+
- any-glob-to-any-file:
8+
- "src/**/feature/**"
9+
- "src/**/feat/**"
10+
- "src/**/game/**"
11+
- title: "feat:*"
12+
- title: "feature:*"
13+
- title: "add:*"
14+
- body: "- [x] 🚀 New Feature/Enhancement"
15+
16+
enhancement:
17+
- any:
18+
- changed-files:
19+
- any-glob-to-any-file:
20+
- "src/**/enhance/**"
21+
- "src/**/improvement/**"
22+
- title: "enhance:*"
23+
- title: "improvement:*"
24+
- body: "- [x] 🚀 New Feature/Enhancement"
25+
26+
# 🐛 Bug Fixes
27+
bug:
28+
- any:
29+
- changed-files:
30+
- any-glob-to-any-file:
31+
- "src/**/fix/**"
32+
- "src/**/bug/**"
33+
- title: "fix:*"
34+
- title: "bug:*"
35+
- body: "- [x] 🐛 Bug Fix"
36+
37+
# 🎮 Game Development
38+
game-logic:
39+
- any:
40+
- changed-files:
41+
- any-glob-to-any-file:
42+
- "src/**/game/**"
43+
- "src/**/logic/**"
44+
- "src/**/mechanics/**"
45+
- title: "game:*"
46+
- title: "logic:*"
47+
- body: "- [x] 🎮 Game Logic"
48+
49+
graphics:
50+
- any:
51+
- changed-files:
52+
- any-glob-to-any-file:
53+
- "src/**/graphics/**"
54+
- "src/**/pixi/**"
55+
- "src/**/render/**"
56+
- "src/**/*pixi*"
57+
- title: "graphics:*"
58+
- title: "pixi:*"
59+
- title: "render:*"
60+
- body: "- [x] 🎨 Graphics & Rendering"
61+
62+
audio:
63+
- any:
64+
- changed-files:
65+
- any-glob-to-any-file:
66+
- "src/**/audio/**"
67+
- "src/**/sound/**"
68+
- "src/**/*howler*"
69+
- "src/assets/**/*.mp3"
70+
- "src/assets/**/*.wav"
71+
- "src/assets/**/*.ogg"
72+
- title: "audio:*"
73+
- title: "sound:*"
74+
- body: "- [x] 🔊 Audio & Sound"
75+
76+
# 🎨 UI/UX Improvements
77+
ui:
78+
- any:
79+
- changed-files:
80+
- any-glob-to-any-file:
81+
- "src/**/components/**"
82+
- "src/**/ui/**"
83+
- "src/**/*.css"
84+
- "src/**/*.scss"
85+
- "src/**/*.less"
86+
- "src/**/*.styles.*"
87+
- "src/**/theme/**"
88+
- "public/**/*.svg"
89+
- "public/**/*.png"
90+
- "public/**/*.jpg"
91+
- title: "ui:*"
92+
- title: "style:*"
93+
- title: "design:*"
94+
- body: "- [x] 🎨 UI/UX Improvements"
95+
96+
# 🏗️ Infrastructure & Performance
97+
infrastructure:
98+
- any:
99+
- changed-files:
100+
- any-glob-to-any-file:
101+
- ".github/**"
102+
- "configs/**"
103+
- "scripts/**"
104+
- "docker/**"
105+
- "**/*.json"
106+
- "**/vite.config.*"
107+
- "**/vitest.config.*"
108+
- "**/cypress.config.*"
109+
- "**/tsconfig.json"
110+
- ".env*"
111+
- title: "infra:*"
112+
- title: "ci:*"
113+
- title: "cd:*"
114+
- body: "- [x] 🏗️ Infrastructure & Performance"
115+
116+
performance:
117+
- any:
118+
- changed-files:
119+
- any-glob-to-any-file:
120+
- "src/**/perf/**"
121+
- "src/**/performance/**"
122+
- "src/**/optimize/**"
123+
- title: "perf:*"
124+
- title: "optimize:*"
125+
- body: "- [x] 🏗️ Infrastructure & Performance"
126+
127+
# 🔄 Code Quality & Refactoring
128+
refactor:
129+
- any:
130+
- changed-files:
131+
- any-glob-to-any-file:
132+
- "src/**/refactor/**"
133+
- title: "refactor:*"
134+
- body: "- [x] 🔄 Code Quality & Refactoring"
135+
136+
testing:
137+
- any:
138+
- changed-files:
139+
- any-glob-to-any-file:
140+
- "src/**/*.test.*"
141+
- "src/**/*.spec.*"
142+
- "cypress/**"
143+
- "test/**"
144+
- "__tests__/**"
145+
- "src/**/__tests__/**"
146+
- "src/**/*.cy.*"
147+
- title: "test:*"
148+
- body: "- [x] 🔄 Code Quality & Refactoring"
149+
150+
# 🔒 Security & Compliance
151+
security:
152+
- any:
153+
- changed-files:
154+
- any-glob-to-any-file:
155+
- "src/**/security/**"
156+
- "src/**/auth/**"
157+
- ".github/workflows/codeql.yml"
158+
- ".github/workflows/scorecards.yml"
159+
- "security/**"
160+
- title: "security:*"
161+
- title: "auth:*"
162+
- title: "fix-vuln:*"
163+
- body: "- [x] 🔒 Security & Compliance"
164+
165+
# 📝 Documentation
166+
documentation:
167+
- any:
168+
- changed-files:
169+
- any-glob-to-any-file:
170+
- "**/*.md"
171+
- "docs/**"
172+
- "LICENSE"
173+
- "**/*.mdx"
174+
- title: "docs:*"
175+
- title: "doc:*"
176+
- body: "- [x] 📝 Documentation"
177+
178+
# 📦 Dependencies
179+
dependencies:
180+
- any:
181+
- changed-files:
182+
- any-glob-to-any-file:
183+
- "package.json"
184+
- "package-lock.json"
185+
- "yarn.lock"
186+
- "pnpm-lock.yaml"
187+
- title: "build(deps):*"
188+
- title: "deps:*"
189+
- title: "dependency:*"
190+
- title: "dependencies:*"
191+
- body: "- [x] 📦 Dependencies Update"
192+
193+
# Component-specific labels for targeted reviews
194+
component-app:
195+
- changed-files:
196+
- any-glob-to-any-file: "src/App.tsx"
197+
198+
component-main:
199+
- changed-files:
200+
- any-glob-to-any-file: "src/main.tsx"
201+
202+
component-game:
203+
- changed-files:
204+
- any-glob-to-any-file: "src/components/Game.tsx"
205+
206+
component-ui:
207+
- changed-files:
208+
- any-glob-to-any-file: "src/components/UI/**"
209+
210+
# PixiJS-specific labels
211+
pixi-components:
212+
- changed-files:
213+
- any-glob-to-any-file:
214+
- "src/**/*pixi*"
215+
- "src/**/*Pixi*"
216+
217+
# Game assets
218+
assets:
219+
- changed-files:
220+
- any-glob-to-any-file:
221+
- "src/assets/**"
222+
- "public/**/*.png"
223+
- "public/**/*.jpg"
224+
- "public/**/*.svg"
225+
- "public/**/*.mp3"
226+
- "public/**/*.wav"
227+
- "public/**/*.ogg"
228+
229+
# Coverage-driven labels (based on current test coverage)
230+
needs-tests:
231+
- changed-files:
232+
- any-glob-to-any-file:
233+
- "src/components/**"
234+
- "src/hooks/**"
235+
236+
high-coverage:
237+
- changed-files:
238+
- any-glob-to-any-file:
239+
- "src/App.tsx"
240+
- "src/main.tsx"
241+
242+
test-coverage-impact:
243+
- any:
244+
- changed-files:
245+
- any-glob-to-any-file:
246+
- "**/*.test.{ts,tsx}"
247+
- "**/__tests__/**"
248+
249+
# Configuration files
250+
config:
251+
- changed-files:
252+
- any-glob-to-any-file:
253+
- "**/vite.config.*"
254+
- "**/vitest.config.*"
255+
- "**/cypress.config.*"
256+
- "**/eslint.config.*"
257+
- "**/tsconfig*.json"
258+
259+
# Development environment
260+
devcontainer:
261+
- changed-files:
262+
- any-glob-to-any-file:
263+
- ".devcontainer/**"
264+
- ".codespaces/**"
265+
266+
# E2E testing
267+
e2e:
268+
- changed-files:
269+
- any-glob-to-any-file:
270+
- "cypress/**"
271+
- "**/*.cy.*"
272+
273+
# Type definitions
274+
types:
275+
- changed-files:
276+
- any-glob-to-any-file:
277+
- "src/types/**"
278+
- "**/*.d.ts"

0 commit comments

Comments
 (0)