Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
117 changes: 117 additions & 0 deletions .github/ISSUE_TEMPLATE/bug.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
name: Bug
description: Something isn't working as expected.
title: "[Bug]: "
labels: ["bug", "needs triage"]
body:
- type: markdown
attributes:
value: |
Thanks for the report. Please search [existing issues](https://github.com/mcinquin/markit/issues) first.

**Security problems:** do not use this form — see [SECURITY.md](https://github.com/mcinquin/markit/blob/main/SECURITY.md).

- type: checkboxes
id: existing
attributes:
label: Existing issues
options:
- label: I have searched existing issues and this is not a duplicate
required: true

- type: textarea
id: summary
attributes:
label: Summary
description: What went wrong in one or two sentences?
placeholder: e.g. Checking a cell on the live board does not sync for other players.
validations:
required: true

- type: textarea
id: steps
attributes:
label: Steps to reproduce
description: Minimal steps someone else can follow.
placeholder: |
1. Go to …
2. Click …
3. See error …
validations:
required: true

- type: textarea
id: expected
attributes:
label: Expected behaviour
placeholder: What should have happened?
validations:
required: true

- type: textarea
id: actual
attributes:
label: Actual behaviour
description: Include error messages, status codes, or console output if relevant.
placeholder: What happened instead?
validations:
required: true

- type: dropdown
id: environment
attributes:
label: How do you run MarkIt?
options:
- Local (`npm run dev`)
- Docker Compose
- Other (describe below)
validations:
required: true

- type: input
id: version
attributes:
label: Version
description: App version from the UI / package, or Docker image tag (e.g. `1.8.46`).
placeholder: e.g. 1.8.46
validations:
required: false

- type: input
id: browser
attributes:
label: Browser / OS
description: Where you saw the bug (if UI-related).
placeholder: e.g. Firefox 133 on Linux
validations:
required: false

- type: dropdown
id: area
attributes:
label: Area (optional)
description: Closest product surface — maintainers may adjust the label.
multiple: false
options:
- Unsure
- Landing
- Dashboard
- Teams
- Boards
- Phrases
- Play
- Realtime (Socket.io)
- Admin
- Auth
- Account
- UI
- Infra (Docker / CI / Postgres)
validations:
required: false

- type: textarea
id: extras
attributes:
label: Extra context
description: Screenshots, logs, or links. Drag files into this field to attach them.
validations:
required: false
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: Security vulnerability
url: https://github.com/mcinquin/markit/security/advisories/new
about: Do not open a public issue — report privately via GitHub Security Advisories (see SECURITY.md).
- name: Documentation (Wiki)
url: https://github.com/mcinquin/markit/wiki
about: Architecture, Docker, CI, backups, and development notes.
75 changes: 75 additions & 0 deletions .github/ISSUE_TEMPLATE/enhancement.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
name: Enhancement
description: Propose a new feature or an improvement to existing behaviour.
title: "[Enhancement]: "
labels: ["enhancement", "needs triage"]
body:
- type: markdown
attributes:
value: |
Describe the need first; a concrete proposal helps, but is optional.

Check the [wiki](https://github.com/mcinquin/markit/wiki) and [existing issues](https://github.com/mcinquin/markit/issues) before opening a duplicate.

- type: checkboxes
id: existing
attributes:
label: Existing issues
options:
- label: I have searched existing issues and this is not a duplicate
required: true

- type: textarea
id: problem
attributes:
label: Problem / motivation
description: What are you trying to do, and what is painful or missing today?
placeholder: e.g. Creating a board is awkward because selecting phrases takes too many clicks…
validations:
required: true

- type: textarea
id: proposal
attributes:
label: Proposed solution
description: How would you like it to work?
placeholder: e.g. Add a “select all unused” action on the phrase picker…
validations:
required: true

- type: textarea
id: alternatives
attributes:
label: Alternatives considered
description: Other approaches you thought about (or “none”).
validations:
required: false

- type: dropdown
id: area
attributes:
label: Area (optional)
description: Closest product surface — maintainers may adjust the label.
options:
- Unsure
- Landing
- Dashboard
- Teams
- Boards
- Phrases
- Play
- Realtime (Socket.io)
- Admin
- Auth
- Account
- UI
- Infra (Docker / CI / Postgres)
validations:
required: false

- type: textarea
id: extras
attributes:
label: Extra context
description: Mockups, examples from other apps, or links. Drag files into this field to attach them.
validations:
required: false
59 changes: 59 additions & 0 deletions .github/ISSUE_TEMPLATE/question.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Question
description: Ask about usage, setup, or behaviour — not a bug or feature request.
title: "[Question]: "
labels: ["question", "needs triage"]
body:
- type: markdown
attributes:
value: |
Prefer the [wiki](https://github.com/mcinquin/markit/wiki) for architecture, Docker, CI, and backups.

**Security:** do not discuss vulnerabilities here — see [SECURITY.md](https://github.com/mcinquin/markit/blob/main/SECURITY.md).

- type: checkboxes
id: docs
attributes:
label: Documentation checked
options:
- label: I have checked the README and wiki for an answer
required: true

- type: textarea
id: question
attributes:
label: Question
description: What do you need clarified?
validations:
required: true

- type: textarea
id: context
attributes:
label: Context
description: How you run MarkIt, what you already tried, and any relevant config (no secrets).
placeholder: |
- Setup: local / Docker
- Already tried: …
validations:
required: false

- type: dropdown
id: area
attributes:
label: Area (optional)
options:
- Unsure
- Landing
- Dashboard
- Teams
- Boards
- Phrases
- Play
- Realtime (Socket.io)
- Admin
- Auth
- Account
- UI
- Infra (Docker / CI / Postgres)
validations:
required: false
121 changes: 121 additions & 0 deletions .github/labels.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
# MarkIt GitHub issue/PR labels.
# Sync with: npm run sync:labels
#
# Taxonomy (pick what applies):
# - type: bug | enhancement | documentation | question | security | performance | maintenance
# - priority: critical | high | medium | low
# - area: product surface impacted
# - triage / community: GitHub defaults + needs triage
# - bot: Dependabot / release labels (kept for tooling)

# --- Type ---
- name: bug
color: "d73a4a"
description: Something isn't working
- name: enhancement
color: "a2eeef"
description: New feature or improvement to existing behaviour
- name: documentation
color: "0075ca"
description: Improvements or additions to documentation
- name: question
color: "d876e3"
description: Further information is requested
- name: security
color: "b60205"
description: Security hardening (public only — see SECURITY.md for vulns)
- name: performance
color: "f9d0c4"
description: Performance improvement
- name: maintenance
color: "cfd3d7"
description: Refactor, tests, tooling, or non-user-facing upkeep

# --- Priority ---
- name: "priority: critical"
color: "b60205"
description: Blocks release, data loss, or security incident
- name: "priority: high"
color: "d93f0b"
description: Important — resolve in the current work cycle
- name: "priority: medium"
color: "fbca04"
description: Normal priority — schedule soon
- name: "priority: low"
color: "0e8a16"
description: Nice to have — no time pressure

# --- Area (product surfaces) ---
- name: "area: landing"
color: "1d76db"
description: Public landing / marketing page
- name: "area: dashboard"
color: "1d76db"
description: Home dashboard and team list
- name: "area: teams"
color: "1d76db"
description: Team create/join, invite codes, roles
- name: "area: boards"
color: "1d76db"
description: Bingo board creation, size, FREE cell, history
- name: "area: phrases"
color: "1d76db"
description: Phrase bank and custom phrases
- name: "area: play"
color: "1d76db"
description: Live play board, cell checks, bingo / confetti
- name: "area: realtime"
color: "1d76db"
description: Socket.io sync and live presence
- name: "area: admin"
color: "1d76db"
description: Admin users and invite codes
- name: "area: auth"
color: "1d76db"
description: Sign-in, sign-up, sessions, NextAuth
- name: "area: account"
color: "1d76db"
description: User account settings / password change
- name: "area: ui"
color: "5319e7"
description: Cross-cutting UI / UX / accessibility
- name: "area: infra"
color: "000000"
description: Docker, CI, Postgres, release, Node ops

# --- Triage / community ---
- name: "needs triage"
color: "ededed"
description: New issue awaiting type, priority, and area
- name: duplicate
color: "cfd3d7"
description: This issue or pull request already exists
- name: invalid
color: "e4e669"
description: This doesn't seem right
- name: wontfix
color: "ffffff"
description: This will not be worked on
- name: "good first issue"
color: "7057ff"
description: Good for newcomers
- name: "help wanted"
color: "008672"
description: Extra attention is needed

# --- Bot / tooling (Dependabot & releases) ---
- name: dependencies
color: "0366d6"
description: Pull requests that update a dependency file
- name: github-actions
color: "000000"
description: Pull requests that update GitHub Actions code
- name: javascript
color: "168700"
description: Pull requests that update javascript code
- name: docker
color: "21ceff"
description: Pull requests that update docker code
- name: released
color: "ededed"
description: Included in a published release
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
"db:migrate": "prisma migrate dev",
"db:migrate:deploy": "prisma migrate deploy",
"db:studio": "prisma studio",
"sync:labels": "node scripts/sync-github-labels.mjs",
"prepare": "husky",
"release": "semantic-release"
},
Expand Down
Loading
Loading