artifacts-builder

Bundle Vite + React + TypeScript projects into a single self-contained HTML artifact.

1|Updated Apr 6, 2026
One-click install
npx skills add https://github.com/pkoka888/server-infra-templates --skill artifacts-builder-pkoka888
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: artifacts-builder
Source: https://github.com/pkoka888/server-infra-templates/tree/main/.kilo/skills/marketplace/artifacts-builder
Command: npx skills add https://github.com/pkoka888/server-infra-templates --skill artifacts-builder-pkoka888

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires parcel, @parcel/config-default, parcel-resolver-tspaths, html-inline, [email protected], postcss, autoprefixer, @types-node, tailwindcss-animate, class-variance-authority, clsx, tailwind-merge, lucide-react, next-themes, @radix-ui/react-accordion, @radix-ui/react-aspect-ratio, @radix-ui/react-avatar, @radix-ui/react-checkbox, @radix-ui/react-collapsible, @radix-ui/react-context-menu, @radix-ui/react-dialog, @radix-ui/react-dropdown-menu, @radix-ui/react-hover-card, @radix-ui/react-label, @radix-ui/react-menubar, @radix-ui/react-navigation-menu, @radix-ui/react-popover, @radix-ui/react-progress, @radix-ui/react-radio-group, @radix-ui/react-scroll-area, @radix-ui/react-select, @radix-ui/react-separator, @radix-ui/react-slider, @radix-ui/react-slot, @radix-ui/react-switch, @radix-ui/react-tabs, @radix-ui/react-toast, @radix-ui/react-toggle, @radix-ui/react-toggle-group, @radix-ui/react-tooltip, sonner, cmdk, vaul, embla-carousel-react, react-day-picker, react-resizable-panels, date-fns, react-hook-form, @hookform/resolvers, zod, vite, and includes scripts (resource) components.

What problem does it solve?

Creates self-contained, shareable frontend artifacts so developers and reviewers can run and preview complex React + Tailwind + shadcn/ui applications without installing a project or resolving dependencies manually.

Core Features & Use Cases

  • Project scaffolding: Initializes a Vite + React + TypeScript project preconfigured with Tailwind CSS, shadcn/ui components, path aliases, and sensible defaults.
  • Single-file bundling: Produces a single inlined HTML file containing all JavaScript and CSS suitable for sharing as an artifact or embedding in demos.
  • Use cases: Rapid prototyping, demoing UI components to stakeholders, producing shareable artifacts for Kilo sessions, and packaging visual proofs-of-concept for reviews.

Quick Start

Run the initialization script to scaffold a Vite+React+shadcn project and then run the bundling script to produce a single bundle.html artifact.

Frequently Asked Questions about artifacts-builder

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I bundle a React app into a single HTML file?

You can bundle a React app into a single HTML file by using Parcel and html-inline to inline all JavaScript and CSS assets, generating a self-contained bundle.html artifact suitable for sharing.

Can I use Vite and shadcn/ui components to create a shareable UI artifact?

Yes, this approach scaffolds a Vite, React, and TypeScript project preconfigured with Tailwind CSS and shadcn/ui components specifically to package visual proofs-of-concept and shareable UI artifacts.

What is the best way to share a React frontend demo without installing dependencies?

The best way to share a React frontend demo without installing dependencies is producing a single inlined HTML file containing all JavaScript and CSS, allowing reviewers to run and preview the application directly.

Does single-file bundling work with Tailwind CSS and TypeScript projects?

Single-file bundling works with Tailwind CSS and TypeScript projects by applying Parcel plus html-inline to a Vite project structure, inlining assets and styles into one bundle.html output.

What are the Node environment requirements for inlining React assets into one file?

The Node environment requirement for inlining React assets into one file is Node 18 or higher, along with a valid project index.html entrypoint for Parcel to process and generate the bundle.

Why does my React project need path aliases and a specific index.html entrypoint for bundling?

Your React project needs path aliases resolved via parcel-resolver-tspaths and a specific index.html entrypoint to ensure Parcel correctly locates modules and inlines all assets into the final bundle.html.