Show HN: WindStrap – Bootstrap 5.3.8 to Tailwind CSS Using DeepSeek V4 Flash WindStrap, a drop-in stylesheet that translates Bootstrap 5.3.8 to Tailwind CSS using DeepSeek V4 Flash, has been released on Hacker News. It re-declares every Bootstrap class as plain CSS that pulls in Tailwind utilities via the @apply directive, preserving Bootstrap's exact class names and theming while using Tailwind's pipeline. The project includes full support for layout, components, utilities, and responsive variants across all six Bootstrap breakpoints. Bootstrap 5.3.8 → Tailwind CSS , translated 1:1 by composing Tailwind utilities with the @apply directive. WindStrap is a drop-in stylesheet that gives you Bootstrap's exact class names .btn-primary , .col-md-6 , .d-flex , .text-bg-success , … built on top of Tailwind's utility engine — so you get Bootstrap's API with Tailwind's pipeline JIT output, PurgeCSS-style tree-shaking, familiar utility syntax for custom tweaks . Every Bootstrap class is re-declared as plain CSS that pulls in Tailwind utilities via @apply : / src/sections/buttons.css / .btn-primary { @apply bg-primary text-white border-primary hover:bg- 0b5ed7 hover:border- 0a58ca active:bg- 0a58ca active:border- 0a53be active:shadow- inset 0 3px 5px rgba 0,0,0,0.125 ; --bs-btn-focus-shadow-rgb: 49, 132, 253; } / src/generated/grid.css machine-generated, but real @apply CSS / .col-sm-6 { @apply sm:w-1/2; } / → @media min-width: 576px { width: 50% } / .mt-sm-3 { @apply sm:mt- 1rem important; } .d-md-none { @apply md:hidden important; } To make the responsive variants line up exactly with Bootstrap, the Tailwind theme's screens are set to Bootstrap's breakpoints: | Name | Bootstrap | Tailwind screens | |---|---|---| sm | 576px | 576px | md | 768px | 768px | lg | 992px | 992px | xl | 1200px | 1200px | xxl | 1400px | 1400px | Bootstrap's full CSS custom-property design tokens --bs-primary , --bs-body-bg , … are preserved in src/sections/root.css , including the data-bs-theme="dark" overrides, so Bootstrap's theming and dark mode keep working. Layout — containers, .row , .col- , .col-sm…xxl- , .row-cols- , .offset- , gutters .g- , .gx- , .gy- across all 6 breakpoints Content — headings, .display- , .lead , lists, blockquotes, images, figures, tables incl. striped/hover/bordered/thematic variants + responsive wrappers Forms — .form-control ± sm/lg/plaintext/color , .form-select , checks/radios/switches, .form-range , .form-floating , .input-group , validation states Components — buttons all solid/outline/link variants, sizes, groups , dropdowns, nav & navbar incl. .navbar-expand- , cards, accordion, breadcrumb, pagination, badges, alerts, progress, list-groups incl. thematic + horizontal , close buttons, toasts Overlays — modal incl. fullscreen variants , tooltips, popovers, carousel, spinners, offcanvas, placeholders Helpers — .text-bg- , .link- helpers, focus rings, icon links, ratios, fixed/sticky positioning, h/v-stack, .visually-hidden , .stretched-link , .text-truncate , .vr Utilities — alignment, float, object-fit, opacity, overflow, display, shadows, position/translate, borders, sizing, flexbox all justify/align/order utilities , spacing m/p/g incl. auto , typography .fs- , .fw- , .lh- , text transform/decoration , text/background colors incl. subtle & emphasis variants and -opacity modifiers, user-select, rounded corners all sides/sizes , visibility, z-index Responsive variants — every utility family at sm / md / lg / xl / xxl , plus .d-print- A few classes e.g. .border , .m-0 , .w-auto , .overflow-hidden , .shadow , .opacity-25 , .rounded , .visible would create a circular dependency if the class name matched the applied utility name, so they are written as the equivalent raw declaration — their values are byte-for-byte Bootstrap's. WindStrap/ ├─ .github/workflows/pages.yml GitHub Pages build + deploy ├─ tailwind.config.js Bootstrap screens + palette, fonts ├─ postcss.config.js ├─ scripts/ │ ├─ generate-utilities.js generates the repetitive grid/utility/responsive CSS │ └─ build-docs.js assembles the docs site from site/ fragments ├─ src/ │ ├─ windstrap.css entry point imports Tailwind + sections │ └─ sections/ hand-authored @apply translations │ ├─ root.css design tokens + reboot │ ├─ layout.css containers, row base │ ├─ content.css typography, images, tables │ ├─ forms.css │ ├─ buttons.css │ ├─ nav.css │ ├─ components.css │ ├─ overlays.css │ └─ helpers.css │ └─ generated/ produced by scripts/generate-utilities.js │ ├─ grid.css │ ├─ utilities.css │ └─ responsive.css ├─ site/ docs sources layout shell + content fragments │ ├─ layout.html │ └─ content/ one folder per section │ ├─ customize/ 7 pages │ ├─ layout/ 8 pages │ ├─ content/ 6 pages │ ├─ forms/ 9 pages │ ├─ components/ 23 pages │ ├─ helpers/ 12 pages │ └─ utilities/ 20 pages ├─ docs/ built docs site 85 pages │ ├─ index.html section overview │ ├─ css/docs.css docs layout mirrors getbootstrap.com │ ├─ js/docs.js copy buttons, TOC scrollspy, demo init │ └─