nusmods
AGENTS.md690 starsChanged 6 years agoMITView on GitHub
NUSMods is the timetable builder and course catalogue for NUS. It's a pnpm monorepo (Node 22, pnpm 10.30.3). Read the AGENTS.md for the folder you're changing before you start.
Files
AGENTS.md
NUSMods is the timetable builder and course catalogue for NUS. It's a pnpm monorepo (Node 22, pnpm 10.30.3). Read the AGENTS.md for the folder you're changing before you start.
| Area | Path | Details |
| Website SPA, serverless API, website conventions | website/ | website/AGENTS.md |
| Timetable optimiser (Go, beam search) | website/api/optimiser/ | optimiser AGENTS.md |
| Timetable PNG/PDF export (Koa + Puppeteer) | export/ | export/AGENTS.md |
| NUS data scraper → api.nusmods.com v2 | scrapers/nus-v2/ | nus-v2 AGENTS.md |
| CPEx module scraper | scrapers/cpex-scraper/ | cpex AGENTS.md |
nusmoderator npm lib (published, not workspace-linked) | packages/nusmoderator/ | nusmoderator AGENTS.md |
| Academic calendar JSON (workspace-linked) | packages/nusmods-academic-calendar/ | — |
| Browser support config | packages/browserslist-config-nusmods/ | — |
Repo-wide
- Run
pnpm installonce at the root, then run scripts from inside each package.pnpm checkruns lint, typecheck and tests in each package that has one.exporthas no tests, and the two smallpackages/*(academic calendar, browserslist config) have nocheckscript and no CI job. CircleCI (.circleci/config.yml) checks each package separately, plus the Go optimiser. pnpm format/pnpm format:checkat the root runs oxfmt (print width 100, single quotes, trailing commas). The husky pre-commit hook formats staged files and syncswebsite/src/data/venues.jsoninto the optimiser.- The tools are Vitest, oxlint and oxfmt. READMEs and ARCHITECTURE.md still say Jest and ESLint, so ignore that.
- Semester and academic-year rollover steps are in
MAINTENANCE.md. - Branch from
master(trunk-based). Commit messages use Conventional Commits, e.g.feat(timetable): …,fix(scraper): …,chore(deps): …. The PR template has Context / Implementation / Other Information sections.
In this repository2 other files it gives its agents.
- export/AGENTS.mdAGENTS.md
- website/AGENTS.mdAGENTS.md
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

