Skip to content

v3 - new CLI + web support + skills#77

Open
Arenukvern wants to merge 97 commits intomainfrom
feat/get_pub_doc
Open

v3 - new CLI + web support + skills#77
Arenukvern wants to merge 97 commits intomainfrom
feat/get_pub_doc

Conversation

@Arenukvern
Copy link
Owner

@Arenukvern Arenukvern commented Mar 4, 2026

Note

Medium Risk
Adds new release/CI gate automation and a sizeable new live-edit agent service that writes files to disk; failures could impact CI/release publishing or introduce unsafe write behaviors if misused.

Overview
Introduces new CI workflows: contract_gates.yml runs Dart tests plus contract checks (docs/help drift, error-code playbook coverage, SDK parity), and release.yml builds cross-platform Dart binaries on tag pushes and publishes tarballs + sha256 checksums to GitHub Releases.

Performs a v3.0.0 hard-cut documentation and versioning update: adds VERSION and a large CHANGELOG.md entry, converts root markdown docs into short entry points, expands MDX docs (AI-agent and human paths), and documents strict error envelope/connection targeting expectations.

Adds a new flutter_live_edit subsystem (agent + core packages), including LiveEditAgentService with pluggable inference backends, proposal persistence/apply/reject flow, payload compaction for prompts, and accompanying tests and package configs.

Written by Cursor Bugbot for commit e1aa237. This will update automatically on new commits. Configure here.

@Arenukvern Arenukvern self-assigned this Mar 4, 2026
@Arenukvern Arenukvern added the enhancement New feature or request label Mar 4, 2026
@docs-page
Copy link

docs-page bot commented Mar 4, 2026

To view this pull requests documentation preview, visit the following URL:

docs.page/arenukvern/mcp_flutter~77

Documentation is deployed and generated using docs.page.

@coderabbitai
Copy link

coderabbitai bot commented Mar 4, 2026

Important

Review skipped

Too many files!

This PR contains 289 files, which is 139 over the limit of 150.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: f5f0ee14-14b2-4440-b18c-db5f710b4bb9

📥 Commits

Reviewing files that changed from the base of the PR and between 7b8cb60 and 5facbd7.

⛔ Files ignored due to path filters (11)
  • flutter_live_edit/flutter_live_edit_agent/pubspec.lock is excluded by !**/*.lock
  • flutter_live_edit/flutter_live_edit_core/pubspec.lock is excluded by !**/*.lock
  • flutter_live_edit/flutter_live_edit_toolkit/pubspec.lock is excluded by !**/*.lock
  • flutter_live_edit/live_edit_tooling_ui_kit/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png is excluded by !**/*.png
  • flutter_live_edit/live_edit_tooling_ui_kit/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png is excluded by !**/*.png
  • flutter_live_edit/live_edit_tooling_ui_kit/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png is excluded by !**/*.png
  • flutter_live_edit/live_edit_tooling_ui_kit/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png is excluded by !**/*.png
  • flutter_live_edit/live_edit_tooling_ui_kit/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png is excluded by !**/*.png
  • flutter_live_edit/live_edit_tooling_ui_kit/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png is excluded by !**/*.png
  • flutter_live_edit/live_edit_tooling_ui_kit/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png is excluded by !**/*.png
  • flutter_live_edit/live_edit_tooling_ui_kit/pubspec.lock is excluded by !**/*.lock
📒 Files selected for processing (289)
  • .cursor/commands/analyse.md
  • .cursor/commands/apply-to-plan.md
  • .cursor/commands/cleanup.md
  • .cursor/commands/continue.md
  • .cursor/commands/create-plan.md
  • .cursor/commands/implement-plan.md
  • .cursor/commands/implement.md
  • .cursor/commands/inconsistences.md
  • .cursor/commands/investigate.md
  • .cursor/commands/is-not-duplicated.md
  • .cursor/commands/suggest-solution.md
  • .cursor/commands/update-diagram.md
  • .cursor/commands/update-faq.md
  • .cursor/commands/use-faq-diagram.md
  • .cursor/rules/app_architecture.guide.mdc
  • .cursor/rules/command_resource.pattern.md
  • .cursor/rules/create_jules_plan.mdc
  • .cursor/rules/dart_doc.mdc
  • .cursor/rules/dart_extension_type_const_models.mdc
  • .cursor/rules/faq_usage.mdc
  • .cursor/rules/flutter_ui_dev.mdc
  • .cursor/rules/key_design_decisions.mdc
  • .cursor/rules/memory_bank.mdc
  • .cursor/rules/test_use_tdd.mdc
  • .cursor/rules/training.mdc
  • .cursor/rules/writing_code_protocol.mdc
  • .cursor/skills/mcp_dynamic_tools.mdc
  • .github/workflows/contract_gates.yml
  • .github/workflows/release.yml
  • .gitignore
  • .zed/debug.json
  • .zed/settings.json
  • ARCHITECTURE.md
  • CHANGELOG.md
  • CONFIGURATION.md
  • MCP_RPC_DESCRIPTION.md
  • QUICK_START.md
  • README.md
  • VERSION
  • docs.json
  • docs/ai_agents/claude.mdx
  • docs/ai_agents/codex.mdx
  • docs/ai_agents/cursor.mdx
  • docs/ai_agents/execution_playbook.mdx
  • docs/ai_agents/overview.mdx
  • docs/ai_agents/troubleshooting.mdx
  • docs/contributing/contributors.mdx
  • docs/contributing/docs_maintenance.mdx
  • docs/core/built_in_tools.mdx
  • docs/core/dynamic_tools_registry.mdx
  • docs/core/error_code_playbook.mdx
  • docs/core/mcp_configuration.mdx
  • docs/core/project_architecture.mdx
  • docs/getting_started/claude_code_install.mdx
  • docs/getting_started/llm_install_files.mdx
  • docs/getting_started/manual_client_setup.mdx
  • docs/getting_started/manual_installation.mdx
  • docs/guides/creating_dynamic_tools.mdx
  • docs/guides/debugging_workflow.mdx
  • docs/index.mdx
  • docs/start_here/cli_quick_recipes.mdx
  • docs/start_here/cli_vs_mcp.mdx
  • docs/start_here/docs_map.mdx
  • docs/start_here/feature_map.mdx
  • docs/start_here/video_walkthroughs.mdx
  • docs/start_here/why_this_repo_matters.mdx
  • docs/troubleshooting/changelog.mdx
  • docs/troubleshooting/common_issues.mdx
  • flutter_live_edit/AE.md
  • flutter_live_edit/BOUNDARIES.md
  • flutter_live_edit/CONTRACT.md
  • flutter_live_edit/PRD.md
  • flutter_live_edit/ROADMAP.md
  • flutter_live_edit/USER_STORY.md
  • flutter_live_edit/flutter_live_edit_agent/.dockerignore
  • flutter_live_edit/flutter_live_edit_agent/.gitignore
  • flutter_live_edit/flutter_live_edit_agent/analysis_options.yaml
  • flutter_live_edit/flutter_live_edit_agent/lib/flutter_live_edit_agent.dart
  • flutter_live_edit/flutter_live_edit_agent/lib/src/live_edit_agent_plan.dart
  • flutter_live_edit/flutter_live_edit_agent/lib/src/live_edit_agent_request_summary.dart
  • flutter_live_edit/flutter_live_edit_agent/lib/src/live_edit_agent_service.dart
  • flutter_live_edit/flutter_live_edit_agent/lib/src/live_edit_agent_utils.dart
  • flutter_live_edit/flutter_live_edit_agent/lib/src/live_edit_agent_validation.dart
  • flutter_live_edit/flutter_live_edit_agent/pubspec.yaml
  • flutter_live_edit/flutter_live_edit_agent/test/live_edit_agent_service_test.dart
  • flutter_live_edit/flutter_live_edit_core/.dockerignore
  • flutter_live_edit/flutter_live_edit_core/.gitignore
  • flutter_live_edit/flutter_live_edit_core/analysis_options.yaml
  • flutter_live_edit/flutter_live_edit_core/build.yaml
  • flutter_live_edit/flutter_live_edit_core/lib/flutter_live_edit_core.dart
  • flutter_live_edit/flutter_live_edit_core/lib/src/live_edit_models.dart
  • flutter_live_edit/flutter_live_edit_core/lib/src/live_edit_models.freezed.dart
  • flutter_live_edit/flutter_live_edit_core/lib/src/live_edit_models.g.dart
  • flutter_live_edit/flutter_live_edit_core/lib/src/live_edit_schemas.dart
  • flutter_live_edit/flutter_live_edit_core/pubspec.yaml
  • flutter_live_edit/flutter_live_edit_core/test/live_edit_models_test.dart
  • flutter_live_edit/flutter_live_edit_core/test/live_edit_tool_names_contract_test.dart
  • flutter_live_edit/flutter_live_edit_toolkit/.dockerignore
  • flutter_live_edit/flutter_live_edit_toolkit/.gitignore
  • flutter_live_edit/flutter_live_edit_toolkit/README.md
  • flutter_live_edit/flutter_live_edit_toolkit/analysis_options.yaml
  • flutter_live_edit/flutter_live_edit_toolkit/lib/flutter_live_edit_toolkit.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/live_edit_facade.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/ai/backend/live_edit_backend_utils.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/backend/backend.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/backend/open_ai_bubble.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/backend/set_available_backends.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/backend/set_backend.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/backend/set_bubble_backend.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/backend/set_bubble_inference_config.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/backend/set_inference_config.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/bubble/apply_all_bubbles.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/bubble/apply_draft.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/bubble/apply_draft_for_bubble.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/bubble/approve_bubble.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/bubble/bubble.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/bubble/drag_bubble.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/bubble/drag_bubble_for.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/bubble/hide_bubble.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/bubble/open_ai_bubble.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/bubble/resize_bubble.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/bubble/resolve_active_bubble.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/bubble/select_tracked_bubble.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/bubble/set_active_bubble.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/bubble/set_active_property.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/bubble/submit_ai_prompt.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/bubble/undo_draft.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/bubble/update_ai_composer.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/bubble/update_bubble_composer.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/commands.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/draft/apply_draft.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/draft/apply_draft_for_bubble.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/draft/discard_draft.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/draft/draft.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/draft/get_draft.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/draft/undo_draft.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/draft/update_draft.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/panel/collapse_panel.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/panel/drag_panel.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/panel/expand_panel.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/panel/panel.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/panel/prefill_tooling_showcase.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/panel/resize_panel.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/panel/toggle_panel_display_mode.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/query/get_draft.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/query/get_selection.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/query/get_tree.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/query/query.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/selection/_selection_commands_shared.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/selection/cancel_marquee.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/selection/clear_hover.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/selection/commit_marquee.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/selection/cycle_selection_candidate.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/selection/get_selection.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/selection/hover_at_point.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/selection/select_at_point.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/selection/select_candidate_at.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/selection/select_child_candidate.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/selection/select_node.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/selection/select_parent_candidate.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/selection/select_tracked_bubble.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/selection/selection.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/selection/start_marquee.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/selection/update_marquee.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/session/end_session.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/session/session.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/session/set_debug_mode.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/session/set_deeper_pick.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/session/set_edit_mode.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/session/set_overlay.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/session/set_overlay_enabled.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/session/set_target_domain.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/commands/session/start_session.cmd.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/di_live_edit_context/live_edit_context.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/di_live_edit_context/live_edit_context_extension.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/di_live_edit_context/live_edit_orchestrator.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/di_live_edit_context/live_edit_scope.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/di_live_edit_context/tools/live_edit_controller_adapter.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/envs.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/host/core/core.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/host/core/live_edit_host.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/host/flutter_auto_host/flutter_auto_host.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/host/flutter_auto_host/flutter_live_edit_auto_host.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/host/flutter_auto_host/flutter_live_edit_auto_host_config.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/host/flutter_auto_host/flutter_live_edit_auto_host_delegate.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/host/flutter_auto_host/flutter_live_edit_auto_host_delegate_helpers.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/host/host.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/live_edit_runtime.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/mcp_toolkit_tools/live_edit_tool_layer_glue.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/mcp_toolkit_tools/live_edit_toolkit.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/resources/live_edit_backend_config.src.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/resources/live_edit_backend_config.src.data.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/resources/live_edit_bubble.src.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/resources/live_edit_bubble.src.data.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/resources/live_edit_draft.src.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/resources/live_edit_draft.src.data.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/resources/live_edit_panel_view.src.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/resources/live_edit_panel_view.src.data.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/resources/live_edit_selection.src.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/resources/live_edit_selection.src.data.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/resources/live_edit_session.src.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/resources/live_edit_session.src.data.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/resources/resources.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/selectors/backend/live_edit_backend_selectors.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/selectors/bubble/live_edit_bubble_selectors.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/selectors/live_edit_selectors.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/selectors/panel/live_edit_panel_selectors.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/selectors/selection/live_edit_selection_selectors.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/selectors/shared/live_edit_selectors_shared.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/services/live_edit_apply_result.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/services/live_edit_apply_service.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/services/live_edit_bubble_state_service.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/services/live_edit_session/live_edit_session_hit_testing.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/services/live_edit_session/live_edit_session_hit_testing_helpers.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/services/live_edit_session/live_edit_session_service_core.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/services/live_edit_session/live_edit_session_service_preview.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/services/live_edit_session/live_edit_session_service_selection_commands.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/services/live_edit_session/live_edit_session_state.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/services/live_edit_session_service.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/services/live_edit_session_update.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/services/services.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/types/live_edit_types.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/ui_widgets/backend_switcher.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/ui_widgets/live_edit_host_bubbles.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/ui_widgets/live_edit_host_bubbles_waiting.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/ui_widgets/live_edit_host_overlay.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/ui_widgets/live_edit_host_panel.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/ui_widgets/live_edit_host_panel_body.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/ui_workbench/live_edit_host_overlay.dart
  • flutter_live_edit/flutter_live_edit_toolkit/lib/src/ui_workbench/live_edit_overlay_theme.dart
  • flutter_live_edit/flutter_live_edit_toolkit/pubspec.yaml
  • flutter_live_edit/flutter_live_edit_toolkit/test/agent_import_boundary_test.dart
  • flutter_live_edit/flutter_live_edit_toolkit/test/live_edit_controller_test.dart
  • flutter_live_edit/live_edit_tooling_ui_kit/.gitignore
  • flutter_live_edit/live_edit_tooling_ui_kit/.metadata
  • flutter_live_edit/live_edit_tooling_ui_kit/README.md
  • flutter_live_edit/live_edit_tooling_ui_kit/analysis_options.yaml
  • flutter_live_edit/live_edit_tooling_ui_kit/lib/live_edit_tooling_ui_kit.dart
  • flutter_live_edit/live_edit_tooling_ui_kit/lib/src/bubble/bubble_callbacks.dart
  • flutter_live_edit/live_edit_tooling_ui_kit/lib/src/bubble/bubble_handles.dart
  • flutter_live_edit/live_edit_tooling_ui_kit/lib/src/bubble/bubble_view_model.dart
  • flutter_live_edit/live_edit_tooling_ui_kit/lib/src/bubble/chat_bubble_callbacks.dart
  • flutter_live_edit/live_edit_tooling_ui_kit/lib/src/bubble/chat_bubble_surface.dart
  • flutter_live_edit/live_edit_tooling_ui_kit/lib/src/bubble/chat_bubble_view_model.dart
  • flutter_live_edit/live_edit_tooling_ui_kit/lib/src/bubble/chat_message_tile.dart
  • flutter_live_edit/live_edit_tooling_ui_kit/lib/src/bubble/pinned_bubble_pill.dart
  • flutter_live_edit/live_edit_tooling_ui_kit/lib/src/common/rail_status_dot.dart
  • flutter_live_edit/live_edit_tooling_ui_kit/lib/src/common/tooling_handles.dart
  • flutter_live_edit/live_edit_tooling_ui_kit/lib/src/common/tooling_theme_data.dart
  • flutter_live_edit/live_edit_tooling_ui_kit/lib/src/panel/panel_callbacks.dart
  • flutter_live_edit/live_edit_tooling_ui_kit/lib/src/panel/panel_handles.dart
  • flutter_live_edit/live_edit_tooling_ui_kit/lib/src/panel/panel_rail.dart
  • flutter_live_edit/live_edit_tooling_ui_kit/lib/src/panel/panel_section.dart
  • flutter_live_edit/live_edit_tooling_ui_kit/lib/src/panel/panel_surface.dart
  • flutter_live_edit/live_edit_tooling_ui_kit/lib/src/panel/panel_view_model.dart
  • flutter_live_edit/live_edit_tooling_ui_kit/lib/src/panel/pending_request_card.dart
  • flutter_live_edit/live_edit_tooling_ui_kit/macos/.gitignore
  • flutter_live_edit/live_edit_tooling_ui_kit/macos/Flutter/Flutter-Debug.xcconfig
  • flutter_live_edit/live_edit_tooling_ui_kit/macos/Flutter/Flutter-Release.xcconfig
  • flutter_live_edit/live_edit_tooling_ui_kit/macos/Flutter/GeneratedPluginRegistrant.swift
  • flutter_live_edit/live_edit_tooling_ui_kit/macos/Runner.xcodeproj/project.pbxproj
  • flutter_live_edit/live_edit_tooling_ui_kit/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
  • flutter_live_edit/live_edit_tooling_ui_kit/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
  • flutter_live_edit/live_edit_tooling_ui_kit/macos/Runner.xcworkspace/contents.xcworkspacedata
  • flutter_live_edit/live_edit_tooling_ui_kit/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
  • flutter_live_edit/live_edit_tooling_ui_kit/macos/Runner/AppDelegate.swift
  • flutter_live_edit/live_edit_tooling_ui_kit/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
  • flutter_live_edit/live_edit_tooling_ui_kit/macos/Runner/Base.lproj/MainMenu.xib
  • flutter_live_edit/live_edit_tooling_ui_kit/macos/Runner/Configs/AppInfo.xcconfig
  • flutter_live_edit/live_edit_tooling_ui_kit/macos/Runner/Configs/Debug.xcconfig
  • flutter_live_edit/live_edit_tooling_ui_kit/macos/Runner/Configs/Release.xcconfig
  • flutter_live_edit/live_edit_tooling_ui_kit/macos/Runner/Configs/Warnings.xcconfig
  • flutter_live_edit/live_edit_tooling_ui_kit/macos/Runner/DebugProfile.entitlements
  • flutter_live_edit/live_edit_tooling_ui_kit/macos/Runner/Info.plist
  • flutter_live_edit/live_edit_tooling_ui_kit/macos/Runner/MainFlutterWindow.swift
  • flutter_live_edit/live_edit_tooling_ui_kit/macos/Runner/Release.entitlements
  • flutter_live_edit/live_edit_tooling_ui_kit/macos/RunnerTests/RunnerTests.swift
  • flutter_live_edit/live_edit_tooling_ui_kit/pubspec.yaml
  • flutter_live_edit/live_edit_tooling_ui_kit_playground/.gitignore
  • flutter_live_edit/live_edit_tooling_ui_kit_playground/.metadata
  • flutter_live_edit/live_edit_tooling_ui_kit_playground/README.md
  • flutter_live_edit/live_edit_tooling_ui_kit_playground/analysis_options.yaml
  • flutter_live_edit/live_edit_tooling_ui_kit_playground/android/.gitignore
  • flutter_live_edit/live_edit_tooling_ui_kit_playground/android/app/build.gradle.kts
  • flutter_live_edit/live_edit_tooling_ui_kit_playground/android/app/src/debug/AndroidManifest.xml
  • flutter_live_edit/live_edit_tooling_ui_kit_playground/android/app/src/main/AndroidManifest.xml
  • flutter_live_edit/live_edit_tooling_ui_kit_playground/android/app/src/main/kotlin/com/example/live_edit_tooling_ui_kit_playground/MainActivity.kt
  • flutter_live_edit/live_edit_tooling_ui_kit_playground/android/app/src/main/res/drawable-v21/launch_background.xml
  • flutter_live_edit/live_edit_tooling_ui_kit_playground/android/app/src/main/res/drawable/launch_background.xml

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/get_pub_doc

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.


ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
VERSION_SOURCE_FILE="$ROOT_DIR/mcp_server_dart/lib/src/core/runtime_version.dart"
DEFAULT_VERSION="$(sed -nE "s/^const kFlutterMcpVersion = '([^']+)';/\1/p" "$VERSION_SOURCE_FILE")"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Install script fails when piped from curl to bash

High Severity

The advertised one-command install (curl -fsSL .../install.sh | bash) will always fail. ROOT_DIR is derived from BASH_SOURCE[0], which is empty when bash reads from a pipe, so it resolves to the user's cwd. VERSION_SOURCE_FILE then points to a nonexistent local path (./mcp_server_dart/lib/src/core/runtime_version.dart), and sed fails on that missing file. Because set -euo pipefail is active, the script terminates immediately. A VERSION file exists at the repo root but is never read by this script.

Additional Locations (2)

Fix in Cursor Fix in Web

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant