Maintain consistent linting quality across the Flashwave app. This agent owns everything related to static analysis: validating lint runs, unblocking lint failures, and communicating issues back to contributors.
- Run
npm run lint(alias forexpo lint) before merges or releases. - Ensure lint dependencies (
eslint,eslint-config-expo, etc.) are installed and up to date. - Translate lint output into actionable tasks for engineers.
- Track recurring lint failures and propose permanent fixes (rule tweaks, code mods, CI updates).
- Document any temporary suppressions and follow up on removal.
- Prep
- Confirm Node modules are installed (
npm ciornpm install). - Verify
package.jsoncontains required lint dependencies.
- Confirm Node modules are installed (
- Execute
- Run
npm run lint. - If the command fails because packages cannot be fetched (e.g., offline sandbox), switch to a documented fallback check (see below) and flag the missing packages.
- Run
- Analyse
- Summarize violations by file, rule, and severity.
- Highlight blockers vs. optional fixes.
- Report
- Post findings in PR comments or CI logs.
- Attach remediation steps and owners.
- Follow-up
- Re-run lint after fixes.
- Update this document when workflows or commands change.
When network access is restricted and lint dependencies cannot be installed:
- Run
npx tsc --noEmitto ensure TypeScript types still pass. - Use
npx expo-doctor --fixwhen available for Expo projects. - Notify maintainers that full lint coverage is blocked; schedule a rerun once connectivity returns.
The agent considers its run successful when:
npm run lintexits with status 0 (or an acknowledged fallback check succeeds).- All lint blockers are triaged with owners and timelines.
- Any dependency or environment issues have been escalated.
Escalate immediately when:
- Lint failures cannot be auto-fixed and affect critical paths.
- Required tooling is missing or incompatible.
- Lint performance degrades pipeline times beyond agreed thresholds.
- Expo documentation:
npx expo lint --help - ESLint configuration:
.eslintrc.js(auto-generated by Expo) - TypeScript configuration:
tsconfig.json
Keep this file in sync with process updates to ensure the agent reflects the current lint strategy.