Public content repo for agentfirst.directory.
This repo contains the approved directory content only:
- categories in
categories/ - tools in
tools/
The website code lives separately in bradvin/agentfirst.directory-site and consumes this repo as a git submodule.
Each category is one JSON file in categories/<slug>.json.
Example:
{
"slug": "agent-security",
"label": "Agent Security",
"sortOrder": 110
}Rules:
slugmust be lowercase kebab-caselabelshould be short enough to fit in the site navigationsortOrderis optional, but helps place the category in the list
Each tool is one Markdown file in tools/<slug>.md.
Example:
---
slug: "coolapi"
name: "CoolAPI"
description: "An agent-first API for doing cool things"
category: "agent-security"
tags:
- "mcp"
- "security"
- "api"
websiteUrl: "https://coolapi.dev"
githubUrl: "https://github.com/cooldev/coolapi"
logoUrl: "https://www.google.com/s2/favicons?sz=64&domain_url=https://coolapi.dev"
ogImageUrl: "https://coolapi.dev/og-image.png"
pricing: "freemium"
submittedBy: "your-github-handle"
---
Short summary of what the tool does.Required tool fields:
slugnamedescriptioncategorytagswebsiteUrlpricingsubmittedBy
Optional tool fields:
githubUrllogoUrlogImageUrlsortOrder
Valid pricing values:
open-sourcefreemiumfreepaid
- Fork this repo or create a branch.
- Pick the closest existing category in
categories/. - Add a new file in
tools/<slug>.md. - Fill in the frontmatter, including
ogImageUrlwhen available, and add a short body description. - Open a pull request to
main.
If a tool PR omits asset fields, the repo now auto-fills them on the PR branch when possible:
- missing
logoUrldefaults to a Google favicon URL based onwebsiteUrl - missing
ogImageUrlis discovered from the tool website's social metadata
Add a new category only when the current list clearly does not fit.
- Create
categories/<slug>.json. - Keep the label concise.
- Add or update at least one tool in the same PR to use that category.
- Open a pull request to
main.
- Keep descriptions factual and compact.
- Use the canonical website URL.
- Add
githubUrlwhen the tool is open source. - Add
ogImageUrlfrom the product's social preview image when available. - Keep tags useful and specific.
- Do not create duplicate listings for the same product.
Populate missing social preview images from each tool's website metadata:
npm run enrich:og-imagesWrite discovered ogImageUrl values back into tool files:
npm run enrich:og-images -- --writeRefresh even tools that already have ogImageUrl set:
npm run enrich:og-images -- --write --refreshPopulate both missing logoUrl and ogImageUrl values:
npm run enrich:tool-assets -- --write- Identity & Comms
- Compute & Sandboxes
- Browser Automation
- Crawling & Extraction
- Memory & State
- Payments
- SaaS Integrations
- Orchestrators
- API Orchestration
- Voice & Multimodal
- Search & Discovery