How veggiemonk/awesome-docker works
Awesome Docker is both a curated Markdown directory of Docker-related projects and a Go CLI for maintaining and checking that list. The main workflow parses README entries, checks project links and GitHub repository health, scores results, and saves cache/report data; separate commands lint or edit the list, prune unhealthy entries, browse health data, and build the website. The graph follows the sampled CLI and package code; some command internals were omitted, so uncertain wiring is left out.
Main entry points: main.go CLI Commands · builder.go Site Builder · README.md Curated README · fixer.go Entry Fixer
Components 19
CLI Workflows
- CLI Commands
cmd/awesome-docker/main.go
List Maintenance
- Curated README
README.md - Markdown Parser
internal/parser/parser.go - List Linter
internal/linter/linter.go - Entry Fixer
internal/linter/fixer.go - Health Pruner
internal/pruner/pruner.go
Health Checks
- Link Checker
internal/checker/http.go - GitHub Checker
internal/checker/github.go - Health Scorer
internal/scorer/scorer.go - Cache Access
internal/cache/cache.go - Health Cache
config/health_cache.yaml - Health Browser
internal/tui/tui.go
Reports and Website
- Health Report
internal/scorer/scorer.go - Site Builder
internal/builder/builder.go - Website Template
config/website.tmpl.html - Generated Website
index.html
Other components
- Maintainer
- GitHub API
- Project Websites
Connections 24
- Maintainer → CLI Commands: runs
- CLI Commands → Curated README: reads
- CLI Commands → Markdown Parser: parses
- CLI Commands → List Linter: validates
- CLI Commands → Entry Fixer: fixes or sorts
- List Linter → Markdown Parser: parses entries
- Entry Fixer → Markdown Parser: parses entries
- Entry Fixer → Curated README: rewrites
- CLI Commands → Link Checker: checks links
- Link Checker → Project Websites: requests URLs
- CLI Commands → GitHub Checker: checks repositories
- GitHub Checker → GitHub API: queries
- CLI Commands → Health Scorer: scores health
- CLI Commands → Cache Access: loads and saves
- Cache Access → Health Cache: reads and writes
- CLI Commands → Health Browser: opens browser
- CLI Commands → Health Pruner: prunes entries
- Health Pruner → Curated README: removes entries
- Health Pruner → Health Cache: removes cache entries
- CLI Commands → Health Report: generates
- CLI Commands → Site Builder: builds site
- Site Builder → Curated README: converts Markdown
- Site Builder → Website Template: fills template
- Site Builder → Generated Website: writes HTML