docs: add dev setup guide and make package scripts cross-platform (Windows) (#664)

* chore: update README with environment setup instructions and demo account credentials

fix: replace rm -rf with rimraf in build scripts for cross-platform compatibility

fix: add shell option to pnpm command in db-setup script for Windows compatibility

chore: update package.json files to use rimraf instead of rm -rf for consistency

chore: add rimraf dependency to pnpm-lock.yaml

feat: add postinstall script to install lefthook git hooks in a cross-platform manner

* docs(qa): add QA test plan, flow checklists, and bug-report workflow

Add a repo-native QA execution layer on top of FEATURE_AUDIT.md (the
feature map). Test cases live in the repo; bugs live in GitHub Issues, so
there is no duplicate tracker to keep in sync.

QA system:
- FEATURE_AUDIT.md: the feature map - every feature, its user flow, and
  edge cases with file:line citations.
- qa/README.md: the workflow, severity/difficulty rubrics, label setup,
  and a static feature -> flow coverage map proving all 42 audited
  features have a test plan.
- qa/flows/01..13: per-flow happy-path checklists covering signup &
  onboarding, course authoring, people/invites/roles, student ->
  certificate, AI assistant & tutor, programs/attendance, community,
  org public site, media & import, org settings, public API/MCP,
  enterprise SSO/licensing, and billing & AI credits.
- .github/ISSUE_TEMPLATE/qa-bug.yml: a QA Bug template requiring
  severity, difficulty, area, repro steps, and a screen recording.

Dev tooling:
- package.json: add db:studio and docker:build scripts.
- packages/db: add db:studio (drizzle-kit studio); fix db:reset on
  Windows by spawning the pnpm.cmd shim with shell:true (Node's
  CVE-2024-27980 fix blocks spawning .cmd/.bat without a shell).

* chore: update QA bug template and README for clarity and improved workflow

* docs: enhance DEV_SETUP_NOTES and README for clarity on prerequisites and email setup
chore: update package.json scripts for cross-platform compatibility
feat: add cross-platform Prettier check script for pre-commit hook

* Remove QA documentation and flow files for ClassroomIO

- Deleted the entire QA README.md file which contained the QA process, bug filing guidelines, and feature coverage map.
- Removed all flow files (01 to 13) that detailed the QA testing processes for various features including admin signup, course authoring, people management, student learning, AI assistant, programs, community, org public site, media management, org settings, public API, enterprise SSO, billing, and AI credits.

* fix: update postinstall script
This commit is contained in:
Abdulmuizz Hamzat
2026-06-15 17:40:06 +01:00
committed by GitHub
parent 38d912a0b1
commit 5e2dcf71f4
22 changed files with 1044 additions and 148 deletions
+93 -30
View File
@@ -1,48 +1,111 @@
name: 'Bug Report'
description: Report something that is broken or behaving unexpectedly.
title: '[area] '
labels: ['bug']
description: Create a bug report to help us improve
body:
- type: markdown
attributes:
value: Thank you for reporting an issue.
Please fill in as much of the form below as you're able to.
- type: textarea
value: |
Thanks for taking the time to report a bug — anyone is welcome to file one.
Please fill in as much as you can; a short **screen recording** is the single
most helpful thing you can add.
- type: dropdown
id: severity
attributes:
label: Issue Description
description: Please provide a clear and concise description of the problem.
- type: textarea
label: Severity
description: How bad is it? (drives fix order — S0 first)
options:
- S0 — Blocker (flow impossible / data loss / security / crash / payments broken)
- S1 — Major (core feature broken, no reasonable workaround)
- S2 — Minor (works but wrong/confusing; workaround exists)
- S3 — Polish (cosmetic / copy / layout / edge-only)
validations:
required: true
- type: dropdown
id: area
attributes:
label: Steps to Reproduce
description: Please provide step-by-step instructions to reproduce the issue. Include code snippets, error messages, and any other relevant information.
- type: textarea
label: Area
options:
- backend / API (Api not behaving as expected, e.g. wrong response, error when it should succeed, etc.)
- auth
- signup / onboarding
- organizations / settings
- people / invites / roles
- courses
- lessons
- exercises / grading
- compliance / certificates
- programs / attendance
- community / newsfeed
- media / import
- org public site / website
- tags / domains / widgets
- public API / MCP / automation
- SSO / token auth / licensing
- billing / AI credits
- AI assistant / tutor
- email / jobs / analytics
- other
validations:
required: true
- type: dropdown
id: environment
attributes:
label: Expected Behavior
description: Describe what you expected to happen.
label: Environment
options:
- Local (pnpm dev)
- Staging (Coolify)
- Production (cloud)
- Self-hosted
validations:
required: true
- type: textarea
id: steps
attributes:
label: Current Behavior
description: Describe what is currently happening.
label: Steps to reproduce
description: Numbered, from a known starting state.
placeholder: |
1. Log in as admin ([email protected])
2. Courses → New course
3. ...
validations:
required: true
- type: textarea
id: expected
attributes:
label: Screenshots (optional)
description: If applicable, add screenshots to help explain the issue.
label: Expected behavior
validations:
required: true
- type: textarea
id: actual
attributes:
label: Actual behavior
description: Include console/network errors if any.
validations:
required: true
- type: textarea
id: video
attributes:
label: Screen recording (recommended)
description: If you can, drag-and-drop a short video reproducing the bug — it speeds up triage a lot.
- type: input
id: sentry
attributes:
label: Operating System [e.g., Windows 10]
- type: input
label: Sentry link (if applicable)
description: Paste the Sentry issue URL if this maps to a captured error.
- type: dropdown
id: mode-specific
attributes:
label: Browser [e.g., Chrome, Firefox]
- type: input
attributes:
label: Environment (locally, production, selfhosted)
description: If applicable, describe the environment in which the issue occurs.
label: Mode-specific?
description: Does this only happen in one deployment mode? (PUBLIC_IS_SELFHOSTED divergence)
options:
- 'No — happens in both / not mode-related'
- 'Cloud only'
- 'Self-hosted only'
- 'Not yet verified in the other mode'
- type: checkboxes
attributes:
label: Please check the boxes that apply to this issue report.
label: Before filing
options:
- label: I have searched the existing issues to make sure this is not a duplicate.
- label: I have provided steps to reproduce the issue.
- label: I have included relevant environment information.
- label: I have included any relevant screenshots.
- label: I understand that this is a voluntary contribution and that there is no guarantee of resolution.
- label: I want to work on creating a PR for this issue if approved
- label: I searched existing issues and this is not a duplicate.
- label: I attached a screen recording (if I was able to).