{"agent":"claude","input":"Make this Electron app single-instance. Read src/main/main.ts, src/main/updates.ts, src/__tests__/updates.test.ts, jest.config.js, electron.vite.config.ts, package.json and .github/workflows/test.yml. Add src/main/single-instance.ts exporting a function that calls app.requestSingleInstanceLock, quits and returns false when the lock is held by another process, and otherwise registers a second-instance handler that restores a minimized main window and focuses it. Call it in main.ts before app.whenReady so a losing instance creates no window and starts no updater. Write a Jest test in src/__tests__/ in the style of updates.test.ts, with the node environment docblock and mocked electron and electron-log modules, covering the refused lock, the registered handler and the restore-then-focus behaviour. Run npm run lint, npm exec tsc -- --noEmit, npm test, and xvfb-run npm run test:smoke; then start the app twice under xvfb and confirm the second process exits with the first still running. Open a pull request with the test and command output in its description.","resources":[{"url":"https://github.com/your-org/your-app"}]}