# Anatomy of the Setup Project The documentation [setup](guide/setup) procedures install a _lot_ of files. Most of them can be safely ignored. Application files _inside the_ **`src/`** and **`e2e/`** folders matter most to developers. Files _outside_ those folders condition the development environment. They rarely change and you may never view or modify them. If you do, this page can help you understand their purpose.
| File | Purpose | 
|---|---|
| src/app/ | Angular application files go here.
      Ships with the "Hello Angular" sample's
      `AppComponent`, `AppModule`, a component unit test (`app.component.spec.ts`), and
      the bootstrap file, `main.ts`.
      Try the | 
| e2e/ | _End-to-end_ (e2e) tests of the application, written in Jasmine and run by the protractor e2e test runner. Initialized with an e2e test for the "Hello Angular" sample. | 
| node_modules/ | The _npm_ packages installed with the `npm install` command. | 
| .editorconfig | Tooling configuration files and folders. Ignore them until you have a compelling reason to do otherwise. | 
| CHANGELOG.md | The history of changes to the _QuickStart_ repository. Delete or ignore. | 
| favicon.ico | The application icon that appears in the browser tab. | 
| index.html | The application host page.
      It loads a few essential scripts in a prescribed order.
      Then it boots the application, placing the root `AppComponent`
      in the custom ` | 
| karma.conf.js | Configuration for the karma test runner described in the [Testing](guide/testing) guide. | 
| karma-test-shim.js | Script to run karma with SystemJS as described in the [Testing](guide/testing) guide. | 
| non-essential-files.txt | A list of files that you can delete if you want to purge your setup of the original QuickStart Seed testing and git maintainence artifacts. See instructions in the optional [_Deleting non-essential files_](guide/setup#non-essential "Setup: Deleting non-essential files") section. *Do this only in the beginning to avoid accidentally deleting your own tests and git setup!* | 
| LICENSE | The open source MIT license to use this setup code in your application. | 
| package.json | Identifies `npm `package dependencies for the project. Contains command scripts for running the application, running tests, and more. Enter `npm run` for a listing. Read more about them. | 
| protractor.config.js | Configuration for the protractor _end-to-end_ (e2e) test runner. | 
| README.md | Instruction for using this git repository in your project. Worth reading before deleting. | 
| styles.css | Global styles for the application. Initialized with an ` ` style for the QuickStart demo. | 
| systemjs | Tells the **SystemJS** module loader where to find modules
      referenced in JavaScript `import` statements. For example: | 
| systemjs | Optional extra SystemJS configuration. A way to add SystemJS mappings, such as for application _barrels_, without changing the original `system.config.js`. | 
| tsconfig.json | Tells the TypeScript compiler how to transpile TypeScript source files into JavaScript files that run in all modern browsers. | 
| tslint.json | The `npm` installed TypeScript linter inspects your TypeScript code and complains when you violate one of its rules. This file defines linting rules favored by the [Angular style guide](guide/styleguide) and by the authors of the documentation. |