Comprehensive auditing solution for Next.js applications using Material-UI
A powerful toolkit that combines static analysis, runtime testing, and automated reporting to ensure your Next.js + Material-UI projects follow best practices for performance, accessibility, security, and code quality.
- Static Code Analysis: Pattern-based scanning for MUI best practices
- Runtime Performance Testing: Lighthouse integration with PWA audits
- Accessibility Validation: WCAG AA compliance checking
- Bundle Analysis: Import optimization and size monitoring
- Security Scanning: XSS prevention and secure coding practices
- π₯οΈ Web Application: Modern React interface for repository auditing
- β‘ CLI Tool: Command-line interface for development workflows
- π GitHub Actions: Automated CI/CD integration
- Automated Grading: A-F scoring with weighted categories
- Line-Level Precision: Exact file and line issue reporting
- Multiple Formats: JSON, HTML, and Markdown reports
- Progress Tracking: Real-time audit execution monitoring
The easiest way to audit repositories through a modern web interface:
# Quick setup
./setup.sh # Linux/macOS
# or
./setup.ps1 # Windows
# Manual setup
cd webapp
npm install
cp .env.example .env.local
# Edit .env.local with your GitHub token
npm run devThen visit: http://localhost:3000
For direct command-line usage and CI/CD integration:
# Navigate to CLI tool
cd "audit script"
npm install
# Run audit on current project
npm run audit
# Audit specific project
node src/index.js --path /path/to/project --output ./resultsnextjs-mui-audit-toolkit/
βββ webapp/ # π Web Application
β βββ src/app/ # Next.js 14 App Router
β βββ src/components/ # React components
β βββ src/lib/ # Utility libraries
β βββ package.json # Web app dependencies
βββ audit script/ # β‘ CLI Tool
β βββ src/ # Core audit logic
β βββ tests/ # Test suites
β βββ examples/ # Sample projects
β βββ package.json # CLI tool dependencies
βββ .github/workflows/ # π GitHub Actions
βββ DEPLOYMENT.md # π Deployment guide
βββ setup.sh/setup.ps1 # π οΈ Quick setup scripts
Modern interface for repository auditing with:
- Repository URL Input: Audit any GitHub repository
- Real-time Progress: Live tracking of audit execution
- GitHub Integration: Automatic workflow creation and execution
- Email Notifications: Get notified when audits complete
- Results Dashboard: View audit history and analytics
- Mobile Responsive: Works on desktop and mobile devices
| Feature | Description |
|---|---|
| π Repository Input | Paste GitHub URL and start auditing |
| π Token Support | Private repository access via GitHub tokens |
| β‘ GitHub Actions | Automated audit execution in the cloud |
| π§ Email Alerts | Completion notifications via email |
| π Analytics | Audit history and performance metrics |
| π¨ Material-UI | Beautiful, responsive interface |
Tech Stack: Next.js 14, TypeScript, Material-UI v5, GitHub API
Command-line interface for development workflows:
- Static Analysis: File scanning with custom rule engine
- ESLint Integration: Comprehensive linting with MUI plugins
- Performance Testing: Lighthouse CI with custom budgets
- Accessibility Testing: Playwright + Axe integration
- Bundle Analysis: Import patterns and size optimization
- PWA Validation: Progressive Web App compliance
| Feature | Description |
|---|---|
| π Rule Engine | 50+ custom rules for Next.js + MUI |
| π― Grading System | Automated A-F scoring |
| π Line Precision | Exact file/line issue reporting |
| π Performance | Core Web Vitals and bundle analysis |
| βΏ Accessibility | WCAG AA compliance validation |
| π Security | XSS prevention and secure patterns |
Tech Stack: Node.js 18+, ESLint, Lighthouse, Playwright, Jest
Both interfaces support GitHub Actions for automated auditing:
# .github/workflows/audit.yml
name: Next.js + MUI Audit
on: [push, pull_request]
jobs:
audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run Audit
uses: ./
with:
output-path: ./audit-results{
"grades": {
"overallScore": 87,
"letterGrade": "B+",
"categories": {
"muiUsage": { "score": 95, "weight": 30 },
"performance": { "score": 82, "weight": 25 },
"accessibility": { "score": 90, "weight": 20 },
"security": { "score": 85, "weight": 15 },
"codeQuality": { "score": 78, "weight": 10 }
}
},
"summary": {
"totalIssues": 12,
"criticalIssues": 2,
"filesScanned": 45,
"rulesApplied": 52
}
}# GitHub Integration
GITHUB_TOKEN=ghp_your_token_here
GITHUB_WEBHOOK_SECRET=your_secure_secret
# Email Notifications (Optional)
EMAIL_PROVIDER=smtp
EMAIL_HOST=smtp.gmail.com
EMAIL_USER=your-email@gmail.com
EMAIL_PASS=your-app-password
# Application Settings
NEXTAUTH_URL=https://your-app.vercel.app
LOG_LEVEL=info// audit.config.js
module.exports = {
rules: {
'mui-imports': 'error',
'theme-tokens': 'warn',
accessibility: 'error'
},
performance: {
budgets: {
'first-load-js': 180
}
},
output: {
formats: ['json', 'html', 'markdown']
}
}Vercel (Recommended):
cd webapp
npx vercel --prodNetlify:
cd webapp
npm run build
netlify deploy --prod --dir=.nextDocker:
cd webapp
docker build -t audit-webapp .
docker run -p 3000:3000 audit-webappLocal Development:
cd "audit script"
npm install
npm run auditCI/CD Integration:
# Add to your workflow
- name: Audit Next.js + MUI
run: |
cd "audit script"
npm ci
npm run audit -- --path . --output ./resultsComplete documentation is organized by component:
- Documentation Index - Master documentation guide
- CLI Reference - Command-line usage
- API Reference - Web API documentation
- GitHub App Setup - Integration guide
- Deployment Guide - Production setup
Location: /audit script/docs/
- CLI Reference - Complete command reference
- Configuration Guide - Setup and customization
- Plugin Development - Extending functionality
Location: /webapp/docs/
- API Reference - REST API documentation
- GitHub App Setup - Integration setup
- Deployment Guide - Production deployment
- Implementation Summary - Technical details
| Document | Description |
|---|---|
| π Web App README | Complete web application guide |
| β‘ CLI README | Command-line tool documentation |
| π Deployment Guide | Comprehensive deployment instructions |
| π§ Integration Guide | CI/CD and workflow integration |
# Test web application
cd webapp
npm test
npm run test:e2e
# Test CLI tool
cd "audit script"
npm test
npm run test:integration- Fork the repository
- Choose your focus:
- Web Application:
cd webapp - CLI Tool:
cd "audit script"
- Web Application:
- Create feature branch:
git checkout -b feature/amazing-feature - Make changes and test
- Submit pull request
- Code Quality: ESLint + Prettier configuration included
- Testing: Write tests for new features
- Documentation: Update relevant README files
- Type Safety: Use TypeScript for new code
- Commit Convention: Follow conventional commit format
This project is licensed under the MIT License - see the LICENSE file for details.
- Next.js Team - Amazing React framework
- Material-UI Team - Beautiful React components
- GitHub - Actions platform and API
- Vercel - Excellent hosting platform
- Open Source Community - Tools and inspiration
- π Issues: GitHub Issues
- π¬ Discussions: GitHub Discussions
- π§ Email: support@your-domain.com
- π Documentation: See individual README files
| Feature | Web App | CLI Tool | GitHub Actions |
|---|---|---|---|
| Repository Auditing | β | β | β |
| Real-time Progress | β | β‘ | β |
| Email Notifications | β | β | β |
| GitHub Integration | β | β‘ | β |
| Visual Dashboard | β | β | β |
| CI/CD Integration | β‘ | β | β |
| Offline Usage | β | β | β |
| Batch Processing | β‘ | β | β |
Legend: β Full Support | β‘ Partial Support | β Not Available
Built with β€οΈ by dev-mhany
Automated auditing for Next.js + Material-UI projects