Install
The two install channels for flawless-react, what each needs on the target machine, and which tasks each can run
Two channels
There are two ways to install flawless-react, both served from the LAN. They ship different
things, so pick by whether the target machine has Bun and by which of the seven tasks you need.
| What differs | Standalone binary | Source package |
|---|---|---|
| Needs Bun on the target | No | Yes, Bun >= 1.1 |
Needs jq on the target | Only for the load task | Only for the load task |
perf-harness, unit-browser, perf-static | Work anywhere | Work anywhere |
a11y, react-rules | Need biome in the scanned project or on PATH | Work with no further setup |
| Ships biome | No — a compiled binary cannot carry it | Yes — @biomejs/biome is a real dependency |
The CLI itself never shells out to jq. The one place it is needed is flawless/load/env.sh, the
script the load task emits for you to source before a crust run — that is what reads the ids out
of e2e/params.json. Without jq the script says so and exports nothing; every other task is
unaffected.
Standalone binary
Nothing to install alongside it, and no Bun on the target machine.
curl -fsSL https://raw.githubusercontent.com/lariocpt/flawless-react/main/install.sh | bash This is the right channel for a build agent, a container, or any box where you do not want a
Bun toolchain. perf-harness, unit-browser and perf-static are fully self-contained in the
binary; a11y and react-rules have the caveat described below.
Source package
Every task works with no further setup, because biome comes along as a real dependency.
bun add -g @lariocpt/flawless-react You can also run it one-shot with no install at all, which is the usual way to try it against a single component:
bunx flawless-react ./src/Dashboard.tsx
Skills, at install time
The source package asks one question while it installs: whether to put the agent
skills into the project you are installing into. It asks only in a
terminal, never on CI, never for a global install, and the default is no. npm install
can skip install scripts entirely, so the same offer is made at the end of an
interactive flawless-react run, and flawless-react skills install is always there:
flawless-react skills list
flawless-react skills install --all
Set FLAWLESS_NO_SKILLS=1 and neither place ever asks.
Why the binary cannot carry biome
The binary is self-contained Bun, which means it has no node_modules tree at runtime — there
is nowhere for a bundled biome to live. Five of the seven tasks do not care: perf-harness,
unit-browser and perf-static are pure analysis and scaffolding, and they work anywhere.
The other two, a11y and react-rules, shell out to biome. They resolve it from the project
you are scanning, first at node_modules/.bin/biome and then on PATH. Any React codebase that
already lints with biome satisfies that for free, and you will never notice the limitation.
If the project you are scanning does not have biome, you have two fixes:
# in the project being scanned
bun add -d @biomejs/biome
or install the source package instead, where biome is a dependency of the tool itself.
Verify it worked
flawless-react --version
flawless-react --help
--version prints the installed version. --help lists every flag and the seven task ids —
perf-harness, unit-browser, perf-static, a11y, react-rules, e2e, load — which are the exact
strings --tasks accepts. If you went the one-shot route, prefix both with bunx.