> For the complete documentation index, see [llms.txt](https://docs.scandipwa.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.scandipwa.com/structure.md).

# Structure

- [Directory Structure](https://docs.scandipwa.com/structure/folder-structure.md): A high-level overview of how files are organized in Scandi
- [Building Blocks](https://docs.scandipwa.com/structure/building-blocks-summary.md): Learn about the structure of the ScandiPWA codebase
- [Components](https://docs.scandipwa.com/structure/building-blocks-summary/components.md): ScandiPWA React components are reusable pieces of UI logic
- [Styling Components](https://docs.scandipwa.com/structure/building-blocks-summary/components/styling-components.md): ScandiPWA uses the BEM methodology and SCSS
- [Routes](https://docs.scandipwa.com/structure/building-blocks-summary/routes.md): Routes are pages in your single-page application
- [Redux Stores](https://docs.scandipwa.com/structure/building-blocks-summary/redux-stores.md): Redux stores are used to maintain global state
- [GraphQL Queries](https://docs.scandipwa.com/structure/building-blocks-summary/constructing-graphql-queries.md): GraphQL queries are generated dynamically using javascript
- [Global Styles](https://docs.scandipwa.com/structure/building-blocks-summary/global-styles.md): While each component may have its own styles, some styles are globally defined
- [The Util Directory](https://docs.scandipwa.com/structure/building-blocks-summary/the-util-directory.md): The util directory in ScandiPWA contains various utility functions that don't belong in the other categories
- [Type Checking](https://docs.scandipwa.com/structure/building-blocks-summary/type-checking.md): ScandiPWA uses PropTypes to help verify that the expected props are passed, and catch bugs
- [Application assets](https://docs.scandipwa.com/structure/adding-assets.md): Add static assets to your app, such as fonts and favicons
- [Code Style](https://docs.scandipwa.com/structure/code-style.md): Following our coding style helps maintain a consistent and well-organized codebase
- [JavaScript Code Style](https://docs.scandipwa.com/structure/code-style/javascript-code-style.md): ScandiPWA follows a strict JavaScript style guide for maintainability and consistency
- [SCSS Code Style](https://docs.scandipwa.com/structure/code-style/scss-code-style.md): ScandiPWA follows a strict SCSS style guide for maintainability and consistency


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.scandipwa.com/structure.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
