Conversation
…oduleConfigurationDefinition`)
There was a problem hiding this comment.
Pull request overview
Implements the new “module” folder structure for definition sets (replacing the prior “feature” concept) and updates the CLI tooling to read, analyse, report, and push modules using the new layout (e.g., module.json, data_types/, flow_types/, runtime_functions/, etc.). This aligns with Issue #333’s goal of adjusting both the folder structure and the reader.
Changes:
- Add module-based definition trees under
definitions/(e.g.,taurus/*,draco_*) includingmodule.json,data_types, and many runtime/function definitions. - Update CLI commands and reporting from “Feature” to “Module”, including parse-error fail-fast behavior.
- Extend analyser/indexing/diagnostics to support module definitions, module configurations, runtime flow types, and function definitions.
Reviewed changes
Copilot reviewed 48 out of 187 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| definitions/taurus/text/runtime_functions/std_text_uppercase.proto.json | Add Text runtime function definition (uppercase) under new module layout |
| definitions/taurus/text/runtime_functions/std_text_trim.proto.json | Add Text runtime function definition (trim) |
| definitions/taurus/text/runtime_functions/std_text_to_ascii.proto.json | Add Text runtime function definition (to_ascii) |
| definitions/taurus/text/runtime_functions/std_text_swapcase.proto.json | Add Text runtime function definition (swapcase) |
| definitions/taurus/text/runtime_functions/std_text_starts_with.proto.json | Add Text runtime function definition (starts_with) |
| definitions/taurus/text/runtime_functions/std_text_split.proto.json | Add Text runtime function definition (split) |
| definitions/taurus/text/runtime_functions/std_text_reverse.proto.json | Add Text runtime function definition (reverse) |
| definitions/taurus/text/runtime_functions/std_text_replace_last.proto.json | Add Text runtime function definition (replace_last) |
| definitions/taurus/text/runtime_functions/std_text_replace.proto.json | Add Text runtime function definition (replace) |
| definitions/taurus/text/runtime_functions/std_text_remove.proto.json | Add Text runtime function definition (remove) |
| definitions/taurus/text/runtime_functions/std_text_prepend.proto.json | Add Text runtime function definition (prepend) |
| definitions/taurus/text/runtime_functions/std_text_octal.proto.json | Add Text runtime function definition (octal) |
| definitions/taurus/text/runtime_functions/std_text_lowercase.proto.json | Add Text runtime function definition (lowercase) |
| definitions/taurus/text/runtime_functions/std_text_length.proto.json | Add Text runtime function definition (length) |
| definitions/taurus/text/runtime_functions/std_text_is_equal.proto.json | Add Text runtime function definition (is_equal) |
| definitions/taurus/text/runtime_functions/std_text_index_of.proto.json | Add Text runtime function definition (index_of) |
| definitions/taurus/text/runtime_functions/std_text_hex.proto.json | Add Text runtime function definition (hex) |
| definitions/taurus/text/runtime_functions/std_text_from_ascii.proto.json | Add Text runtime function definition (from_ascii) |
| definitions/taurus/text/runtime_functions/std_text_ends_with.proto.json | Add Text runtime function definition (ends_with) |
| definitions/taurus/text/runtime_functions/std_text_encode.proto.json | Add Text runtime function definition (encode) |
| definitions/taurus/text/runtime_functions/std_text_decode.proto.json | Add Text runtime function definition (decode) |
| definitions/taurus/text/runtime_functions/std_text_contains.proto.json | Add Text runtime function definition (contains) |
| definitions/taurus/text/runtime_functions/std_text_chars.proto.json | Add Text runtime function definition (chars) |
| definitions/taurus/text/runtime_functions/std_text_capitalize.proto.json | Add Text runtime function definition (capitalize) |
| definitions/taurus/text/runtime_functions/std_text_byte_size.proto.json | Add Text runtime function definition (byte_size) |
| definitions/taurus/text/runtime_functions/std_text_at.proto.json | Add Text runtime function definition (at) |
| definitions/taurus/text/runtime_functions/std_text_as_bytes.proto.json | Add Text runtime function definition (as_bytes) |
| definitions/taurus/text/runtime_functions/std_text_append.proto.json | Add Text runtime function definition (append) |
| definitions/taurus/text/module.json | Add Text module metadata (module.json) |
| definitions/taurus/text/data_types/text_encoding.proto.json | Add TEXT_ENCODING data type for Text module |
| definitions/taurus/text/data_types/text.proto.json | Add TEXT data type for Text module |
| definitions/taurus/object/runtime_functions/std_object_size.proto.json | Add Object runtime function definition (size) |
| definitions/taurus/object/runtime_functions/std_object_keys.proto.json | Add Object runtime function definition (keys) |
| definitions/taurus/object/runtime_functions/std_object_get.proto.json | Add Object runtime function definition (get) |
| definitions/taurus/object/runtime_functions/std_object_contains_key.proto.json | Add Object runtime function definition (contains_key) |
| definitions/taurus/object/module.json | Add Object module metadata |
| definitions/taurus/object/data_types/type.proto.json | Add TYPE data type for Object module |
| definitions/taurus/object/data_types/object.proto.json | Add OBJECT data type for Object module |
| definitions/taurus/number/runtime_functions/std_number_tan.proto.json | Add Number runtime function definition (tan) |
| definitions/taurus/number/runtime_functions/std_number_subtract.proto.json | Add Number runtime function definition (subtract) |
| definitions/taurus/number/runtime_functions/std_number_square_root.proto.json | Add Number runtime function definition (square_root) |
| definitions/taurus/number/runtime_functions/std_number_square.proto.json | Add Number runtime function definition (square) |
| definitions/taurus/number/runtime_functions/std_number_sinh.proto.json | Add Number runtime function definition (sinh) |
| definitions/taurus/number/runtime_functions/std_number_sin.proto.json | Add Number runtime function definition (sin) |
| definitions/taurus/number/runtime_functions/std_number_round_up.proto.json | Add Number runtime function definition (round_up) |
| definitions/taurus/number/runtime_functions/std_number_round_down.proto.json | Add Number runtime function definition (round_down) |
| definitions/taurus/number/runtime_functions/std_number_round.proto.json | Add Number runtime function definition (round) |
| definitions/taurus/number/runtime_functions/std_number_root.proto.json | Add Number runtime function definition (root) |
| definitions/taurus/number/runtime_functions/std_number_remove_digits.proto.json | Add Number runtime function definition (remove_digits) |
| definitions/taurus/number/runtime_functions/std_number_random_number.proto.json | Add Number runtime function definition (random_number) |
| definitions/taurus/number/runtime_functions/std_number_pi.proto.json | Add Number runtime function definition (pi) |
| definitions/taurus/number/runtime_functions/std_number_negate.proto.json | Add Number runtime function definition (negate) |
| definitions/taurus/number/runtime_functions/std_number_multiply.proto.json | Add Number runtime function definition (multiply) |
| definitions/taurus/number/runtime_functions/std_number_modulo.proto.json | Add Number runtime function definition (modulo) |
| definitions/taurus/number/runtime_functions/std_number_min.proto.json | Add Number runtime function definition (min) |
| definitions/taurus/number/runtime_functions/std_number_max.proto.json | Add Number runtime function definition (max) |
| definitions/taurus/number/runtime_functions/std_number_log.proto.json | Add Number runtime function definition (log) |
| definitions/taurus/number/runtime_functions/std_number_ln.proto.json | Add Number runtime function definition (ln) |
| definitions/taurus/number/runtime_functions/std_number_is_zero.proto.json | Add Number runtime function definition (is_zero) |
| definitions/taurus/number/runtime_functions/std_number_is_positive.proto.json | Add Number runtime function definition (is_positive) |
| definitions/taurus/number/runtime_functions/std_number_is_less.proto.json | Add Number runtime function definition (is_less) |
| definitions/taurus/number/runtime_functions/std_number_is_greater.proto.json | Add Number runtime function definition (is_greater) |
| definitions/taurus/number/runtime_functions/std_number_is_equal.proto.json | Add Number runtime function definition (is_equal) |
| definitions/taurus/number/runtime_functions/std_number_infinity.proto.json | Add Number runtime function definition (infinity) |
| definitions/taurus/number/runtime_functions/std_number_has_digits.proto.json | Add Number runtime function definition (has_digits) |
| definitions/taurus/number/runtime_functions/std_number_from_text.proto.json | Add Number runtime function definition (from_text) |
| definitions/taurus/number/runtime_functions/std_number_exponential.proto.json | Add Number runtime function definition (exponential) |
| definitions/taurus/number/runtime_functions/std_number_euler.proto.json | Add Number runtime function definition (euler) |
| definitions/taurus/number/runtime_functions/std_number_divide.proto.json | Add Number runtime function definition (divide) |
| definitions/taurus/number/runtime_functions/std_number_cosh.proto.json | Add Number runtime function definition (cosh) |
| definitions/taurus/number/runtime_functions/std_number_cos.proto.json | Add Number runtime function definition (cos) |
| definitions/taurus/number/runtime_functions/std_number_clamp.proto.json | Add Number runtime function definition (clamp) |
| definitions/taurus/number/runtime_functions/std_number_as_text.proto.json | Add Number runtime function definition (as_text) |
| definitions/taurus/number/runtime_functions/std_number_arctan.proto.json | Add Number runtime function definition (arctan) |
| definitions/taurus/number/runtime_functions/std_number_arcsin.proto.json | Add Number runtime function definition (arcsin) |
| definitions/taurus/number/runtime_functions/std_number_arccos.proto.json | Add Number runtime function definition (arccos) |
| definitions/taurus/number/runtime_functions/std_number_add.proto.json | Add Number runtime function definition (add) |
| definitions/taurus/number/runtime_functions/std_number_abs.proto.json | Add Number runtime function definition (abs) |
| definitions/taurus/number/module.json | Add Number module metadata |
| definitions/taurus/number/data_types/number.proto.json | Add NUMBER data type for Number module |
| definitions/taurus/list/runtime_functions/std_array_to_unique.proto.json | Add List runtime function definition (to_unique) |
| definitions/taurus/list/runtime_functions/std_array_sum.proto.json | Add List runtime function definition (sum) |
| definitions/taurus/list/runtime_functions/std_array_sort_reverse.proto.json | Add List runtime function definition (sort_reverse) |
| definitions/taurus/list/runtime_functions/std_array_sort.proto.json | Add List runtime function definition (sort) |
| definitions/taurus/list/runtime_functions/std_array_size.proto.json | Add List runtime function definition (size) |
| definitions/taurus/list/runtime_functions/std_array_reverse.proto.json | Add List runtime function definition (reverse) |
| definitions/taurus/list/runtime_functions/std_array_remove.proto.json | Add List runtime function definition (remove) |
| definitions/taurus/list/runtime_functions/std_array_push.proto.json | Add List runtime function definition (push) |
| definitions/taurus/list/runtime_functions/std_array_pop.proto.json | Add List runtime function definition (pop) |
| definitions/taurus/list/runtime_functions/std_array_min.proto.json | Add List runtime function definition (min) |
| definitions/taurus/list/runtime_functions/std_array_max.proto.json | Add List runtime function definition (max) |
| definitions/taurus/list/runtime_functions/std_array_map.proto.json | Add List runtime function definition (map) |
| definitions/taurus/list/runtime_functions/std_array_last.proto.json | Add List runtime function definition (last) |
| definitions/taurus/list/runtime_functions/std_array_join.proto.json | Add List runtime function definition (join) |
| definitions/taurus/list/runtime_functions/std_array_is_empty.proto.json | Add List runtime function definition (is_empty) |
| definitions/taurus/list/runtime_functions/std_array_index_of.proto.json | Add List runtime function definition (index_of) |
| definitions/taurus/list/runtime_functions/std_array_for_each.proto.json | Add List runtime function definition (for_each) |
| definitions/taurus/list/runtime_functions/std_array_flat.proto.json | Add List runtime function definition (flat) |
| definitions/taurus/list/runtime_functions/std_array_first.proto.json | Add List runtime function definition (first) |
| definitions/taurus/list/runtime_functions/std_array_find_last.proto.json | Add List runtime function definition (find_last) |
| definitions/taurus/list/runtime_functions/std_array_find_index.proto.json | Add List runtime function definition (find_index) |
| definitions/taurus/list/runtime_functions/std_array_find.proto.json | Add List runtime function definition (find) |
| definitions/taurus/list/runtime_functions/std_array_filter.proto.json | Add List runtime function definition (filter) |
| definitions/taurus/list/runtime_functions/std_array_concat.proto.json | Add List runtime function definition (concat) |
| definitions/taurus/list/runtime_functions/std_array_at.proto.json | Add List runtime function definition (at) |
| definitions/taurus/list/module.json | Add List module metadata |
| definitions/taurus/list/data_types/list.proto.json | Add LIST data type for List module |
| definitions/taurus/http/runtime_functions/http_request_send.proto.json | Add HTTP runtime function definition (request::send) |
| definitions/taurus/http/module.json | Add HTTP module metadata |
| definitions/taurus/http/data_types/http_url.proto.json | Add HTTP_URL data type |
| definitions/taurus/http/data_types/http_status_code.proto.json | Add HTTP_STATUS_CODE data type |
| definitions/taurus/http/data_types/http_response.proto.json | Add HTTP_RESPONSE data type |
| definitions/taurus/http/data_types/http_request.proto.json | Add HTTP_REQUEST data type |
| definitions/taurus/http/data_types/http_method.proto.json | Add HTTP_METHOD data type |
| definitions/taurus/control/runtime_functions/std_control_value.proto.json | Add Control runtime function definition (value) |
| definitions/taurus/control/runtime_functions/std_control_stop.proto.json | Add Control runtime function definition (stop) |
| definitions/taurus/control/runtime_functions/std_control_return.proto.json | Add Control runtime function definition (return) |
| definitions/taurus/control/runtime_functions/std_control_if.proto.json | Add Control runtime function definition (if) |
| definitions/taurus/control/module.json | Add Control module metadata |
| definitions/taurus/control/data_types/transform.proto.json | Add TRANSFORM data type |
| definitions/taurus/control/data_types/runnable.proto.json | Add RUNNABLE data type |
| definitions/taurus/control/data_types/predicate.proto.json | Add PREDICATE data type |
| definitions/taurus/control/data_types/consumer.proto.json | Add CONSUMER data type |
| definitions/taurus/control/data_types/comparator.proto.json | Add COMPARATOR data type |
| definitions/taurus/boolean/runtime_functions/std_boolean_negate.proto.json | Add Boolean runtime function definition (negate) |
| definitions/taurus/boolean/runtime_functions/std_boolean_is_equal.proto.json | Add Boolean runtime function definition (is_equal) |
| definitions/taurus/boolean/runtime_functions/std_boolean_from_text.proto.json | Add Boolean runtime function definition (from_text) |
| definitions/taurus/boolean/runtime_functions/std_boolean_from_number.proto.json | Add Boolean runtime function definition (from_number) |
| definitions/taurus/boolean/runtime_functions/std_boolean_as_text.proto.json | Add Boolean runtime function definition (as_text) |
| definitions/taurus/boolean/runtime_functions/std_boolean_as_number.proto.json | Add Boolean runtime function definition (as_number) |
| definitions/taurus/boolean/module.json | Add Boolean module metadata |
| definitions/taurus/boolean/data_types/boolean.proto.json | Add BOOLEAN data type |
| definitions/standard/runtime_functions/text/text-audit.md | Remove legacy text audit document |
| definitions/standard/runtime_functions/object/object-audit.md | Remove legacy object audit document |
| definitions/standard/runtime_functions/number/number-audit.md | Remove legacy number audit document |
| definitions/standard/runtime_functions/control/control-audit.md | Remove legacy control audit document |
| definitions/standard/runtime_functions/boolean/boolean-audit.md | Remove legacy boolean audit document |
| definitions/standard/runtime_functions/array/array-audit.md | Remove legacy array audit document |
| definitions/draco_rest/runtime_functions/rest_control_respond.proto.json | Add REST runtime function definition (respond) |
| definitions/draco_rest/runtime_flow_types/rest.proto.json | Update REST runtime flow type to use runtimeSettings |
| definitions/draco_rest/module.json | Add REST module metadata |
| definitions/draco_rest/data_types/rest_adapter_input.proto.json | Add REST_ADAPTER_INPUT data type |
| definitions/draco_cron/module.json | Add Cron module metadata |
| definitions/draco_cron/data_types/type/cron_month.proto.json | Add CRON_MONTH data type (regex rules) |
| definitions/draco_cron/data_types/type/cron_minute.proto.json | Add CRON_MINUTE data type (regex rules) |
| definitions/draco_cron/data_types/type/cron_hour.proto.json | Add CRON_HOUR data type (regex rules) |
| definitions/draco_cron/data_types/type/cron_day_of_week.proto.json | Add CRON_DAY_OF_WEEK data type (regex rules) |
| definitions/draco_cron/data_types/type/cron_day_of_month.proto.json | Add CRON_DAY_OF_MONTH data type (regex rules) |
| crates/cli/src/main.rs | Register new reader module; rename CLI subcommand Feature -> Module |
| crates/cli/src/diagnostics/kinds.rs | Add new duplicate-detection diagnostic kinds for module-era entities |
| crates/cli/src/diagnostics/diagnose.rs | Update diagnostics to use reader Meta and add new error messages |
| crates/cli/src/command/watch.rs | Refine FS remove-event matching using a guard |
| crates/cli/src/command/report.rs | Fail fast on parse errors; update summary/reporting to modules |
| crates/cli/src/command/push/module_service_client_impl.rs | Switch push client to module service + module update request |
| crates/cli/src/command/push/function_client_impl.rs | Remove legacy runtime-function push client |
| crates/cli/src/command/push/flow_type_client_impl.rs | Remove legacy flow-type push client |
| crates/cli/src/command/parse_errors.rs | Add helper to exit early on definition parse errors |
| crates/cli/src/command/mod.rs | Replace feature command module with module-search support and parse error helper |
| crates/cli/src/command/feature.rs | Remove legacy feature search command |
| crates/cli/src/analyser/module_definition.rs | Add analyser for module.json definition validity |
| crates/cli/src/analyser/module_configuration_definition.rs | Add analyser for module configuration definitions + duplication checks |
| crates/cli/src/analyser/mod.rs | Register new analyser modules (runtime flow types, module configs, etc.) |
| crates/cli/src/analyser/index_identifier.rs | Extend identifier index to cover runtime flow types, function defs, module configs |
| crates/cli/src/analyser/function.rs | Use is_empty() for signature check |
| crates/cli/src/analyser/flow_type.rs | Use is_empty() for signature check |
| crates/cli/src/analyser/data_type.rs | Use is_empty() for type check |
| crates/cli/Cargo.toml | Update crate description and use workspace deps for tonic/log |
| Cargo.toml | Bump tucana version and move tonic to workspace dependencies |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "code": "en-US", | ||
| "content": "Trigger Flows unsing a HTTP-Server." | ||
| } |
There was a problem hiding this comment.
Typo in module description: "Trigger Flows unsing a HTTP-Server." → "using an HTTP server" (and consider dropping the hyphen). This is user-facing module metadata.
| /// Generate a report for a or all module(s). | ||
| Module { |
There was a problem hiding this comment.
The Feature -> Module rename is reflected in the subcommand, but the top-level CLI #[command(about = "Manage definitions, reports, and features")] string still mentions "features". Update that user-facing text to match the new terminology.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Raphael Götz <52959657+raphael-goetz@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 48 out of 187 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Resolves: #333