🇬🇧 English · 🇺🇦 Українська
Open Source Software and Educational Technology
Welcome to the official GitHub organization of Borys Grinchenko Kyiv Metropolitan University. Our mission is to foster open-source development, collaborate on educational technology, and provide tools that empower students, educators, and the broader academic community in Ukraine and worldwide.
Our development primarily focuses on:
- 🎓 E-Learning Enhancements: Plugins and optimizations for Learning Management Systems like Moodle.
- 🏫 University Information Systems: Deans' office workflows, registries, e-portfolios and admission campaigns.
- 🔌 API Integrations: Seamless connections with essential services (e.g., Diia, StrikePlagiarism, Scopus, LDAP).
- 💻 Student & Research Projects: Collaborative academic software engineering.
- 🤖 AI & Agentic Development: Embracing AI-driven software engineering and agentic workflows in strict compliance with academic integrity, copyright laws, and ethical standards.
- antigravity-skills & claude-skills — our shared toolkit of Google Antigravity and Claude Code skills for everyday development: planning, implementing, reviewing and verifying. Repository-agnostic, documented in English and Ukrainian. See below.
- local_cleanup — a robust Moodle plugin designed to optimize storage and database performance by identifying and removing unnecessary orphaned files, old submissions, and logs.
- diia-php — a PHP client for interacting with the Diia (Дія) API, facilitating digital state services integration.
- strike-plagiarism-php — a PHP client wrapper for the StrikePlagiarism API v2, helping maintain academic integrity.
We develop with AI assistance openly and deliberately. Our shared toolkit lives in antigravity-skills and claude-skills — Google Antigravity and Claude Code skills covering an ordinary development day.
For Antigravity, install them instantly via terminal:
curl -fsSL https://raw.githubusercontent.com/grinchenkoedu/antigravity-skills/main/install.sh | bashFor Claude Code, install them via the marketplace:
/plugin marketplace add grinchenkoedu/claude-skills
/plugin install gku@grinchenkoedu
The two sets are maintained together: the same eleven skills, the same rules underneath, and the same wording, updated in step so neither drifts ahead of the other. Both are prefixed so they cannot collide with anything else you have installed; only the separator differs, because Claude Code namespaces plugin skills with a colon and Antigravity has no namespace, so the prefix is part of the name:
| What it does | Claude Code | Antigravity |
|---|---|---|
Write a repository's CLAUDE.md or GEMINI.md — commands plus its family's conventions | /gku:init | /gku-init |
| Read a whole repository against the rules and hand back a plan, in branch-sized rounds | /gku:audit | /gku-audit |
| Find an answer across the code and the internet, for the versions you actually run | /gku:research | /gku-research |
| Turn a request or a written brief into a plan, checked against the real code | /gku:plan | /gku-plan |
| Build it step by step, resuming where it stopped if interrupted | /gku:implement | /gku-implement |
| Check your own changes before you push them | /gku:review | /gku-review |
| Investigate a symptom, or apply review findings — one commit each | /gku:fix | /gku-fix |
| Open the pull request for this branch, or update the existing one | /gku:pr | /gku-pr |
| Review someone else's pull request in an isolated worktree | /gku:pr-review | /gku-pr-review |
| Work through review comments — verdict first, never blind fixes | /gku:pr-resolve | /gku-pr-resolve |
| Run the tests and drive the real thing to prove it works | /gku:verify | /gku-verify |
Beyond the separator, what differs is the harness rather than the method: each set writes the
conventions file its own tool reads — CLAUDE.md or GEMINI.md — and installs the way that tool
expects.
They are repository-agnostic, run a project's commands inside its Docker container so checks use the version the project actually targets, and are written to be economical enough for a basic Claude or Google Antigravity subscription. Full documentation, including a beginner's walkthrough, is available in the respective repositories.
Academic integrity: AI assistance is a tool, not an author. You remain responsible for every line you submit — understand it, test it, and be able to explain it. Never submit code you cannot account for.
We welcome contributions from our students, faculty, and the global open-source community!
- Work on a branch —
feature/<short-description>orfix/<short-description>. Please do not push directly to the default branch. - Read the repository's own conventions first. Where a project has an
AGENTS.mdorCLAUDE.md, that file is the source of truth for its setup, coding style and release steps. - Use Docker for local development. Most of our projects ship a
docker-compose.ymlor aMakefile, so you should not need PHP, Composer or Python installed on your machine. - Check your own work before asking for review —
/gku:reviewor/gku-reviewfrom our toolkits, or simply read your own diff carefully. - Open a Pull Request and request @matasarei as the reviewer. Every change is reviewed by a person before it is merged; an automated review is a first pass, never the approval.
- Moodle plugins: remember to bump
$plugin->versioninversion.phpwhen you add or move anything underclasses/, or changedb/schema, caches or scheduled tasks — otherwise a live site will not pick up your code.
- 🌐 Website:kubg.edu.ua
- 👤 Code review:@matasarei
- 📍 Location: Kyiv, Ukraine
"Education is the most powerful weapon which you can use to change the world."
