# Separation

Using generative AI, such as ChatGPT or Google Gemini, can help in organizing your project structures, directories, and files in a way that increases performance and maintainability. By considering a set of questions, you can guide the AI to create a structure that meets your specific needs.

When determining if separation is needed, consider asking the following questions:

1. Is the functionality independent?
   * If the functionality can be used in different parts of the application or reused in other projects, it might be a good candidate for separation.
2. Is the codebase growing?
   * As the codebase grows, separating concerns into different directories and files can help maintain organization and prevent files from becoming too large and unwieldy.
3. Are there multiple developers working on the project?
   * Separating code into more granular components can make it easier for multiple developers to work on the project simultaneously without causing conflicts.
4. Are there performance considerations?
   * Separating code into smaller, focused files can help improve performance by allowing for more efficient loading and caching.
5. Does the separation align with best practices for the framework or library you are using?
   * Following best practices for your chosen framework or library can help ensure your project structure is organized and maintainable.
6. Can the code be easily tested?
   * Separating code into modular components can make it easier to write and maintain tests, leading to more robust and reliable applications.

By considering these questions, you can guide the generative AI to create a project structure that is organized, performant, and maintainable. This will ultimately help you and your team to develop and maintain the application more effectively.


---

# 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.gdf.ai/gdf-full-stack-engineering/subject-knowledge-areas/separation.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.
