You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-**Lint:** oxlint (explicit config at `.oxlintrc.json`)
11
11
-**Format:** oxfmt
12
12
-**Package lint:** publint + attw (Are The Types Wrong)
13
13
-**Publish:** OIDC Trusted Publishing to public npm registry (no stored tokens)
@@ -54,6 +54,16 @@ Shared frontend service packages monorepo under the `@script-development` npm sc
54
54
55
55
**Build before typecheck.** Cross-package type resolution requires built `.d.mts` files. The CI pipeline enforces this order.
56
56
57
+
## Lint Rules
58
+
59
+
Lint configuration lives at `.oxlintrc.json` (repo-root, no per-package overrides). The explicit config declares three defaults so rule additions/removals land as a deliberate diff rather than silent upstream drift when oxlint bumps:
60
+
61
+
-**Plugins:**`typescript`, `unicorn`, `oxc` — the three plugins enabled by oxlint's own defaults.
62
+
-**Categories:**`correctness: "error"` — all 107 Correctness rules fail CI (was `warn`, so violations were silently tolerated pre-config).
63
+
-**`perf`, `suspicious`, `pedantic`, `style`, `restriction`, `nursery`:** unset — library posture is Correctness-only, opt-in per-rule for anything else.
64
+
65
+
To add a rule, set it in the `rules` object (e.g. `"perf/no-accumulating-spread": "error"`). To disable a default, set it to `"off"`. To opt into a whole category, add it to `categories` (be deliberate — `pedantic` has false positives, `nursery` is unstable). See `npx oxlint --rules` for the full catalog with default-on/off markers.
66
+
57
67
## Adding a Package
58
68
59
69
1. Create `packages/{name}/` with `package.json`, `tsconfig.json`, `tsdown.config.ts`, `vitest.config.ts`
0 commit comments