Skip to content

spbu-se/practice-checktool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Student Repo Analyzer

CLI tool for analyzing student GitHub repositories against a set of software engineering best practices. Integrates with the Practice Grading API to fetch meeting data, then uses opencode agents to evaluate student projects.

Features

  • Practice Grading API bindings — list meetings, view talks/students
  • Repo analysis — clones student repos and evaluates them across 26 rules covering:
    • Licensing (1–3)
    • CI/CD (4–7)
    • Code quality (6, 8, 11, 18, 20)
    • C/C++ sanitizers (12)
    • Repository hygiene (9–10)
    • Documentation (13–17, 19, 21–22)
    • Git practices (23–24)
    • Releases and security (25–26)
  • Size guard — rejects repos larger than 30 MB to keep analysis fast

Requirements

  • Python >= 3.10
  • opencode CLI installed and configured
  • jq (for JSON output parsing)

Installation

uv sync          # or: pip install -e .
cp .env.example .env   # then edit credentials

Configuration

Variable Default Description
PRACTICE_GRADING_URL http://127.0.0.1:8080/api Practice Grading API base URL
PRACTICE_GRADING_LOGIN login API login
PRACTICE_GRADING_PASSWORD password API password
LLM_MODEL opencode/big-pickle LLM model for opencode agents

Usage

# List all meetings
python pg-cli.py list

# Show meeting details
python pg-cli.py show-meeting 1

# Show talk details
python pg-cli.py show-talk 42

# Analyze a single talk's repos
python pg-cli.py analyze-talk 42

# Analyze all talks in a meeting (save results to folder)
python pg-cli.py analyze-meeting 1 -o ./reports

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages