finds.dev← search

// the find

claudio-silva/claude-artifact-runner

★ 562 · TypeScript · MIT · updated Jan 2026

From Claude Artifact to deployable React app — in seconds!

A zero-config tool for taking Claude-generated React artifacts from the Claude.ai sandbox and running, building, or deploying them as standalone apps. Targets people who want to go from Claude's preview to something deployable without wiring up a Vite project themselves. The npx flow is the main sell — clone, inject artifact, serve, clean up.

The npx one-liner that handles the full clone-inject-serve-cleanup cycle is genuinely well thought out; no global install needed and no leftover temp directories. Single-file HTML output with inlined assets is a smart default — it means a non-developer can double-click the result and it mostly works. File-based routing for multi-artifact apps is a clean solution to a real problem: Claude often generates page components that need to link to each other. Docker image is a nice bonus for CI pipelines where Node isn't available.

The tool clones the template repo fresh every run, so every invocation hits the network and waits on git + npm install — this is slow and will fail silently if GitHub is down or the user is offline. Strict TypeScript checking is disabled by default because AI-generated code routinely fails it, which means you're often deploying code with unknown type errors. The dependency on a specific template repo means version drift between what Claude actually emits and what the template bundles is an ongoing maintenance problem — Anthropic can update their artifact environment without notice and suddenly components break. There's no way to pass environment variables or API keys to artifacts, so anything requiring a backend token is a dead end without modifying the project manually.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →