Remove package.json, build.js, tests/*.mjs, .nvmrc, and the old website template. Update MAINTENANCE.md with Go CLI commands. Switch dependabot from npm to gomod. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3.5 KiB
3.5 KiB
🔧 Maintenance Guide for Awesome Docker
This guide helps maintainers keep the awesome-docker list up-to-date and high-quality.
🤖 Automated Systems
Weekly Health Reports
- What: Checks all GitHub repositories for activity, archived status, and maintenance
- When: Every Monday at 9 AM UTC
- Where: Creates/updates a GitHub issue with label
health-report - Action: Review the report and mark abandoned projects with
:skull:
Broken Links Detection
- What: Tests all links in README.md for availability
- When: Every Saturday at 2 AM UTC + on every PR
- Where: Creates/updates a GitHub issue with label
broken-links - Action: Fix or remove broken links, or add to exclusion list
PR Validation
- What: Checks for duplicate links and basic validation
- When: On every pull request
- Action: Automated - contributors see results immediately
📋 Manual Maintenance Tasks
Monthly Review (First Monday of the month)
- Check health report issue for archived/stale projects
- Mark archived projects with
:skull:in README.md - Review projects with 2+ years of inactivity
- Remove projects that are truly abandoned/broken
Quarterly Deep Dive (Every 3 months)
- Run:
./awesome-docker healththen./awesome-docker reportfor detailed report - Review project categories - are they still relevant?
- Check for popular new Docker tools to add
- Update documentation links if newer versions exist
Annual Cleanup (January)
- Remove all
:skull:projects older than 1 year - Review CONTRIBUTING.md guidelines
- Update year references in documentation
🛠️ Maintenance Commands
# Build the CLI
go build -o awesome-docker ./cmd/awesome-docker
# Lint README formatting (add --fix to auto-fix)
./awesome-docker lint
./awesome-docker lint --fix
# Check all links (requires GITHUB_TOKEN for GitHub repos)
./awesome-docker check
# PR validation (lint + external link check)
./awesome-docker validate
# Score repository health (requires GITHUB_TOKEN)
./awesome-docker health
# Generate health report from cache
./awesome-docker report
# Build the website
./awesome-docker build
# Run tests
go test ./...
📊 Quality Standards
Adding New Projects
- Must have clear documentation (README with install/usage)
- Should have activity within last 18 months
- GitHub project preferred over website links
- Must be Docker/container-related
Marking Projects as Abandoned
Use :skull: emoji when:
- Repository is archived on GitHub
- No commits for 2+ years
- Project explicitly states it's deprecated
- Maintainer confirms abandonment
Removing Projects
Only remove (don't just mark :skull:):
- Broken/404 links that can't be fixed
- Duplicate entries
- Spam or malicious projects
- Projects that never met quality standards
🚨 Emergency Procedures
Critical Broken Links
If important resources are down:
- Check if they moved (update URL)
- Search for alternatives
- Check Internet Archive for mirrors
- Temporarily comment out until resolved
Spam Pull Requests
- Close immediately
- Mark as spam
- Block user if repeated offense
- Don't engage in comments
📈 Metrics to Track
- Total projects: ~731 GitHub repos
- Health status: aim for <5% archived
- Link availability: aim for >98% working
- PR merge time: aim for <7 days
- Weekly contributor engagement
🤝 Getting Help
- Open a discussion in GitHub Discussions
- Check AGENTS.md for AI assistant guidelines
- Review CONTRIBUTING.md for contributor info
Last updated: 2025-10-01