4.2 KiB
AGENTS.md
Project Overview
awesome-quant is a curated list of quantitative finance libraries, packages,
and resources. The source of truth is README.md; the static website is
generated into site/index.html.
The README is organized by category headings (##), not by language headings.
Language support is stored in inline backtick tags inside each entry.
Architecture
README.mdcontains curated entries.parse.pyparsesREADME.md, enriches GitHub/CRAN/PyPI metadata, and writessite/projects.csv.site/generate.pyreadssite/projects.csvwhen present, otherwise parsesREADME.mddirectly for local previews, then writessite/index.html..github/workflows/build.ymlruns the parser and generator, then deployssite/to GitHub Pages.
Commands
# Install deps (requires Python 3.11+)
uv sync --no-install-project
# Validate README entries changed in a PR
uv run python scripts/validate_readme.py --diff-from origin/main
# Validate the full README; legacy format/duplicate/URL issues are warnings by default
uv run python scripts/validate_readme.py
# Run parser (requires GitHub token)
GITHUB_ACCESS_TOKEN=<token> uv run python parse.py
# Generate static site
uv run python site/generate.py
Entry Format
The critical parser regex is:
^\s*- \[(.*)\]\((.*)\) - (.*)$
Accepted entry examples:
- [Project Name](https://github.com/owner/repo) - `Python` - Description ending with a period.
- [Project Name](https://github.com/owner/repo) - `Python` `Rust` - Description ending with a period.
- [Project Name](https://site.com) - `Python` - Description ending with a period. [GitHub](https://github.com/owner/repo)
- [Package Name](https://cran.r-project.org/package=pkg) - `R` - Description ending with a period.
- [package-name](https://pypi.org/project/pkg/) - `Python` - Description ending with a period.
Rules:
- New non-commercial entries must include one or more backtick language tags
followed by
-. - Descriptions must end with a period before the optional
[GitHub](...)link. - URLs in new entries must use
https://. - Commercial/proprietary projects belong in
## Commercial & Proprietary Services. - Language tags are optional only for commercial services and other non-language
sections such as
Related Lists. - Use
CONTRIBUTING.mdas the user-facing source for contribution rules.
PR Review Workflow
This repo receives most contributions as pull requests adding README entries. Use Codex repo skills for repeatable review workflows:
$sprr- single PR reviewer.$bprr- bulk PR reviewer.$update-pypi-dates- refresh tracked PyPI last-updated dates.
Review requirements:
- Only review the PRs the user asked you to review.
- Use GitHub MCP tools for PR operations, not the
ghCLI. - Present findings before any PR-modifying action.
- Always ask the user before commenting, labeling, closing, or merging.
- Check section placement, duplicates in
README.md, entry format, URL format, and project activity/documentation. - Use the
reviewedlabel only after the user approves a review comment.
GitHub MCP Tools
This project expects Codex to have a GitHub MCP server configured for PR work. Useful tool capabilities include:
- List open pull requests.
- Get PR details, files, comments, labels, and diffs.
- Fetch
README.mdfrom the default branch for duplicate checks. - Add PR comments and labels.
- Merge pull requests after explicit user approval.
See docs/codex-setup.md for local Codex setup notes. If GitHub MCP tools are
not available in a session, report that PR operations are blocked and ask the
user to configure the MCP server.
Local Validation Notes
scripts/validate_readme.py --diff-from <ref>is intended for PR checks. It validates only added README entries and treats duplicates/URL issues as errors for those additions.scripts/validate_readme.pyvalidates the full README. Legacy format, duplicate, and URL problems are reported as warnings unless strict flags are used.parse.pyrequiresGITHUB_ACCESS_TOKEN;site/generate.pycan run without the token ifsite/projects.csvalready exists or if it falls back to direct README parsing.