docs: add repository agent guidance

This commit is contained in:
Vinta Chen
2026-05-27 15:41:37 +08:00
parent e90ae86068
commit 79e0d8dc29

31
AGENTS.md Normal file
View File

@@ -0,0 +1,31 @@
# AGENTS.md
## Repository Overview
An opinionated list of Python frameworks, libraries, tools, and resources. Published at [awesome-python.com](https://awesome-python.com/).
## Entry Guidelines
**Refer to [CONTRIBUTING.md](CONTRIBUTING.md)** for acceptance criteria, quality requirements, rejection rules, and entry format. Apply these rules whenever adding or removing an entry, whether reviewing a PR or committing directly.
## Structure
- **README.md**: Source of truth for catalog entries and README sponsor placements. Hierarchical categories with alphabetically ordered entries.
- **CONTRIBUTING.md**: Submission guidelines and review criteria.
- **SPONSORSHIP.md**: Sponsor tiers, placement rules, and the editorial-independence policy. `website/templates/sponsorship.html` separately defines which sponsorship content appears on the published website page.
- **website/**: Static site generator that builds awesome-python.com from README.md.
- `build.py`: Parses README.md and renders HTML via Jinja2 templates.
- `fetch_github_stars.py`: Fetches star counts into `website/data/`.
- `readme_parser.py`: Markdown-to-structured-data parser.
- `templates/`, `static/`: Jinja2 templates and CSS/JS assets.
- `tests/`: Pytest tests for the build pipeline.
- **Makefile**: `make install`, `make build`, `make preview`, `make test`, `make lint`, `make format`, `make typecheck`, `make fetch_github_stars`.
- **pyproject.toml**: Uses `uv` for dependency management. Python >=3.13.
## Key Rules
- Alphabetical ordering within categories is mandatory.
- Quality over quantity. Only "awesome" projects.
- One project per PR.
- One entry per commit when adding or deleting entries. Format, wording, or categorization changes across multiple entries may be bundled in a single commit.
- README.md is the source of truth for catalog entries and README sponsor placements; treat `SPONSORSHIP.md` and `website/templates/sponsorship.html` as separate sponsorship content surfaces.