with one click
Scheduler
Scheduler contains 12 collected skills from mucsci, with repository-level occupation coverage and site-owned skill detail pages.
Skills in this repository
Changes the scheduler command-line interface in main.py (Click), arguments, output paths, and format options. Use when adding CLI flags or adjusting how schedules are printed or written to disk.
Implements or debugs scheduling logic, Z3 constraints, and JSON configuration for the course constraint scheduler. Use when working in scheduler.py, config models, time slots, or solver behavior.
Changes or reviews the FastAPI REST server, routes, and HTTP behavior for the scheduler. Use when editing server.py, async job flow, or API contracts.
Maintains Fern documentation, OpenAPI, JSON Schema assets, and Python API reference MDX for this project. Use when changing FastAPI routes, public docstrings, Pydantic config models, or user-facing docs under fern/docs.
Interprets or updates GitHub Actions workflows for linting, tests, docs, and publishing. Use when CI fails, when adding checks, or when aligning local commands with automation.
Maintains TypedDict and JSON-shaped type definitions for API and config payloads. Use when editing json_types.py or aligning wire formats with Pydantic models and OpenAPI.
Maintains or extends repository scripts under scripts/ for OpenAPI export, JSON Schema export, and Python API MDX generation. Use when changing export pipelines or adding codegen steps for documentation.
Implements or modifies JSON and CSV schedule output in the writers package. Use when changing serialization, export formats, or CLI --format behavior.
Prepares commits and pull requests using Conventional Commits and the contributing checklist for this repository. Use when drafting commit messages, summarizing changes, or before opening a PR.
Lints, formats, and type-checks Python code using Ruff, ty, and prek (pre-commit-compatible hooks). Use when fixing style errors, CI failures, or before submitting changes in this repository.
Develops and runs the course-constraint-scheduler package with uv. Use when installing dependencies, syncing the lockfile, running CLI/server modules, or setting up a local environment for this repository.
Writes and runs tests for the scheduler package with pytest and coverage. Use when adding tests, fixing failures, or running the test suite for this repository.