Skip to content
22 changes: 22 additions & 0 deletions .github/ISSUE_TEMPLATE/bug.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Bug Report
description: Track a bug or error in code
labels: [type:bug, status:blocked]
body:
- type: input
id: bug
attributes:
label: Short Description
placeholder: e.g. Todo items not saving to localStorage
- type: textarea
id: steps
attributes:
label: Steps to Reproduce
placeholder: List what you did to cause the issue
- type: textarea
id: expected
attributes:
label: Expected Behaviour
- type: textarea
id: actual
attributes:
label: Actual Behaviour / Error Message
18 changes: 18 additions & 0 deletions .github/ISSUE_TEMPLATE/exercise.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Exercise / Practice
description: Track a small coding task or practice drill
labels: [type:exercise, status:todo]
body:
- type: input
id: title
attributes:
label: Exercise Title
placeholder: e.g. Flexbox Practice Layout
- type: textarea
id: instructions
attributes:
label: Instructions / Challenge Description
- type: textarea
id: goals
attributes:
label: What You’re Practising
placeholder: e.g. Flexbox alignment and spacing
14 changes: 14 additions & 0 deletions .github/ISSUE_TEMPLATE/idea.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: Feature / Repo Idea
description: Brainstorm ideas for repo improvement
labels: [meta:ideas]
body:
- type: input
id: idea
attributes:
label: Idea Title
placeholder: e.g. Add GitHub Action to auto-close completed issues
- type: textarea
id: details
attributes:
label: Notes
placeholder: How it could work or benefit learning
22 changes: 22 additions & 0 deletions .github/ISSUE_TEMPLATE/improvement.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Improvement / Refactor
description: Suggest or log a planned improvement
labels: [type:improvement]
body:
- type: input
id: area
attributes:
label: What needs improving?
placeholder: e.g. Update README structure
- type: textarea
id: details
attributes:
label: Details
placeholder: Why or how it could be improved?
- type: dropdown
id: urgency
attributes:
label: Priority
options:
- Low
- Medium
- High
28 changes: 28 additions & 0 deletions .github/ISSUE_TEMPLATE/mini-project.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Mini Project
description: Plan and track a project
labels: [type:project, status:todo]
body:
- type: input
id: project-name
attributes:
label: Project Name
placeholder: e.g. Weather App
- type: textarea
id: goals
attributes:
label: Project Goals
placeholder: |
- Use Fetch API
- Show weather data
- type: textarea
id: tasks
attributes:
label: Task List
placeholder: |
- [ ] Setup HTML/CSS
- [ ] Fetch weather from OpenWeather API
- type: textarea
id: stack
attributes:
label: Tools/Tech Used
placeholder: e.g. HTML, JS, Fetch, Bootstrap
18 changes: 18 additions & 0 deletions .github/ISSUE_TEMPLATE/question.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Question / Confusion
description: Log a concept you're struggling with
labels: [type:question, status:blocked]
body:
- type: input
id: question
attributes:
label: What’s confusing?
placeholder: e.g. How does closure scope persist?
- type: textarea
id: context
attributes:
label: Describe the context or where you got stuck
- type: textarea
id: next-steps
attributes:
label: What will you do next?
placeholder: Try again? Ask someone? Look for examples?
21 changes: 21 additions & 0 deletions .github/ISSUE_TEMPLATE/reflection.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Weekly Reflection
description: Summarise your learning and blockers for the week
labels: [type:reflection]
body:
- type: input
id: week
attributes:
label: Week
placeholder: Week 1, 2, etc.
- type: textarea
id: learned
attributes:
label: ✅ What did you learn this week?
- type: textarea
id: struggled
attributes:
label: 🧱 What did you struggle with?
- type: textarea
id: next
attributes:
label: 🔜 What’s next?
14 changes: 14 additions & 0 deletions .github/ISSUE_TEMPLATE/resource.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: Resource to Review
description: Track an article, video, or doc you want to review
labels: [type:resource, status:todo]
body:
- type: input
id: resource
attributes:
label: Link
placeholder: https://...
- type: textarea
id: notes
attributes:
label: Why save this?
placeholder: e.g. Looks like a good deep dive into React Router
20 changes: 20 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# 🚀 Pull Request: [Title of Your Work]

## ✅ Summary

Brief explanation of what this PR does.

## 📋 Checklist

- [ ] Code compiles
- [ ] All todos marked
- [ ] README / Notes updated
- [ ] Related Issue: #[issue number]

## 📎 Related Topics
`topic:js`, `type:project`, `level:intermediate`

## 📸 Screenshots (if UI-related)

_Add before/after screenshots here_

169 changes: 169 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,169 @@
# ===========================
# 🔖 Topic Labels
# ===========================

topic:html:
- '*contains:html'
- '01-NOTES/HTML.md'
- '**/*.html'

topic:css:
- '*contains:css'
- '01-NOTES/CSS.md'
- '**/*.css'

topic:js:
- '*contains:javascript'
- '*contains:js'
- '**/*.js'
- '01-NOTES/JavaScript/**'

topic:dom:
- '*contains:dom'
- '*contains:eventlistener'
- '*contains:document.querySelector'

topic:fetch:
- '*contains:fetch'
- '*contains:api'
- '*contains:async'
- '**/fetch*/**'

topic:terminal:
- '*contains:terminal'
- '*contains:cli'
- '*contains:shell'
- '**/*.sh'

topic:node:
- '*contains:node.js'
- '*contains:express'
- '**/*.mjs'
- '01-NOTES/NodeJS/**'

topic:db:
- '*contains:mongodb'
- '*contains:mongoose'
- '*contains:sql'
- '**/*.db'
- '**/*.sql'

topic:react:
- '*contains:react'
- '**/*.jsx'
- '**/*.tsx'
- '01-NOTES/ReactJS/**'

topic:ts:
- '*contains:typescript'
- '**/*.ts'
- '**/*.tsx'

topic:networking:
- '*contains:http'
- '*contains:dns'
- '*contains:request'

topic:cloud:
- '*contains:vercel'
- '*contains:deploy'
- '*contains:ci/cd'

topic:security:
- '*contains:xss'
- '*contains:csrf'
- '*contains:auth'
- '*contains:jwt'

topic:ssr:
- '*contains:ssr'
- '*contains:next.js'
- '**/ssr*/**'

# ===========================
# 📋 Type Labels
# ===========================

type:learning:
- '*contains:learn'
- '*contains:study'
- '*contains:understand'

type:exercise:
- '*contains:exercise'
- '*contains:practice'
- '*contains:challenge'

type:project:
- '*contains:project'
- '*contains:build'
- '03-PROJECTS/**'

type:reflection:
- '*contains:reflection'
- '05-REFLECTIONS/**'

type:resource:
- '*contains:resource'
- '*contains:article'
- '*contains:read'

type:bug:
- '*contains:bug'
- '*contains:error'
- '*contains:crash'
- '*contains:stacktrace'

type:question:
- '*contains:question'
- '*contains:why'
- '*contains:how do'

type:improvement:
- '*contains:refactor'
- '*contains:improve'
- '*contains:cleanup'

# ===========================
# 🎯 Level Labels
# ===========================

level:beginner:
- '*contains:beginner'
- '*contains:easy'

level:intermediate:
- '*contains:intermediate'
- '*contains:moderate'

level:advanced:
- '*contains:advanced'
- '*contains:hard'
- '*contains:complex'

# ===========================
# 🚦 Status Labels
# ===========================

status:todo:
- '*contains:todo'
- '*contains:to do'
- '*contains:plan to'

status:in-progress:
- '*contains:in progress'
- '*contains:working on'

status:done:
- '*contains:done'
- '*contains:complete'

status:blocked:
- '*contains:blocked'
- '*contains:stuck'
- '*contains:can’t continue'

status:revisit:
- '*contains:revisit'
- '*contains:review later'
- '*contains:try again'
16 changes: 16 additions & 0 deletions .github/workflows/auto-label.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# .github/workflows/auto-label.yml
name: Auto Label on Issues and PRs

on:
issues:
types: [opened, edited]
pull_request:
types: [opened, edited]

jobs:
label:
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v4
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
21 changes: 21 additions & 0 deletions .github/workflows/prettier.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# .github/workflows/prettier.yml
name: Prettify Code

on:
push:
paths:
- '**.js'
- '**.ts'
- '**.json'
- '**.html'
- '**.css'

jobs:
format:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run Prettier
run: |
npm install
npx prettier --write .
Loading