Auto-suggest in Neos Studio
Neos Studio leverages the auto-suggest feature extensively to assist developers. When editing metadata, the AI automatically suggests appropriate values based on context, making the development experience faster and more intuitive.
Built-in suggestions
Neos Studio provides automatic suggestions for many metadata properties:
| Metadata Type | UI view | Suggested Properties |
|---|---|---|
| Entities | EntityUI |
Name, Description, Caption, Documentation |
| Entity properties | EntityPropertyUI |
Name, Description, Caption, Data type, Default value, Enum type, Documentation |
| Entity views | EntityViewUI |
Name, Description, Caption |
| Entity view properties | EntityViewPropertyUI |
Name, Description, Caption, Data type, Default value, Enum type |
| Entity view parameters | EntityViewParameterUI |
Name, Data type, Default value, Enum type |
| Entity validation rules | EntityValidationRuleUI |
Caption |
| Entity view validation rules | EntityViewValidationRuleUI |
Caption |
| UI views | UIViewUI |
Name, Description, Caption |
| UI view properties | UIViewPropertyUI |
Name, Description, Caption, Data type, AIAutoSuggestPrompt |
| UI view methods | UIViewMethodUI |
Name, Description, Return type |
| UI view computeds | UIViewComputedUI |
Name, Description, Getter |
| UI view actions | UIViewActionUI |
Name, Caption, Code |
| UI view fields | UIViewFieldUI |
Name, Description, Default value |
| UI components | UIComponentUI |
Name, Description, Documentation |
| UI component fields | UIComponentFieldUI |
Name, Description, Data type, Default value |
| UI component methods | UIComponentMethodUI |
Name, Description, Return type |
| UI component computeds | UIComponentComputedUI |
Name, Description, Data type, Getter |
| UI component parameters | UIComponentParameterUI |
Name, Description, Data type |
| UI shared methods | UISharedMethodUI |
Name, Description, Return type |
| Data objects | DataObjectUI |
Name, Description, Documentation |
| Data object properties | DataObjectPropertyUI |
Name, Description, Data type |
| Enumerations | EnumTypeUI |
Name, Documentation |
| Enumeration members | EnumMemberUI |
Name, Caption |
| Interfaces | InterfaceUI |
Name, Description, Documentation |
| Interface properties | InterfacePropertyUI |
Name, Description, Data type |
| Menus | MenuUI |
Name, Caption, Documentation |
| Menu items | MenuItemUI |
Name, Caption, Code |
| Lookups | LookupUI |
Name |
| Data tables | DataTableUI |
Name, Description |
| Data columns | DataColumnUI |
Name, Description |
| Indexes | IndexUI |
Name |
| Foreign keys | ForeignKeyUI |
Name |
| Functions | FunctionUI |
Name, Description |
| Constants | ConstantEditUI |
Name, Data type |
| String resources | StringResourceUI |
Name |
These suggestions are triggered automatically when you modify related fields. For example, when you enter a property name, Neos Studio suggests an appropriate description and caption.
Customizing suggestions
You can customize the auto-suggest behavior by overriding the default prompt templates in your cluster's YAML configuration file. This allows you to tailor suggestions to your application's specific business context.
Configuration location
Auto-suggest template overrides are configured in the AI:NeosStudio section of your cluster's YAML file:
AI:
NeosStudio:
AutoSuggestTemplates:
ApplicationDescription: A description of your application's business context.
Overriding templates
Neos Studio uses predefined prompt templates for generating suggestions. You can override these templates to customize the AI behavior for your cluster.
ApplicationDescription
The most important template to configure is ApplicationDescription. It provides business context that the AI uses to generate more relevant suggestions:
AI:
NeosStudio:
AutoSuggestTemplates:
ApplicationDescription: |-
This application manages customer orders for a retail company.
Key entities include: Customer, Product, Order, and Shipment.
Business rules: Orders must have at least one product, customers have credit limits.
LocalizableStringDefaultPrompt
Override how localizable strings are validated and suggested:
AI:
NeosStudio:
AutoSuggestTemplates:
LocalizableStringDefaultPrompt: |-
Verify that the string is correct and consistent across all target languages.
Use Sentence case (capitalize first word only).
For this application, use formal language and avoid abbreviations.
Other templates
Neos Studio defines several other templates that can be overridden:
| Template | Purpose |
|---|---|
NamePropertyPrompt |
Generates identifier names (entities, properties, etc.) |
DescriptionPropertyPrompt |
Generates labels and descriptions |
CaptionPropertyPrompt |
Generates localized captions |
DataTypePropertyPrompt |
Suggests appropriate data types |
DotNetDataTypePropertyPrompt |
Suggests .NET types for properties |
DocumentationPropertyPrompt |
Generates documentation text |
Overriding prompts for specific properties
You can also override the prompt for a specific property of a Neos Studio UI view. The configuration key follows the format AI:NeosStudio:AutoSuggestPrompts:UIViewName:PropertyName:
AI:
NeosStudio:
AutoSuggestPrompts:
EntityPropertyUI:
Name: |-
Generate a property name following our naming conventions.
Use PascalCase. Prefix boolean properties with "Is" or "Has".
EntityUI:
Description: |-
Generate a description for the entity "{{ name }}".
Use business terminology specific to our domain.
Note
The UI view and property names must match existing Neos Studio views and properties. Common UI views include EntityUI, EntityPropertyUI, EntityViewUI, UIViewUI, UIViewPropertyUI, etc.
Template variables
Templates have access to the same variables as property prompts. See Auto-suggest for the complete list.
Common variables used in templates:
| Variable | Description |
|---|---|
{{ name }} |
Current property value (for Name properties) |
{{ modifiedProperty.value }} |
Value of the property that triggered the suggestion |
{{ currentProperty.characterCasing }} |
Character casing rule for the target property |
{{ app.languages }} |
Array of configured language codes |
Example configuration
Here is an example configuration for a warehouse management cluster:
AI:
NeosStudio:
AutoSuggestTemplates:
ApplicationDescription: |-
This is a warehouse management system for tracking inventory.
Main concepts: warehouses, storage locations, products, stock movements.
Naming conventions: use "Warehouse" prefix for warehouse-related entities.
LocalizableStringDefaultPrompt: |-
Ensure all translations are consistent and use proper grammar.
Use Sentence case for UI labels.
Prefer industry-standard logistics terminology.