mirror of
https://github.com/veggiemonk/awesome-docker.git
synced 2026-06-30 18:40:32 +02:00
58 lines
2.7 KiB
Markdown
58 lines
2.7 KiB
Markdown
# Agent Guidelines for awesome-docker
|
|
|
|
This is a curated list of projects for Docker.
|
|
**The projects has to be for Docker, not just using Docker.**
|
|
|
|
## Commands
|
|
|
|
- Build CLI: `make build` (or `go build -o awesome-docker ./cmd/awesome-docker`)
|
|
- Rebuild from scratch: `make rebuild`
|
|
- Show local workflows: `make help`
|
|
- Format Go code: `make fmt`
|
|
- Run tests: `make test` (runs `go test ./internal/... -v`)
|
|
- Race tests: `make test-race`
|
|
- Lint README rules: `make lint` (runs `./awesome-docker lint`)
|
|
- Auto-fix lint issues: `make lint-fix`
|
|
- Check links: `make check` (runs `./awesome-docker check`; `GITHUB_TOKEN` enables GitHub repo checks)
|
|
- PR-safe link checks: `make check-pr`
|
|
- PR validation: `make validate` (lint + external link checks in PR mode)
|
|
- Build website: `make website` (generates `website/index.html` from `README.md`)
|
|
- Health scoring: `make health` (requires `GITHUB_TOKEN`, refreshes `config/health_cache.yaml`)
|
|
- Print health report (Markdown): `make report`
|
|
- Print health report (JSON): `make report-json` or `./awesome-docker report --json`
|
|
- Generate report files: `make report-file` (`HEALTH_REPORT.md`) and `make report-json-file` (`HEALTH_REPORT.json`)
|
|
- Maintenance shortcut: `make workflow-maint` (health + JSON report file)
|
|
|
|
## Architecture
|
|
|
|
- **Main content**: `README.md` (curated Docker/container resources)
|
|
- **CLI entrypoint**: `cmd/awesome-docker/main.go` (Cobra commands)
|
|
- **Core packages**:
|
|
- `internal/parser` - parse README sections and entries
|
|
- `internal/linter` - alphabetical/order/format validation + autofix
|
|
- `internal/checker` - HTTP and GitHub link checks
|
|
- `internal/scorer` - repository health scoring and report generation
|
|
- `internal/cache` - exclude list and health cache read/write
|
|
- `internal/builder` - render README to website HTML from template
|
|
- **Config**:
|
|
- `config/exclude.yaml` - known link-check exclusions
|
|
- `config/website.tmpl.html` - HTML template for site generation
|
|
- `config/health_cache.yaml` - persisted health scoring cache
|
|
- **Generated outputs**:
|
|
- `awesome-docker` - compiled CLI binary
|
|
- `website/index.html` - generated website
|
|
- `HEALTH_REPORT.md` - generated markdown report
|
|
- `HEALTH_REPORT.json` - generated JSON report
|
|
|
|
## Content Guidelines (from CONTRIBUTING.md)
|
|
|
|
- **The projects has to be for Docker, not just using Docker.**
|
|
- Use one link per entry
|
|
- Prefer project/repository URLs over marketing pages
|
|
- Keep entries alphabetically ordered within each section
|
|
- Keep descriptions concise and concrete
|
|
- Use `:yen:` only for paid/commercial services
|
|
- Use `:ice_cube:` for stale projects (2+ years inactive)
|
|
- Remove archived/deprecated projects instead of tagging them
|
|
- Avoid duplicate links and redirect variants
|