diff --git a/.gitignore b/.gitignore
index 6270ae4b6..042687136 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,6 +5,7 @@ build/
 .buildlog
 .dart_tool/
 .packages
+pubspec.lock
 
 # Or the files created by dart2js.
 *.dart.js
diff --git a/pkgs/dart_services/pubspec.yaml b/pkgs/dart_services/pubspec.yaml
index d890d0357..326fea75d 100644
--- a/pkgs/dart_services/pubspec.yaml
+++ b/pkgs/dart_services/pubspec.yaml
@@ -5,9 +5,12 @@ publish_to: none
 environment:
   sdk: ^3.6.0
 
+# This package is managed as part of the dart-pad workspace.
+resolution: workspace
+
 dependencies:
   analysis_server_lib: ^0.2.5
-  analyzer: ^7.1.0
+  analyzer: ">=5.12.0 <7.0.0"
   args: ^2.5.0
   bazel_worker: ^1.1.1
   dartpad_shared: ^0.0.0
@@ -31,9 +34,5 @@ dev_dependencies:
   json_serializable: ^6.9.2
   package_config: ^2.1.0
   synchronized: ^3.1.0+1
-  test: ^1.25.9
+  test: ^1.25.0
   test_descriptor: ^2.0.1
-
-dependency_overrides:
-  dartpad_shared:
-    path: ../dartpad_shared
diff --git a/pkgs/dartpad_shared/pubspec.yaml b/pkgs/dartpad_shared/pubspec.yaml
index 539445d96..5db628ab3 100644
--- a/pkgs/dartpad_shared/pubspec.yaml
+++ b/pkgs/dartpad_shared/pubspec.yaml
@@ -5,6 +5,9 @@ publish_to: none
 environment:
   sdk: ^3.5.0
 
+# This package is managed as part of the dart-pad workspace.
+resolution: workspace
+
 dependencies:
   http: ^1.2.1
   json_annotation: ^4.9.0
diff --git a/pkgs/dartpad_ui/pubspec.yaml b/pkgs/dartpad_ui/pubspec.yaml
index 563e01c55..a79a80b51 100644
--- a/pkgs/dartpad_ui/pubspec.yaml
+++ b/pkgs/dartpad_ui/pubspec.yaml
@@ -5,6 +5,9 @@ publish_to: none
 environment:
   sdk: ^3.6.0-0
 
+# This package is managed as part of the dart-pad workspace.
+resolution: workspace
+
 dependencies:
   collection: ^1.19.0
   dartpad_shared: any
@@ -27,7 +30,7 @@ dependencies:
 dev_dependencies:
   flutter_test:
     sdk: flutter
-  flutter_lints: ^4.0.0
+  flutter_lints: ^5.0.0
   test: ^1.25.7
 
 flutter:
@@ -40,7 +43,3 @@ flutter:
     - assets/idx_192.png
     - assets/RobotoMono-Bold.ttf
     - assets/RobotoMono-Regular.ttf
-
-dependency_overrides:
-  dartpad_shared:
-    path: ../dartpad_shared
diff --git a/pkgs/samples/pubspec.yaml b/pkgs/samples/pubspec.yaml
index 742dda09e..88d42c6dd 100644
--- a/pkgs/samples/pubspec.yaml
+++ b/pkgs/samples/pubspec.yaml
@@ -2,6 +2,9 @@ name: samples
 description: Sample code snippets for DartPad.
 publish_to: none
 
+# This package is managed as part of the engine workspace.
+resolution: workspace
+
 environment:
   sdk: ^3.5.0
 
diff --git a/pubspec.yaml b/pubspec.yaml
new file mode 100644
index 000000000..071b9cbb8
--- /dev/null
+++ b/pubspec.yaml
@@ -0,0 +1,8 @@
+name: _dartpad_workspace
+environment:
+  sdk: ^3.5.0
+workspace:
+  - pkgs/dart_services
+  - pkgs/dartpad_shared
+  - pkgs/dartpad_ui
+  - pkgs/samples