[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","title":"DataProductSpecification","description":"Data product description, including the output ports. It is based on the [Data Product Specification](https://dataproduct-specification.com/).","required":["id","info"],"properties":{"dataProductSpecification":{"type":"string","title":"DataProductSpecificationVersion","enum":["0.0.1"],"description":"Specifies the Data Product Specification being used."},"id":{"type":"string","description":"An organizational unique technical identifier for this data product, such as an UUID, URN, string, number. Format must be a valid path parameter for GET and DELETE requests, so no URI or '/' allowed.","example":"search-queries-all"},"info":{"type":"object","description":"Information about the data product","required":["title","owner"],"properties":{"title":{"type":"string","description":"The display name of this data product","example":"Search Queries all"},"owner":{"type":"string","description":"The technical id of the team that owns the data product","example":"search-team"},"domain":{"type":"string","description":"The technical id of the domain","example":"ecommerce"},"description":{"type":"string","example":"All search queries with user interactions"},"status":{"type":"string","x-extensible-enum":["proposed","in development","active","retired"],"example":"active"},"archetype":{"type":"string","description":"The domain data archetype of the data product, such as consumer-aligned, aggregate, source-aligned.","x-extensible-enum":["consumer-aligned","aggregate","source-aligned"],"example":"consumer-aligned"},"maturity":{"type":"string","description":"The maturity level of the data product.","x-extensible-enum":["raw","defined","managed"],"example":"managed","deprecationMessage":"Use the description field instead for now or the archetype."}}},"inputPorts":{"type":"array","items":{"type":"object","required":["id","name","sourceSystemId"],"properties":{"id":{"type":"string","description":"A technical identifier for this input port, such as an UUID, URN, string, number.","example":"kafka_search_topic"},"name":{"type":"string","description":"The display name for this input port.","example":"kafka_search_topic"},"description":{"type":"string","description":"The description for this input port.","example":"Kafka Topic with search events"},"sourceSystemId":{"type":"string","description":"A technical identifier for the source system connected to this input port","example":"search-service"},"type":{"type":"string","description":"The technical type of the output port","example":"Kafka"},"location":{"type":"string","description":"The location with the actual data","example":"search topic"},"links":{"type":"object","description":"Links are used to reference external resources, such as schemas or the dataset in a data catalog. You can add any links.","additionalProperties":{"type":"string"},"example":{"schema":"https://catalog.example.com/search/search-queries","catalog":"https://catalog.example.com/search/search-queries/"}},"custom":{"type":"object","description":"Custom fields can be used to add additional information to the input port.","additionalProperties":{"type":"string"}},"tags":{"type":"array","description":"Tags are used to categorize input ports.","items":{"type":"string","example":"kafka"},"example":["kafka","search"]}}}},"outputPorts":{"type":"array","items":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string","description":"A technical identifier for this output port, such as an UUID, URN, string, number.","example":"snowflake_search_queries_all_npii_v1"},"name":{"type":"string","description":"The display name for this output port.","example":"snowflake_search_queries_all_npii_v1"},"description":{"type":"string","description":"The description for this output port.","example":"All search queries and result sets with PII removed."},"type":{"type":"string","description":"The technical type of the output port","x-extensible-enum":["snowflake","kafka","bigquery","s3","postgres","redshift"],"example":"snowflake"},"status":{"type":"string","description":"The status of the output port implementation. The allowed status values might be customized for your organization.","x-extensible-enum":["proposed","in development","active","retired"],"example":"active"},"location":{"type":"string","description":"DEPRECATED. Use the appropriate fields in server instead.","example":"SEARCH_DB.SEARCH_QUERIES_ALL_NPII_V1","deprecated":true},"server":{"type":"object","properties":{"project":{"type":"string","description":"The project name (bigquery)","example":"dp-search"},"dataset":{"type":"string","description":"The dataset name (bigquery)","example":"search-queries"},"account":{"type":"string","description":"The account name (snowflake)","example":"https://acme-test_aws_us_east_2.snowflakecomputing.com"},"database":{"type":"string","description":"The database name (snowflake,postgres)","example":"SEARCH_DB"},"schema":{"type":"string","description":"The schema name (snowflake,postgres)","example":"SEARCH_QUERIES_ALL_NPII_V1"},"host":{"type":"string","description":"The host name (kafka)","example":"kafka.acme.com"},"topic":{"type":"string","description":"The topic name (kafka)","example":"search-queries"},"location":{"type":"string","description":"The location url (s3)","example":"s3://acme-search-queries"},"delimiter":{"type":"string","description":"The delimiter (s3)","example":"\"newline\""},"format":{"type":"string","description":"The format of the data, e.g., csv, json, parquet, delta (s3)","example":"\"json\""},"table":{"type":"string","description":"The table name (postgres)","example":"search_queries"},"view":{"type":"string","description":"The view name (postgres)","example":"search_queries"},"share":{"type":"string","description":"The share name (databricks)"},"additionalProperties":{"type":"string"}},"description":"The server contains all connection details to find the actual data. Depending on the output port type, this might be different attributes. The main ones are listed explicitly, but feel free to add your own server info."},"links":{"type":"object","description":"Links are used to reference external resources, such as schemas or the dataset in a data catalog. You can add any links.","additionalProperties":{"type":"string"},"example":{"schema":"https://catalog.example.com/search/search-queries","catalog":"https://catalog.example.com/search/search-queries/"}},"custom":{"type":"object","description":"Custom fields can be used to add additional information to the output port.","additionalProperties":{"type":"string"}},"containsPii":{"type":"boolean","description":"Flag, if this output port contains personally identifiable information (PII)","example":false,"default":false},"autoApprove":{"type":"boolean","description":"Automatically approve requested data usage agreements towards this output port. You might want to use this for public or internal data that is not sensitive.","example":false,"default":false},"dataContractId":{"type":"string","description":"The technical identifier of the data contract that is implemented by this output port","example":"search-queries-all"},"tags":{"type":"array","description":"Tags are used to categorize output ports.","items":{"type":"string","example":"snowflake"},"example":["snowflake","search"]}}}},"links":{"type":"object","description":"Links are used to reference external resources, such as schemas or the dataset in a data catalog. You can add any links.","additionalProperties":{"type":"string"},"example":{"dataProduct":"https://example.com/dataproducts/search-queries","documentation":"https://git.example.com/search/search-queries/README.md","catalog":"https://catalog.example.com/search/search-queries/","repository":"https://git.example.com/search/search-queries"}},"custom":{"type":"object","description":"Custom fields can be used to add additional information to the data product.","additionalProperties":{"type":"string"}},"tags":{"type":"array","description":"Tags are used to categorize data products.","items":{"type":"string","example":"high-quality"},"example":["high-quality","marketing"]}}}
</schema>

[User] Provide a JSON object that satisfies the schema "DataProductSpecification". Here are the required top‑level fields: id, info. Return only the valid JSON object.

DataProductSpecification

Data product description, including the output ports. It is based on the [Data Product Specification](https://dataproduct-specification.com/).

DataProductSpecificationVersion

Specifies the Data Product Specification being used.

An organizational unique technical identifier for this data product, such as an UUID, URN, string, number. Format must be a valid path parameter for GET and DELETE requests, so no URI or '/' allowed.

Information about the data product

The display name of this data product

The technical id of the team that owns the data product

The technical id of the domain

All search queries with user interactions

The domain data archetype of the data product, such as consumer-aligned, aggregate, source-aligned.

The maturity level of the data product.

Use the description field instead for now or the archetype.

A technical identifier for this input port, such as an UUID, URN, string, number.

The display name for this input port.

The description for this input port.

A technical identifier for the source system connected to this input port

The technical type of the output port

The location with the actual data

Links are used to reference external resources, such as schemas or the dataset in a data catalog. You can add any links.

Custom fields can be used to add additional information to the input port.

Tags are used to categorize input ports.

A technical identifier for this output port, such as an UUID, URN, string, number.

The display name for this output port.

The description for this output port.

All search queries and result sets with PII removed.

The technical type of the output port

snowflake kafka bigquery s3 postgres redshift

The status of the output port implementation. The allowed status values might be customized for your organization.

DEPRECATED. Use the appropriate fields in server instead.

The project name (bigquery)

The dataset name (bigquery)

The account name (snowflake)

The database name (snowflake,postgres)

The schema name (snowflake,postgres)

The host name (kafka)

The topic name (kafka)

The location url (s3)

The delimiter (s3)

The format of the data, e.g., csv, json, parquet, delta (s3)

The table name (postgres)

The view name (postgres)

The share name (databricks)

The server contains all connection details to find the actual data. Depending on the output port type, this might be different attributes. The main ones are listed explicitly, but feel free to add your own server info.

Custom fields can be used to add additional information to the output port.

Flag, if this output port contains personally identifiable information (PII)

Automatically approve requested data usage agreements towards this output port. You might want to use this for public or internal data that is not sensitive.

The technical identifier of the data contract that is implemented by this output port

Tags are used to categorize output ports.

Custom fields can be used to add additional information to the data product.

Tags are used to categorize data products.

Provide a JSON object that satisfies the schema "DataProductSpecification". Here are the required top‑level fields: id, info. Return only the valid JSON object.


[User] Provide a JSON object that satisfies the schema "dbt_project". Here are the required top‑level fields: name. Return only the valid JSON object.

dbt_project

Data test configs

Configurations set in the dbt_project.yml file will apply to all tests that don't have a more specific configuration set.

Docs config

Configurations for the appearance of nodes in the dbt documentation.

The color of the node on the DAG in the documentation. It must be an Hex code or a valid CSS color name.

Authorized views

Configuration, specific to BigQuery adapter, used to setup authorized views.

grant config. each key is a database permission and the value is the grantee of that permission

Configuration specific to BigQuery adapter used to set an expiration delay (in hours) to a table.

Configuration, specific to BigQuery adapter, of the KMS key name used for data encryption.

Label configs

Configurations specific to BigQuery adapter used to add labels and tags to tables & views created by dbt.

Model configs

Configurations set in the dbt_project.yml file will apply to all models that don't have a more specific configuration set.

Persist docs config

Configurations for the persistence of the dbt documentation.

Seed configs

Snapshot configs

Source configs

Provide a JSON object that satisfies the schema "dbt_project". Here are the required top‑level fields: name. Return only the valid JSON object.


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"title":"dbt_yml_files","type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"version":{"type":"number","const":2},"analyses":{"type":"array","items":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"columns":{"type":"array","items":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"data_type":{"type":"string"}},"additionalProperties":false}},"config":{"type":"object","properties":{"tags":{"$ref":"#/$defs/string_or_array_of_strings"}},"additionalProperties":false},"docs":{"$ref":"#/$defs/docs_config"},"group":{"$ref":"#/$defs/group"}}}},"data_tests":{"description":"Add descriptions to custom singular tests","type":"array","items":{"type":"object","required":["name"],"properties":{"name":{"description":"The name of the singular test","type":"string"},"description":{"description":"A description of the test's purpose, how it is implemented, and perhaps what you should do if it starts failing.","type":"string"}},"additionalProperties":false}},"exposures":{"type":"array","items":{"type":"object","required":["depends_on","name","owner","type"],"$comment":"NB: depends_on is not strictly required, but is _expected_ according to the documentation","properties":{"name":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["analysis","application","dashboard","ml","notebook"]},"depends_on":{"type":"array","items":{"type":"string"}},"label":{"type":"string","$comment":"Added in dbt Core v1.3"},"maturity":{"type":"string","enum":["high","low","medium"]},"meta":{"type":"object"},"owner":{"type":"object","anyOf":[{"required":["email"]},{"required":["name"]}],"properties":{"name":{"type":"string"},"email":{"type":"string"}},"additionalProperties":false},"tags":{"$ref":"#/$defs/string_or_array_of_strings"},"url":{"type":"string"}}}},"groups":{"type":"array","items":{"type":"object","required":["name","owner"],"properties":{"name":{"type":"string"},"owner":{"type":"object","minProperties":1,"properties":{"name":{"type":"string"},"email":{"type":"string"}},"additionalProperties":true}},"additionalProperties":false}},"macros":{"type":"array","items":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"arguments":{"type":"array","items":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"type":{"type":"string"}},"additionalProperties":false}},"docs":{"$ref":"#/$defs/docs_config"}},"additionalProperties":false}},"metrics":{"type":"array","items":{"type":"object","required":["label","name","type","type_params"],"if":{"properties":{"type":{"enum":["SIMPLE","simple"]}}},"then":{"properties":{"type_params":{"$ref":"#/$defs/simple_metric_type_params"}}},"else":{"if":{"properties":{"type":{"enum":["derived","DERIVED"]}}},"then":{"properties":{"type_params":{"$ref":"#/$defs/derived_metric_type_params"}}},"else":{"if":{"properties":{"type":{"enum":["cumulative","CUMULATIVE"]}}},"then":{"properties":{"type_params":{"$ref":"#/$defs/cumulative_metric_type_params"}}},"else":{"if":{"properties":{"type":{"enum":["conversion","CONVERSION"]}}},"then":{"properties":{"type_params":{"$ref":"#/$defs/conversion_metric_type_params"}}},"else":{"if":{"properties":{"type":{"enum":["ratio","RATIO"]}}},"then":{"properties":{"type_params":{"$ref":"#/$defs/ratio_metric_type_params"}}}}}}},"properties":{"name":{"type":"string","pattern":"(?!.*__).*^[a-z][a-z0-9_]*[a-z0-9]$"},"description":{"type":"string"},"type":{"enum":["CONVERSION","conversion","CUMULATIVE","cumulative","DERIVED","derived","RATIO","ratio","SIMPLE","simple"]},"filter":{"type":"string"},"group":{"$ref":"#/$defs/group"},"label":{"type":"string"},"time_granularity":{"type":"string"},"type_params":{"type":"object"}},"additionalProperties":false}},"models":{"type":"array","items":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"access":{"type":"string","enum":["private","protected","public"]},"columns":{"type":"array","items":{"$ref":"#/$defs/column_properties"}},"config":{"$ref":"#/$defs/model_configs"},"constraints":{"$ref":"#/$defs/constraints"},"data_tests":{"type":"array","items":{"$ref":"#/$defs/data_tests"}},"deprecation_date":{"type":"string"},"docs":{"$ref":"#/$defs/docs_config"},"group":{"$ref":"#/$defs/group"},"latest_version":{"type":"number"},"meta":{"type":"object"},"tests":{"type":"array","items":{"$ref":"#/$defs/data_tests"}},"time_spine":{"type":"object","required":["standard_granularity_column"],"properties":{"standard_granularity_column":{"type":"string"}},"additionalProperties":false},"versions":{"type":"array","items":{"type":"object","required":["v"],"properties":{"columns":{"type":"array","items":{"anyOf":[{"$ref":"#/$defs/include_exclude"},{"$ref":"#/$defs/column_properties"}]}},"config":{"$ref":"#/$defs/model_configs"},"v":{"type":"number"}}}}},"additionalProperties":false}},"saved_queries":{"type":"array","items":{"type":"object","required":["description","label","name","query_params"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"config":{"type":"object","properties":{"cache":{"type":"object","properties":{"enabled":{"type":"boolean","default":false}},"additionalProperties":false},"enabled":{"type":"boolean","default":true},"export_as":{"anyOf":[{"enum":["table","view"]},{"type":"null"}],"default":null},"group":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"meta":{"type":"object","propertyNames":{"type":"string"}},"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}},"additionalProperties":true},"exports":{"type":"array","items":{"$ref":"#/$defs/export"}},"label":{"type":"string"},"query_params":{"type":"object","properties":{"dimensions":{"$ref":"#/$defs/array_of_strings"},"metrics":{"$ref":"#/$defs/array_of_strings"},"where":{"$ref":"#/$defs/array_of_strings"},"additionalProperties":false}},"tags":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]}},"additionalProperties":false}},"seeds":{"type":"array","items":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"columns":{"type":"array","items":{"$ref":"#/$defs/column_properties"}},"config":{"type":"object","properties":{"column_types":{"type":"object"},"copy_grants":{"$ref":"#/$defs/boolean_or_jinja_string"},"data_tests":{"type":"array","items":{"$ref":"#/$defs/data_tests"}},"database":{"type":"string"},"enabled":{"$ref":"#/$defs/boolean_or_jinja_string"},"grants":{"$ref":"#/$defs/grants"},"quote_columns":{"$ref":"#/$defs/boolean_or_jinja_string"},"schema":{"type":"string"}}},"docs":{"$ref":"#/$defs/docs_config"},"group":{"$ref":"#/$defs/group"},"tests":{"type":"array","items":{"$ref":"#/$defs/data_tests"}}},"additionalProperties":false}},"semantic_models":{"type":"array","items":{"type":"object","required":["model","name"],"properties":{"name":{"type":"string","pattern":"(?!.*__).*^[a-z][a-z0-9_]*[a-z0-9]$"},"description":{"type":"string"},"defaults":{"type":"object","properties":{"agg_time_dimension":{"type":"string"}},"additionalProperties":false},"dimensions":{"type":"array","items":{"$ref":"#/$defs/dimension"}},"entities":{"type":"array","items":{"$ref":"#/$defs/entity"}},"measures":{"type":"array","items":{"$ref":"#/$defs/measure"}},"model":{"type":"string","default":"ref('')"},"primary_entity":{"type":"string"}},"additionalProperties":false}},"snapshots":{"type":"array","items":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"columns":{"type":"array","items":{"$ref":"#/$defs/column_properties"}},"config":{"type":"object","properties":{"alias":{"type":"string"},"check_cols":{"$ref":"#/$defs/string_or_array_of_strings"},"enabled":{"$ref":"#/$defs/boolean_or_jinja_string"},"grants":{"$ref":"#/$defs/grants"},"persist_docs":{"$ref":"#/$defs/persist_docs_config"},"post-hook":{"$ref":"#/$defs/array_of_strings"},"pre-hook":{"$ref":"#/$defs/array_of_strings"},"quote_columns":{"$ref":"#/$defs/boolean_or_jinja_string"},"strategy":{"type":"string"},"tags":{"$ref":"#/$defs/string_or_array_of_strings"},"target_database":{"type":"string"},"target_schema":{"type":"string"},"unique_key":{"$ref":"#/$defs/string_or_array_of_strings"},"updated_at":{"type":"string"}}},"data_tests":{"type":"array","items":{"$ref":"#/$defs/data_tests"}},"docs":{"$ref":"#/$defs/docs_config"},"group":{"$ref":"#/$defs/group"},"meta":{"type":"object"},"relation":{"description":"Required when defining your snapshot in YAML instead of using a legacy snapshot block.","type":"string","default":"source('', '')"},"tests":{"type":"array","items":{"$ref":"#/$defs/data_tests"}}},"additionalProperties":false}},"sources":{"type":"array","items":{"type":"object","required":["name"],"properties":{"name":{"description":"How you will identify the schema in {{ source() }} calls. Unless `schema` is also set, this will be the name of the schema in the database.","type":"string"},"description":{"type":"string"},"config":{"type":"object"},"data_tests":{"type":"array","items":{"$ref":"#/$defs/data_tests"}},"database":{"type":"string"},"freshness":{"$ref":"#/$defs/freshness_definition"},"loaded_at_field":{"type":"string"},"loader":{"type":"string"},"meta":{"type":"object"},"overrides":{"title":"Package to Override","description":"The name of another package installed in your project. If that package has a source with the same name as this one, its properties will be applied on top of the base properties of the overridden source. https://docs.getdbt.com/reference/resource-properties/overrides","type":"string"},"quoting":{"type":"object","properties":{"database":{"$ref":"#/$defs/boolean_or_jinja_string"},"identifier":{"$ref":"#/$defs/boolean_or_jinja_string"},"schema":{"$ref":"#/$defs/boolean_or_jinja_string"}},"additionalProperties":false},"schema":{"description":"The schema name as stored in the database. Only needed if you want to use a different `name` than what exists in the database (otherwise `name` is used by default)","type":"string"},"tables":{"type":"array","items":{"type":"object","required":["name"],"properties":{"name":{"title":"Name","description":"How you will identify the table in {{ source() }} calls. Unless `identifier` is also set, this will be the name of the table in the database.","type":"string"},"description":{"type":"string"},"columns":{"type":"array","items":{"$ref":"#/$defs/column_properties"}},"config":{"type":"object","properties":{"event_time":{"description":"The column that represents the actual moment the row's event happened. Contrast with, for example, when it was loaded to the warehouse.","type":"string"},"additionalProperties":true}},"data_tests":{"type":"array","items":{"$ref":"#/$defs/data_tests"}},"external":{"type":"object"},"freshness":{"$ref":"#/$defs/freshness_definition"},"identifier":{"title":"Identifier","description":"The table name as stored in the database. Only needed if you want to give the source a different name than what exists in the database (otherwise `name` is used by default)","type":"string"},"loaded_at_field":{"description":"Which column to check during data freshness tests. Only needed if the table has a different loaded_at_field to the one defined on the source overall.","type":"string"},"loader":{"type":"string"},"meta":{"type":"object"},"quoting":{"type":"object","properties":{"database":{"$ref":"#/$defs/boolean_or_jinja_string"},"identifier":{"$ref":"#/$defs/boolean_or_jinja_string"},"schema":{"$ref":"#/$defs/boolean_or_jinja_string"}},"additionalProperties":false},"tags":{"$ref":"#/$defs/string_or_array_of_strings"},"tests":{"type":"array","items":{"$ref":"#/$defs/data_tests"}}},"additionalProperties":false}},"tags":{"$ref":"#/$defs/string_or_array_of_strings"},"tests":{"type":"array","items":{"$ref":"#/$defs/data_tests"}}}}},"unit_tests":{"type":"array","items":{"type":"object","required":["expect","model","name"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"config":{"type":"object","properties":{"enabled":{"$ref":"#/$defs/boolean_or_jinja_string"},"meta":{"type":"object"},"tags":{"$ref":"#/$defs/string_or_array_of_strings"}},"additionalProperties":false},"expect":{"type":"object","if":{"properties":{"format":{"const":"dict"}}},"then":{"properties":{"rows":{"description":"When `format` is `dict`, each item should be a dictionary containing a key-value pair for each column and its value, e.g. `{id: 1, code: 'ABC'}`","type":"array","items":{"type":"object"}}}},"else":{"properties":{"rows":{"description":"When `format` is csv or sql, a string containing comma-separated headers and values. Alternatively provide a fixture. Use the pipe character | to create a multi-line string in YAML.","type":"string"}}},"properties":{"fixture":{"description":"Only relevant when format is csv. Specify the name of a fixture instead of providing `rows`.","type":"string"},"format":{"description":"Defaults to `dict` when not specified","type":"string","enum":["csv","dict","sql"]},"additionalProperties":false}},"given":{"type":"array","items":{"type":"object","if":{"properties":{"format":{"const":"dict"}}},"then":{"properties":{"rows":{"description":"When `format` is `dict`, each item should be a dictionary containing a key-value pair for each column and its value, e.g. `{id: 1, code: 'ABC'}`","type":"array","items":{"type":"object"}}}},"else":{"properties":{"rows":{"description":"When `format` is csv or sql, a string containing comma-separated headers and values. Alternatively provide a fixture. Use the pipe character | to create a multi-line string in YAML.","type":"string"}}},"properties":{"fixture":{"description":"Only relevant when format is csv. Specify the name of a fixture instead of providing `rows`.","type":"string"},"format":{"description":"Defaults to `dict` when not specified","type":"string","enum":["csv","dict","sql"]},"input":{"description":"The relation whose inputs you need to mock. Enclose in ref or source without curly braces","type":"string","examples":["ref('model_b')","ref('upstream_project', 'model_b')","source('schema', 'table')"]},"additionalProperties":false}}},"model":{"description":"The name of the model whose behaviour you are testing. Does not need to be wrapped in a ref.","type":"string","examples":["my_model"]},"overrides":{"type":"object","properties":{"env_vars":{"type":"object"},"macros":{"type":"object","examples":[{"is_incremental":"true"}]},"vars":{"type":"object"}},"additionalProperties":false},"additionalProperties":false},"additionalProperties":false}}},"additionalProperties":false,"$defs":{"aggregation_type_params":{"type":"object","properties":{"percentile":{"type":"number"},"use_approximate_percentile":{"type":"boolean"},"use_discrete_percentile":{"type":"boolean"}},"additionalProperties":false},"array_of_strings":{"type":"array","items":{"type":"string"}},"boolean_or_jinja_string":{"oneOf":[{"$ref":"#/$defs/jinja_string"},{"type":"boolean"}],"additionalProperties":false},"column_properties":{"type":"object","required":["name"],"uniqueItems":true,"properties":{"name":{"type":"string"},"description":{"type":"string"},"constraints":{"$ref":"#/$defs/constraints"},"data_tests":{"type":"array","items":{"$ref":"#/$defs/data_tests"}},"data_type":{"type":"string"},"granularity":{"enum":["day","hour","microsecond","millisecond","minute","month","nanosecond","quarter","second","week","year"]},"meta":{"type":"object"},"policy_tags":{"title":"Policy tags","description":"Configurations, specific to BigQuery adapter, used to set policy tags on specific columns, enabling column-level security. Only relevant when `persist_docs.columns` is true.","type":"array","items":{"type":"string"}},"quote":{"$ref":"#/$defs/boolean_or_jinja_string"},"tags":{"$ref":"#/$defs/string_or_array_of_strings"},"tests":{"type":"array","items":{"$ref":"#/$defs/data_tests"}}},"additionalProperties":false},"constraints":{"type":"array","items":{"type":"object","required":["type"],"properties":{"name":{"type":"string"},"type":{"type":"string"},"columns":{"$ref":"#/$defs/string_or_array_of_strings"},"expression":{"type":"string"},"warn_unenforced":{"$ref":"#/$defs/boolean_or_jinja_string"},"warn_unsupported":{"$ref":"#/$defs/boolean_or_jinja_string"}}}},"conversion_metric_type_params":{"type":"object","properties":{"conversion_type_params":{"type":"object","required":["base_measure","conversion_measure","entity"],"properties":{"base_measure":{"$ref":"#/$defs/metric_input_measure"},"calculation":{"type":"string","default":"conversion_rate","enum":["conversion_rate","CONVERSION_RATE","conversions","CONVERSIONS"]},"constant_properties":{"type":"array","items":{"type":"object","required":["base_property","conversion_property"],"properties":{"base_property":{"description":"DIMENSION or ENTITY","type":"string"},"conversion_property":{"description":"DIMENSION or ENTITY","type":"string"}}}},"conversion_measure":{"$ref":"#/$defs/metric_input_measure"},"entity":{"description":"The entity to calculate over","type":"string"},"window":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false},"cumulative_metric_type_params":{"type":"object","properties":{"cumulative_type_params":{"type":"object","properties":{"grain_to_date":{"type":"string"},"period_agg":{"enum":["average","first","last"]},"window":{"type":"string"}},"additionalProperties":false},"grain_to_date":{"enum":["day","hour","microsecond","millisecond","minute","month","nanosecond","quarter","second","week","year"]},"measure":{"$ref":"#/$defs/metric_input_measure"},"window":{"type":"string"}},"additionalProperties":false},"data_tests":{"anyOf":[{"type":"string"},{"enum":["not_null","unique"]},{"title":"Relationships Test","type":"object","properties":{"relationships":{"type":"object","required":["field","to"],"properties":{"name":{"type":"string"},"config":{"$ref":"#/$defs/test_configs"},"field":{"title":"Relationships: Field","description":"The foreign key column","type":"string","default":"<FOREIGN_KEY_COLUMN>"},"to":{"type":"string","default":"ref('')","examples":["ref('parent_model')","source('parent_schema', 'parent_table')"]},"where":{"type":"string"}}}}},{"title":"Accepted Values Test","type":"object","properties":{"accepted_values":{"type":"object","required":["values"],"properties":{"name":{"type":"string"},"config":{"$ref":"#/$defs/test_configs"},"quote":{"type":"boolean"},"values":{"type":"array","items":{"type":"string"}},"where":{"type":"string"}}}}},{"title":"User defined test","type":"object","patternProperties":{".*":{"type":"object","properties":{"name":{"type":"string"},"config":{"$ref":"#/$defs/test_configs"},"where":{"type":"string"}}}}}]},"derived_metric_type_params":{"type":"object","properties":{"expr":{"type":"string"},"metrics":{"type":"array","items":{"$ref":"#/$defs/metric_input_schema"}}},"additionalProperties":false},"dimension":{"type":"object","required":["name","type"],"anyOf":[{"not":{"$ref":"#/$defs/is-time-dimension"}},{"required":["type_params"]}],"properties":{"name":{"type":"string","pattern":"(?!.*__).*^[a-z][a-z0-9_]*[a-z0-9]$"},"description":{"type":"string"},"type":{"enum":["CATEGORICAL","categorical","TIME","time"]},"config":{"type":"object","properties":{"meta":{"type":"object","propertyNames":{"type":"string"}}}},"expr":{"type":["boolean","string"]},"is_partition":{"type":"boolean"},"type_params":{"$ref":"#/$defs/dimension_type_params"}},"additionalProperties":false},"dimension_type_params":{"type":"object","required":["time_granularity"],"properties":{"time_granularity":{"enum":["DAY","day","HOUR","hour","MICROSECOND","microsecond","MILLISECOND","millisecond","MINUTE","minute","MONTH","month","NANOSECOND","nanosecond","QUARTER","quarter","SECOND","second","WEEK","week","YEAR","year"]},"validity_params":{"$ref":"#/$defs/validity_params"}},"additionalProperties":false},"docs_config":{"title":"Docs config","description":"Configurations for the appearance of nodes in the dbt documentation.","type":"object","properties":{"node_color":{"description":"The color of the node on the DAG in the documentation. It must be an Hex code or a valid CSS color name.","type":"string","pattern":"^(#[a-fA-F0-9]{3}|#[a-fA-F0-9]{6}|[^#][a-zA-Z]*)$"},"show":{"type":"boolean","default":true}},"additionalProperties":false},"entity":{"type":"object","required":["name","type"],"properties":{"name":{"type":"string","pattern":"(?!.*__).*^[a-z][a-z0-9_]*[a-z0-9]$"},"type":{"enum":["FOREIGN","foreign","NATURAL","natural","PRIMARY","primary","UNIQUE","unique"]},"config":{"type":"object","properties":{"meta":{"type":"object","propertyNames":{"type":"string"}}}},"entity":{"type":"string"},"expr":{"type":["boolean","string"]}},"additionalProperties":false},"export":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"config":{"type":"object","properties":{"alias":{"type":"string"},"export_as":{"enum":["cache","table","view"]},"schema":{"type":"string"}},"additionalProperties":true}},"additionalProperties":false},"freshness_definition":{"default":{"error_after":{"count":2,"period":"day"},"warn_after":{"count":1,"period":"day"}},"oneOf":[{"type":"object","properties":{"error_after":{"$ref":"#/$defs/freshness_rules"},"filter":{"type":"string"},"warn_after":{"$ref":"#/$defs/freshness_rules"}},"additionalProperties":false},{"const":null}]},"freshness_rules":{"type":"object","required":["count","period"],"properties":{"count":{"$ref":"#/$defs/number_or_jinja_string"},"period":{"type":"string","enum":["day","hour","minute"]}},"additionalProperties":false},"grants":{"description":"grant config. each key is a database permission and the value is the grantee of that permission","type":"object","patternProperties":{".*":{"$ref":"#/$defs/string_or_array_of_strings"}},"additionalProperties":false},"group":{"type":"string"},"include_exclude":{"type":"object","properties":{"exclude":{"$ref":"#/$defs/string_or_array_of_strings"},"include":{"$ref":"#/$defs/string_or_array_of_strings"}}},"is-time-dimension":{"required":["type"],"properties":{"type":{"enum":["TIME","time"]}}},"jinja_string":{"type":"string","pattern":"\\{\\{.*\\}\\}"},"measure":{"type":"object","required":["agg","name"],"properties":{"name":{"type":"string","pattern":"(?!.*__).*^[a-z][a-z0-9_]*[a-z0-9]$"},"description":{"type":"string"},"agg":{"enum":["AVERAGE","average","COUNT","count","COUNT_DISTINCT","count_distinct","MAX","max","MEDIAN","median","MIN","min","PERCENTILE","percentile","SUM","sum","SUM_BOOLEAN","sum_boolean"]},"agg_params":{"$ref":"#/$defs/aggregation_type_params"},"agg_time_dimension":{"type":"string","pattern":"(?!.*__).*^[a-z][a-z0-9_]*[a-z0-9]$"},"config":{"type":"object","properties":{"meta":{"type":"object","propertyNames":{"type":"string"}}}},"create_metric":{"type":"boolean"},"create_metric_display_name":{"type":"string"},"expr":{"type":["boolean","integer","string"]},"label":{"type":"string"},"non_additive_dimension":{"$ref":"#/$defs/non_additive_dimension"}},"additionalProperties":false},"metric_input_measure":{"oneOf":[{"type":"string"},{"type":"object","properties":{"name":{"type":"string"},"fill_nulls_with":{"anyOf":[{"type":"string"},{"type":"integer"}]},"filter":{"type":"string"},"join_to_timespine":{"type":"boolean"}},"additionalProperties":false}]},"metric_input_schema":{"oneOf":[{"type":"string"},{"type":"object","properties":{"name":{"type":"string"},"alias":{"type":"string"},"filter":{"type":"string"},"offset_to_grain":{"type":"string"},"offset_window":{"type":"string"}},"additionalProperties":false}]},"model_configs":{"type":"object","properties":{"auto_refresh":{"$ref":"#/$defs/boolean_or_jinja_string"},"backup":{"$ref":"#/$defs/boolean_or_jinja_string"},"contract":{"type":"object","properties":{"enforced":{"$ref":"#/$defs/boolean_or_jinja_string"}}},"event_time":{"description":"The column that represents the actual moment the row's event happened. Contrast with, for example, when it was loaded to the warehouse.","type":"string"},"file_format":{"type":"string"},"grant_access_to":{"title":"Authorized views","description":"Configuration, specific to BigQuery adapter, used to setup authorized views.","type":"array","items":{"type":"object","required":["database","project"],"properties":{"database":{"type":"string"},"project":{"type":"string"}},"additionalProperties":false}},"grants":{"$ref":"#/$defs/grants"},"hours_to_expiration":{"description":"Configuration specific to BigQuery adapter used to set an expiration delay (in hours) to a table.","type":"number"},"kms_key_name":{"description":"Configuration of the KMS key name, specific to BigQuery adapter.","type":"string","pattern":"projects/[a-zA-Z0-9_-]*/locations/[a-zA-Z0-9_-]*/keyRings/.*/cryptoKeys/.*"},"labels":{"title":"Label configs","description":"Configuration specific to BigQuery adapter used to add labels and tags to tables/views created by dbt.","type":"object","patternProperties":{"^[a-z][a-z0-9_-]{0,62}$":{"type":"string","pattern":"^[a-z0-9_-]{0,63}$"}},"additionalProperties":false},"location":{"type":"string"},"materialized":{"type":"string"},"on_configuration_change":{"type":"string","enum":["apply","continue","fail"]},"on_schema_change":{"type":"string","enum":["append_new_columns","fail","ignore","sync_all_columns"]},"snowflake_warehouse":{"type":"string"},"sql_header":{"type":"string"},"target_lag":{"type":"string","pattern":"^(?:downstream|\\d+\\s*(?:seconds|minutes|hours|days))$"}}},"non_additive_dimension":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"window_choice":{"enum":["MAX","max","MIN","min"]},"window_groupings":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"number_or_jinja_string":{"oneOf":[{"$ref":"#/$defs/jinja_string"},{"type":"number"}],"additionalProperties":false},"persist_docs_config":{"title":"Persist docs config","description":"Configurations for the persistence of the dbt documentation.","type":"object","properties":{"columns":{"$ref":"#/$defs/boolean_or_jinja_string","default":true},"relation":{"$ref":"#/$defs/boolean_or_jinja_string","default":true}},"additionalProperties":false},"ratio_metric_type_params":{"type":"object","properties":{"denominator":{"$ref":"#/$defs/metric_input_schema"},"filter":{"type":"string"},"numerator":{"$ref":"#/$defs/metric_input_schema"}},"additionalProperties":false},"simple_metric_type_params":{"type":"object","properties":{"measure":{"$ref":"#/$defs/metric_input_measure"}},"additionalProperties":false},"string_or_array_of_strings":{"oneOf":[{"type":"string"},{"$ref":"#/$defs/array_of_strings"}]},"test_configs":{"title":"Test configs","description":"Configurations set here will override configs set in dbt_project.yml.","type":"object","properties":{"alias":{"description":"Only relevant when `store_failures` is true","type":"string"},"database":{"description":"Only relevant when `store_failures` is true","type":"string"},"enabled":{"$ref":"#/$defs/boolean_or_jinja_string"},"error_if":{"type":"string"},"fail_calc":{"type":"string"},"limit":{"type":"integer"},"schema":{"description":"Only relevant when `store_failures` is true","type":"string"},"severity":{"oneOf":[{"$ref":"#/$defs/jinja_string"},{"type":"string","enum":["error","warn"]}]},"store_failures":{"$ref":"#/$defs/boolean_or_jinja_string"},"tags":{"$ref":"#/$defs/string_or_array_of_strings"},"warn_if":{"type":"string"}}},"validity_params":{"type":"object","properties":{"is_end":{"type":"boolean"},"is_start":{"type":"boolean"}},"additionalProperties":false}}}
</schema>

[User] Provide a JSON object that satisfies the schema "dbt_yml_files". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.

dbt_yml_files

Add descriptions to custom singular tests

The name of the singular test

A description of the test's purpose, how it is implemented, and perhaps what you should do if it starts failing.

NB: depends_on is not strictly required, but is _expected_ according to the documentation

analysis application dashboard ml notebook

CONVERSION conversion CUMULATIVE cumulative DERIVED derived RATIO ratio SIMPLE simple

Required when defining your snapshot in YAML instead of using a legacy snapshot block.

How you will identify the schema in {{ source() }} calls. Unless `schema` is also set, this will be the name of the schema in the database.

Package to Override

The name of another package installed in your project. If that package has a source with the same name as this one, its properties will be applied on top of the base properties of the overridden source. https://docs.getdbt.com/reference/resource-properties/overrides

The schema name as stored in the database. Only needed if you want to use a different `name` than what exists in the database (otherwise `name` is used by default)

Name

How you will identify the table in {{ source() }} calls. Unless `identifier` is also set, this will be the name of the table in the database.

The column that represents the actual moment the row's event happened. Contrast with, for example, when it was loaded to the warehouse.

Identifier

The table name as stored in the database. Only needed if you want to give the source a different name than what exists in the database (otherwise `name` is used by default)

Which column to check during data freshness tests. Only needed if the table has a different loaded_at_field to the one defined on the source overall.

When `format` is `dict`, each item should be a dictionary containing a key-value pair for each column and its value, e.g. `{id: 1, code: 'ABC'}`

When `format` is csv or sql, a string containing comma-separated headers and values. Alternatively provide a fixture. Use the pipe character | to create a multi-line string in YAML.

Only relevant when format is csv. Specify the name of a fixture instead of providing `rows`.

Defaults to `dict` when not specified

Defaults to `dict` when not specified

The relation whose inputs you need to mock. Enclose in ref or source without curly braces

ref('model_b')
ref('upstream_project', 'model_b')
source('schema', 'table')

The name of the model whose behaviour you are testing. Does not need to be wrapped in a ref.

day hour microsecond millisecond minute month nanosecond quarter second week year

Policy tags

Configurations, specific to BigQuery adapter, used to set policy tags on specific columns, enabling column-level security. Only relevant when `persist_docs.columns` is true.

DIMENSION or ENTITY

DIMENSION or ENTITY

The entity to calculate over

Relationships Test

Relationships: Field

The foreign key column

Accepted Values Test

User defined test

DAY day HOUR hour MICROSECOND microsecond MILLISECOND millisecond MINUTE minute MONTH month NANOSECOND nanosecond QUARTER quarter SECOND second WEEK week YEAR year

Docs config

Configurations for the appearance of nodes in the dbt documentation.

The color of the node on the DAG in the documentation. It must be an Hex code or a valid CSS color name.

FOREIGN foreign NATURAL natural PRIMARY primary UNIQUE unique

grant config. each key is a database permission and the value is the grantee of that permission

AVERAGE average COUNT count COUNT_DISTINCT count_distinct MAX max MEDIAN median MIN min PERCENTILE percentile SUM sum SUM_BOOLEAN sum_boolean

Authorized views

Configuration, specific to BigQuery adapter, used to setup authorized views.

Configuration specific to BigQuery adapter used to set an expiration delay (in hours) to a table.

Configuration of the KMS key name, specific to BigQuery adapter.

Label configs

Configuration specific to BigQuery adapter used to add labels and tags to tables/views created by dbt.

Persist docs config

Configurations for the persistence of the dbt documentation.

Test configs

Configurations set here will override configs set in dbt_project.yml.

Only relevant when `store_failures` is true

Provide a JSON object that satisfies the schema "dbt_yml_files". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"http://json-schema.org/draft-04/schema#","definitions":{"profile":{"type":"object","required":["name"],"allOf":[{"$ref":"#/definitions/content"}],"anyOf":[{"properties":{"executablePath":{"type":"string","description":"An absolute path to the to the executable.","default":"","minLength":1}},"not":{"required":["commandName"]}},{"properties":{"commandName":{"type":"string","description":"The name of the command to call.","default":"","minLength":1}},"not":{"required":["executablePath"]}}]},"content":{"properties":{"name":{"type":"string","description":"The name of the debug profile","minLength":1},"commandLineArgs":{"type":"string","description":"The arguments to pass to the command.","default":""},"workingDirectory":{"type":"string","description":"Sets the working directory of the command."},"launchBrowser":{"type":"boolean","description":"Set to true if the browser should be launched.","default":false},"launchUrl":{"type":"string","description":"The relative URL to launch in the browser.","format":"uri"},"environmentVariables":{"type":"object","description":"Set the environment variables as key/value pairs.","additionalProperties":{"type":"string"}},"sdkVersion":{"type":"string","description":"Sets the version of the SDK."}}}},"id":"https://json.schemastore.org/debugsettings.json","properties":{"profiles":{"type":"array","description":"A list of debug profiles","items":{"$ref":"#/definitions/profile"}}},"title":"JSON schema for the ASP.NET DebugSettings.json files.","type":"object"}
</schema>

[User] Provide a JSON object that satisfies the schema "JSON schema for the ASP.NET DebugSettings.json files.". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.

An absolute path to the to the executable.

The name of the command to call.

The name of the debug profile

The arguments to pass to the command.

Sets the working directory of the command.

Set to true if the browser should be launched.

The relative URL to launch in the browser.

Set the environment variables as key/value pairs.

Sets the version of the SDK.

A list of debug profiles

Provide a JSON object that satisfies the schema "JSON schema for the ASP.NET DebugSettings.json files.". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"defaults":{"items":{"properties":{"default_name":{"type":"string"},"description":{"type":"string"},"policy_assignments":{"items":{"properties":{"parameter_names":{"items":{"type":"string"},"type":"array"},"policy_assignment_name":{"type":"string"}},"required":["policy_assignment_name","parameter_names"],"type":"object"},"type":"array"}},"required":["default_name","policy_assignments"],"type":"object"},"type":"array"}},"required":["defaults"],"type":"object"}
</schema>

[User] Provide a JSON object that satisfies the schema "default_policy_values". Here are the required top‑level fields: defaults. Return only the valid JSON object.

Provide a JSON object that satisfies the schema "default_policy_values". Here are the required top‑level fields: defaults. Return only the valid JSON object.


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://json.schemastore.org/dein.json","additionalProperties":false,"definitions":{"Plugin":{"title":"Pattern for a definition of vim plugin","type":"object","required":["repo"],"additionalProperties":false,"properties":{"repo":{"title":"repository. ","description":"The repository URI or local repository directory path.","oneOf":[{"$ref":"#/definitions/Url"},{"$ref":"#/definitions/Path"},{"$ref":"#/definitions/repo-string-pattern"}],"x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L118"}}},"augroup":{"description":"An augroup name that the plugin uses for |VimEnter| or |GUIEnter| autocmd events.","type":"string","x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L694"}}},"build":{"description":"Specify the build script. This command is executed by |system()| in the plugin runtimepath. Note: In previous versions of dein, build could also be of type dictionary, but that is now deprecated. Please use |dein-options-hook_post_update| instead.","type":"string","x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L699"}}},"depends":{"$ref":"#/definitions/ArrayOrString","description":"Specify a list of plugins a plugin depends on. List items are '{plugin-name}'. Those specified in the list are NOT installed automatically. Note: The loading order is not guaranteed in non lazy plugins.","x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L719"}}},"frozen":{"$ref":"#/definitions/Boolean","description":"If set to v:true, dein doesn't update it automatically. It is useful for outdated plugins that can no longer be updated.","x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L726"}}},"ftplugin":{"description":"'_' key is executed after all ftplugin. '{filetype}' key is executed {filetype} ftplugin.","type":"object","additionalProperties":false,"properties":{"_":{"title":"all filetypes","description":"'_' key is executed after all ftplugin.","type":"string","x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L733"}}}},"patternProperties":{"^[0-9a-zA-Z].+$":{"title":"filetype","description":"'{filetype}' key is executed {filetype} ftplugin.\nYou can define multiple filetypes by '{filetype1}_{filetype2}' key.\n'b:undo_ftplugin' is defined automatically.","type":"string"}},"x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L731"}}},"if":{"description":"If set to v:false, dein doesn't register the plugin, i.e. the plugin will be disabled. If it is String, dein will eval it. If you don't set it, dein will register (enable) the plugin","anyOf":[{"type":"boolean"},{"type":"integer"},{"type":"string"}],"x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L738"}}},"lazy":{"description":"If set to v:true, dein doesn't add the path to 'runtimepath' automatically. If you don't set it, dein will set it automatically when the conditions are met. Note: You should not specify the plugins which have no 'plugin/' directory as lazy load plugins.  It is meaningless and just increases the overhead.  You can get the no meaning lazy plugins by |dein#check_lazy_plugins()|.","anyOf":[{"type":"boolean"},{"type":"integer"}],"x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L746"}}},"merged":{"$ref":"#/definitions/Boolean","description":"If set to v:false, dein doesn't merge the plugin directory. It is useful for the plugin files conflicts.","x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L757"}}},"merge_ftdetect":{"$ref":"#/definitions/Boolean","description":"If set to v:true, dein merge the plugin \"ftdetect\" directory. It is useful to enable file detection when lazy loaded plugin. Note: It does not work if ftdetect script depends on lazy plugin functions.","x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L764"}}},"name":{"description":"Specify the name of the plugin. This is used for dein management and other functions. If it is omitted, the tail of the repository name will be used. Note: Must be unique across the all plugin. If the plugin name conflicts with another plugin, dein will overwrite the previous settings with the new one. If the repo tail is bound to conflict, you can set the 'name' option manually to prevent overwriting an existing plugin setting.","type":"string","x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L771"}}},"normalized_name":{"description":"Specify the normalized name of the plugin.  If omitted, dein will normalize the tail of the repository name. Note: Must be unique across all plugins.","type":"string","x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L782"}}},"on_cmd":{"$ref":"#/definitions/ArrayOrString","description":"If it is matched to the executed command, dein will call |dein#source()|.","x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L796"}}},"on_event":{"$ref":"#/definitions/ArrayOrString","description":"dein will call |dein#source()| on the events.","x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L801"}}},"on_func":{"$ref":"#/definitions/ArrayOrString","description":"If it is matched to the called function, dein will call |dein#source()|.","x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L805"}}},"on_ft":{"$ref":"#/definitions/ArrayOrString","description":"If it is matched to 'filetype', dein will call |dein#source()|.","x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L811"}}},"on_if":{"description":"If it is evaluated and it is non-zero, dein will call|dein#source()|.The default evaluate timings are 'BufRead', 'BufNewFile','VimEnter' and 'FileType'.If |dein-options-on_event| exists, it is evaluated when|dein-options-on_event|.","type":"string","x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L816"}}},"on_lua":{"$ref":"#/definitions/ArrayOrString","description":"If it is matched to the required lua module root, dein will call |dein#source()|. Note: It is for neovim only. Note: It does not work for neovim standard modules.","x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L829"}}},"on_map":{"description":"If it is the Dictionary, the key is {mode} and the items are{mapping} or [{mapping1}, {mapping2}, ...].If it is the List, the items are {mapping} or [{mode},{mapping1}, [{mapping2}, ...]].If {mode} is omitted, 'nx' is used.","oneOf":[{"$ref":"#/definitions/on_map-dict"},{"$ref":"#/definitions/on_map-array"},{"$ref":"#/definitions/on_map-string"}],"x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L836"}}},"on_path":{"$ref":"#/definitions/ArrayOrString","description":"If set to '.*', dein will call |dein#source()| on editing allfiles.  Otherwise, dein will call |dein#source()| if thebuffer name is matched to the string pattern.Note: It is useful for explorer behavior plugins.","x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L874"}}},"on_source":{"$ref":"#/definitions/ArrayOrString","description":"If set to '.*', dein will call |dein#source()| on editing allfiles.  Otherwise, dein will call |dein#source()| if thebuffer name is matched to the string pattern.Note: It is useful for explorer behavior plugins. ","x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L881"}}},"overwrite":{"$ref":"#/definitions/Boolean","description":"If set to v:true, dein overwrite existing plugin config when |dein#add()|.","x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L886"}}},"path":{"description":"Specify the plugin downloaded path.","type":"string","x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L891"}}},"rev":{"description":"Specify a revision number or branch/tag name. If it is '*' in 'git' type, dein will use latest released tag.You can specify the wildcards like '0.*'.Note: If the type is 'raw', rev must be hash number.","type":"string","x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L895"}}},"rtp":{"description":"Specify the runtime path. You can use it when the repository has the Vim plugin in a subdirectory.For example: https://github.com/rstacruz/sparkup If it is empty string, dein will not add the path to'runtimepath'","type":"string","default":"vim","x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L906"}}},"script_type":{"description":"Specify the script type. It is useful for non-official categorized plugins. For example: 'indent', 'plugin', 'ftplugin', ... Note: You must not specify it for categorized plugins.","type":"string","enum":["indent","plugin","colors","ftplugin"],"x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L919"}}},"timeout":{"description":"The time of timeout seconds when updating/installing plugins. If omit it, |g:dein#install_process_timeout| will be used.","type":"integer","x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L935"}}},"trusted":{"$ref":"#/definitions/Boolean","description":"If set to v:true, dein will load the plugin in 'sudo' mode. If you don't set it, dein won't load it.","x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L940"}}},"type":{"description":"Specify the repository type. If it is omitted, a guess is made based on {repository}.","type":"string","enum":["none","raw","git"],"x-taplo":{"docs":{"enumValues":["None repository","Raw plugin file ('script_type' attribute is needed)","git"]},"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L945","enumValues":["https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L951","https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L952","https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L954"]}}},"type__depth":{"description":"The history depth for 'git clone'.\n If omitted, |g:dein#types#git#clone_depth| is used. If it is than 0, dein clones the repository by shallow clone. Shallow clone feature saves your repository clone time. But it has problems in some repository.\n Note: This attribute is available in git type only.\n\n https://github.com/Shougo/neobundle.vim/issues/81 https://github.com/Homebrew/homebrew/issues/12024","type":"integer","x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L956"}}},"hook_add":{"description":"It is executed after the line is parsed. Note: You cannot call plugin function in 'hook_add'. Because the plugin is not sourced when 'hook_add'.","type":"string","x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L981"}}},"hook_done_update":{"description":"It is executed after the all plugins are updated.","type":"string","x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L1002"}}},"hook_post_source":{"description":"It is executed after plugins are sourced.  Note: In Vim initializing, you must call the 'hook_post_source' hooks manually in |VimEnter| if needed. ","type":"string","x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L1006"}}},"hook_post_update":{"description":"It is executed after the plugins are updated.","type":"string","x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L1015"}}},"hook_source":{"description":"It is executed before plugins are sourced. Note: The 'sourced' means after |dein#end()| or when |VimEnter| or autoloaded.           'type': 'string',","type":"string","x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L1021"}}},"lua_add":{"description":"Lua language string hook instead of Vim script.\nIt is converted to \"hook_add\" key.","type":"string","x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/4a888738849c67294ab6264d8776324c7d6b2441/doc/dein.txt#L1084"}}},"lua_source":{"description":"Lua language string hook instead of Vim script.\nIt is converted to \"hook_source\" key.","type":"string","x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/4a888738849c67294ab6264d8776324c7d6b2441/doc/dein.txt#L1084"}}}},"x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L115"},"initKeys":["repo"]}},"MultiplePlugins":{"title":"Pattern for multiple definition of vim plugin","type":"object","required":["plugins"],"additionalProperties":false,"properties":{"plugins":{"title":"plugins","type":"array","description":"The repository URI or local repository directory path.","items":{"$ref":"#/definitions/repo-string-pattern"},"x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L1073"}}}}},"Url":{"title":"path","type":"string","pattern":"^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$"},"repo-string-pattern":{"title":"repo name pattern","description":"If {repo} starts with github user name (ex:'Shougo/dein.vim'), dein will install github plugins.","type":"string","pattern":"^[a-zA-Z-_0-9]+/[a-zA-Z-_0-9\\.]+$"},"Path":{"title":"path","type":"string","pattern":"^[~|/][a-zA-Z-_0-9/\\.~]+$"},"vim-mode-key-pattern-string":{"type":"string","pattern":"^[nvxsomilct]+$"},"vim-mode-key-mapping-string":{"type":"string"},"on_map-string":{"type":"string","oneOf":[{"$ref":"#/definitions/vim-mode-key-pattern-string"},{"$ref":"#/definitions/vim-mode-key-mapping-string"}]},"on_map-array1":{"type":"array","items":{"$ref":"#/definitions/on_map-string"}},"on_map-array2":{"type":"array","items":{"$ref":"#/definitions/vim-mode-key-mapping-string"}},"on_map-array":{"oneOf":[{"$ref":"#/definitions/on_map-array1"},{"$ref":"#/definitions/on_map-array2"}]},"on_map-dict":{"type":"object","additionalProperties":false,"patternProperties":{"^[nvxsomilct]+$":{"description":"Pattern for vim key binding. You can use plugin prefix mappings. You can use '<Plug>' keyword as {mapping}. If{mapping} is '<Plug>', '<Plug>(normalized_name' is used. linter support is now under development","oneOf":[{"$ref":"#/definitions/vim-mode-key-mapping-string"},{"$ref":"#/definitions/on_map-array2"}]}}},"ArrayOrString":{"oneOf":[{"items":{"type":"string"},"type":"array"},{"type":"string"}]},"Boolean":{"oneOf":[{"type":"boolean"},{"enum":[0,1],"type":"number"}]}},"description":"A schema for config of dein.vim (https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L963)","properties":{"plugins":{"title":"Definition properties table for installing a vim plugin","description":"Definition properties table for installing a vim plugin.\nIt is converted to |dein#add()|.","type":"array","items":{"$ref":"#/definitions/Plugin"},"x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L1068"}}},"ftplugin":{"title":"ftplugin definition","description":"'_' key is executed after all ftplugin.\n'{filetype}' key is executed {filetype} ftplugin.\n You can define multiple filetypes by '{filetype1}_{filetype2}' key.","type":"object","additionalProperties":false,"properties":{"_":{"title":"all filetypes","description":"'_' key is executed after all ftplugin.","type":"string","x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L1056"}}}},"patternProperties":{"^[0-9a-zA-Z].+$":{"title":"filetype","description":"'{filetype}' key is executed {filetype} ftplugin.\nYou can define multiple filetypes by '{filetype1}_{filetype2}' key.\n'b:undo_ftplugin' is defined automatically.","type":"string"}},"x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L1054"}}},"hook_add":{"title":"hook_add definition","description":"It is the global |dein-options-hook_add|.\nIt is executed in |dein#end()|.","type":"string","x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L1063"}}},"multiple_plugins":{"title":"It is converted to |dein-toml-hook_add|","description":"It is converted to |dein-toml-hook_add|\n\"plugins\" key is needed.","type":"array","items":{"$ref":"#/definitions/MultiplePlugins"},"x-taplo":{"links":{"key":"https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L1073"}}}},"required":["plugins"],"title":"dein.vim","type":"object","x-taplo-info":{"authors":["kkiyama117 (https://github.com/kkiyama117)","raa0121 (https://github.com/raa0121)","Hibiki (https://github.com/4513ECHO)","mikan (https://github.com/mikanIchinose)"],"version":"0.1.0","patterns":["^(.*(/|\\\\)\\.*dein.*\\.toml|\\.*dein.*\\.toml)$"]}}
</schema>

[User] Provide a JSON object that satisfies the schema "dein.vim". Here are the required top‑level fields: plugins. Return only the valid JSON object.

Pattern for a definition of vim plugin

repository.

The repository URI or local repository directory path.

An augroup name that the plugin uses for |VimEnter| or |GUIEnter| autocmd events.

Specify the build script. This command is executed by |system()| in the plugin runtimepath. Note: In previous versions of dein, build could also be of type dictionary, but that is now deprecated. Please use |dein-options-hook_post_update| instead.

Specify a list of plugins a plugin depends on. List items are '{plugin-name}'. Those specified in the list are NOT installed automatically. Note: The loading order is not guaranteed in non lazy plugins.

If set to v:true, dein doesn't update it automatically. It is useful for outdated plugins that can no longer be updated.

all filetypes

'_' key is executed after all ftplugin.

filetype

'{filetype}' key is executed {filetype} ftplugin.
You can define multiple filetypes by '{filetype1}_{filetype2}' key.
'b:undo_ftplugin' is defined automatically.

If set to v:false, dein doesn't register the plugin, i.e. the plugin will be disabled. If it is String, dein will eval it. If you don't set it, dein will register (enable) the plugin

If set to v:true, dein doesn't add the path to 'runtimepath' automatically. If you don't set it, dein will set it automatically when the conditions are met. Note: You should not specify the plugins which have no 'plugin/' directory as lazy load plugins.  It is meaningless and just increases the overhead.  You can get the no meaning lazy plugins by |dein#check_lazy_plugins()|.

If set to v:false, dein doesn't merge the plugin directory. It is useful for the plugin files conflicts.

If set to v:true, dein merge the plugin "ftdetect" directory. It is useful to enable file detection when lazy loaded plugin. Note: It does not work if ftdetect script depends on lazy plugin functions.

Specify the name of the plugin. This is used for dein management and other functions. If it is omitted, the tail of the repository name will be used. Note: Must be unique across the all plugin. If the plugin name conflicts with another plugin, dein will overwrite the previous settings with the new one. If the repo tail is bound to conflict, you can set the 'name' option manually to prevent overwriting an existing plugin setting.

Specify the normalized name of the plugin.  If omitted, dein will normalize the tail of the repository name. Note: Must be unique across all plugins.

If it is matched to the executed command, dein will call |dein#source()|.

dein will call |dein#source()| on the events.

If it is matched to the called function, dein will call |dein#source()|.

If it is matched to 'filetype', dein will call |dein#source()|.

If it is evaluated and it is non-zero, dein will call|dein#source()|.The default evaluate timings are 'BufRead', 'BufNewFile','VimEnter' and 'FileType'.If |dein-options-on_event| exists, it is evaluated when|dein-options-on_event|.

If it is matched to the required lua module root, dein will call |dein#source()|. Note: It is for neovim only. Note: It does not work for neovim standard modules.

If it is the Dictionary, the key is {mode} and the items are{mapping} or [{mapping1}, {mapping2}, ...].If it is the List, the items are {mapping} or [{mode},{mapping1}, [{mapping2}, ...]].If {mode} is omitted, 'nx' is used.

If set to '.*', dein will call |dein#source()| on editing allfiles.  Otherwise, dein will call |dein#source()| if thebuffer name is matched to the string pattern.Note: It is useful for explorer behavior plugins.

If set to v:true, dein overwrite existing plugin config when |dein#add()|.

Specify the plugin downloaded path.

Specify a revision number or branch/tag name. If it is '*' in 'git' type, dein will use latest released tag.You can specify the wildcards like '0.*'.Note: If the type is 'raw', rev must be hash number.

Specify the runtime path. You can use it when the repository has the Vim plugin in a subdirectory.For example: https://github.com/rstacruz/sparkup If it is empty string, dein will not add the path to'runtimepath'

Specify the script type. It is useful for non-official categorized plugins. For example: 'indent', 'plugin', 'ftplugin', ... Note: You must not specify it for categorized plugins.

The time of timeout seconds when updating/installing plugins. If omit it, |g:dein#install_process_timeout| will be used.

If set to v:true, dein will load the plugin in 'sudo' mode. If you don't set it, dein won't load it.

Specify the repository type. If it is omitted, a guess is made based on {repository}.

Raw plugin file ('script_type' attribute is needed)

The history depth for 'git clone'.
 If omitted, |g:dein#types#git#clone_depth| is used. If it is than 0, dein clones the repository by shallow clone. Shallow clone feature saves your repository clone time. But it has problems in some repository.
 Note: This attribute is available in git type only.

 https://github.com/Shougo/neobundle.vim/issues/81 https://github.com/Homebrew/homebrew/issues/12024

It is executed after the line is parsed. Note: You cannot call plugin function in 'hook_add'. Because the plugin is not sourced when 'hook_add'.

It is executed after the all plugins are updated.

It is executed after plugins are sourced.  Note: In Vim initializing, you must call the 'hook_post_source' hooks manually in |VimEnter| if needed.

It is executed after the plugins are updated.

It is executed before plugins are sourced. Note: The 'sourced' means after |dein#end()| or when |VimEnter| or autoloaded.           'type': 'string',

Lua language string hook instead of Vim script.
It is converted to "hook_add" key.

Lua language string hook instead of Vim script.
It is converted to "hook_source" key.

Pattern for multiple definition of vim plugin

plugins

path

repo name pattern

If {repo} starts with github user name (ex:'Shougo/dein.vim'), dein will install github plugins.

path

Pattern for vim key binding. You can use plugin prefix mappings. You can use '<Plug>' keyword as {mapping}. If{mapping} is '<Plug>', '<Plug>(normalized_name' is used. linter support is now under development

A schema for config of dein.vim (https://github.com/Shougo/dein.vim/blob/f93be8c/doc/dein.txt#L963)

Definition properties table for installing a vim plugin.
It is converted to |dein#add()|.

ftplugin definition

'_' key is executed after all ftplugin.
'{filetype}' key is executed {filetype} ftplugin.
 You can define multiple filetypes by '{filetype1}_{filetype2}' key.

all filetypes

'_' key is executed after all ftplugin.

filetype

hook_add definition

It is the global |dein-options-hook_add|.
It is executed in |dein#end()|.

It is converted to |dein-toml-hook_add|

It is converted to |dein-toml-hook_add|
"plugins" key is needed.

dein.vim

Provide a JSON object that satisfies the schema "dein.vim". Here are the required top‑level fields: plugins. Return only the valid JSON object.


[User] Provide a JSON object that satisfies the schema "GitHub Dependabot v2 config". Here are the required top‑level fields: version, updates. Return only the valid JSON object.

Africa/Abidjan Africa/Accra Africa/Addis_Ababa Africa/Algiers Africa/Asmara Africa/Asmera Africa/Bamako Africa/Bangui Africa/Banjul Africa/Bissau Africa/Blantyre Africa/Brazzaville Africa/Bujumbura Africa/Cairo Africa/Casablanca Africa/Ceuta Africa/Conakry Africa/Dakar Africa/Dar_es_Salaam Africa/Djibouti Africa/Douala Africa/El_Aaiun Africa/Freetown Africa/Gaborone Africa/Harare Africa/Johannesburg Africa/Juba Africa/Kampala Africa/Khartoum Africa/Kigali Africa/Kinshasa Africa/Lagos Africa/Libreville Africa/Lome Africa/Luanda Africa/Lubumbashi Africa/Lusaka Africa/Malabo Africa/Maputo Africa/Maseru Africa/Mbabane Africa/Mogadishu Africa/Monrovia Africa/Nairobi Africa/Ndjamena Africa/Niamey Africa/Nouakchott Africa/Ouagadougou Africa/Porto-Novo Africa/Sao_Tome Africa/Timbuktu Africa/Tripoli Africa/Tunis Africa/Windhoek America/Adak America/Anchorage America/Anguilla America/Antigua America/Araguaina America/Argentina/Buenos_Aires America/Argentina/Catamarca America/Argentina/ComodRivadavia America/Argentina/Cordoba America/Argentina/Jujuy America/Argentina/La_Rioja America/Argentina/Mendoza America/Argentina/Rio_Gallegos America/Argentina/Salta America/Argentina/San_Juan America/Argentina/San_Luis America/Argentina/Tucuman America/Argentina/Ushuaia America/Aruba America/Asuncion America/Atikokan America/Atka America/Bahia America/Bahia_Banderas America/Barbados America/Belem America/Belize America/Blanc-Sablon America/Boa_Vista America/Bogota America/Boise America/Buenos_Aires America/Cambridge_Bay America/Campo_Grande America/Cancun America/Caracas America/Catamarca America/Cayenne America/Cayman America/Chicago America/Chihuahua America/Coral_Harbour America/Cordoba America/Costa_Rica America/Creston America/Cuiaba America/Curacao America/Danmarkshavn America/Dawson America/Dawson_Creek America/Denver America/Detroit America/Dominica America/Edmonton America/Eirunepe America/El_Salvador America/Ensenada America/Fort_Nelson America/Fort_Wayne America/Fortaleza America/Glace_Bay America/Godthab America/Goose_Bay America/Grand_Turk America/Grenada America/Guadeloupe America/Guatemala America/Guayaquil America/Guyana America/Halifax America/Havana America/Hermosillo America/Indiana/Indianapolis America/Indiana/Knox America/Indiana/Marengo America/Indiana/Petersburg America/Indiana/Tell_City America/Indiana/Vevay America/Indiana/Vincennes America/Indiana/Winamac America/Indianapolis America/Inuvik America/Iqaluit America/Jamaica America/Jujuy America/Juneau America/Kentucky/Louisville America/Kentucky/Monticello America/Knox_IN America/Kralendijk America/La_Paz America/Lima America/Los_Angeles America/Louisville America/Lower_Princes America/Maceio America/Managua America/Manaus America/Marigot America/Martinique America/Matamoros America/Mazatlan America/Mendoza America/Menominee America/Merida America/Metlakatla America/Mexico_City America/Miquelon America/Moncton America/Monterrey America/Montevideo America/Montreal America/Montserrat America/Nassau America/New_York America/Nipigon America/Nome America/Noronha America/North_Dakota/Beulah America/North_Dakota/Center America/North_Dakota/New_Salem America/Nuuk America/Ojinaga America/Panama America/Pangnirtung America/Paramaribo America/Phoenix America/Port-au-Prince America/Port_of_Spain America/Porto_Acre America/Porto_Velho America/Puerto_Rico America/Punta_Arenas America/Rainy_River America/Rankin_Inlet America/Recife America/Regina America/Resolute America/Rio_Branco America/Rosario America/Santa_Isabel America/Santarem America/Santiago America/Santo_Domingo America/Sao_Paulo America/Scoresbysund America/Shiprock America/Sitka America/St_Barthelemy America/St_Johns America/St_Kitts America/St_Lucia America/St_Thomas America/St_Vincent America/Swift_Current America/Tegucigalpa America/Thule America/Thunder_Bay America/Tijuana America/Toronto America/Tortola America/Vancouver America/Virgin America/Whitehorse America/Winnipeg America/Yakutat America/Yellowknife Antarctica/Casey Antarctica/Davis Antarctica/DumontDUrville Antarctica/Macquarie Antarctica/Mawson Antarctica/McMurdo Antarctica/Palmer Antarctica/Rothera Antarctica/South_Pole Antarctica/Syowa Antarctica/Troll Antarctica/Vostok Arctic/Longyearbyen Asia/Aden Asia/Almaty Asia/Amman Asia/Anadyr Asia/Aqtau Asia/Aqtobe Asia/Ashgabat Asia/Ashkhabad Asia/Atyrau Asia/Baghdad Asia/Bahrain Asia/Baku Asia/Bangkok Asia/Barnaul Asia/Beirut Asia/Bishkek Asia/Brunei Asia/Calcutta Asia/Chita Asia/Choibalsan Asia/Chongqing Asia/Chungking Asia/Colombo Asia/Dacca Asia/Damascus Asia/Dhaka Asia/Dili Asia/Dubai Asia/Dushanbe Asia/Famagusta Asia/Gaza Asia/Harbin Asia/Hebron Asia/Ho_Chi_Minh Asia/Hong_Kong Asia/Hovd Asia/Irkutsk Asia/Istanbul Asia/Jakarta Asia/Jayapura Asia/Jerusalem Asia/Kabul Asia/Kamchatka Asia/Karachi Asia/Kashgar Asia/Kathmandu Asia/Katmandu Asia/Khandyga Asia/Kolkata Asia/Krasnoyarsk Asia/Kuala_Lumpur Asia/Kuching Asia/Kuwait Asia/Macao Asia/Macau Asia/Magadan Asia/Makassar Asia/Manila Asia/Muscat Asia/Nicosia Asia/Novokuznetsk Asia/Novosibirsk Asia/Omsk Asia/Oral Asia/Phnom_Penh Asia/Pontianak Asia/Pyongyang Asia/Qatar Asia/Qostanay Asia/Qyzylorda Asia/Rangoon Asia/Riyadh Asia/Saigon Asia/Sakhalin Asia/Samarkand Asia/Seoul Asia/Shanghai Asia/Singapore Asia/Srednekolymsk Asia/Taipei Asia/Tashkent Asia/Tbilisi Asia/Tehran Asia/Tel_Aviv Asia/Thimbu Asia/Thimphu Asia/Tokyo Asia/Tomsk Asia/Ujung_Pandang Asia/Ulaanbaatar Asia/Ulan_Bator Asia/Urumqi Asia/Ust-Nera Asia/Vientiane Asia/Vladivostok Asia/Yakutsk Asia/Yangon Asia/Yekaterinburg Asia/Yerevan Atlantic/Azores Atlantic/Bermuda Atlantic/Canary Atlantic/Cape_Verde Atlantic/Faeroe Atlantic/Faroe Atlantic/Jan_Mayen Atlantic/Madeira Atlantic/Reykjavik Atlantic/South_Georgia Atlantic/St_Helena Atlantic/Stanley Australia/ACT Australia/Adelaide Australia/Brisbane Australia/Broken_Hill Australia/Canberra Australia/Currie Australia/Darwin Australia/Eucla Australia/Hobart Australia/LHI Australia/Lindeman Australia/Lord_Howe Australia/Melbourne Australia/North Australia/NSW Australia/Perth Australia/Queensland Australia/South Australia/Sydney Australia/Tasmania Australia/Victoria Australia/West Australia/Yancowinna Brazil/Acre Brazil/DeNoronha Brazil/East Brazil/West Canada/Atlantic Canada/Central Canada/Eastern Canada/Mountain Canada/Newfoundland Canada/Pacific Canada/Saskatchewan Canada/Yukon Chile/Continental Chile/EasterIsland Cuba Egypt Eire Etc/GMT Etc/GMT+0 Etc/GMT+1 Etc/GMT+10 Etc/GMT+11 Etc/GMT+12 Etc/GMT+2 Etc/GMT+3 Etc/GMT+4 Etc/GMT+5 Etc/GMT+6 Etc/GMT+7 Etc/GMT+8 Etc/GMT+9 Etc/GMT-0 Etc/GMT-1 Etc/GMT-10 Etc/GMT-11 Etc/GMT-12 Etc/GMT-13 Etc/GMT-14 Etc/GMT-2 Etc/GMT-3 Etc/GMT-4 Etc/GMT-5 Etc/GMT-6 Etc/GMT-7 Etc/GMT-8 Etc/GMT-9 Etc/GMT0 Etc/Greenwich Etc/UCT Etc/Universal Etc/UTC Etc/Zulu Europe/Amsterdam Europe/Andorra Europe/Astrakhan Europe/Athens Europe/Belfast Europe/Belgrade Europe/Berlin Europe/Bratislava Europe/Brussels Europe/Bucharest Europe/Budapest Europe/Busingen Europe/Chisinau Europe/Copenhagen Europe/Dublin Europe/Gibraltar Europe/Guernsey Europe/Helsinki Europe/Isle_of_Man Europe/Istanbul Europe/Jersey Europe/Kaliningrad Europe/Kiev Europe/Kirov Europe/Kyiv Europe/Lisbon Europe/Ljubljana Europe/London Europe/Luxembourg Europe/Madrid Europe/Malta Europe/Mariehamn Europe/Minsk Europe/Monaco Europe/Moscow Europe/Nicosia Europe/Oslo Europe/Paris Europe/Podgorica Europe/Prague Europe/Riga Europe/Rome Europe/Samara Europe/San_Marino Europe/Sarajevo Europe/Saratov Europe/Simferopol Europe/Skopje Europe/Sofia Europe/Stockholm Europe/Tallinn Europe/Tirane Europe/Tiraspol Europe/Ulyanovsk Europe/Uzhgorod Europe/Vaduz Europe/Vatican Europe/Vienna Europe/Vilnius Europe/Volgograd Europe/Warsaw Europe/Zagreb Europe/Zaporozhye Europe/Zurich GB GB-Eire Hongkong Iceland Indian/Antananarivo Indian/Chagos Indian/Christmas Indian/Cocos Indian/Comoro Indian/Kerguelen Indian/Mahe Indian/Maldives Indian/Mauritius Indian/Mayotte Indian/Reunion Iran Israel Jamaica Japan Kwajalein Libya Mexico/BajaNorte Mexico/BajaSur Mexico/General Navajo NZ NZ-CHAT Pacific/Apia Pacific/Auckland Pacific/Bougainville Pacific/Chatham Pacific/Chuuk Pacific/Easter Pacific/Efate Pacific/Enderbury Pacific/Fakaofo Pacific/Fiji Pacific/Funafuti Pacific/Galapagos Pacific/Gambier Pacific/Guadalcanal Pacific/Guam Pacific/Honolulu Pacific/Johnston Pacific/Kanton Pacific/Kiritimati Pacific/Kosrae Pacific/Kwajalein Pacific/Majuro Pacific/Marquesas Pacific/Midway Pacific/Nauru Pacific/Niue Pacific/Norfolk Pacific/Noumea Pacific/Pago_Pago Pacific/Palau Pacific/Pitcairn Pacific/Pohnpei Pacific/Ponape Pacific/Port_Moresby Pacific/Rarotonga Pacific/Saipan Pacific/Samoa Pacific/Tahiti Pacific/Tarawa Pacific/Tongatapu Pacific/Truk Pacific/Wake Pacific/Wallis Pacific/Yap Poland Portugal PRC ROC Singapore US/Alaska US/Aleutian US/Arizona US/Central US/East-Indiana US/Eastern US/Hawaii US/Indiana-Starke US/Michigan US/Mountain US/Pacific US/Samoa

direct indirect all production development

All explicitly defined dependencies.

Dependencies of direct dependencies (also known as sub-dependencies, or transient dependencies).

All explicitly defined dependencies. For bundler, pip, composer, cargo, also the dependencies of direct dependencies.

Only dependencies in the 'Product dependency group'.

Only dependencies in the 'Development dependency group'.

auto increase increase-if-necessary lockfile-only widen

Try to differentiate between apps and libraries. Use 'increase' for apps and 'widen' for libraries.

Always increase the minimum version requirement to match the new version. If a range already exists, typically this only increases the lower bound.

Leave the constraint if the original constraint allows the new version, otherwise, bump the constraint.

Only create pull requests to update lockfiles. Ignore any new versions that would require package manifest changes.

Widen the allowed version requirements to include both the new and old versions, when possible. Typically, this only increases the maximum allowed version requirement.

bun bundler cargo composer devcontainers docker docker-compose dotnet-sdk elm gitsubmodule github-actions gomod gradle helm maven mix npm nuget pip pub swift terraform uv

monday tuesday wednesday thursday friday saturday sunday

daily weekly monthly quarterly semiannually yearly cron

Customize which updates are allowed

Assignees to set on pull requests

Dependabot attempts to detect your commit message preferences and use similar patterns. Use this option to specify your preferences explicitly.

A prefix for all commit messages. When you specify a prefix for commit messages, GitHub will automatically add a colon between the defined prefix and the commit message provided the defined prefix ends with a letter, number, closing parenthesis, or closing bracket. This means that, for example, if you end the prefix with a whitespace, there will be no colon added between the prefix and the commit message.

A separate prefix for all commit messages that update dependencies in the Development dependency group. When you specify a value for this option, the prefix is used only for updates to dependencies in the Production dependency group. This is not supported by all package ecosystems.

Specifies that any prefix is followed by a list of the dependencies updated in the commit.

Locations of package manifests

Location of package manifests

Configure groups for dependencies. Each 'groups' property is arbitrary will appear in pull request titles and branch names. For example, the code snippet '{"groups": {"NPM dependencies": {"patterns": ["*"]}}}' sets the group name to 'NPM dependencies'.

Use to specify a whether the rules in the group apply to version updates or security updates.

Specify a dependency type to be included in the group.

Define strings of characters that match with a dependency name (or multiple dependency names) to include those dependencies in the group.

Exclude certain dependencies from the group. If a dependency is excluded from a group, Dependabot will continue to raise single pull requests to update the dependency to its latest version.

Specify the semantic versioning level to include in the group

Ignore certain dependencies or versions

Use to ignore updates for dependencies with matching names, optionally using * to match zero or more characters.

Use to ignore types of updates. You can combine this with 'dependency-name: "*"' to ignore particular update-types for all dependencies.

Use to ignore specific versions or ranges of versions. If you want to define a range, use the standard pattern for the package manager.

Allow or deny code execution in manifest files

Labels to set on pull requests

Associate all pull requests raised for a package manager with a milestone. You need to specify the numeric identifier of the milestone and not its label.

Limit number of open pull requests for version updates

These values are restricted by a top-level if-then-else when 'enable-beta-ecosystems' is not enabled.

Package manager to use

Pull request branch name preferences

Change separator for PR branch name

Disable automatic rebasing. 'auto' is the default and Dependabot will rebase open pull requests when changes are detected. 'disabled' will disable automatic rebasing.

'registries' must be either an array of strings, or the string constant '*'.

Specify individual reviewers or teams of reviewers for all pull requests raised for a package manager. You must use the full team name, including the organization, as if you were @mentioning the team.

Schedule preferences

Specify an alternative day to check for updates

Specify an alternative time of day to check for updates (format: hh:mm)

The time zone identifier must be from the Time Zone database maintained by IANA

Specify a valid cron expression for updates

If interval type is 'cron', enforce 'cronjob' property.

Specify a different branch for manifest files and for pull requests.

Tell Dependabot to vendor dependencies when updating them. Don't use this option if you're using 'gomod'.

How to update manifest version requirements

The top-level registries key is optional. It allows you to specify authentication details that Dependabot can use to access private package registries.

Identifies the type of registry.

composer-repository docker-registry git hex-organization hex-repository maven-repository npm-registry nuget-feed python-index rubygems-server terraform-registry

The URL to use to access the dependencies in this registry. The protocol is optional. If not specified, 'https://' is assumed. Dependabot adds or ignores trailing slashes as required.

The username that Dependabot uses to access the registry.

A reference to a Dependabot secret containing the password for the specified user.

A reference to a Dependabot secret containing an access key for this registry.

A reference to a Dependabot secret containing an access token for this registry.

For registries with type: python-index, if the boolean value is true, pip resolves dependencies by using the specified URL rather than the base URL of the Python Package Index (by default https://pypi.org/simple).

Config file version

Dependabot configuration files require this key, and its value must be 2

Enable ecosystems that have beta-level support

Package Ecosystem

Element for each one package manager that you want GitHub Dependabot to monitor for new versions

GitHub Dependabot v2 config

If 'enable-beta-ecosystems' is NOT enabled, enforce known 'package-ecosystem' values.

Provide a JSON object that satisfies the schema "GitHub Dependabot v2 config". Here are the required top‑level fields: version, updates. Return only the valid JSON object.


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"http://json-schema.org/draft-04/schema#","definitions":{},"id":"https://json.schemastore.org/dependabot.json","properties":{"version":{"type":"integer","default":1,"examples":[1],"minimum":1,"maximum":1},"update_configs":{"type":"array","items":{"type":"object","required":["package_manager","directory","update_schedule"],"properties":{"package_manager":{"type":"string","enum":["javascript","ruby:bundler","php:composer","python","go:modules","go:dep","java:maven","java:gradle","dotnet:nuget","rust:cargo","elixir:hex","docker","terraform","submodules","elm","github_actions"],"description":"What package manager to use","examples":["ruby:bundler"]},"directory":{"type":"string","description":"Where to look for package manifests","examples":["/app"]},"update_schedule":{"type":"string","enum":["live","daily","weekly","monthly"],"description":"How often to check for updates","examples":["live"]},"target_branch":{"type":"string","description":"Branch to create pull requests against. By default your repository's default branch is used.","items":{"type":"string","description":"branchname","examples":["develop"]}},"default_reviewers":{"type":"array","description":"Reviewers to set on update pull requests.","items":{"type":"string","description":"reviewer github username","examples":["github-username"]}},"default_assignees":{"type":"array","description":"Assignees to set on update pull requests.","items":{"type":"string","description":"assignee github username","examples":["github_username_1"]}},"default_labels":{"type":"array","description":"Labels to set on update pull requests. By default 'dependencies' is used.","items":{"type":"string","examples":["label-name"]}},"default_milestone":{"type":"integer","description":"Milestone to set on dependency update pull requests. Specified using the milestone number - you can find this in the URL when looking at details of a milestone in GitHub."},"allowed_updates":{"type":"array","description":"Limit which updates are allowed.  By default all direct/top-level dependencies are kept up to date (indirect/sub-dependencies are only updated if they include security fixes).","items":{"type":"object","minItems":1,"properties":{"match":{"type":"object","properties":{"dependency_name":{"type":"string","description":"matching on dependency name ","examples":["react*"]},"dependency_type":{"type":"string","description":"only allow certain updates","examples":["development","production","direct","indirect","all"]},"update_type":{"type":"string","enum":["security","all"],"description":"which updates to do","default":"security","examples":["all"]}}}}}},"ignored_updates":{"type":"array","description":"By default no updates are ignored. The version_requirement specifies the versions to ignore. The range format is specific to the package manager (e.g., ^1.0.0 for JS, or ~> 2.0 for Ruby).","items":{"type":"object","minItems":1,"properties":{"match":{"type":"object","properties":{"dependency_name":{"type":"string","description":"matching on dependency name ","examples":["aws*"]},"version_requirement":{"type":"string","description":"The version_requirement specifies the versions to ignore. The range format is specific to the package manager (e.g., ^1.0.0 for JS, or ~> 2.0 for Ruby).","examples":["4.x"]}}}}}},"automerged_updates":{"type":"array","description":"Automerged updates must be enabled at the account level (from account settings in your dashboard) before they can be configured on a project. Specify which update pull requests should be merged automatically. By default no updates are automerged. For all of the options below Dependabot will wait until all your status checks pass before merging. You can also set working hours for automerging in your dashboard account settings.","items":{"type":"object","minItems":1,"properties":{"match":{"type":"object","properties":{"dependency_name":{"type":"string","description":"matching on dependency name ","examples":["aws*"]},"dependency_type":{"type":"string","enum":["development","production","all"],"examples":["production*"]},"update_type":{"type":"string","enum":["security:patch","semver:patch","semver:minor","in_range","all"],"examples":["semver:patch"]}}}}}},"version_requirement_updates":{"type":"string","enum":["off","auto","widen_ranges","increase_versions","increase_versions_if_necessary"],"description":"Specify how Dependabot should update your package manifest (e.g. package.json, Gemfile etc), as opposed to your lockfile. By default, version requirements are increased if it's an app and the range widened if it's a library.","examples":["widen_ranges"]},"commit_message":{"type":"object","description":"Preferences for the format of Dependabot's commit messages and pull request titles. By default, Dependabot will attempt to detect your commit message preferences and use those.","properties":{"prefix":{"type":"string","examples":["chore"]},"prefix_development":{"type":"string","examples":["fix"]},"include_scope":{"type":"boolean"}}}}}}},"required":["version","update_configs"],"title":"Dependabot configuration file","type":"object"}
</schema>

[User] Provide a JSON object that satisfies the schema "Dependabot configuration file". Here are the required top‑level fields: version, update_configs. Return only the valid JSON object.

javascript ruby:bundler php:composer python go:modules go:dep java:maven java:gradle dotnet:nuget rust:cargo elixir:hex docker terraform submodules elm github_actions

What package manager to use

Where to look for package manifests

How often to check for updates

Branch to create pull requests against. By default your repository's default branch is used.

branchname

Reviewers to set on update pull requests.

reviewer github username

Assignees to set on update pull requests.

assignee github username

Labels to set on update pull requests. By default 'dependencies' is used.

Milestone to set on dependency update pull requests. Specified using the milestone number - you can find this in the URL when looking at details of a milestone in GitHub.

Limit which updates are allowed.  By default all direct/top-level dependencies are kept up to date (indirect/sub-dependencies are only updated if they include security fixes).

matching on dependency name

only allow certain updates

development production direct indirect all

which updates to do

By default no updates are ignored. The version_requirement specifies the versions to ignore. The range format is specific to the package manager (e.g., ^1.0.0 for JS, or ~> 2.0 for Ruby).

matching on dependency name

Automerged updates must be enabled at the account level (from account settings in your dashboard) before they can be configured on a project. Specify which update pull requests should be merged automatically. By default no updates are automerged. For all of the options below Dependabot will wait until all your status checks pass before merging. You can also set working hours for automerging in your dashboard account settings.

matching on dependency name

security:patch semver:patch semver:minor in_range all

Specify how Dependabot should update your package manifest (e.g. package.json, Gemfile etc), as opposed to your lockfile. By default, version requirements are increased if it's an app and the range widened if it's a library.

Preferences for the format of Dependabot's commit messages and pull request titles. By default, Dependabot will attempt to detect your commit message preferences and use those.

Dependabot configuration file

Provide a JSON object that satisfies the schema "Dependabot configuration file". Here are the required top‑level fields: version, update_configs. Return only the valid JSON object.