Model or dataset
pulkitxm/claude-directory avatar
pulkitxm/claude-directory

Forty-one hero sections and one destructive make target

Open-source AI interfaces built with Claude (Fable 5) including hero sections, GLSL shaders, design systems, animations, 3D components and and landing pages, in React, Tailwind, and Three.js. Plug them into your AI agent and ship faster.

571 stars134 forksHTMLMIT

At a glance

What is it?
claude-directory is a gallery of web UI experiments generated with Claude, grouped into nine self-contained project folders that each ship the prompt that produced them and a screen recording. The Makefile can delete every recording in the repository, and the README tells you not to ship any of the code without reviewing it first.
Who is it for?
Use it as a source of starting points rather than components to install, because each project is self-contained and unreviewed by anything other than a model. Before copying anything out, check what the prompts were adapted from, since the repository credits several third-party prompt libraries while shipping a single MIT licence, and read the code rather than the demo video, because that is what the README asks you to do.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 2 days ago.
What is it written in?
Mainly HTML, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 4, 2026, and from our analysis. They are not legal advice.

Editorial analysis

make demos-fresh deletes every recording in the repository

One Makefile target is worth reading twice before you run anything from this repository. `make demos-fresh` finds every file named demo.mp4 or poster.jpg, prints it, and deletes it, then re-records all of them and regenerates the poster manifest. The only directories pruned from that search are node_modules and .git.

bash
find . \( -name node_modules -o -name .git \) -prune -o \( -name demo.mp4 -o -name poster.jpg \) -type f -print -delete

There is a prompt before the deletion, and a CONFIRM=1 variable skips it, and a WORKERS variable sets parallelism with a default of three. The guard is interactive only, which means it behaves differently in a script or a container with no terminal, and the comment above the target says plainly that it is destructive and can take a while.

The scoped sibling is safer and just as useful: `make demo PROJECT=hero-sections/aethera-cinematic-hero` re-records exactly one project and refreshes only that entry in the manifest. It also refuses to guess. With no PROJECT variable set, the target prints a usage line and exits with status 2, rather than falling back to every project in the repository.

Pull requests are reviewed by the same class of model that wrote the code

The contributing section has a line that deserves a second read: all pull requests get reviewed and merged by Claude Opus. The review step in this repository is performed by a model, and no human reviewer is named anywhere in the visible documentation.

That sits next to a caution box that tells you the opposite thing to trust. Every project here was generated with Claude Fable 5, the README says outright that the whole repository is vibe coded, and it tells users to review the code, check dependencies, verify accessibility and responsiveness, and run the local project checks before shipping anything to production.

So the intake side is model-reviewed and the outgoing side is your responsibility. Nobody in that arrangement is checking whether a generated component is accessible, only whether a prompt and a video are present.

Two files define the contribution contract

Contributing is described as having no templates and no ceremony, with two non-negotiable items in each project folder. The first is `prompt.md`, the prompt used to generate the project. The second is `demo.mp4`, a short screen recording of the thing working.

Everything else is left open: any stack, any approach, as long as the project lives in its own self-contained folder. Adding a row to the gallery table is described as bonus rather than required, which means the table and the folder listing are maintained by hand and can disagree.

One step is mechanical and belongs to the contributor. Once the video is in, a poster image has to be generated from it with a script under scripts/generate-posters, which writes a poster file next to the video and rewrites the root posters.json manifest. Nobody else will do that for you, and a project without a poster still lands in the directory with a missing placeholder.

One repository, nine categories, nine toolchains

The gallery is organised as nine top-level folders: hero sections, landing pages, shaders, UI design systems, components and UI, portfolios, animations and loaders, 3D and games, and templates. The hero section category alone claims forty-one entries.

What differs between folders is the stack. One hero section is described as TanStack Start with React 19, Vite 7 and Tailwind CSS v4, another is framework-free HTML, CSS and JavaScript with Space Grotesk, another uses DM Sans and no framework at all. Motion and Framer Motion both appear in the stack column across different projects, Tailwind is at v4 in some entries and unversioned in others, and a single project lists Vitest as a dependency.

So there is no shared build, no shared test run and no single install. Each project is a small independent app, which is the right shape for copy-paste use and the wrong shape for anything like a monorepo upgrade or a shared security patch.

The descriptions also show how much of the variation is visual technique rather than functionality: background video through HLS with a named provider, count-up balances, growing bar charts, scan-line overlays, self-drawing animated SVG logos, character-by-character headline reveals, layered progressive blurs and CSS marquee logo scrollers. One entry advertises headless verification in its description, and another lists a testing library in its stack, so verification appears to be present project by project rather than anywhere in the repository.

The README tells you not to ship any of it

The caution box is the most useful sentence in the documentation, and it is unambiguous: review the code, check dependencies, verify accessibility and responsiveness, and run the local project checks before shipping anything to production.

Nothing in the repository enforces that. The Makefile has five targets, and they are housekeeping rather than verification: counting lines of code, formatting, re-recording demos, and a contributor script. None of those five targets is a test, and with no shared toolchain there is nowhere obvious to put one.

The provenance note adds a second thing to check. Some prompts were inspired by or adapted from public prompt and design references, with seven sources credited by link, including a gist, two prompt libraries and several site generators. The repository is MIT, and nothing in that licence discussion covers prompts borrowed from other collections.

Formatting runs through npx, not the checked-in Biome

The format target is one line, and it does not use the project's own dependency.

bash
npx @biomejs/biome@2 format --write .

That fetches Biome from the registry at the moment you run it, pinned only to a major version, and then rewrites every file in the repository. A repository with a checked-in biome.json and one lockfile gets its formatter from the network, at whatever point release the major tag points to.

The other targets are more self-contained. The line counter pipes git-tracked files, minus diff files, into cloc. The demo targets call shell scripts under scripts/record-demos and the poster generator. The contributor target is a single node script, scripts/contri.mjs. Nothing else is wrapped, and the README documents none of these targets at all.

The repository root is the deployed site

The top-level listing explains itself once you notice what is in it: a .nojekyll file, favicons at four sizes plus an SVG, an apple touch icon, a manifest.json alongside a manifest.webmanifest, and a directory of icons. Those are the files a static host needs to serve a site from a repository root, so the gallery itself is deployed from here.

Two generated indexes sit beside them. posters.json is rewritten by the poster script, and project-dates.json orders entries by date. Neither is described in the prose, so both are things to look at rather than read about.

The addresses differ too. The repository metadata points at one domain for the project page, while the README tells visitors to browse the live directory at another. Two hostnames for one gallery is a small thing, but it is the kind of detail that matters when you are checking whether a demo video matches what you would download.

Two more root files do not belong to a gallery at all: a .claude directory and an opencode.json, both agent configuration sitting next to the favicons. The one-line repository description also carries a duplicated word, listing landing pages twice, which suggests the summary was assembled rather than written.

Editorial conclusion

Use it as a source of starting points rather than components to install, because each project is self-contained and unreviewed by anything other than a model. Before copying anything out, check what the prompts were adapted from, since the repository credits several third-party prompt libraries while shipping a single MIT licence, and read the code rather than the demo video, because that is what the README asks you to do. Never run the Makefile's fresh-demos target on a clone you cannot restore.

Frequently asked questions

What is in the claude-directory repository?

A gallery of web UI experiments generated with Claude, grouped into nine category folders covering hero sections, landing pages, shaders, UI design systems, components and UI, portfolios, animations and loaders, 3D and games, and templates.

What does each project folder in claude-directory contain?

The generated project plus the prompt that produced it as prompt.md and a short screen recording as demo.mp4. A poster image is generated from that video by a script which also updates the root posters.json manifest.

Is it safe to ship code from claude-directory?

The README says every project was vibe coded and advises reviewing the code, checking dependencies, verifying accessibility and responsiveness, and running local project checks before shipping anything to production. No repository-wide test or audit command exists.

How do I contribute to claude-directory?

Open a pull request. The two non-negotiable files are prompt.md and demo.mp4 inside the project folder, and the stack is otherwise up to you. The Makefile has a demo target that re-records one project's video and regenerates its poster entry.

Who reviews pull requests to claude-directory?

The README states that all pull requests get reviewed and merged by Claude Opus, as long as the prompt and the demo are present. No human reviewer is named.

Official sources

  1. Issues
  2. License: MIT
  3. Project website
  4. pulkitxm/claude-directory on GitHub
  5. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/pulkitxm-claude-directory.svg)](https://hysenlabs.com/projects/pulkitxm-claude-directory)