# Folder Structure

This document outlines a clean and organized folder structure for a Next.js project, centered around the `@wieldy` core system, which provides the foundation for reusable components and utilities.

***

#### Folder Structure:

**WIELDY-4.X**

Root directory of the project.

* **@assets**
  * Contains static assets such as images, icons, and fonts used across the application.
* **@wieldy**
  * **Core Description**: The backbone of the application, offering modular and reusable components for consistent functionality.
  * **components**
    * `WieldyContainer`: Container component for managing layout spacing.
    * `WieldyLayout`: Base layout component for structuring pages.
    * `WieldyTheme`: Theme provider for applying consistent styles.
    * `index.ts`: Entry point for exporting all `@wieldy` components.
  * **utils**
    * Utility functions and helpers to enhance reusability.
* **public**
  * Static files accessible via direct URLs, such as images or static assets.
* **src**
  * **\_components**
    * Shared UI components reused across the project.
  * **\_config**
    * Centralized configuration files for themes, layouts, and application settings.
  * **\_dictionaries**
    * Files supporting multilingual translations and text dictionaries.
  * **\_hooks**
    * Custom React hooks for logic reuse.
  * **\_middleware**
    * Middleware logic for handling routing and API operations.
  * **\_themes**
    * Theme objects, such as dark and light mode configurations.
  * **\_utilities**
    * Helper functions and constants shared throughout the application.
  * **app**
    * Dynamic routes, layouts, and API handlers for the application.
  * **types**
    * TypeScript type definitions to ensure type safety across the project.
* **middleware.ts**
  * Custom middleware logic for advanced request handling.

***

#### Root Files:

* **.eslintrc.json**: Configuration for ESLint to enforce code quality.
* **.prettierrc.json**: Configuration for Prettier to maintain consistent formatting.
* **next.config.mjs**: Configuration file for customizing Next.js behavior.
* **package.json**: Defines project dependencies and scripts.
* **postcss.config.js**: Configuration for PostCSS.
* **README.md**: Project documentation and guidelines.
* **tailwind.config.js**: Tailwind CSS customization file.
* **tsconfig.json**: Configuration file for TypeScript.

***

#### Key Highlights:

* **Scalable**: Modular organization ensures scalability for larger projects.
* **Reusability**: system facilitates consistent and reusable components.
* **Maintainability**: Clear separation of concerns simplifies project maintenance.


---

# Agent Instructions: 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-wieldy.g-axon.work/v4.x-vite/structure/folder-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.
