# Modelling Component Metadata

## M1: Make your components, profiles and concepts "as generic as possible and as specific as needed" <a href="#m1" id="m1"></a>

Although it is hard to provide precise guidelines for the degree to which a component or profile should be generally applicable, it is strongly recommended to always consider the potential of reuse even when you are modelling for a specific project or domain. The general principle of being "as generic as possible and as specific as needed" is reflected in many of the best practices in this section and throughout this document. For example, when choosing names for your elements you have the choice whether to use project specific names or more context agnostic ones; when deciding whether an element should be multilingual or not, you have the choice to only consider the metadata you will be creating but also to increase the usability of your profile by enabling this option in suitable places regardless. Therefore, although not very prescriptive in and of itself, we consider this to be one of the core best practices when it comes to CMDI modelling.


---

# 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://clarin-eric.gitbook.io/cmdi-best-practices/modelling_component_metadata.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.
