11# Game Template
22
3- A clean, minimal template for building games with React, TypeScript, and Vite.
3+ A clean, minimal template for building games with React, TypeScript, and Vite - built with ** security-first principles** .
4+
5+ ## 🔒 Security Features
6+
7+ This template implements comprehensive security measures:
8+
9+ - ** 🛡️ Supply Chain Security** - OSSF Scorecard analysis and dependency review
10+ - ** 🔍 Static Analysis** - CodeQL scanning for vulnerabilities
11+ - ** 📦 Dependency Protection** - Automated dependency vulnerability checks
12+ - ** 🔐 Runner Hardening** - All CI/CD runners are hardened with audit logging
13+ - ** 📋 Security Policies** - GitHub security advisories and vulnerability reporting
14+ - ** 🏷️ Pinned Dependencies** - All GitHub Actions pinned to specific SHA hashes
415
516## Features
617
@@ -12,6 +23,41 @@ A clean, minimal template for building games with React, TypeScript, and Vite.
1223- 📦 ** ESLint** - Code linting with TypeScript rules
1324- 🔄 ** GitHub Actions** - Automated testing and reporting
1425
26+ ## Security Workflows
27+
28+ ``` mermaid
29+ graph TD
30+ A[🔒 Code Push/PR] --> B{🛡️ Security Gates}
31+
32+ B --> |🔍 Code Analysis| C[CodeQL Scanning]
33+ B --> |📦 Dependencies| D[Dependency Review]
34+ B --> |🏗️ Supply Chain| E[OSSF Scorecard]
35+
36+ C --> |🚨 Vulnerabilities| F[Security Alerts]
37+ D --> |⚠️ Known CVEs| F
38+ E --> |📊 Security Score| G[Security Dashboard]
39+
40+ F --> H[🚫 Block Merge]
41+ G --> I[✅ Security Badge]
42+
43+ subgraph "🔐 Protection Layers"
44+ J[Runner Hardening]
45+ K[Pinned Actions]
46+ L[Audit Logging]
47+ end
48+
49+ %% Styling
50+ classDef security fill:#ffebee,stroke:#c62828,stroke-width:2px,color:#000
51+ classDef analysis fill:#e8f5e8,stroke:#2e7d32,stroke-width:2px,color:#000
52+ classDef protection fill:#e3f2fd,stroke:#1565c0,stroke-width:2px,color:#000
53+ classDef alert fill:#fff3e0,stroke:#ef6c00,stroke-width:2px,color:#000
54+
55+ class A,B,H security
56+ class C,D,E analysis
57+ class J,K,L protection
58+ class F,G,I alert
59+ ```
60+
1561## Test & Report Workflow
1662
1763``` mermaid
@@ -63,7 +109,7 @@ npm run build
63109npm run test
64110
65111# Run E2E tests
66- npm run test:e2e
112+ npm run test:e2e:open
67113```
68114
69115## Testing
@@ -93,6 +139,13 @@ flowchart LR
93139 A4 --> A5[📊 Report]
94140 end
95141
142+ subgraph "🔒 Security Pipeline"
143+ S1[🛡️ CodeQL Analysis]
144+ S2[📦 Dependency Review]
145+ S3[🏆 OSSF Scorecard]
146+ S4[🔐 Runner Hardening]
147+ end
148+
96149 subgraph "📈 Test Coverage"
97150 B1[Unit Tests<br/>80%+ Coverage]
98151 B2[E2E Tests<br/>Critical Flows]
@@ -104,34 +157,44 @@ flowchart LR
104157 C2[🎬 Test Videos]
105158 C3[📸 Screenshots]
106159 C4[📋 JUnit XML]
160+ C5[🛡️ Security Reports]
107161 end
108162
109163 A4 --> B1
110164 A4 --> B2
111165 A4 --> B3
112166
167+ A1 --> S1
168+ A1 --> S2
169+ A1 --> S3
170+ A1 --> S4
171+
113172 A5 --> C1
114173 A5 --> C2
115174 A5 --> C3
116175 A5 --> C4
176+ S1 --> C5
177+ S2 --> C5
178+ S3 --> C5
117179
118180 %% Styling
119181 classDef pipeline fill:#e3f2fd,stroke:#1565c0,stroke-width:2px
182+ classDef security fill:#ffebee,stroke:#c62828,stroke-width:2px
120183 classDef testing fill:#e8f5e8,stroke:#2e7d32,stroke-width:2px
121184 classDef output fill:#fff8e1,stroke:#f57c00,stroke-width:2px
122185
123186 class A1,A2,A3,A4,A5 pipeline
187+ class S1,S2,S3,S4 security
124188 class B1,B2,B3 testing
125- class C1,C2,C3,C4 output
189+ class C1,C2,C3,C4,C5 output
126190```
127191
128- ### GitHub Actions Workflow
192+ ### Security Workflows
129193
130- - ** Prepare** : Sets up Node.js, caches dependencies, verifies Cypress
131- - ** Build Validation** : Ensures code compiles and builds successfully
132- - ** Unit Tests** : Runs Vitest with coverage reporting (80%+ threshold)
133- - ** E2E Tests** : Executes Cypress tests with video/screenshot capture
134- - ** Report** : Combines all artifacts and generates unified test reports
194+ - ** CodeQL Analysis** : Automated vulnerability scanning on push/PR
195+ - ** Dependency Review** : Checks for known vulnerabilities in dependencies
196+ - ** OSSF Scorecard** : Supply chain security assessment with public scoring
197+ - ** Runner Hardening** : All CI/CD runners use hardened security policies
135198
136199## Project Structure
137200
@@ -148,7 +211,12 @@ cypress/
148211└── support/ # Cypress support files
149212
150213.github/
151- └── workflows/ # GitHub Actions workflows
214+ ├── workflows/ # GitHub Actions workflows
215+ │ ├── test-and-report.yml # Main CI/CD pipeline
216+ │ ├── codeql.yml # Security code analysis
217+ │ ├── dependency-review.yml # Dependency vulnerability checks
218+ │ └── scorecards.yml # Supply chain security assessment
219+ └── SECURITY.md # Security policy and reporting
152220```
153221
154222## Development Guidelines
@@ -157,16 +225,29 @@ cypress/
157225- ** Test Coverage** - Aim for 80%+ coverage
158226- ** Component Testing** - Test critical user flows
159227- ** Type Safety** - Avoid ` any ` , use explicit types
228+ - ** Security First** - All dependencies reviewed for vulnerabilities
229+ - ** Pinned Actions** - GitHub Actions pinned to specific SHA hashes
230+
231+ ## Security Policy
232+
233+ This project follows responsible disclosure practices:
234+
235+ - ** Vulnerability Reporting** : Use GitHub Security Advisories
236+ - ** Response Time** : Critical issues addressed within 24-48 hours
237+ - ** Dependencies** : Automatically monitored for known vulnerabilities
238+ - ** Supply Chain** : OSSF Scorecard provides transparency on security practices
160239
161240## Building Your Game
162241
163- This template provides a solid foundation for game development:
242+ This template provides a ** secure foundation** for game development:
164243
1652441 . Replace the counter example with your game logic
1662452 . Add game-specific components in ` src/components/ `
1672463 . Create game state management (Context API, Zustand, etc.)
1682474 . Add unit tests for game logic
1692485 . Create E2E tests for game flows
170- 6 . Deploy using the included GitHub Actions
249+ 6 . Deploy using the included ** security-hardened** GitHub Actions
250+
251+ All security workflows will automatically protect your game from common vulnerabilities and supply chain attacks.
171252
172- Happy gaming! 🎮
253+ Happy gaming! 🎮🔒
0 commit comments