lms-front CLAUDE.md

lms-front CLAUDE.md is an instructions file for coding agents from guillermoscript/lms-front. It costs 5,796 tokens per session, scanned A, original, MIT.

Repository instructions for a multi-school learning platform built with Next.js, React, Supabase, TypeScript, and Stripe, including its architecture and commands.

In plain words
What is it for?
Use them when developing the LMS, working with its PostgreSQL database, testing with Vitest or Playwright, or maintaining school-specific data access.
Why use it?
They tell a coding agent how this specific project is organized and how to run tests, builds, database changes, and type generation.

Instructions file

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/guillermoscript/lms-front/claude-md
Clone the repo
git clone --depth 1 https://github.com/guillermoscript/lms-front

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for lms-front CLAUDE.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/guillermoscript/lms-front/claude-md.svg)](https://agentmods.dev/instructions/guillermoscript/lms-front/claude-md)
Your own site
<a href="https://agentmods.dev/instructions/guillermoscript/lms-front/claude-md"><img src="https://agentmods.dev/badge/instructions/guillermoscript/lms-front/claude-md.svg" alt="Measured on agentmods" height="20"></a>
Per session 5,796 This file is loaded in full into every session.
When invoked 5,796 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.05796 $0.05796
Opus 5 $0.02898 $0.02898
Sonnet 5 $0.01159 $0.01159
Haiku 4.5 $0.00580 $0.00580

Measured yesterday against content hash dc941911e1a4, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

lms-front CLAUDE.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

CLAUDE.md · 233 lines

How it starts

The opening of the file, as written. The whole thing — 233 lines — stays where its author put it; the contents beside it link to each section on GitHub.

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Project Overview

Multi-tenant SaaS LMS built with Next.js 16 (App Router, React 19) and Supabase. Schools operate as independent tenants on subdomains (school-slug.platform.com). The platform uses RLS for data security — database queries go directly from components, not through server actions.

Stack: Next.js 16.1.5 · Supabase (PostgreSQL 15, Auth, Storage) · Shadcn UI (base-mira) · Tailwind CSS v4 · TypeScript strict · Stripe Connect · next-intl (en/es)

Commands

npm run dev              # Dev server at http://localhost:3000
npm run build            # Production build (TypeScript + lint check)
npm run lint             # ESLint
npm run typecheck        # tsc --noEmit
npm run test:unit        # Vitest unit tests
npx vitest run -t "name" # Single unit test

supabase db push                # Apply local migrations to cloud
supabase migration new <name>   # Create migration file
npm run db:reset                # Reset local DB (migrations + seed)
npm run db:types                # Regenerate lib/database.types.ts from linked project

npx playwright test              # Run all E2E tests
npx playwright test --ui         # Interactive test runner
npx playwright test -g "name"    # Run single test

/web-design-guidelines <path> skill audits UI for accessibility + best practices.

Branches: <type>/<slug>-<issueNumber> (e.g. fix/binance-settings-category-479).

Architecture

Multi-Tenancy

Every request goes through proxy.ts (the single middleware file — not middleware.ts), which:

  1. Extracts tenant slug from subdomain (school.lmsplatform.com"school")
  2. Resolves tenant ID from tenants table
  3. Injects x-tenant-id header into the response
  4. Checks tenant_users membership; redirects non-members to /join-school
  5. Enforces role-based route guards (/dashboard/student, /dashboard/teacher, /dashboard/admin)

Read the full file on GitHub · 233 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 233 lines · 5,796 tokens per session scan A dc941911e1a4

Subscribe to this mod's changes

lms-front CLAUDE.md is an instructions file published in the GitHub repository guillermoscript/lms-front (25 stars, last pushed 2d ago), licensed MIT. It adds 5,796 tokens to every session, about $0.0290 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.