feat: add multi-repository compliance validation with excel reporting
What does this MR do?
This Merge Request enhances the GitLab Compliance Checker by adding multi-project validation, categorized compliance checks, and Excel-based reporting.
Earlier, the tool supported validating only a single repository with basic checks. This MR extends the functionality to support batch repository scanning, improved README validation, and clear compliance reporting, making the tool more scalable and practical for real-world use.
Motivation / Use Case
The previous implementation was limited when reviewing multiple repositories, such as:
Academic project evaluations
Hackathons
Classroom or large-scale code reviews
This enhancement allows reviewers to:
Validate multiple GitLab repositories at once
Easily identify missing compliance requirements
Export structured results for offline review and record keeping
This significantly reduces manual effort and improves clarity.
Implementation Notes
Added support for batch processing of multiple GitLab repository links
Implemented categorized compliance checks, grouped as:
Common requirements
Technical requirements
Project requirements
Enhanced README.md validation to detect:
Missing README files
Empty README files
README quality based on essential sections
Added detection for important files such as .gitignore
Implemented a combined Excel export option using Pandas and OpenPyXL
Fixed runtime issues and resolved missing dependency errors
Improved Streamlit UI flow and internal logic
Changes are backward compatible with existing single-repository validation
How to Test
Pull this branch locally
Set up the environment:
python3 -m venv venv source venv/bin/activate pip install -r requirements.txt pip install pandas openpyxl
Configure .env file:
GITLAB_URL=your_gitlab_url GITLAB_TOKEN=your_access_token
Run the application:
streamlit run app.py
Verify the following:
Single repository compliance check works
Batch Mode accepts multiple repository links
Excel report downloads correctly
README missing and empty detection works
Compliance suggestions appear for missing files (e.g., .gitignore)
Checklist
Feature is documented in README
Code is clean and readable
No breaking changes introduced
Features tested locally
Excel export verified
README and compliance suggestions validated
Related Issues or Discussions
Internal enhancement for GitLab Compliance Checker
No external issue linked