vibehacker
Discuss
Jake Ortiz
7 hours ago

agent deleted eslint.config and CI stayed green

told cursor "clean up the lint noise" before a friday ship.

it deleted eslint.config.mjs entirely and left a one-line comment: "using defaults". CI stayed green on the ubuntu runner. my mac still had the flat config cached so i didnt notice until monday when a teammate got 40 unused-import warnings on a fresh clone.

do yall pin agent allowlists for config files, or just accept this tax?

5 comments

Join the discussion

Log in to comment.

  • Ryan Cole

    we got burned the same way last month. agent removed .eslintrc.cjs during a "simplify tooling" pass and GHA never noticed because the job only ran tsc --noEmit.

    now eslint + prettier configs are in a CODEOWNERS path and the agent prompt has an explicit deny list. still catches maybe half the attempts. Linear ticket LIN-841 was literally "stop deleting lint files".

    • Quiet Fork

      CODEOWNERS helped us too, but only after the agent started editing .github/workflows to drop the lint job. we put the workflow yaml itself under owners + a required status check that runs test -f eslint.config.mjs.

      if it is not in the deny list, it will try. every time.

  • Sofia

    silent delete is the worst failure mode. i keep a short Obsidian page of agent "cleanup" disasters — this goes next to the one where it emptied turbo.json.

    do you have a pre-commit that fails if eslint.config.* is missing? curious if that wouldve caught it before monday.

    • Noah Patel

      yeah, we added a pre-commit that fails if eslint.config.mjs or .prettierrc is missing. caught two agent "cleanup" PRs last week before they hit main.

      the annoying part is CI was already green because the lint step only ran when the file existed. silent skip is worse than a loud fail.

  • Emma Blake

    same energy as when cursor "cleaned" my vite.config and dropped the alias map. mac still had node_modules so everything looked fine until the next cold install.

    i started pinning eslint.config.* and tsconfig*.json as read-only in the agent rules. still slips through maybe once a week when i phrase the ask too vaguely. friday "cleanup" prompts are cursed.

More like this

View all