Copy pack
Build from the verified source Master Prompt and Build Contract for the school operations starter. Preserve roles, permissions, attendance, updates, and the no-compliance boundary.
Master Prompt Build Contract
Master Prompt
Copy Master Prompt# Master Build Prompt: ClassNest School
Build ClassNest School as a small-school or tutoring-center operations starter. The starter should feel like opening the actual school app: a role-scoped class board for Admin, Teacher, and Parent/student users, class cards, roster visibility, a class-pulse visual overview, attendance marking, class updates, permission-denied feedback, and placeholder school records that never imply production readiness.
Product purpose:
- Help a small school or tutoring center manage classes, rosters, daily attendance, assignments, and announcements.
- Keep v1 focused on one operational loop: choose a role, choose a class, mark or view attendance, post or read updates, and respect permissions.
- Make role and data boundaries visible because school data is sensitive.
Required facts to preserve:
- ClassNest is a small-school or tutoring-center management app.
- Roles are Admin, Teacher, and Parent/student.
- Admin can manage classes and rosters.
- Teacher can mark attendance and post assignments or announcements.
- Parent/student can view class updates and one learner's status, but cannot edit records.
- The main class view includes a placeholder class-pulse panel with compact metric tiles, 7d/30d/Term range buttons, and a heatmap-style activity grid.
- Class roster, attendance, assignments, announcements, saved/error/permission states, and placeholder records are in scope.
- The app must not claim FERPA, GDPR, COPPA, legal compliance, full SIS replacement, or readiness for real student data.
UI style and color tokens:
- Overall surface: quiet school-operations board, not a marketing page, LMS marketplace, analytics dashboard, or full SIS.
- Page background #F8FAF4, app surface #FEFFF8, primary green #2E4C2F, warm notice gold #D89822, border #DDE4C8, ink #172016.
- Use 8px cards, compact role buttons, clear roster rows, pill-shaped attendance states, compact metric tiles, heatmap cells, and lucide-style icons for class, roster, attendance, announcements, lock, reset, and copy actions.
- Keep the app dense enough for repeated school-office use, with clear labels and no decorative classroom scenery around the product.
Required layout:
- Open with the ClassNest product preview first, not a Build Companion walkthrough.
- Use a full-width school operations shell with a compact top bar, role controls, class rail, main roster/attendance table, and right-side class update panel.
- Top bar: ClassNest identity, role switch for Admin / Teacher / Parent/student, and Reset.
- Class rail: visible class cards change by role. Admin sees all demo classes, Teacher sees assigned demo classes, Parent/student sees only the relevant learner's class.
- Main panel: current class summary, marked/late-absent/save chips, class-pulse graph panel, horizontally scrollable learner roster table, attendance status buttons, Save attendance, and permission feedback.
- Class-pulse graph panel: compact metric tiles for learners, marked/unmarked, updates, late/absent, family scope, save state, and data mode; 7d/30d/Term range buttons; and a heatmap-style placeholder activity grid labeled as demo activity, not real analytics.
- Learner roster: keep learner, guardian, note, and attendance columns readable. If the viewport is narrow, the learner roster must scroll horizontally instead of cropping off columns.
- Right panel: class update text area, Post class update, family-visible updates list, and either a parent read-only card or a scope-boundary card.
- Copy rail: visible tabs only for Master Prompt and Build Contract. Do not show Step Guide, repo bundle, QA/Fix walkthrough, dashboard metrics, or extra product modes on the migrated route.
Interaction rules:
- Switching role changes visible class cards, selected class, permissions, helper copy, and row scope.
- Admin can add a clearly labeled placeholder learner to the selected roster.
- Teacher can click attendance pills to cycle Not marked, Present, Late, Absent, and Excused.
- Save attendance works only for Teacher and changes the save chip to Saved.
- The class-pulse range buttons change the visible window label and heatmap density.
- Admin and Teacher can post a class update only after writing text.
- Parent/student can press a locked edit action and must receive a permission-denied message instead of silently editing records.
- Parent/student can see only one learner's status and class updates, not the whole roster.
- Reset restores role, selected class, attendance, roster placeholders, updates, and permission messages.
State model:
- Roles: Admin, Teacher, Parent/student.
- Class states: selected class, empty or populated roster, assigned class scope.
- Attendance states: Not marked, Present, Late, Absent, Excused, Draft, Saved.
- Pulse states: 7d, 30d, Term, plus placeholder heatmap intensity cells.
- Update states: empty text validation, posted update, read-only parent view.
- Permission states: locked attendance, locked roster edit, locked class update for Parent/student.
Demo data shape:
- Use placeholder classes such as Math Studio A, Reading Lab, and Science Prep.
- Use placeholder learners with first names, grade labels, guardian names, and short non-sensitive notes.
- Use placeholder assignments and announcements. Label the demo clearly as placeholder school data.
- Do not include real students, real school identifiers, medical data, disciplinary records, legal documents, or production authentication claims.
Acceptance criteria:
- The route opens as a product-like ClassNest preview with no Build Companion walkthrough.
- Master Prompt and Build Contract are the only visible copy tabs.
- Role switching changes class scope, row visibility, permissions, and visible helper copy.
- The class-pulse panel shows metric tiles, range buttons, and a heatmap-style placeholder activity grid without making real analytics claims.
- The learner roster scrolls horizontally on narrow widths instead of cropping learner, guardian, note, or attendance columns.
- Admin can add a placeholder learner.
- Teacher can change attendance status and save attendance.
- Parent/student sees only one learner's class data and receives permission-denied feedback for edit attempts.
- Class updates validate empty text and then appear in the update list when posted.
- Preview and copy both preserve small-school scope, roles, rosters, attendance, assignments, announcements, states, placeholder records, and non-goals.
Non-goals:
- No FERPA, GDPR, COPPA, legal, privacy, security, or compliance certification claims.
- No full SIS replacement, transcript system, gradebook suite, admissions, enrollment, LMS marketplace, or district-scale admin platform.
- No medical records, health notes, IEP/special education workflow, disciplinary case management, emergency contact management, or legal document storage.
- No payments, tuition billing, payroll, payroll export, accounting sync, checkout, Stripe, or subscriptions.
- No real student-data readiness claims, production authentication claims, automated messaging to families, broad data import, or fake proof that real students were managed.