Skip to content

wanner-work/rules

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

wanner.work / rules

A monorepo of opinionated configs and rule packs for building consistent React + TypeScript projects. Each package is published under the @wanner.work/* scope and can be installed independently.

The two packages in the repo today are:

  • @wanner.work/oxlint-rules — an oxlint config wrapper that bundles a set of rules for writing consistent code. It enforces a small folder convention and a set of declaration-style rules (component shape, method exports, hook naming, etc.) so that every file in your project follows the same pattern.
  • @wanner.work/oxfmt-rules — an oxfmt config wrapper that bundles a set of formatting defaults. The wrapper is intentionally light: it ships opinionated values for the common layout and sorting options, and stays out of your way for everything else.

Repository structure

.
├── packages/
│   ├── oxlint-rules/   # @wanner.work/oxlint-rules — published to npm
│   └── oxfmt-rules/    # @wanner.work/oxfmt-rules  — published to npm
└── docs/               # Fumadocs-based documentation site (rules-docs)

Packages

  • @wanner.work/oxlint-rules — folder-scoped linting rules for components, interfaces, methods, constants, hooks, and more. See its README for the full rule list and usage.
  • @wanner.work/oxfmt-rules — formatting defaults with built-in import and package.json sorting. See its README for the option reference and usage.

Documentation

The docs/ workspace is a Fumadocs site built with Next.js. It hosts the human-readable rule reference, the folder convention, and the per-package changelogs. The site is published at rules.wanner.work.

pnpm --filter rules-docs dev          # start the docs dev server
pnpm --filter rules-docs build        # build the docs site
pnpm --filter rules-docs types:check  # type-check MDX and sources

Development

This is a pnpm workspace.

pnpm install                                            # install all workspace dependencies
pnpm --filter @wanner.work/oxlint-rules build
pnpm --filter @wanner.work/oxlint-rules lint
pnpm --filter @wanner.work/oxlint-rules check
pnpm --filter @wanner.work/oxlint-rules format

pnpm --filter @wanner.work/oxfmt-rules build
pnpm --filter @wanner.work/oxfmt-rules lint
pnpm --filter @wanner.work/oxfmt-rules format

Publishing

All @wanner.work/* packages are published to npm via GitHub Actions on every version tag (@wanner.work/<package>-v*). See .github/workflows/publish.yaml.

pnpm --filter @wanner.work/oxlint-rules release
pnpm --filter @wanner.work/oxfmt-rules release

License

MIT © wanner.work

About

A monorepo of opinionated configs and rule packs for building consistent React + TypeScript projects.

Resources

Stars

Watchers

Forks

Contributors