Flowbite-svelte publishes 1.33.1 while its own manifest still reads 1.32.0
Official Svelte components built for Flowbite and Tailwind CSS
At a glance
- What is it?
- Flowbite-svelte is a Svelte component library on Tailwind CSS, published from a repository that also hosts its documentation site and a generated LLM text file. Its manifest version trails its newest tag, its scripts mix two package managers, and the README carries no install command at all.
- Who is it for?
- Flowbite-svelte is a reasonable pick for a Svelte project that already uses Tailwind and wants a documented component set with two test stacks behind it, and the per component documentation pages are the real interface, not the README. Check three things before committing.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 141 days ago.
- What is it written in?
- Mainly CSS, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on November 14, 2026, and from our analysis. They are not legal advice.
Star history
- themesberg/flowbite-svelte2,792 ★ · +7
| Repository | 2026-10-04 | 2026-11-14 |
|---|---|---|
| themesberg/flowbite-svelte | 2.8k | 2.8k |
7 Stars in the last 41 days, measured from the daily GitHub snapshot. Compare with other projects
Editorial analysis
The manifest reads 1.32.0 and the newest published tag is 1.33.1
The version recorded in the package manifest is 1.32.0. The published releases tell a different story: the newest are v1.33.1, then v1.32.1, and behind both of those a v2.0.0-next.13 prerelease from a few days earlier.
Two things follow from that list. First, the two 1.x releases were published on the same day, twenty nine minutes apart, which is the shape of a patch that was corrected rather than a planned release train. Second, the manifest on the default branch names a version that is not the newest 1.x release, so the working tree is behind its own published history by one patch.
The versioning is driven by changesets rather than by hand. There is a .changeset directory, a CHANGELOG.md, and three scripts whose names are abbreviated forms of the same tool: one to add a changeset, one to version, one to publish. Under that arrangement the version field is rewritten at release time, so a manifest reading 1.32.0 with a 1.33.1 tag in existence is a sign of where the branch is sitting, not of a mistake.
Dates complete the picture. The newest release is 2026-04-07, and the last push to the main branch is 2026-06-27, so the repository is a couple of months ahead of anything published. It is not archived.
The README has no install command and repeats one badge four times
The installation section of the README contains no command. It is five links: a getting started page, an introduction, a types page, a page on how to contribute, and a licence page, all pointing at the documentation site. The full documentation is that site as well, at flowbite-svelte.com, which is also the homepage recorded in the package manifest.
So the package name and the documentation site are the only handles a reader gets from the repository itself. The npm package is flowbite-svelte, and the badge row at the top of the README points at its npm page.
That badge row is worth a second look, because the same npm link appears four times in a row before the licence link and a Discord invite. Four identical badges is not a rendering accident in the source as committed; the repetition is in the file.
One more link sits above the installation section: a codebase visualiser hosted on an Azure Static Web Apps address with a generated subdomain name. It is a third party rendering of this repository's structure, which means the file a visitor reads depends on a service that could be turned off without any change to the repository.
Everything else in the README is a three column table of component names and links, which is a directory rather than an explanation.
One script block mixes npm, pnpm and npx
The scripts section is the most informative file in the repository, and it is inconsistent in a way that tells you how the project grew.
The build script runs the bundler and then invokes the packaging step with npm. The packaging step itself is three commands in a row: a SvelteKit sync, a package step, and publint, which checks that the artefact about to be published is shaped correctly for a consumer. The prepublish hook runs the packaging step again on its own, so the checks run at both build time and publish time.
The test script chains two suites with npm run, an end to end run through Playwright and a unit run through Vitest. The lint script is where the other package manager appears: it starts with a pnpm invocation of the format step before running a Prettier check and ESLint. Further down, a helper chain of six steps is written entirely with pnpm, and two of the generator scripts call a helper binary that writes exports, documentation prop values and component data prop values for this repository by name.
So three different invocation styles appear in one block: npm run, pnpm and npx. None of it is wrong, and a contributor who copies a line will get the right command on a machine that has both tools installed.
The committed environment file points analytics at a placeholder
There is an environment example file at the root, and it is short enough to read in full:
FATHOM_ID=ABCDEFGH
PUBLIC_SHOW_HINT=true
VITE_IMG_DIR=https://flowbite-admin-dashboard.vercel.app/imagesThree facts sit in those three lines. The analytics identifier is a placeholder, eight letters in a row, which is what an example file is supposed to contain and also means anyone who copies it without editing ships nothing to their analytics and knows nothing about it.
The second line is a public flag that turns a hint on, and because it is prefixed for the client it is compiled into the front end rather than read on the server. The third points the image directory at a deployment belonging to a different project, an admin dashboard template hosted on Vercel. So the documentation site's images are hot linked from somebody else's deployment rather than served from this repository's own static directory, which is also present at the root.
That is a small dependency with a long tail. If that other deployment is renamed or taken down, every image path built from this variable stops resolving, and nothing in the repository records why the variable points outside itself.
Three agent instruction files and a generated LLM text file
The root contains AGENTS.md, CLAUDE.md and GEMINI.md, plus a .coderabbit.yml. Three instruction files for three different assistants, and a configuration file for a fourth tool that reviews pull requests, is an unusual concentration of machine facing configuration for a component library.
Alongside them sit two files whose purpose is not stated anywhere in the README. One is named llm.config.js, which pairs with a script named llm that runs a documentation generator and then a shell script in the scripts directory to update something called the llms text files. The other is named md-to-lim.txt, which appears to be a generated artefact of that pipeline rather than something anyone edits.
So the repository publishes, in machine readable form, a description of its own components, and the build step that produces it is part of a helper chain a contributor will run. The Markdown-in-Svelte configuration file sits next to those, since the documentation site renders Markdown pages through the component framework.
None of this is visible from the package a consumer installs. It is visible from the repository, which is the right place for it and also the reason the repository is much larger than the library it publishes.
Two test stacks, and a check script that switches off its own config
Testing is split across two frameworks and two directories. The end to end suite runs through Playwright against a live browser, and the unit suite runs through Vitest, which has its own client setup file at the root and a configuration file for the browser tests as well.
Type checking is a separate concern with three scripts. One runs a SvelteKit sync and then a Svelte check against the project's TypeScript configuration. A second is the same thing in watch mode. The third is the interesting one: it runs the framework's own check command while ignoring a list of paths that includes a test directory inside the routes, the dist folder and the build folder, and it passes a flag that turns the TypeScript configuration off.
So one of the three check paths deliberately runs with neither the project's own type configuration nor its own test routes. That is a reasonable thing to want while a migration is in progress, and it is also the script a contributor is most likely to reach for when they want a fast check, with weaker checking than they had before.
The formatting and linting side is stricter by comparison: a Prettier write, a Prettier check over everything, and ESLint, in that order.
An official library with one named author in its manifest
The README describes the project as the official Flowbite UI component library for Svelte, and states that all interactivities are handled by Svelte rather than by a separate behaviour layer. The package manifest names a single author, an individual with an email address and a personal blog URL, while the repository, the issue tracker and the homepage all sit under the themesberg organisation.
That split is common enough in libraries maintained by a company and written by one person, and the manifest is not wrong to record it. It does mean the person named is the one a bug report effectively reaches.
The recorded primary language for the repository is CSS rather than TypeScript, which fits a library whose substance is styling and markup for an existing utility framework rather than logic.
The licence is the one piece of metadata that agrees with itself: MIT in the repository record, MIT in the package manifest, and a LICENSE file at the root. That is worth stating because it is the field anyone evaluating the library checks first, and here there is nothing to reconcile.
Editorial conclusion
Flowbite-svelte is a reasonable pick for a Svelte project that already uses Tailwind and wants a documented component set with two test stacks behind it, and the per component documentation pages are the real interface, not the README. Check three things before committing. Decide which line you want, because a 1.x release and a 2.0 next prerelease are both published and the manifest on the default branch names neither current one. Read the build scripts rather than the documentation, because the install instructions live on a separate site and the repository mixes npm and pnpm invocations in the same script block. And treat the version in the manifest as unreliable for pinning, since it trails the newest published tag by a patch while the last commit is months ahead of any release.
Frequently asked questions
what is flowbite svelte
It is the official Flowbite UI component library for Svelte, built on Tailwind CSS, with all interactivities handled by Svelte. It ships as the npm package flowbite-svelte under an MIT licence, and its documentation and component pages live on flowbite-svelte.com rather than in the repository README.
how to install flowbite svelte
The repository README contains no install command. Its installation section is five documentation links, and the package is published to npm as flowbite-svelte, so the install line itself lives on the documentation site's getting started page at flowbite-svelte.com.
is flowbite svelte free
Yes. The licence is recorded as MIT both in the repository metadata and in the package manifest, and a LICENSE file sits at the repository root. No paid tier, key or account is mentioned anywhere in the project.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/themesberg-flowbite-svelte)Star history chart for your README
[](https://hysenlabs.com/projects/themesberg-flowbite-svelte)Was this useful?