Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/cornell-dti/course-plan/llms.txt

Use this file to discover all available pages before exploring further.

Courseplan supports multiple named academic plans stored under a single account. Each plan holds its own independent set of semesters and courses. Switching plans instantly swaps the entire semester view and recalculates requirements against the courses in the active plan. This feature is useful for comparing a double-major track against a major-plus-minor track, or for modeling what-if scenarios without disturbing your primary plan.
The multiple plans feature is controlled by a feature flag (MultiplePlans). If you do not see the plan controls in the requirements sidebar, the feature may not be enabled for your account.

The plan switcher

The plan switcher lives at the top of the requirements sidebar, directly above the requirements groups. It consists of two controls side by side:
  • Plan name dropdown — shows the currently active plan and expands to list all other plans. Clicking any plan name in the list makes it the active plan immediately.
  • Edit icon button — opens the Edit Plan modal for the currently active plan.

Creating a new plan

1

Open the add plan dialog

Click the + Add Plan button in the top-right area of the plan switcher row in the requirements sidebar.
2

Choose blank or copy

A modal asks whether you want to create a blank plan or copy an existing one.
  • Create Blank — immediately creates a new empty plan named New Plan 1 (incrementing the number if that name is already taken).
  • Make a Copy — proceeds to the copy flow.
3

(Copy only) Select a plan to copy

If you chose Make a Copy, a second modal lists all your existing plans in a dropdown. Select the plan whose semesters and courses you want to duplicate.
4

(Copy only) Name the new plan

A third modal prompts you for a name for the copied plan. Type a unique name and click Add. The new plan is created with all semesters and courses from the source plan.
5

Confirm

A brief confirmation banner appears (<name> has been added!) and the new plan is immediately available in the dropdown.

Switching between plans

Click the plan name shown in the dropdown bar to open the list of other plans. Click any plan name to switch to it. The semester columns, course cards, and requirements sidebar all update instantly to reflect the selected plan.
The active plan name is shown prominently in the switcher at all times, so you always know which plan you are editing.

Renaming a plan

1

Open Edit Plan

Click the pencil/edit icon next to the plan name in the switcher. The Edit Plan modal opens showing the current plan name in an editable text field.
2

Enter the new name

Clear the existing name and type the new one. The Save Changes button remains disabled until you enter a name that does not conflict with any existing plan.
3

Save

Click Save Changes. A confirmation banner shows <old name> has been renamed to <new name>!.

Deleting a plan

1

Open Edit Plan

Click the edit icon next to the plan name to open the Edit Plan modal.
2

Delete

Click DELETE PLAN at the bottom of the modal. The button is disabled if only one plan exists — Courseplan requires you to always have at least one plan.
3

Confirm

The plan is removed and Courseplan switches to one of your remaining plans automatically. A brief banner confirms <name> has been deleted!.
Deleting a plan permanently removes all of its semesters and course assignments. This action cannot be undone. Consider copying the plan first if you might want to refer to it later.

How plans relate to semesters

Each plan is stored as a Plan object:
type Plan = {
  readonly name: string;
  readonly semesters: readonly FirestoreSemester[];
};
Semesters belong exclusively to one plan. Adding, editing, or removing a semester only affects the currently active plan. The requirements sidebar always computes fulfillment from the active plan’s semesters, so switching plans gives you a completely independent requirements view.

Build docs developers (and LLMs) love