Table of Contents

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.

See also