ubproject.toml schema

Configuration for ubcode

Properties

  • extend ([‘string’, ‘null’]): The path to a configuration file to extend. Default: null.

  • format_rst: RST formatting configuration. Refer to FormatRstConfig. Default: {"blockquote_indent": 2, "definition_list_indent": 2, "directive_indent": 3, "enum_list_auto": "preserve", "enum_list_style": "preserve", "fail_on_warning": [], "field_list_align_body": false, "field_list_body_on_new_line": 20, "field_list_indent": 2, "literal_indent": 2, "paragraph_line_length": null, "paragraph_semantic_wrap": false, "simple_table_space": 2, "substitution_indent": 3, "transition_char": null, "transition_length": 10, "validate": true}.

  • lint: Lint configuration settings. Refer to LintConfig. Default: {"ignore": [], "lsp_select": []}.

  • needs: Needs configuration settings. Refer to NeedsConfig. Default: {"external_needs": [], "extra_links": [], "extra_options": [], "filter_data": {}, "global_options": {}, "id_from_title": false, "id_length": 5, "id_regex": "^[A-Z0-9_]{5,}", "id_required": false, "import_keys": {}, "schema_definitions_from_json": "", "statuses": [], "tags": [], "title_from_content": false, "title_optional": false, "types": [{"color": "#BFD8D2", "directive": "req", "prefix": "R_", "style": "node", "title": "Requirement"}, {"color": "#FEDCD2", "directive": "spec", "prefix": "S_", "style": "node", "title": "Specification"}, {"color": "#DF744A", "directive": "impl", "prefix": "I_", "style": "node", "title": "Implementation"}, {"color": "#DCB239", "directive": "test", "prefix": "T_", "style": "node", "title": "Test Case"}], "variant_options": []}.

  • needs_json: Needs JSON configuration settings. Refer to NeedsJsonConfig. Default: {"path": "", "src": null}.

  • parse: Parse configuration settings. Refer to ParseConfig. Default: {"extend_directives": {}, "extend_roles": {}, "ignore_directives": []}.

  • project: Project configuration settings. Refer to ProjectConfig. Default: {"description": "", "name": "", "srcdir": "", "version": ""}.

  • rst_lint: Deprecated RST lint configuration (use lint instead). Refer to LintConfig. Default: {"ignore": [], "lsp_select": []}.

  • scripts (object): A map of script names to command templates. Can contain additional properties. Default: {}.

    • Additional properties: Configuration for a script, either as a string, command, or chain.

      • Any of

        • string: A string to run as a script.

        • object: A command configuration. Cannot contain additional properties.

          • cmd (string, required): The command to run.

          • env (object): A map of environment variables to set when running the command. Can contain additional properties. Default: {}.

            • Additional properties (string)

          • jinja (boolean): If True, the command is a Jinja template. Default: true.

          • terminal ([‘string’, ‘null’]): The terminal name to use to run the command (defaults to script key). Default: null.

        • object: A chain of script configurations. Cannot contain additional properties.

          • chain (array, required): A list of keys of scripts to chain together.

            • Items (string)

          • terminal ([‘string’, ‘null’]): The terminal name to use to run the command (defaults to script key). Default: null.

  • server: Server configuration settings. Refer to ServerConfig. Default: {"hover_images": true, "hover_need_refs": true, "image_file_patterns": ["*.jpg", "*.jpeg", "*.png", "*.gif", "*.svg", "*.webp", "*.bmp", "*.tiff", "*.tif", "*.ico", "*.heif", "*.heic", "*.avif", "*.eps", "*.psd", "*.ai", "*.pdf"], "index_on_save": false}.

  • source: Source file discovery configuration. Refer to SourceConfig. Default: {"exclude": [".bzr", ".direnv", ".eggs", ".git", ".git-rewrite", ".hg", ".svn", ".venv", ".vscode", "_build", "build", "dist", "node_modules", "site-packages"], "extend_exclude": [], "extend_include": [], "include": ["*.rst"], "respect_gitignore": true}.

  • virtual (boolean): Virtual configurations do not correspond to an actual project. They are used for providing shared configuration defaults, or for workspaces that are not themselves projects. Default: false.

Definitions

  • DefaultExcludeList (array): Default list of glob patterns to exclude from source files.

    • Items (string)

  • DefaultIdLength (integer, format: uint): Default ID length for needs (5 characters). Minimum: 0.

  • DefaultIdRegex (string): Default regex pattern for need IDs (uppercase letters, numbers, and underscores, at least 5 characters).

  • DefaultImageFilePatterns (array): Default list of image file patterns for image file detection.

    • Items (string)

  • DefaultIncludeList (array): Default list of glob patterns to include in source files (*.rst).

    • Items (string)

  • DefaultLength10 (integer, format: uint): Default length value of 10. Minimum: 0.

  • DefaultLength2 (integer, format: uint): Default length value of 2. Minimum: 0.

  • DefaultLength20 (integer, format: uint): Default length value of 20. Minimum: 0.

  • DefaultLength3 (integer, format: uint): Default length value of 3. Minimum: 0.

  • DefaultNeedTypes (array): Default need types (req, spec, impl, test).

    • Items (object): Defines a need type.

      • color (string): The default color to use in diagrams. Default: "#000000".

      • directive (string, required): The directive name.

      • prefix (string, required): The prefix to use for auto-generated need IDs.

      • style (string): The default style to use in diagrams. Default: "node".

      • title (string, required): A human readable title.

  • DefaultTrueBool (boolean): Default boolean value of true.

  • EnumListAuto

    • One of

      • string: Preserve # markers from the original text. Must be: "preserve".

      • string: Always use # markers for susequent items. Must be: "always".

      • string: Never use # markers for susequent items. Must be: "never".

  • EnumListStyle

    • One of

      • string: Preserve the original style of the list. Must be: "preserve".

      • string: Use a period after the number (e.g. 1., 2., 3.). Must be: "period".

      • string: Use a right parenthesis after the number (e.g. 1), 2), 3)). Must be: "rparen".

      • string: Use parentheses around the number (e.g. (1), (2), (3)). Must be: "parens".

  • FormatRstConfig (object): reStructuredText formatting configuration.

    • blockquote_indent: The number of spaces to use for indentation of blockquotes. Refer to DefaultLength2. Default: 2.

    • definition_list_indent: The number of spaces to use for indentation of definitions. Refer to DefaultLength2. Default: 2.

    • directive_indent: The number of spaces to use for indentation of directive content. Refer to DefaultLength3. Default: 3.

    • enum_list_auto: Behavior of enumerated lists when using auto # markers. Refer to EnumListAuto. Default: "preserve".

    • enum_list_style: The style of enumerated list item markers. Refer to EnumListStyle. Default: "preserve".

    • fail_on_warning (array): A list of linting codes to fail formatting. Default: [].

      • Items (string)

    • field_list_align_body (boolean): Whether to align the body of field lists with the with its first line. Default: false.

    • field_list_body_on_new_line: The field length after which the first line of the body should start on a new line. Refer to DefaultLength20. Default: 20.

    • field_list_indent: The number of spaces to use for indentation of field bodies. Refer to DefaultLength2. Default: 2.

    • literal_indent: The number of spaces to use for indentation of literal blocks. Refer to DefaultLength2. Default: 2.

    • paragraph_line_length ([‘integer’, ‘null’], format: uint): A target width for paragraphs. Note this is not a hard limit, but a target length. It will also not wrap paragraphs in tables. Minimum: 1. Default: null.

    • paragraph_semantic_wrap (boolean): Whether to wrap paragraphs at semantic boundaries. Default: false.

    • simple_table_space: The number of spaces to use between columns in simple tables. Refer to DefaultLength2. Default: 2.

    • substitution_indent: The number of spaces to use for indentation of substitution content. Refer to DefaultLength3. Default: 3.

    • transition_char ([‘string’, ‘null’]): The character to use for transition lines. Must be one of: ["-", "=", "~", "^", ".", "+", "_", "#", null]. Default: null.

    • transition_length: The length of transition lines. Refer to DefaultLength10. Default: 10.

    • validate: Validate the formatted syntax structure has not changed. Refer to DefaultTrueBool. Default: true.

  • LintConfig (object): Lint configuration.

    • ignore (array): A list of linting codes to ignore. Default: [].

      • Items (string)

    • lsp_select (array): A list of linting codes to select in LSP file diagnostics This overrides the ignore list. Default: [].

      • Items (string)

  • NeedsConfig (object): Needs configuration.

    • external_needs (array): External sources to load needs from. Default: [].

      • Items (object): External source to load needs from.

        • Any of

          • object: JSON source from a local file path.

            • json_path (string, required): Local path to a JSON file.

          • object: JSON source from a remote URL.

            • json_url (string, format: uri, required): Remote URL to a JSON file.

        • base_url ([‘string’, ‘null’]): The base URL for references to the external source. Default: null.

        • css_class ([‘string’, ‘null’]): Add a CSS class to URL references. Default: null.

        • id_prefix ([‘string’, ‘null’]): Prefix all IDs from the external source with this string (note will be uppercased). Default: null.

        • skip_in_ubcode (boolean): Skip this source when loading needs in ubcode. Default: false.

        • target_url ([‘string’, ‘null’]): A Jinja template for the URL of references to the external source, relative to base_url. Default: null.

        • version ([‘string’, ‘null’]): Override current_version from loaded JSON. Default: null.

    • extra_links (array): Links between needs. Default: [].

      • Items (object): Defines a link between needs.

        • allow_dead_links (boolean): Do not warn if a link connects to an unknown need ID. Default: false.

        • color (string): The default color to use in diagrams. Default: "#000000".

        • copy (boolean): Copy to common links field. Default: false.

        • incoming ([‘string’, ‘null’]): The incoming link title.

        • option (string, required): The name of the link type.

        • outgoing ([‘string’, ‘null’]): The outgoing link title.

        • style (string): The default style to use in diagrams. Default: "solid".

        • style_end (string): The default end style to use in diagrams. Default: ">".

        • style_part (string): The default style to use in diagrams for part links. Default: "dotted".

        • style_start (string): The default start style to use in diagrams. Default: "-".

    • extra_options (array): Extra options for needs. Default: [].

      • Items: Definition for extra options, either as a map or string reference.

        • Any of

          • object: Extra option for needs.

            • description (string): The description of the option. Default: "".

            • name (string, required): The name of the option.

            • schema: Schema for the option value. Default: null.

              • Any of

                • : Union type that can represent either an array schema or a single-value schema.

                  • Any of