@ceralive/biome-config
v2026.6.2
Published
Shared Biome 2.5 configuration encoding the CeraLive/CeraUI canon style (tabs, 100-col, single quotes, Svelte/Astro/HTML/CSS + Tailwind directives on).
Downloads
206
Maintainers
Readme
@ceralive/biome-config
Shared Biome 2.5 configuration that encodes the CeraLive / CeraUI
canon code style. Extend it from any @ceralive/* repo so every package formats and lints
identically without copy-pasting config.
What it encodes
| Aspect | Value |
|--------|-------|
| Indent | Tabs (indentWidth: 2) |
| Line width | 100 |
| Line ending | lf |
| JS/TS quotes | Single |
| Semicolons | Always |
| Trailing commas | All |
| Import sorting | On (assist.organizeImports) |
| Linter | recommended rules enabled |
| Svelte / Astro / HTML | html.experimentalFullSupportEnabled + HTML formatter on |
| CSS | Formatter on, Tailwind directives parsed (css.parser.tailwindDirectives) |
The package ships only the canon. Repo-specific overrides — e.g. CeraUI's
.svelte formatter-disable, the backend's noUndeclaredVariables: off, or any
files.includes globs — stay in each repo's own biome.json via overrides /
top-level keys layered on top of extends.
Install
npm install --save-dev @ceralive/biome-config @biomejs/biome
# or: pnpm add -D @ceralive/biome-config @biomejs/biome
# or: bun add -d @ceralive/biome-config @biomejs/biomeUsage
Create a biome.json at your repo root that extends the shared config:
{
"$schema": "https://biomejs.dev/schemas/2.5.0/schema.json",
"extends": ["@ceralive/biome-config"]
}That alone gives you tabs / 100-col / single-quote formatting plus the recommended
linter rules. Layer repo-specific settings on top — extends is merged, so anything
you add wins over the shared base:
{
"$schema": "https://biomejs.dev/schemas/2.5.0/schema.json",
"extends": ["@ceralive/biome-config"],
"files": {
"includes": ["src/**/*.ts", "src/**/*.svelte", "!**/dist"]
},
"overrides": [
{
"includes": ["**/*.svelte"],
"formatter": { "enabled": false }
}
]
}Then run Biome as usual:
biome check .
biome format --write .Versioning
@ceralive/biome-config follows the CeraLive CalVer scheme YYYY.MINOR.PATCH
(e.g. 2026.6.1) — the system-wide convention documented in
CeraUI/docs/APT_VERSION_CONTROL.md (§ CalVer Convention) that every versioned
CeraLive artifact (.deb, npm, Cargo) shares.
YYYY— four-digit release year.MINOR— month number, not zero-padded (6for June, not06).PATCH— monotonic counter within that year+month, starting at1.
So 2026.6.1 is the first June 2026 release.
Releases publish on the biome-config-vYYYY.M.P tag namespace, deliberately distinct
from the workspace's other release tags so a config bump ships on its own cadence.
-rc.N prereleases (e.g. biome-config-v2026.6.2-rc.1) go to the npm next
dist-tag; stable releases go to latest.
npm parses YYYY.MINOR.PATCH as valid semver, so caret ranges such as ^2026.6.1
resolve and match newer same-year releases exactly as they would for any semver pin.
The pinned Biome schema URL in this package tracks the Biome version the canon was
validated against (2.5.x).
Publishing
Releases publish to the public npm registry via npm trusted publishing (GitHub
Actions OIDC) — no NPM_TOKEN. Pushing a biome-config-vX.Y.Z tag runs
publish-biome-config.yml, which
verifies the tag matches package.json version, validates biome.json against the
Biome 2.5 schema, guards the tarball contents, then publishes via the OIDC identity
exchanged against the package's trusted publisher.
npm provenance attestations are emitted automatically when the source repo is
public; they are intentionally disabled while the repo is private. To cut a release:
bump package.json version, merge to master, then
git tag biome-config-vX.Y.Z && git push origin biome-config-vX.Y.Z.
License
AGPL-3.0
