# Introduction

Installable interface components and patterns from Pratik's Lab.

> For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any URL or sending an `Accept: text/markdown` header. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md).



Pratik's Lab is a public [shadcn registry](https://ui.shadcn.com/docs/registry) for reusable interface components, utilities, and blocks. Each release pairs installable source with a concise explanation of the boundary or decision it protects.

## What ships here [#what-ships-here]

* **Source you own**: the shadcn CLI installs readable TypeScript into your project.
* **A complete contract**: dependencies, files, aliases, and usage are documented together.
* **Working previews**: evaluate behavior and composition before installing.
* **Reasoned boundaries**: understand what belongs inside the component and what remains application code.
* **Agent-readable docs**: `llms.txt`, Markdown mirrors, OpenAPI, and agent discovery ship with the site.

## Foundation collection [#foundation-collection]

The foundation collection includes [Button](/docs/components/button), [Typography](/docs/components/typography), [Layout](/docs/components/layout), and [Icon](/docs/components/icon). Each item is independently installable, or you can add the complete primitive foundation together.

Every item is built on **Base UI** (`@base-ui/react`), so each install command below is the single canonical path.

Install the collection with one command:

```shell
pnpm dlx shadcn@latest add https://lab.pratikthapw.dev/r/foundation.json
```

## How releases are selected [#how-releases-are-selected]

Components begin as product work or experiments. Before publication, each item is separated from private workspace imports and checked for accessibility, dependencies, provenance, licensing, and clean-project installation.

This registry stays focused on installable source, previews, usage contracts, and the decisions that matter when adopting a component.

## Questions [#questions]

<Accordion type="multiple">
  <AccordionItem value="faq-1">
    <AccordionTrigger>
      Why source instead of an npm component package?
    </AccordionTrigger>

    <AccordionContent>
      The shadcn model gives you ownership of the implementation. You can adapt the code to your product without wrapping an opaque dependency or waiting for a library API.
    </AccordionContent>
  </AccordionItem>

  <AccordionItem value="faq-2">
    <AccordionTrigger>
      Will every prototype be published?
    </AccordionTrigger>

    <AccordionContent>
      No. The Lab is a curated release surface. An item ships only after its public contract and provenance are supportable.
    </AccordionContent>
  </AccordionItem>
</Accordion>
