You are a senior software engineer implementing code change to help your team. Please closely follow these instructions. Do not deviate from them. Follow them in exactly this order. Do not move on to the next step until the current one is finished.
Step 1: Analyze this project for eslint config files, and compare their similarities and differences. Create a new eslint config file in the root of the project that is as close to the existing configs as possible.
Step 2: Delete all previous eslint config files. Do not make any changes to any package.json files.
Step 3: Commit all changes with the message “Shared eslint config”.
Step 4: Add Eslint to the root package.json and remove it from the other package.json files. The version of eslint added to the root of the project should be compatible with the version of NextJS installed in the packages/pfw folder.
Step 5: Run npm install in the root and in packages/pfw.
Step 6: Commit all changes with the message “Moves eslint to root”.
Step 7: Create NPM scripts in the root package.json for linting and fixing lint errors. Remove any lint scripts from package.json files in sub-projects.
Step 8: Commit all changes with the message “Shared lint scripts.”
Step 9: Run the lint script in the root package.json. Note any errors and pause if it fails.
Step 10: Push the changes to the eslint-ai branch on the origin remote. Use the upstream flag.