Files
awesome-docker/.github/MAINTENANCE.md
Julien Bisconti 8956f1d292 chore: remove Node.js tooling, update maintenance docs
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>
2026-02-27 23:33:06 +01:00

126 lines
3.5 KiB
Markdown

# 🔧 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)
1. Check health report issue for archived/stale projects
2. Mark archived projects with `:skull:` in README.md
3. Review projects with 2+ years of inactivity
4. Remove projects that are truly abandoned/broken
### Quarterly Deep Dive (Every 3 months)
1. Run: `./awesome-docker health` then `./awesome-docker report` for detailed report
2. Review project categories - are they still relevant?
3. Check for popular new Docker tools to add
4. Update documentation links if newer versions exist
### Annual Cleanup (January)
1. Remove all `:skull:` projects older than 1 year
2. Review CONTRIBUTING.md guidelines
3. Update year references in documentation
## 🛠️ Maintenance Commands
```bash
# 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:
1. Check if they moved (update URL)
2. Search for alternatives
3. Check Internet Archive for mirrors
4. Temporarily comment out until resolved
### Spam Pull Requests
1. Close immediately
2. Mark as spam
3. Block user if repeated offense
4. 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*