# Component Bundles

A component bundle contains a component or an app and all its related resources.

| Resource                 | Resource Name            | Usage                                                                                                                                      | See Also                                                                                                                                                       |
| ------------------------ | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Component or Application | sample.cmp or sample.app | The only required resource in a bundle. Contains markup for the component or app. Each bundle contains only one component or app resource. | [Creating Components](/docs/platform/aura-platform/guide/components-overview.md)[aura:application](/docs/platform/aura-platform/guide/ref-aura-application.md) |
| CSS Styles               | sample.css               | Contains styles for the component.                                                                                                         | [CSS in Components](/docs/platform/aura-platform/guide/components-css.md)                                                                                      |
| Controller               | sampleController.js      | Contains client-side controller methods to handle events in the component.                                                                 | [Handling Events with Client-Side Controllers](/docs/platform/aura-platform/guide/js-client-side-controller.md)                                                |
| Design                   | sample.design            | File required for components used in Lightning App Builder, Lightning pages, Experience Builder, or Flow Builder.                          | [Aura Component Bundle Design Resources](/docs/platform/aura-platform/guide/components-config-for-app-builder-design-files.md)                                 |
| Documentation            | sample.auradoc           | A description, sample code, and one or multiple references to example components                                                           | [Writing Documentation for the Component Library](/docs/platform/aura-platform/guide/docs-intro.md)                                                            |
| Renderer                 | sampleRenderer.js        | Client-side renderer to override default rendering for a component.                                                                        | [Create a Custom Renderer](/docs/platform/aura-platform/guide/js-renderers.md)                                                                                 |
| Helper                   | sampleHelper.js          | JavaScript functions that can be called from any JavaScript code in a component’s bundle                                                   | [Sharing JavaScript Code in a Component Bundle](/docs/platform/aura-platform/guide/js-helper.md)                                                               |
| SVG File                 | sample.svg               | Custom icon resource for components used in the Lightning App Builder or Experience Builder.                                               | [Configure Components for Lightning Pages and the Lightning App Builder](/docs/platform/aura-platform/guide/components-config-for-app-builder.md)              |

All resources in the component bundle follow the naming convention and are auto-wired. For example, a controller \<componentName>Controller.js is auto-wired to its component, which means that you can use the controller within the scope of that component.

Each resource, such as a cmp, css, or js file, in an Aura component bundle has a maximum file size of 1,000,000 bytes. However, for performance reasons, we recommend that you don’t exceed a maximum file size of 128 KB (131,072 bytes).
