npm.io
1.0.6 • Published 2d agoCLI

@77sol-ui/configs

Licence
Version
1.0.6
Deps
0
Size
23 kB
Vulns
0
Weekly
611

@77sol-ui/configs

Strict, opinionated configurations for Biome, TypeScript, commitlint, lefthook, VSCode and Claude Code — the 77sol in-house standard.

What you get

  • Biome — formatter + linter (biome/base.json)
  • TypeScript — maximally strict presets (tsconfig/base.json, tsconfig/node.json, tsconfig/react-native.json)
  • commitlint — conventional commits (commitlint/base.js)
  • lefthook — pre-commit (staged-file biome + tsc), pre-push (biome + tsc + tests) and commit-msg (commitlint) (lefthook/base.yml)
  • VSCode — biome as default formatter, format/organize-imports on save (.vscode/settings.json, .vscode/extensions.json)
  • Claude Code — pre-approved tool list for the common workflow (claude/settings.json)

Installation

Run the installer in your project root:

npx @77sol-ui/configs install

This will:

  • Install @77sol-ui/configs, @biomejs/biome, @commitlint/cli, @commitlint/config-conventional, lefthook and typescript as dev dependencies
  • Write biome.json extending the base preset
  • Write tsconfig.json extending @77sol-ui/configs/tsconfig/base.json
  • Write commitlint.config.js re-exporting the base config
  • Write lefthook.yml
  • Write .gitattributes (LF line endings)
  • Write .vscode/settings.json and .vscode/extensions.json
  • Write .claude/settings.json
  • Add lint, lint:fix, typecheck and prepare scripts to package.json
  • Run lefthook install and biome check --write

Doctor

Check that your project is correctly set up:

npx @77sol-ui/configs doctor

Verifies every file/script/dependency the installer touches.

TypeScript variants

Preset Use case Highlights
tsconfig/base.json Library / check-only noEmit, Preserve module, bundler resolution, full strict
tsconfig/node.json Node services that emit NodeNext resolution, emits to dist/ with sourcemaps + declarations
tsconfig/react-native.json React Native / Expo JSX, react-native types, customConditions

All presets enable: strict, exactOptionalPropertyTypes, noUncheckedIndexedAccess, noPropertyAccessFromIndexSignature, noImplicitOverride, noImplicitReturns, noFallthroughCasesInSwitch, noUnusedLocals, noUnusedParameters, verbatimModuleSyntax, erasableSyntaxOnly, isolatedModules.

Publishing (maintainers only)

This package is published to the public npm registry under the @77sol-ui org on every release tag:

yarn version <patch|minor|major>
yarn npm publish
git push --follow-tags

publishConfig.access is set to public in package.json, so the scoped package is published publicly. The maintainer must be authenticated to npm (npm login) with publish rights on the @77sol-ui org.

Keywords