Skip to content

[chore] Standardize linting across the workspace #18

Description

@ThreeLight2000

Motivation

The workspace exposes root lint and verify commands, but lint coverage is not consistent across packages. The current ESLint and Prettier setup is concentrated in apps/client-raycast, while other workspace packages do not yet have a shared, clearly documented lint baseline.

This makes quality checks vary by package and can leave the root Turbo lint task with incomplete coverage.

Scope

  • Inventory JavaScript and TypeScript packages and their current lint/formatting needs.
  • Choose and document the workspace linting baseline, including the relationship between ESLint and Prettier.
  • Add shared configuration where appropriate while preserving package-specific requirements such as the Raycast config.
  • Add a lint script to each applicable package, or document why a package is intentionally excluded.
  • Ensure the root pnpm lint and pnpm verify commands cover the intended source packages through Turbo.
  • Exclude generated, build, dependency, and other non-source artifacts from linting.
  • Document local lint and auto-fix commands in the contributor guidance.
  • Integrate the standardized lint checks into the repository verification/CI workflow.

Acceptance criteria

  • The supported package set and linting baseline are documented.
  • Every applicable source package has a working lint command.
  • Root linting covers all intended packages and fails on lint errors.
  • Existing Raycast-specific linting continues to work.
  • Generated and dependency artifacts are not linted.
  • Contributor documentation explains how to run and fix lint issues.
  • Repository verification passes with the new lint coverage.

Verification plan

  • Run pnpm lint from the workspace root.
  • Run pnpm verify.
  • Exercise linting for each supported package, including apps/client-raycast.
  • Confirm generated output and dependency directories are excluded.
  • Verify that an intentional lint violation fails the relevant package and root commands.

Metadata

Metadata

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions