- Introduction
- Pitch
- Hogwarts
- Live Demo
- MVP
- Roadmap
- Launch Sprint
- PRD
- Get Started
- Localhost
- Architecture
- Structure
- Pattern
- Page
- Layout
- Content
- Types
- Config
- Actions
- Queries
- Authorization
- Validation
- Form
- Table
- Detail
- Card
- Util
- Hooks
- List Params
- Views
- README.md
- ISSUE.md
- Technology Stack
- Database
- File
- CDN Assets
- Entry Points
- Dashboard
- Authentication
- Credentials
- OAuth
- Flow Diagrams
- Multi-Tenancy
- Offline
- Onboarding
- Onboarding Videos
- Add Values
- Admission
- Application
- Attendance
- Compliance
- Profile
- Exams
- Exam Wizard
- Timetable
- Classrooms
- Notifications
- Conference
- LMS (Lumos)
- Finance
- Fee Management
- Invoice
- Wallet
- Salary
- Payroll
- Timesheet
- Expenses
- Budget
- Receipt
- Accounts
- Banking
- Reports
- Dashboard
- Permissions
- Messages
- Integration Flow
- Provision
- AI Document Processing
- Document Intelligence
- Internationalization
- Translation
- Translation Guide
- Icons
- Docs Factory
- Inspiration
- Listings
- Teachers
- Students
- Catalog
- Library
- Contributing
- Code of conduct
- GitHub Workflow
- Database Seeds
- Database Safety
- Test Accounts
- Playwright
- Prettier
- Block Rebound
Thanks for your interest. Read this once before opening a PR; check open issues to avoid duplicate work. Need help? Discord.
Setup
| Step | Doc |
|---|---|
| Fast path | Get started |
| Detailed walkthrough | Localhost |
| Tooling versions | Stack |
Structure
src/— Source code directoryapp/— Next.js App Router[lang]/— Internationalized routes(saas-saas-marketing)/— Entry point 01: SaaS saas-marketing(saas-dashboard)/— Entry point 02: SaaS dashboard(auth)/— Authentication pagesonboarding/— User onboarding flows/— Multi-tenant routing[subdomain]/— Tenant-specific routes(school-dashboard)/— Entry point 04: School dashboard(school-saas-marketing)/— Entry point 03: School saas-marketinglayout.tsx— Root layout componentcomponents/— React componentsui/— shadcn/ui componentsatom/— Complex components (2+ shadcn combined)template/— Full sections (header, hero, footer)auth/— Authentication componentsonboarding/— Onboarding flow componentssaas-marketing/— Entry point 01: SaaS saas-marketingsaas-dashboard/— Entry point 02: SaaS dashboardschool-marketing/— Entry point 03: School saas-marketingschool-dashboard/— Entry point 04: School dashboardBranches and commits
Branch names use a feat/ prefix (not feature/) — see GitHub workflow for the full table and the canonical commit-format reference.
Quick form:
feat(scope): short description
fix(scope): short description
docs(scope): short description
Database safety (CLAUDE.md rule #8)
Always use pnpm db:seed:single <name>. Never run pnpm db:seed — it is auto-blocked by a pre-tool hook because the full seed takes 45–120 minutes and re-runs every module sequentially. Use single-module seeding for everything except a manual full reset. See seeds and safe seeds.
Testing
pnpm testPRs must pass tests. New features should include tests. End-to-end work uses the Playwright MCP browser-headed flow as primary; the CLI runner is a CI-only fallback.
Your first PR
Aim for under 15 minutes from clone to PR.
git checkout -b docs/first-pr
pnpm install
pnpm devPick a tiny task — fix a typo, clarify a sentence, add a missing command. Make the edit. If UI changed, screenshot LTR + RTL.
pnpm build
git add -A
git commit -m "docs: clarify get-started step"
git push origin HEADOpen a PR with a short specific title and a short description of why this helps. Link related issues. Welcome aboard.
New components
Open a discussion on GitHub before building. We'll point you at existing patterns.
Who can contribute
Roles are fluid and opt-in:
- Maintainers — keep repos healthy, review PRs.
- Contributors — build features, fix bugs, improve docs.
- Coordinators — triage issues, curate the roadmap.
Hogwarts is open source; the broader compensation and revenue-sharing model lives in Shared economy. The community standards live in the Code of conduct.
Principles
- No deadlines; consistent contributions.
- Transparency — public backlog, priorities, changelog.
- Fairness — reward sustained impact, maintenance, reliability.
- Inclusion — Arabic + English, accessible UI, offline-tolerant mindset.
- Async-first — issues, PRs, and docs carry context.
- Bias for shipping small steps.