title: Load unpacked Chrome extension - how does it know where my index.html file is?
body: <p>I have a Chrome Extension project, the structure looks like this:</p>
  
  <pre><code>project/
    dist/
      index.html
    manifest.json
  </code></pre>
  
  <p>When I go More Tools -> Extensions -> Load Unpacked Extensions</p>
  
  <p>I choose the root of the project, and it works! But I can't figure out how it knows to load <code>dist/index.html</code>? The <code>manifest.json</code> file doesn't say anything about <code>dist/index.html</code>, so how does Chrome know how to load the extension?</p>
  
  <p>I built this extension a few months ago, and now I can't figure out how it works lol.</p>
  
  <p>the <code>manifest.json</code> file looks like this verbatim:</p>
  
  <pre><code>{
    "manifest_version": 2,
    "name": "Suman Generator",
    "description": "This extension allows the user to generate test skeletons.",
    "version": "1.223",
    "browser_action": {
      "default_icon": "icon.png"
    },
    "options_page": "options.html",
    "options_ui": {
      "page": "options.html",
      "chrome_style": true
    },
    "devtools_page": "aspects/dev-tools/dist/suman-dev-tools.html",
    "optional_permissions": [
      "&lt;all_urls&gt;"
    ],
    "permissions": [
      "management",
      "activeTab",
      "webNavigation",
      "storage",
      "*://*/",
      "http://*/",
      "https://*/",
      "background",
      "browser",
      "tabs",
      "identity",
      "identity.email",
      "https://www.googleapis.com/",
      "pageAction",
      "notifications",
      "clipboard",
      "clipboardWrite",
      "clipboardRead",
      "unlimitedStorage",
      "webRequest",
      "userinfo",
      "webRequestBlocking",
      {
        "socket": [
          "tcp-connect:*:*"
        ]
      }
    ],
    "web_accessible_resources": [
      "modal-iframe.html"
    ],
    "icons": {
      "16": "icons/icon16.png",
      "48": "icons/icon48.png",
      "128": "icons/icon128.png"
    },
    "omnibox": {
      "keyword": "suman:chrome"
    },
    "oauth2": {
      "client_id": "5461307462-7geu9374.apps.googleusercontent.com",
      "scopes": [
        "https://www.googleapis.com/auth/userinfo.profile",
        "https://www.googleapis.com/auth/chromewebstore.readonly"
      ]
    },
    "key": "MIIBC57LwMgUdRxfY4I40oAiKy57o3tWF/A1BrTNY0nQIDAQAB",
    "short_name": "Suman Short Name",
    "offline_enabled": true,
    "background": {
      "page": "background.html",
      "persistent": true
    },
    "content_scripts": [],
    "content_security_policy": "script-src 'self' https://plus.google.com 'unsafe-inline' 'http' 'https' 'unsafe-eval' '*'; object-src '*';"
  }
  </code></pre>