Ecosystem

A growing set of projects built on top of Cotton, from component libraries to editor tooling. Most are third-party and independently maintained. Built something? Add it.

Component Libraries

Pre-built UI kits and component sets you can drop into a Cotton project.

shadcn-django by Sarthak Jariwala

Copy-paste shadcn/ui components for Django, built with Tailwind and Alpine and HTMX-friendly.

labb by labbhq

A large Tailwind and daisyUI 5 component library.

django-basecoat by Ignace Maes

Ready-made Basecoat (shadcn/ui) components for Django, powered by Cotton.

django-cotton-ui by Will Abbott

An official Cotton UI kit: themeable interactive components based on Tailwind 4 and Alpine.js 3.

Icons

Icon sets exposed as Cotton components.

cotton-icons by Will Abbott

An official Cotton icon library exposing the Lucide, Tabler and Heroicons sets as Cotton components.

cotton-heroicons by Simon Kelly

The Heroicons set exposed as Cotton components, with outline, solid, mini and micro variants.

cotton-iconify by nklsw

A CLI that generates any Iconify icon as a Cotton component.

Tooling & CLI

Command-line tools that scaffold components into your project.

cotton-daisy by Adrian Ciolek

A CLI that scaffolds DaisyUI components for Cotton. Requires DaisyUI and Cotton set up first.

Editor Support

Editor extensions that understand Cotton's component tags.

Django Cotton (VS Code) by twentyforty

Autocompletion for component tags, go-to-definition, parameter intellisense from c-vars, and missing-component diagnostics.

Syntax highlighting for .cotton.html files, plus autocomplete, hover docs, go-to-definition and unknown-component diagnostics.

Tutorials & Articles

Community write-ups using Cotton.

Builds a reusable modal with Cotton and Alpine, with a companion repo.

Part 8 of a To-do app series, refactoring HTMX templates into Cotton components.

A full app walkthrough that uses Cotton for reusable components alongside HTMX and Alpine.

Add Yours

Built a library, tool, extension or tutorial for Cotton? Share it in GitHub Discussions and it can be added here.