CLI Reference

Every command StudentSync ships with — both the shell CLI and the Telegram bot commands.

Shell commands

CommandDescription
studentsync onboardInteractive wizard to set up identity, LLM provider, Telegram and Google.
studentsyncStart the bot in foreground mode. Logs to stdout.
npm run start:daemonFrom source: build + pm2 start.
npm run stop:daemonFrom source: pm2 stop + delete.
pm2 logs student-daemonFollow live logs + LLM traces when running under PM2.
studentsync portals addSave credentials for a Moodle/Canvas/custom portal.
studentsync resume history <name>Browse previous tailored versions of a resume template.
studentsync doctorEnvironment + integration health check. Prints which providers are reachable and which tokens are valid.

Telegram bot commands

CommandDescription
/startWelcome + onboarding for first-time users.
/solveSolve an assignment from text, PDF, or image.
/submitUpload and turn in the last generated artifact.
/resume <template> <jd>Tailor a resume template to a job description.
/statusWhat Scuba is currently working on.
/cancelAbort the in-flight task.
/model <provider>/<model>Switch LLM provider per-chat.

Environment variables

bash
# core
TELEGRAM_BOT_TOKEN=xxxx
# llm — pick one
OPENAI_API_KEY=sk-...
GEMINI_API_KEY=...
OPENROUTER_API_KEY=...
# google (optional)
GOOGLE_CLIENT_ID=...
GOOGLE_CLIENT_SECRET=...
# tuning
STUDENTSYNC_LOG_LEVEL=info # debug|info|warn|error
STUDENTSYNC_DATA_DIR=~/.studentsync

Shell completion

Enable zsh/bash completion with studentsync completion >> ~/.zshrc.

Exit codes

The CLI follows conventional exit codes — 0 on success, 1 on generic failure, 2 on misuse, 3 on auth errors, 4 on network errors.