This list is generated from YAML data. Do not edit readme.md directly.
-
Add or edit entries in the
data/folder. Each file is named by slug (e.g.altern.ai.yml). -
Categories are defined in
meta/categories.yml. Use an existing category'sidformain_categoryin your entry. -
Validate by running the compiler locally:
make run
Or
make buildthen./compiler/bin/compile.If validation fails, fix the reported errors in your YAML before submitting a PR.
-
Commit your
.ymlchanges and the updatedreadme.md(runmake runto regenerate; CI will fail ifreadme.mdis out of date).
Optional config.yml in the project root can set:
output(string): Filename or path for the generated list. Default isreadme.md; if non-empty, the compiler writes to that file instead. Example:output: LIST.md.review_links_enabled(boolean): Iftrue, items with areviewlink in data YAML show it in the readme between the main link and the description as:*[review](url)*. Default isfalse.
- name (required): Display name.
- slug (required): Must match the filename (without
.yml), e.g.altern.ai. - url (required): Primary link.
- oneliner or online_description (required): Short description for the list item.
- description (optional): Longer description.
- main_category (required): Must be an
idfrommeta/categories.yml. - categories (optional): Additional category ids from
meta/categories.yml. - position (optional): Tier for ordering within the category. Allowed values and their order are defined in
meta/info.ymlunderposition_order(e.g.featured,popular,ordinary,new,dead). Items with the same position are sorted by name. If omitted, the item is treated as the last tier. Ifposition_orderis omitted in meta, all items are sorted by name only. - review (optional): URL to a review. Shown only when
review_links_enabledistrueinconfig.yml, as*[review](url)*between the main link and the description. - date_added (optional): Date the entry was added, e.g.
2025-02-01(ISO 8601). - date_modified (optional): Date the entry was last updated, e.g.
2025-02-01.
badges (list of objects) adds one or more badges after the title. Each entry has url (image URL) and link (click target). They are rendered in order on one line, separated by spaces. Example:
badges:
- url: https://awesome.re/badge.svg
link: https://awesome.re
- url: https://other.example/badge.svg
link: https://other.exampleFor a single badge you can still use badge_url and badge_link (backward compatible).
Optional position_order (list of strings) defines the display order of position tiers within each category. First in the list appears at the top (e.g. featured, then popular, then ordinary, then new, then dead). Omit to use name-only sort (current default behavior).
Optional footer (string, multiline with |) is raw markdown rendered at the bottom of the readme, after the horizontal rule. Use for extra links, credits, or notes.
CI runs on every push and pull request. It will:
- Run the compiler to validate all YAML structure and references.
- Fail if
readme.mdwould change (i.e. you must runmake runand commit the updatedreadme.mdwith your data changes).
Thanks for contributing.