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.
Motivation
The workspace exposes root
lintandverifycommands, but lint coverage is not consistent across packages. The current ESLint and Prettier setup is concentrated inapps/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
lintscript to each applicable package, or document why a package is intentionally excluded.pnpm lintandpnpm verifycommands cover the intended source packages through Turbo.Acceptance criteria
Verification plan
pnpm lintfrom the workspace root.pnpm verify.apps/client-raycast.