An independent, agent-oriented CLI for Georgia Tech course planning. This project is not affiliated with Georgia Tech or the GT Scheduler project.
The CLI does not log in to GT, register classes, or make degree-path decisions.
If you already have uv installed:
curl -fsSL https://raw.githubusercontent.com/BrandonLee28/gt-scheduler-agent-cli/main/install.sh | shThe installer checks for uv and installs the gt-agent command from PyPI. It
does not silently install tools or upload local/student data.
pipx install gt-scheduler-agent-clipython -m pip install gt-scheduler-agent-cliWindows users can use either of these Python-based installation methods.
python3 -m venv .venv
. .venv/bin/activate
pip install -e .gt-agent terms --json
gt-agent agent-instructions
gt-agent classes search "machine learning" --term 202608 --json
gt-agent classes show 91421 --term 202608 --json
gt-agent schedule plan --request plan.json --json
gt-agent grades course CS 4641 --json
gt-agent grades instructor "Jane Doe" --course "CS 4641" --jsonThe installed executable is gt-agent; all commands below are shown with that
name.
The agent can extract a student's current classes from a screenshot and pass
them as fixed_meetings in a planning request. The CLI does not ingest or
persist registration exports.
gt-agent schedule plan accepts a versioned JSON request from a file or stdin:
{
"version": "1",
"term": "202608",
"requested_courses": [
{"course": "CS 1331", "pinned_section": "A"},
{"course": "MATH 1554"}
],
"constraints": {
"fixed_meetings": [
{"label": "Current class", "days": ["Monday"], "start": "10:00 AM", "end": "11:00 AM"}
],
"minimum_transition_minutes": 10
},
"preferences": {
"preferred_instructors": ["Jane Doe"],
"modalities": ["In Person"]
},
"max_results": 10,
"include_grade_history": false
}Options are ranked by fewer active days, then less idle time, then requested soft preferences. Lecture/lab pairings inferred from public metadata are marked as requiring manual verification. Prerequisites, corequisites, and restrictions are evidence warnings, not registration decisions.
- Public term datasets published by GT Scheduler.
- Public course and instructor history from Course Critique.
If a network source is unavailable, the CLI uses its last successful cache and marks the JSON response as stale.
The CLI is agent-agnostic. Add the short instruction from
Agent integration to the host agent's system
prompt or project instructions, then have the agent run
gt-agent agent-instructions. The agent should generate planning JSON itself
and pipe it through stdin; users do not need to create a plan file.
- Command reference
- Agent integration
- Planning request and response schema
- Contributing
- Security and privacy
- Changelog
MIT. See LICENSE.