An independent, image-led directory of design agencies. The site is built with Astro, React, Tailwind CSS, and shadcn components powered by Base UI.
pnpm install
pnpm data:import
pnpm devThe agency importer reads the studios section of the source YAML, normalizes official domains, merges duplicates, and copies available logos into public/logos. It defaults to a sibling dex.list checkout; set AGENCY_SOURCE=/path/to/agency.yml to use another source.
Agency screenshots are captured separately from the site build:
pnpm exec playwright install chromium
pnpm screenshots:capture -- --concurrency=3
pnpm screenshots:report
pnpm screenshots:audit
pnpm screenshots:validateUseful options include --limit=20, --slug=agency-slug, --retry=transient, --before=2026-07-15T16:33:00.000Z, --timeout=15000, --idle-timeout=3000, and --force. The optional before boundary supports exact resume runs by selecting only entries last attempted before that timestamp. Successful captures and items awaiting manual review are skipped by default. Only entries with a successful, unobstructed capture in src/data/screenshot-manifest.json are published. Possible consent or subscription obstructions are saved under public/screenshots/review for manual review.
Review and cleanup commands:
pnpm screenshots:review -- --slug=agency-slug --approve
pnpm screenshots:review -- --slug=agency-slug --reject
pnpm screenshots:cleanpnpm test:run
pnpm check
pnpm build
pnpm test:e2eThe source data, agency names, descriptions, logos, and website screenshots belong to their respective owners. Their inclusion in this repository does not grant additional rights or imply endorsement, affiliation, or ownership by studio.list.
The MIT license applies to the original source code and documentation in this repository. It does not apply to third-party agency data, logos, trademarks, or screenshots under public/logos, public/screenshots, and generated data files derived from the source catalog. See THIRD_PARTY_ASSETS.md.