I use several different bookmarklets that can help improve quality of life. 

 1. **Cookie monster** is an extension that will show you more stats but will not do things like auto click, or auto click on gold cookies, but can help a lot with different things.
   
     1a. Code: `javascript:Game.LoadMod("https://cookiemonsterteam.github.io/CookieMonster/dist/CookieMonster.js");`
  2. **Autosave to file** will allow you to automatically save your game to a file so you don't lose progress (also great for making restore points).
   
     2a. Code: `javascript:var time=1e3*parseInt(prompt("How many seconds between saves?","3600"));setInterval(function(){Game.FileSave()},time)`

3. **Perfect Idling** is an upgrade that is normal debug only, but is really good for normal gameplay. It enables you to keep producing cookies even while the game is closed.

   3a. Code: `javascript:Game.Upgrades["Perfect idling"].earn()`
 4. **Auto Clicker** is a tool that I use to auto-click.
   
    4a. Code: `javascript:(function(){if(window._activeClickInterval){clearInterval(window._activeClickInterval);delete window._activeClickInterval}else{window._activeClickInterval=setInterval(Game.ClickCookie,10)}})();`

  5. **Alt to sell** Is a bookmarklet that uses the alt key to sell.

     5a. Code: `javascript:document.onkeydown = function(e) {var key = key || e.keyCode;if (key == 18) {Game.storeBulkButton(1);}};document.onkeyup = function(e) {var key = key || e.keyCode;if (key == 18) {Game.storeBulkButton(0);}};`

  6. **Idle Trading** is useful if you want to achieve profits in the stock market without constantly checking prices.

     6a. Code: `javascript:Game.LoadMod( 'https://klattmose.github.io/CookieClicker/IdleTrading.js');`

  7. **ESC to Pause** will bind the escape key so that when it is pressed, it will pause the game.  Has some use cases.

     7a. Code: `javascript:var press = 0;document.onkeydown = function(e) {var key = key || e.keyCode;if (press == 0 && key == 27){Game.Timeout();press = 1;}else if (press == 1 && key == 27){Game.Resume();press = 0;}};`

Unminified: 

```javascript
// Cookie Monster
Game.LoadMod("https://cookiemonsterteam.github.io/CookieMonster/dist/CookieMonster.js");

// Auto Save
var time=1e3*parseInt(prompt("How many seconds between saves?","3600"));
setInterval(function(){
  Game.FileSave()
},time);

// Perfect Idling
Game.Upgrades["Perfect idling"].earn()

// Auto-clicker
(function() {
    if (window._activeClickInterval) {
        clearInterval(window._activeClickInterval);
        delete window._activeClickInterval
    } else {
        window._activeClickInterval = setInterval(Game.ClickCookie, 10)
    }
})();

//Alt to sell
document.onkeydown = function(e) {
    var key = key || e.keyCode;
    if (key == 18) {
        Game.storeBulkButton(1);
    }
};
document.onkeyup = function(e) {
    var key = key || e.keyCode;
    if (key == 18) {
        Game.storeBulkButton(0);
    }
};

// Idle Trading
Game.LoadMod('https://klattmose.github.io/CookieClicker/IdleTrading.js');

// ECS to pasue
var press = 0;
document.onkeydown = function(e) {
        var key = key || e.keyCode;
        if (press == 0 && key == 27) {
            Game.Timeout();
            press = 1;
        } else if (press == 1 && key == 27) {
            Game.Resume();
            press = 0;
        }
    };
```