SYSU anything Apple
Use the local Apple-enhanced entrypoint instead of re-deriving EventKit flows:
node dist/apple-cli.js
Equivalent installed binary:
sysu-anything-apple
First step
- Work from the repo root.
- Prefer targeted help before composing a command:
node dist/apple-cli.js --helpnode dist/apple-cli.js <command> --helpnode dist/apple-cli.js <command> <subcommand> --help
- If
dist/is missing or stale, run:npm run build
- Always verify the Mac-side bridge first:
node dist/apple-cli.js apple doctor
- Check the SYSU-side login state before the real action:
qg: no login check neededykt homework list/detail --reminders:node dist/cli.js ykt statustoday/jwxt timetable/jwxt leave apply:node dist/cli.js jwxt statuscareer teachin detail/jobfair detail --calendar --reminders: no SYSU login check neededcareer teachin signup/jobfair signup --confirm --calendar --reminders: if the command still needs to seedcareer-session.json, runnode dist/cli.js auth workwechatfirstgym book:node dist/cli.js gym profilelibic reserve:node dist/cli.js libic whoamiexplore seminar reserve:node dist/cli.js explore whoamixgxt workstudy apply --calendar:node dist/cli.js xgxt current-user
- If the check fails, restore login first, rerun the check, then run the Apple sync command.
The Apple entrypoint reuses the same state directory:
~/.sysu-anything/
Routing
- If you need the command map or examples, read
references/overview.md. - For Apple-specific career teachin/jobfair import and signup-sync behavior, read
references/career.md. - For Apple-specific libic reservation sync behavior, read
references/libic.md. - Prefer
--jsonwhen another agent or script needs structured output.
Closed Loops
today --calendarjwxt timetable --calendar [--calendar-scope week|term]qg link --calendar --reminderscareer teachin detail --calendar --reminderscareer teachin signup --confirm --calendar --reminderscareer jobfair detail --calendar --reminderscareer jobfair signup --confirm --calendar --remindersykt homework list --remindersykt homework detail --remindersgym book --confirm --calendar --reminderslibic reserve --confirm --calendar --remindersexplore seminar reserve --confirm --calendar --remindersjwxt leave apply --confirm --calendar-block --remindersxgxt workstudy apply --confirm --calendar [--calendar-start-date <YYYY-MM-DD>] [--calendar-weeks <n>]
Safety
qg link --calendar --reminderscreates a planned trip in Apple apps; it does not mean the ticket is confirmed.career teachin/jobfair detail --calendar --remindersis local import only; it does not touch the remote signup state.career teachin/jobfair signupwithout--confirmstays in preview mode and skips Apple sync; use the correspondingdetailcommand if the user only wants local Calendar / Reminders import.gym book,libic reserve,explore seminar reserve,jwxt leave apply, andxgxt workstudy applyonly perform real writes with--confirm.ykt homework list/detail --remindersdefaults to future deadlines only; add--include-pastwhen the user explicitly wants overdue items imported too.xgxt workstudy apply --calendarwrites the submitted work-study time template into Apple Calendar; because xgxt payloads only contain weekday + time, the Apple layer defaults to expanding 1 week unless--calendar-weeksis provided.- Run
apple doctorbefore the first sync on a new Mac or after macOS permission changes.