Local Development
Clone the source, install dependencies, and iterate. Recommended if you're contributing or running a fork.
Prerequisites
- Node.js 20+ and npm 10+
- Docker (only needed for the LaTeX resume pipeline)
- A Telegram bot token — see Telegram Setup
Clone and install
bash
git clone https://github.com/Ayush-Vish/studentsync.gitcd studentsyncnpm installEnvironment
Copy .env.example to .env, or run the wizard:
bash
npm run onboardBuild and run
bash
npm run build # compile TypeScriptnpm start # start bot in foregroundHot reload
npm run dev watches the src/ directory with tsx and restarts on change. Useful for iterating on new skills.Daemon mode from source
bash
npm run start:daemon # builds + pm2 startnpm run stop:daemon # pm2 stop + deletepm2 logs student-daemonProject layout
bash
src/ orchestrator/ # the planner that routes tasks to skills skills/ # solver, classroom, portal, resume, etc. adapters/ # llm providers + ocr + pdf parsers telegram/ # telegraf scenes + middleware config/ # persistence layer for scholar.json cli/ # `studentsync onboard`, `studentsync ...`scripts/resume-templates/ # put your Overleaf .tex files heretests/Contributing
PRs welcome. Keep commits small, run npm run lint && npm test before opening one. The maintainer reviews weekly.