thefrontside / thefrontside/effectionx

Lint the repository with Oxlint

Open
#255 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
TypeScript
Stars
12
Forks
4
Avg merge
3h 17m
Merged PRs (30d)
1

Description

Parent Quest: #254

Story

As an effectionx contributor, I want pnpm lint to use Oxlint, so repository linting and future Effection policy rules share one static-analysis engine without changing my local or CI workflow.

Current gap

Biome currently performs repository linting. It cannot host the JavaScript policy rules intended for @effectionx/lint, so keeping it as the primary linter would require contributors and CI to operate two overlapping lint systems.

Contract

Oxlint becomes the repository’s sole linter while preserving the pnpm lint entrypoint.

  • Oxlint is pinned to an exact version.
  • The committed configuration explicitly declares enabled rules, severities, plugins, ignores, and overrides instead of relying on changing recommended defaults.
  • Every behavior currently enforced by the Biome configuration is either represented by an equivalent Oxlint rule or recorded as an intentional migration difference.
  • Existing accepted source remains clean unless a documented difference identifies a genuine issue that must be corrected.
  • CI and editor integration use the committed configuration.
  • Once #253 and this story are delivered, Biome has no remaining formatting or linting responsibility and is removed.

Acceptance

  • pnpm lint invokes Oxlint and remains the command used by CI.
  • A deliberate violation of an enabled rule makes pnpm lint fail, and correcting it makes the command pass.
  • Running pnpm lint twice against an unchanged checkout produces the same diagnostics and exit status.
  • The migration records the disposition of the existing Biome lint rules and overrides.
  • Repository lint, typecheck, build, format, and tests pass after the migration.
  • No Effection-specific policy rules are introduced by this story.

Evidence

The implementation records the rule mapping and the output of:

pnpm lint
pnpm fmt:check
pnpm check
pnpm build
pnpm test
pnpm test:node

Dependencies

  • Depends on #253 so formatter churn is settled before the lint engine changes.
  • Blocks the @effectionx/lint child story in #254.

Out of scope

  • Effection-specific lint rules
  • Deno lint compatibility
  • Executable policy documents
  • README or CI policy orchestration beyond retaining the existing lint job

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the existing pnpm lint entrypoint and Biome configuration, then run the listed lint, format, typecheck, build, and test commands to establish the migration baseline. Configure pinned Oxlint behavior, document every Biome rule disposition, and verify that deliberate violations fail while the complete command set passes consistently.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
ci-cd, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.