mirror of
https://github.com/veggiemonk/awesome-docker.git
synced 2026-06-30 18:40:32 +02:00
agent instructions
This commit is contained in:
@@ -1,6 +1,10 @@
|
|||||||
# Agent Guidelines for awesome-docker
|
# 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
|
## Commands
|
||||||
|
|
||||||
- Build CLI: `make build` (or `go build -o awesome-docker ./cmd/awesome-docker`)
|
- Build CLI: `make build` (or `go build -o awesome-docker ./cmd/awesome-docker`)
|
||||||
- Rebuild from scratch: `make rebuild`
|
- Rebuild from scratch: `make rebuild`
|
||||||
- Show local workflows: `make help`
|
- Show local workflows: `make help`
|
||||||
@@ -20,55 +24,29 @@
|
|||||||
- Maintenance shortcut: `make workflow-maint` (health + JSON report file)
|
- Maintenance shortcut: `make workflow-maint` (health + JSON report file)
|
||||||
|
|
||||||
## Architecture
|
## Architecture
|
||||||
|
|
||||||
- **Main content**: `README.md` (curated Docker/container resources)
|
- **Main content**: `README.md` (curated Docker/container resources)
|
||||||
- **CLI entrypoint**: `cmd/awesome-docker/main.go` (Cobra commands)
|
- **CLI entrypoint**: `cmd/awesome-docker/main.go` (Cobra commands)
|
||||||
- **Core packages**:
|
- **Core packages**:
|
||||||
- `internal/parser` - parse README sections and entries
|
- `internal/parser` - parse README sections and entries
|
||||||
- `internal/linter` - alphabetical/order/format validation + autofix
|
- `internal/linter` - alphabetical/order/format validation + autofix
|
||||||
- `internal/checker` - HTTP and GitHub link checks
|
- `internal/checker` - HTTP and GitHub link checks
|
||||||
- `internal/scorer` - repository health scoring and report generation
|
- `internal/scorer` - repository health scoring and report generation
|
||||||
- `internal/cache` - exclude list and health cache read/write
|
- `internal/cache` - exclude list and health cache read/write
|
||||||
- `internal/builder` - render README to website HTML from template
|
- `internal/builder` - render README to website HTML from template
|
||||||
- **Config**:
|
- **Config**:
|
||||||
- `config/exclude.yaml` - known link-check exclusions
|
- `config/exclude.yaml` - known link-check exclusions
|
||||||
- `config/website.tmpl.html` - HTML template for site generation
|
- `config/website.tmpl.html` - HTML template for site generation
|
||||||
- `config/health_cache.yaml` - persisted health scoring cache
|
- `config/health_cache.yaml` - persisted health scoring cache
|
||||||
- **Generated outputs**:
|
- **Generated outputs**:
|
||||||
- `awesome-docker` - compiled CLI binary
|
- `awesome-docker` - compiled CLI binary
|
||||||
- `website/index.html` - generated website
|
- `website/index.html` - generated website
|
||||||
- `HEALTH_REPORT.md` - generated markdown report
|
- `HEALTH_REPORT.md` - generated markdown report
|
||||||
- `HEALTH_REPORT.json` - generated JSON report
|
- `HEALTH_REPORT.json` - generated JSON report
|
||||||
|
|
||||||
## Code Style
|
|
||||||
- **Language**: Go
|
|
||||||
- **Formatting**: Keep code `gofmt`-clean
|
|
||||||
- **Testing**: Add/adjust table-driven tests in `internal/*_test.go` for behavior changes
|
|
||||||
- **Error handling**: Return wrapped errors (`fmt.Errorf("context: %w", err)`) from command handlers
|
|
||||||
- **CLI conventions**: Keep command behavior consistent with existing Cobra commands (`lint`, `check`, `health`, `build`, `report`, `validate`)
|
|
||||||
|
|
||||||
## CI/Automation
|
|
||||||
- **PR + weekly validation**: `.github/workflows/pull_request.yml`
|
|
||||||
- Triggers on pull requests to `master` and weekly schedule
|
|
||||||
- Builds Go CLI and runs `./awesome-docker validate`
|
|
||||||
- **Weekly broken links issue**: `.github/workflows/broken_links.yml`
|
|
||||||
- Runs `./awesome-docker check`
|
|
||||||
- Opens/updates `broken-links` issue when failures are found
|
|
||||||
- **Weekly health report issue**: `.github/workflows/health_report.yml`
|
|
||||||
- Runs `./awesome-docker health` then `./awesome-docker report`
|
|
||||||
- Opens/updates `health-report` issue
|
|
||||||
- **GitHub Pages deploy**: `.github/workflows/deploy-pages.yml`
|
|
||||||
- On push to `master`, builds CLI, runs `./awesome-docker build`, deploys `website/`
|
|
||||||
|
|
||||||
## Makefile Workflow
|
|
||||||
- The `Makefile` models file dependencies for generated artifacts (`awesome-docker`, `website/index.html`, `config/health_cache.yaml`, `HEALTH_REPORT.md`, `HEALTH_REPORT.json`).
|
|
||||||
- Prefer `make` targets over ad-hoc command sequences so dependency and regeneration behavior stays consistent.
|
|
||||||
- Use:
|
|
||||||
- `make workflow-dev` for local iteration
|
|
||||||
- `make workflow-pr` before opening/updating a PR
|
|
||||||
- `make workflow-maint` for health/report maintenance
|
|
||||||
- `make workflow-ci` for CI-equivalent local checks
|
|
||||||
|
|
||||||
## Content Guidelines (from CONTRIBUTING.md)
|
## Content Guidelines (from CONTRIBUTING.md)
|
||||||
|
|
||||||
|
- **The projects has to be for Docker, not just using Docker.**
|
||||||
- Use one link per entry
|
- Use one link per entry
|
||||||
- Prefer project/repository URLs over marketing pages
|
- Prefer project/repository URLs over marketing pages
|
||||||
- Keep entries alphabetically ordered within each section
|
- Keep entries alphabetically ordered within each section
|
||||||
|
|||||||
Reference in New Issue
Block a user