Skip to content

Repository files navigation

GT Scheduler Agent CLI

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.

Quick install (macOS/Linux)

If you already have uv installed:

curl -fsSL https://raw.githubusercontent.com/BrandonLee28/gt-scheduler-agent-cli/main/install.sh | sh

The installer checks for uv and installs the gt-agent command from PyPI. It does not silently install tools or upload local/student data.

Install with pipx or pip

pipx install gt-scheduler-agent-cli
python -m pip install gt-scheduler-agent-cli

Windows users can use either of these Python-based installation methods.

Install

python3 -m venv .venv
. .venv/bin/activate
pip install -e .

Examples

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" --json

The 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.

Planning requests

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.

Data sources

If a network source is unavailable, the CLI uses its last successful cache and marks the JSON response as stale.

Agent integration

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.

Documentation

License

MIT. See LICENSE.

About

Independent agent-oriented CLI for Georgia Tech course planning

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages