diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
index 8964f4c65e..ae159f8ed1 100644
--- a/.github/workflows/deploy.yml
+++ b/.github/workflows/deploy.yml
@@ -28,7 +28,7 @@ jobs:
uses: ./.github/actions/setup-node
- name: Build
- run: pnpm --color --filter '!cursorless-org' --filter '!cursorless-org-*' build
+ run: pnpm --color -F '!@cursorless/app-web' -F '!@cursorless/app-web-docs' build
env:
CURSORLESS_DEPLOY: true
@@ -37,7 +37,7 @@ jobs:
uses: HaaLeo/publish-vscode-extension@v2
with:
pat: ${{ secrets.OPEN_VSX_TOKEN }}
- packagePath: packages/cursorless-vscode/dist
+ packagePath: packages/app-vscode/dist
skipDuplicate: true
- name: Publish to Visual Studio Marketplace
@@ -67,7 +67,7 @@ jobs:
uses: ./.github/actions/setup-node
- name: Build
- run: pnpm --color --filter '!cursorless-org' --filter '!cursorless-org-*' build
+ run: pnpm --color -F '!@cursorless/app-web' -F '!@cursorless/app-web-docs' build
env:
CURSORLESS_DEPLOY: true
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index b10656fd73..ee24f5bab0 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -76,7 +76,7 @@ jobs:
shell: bash
- name: Build
- run: pnpm --color --filter '!cursorless-org' --filter '!cursorless-org-*' build
+ run: pnpm --color -F '!@cursorless/app-web' -F '!@cursorless/app-web-docs' build
- name: Run unit tests (Linux)
run: xvfb-run -a pnpm --color test
@@ -87,31 +87,31 @@ jobs:
if: runner.os != 'Linux'
- name: Run VSCode tests (Linux)
- run: xvfb-run -a pnpm -F @cursorless/test-harness test:vscode
+ run: xvfb-run -a pnpm -F @cursorless/test-runner test:vscode
if: runner.os == 'Linux'
- name: Run VSCode tests (Win,Mac)
- run: pnpm -F @cursorless/test-harness test:vscode
+ run: pnpm -F @cursorless/test-runner test:vscode
if: runner.os != 'Linux'
- name: Run Talon-JS tests (Linux)
- run: xvfb-run -a pnpm -F @cursorless/test-harness test:talonJs
+ run: xvfb-run -a pnpm -F @cursorless/test-runner test:talonJs
if: runner.os == 'Linux' && matrix.app_version == 'stable'
- name: Run Talon-JS tests (Win,Mac)
- run: pnpm -F @cursorless/test-harness test:talonJs
+ run: pnpm -F @cursorless/test-runner test:talonJs
if: runner.os != 'Linux'
- name: Run QuickJS tests (Linux)
- run: xvfb-run -a pnpm -F @cursorless/cursorless-everywhere-talon-e2e test:quickjs
+ run: xvfb-run -a pnpm -F @cursorless/test-talon-e2e test:quickjs
if: runner.os == 'Linux' && matrix.app_version == 'stable'
- name: Run QuickJS tests (Win,Mac)
- run: pnpm -F @cursorless/cursorless-everywhere-talon-e2e test:quickjs
+ run: pnpm -F @cursorless/test-talon-e2e test:quickjs
if: runner.os != 'Linux'
- name: Create VSCode dist that can be installed locally
- run: pnpm -F @cursorless/cursorless-vscode populate-dist --local-install
+ run: pnpm -F @cursorless/app-vscode populate-dist --local-install
if: runner.os == 'Linux' && matrix.app_version == 'stable'
- name: Test create vsix
@@ -119,7 +119,7 @@ jobs:
uses: HaaLeo/publish-vscode-extension@v2
with:
pat: none
- packagePath: packages/cursorless-vscode/dist
+ packagePath: packages/app-vscode/dist
dryRun: true
- name: Rename vsix (Linux)
@@ -161,7 +161,7 @@ jobs:
uses: ./.github/actions/setup-node
- name: Build
- run: pnpm --color --filter '!cursorless-org' --filter '!cursorless-org-*' build
+ run: pnpm --color -F '!@cursorless/app-web' -F '!@cursorless/app-web-docs' build
- name: Install neovim dependencies
run: bash -x scripts/install-neovim-dependencies.sh
@@ -173,7 +173,7 @@ jobs:
neovim: true
- name: Run neovim tests
- run: xvfb-run -a pnpm -F @cursorless/test-harness test:neovim
+ run: xvfb-run -a pnpm -F @cursorless/test-runner test:neovim
env:
NEOVIM_PATH: ${{ steps.vim.outputs.executable }}
diff --git a/.gitignore b/.gitignore
index 0376f14fe7..0d8154a6e7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,9 +11,9 @@ tsconfig.tsbuildinfo
.luacheckcache
# test subset config
-packages/test-harness/testSubsetGrep.properties
-packages/test-harness/failedTests.properties
+packages/test-runner/testSubsetGrep.properties
+packages/test-runner/failedTests.properties
# cursorless-neovim
cursorless.nvim/node/cursorless-neovim
-cursorless.nvim/node/test-harness
+cursorless.nvim/node/test-runner
diff --git a/.meta-updater/main.mjs b/.meta-updater/main.mjs
index 42816e61cd..b2571f30bb 100644
--- a/.meta-updater/main.mjs
+++ b/.meta-updater/main.mjs
@@ -1,4 +1,4 @@
// eslint-disable-next-line import/no-relative-packages
-import { updater } from "../packages/meta-updater/src/index.ts";
+import { updater } from "../packages/tool-meta-updater/src/index.ts";
export default updater;
diff --git a/.prettierignore b/.prettierignore
index 78e8bdc564..731f07ddc3 100644
--- a/.prettierignore
+++ b/.prettierignore
@@ -5,9 +5,9 @@ packages/*/out
packages/*/dist
packages/*/build
packages/*/.docusaurus
-packages/cursorless-vscode/src/keyboard/grammar/generated
-packages/cursorless-engine/src/customCommandGrammar/generated
-packages/cursorless-engine/src/snippets/vendor
+packages/app-vscode/src/keyboard/grammar/generated
+packages/lib-engine/src/customCommandGrammar/generated
+packages/lib-engine/src/snippets/vendor
# We use our own format for our recorded yaml tests to keep them compact
/data/fixtures/recorded/**/*.yml
diff --git a/.vscode/launch.json b/.vscode/launch.json
index 5def5e1998..22cad0ffde 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -10,7 +10,7 @@
"CURSORLESS_REPO_ROOT": "${workspaceFolder}"
},
"args": [
- "--extensionDevelopmentPath=${workspaceFolder}/packages/cursorless-vscode/dist",
+ "--extensionDevelopmentPath=${workspaceFolder}/packages/app-vscode/dist",
"--profile=cursorlessDevelopment"
],
"outFiles": ["${workspaceFolder}/**/out/**/*.js"],
@@ -31,8 +31,8 @@
},
"args": [
"--profile=cursorlessDevelopment",
- "--extensionDevelopmentPath=${workspaceFolder}/packages/cursorless-vscode/dist",
- "--extensionTestsPath=${workspaceFolder}/packages/test-harness/out/extensionTestsVscode.cjs"
+ "--extensionDevelopmentPath=${workspaceFolder}/packages/app-vscode/dist",
+ "--extensionTestsPath=${workspaceFolder}/packages/test-runner/out/extensionTestsVscode.cjs"
],
"outFiles": ["${workspaceFolder}/**/out/**/*.js"],
"preLaunchTask": "Build extension and tests",
@@ -53,8 +53,8 @@
},
"args": [
"--profile=cursorlessDevelopment",
- "--extensionDevelopmentPath=${workspaceFolder}/packages/cursorless-vscode/dist",
- "--extensionTestsPath=${workspaceFolder}/packages/test-harness/out/extensionTestsVscode.cjs"
+ "--extensionDevelopmentPath=${workspaceFolder}/packages/app-vscode/dist",
+ "--extensionTestsPath=${workspaceFolder}/packages/test-runner/out/extensionTestsVscode.cjs"
],
"outFiles": ["${workspaceFolder}/**/out/**/*.js"],
"preLaunchTask": "Build extension and tests (subset)",
@@ -74,8 +74,8 @@
},
"args": [
"--profile=cursorlessDevelopment",
- "--extensionDevelopmentPath=${workspaceFolder}/packages/cursorless-vscode/dist",
- "--extensionTestsPath=${workspaceFolder}/packages/test-harness/out/extensionTestsVscode.cjs"
+ "--extensionDevelopmentPath=${workspaceFolder}/packages/app-vscode/dist",
+ "--extensionTestsPath=${workspaceFolder}/packages/test-runner/out/extensionTestsVscode.cjs"
],
"outFiles": ["${workspaceFolder}/**/out/**/*.js"],
"preLaunchTask": "Build extension and tests",
@@ -96,8 +96,8 @@
},
"args": [
"--profile=cursorlessDevelopment",
- "--extensionDevelopmentPath=${workspaceFolder}/packages/cursorless-vscode/dist",
- "--extensionTestsPath=${workspaceFolder}/packages/test-harness/out/extensionTestsVscode.cjs"
+ "--extensionDevelopmentPath=${workspaceFolder}/packages/app-vscode/dist",
+ "--extensionTestsPath=${workspaceFolder}/packages/test-runner/out/extensionTestsVscode.cjs"
],
"outFiles": ["${workspaceFolder}/**/out/**/*.js"],
"preLaunchTask": "Build extension and tests (subset)",
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
index a05ce5abf7..faeccc0af8 100644
--- a/.vscode/tasks.json
+++ b/.vscode/tasks.json
@@ -6,7 +6,7 @@
"label": "Build extension",
"type": "npm",
"script": "dev",
- "path": "packages/cursorless-vscode",
+ "path": "packages/app-vscode",
"group": "build",
"presentation": {
"reveal": "silent"
@@ -32,7 +32,7 @@
"label": "Build test harness",
"type": "npm",
"script": "build",
- "path": "packages/test-harness",
+ "path": "packages/test-runner",
"presentation": {
"reveal": "silent"
},
@@ -42,7 +42,7 @@
"label": "Ensure test subset file exists",
"type": "npm",
"script": "generate-test-subset-file-strict",
- "path": "packages/test-harness",
+ "path": "packages/test-runner",
"group": "test",
"presentation": {
"reveal": "silent"
@@ -52,7 +52,7 @@
"label": "Generate test subset file",
"type": "npm",
"script": "generate-test-subset-file",
- "path": "packages/test-harness",
+ "path": "packages/test-runner",
"group": "none",
"presentation": {
"reveal": "silent"
diff --git a/AGENTS.md b/AGENTS.md
index 3762dfacdb..fb38f2cefd 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -2,14 +2,14 @@
## Documentation Structure
-- Main documentation is in `/packages/cursorless-org-docs/src/docs/user/README.md`
+- Main documentation is in `/packages/app-web-docs/src/docs/user/README.md`
- Spoken forms are defined in `/cursorless-talon/src/spoken_forms.json`
-- Contributing documentation is in `/packages/cursorless-org-docs/src/docs/contributing/`
+- Contributing documentation is in `/packages/app-web-docs/src/docs/contributing/`
## Project Organization
-- Main extension code is in `/packages/cursorless-vscode/`
-- Engine code is in `/packages/cursorless-engine/`
+- Main extension code is in `/packages/app-vscode/`
+- Engine code is in `/packages/lib-engine/`
- Tests are in `data/fixtures/recorded/`
- Language-specific parsing is defined in the `queries/*.scm` files
@@ -34,12 +34,12 @@ When documenting actions or modifiers:
- Many actions (`drop`, `float`, `puff`) work with both line and non-line targets
- Always check test fixtures in `/data/fixtures/recorded/` to understand behavior
-- Implementation for many actions is in `/packages/cursorless-engine/src/actions/`
+- Implementation for many actions is in `/packages/lib-engine/src/actions/`
- After running Python scripts or tests, delete any `__pycache__` directories and `.pyc` files created under the repository root.
## Scope test format
-When writing or updating `.scope` files please follow the guidelines in [scope-test-format.md](./packages/cursorless-org-docs/src/docs/contributing/scope-test-format.md)
+When writing or updating `.scope` files please follow the guidelines in [scope-test-format.md](./packages/app-web-docs/src/docs/contributing/scope-test-format.md)
## Pull Request Guidelines
diff --git a/README.md b/README.md
index d12a380091..2dd2876b3b 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,5 @@
Welcome to Cursorless!
+
@@ -7,16 +8,13 @@
-
+
-
+
-
-
-
-
+
diff --git a/cursorless-talon-dev/src/cursorless_dev_vscode.talon b/cursorless-talon-dev/src/cursorless_dev_vscode.talon
index e711034aac..cea4b1bb9a 100644
--- a/cursorless-talon-dev/src/cursorless_dev_vscode.talon
+++ b/cursorless-talon-dev/src/cursorless_dev_vscode.talon
@@ -18,7 +18,7 @@ win.title: /cursorless/
^debug generate subset$:
user.run_rpc_command("workbench.action.tasks.runTask", "Generate test subset file")
debug edit subset:
- user.run_rpc_command("commands.openFolder", "./packages/test-harness/testSubsetGrep.properties")
+ user.run_rpc_command("commands.openFolder", "./packages/test-runner/testSubsetGrep.properties")
debug {user.cursorless_launch_configuration}:
user.run_rpc_command("commands.startDebugging", cursorless_launch_configuration)
diff --git a/cursorless-talon/README.md b/cursorless-talon/README.md
index 244af37ac0..913dadee01 100644
--- a/cursorless-talon/README.md
+++ b/cursorless-talon/README.md
@@ -1,4 +1,5 @@
Welcome to Cursorless!
+
@@ -7,13 +8,13 @@
-
+
-
+
-
+
diff --git a/cursorless.nvim/lua/cursorless/init.lua b/cursorless.nvim/lua/cursorless/init.lua
index e86114113a..6226399ed9 100644
--- a/cursorless.nvim/lua/cursorless/init.lua
+++ b/cursorless.nvim/lua/cursorless/init.lua
@@ -36,7 +36,7 @@ local function register_functions()
},
}
)
- vim.fn["remote#host#RegisterPlugin"]("node", path .. "/node/test-harness/", {
+ vim.fn["remote#host#RegisterPlugin"]("node", path .. "/node/test-runner/", {
{
type = "function",
name = "TestHarnessRun",
@@ -47,7 +47,7 @@ local function register_functions()
end
-- this triggers loading the node process as well as calling one function
--- in the cursorless-neovim, command-server and neovim-registry extensions
+-- in the cursorless-neovim, command-server and lib-neovim-registry extensions
-- in order to initialize them
local function load_extensions()
vim.fn.CursorlessLoadExtension()
diff --git a/cursorless.nvim/node/command-server/index/index.cjs b/cursorless.nvim/node/command-server/index/index.cjs
index a6382b5152..fa97f443a0 100644
--- a/cursorless.nvim/node/command-server/index/index.cjs
+++ b/cursorless.nvim/node/command-server/index/index.cjs
@@ -164,7 +164,7 @@ var NativeIo = class {
}
};
-// ../cursorless_fork/packages/neovim-registry/src/NeovimRegistry.ts
+// ../cursorless_fork/packages/lib-neovim-registry/src/NeovimRegistry.ts
var import_node_events = require("node:events");
var NeovimRegistry = class {
constructor() {
@@ -192,7 +192,7 @@ var NeovimRegistry = class {
}
};
-// ../cursorless_fork/packages/neovim-registry/src/index.ts
+// ../cursorless_fork/packages/lib-neovim-registry/src/index.ts
function getNeovimRegistry() {
if (global._neovimRegistry == null) {
global._neovimRegistry = new NeovimRegistry();
diff --git a/eslint.config.mts b/eslint.config.mts
index 993bd066ce..d5421f077e 100644
--- a/eslint.config.mts
+++ b/eslint.config.mts
@@ -9,10 +9,10 @@ import unicornPlugin from "eslint-plugin-unicorn";
import unusedImportsPlugin from "eslint-plugin-unused-imports";
import { defineConfig } from "eslint/config";
import tsEslint from "typescript-eslint";
-import { commonConfig } from "./packages/common/eslintConfig";
-import { cursorlessEngineConfig } from "./packages/cursorless-engine/eslintConfig";
-import { cursorlessOrgConfig } from "./packages/cursorless-org/eslintConfig";
-import { cursorlessVscodeConfig } from "./packages/cursorless-vscode/eslintConfig";
+import { commonConfig } from "./packages/lib-common/eslintConfig";
+import { cursorlessEngineConfig } from "./packages/lib-engine/eslintConfig";
+import { cursorlessOrgConfig } from "./packages/app-web/eslintConfig";
+import { cursorlessVscodeConfig } from "./packages/app-vscode/eslintConfig";
const ignoresConfig: ConfigWithExtends = {
ignores: [
@@ -24,7 +24,7 @@ const ignoresConfig: ConfigWithExtends = {
"**/.next/**/*",
"**/.docusaurus/**/*",
"data/playground/**/*",
- "packages/cursorless-org/next-env.d.ts",
+ "packages/app-web/next-env.d.ts",
],
};
diff --git a/netlify.toml b/netlify.toml
index 5a2000d804..8545f90866 100644
--- a/netlify.toml
+++ b/netlify.toml
@@ -4,4 +4,4 @@
[build]
command = "./scripts/build-and-assemble-website.sh"
- publish = "dist/cursorless-org"
+ publish = "dist/app-web"
diff --git a/package.json b/package.json
index 772a9edffd..3e4b6b5881 100644
--- a/package.json
+++ b/package.json
@@ -12,10 +12,6 @@
"build": "pnpm -r build",
"clean": "pnpm -r clean",
"typecheck": "pnpm -r typecheck",
- "fix:meta": "pnpm run meta-updater && pnpm -r exec prettier --write tsconfig.json package.json",
- "fix:syncpack": "syncpack fix",
- "fix:eslint": "pnpm lint:ts --fix",
- "fix:style": "stylelint '**/*.{css,scss}' --ignore-path .gitignore --fix",
"fix:prettier": "prettier --write --list-different .",
"lint:meta": "pnpm run meta-updater --test",
"lint:syncpack": "syncpack lint",
@@ -23,7 +19,11 @@
"lint:prettier": "prettier --check .",
"lint:style": "stylelint '**/*.{css,scss}' --ignore-path .gitignore",
"lint": "pnpm run typecheck && pnpm run lint:meta && pnpm run lint:syncpack && pnpm run lint:ts && pnpm run lint:style",
- "init-vscode-sandbox": "pnpm -F @cursorless/cursorless-vscode init-launch-sandbox",
+ "fix:meta": "pnpm run meta-updater && pnpm -r exec prettier --write tsconfig.json package.json",
+ "fix:syncpack": "syncpack fix",
+ "fix:eslint": "pnpm lint:ts --fix",
+ "fix:style": "stylelint '**/*.{css,scss}' --ignore-path .gitignore --fix",
+ "init-vscode-sandbox": "pnpm -F @cursorless/app-vscode init-launch-sandbox",
"meta-updater": "env NODE_OPTIONS=--import=tsx meta-updater",
"preinstall": "npx only-allow pnpm",
"test": "pnpm -r test",
@@ -31,7 +31,7 @@
"test:update": "pnpm -r test:update",
"test:update:subset": "pnpm -r test:update:subset",
"generate-grammar": "pnpm -r generate-grammar",
- "transform-recorded-tests": "pnpm exec ./packages/common/scripts/c-tsx.js ./packages/cursorless-engine/src/scripts/transformRecordedTests/index.ts"
+ "transform-recorded-tests": "pnpm exec ./packages/lib-common/scripts/c-tsx.js ./packages/lib-engine/src/scripts/transformRecordedTests/index.ts"
},
"devDependencies": {
"@eslint/config-helpers": "^0.5.3",
diff --git a/packages/cursorless-neovim/TERMINOLOGY.md b/packages/app-neovim/TERMINOLOGY.md
similarity index 100%
rename from packages/cursorless-neovim/TERMINOLOGY.md
rename to packages/app-neovim/TERMINOLOGY.md
diff --git a/packages/cursorless-neovim/package.json b/packages/app-neovim/package.json
similarity index 72%
rename from packages/cursorless-neovim/package.json
rename to packages/app-neovim/package.json
index 7dd316a219..c2307e0cb4 100644
--- a/packages/cursorless-neovim/package.json
+++ b/packages/app-neovim/package.json
@@ -1,5 +1,5 @@
{
- "name": "@cursorless/cursorless-neovim",
+ "name": "@cursorless/app-neovim",
"version": "1.0.0",
"description": "cursorless in neovim",
"license": "MIT",
@@ -17,12 +17,12 @@
"populate-dist": "bash ./scripts/populate-dist.sh"
},
"dependencies": {
- "@cursorless/common": "workspace:*",
- "@cursorless/cursorless-engine": "workspace:*",
- "@cursorless/neovim-common": "workspace:*",
- "@cursorless/neovim-registry": "workspace:*",
- "@cursorless/node-common": "workspace:*",
- "@cursorless/test-case-recorder": "workspace:*"
+ "@cursorless/lib-common": "workspace:*",
+ "@cursorless/lib-engine": "workspace:*",
+ "@cursorless/lib-neovim-common": "workspace:*",
+ "@cursorless/lib-neovim-registry": "workspace:*",
+ "@cursorless/lib-node-common": "workspace:*",
+ "@cursorless/lib-test-case-recorder": "workspace:*"
},
"devDependencies": {
"@types/chai": "^5.2.3",
diff --git a/packages/cursorless-neovim/scripts/compile-esbuild.sh b/packages/app-neovim/scripts/compile-esbuild.sh
similarity index 100%
rename from packages/cursorless-neovim/scripts/compile-esbuild.sh
rename to packages/app-neovim/scripts/compile-esbuild.sh
diff --git a/packages/cursorless-neovim/scripts/debug-neovim.bat b/packages/app-neovim/scripts/debug-neovim.bat
similarity index 100%
rename from packages/cursorless-neovim/scripts/debug-neovim.bat
rename to packages/app-neovim/scripts/debug-neovim.bat
diff --git a/packages/cursorless-neovim/scripts/debug-neovim.sh b/packages/app-neovim/scripts/debug-neovim.sh
similarity index 75%
rename from packages/cursorless-neovim/scripts/debug-neovim.sh
rename to packages/app-neovim/scripts/debug-neovim.sh
index 58aae44dd6..c8aeef8e59 100755
--- a/packages/cursorless-neovim/scripts/debug-neovim.sh
+++ b/packages/app-neovim/scripts/debug-neovim.sh
@@ -6,7 +6,7 @@ cursorless_mode="$2"
export CURSORLESS_REPO_ROOT="${workspaceFolder}"
export NVIM_NODE_HOST_DEBUG="1"
-export NVIM_NODE_LOG_FILE="${workspaceFolder}/packages/cursorless-neovim/out/nvim_node.log"
+export NVIM_NODE_LOG_FILE="${workspaceFolder}/packages/app-neovim/out/nvim_node.log"
export NVIM_NODE_LOG_LEVEL="info"
export CURSORLESS_MODE="${cursorless_mode}"
diff --git a/packages/cursorless-neovim/scripts/linux-terminal.sh b/packages/app-neovim/scripts/linux-terminal.sh
similarity index 100%
rename from packages/cursorless-neovim/scripts/linux-terminal.sh
rename to packages/app-neovim/scripts/linux-terminal.sh
diff --git a/packages/cursorless-neovim/scripts/populate-dist.sh b/packages/app-neovim/scripts/populate-dist.sh
similarity index 89%
rename from packages/cursorless-neovim/scripts/populate-dist.sh
rename to packages/app-neovim/scripts/populate-dist.sh
index 971877f540..cfa534483c 100755
--- a/packages/cursorless-neovim/scripts/populate-dist.sh
+++ b/packages/app-neovim/scripts/populate-dist.sh
@@ -7,8 +7,8 @@ if [ ! -e "${CURSORLESS_REPO_ROOT-nonexistent}" ]; then
fi
echo "CURSORLESS_REPO_ROOT: $CURSORLESS_REPO_ROOT"
cursorless_nvim_dir="$CURSORLESS_REPO_ROOT/cursorless.nvim"
-cursorless_neovim_node_in_dir="$CURSORLESS_REPO_ROOT/packages/cursorless-neovim"
-test_harness_node_in_dir="$CURSORLESS_REPO_ROOT/packages/test-harness"
+cursorless_neovim_node_in_dir="$CURSORLESS_REPO_ROOT/packages/app-neovim"
+test_harness_node_in_dir="$CURSORLESS_REPO_ROOT/packages/test-runner"
if [[ "${CI:-x}" == "true" ]]; then
# If running in CI, only copy the necessary files for testing and release
@@ -24,8 +24,8 @@ if [[ "${CI:-x}" == "true" ]]; then
cp "$cursorless_neovim_node_in_dir/package.json" "$cursorless_neovim_node_out_dir"
cp "$cursorless_neovim_node_in_dir/out/index.cjs" "$cursorless_neovim_node_out_dir/out"
- # Populate test-harness
- test_harness_node_out_dir="$cursorless_nvim_dist_dir/node/test-harness"
+ # Populate test-runner
+ test_harness_node_out_dir="$cursorless_nvim_dist_dir/node/test-runner"
mkdir -p "$test_harness_node_out_dir/out"
cp "$test_harness_node_in_dir/package.json" "$test_harness_node_out_dir"
cp "$test_harness_node_in_dir/out/extensionTestsNeovim.cjs" "$test_harness_node_out_dir/out"
@@ -43,7 +43,7 @@ else
rm -rf "$cursorless_neovim_node_out_dir"
ln -s "$cursorless_neovim_node_in_dir" "$cursorless_neovim_node_out_dir"
- test_harness_node_out_dir="$cursorless_nvim_dir/node/test-harness"
+ test_harness_node_out_dir="$cursorless_nvim_dir/node/test-runner"
rm -rf "$test_harness_node_out_dir"
ln -s "$test_harness_node_in_dir" "$test_harness_node_out_dir"
fi
diff --git a/packages/cursorless-neovim/scripts/show-logs.sh b/packages/app-neovim/scripts/show-logs.sh
similarity index 71%
rename from packages/cursorless-neovim/scripts/show-logs.sh
rename to packages/app-neovim/scripts/show-logs.sh
index 7635219a01..43e9520802 100755
--- a/packages/cursorless-neovim/scripts/show-logs.sh
+++ b/packages/app-neovim/scripts/show-logs.sh
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
set -euo pipefail
-log_path="${CURSORLESS_REPO_ROOT}/packages/cursorless-neovim/out/nvim_node.log"
+log_path="${CURSORLESS_REPO_ROOT}/packages/app-neovim/out/nvim_node.log"
# Be robust to the log file not existing yet
touch "${log_path}"
diff --git a/packages/cursorless-neovim/src/NeovimCommandServerApi.ts b/packages/app-neovim/src/NeovimCommandServerApi.ts
similarity index 96%
rename from packages/cursorless-neovim/src/NeovimCommandServerApi.ts
rename to packages/app-neovim/src/NeovimCommandServerApi.ts
index 625c643fcd..af23ed18dc 100644
--- a/packages/cursorless-neovim/src/NeovimCommandServerApi.ts
+++ b/packages/app-neovim/src/NeovimCommandServerApi.ts
@@ -2,7 +2,7 @@ import type {
CommandServerApi,
FocusedElementType,
InboundSignal,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type { NeovimClient } from "neovim/lib/api/client";
export class NeovimCommandServerApi implements CommandServerApi {
diff --git a/packages/cursorless-neovim/src/constructTestHelpers.ts b/packages/app-neovim/src/constructTestHelpers.ts
similarity index 82%
rename from packages/cursorless-neovim/src/constructTestHelpers.ts
rename to packages/app-neovim/src/constructTestHelpers.ts
index 044beebbe7..662d47d9e5 100644
--- a/packages/cursorless-neovim/src/constructTestHelpers.ts
+++ b/packages/app-neovim/src/constructTestHelpers.ts
@@ -11,11 +11,14 @@ import type {
TargetPlainObject,
TestCaseSnapshot,
TextEditor,
-} from "@cursorless/common";
-import type { StoredTargetMap } from "@cursorless/cursorless-engine";
-import { plainObjectToTarget } from "@cursorless/cursorless-engine";
-import type { NeovimIDE, NeovimTestHelpers } from "@cursorless/neovim-common";
-import { takeSnapshot } from "@cursorless/test-case-recorder";
+} from "@cursorless/lib-common";
+import type { StoredTargetMap } from "@cursorless/lib-engine";
+import { plainObjectToTarget } from "@cursorless/lib-engine";
+import type {
+ NeovimIDE,
+ NeovimTestHelpers,
+} from "@cursorless/lib-neovim-common";
+import { takeSnapshot } from "@cursorless/lib-test-case-recorder";
export function constructTestHelpers(
commandServerApi: FakeCommandServerApi,
diff --git a/packages/cursorless-neovim/src/extension.ts b/packages/app-neovim/src/extension.ts
similarity index 86%
rename from packages/cursorless-neovim/src/extension.ts
rename to packages/app-neovim/src/extension.ts
index e51c4da9e6..b667e0581f 100644
--- a/packages/cursorless-neovim/src/extension.ts
+++ b/packages/app-neovim/src/extension.ts
@@ -2,10 +2,10 @@ import {
FakeCommandServerApi,
FakeIDE,
NormalizedIDE,
-} from "@cursorless/common";
-import { createCursorlessEngine } from "@cursorless/cursorless-engine";
-import { EXTENSION_ID, NeovimIDE } from "@cursorless/neovim-common";
-import { getNeovimRegistry } from "@cursorless/neovim-registry";
+} from "@cursorless/lib-common";
+import { createCursorlessEngine } from "@cursorless/lib-engine";
+import { EXTENSION_ID, NeovimIDE } from "@cursorless/lib-neovim-common";
+import { getNeovimRegistry } from "@cursorless/lib-neovim-registry";
import type { NeovimClient } from "neovim/lib/api/client";
import type { NvimPlugin } from "neovim/lib/host/NvimPlugin";
import { NeovimCommandServerApi } from "./NeovimCommandServerApi";
@@ -15,7 +15,7 @@ import { registerCommands } from "./registerCommands";
/**
* This function is called from cursorless.nvim to initialize the Cursorless engine.
* NOTE: this is not the cursorless-neovim extension entrypoint (which is called at Neovim startup)
- * We named it activate() in order to have the same structure as the extension entrypoint to match cursorless-vscode
+ * We named it activate() in order to have the same structure as the extension entrypoint to match app-vscode
*/
export async function activate(plugin: NvimPlugin) {
const client = plugin.nvim as NeovimClient;
diff --git a/packages/cursorless-neovim/src/index.ts b/packages/app-neovim/src/index.ts
similarity index 100%
rename from packages/cursorless-neovim/src/index.ts
rename to packages/app-neovim/src/index.ts
diff --git a/packages/cursorless-neovim/src/registerCommands.ts b/packages/app-neovim/src/registerCommands.ts
similarity index 94%
rename from packages/cursorless-neovim/src/registerCommands.ts
rename to packages/app-neovim/src/registerCommands.ts
index 983dc44f9f..419c9bf7ae 100644
--- a/packages/cursorless-neovim/src/registerCommands.ts
+++ b/packages/app-neovim/src/registerCommands.ts
@@ -2,20 +2,20 @@ import type {
CommandResponse,
CommandServerApi,
CursorlessCommandId,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import {
CURSORLESS_COMMAND_ID,
clientSupportsFallback,
ensureCommandShape,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
-import type { CommandApi } from "@cursorless/cursorless-engine";
-import type { NeovimIDE } from "@cursorless/neovim-common";
+import type { CommandApi } from "@cursorless/lib-engine";
+import type { NeovimIDE } from "@cursorless/lib-neovim-common";
import {
modeSwitchNormalTerminal,
modeSwitchTerminal,
-} from "@cursorless/neovim-common";
-import { getNeovimRegistry } from "@cursorless/neovim-registry";
+} from "@cursorless/lib-neovim-common";
+import { getNeovimRegistry } from "@cursorless/lib-neovim-registry";
import type { NeovimClient } from "neovim";
export async function registerCommands(
diff --git a/packages/common/tsconfig.json b/packages/app-neovim/tsconfig.json
similarity index 100%
rename from packages/common/tsconfig.json
rename to packages/app-neovim/tsconfig.json
diff --git a/packages/cursorless-everywhere-talon/package.json b/packages/app-talon/package.json
similarity index 81%
rename from packages/cursorless-everywhere-talon/package.json
rename to packages/app-talon/package.json
index e9c7462b65..2abdd88897 100644
--- a/packages/cursorless-everywhere-talon/package.json
+++ b/packages/app-talon/package.json
@@ -1,5 +1,5 @@
{
- "name": "@cursorless/cursorless-everywhere-talon",
+ "name": "@cursorless/app-talon",
"version": "1.0.0",
"description": "cursorless in talon js",
"license": "MIT",
@@ -17,7 +17,7 @@
"compile:base": "bash scripts/esbuild.sh"
},
"dependencies": {
- "@cursorless/common": "workspace:*",
- "@cursorless/cursorless-everywhere-talon-core": "workspace:*"
+ "@cursorless/lib-common": "workspace:*",
+ "@cursorless/lib-talon-core": "workspace:*"
}
}
diff --git a/packages/cursorless-everywhere-talon/scripts/esbuild.sh b/packages/app-talon/scripts/esbuild.sh
similarity index 100%
rename from packages/cursorless-everywhere-talon/scripts/esbuild.sh
rename to packages/app-talon/scripts/esbuild.sh
diff --git a/packages/app-talon/src/extension.ts b/packages/app-talon/src/extension.ts
new file mode 100644
index 0000000000..ecccd83e26
--- /dev/null
+++ b/packages/app-talon/src/extension.ts
@@ -0,0 +1,7 @@
+import type { RunMode } from "@cursorless/lib-common";
+import { activate as activateCore } from "@cursorless/lib-talon-core";
+import * as talon from "talon";
+
+export async function activate(runMode: RunMode): Promise {
+ await activateCore(talon, runMode);
+}
diff --git a/packages/cursorless-everywhere-talon/src/mainDevelopment.ts b/packages/app-talon/src/mainDevelopment.ts
similarity index 100%
rename from packages/cursorless-everywhere-talon/src/mainDevelopment.ts
rename to packages/app-talon/src/mainDevelopment.ts
diff --git a/packages/cursorless-everywhere-talon/src/mainProduction.ts b/packages/app-talon/src/mainProduction.ts
similarity index 100%
rename from packages/cursorless-everywhere-talon/src/mainProduction.ts
rename to packages/app-talon/src/mainProduction.ts
diff --git a/packages/cursorless-everywhere-talon/src/types/talon.d.ts b/packages/app-talon/src/types/talon.d.ts
similarity index 80%
rename from packages/cursorless-everywhere-talon/src/types/talon.d.ts
rename to packages/app-talon/src/types/talon.d.ts
index adfbfd34ad..2b53448f87 100644
--- a/packages/cursorless-everywhere-talon/src/types/talon.d.ts
+++ b/packages/app-talon/src/types/talon.d.ts
@@ -3,7 +3,7 @@ declare module "talon" {
TalonActions,
TalonContextConstructor,
TalonSettings,
- } from "@cursorless/cursorless-everywhere-talon-core";
+ } from "@cursorless/lib-talon-core";
export const actions: TalonActions;
export const settings: TalonSettings;
diff --git a/packages/cursorless-engine/tsconfig.json b/packages/app-talon/tsconfig.json
similarity index 100%
rename from packages/cursorless-engine/tsconfig.json
rename to packages/app-talon/tsconfig.json
diff --git a/packages/cursorless-vscode/eslintConfig.ts b/packages/app-vscode/eslintConfig.ts
similarity index 85%
rename from packages/cursorless-vscode/eslintConfig.ts
rename to packages/app-vscode/eslintConfig.ts
index 3e11327c1f..7760628f62 100644
--- a/packages/cursorless-vscode/eslintConfig.ts
+++ b/packages/app-vscode/eslintConfig.ts
@@ -1,7 +1,7 @@
import type { ConfigWithExtends } from "@eslint/config-helpers";
export const cursorlessVscodeConfig: ConfigWithExtends = {
- files: ["packages/cursorless-vscode/src/scripts/**/*.ts"],
+ files: ["packages/app-vscode/src/scripts/**/*.ts"],
rules: {
"no-restricted-imports": [
diff --git a/packages/cursorless-vscode/images/logo.png b/packages/app-vscode/images/logo.png
similarity index 100%
rename from packages/cursorless-vscode/images/logo.png
rename to packages/app-vscode/images/logo.png
diff --git a/packages/cursorless-vscode/package.json b/packages/app-vscode/package.json
similarity index 98%
rename from packages/cursorless-vscode/package.json
rename to packages/app-vscode/package.json
index 26dc4404e5..3af5c95f96 100644
--- a/packages/cursorless-vscode/package.json
+++ b/packages/app-vscode/package.json
@@ -1,5 +1,5 @@
{
- "name": "@cursorless/cursorless-vscode",
+ "name": "@cursorless/app-vscode",
"displayName": "Cursorless",
"version": "1.1.0",
"description": "Structural voice coding at the speed of thought",
@@ -45,7 +45,7 @@
"description": "Documentation"
},
{
- "url": "https://img.shields.io/github/workflow/status/cursorless-dev/cursorless-vscode/Run%20Tests?logo=github&label=tests",
+ "url": "https://img.shields.io/github/actions/workflow/status/cursorless-dev/cursorless/test.yml?branch=main&logo=github&label=tests",
"href": "https://github.com/cursorless-dev/cursorless/actions/workflows/test.yml?query=branch%3Amain",
"description": "Tests"
}
@@ -1286,8 +1286,8 @@
"test": "pnpm ensure-grammar-up-to-date",
"dev": "pnpm generate-grammar && pnpm run compile:dev && pnpm run bundle:dev && pnpm run populate-dist",
"build": "pnpm generate-grammar && pnpm run compile:prod && pnpm run bundle:prod && pnpm run populate-dist",
- "bundle:dev": "pnpm -F @cursorless/cursorless-vscode-tutorial-webview -F @cursorless/cheatsheet-local run bundle:dev",
- "bundle:prod": "pnpm -F @cursorless/cursorless-vscode-tutorial-webview -F @cursorless/cheatsheet-local run bundle:prod",
+ "bundle:dev": "pnpm -F @cursorless/lib-vscode-tutorial-webview -F @cursorless/lib-cheatsheet-local run bundle:dev",
+ "bundle:prod": "pnpm -F @cursorless/lib-vscode-tutorial-webview -F @cursorless/lib-cheatsheet-local run bundle:prod",
"compile:prod": "pnpm run compile:base --minify",
"compile:dev": "pnpm run compile:base --sourcemap",
"compile:watch": "pnpm run compile:base --sourcemap --watch",
@@ -1309,12 +1309,12 @@
"pokey.parse-tree"
],
"dependencies": {
- "@cursorless/common": "workspace:*",
- "@cursorless/cursorless-engine": "workspace:*",
- "@cursorless/cursorless-tutorial": "workspace:*",
- "@cursorless/node-common": "workspace:*",
- "@cursorless/test-case-recorder": "workspace:*",
- "@cursorless/vscode-common": "workspace:*",
+ "@cursorless/lib-common": "workspace:*",
+ "@cursorless/lib-engine": "workspace:*",
+ "@cursorless/lib-node-common": "workspace:*",
+ "@cursorless/lib-test-case-recorder": "workspace:*",
+ "@cursorless/lib-tutorial": "workspace:*",
+ "@cursorless/lib-vscode-common": "workspace:*",
"glob": "^13.0.6",
"itertools": "^2.6.0",
"lodash-es": "^4.17.23",
diff --git a/packages/cursorless-vscode/resources/font_measurements.js b/packages/app-vscode/resources/font_measurements.js
similarity index 100%
rename from packages/cursorless-vscode/resources/font_measurements.js
rename to packages/app-vscode/resources/font_measurements.js
diff --git a/packages/cursorless-vscode/resources/installationDependencies.html b/packages/app-vscode/resources/installationDependencies.html
similarity index 100%
rename from packages/cursorless-vscode/resources/installationDependencies.html
rename to packages/app-vscode/resources/installationDependencies.html
diff --git a/packages/cursorless-vscode/resources/installationDependencies.js b/packages/app-vscode/resources/installationDependencies.js
similarity index 100%
rename from packages/cursorless-vscode/resources/installationDependencies.js
rename to packages/app-vscode/resources/installationDependencies.js
diff --git a/packages/cursorless-vscode/scripts/compile-esbuild.sh b/packages/app-vscode/scripts/compile-esbuild.sh
similarity index 100%
rename from packages/cursorless-vscode/scripts/compile-esbuild.sh
rename to packages/app-vscode/scripts/compile-esbuild.sh
diff --git a/packages/cursorless-vscode/scripts/install-from-pr.sh b/packages/app-vscode/scripts/install-from-pr.sh
similarity index 100%
rename from packages/cursorless-vscode/scripts/install-from-pr.sh
rename to packages/app-vscode/scripts/install-from-pr.sh
diff --git a/packages/cursorless-vscode/scripts/install-local.sh b/packages/app-vscode/scripts/install-local.sh
similarity index 91%
rename from packages/cursorless-vscode/scripts/install-local.sh
rename to packages/app-vscode/scripts/install-local.sh
index 525d39029c..a607d050d5 100755
--- a/packages/cursorless-vscode/scripts/install-local.sh
+++ b/packages/app-vscode/scripts/install-local.sh
@@ -16,8 +16,8 @@ fi
# Cursorless first and using a special extension id to break update chain
# 1. Build local cursorless, using special extension id to break update chain
-pnpm -F @cursorless/cheatsheet-local bundle:prod
-pnpm -F @cursorless/cursorless-vscode-tutorial-webview bundle:prod
+pnpm -F @cursorless/lib-cheatsheet-local bundle:prod
+pnpm -F @cursorless/lib-vscode-tutorial-webview bundle:prod
pnpm build --local-install
# 2. Bundle the extension
diff --git a/packages/cursorless-vscode/scripts/uninstall-local.sh b/packages/app-vscode/scripts/uninstall-local.sh
similarity index 100%
rename from packages/cursorless-vscode/scripts/uninstall-local.sh
rename to packages/app-vscode/scripts/uninstall-local.sh
diff --git a/packages/cursorless-vscode/src/InstallationDependencies.ts b/packages/app-vscode/src/InstallationDependencies.ts
similarity index 96%
rename from packages/cursorless-vscode/src/InstallationDependencies.ts
rename to packages/app-vscode/src/InstallationDependencies.ts
index 8dd798332a..35c4475c22 100644
--- a/packages/cursorless-vscode/src/InstallationDependencies.ts
+++ b/packages/app-vscode/src/InstallationDependencies.ts
@@ -1,5 +1,5 @@
-import { isWindows } from "@cursorless/node-common";
-import { COMMAND_SERVER_EXTENSION_ID } from "@cursorless/vscode-common";
+import { isWindows } from "@cursorless/lib-node-common";
+import { COMMAND_SERVER_EXTENSION_ID } from "@cursorless/lib-vscode-common";
import { globSync } from "glob";
import * as fs from "node:fs";
import * as os from "node:os";
diff --git a/packages/cursorless-vscode/src/ReleaseNotes.test.ts b/packages/app-vscode/src/ReleaseNotes.test.ts
similarity index 96%
rename from packages/cursorless-vscode/src/ReleaseNotes.test.ts
rename to packages/app-vscode/src/ReleaseNotes.test.ts
index caf781cfe8..c832f7ac4c 100644
--- a/packages/cursorless-vscode/src/ReleaseNotes.test.ts
+++ b/packages/app-vscode/src/ReleaseNotes.test.ts
@@ -1,9 +1,9 @@
import * as sinon from "sinon";
-import type { MessageType, Messages } from "@cursorless/common";
-import { asyncSafety } from "@cursorless/common";
+import type { MessageType, Messages } from "@cursorless/lib-common";
+import { asyncSafety } from "@cursorless/lib-common";
import type { ExtensionContext, Uri } from "vscode";
import { ReleaseNotes, VERSION_KEY, WHATS_NEW } from "./ReleaseNotes";
-import type { VscodeApi } from "@cursorless/vscode-common";
+import type { VscodeApi } from "@cursorless/lib-vscode-common";
interface Input {
/** Whether the VSCode window is focused */
diff --git a/packages/cursorless-vscode/src/ReleaseNotes.ts b/packages/app-vscode/src/ReleaseNotes.ts
similarity index 93%
rename from packages/cursorless-vscode/src/ReleaseNotes.ts
rename to packages/app-vscode/src/ReleaseNotes.ts
index dc16ca23b1..1fa709db43 100644
--- a/packages/cursorless-vscode/src/ReleaseNotes.ts
+++ b/packages/app-vscode/src/ReleaseNotes.ts
@@ -1,8 +1,8 @@
import type { ExtensionContext } from "vscode";
-import type { Messages } from "@cursorless/common";
-import { showInfo } from "@cursorless/common";
+import type { Messages } from "@cursorless/lib-common";
+import { showInfo } from "@cursorless/lib-common";
import * as semver from "semver";
-import type { VscodeApi } from "@cursorless/vscode-common";
+import type { VscodeApi } from "@cursorless/lib-vscode-common";
import { URI } from "vscode-uri";
/**
diff --git a/packages/cursorless-vscode/src/ScopeTreeProvider.ts b/packages/app-vscode/src/ScopeTreeProvider.ts
similarity index 98%
rename from packages/cursorless-vscode/src/ScopeTreeProvider.ts
rename to packages/app-vscode/src/ScopeTreeProvider.ts
index 50d050fa50..25b82eb1a8 100644
--- a/packages/cursorless-vscode/src/ScopeTreeProvider.ts
+++ b/packages/app-vscode/src/ScopeTreeProvider.ts
@@ -7,7 +7,7 @@ import type {
ScopeTypeInfo,
Selection,
TextEditor,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import {
CURSORLESS_SCOPE_TREE_VIEW_ID,
DOCS_URL,
@@ -15,9 +15,9 @@ import {
disposableFrom,
serializeScopeType,
uriEncodeHashId,
-} from "@cursorless/common";
-import { type CustomSpokenFormGenerator } from "@cursorless/cursorless-engine";
-import { type VscodeApi } from "@cursorless/vscode-common";
+} from "@cursorless/lib-common";
+import { type CustomSpokenFormGenerator } from "@cursorless/lib-engine";
+import { type VscodeApi } from "@cursorless/lib-vscode-common";
import { isEqual } from "lodash-es";
import type {
Disposable,
diff --git a/packages/cursorless-vscode/src/ScopeVisualizerCommandApi.ts b/packages/app-vscode/src/ScopeVisualizerCommandApi.ts
similarity index 86%
rename from packages/cursorless-vscode/src/ScopeVisualizerCommandApi.ts
rename to packages/app-vscode/src/ScopeVisualizerCommandApi.ts
index 3c0d04c955..2c29208732 100644
--- a/packages/cursorless-vscode/src/ScopeVisualizerCommandApi.ts
+++ b/packages/app-vscode/src/ScopeVisualizerCommandApi.ts
@@ -1,4 +1,4 @@
-import type { Disposable, ScopeType } from "@cursorless/common";
+import type { Disposable, ScopeType } from "@cursorless/lib-common";
export type ScopeVisualizerListener = (
scopeType: ScopeType | undefined,
diff --git a/packages/cursorless-vscode/src/SpyWebviewView.ts b/packages/app-vscode/src/SpyWebviewView.ts
similarity index 93%
rename from packages/cursorless-vscode/src/SpyWebviewView.ts
rename to packages/app-vscode/src/SpyWebviewView.ts
index 50217e54ac..add944feea 100644
--- a/packages/cursorless-vscode/src/SpyWebviewView.ts
+++ b/packages/app-vscode/src/SpyWebviewView.ts
@@ -1,7 +1,7 @@
-import type { Disposable } from "@cursorless/common";
+import type { Disposable } from "@cursorless/lib-common";
import { cloneDeep } from "lodash-es";
import type { Uri, Webview, WebviewView } from "vscode";
-import type { SpyWebViewEvent } from "@cursorless/vscode-common";
+import type { SpyWebViewEvent } from "@cursorless/lib-vscode-common";
/**
* Wraps a {@link WebviewView} and provides a way to spy on its events for
diff --git a/packages/cursorless-vscode/src/StatusBarItem.ts b/packages/app-vscode/src/StatusBarItem.ts
similarity index 100%
rename from packages/cursorless-vscode/src/StatusBarItem.ts
rename to packages/app-vscode/src/StatusBarItem.ts
diff --git a/packages/cursorless-vscode/src/VscodeSnippets.ts b/packages/app-vscode/src/VscodeSnippets.ts
similarity index 85%
rename from packages/cursorless-vscode/src/VscodeSnippets.ts
rename to packages/app-vscode/src/VscodeSnippets.ts
index 90e61ef1dc..f5def8a385 100644
--- a/packages/cursorless-vscode/src/VscodeSnippets.ts
+++ b/packages/app-vscode/src/VscodeSnippets.ts
@@ -1,5 +1,5 @@
-import type { IDE, TextEditor } from "@cursorless/common";
-import { type Snippets } from "@cursorless/cursorless-engine";
+import type { IDE, TextEditor } from "@cursorless/lib-common";
+import { type Snippets } from "@cursorless/lib-engine";
import { open } from "node:fs/promises";
import { join } from "node:path";
diff --git a/packages/cursorless-vscode/src/VscodeTutorial.ts b/packages/app-vscode/src/VscodeTutorial.ts
similarity index 94%
rename from packages/cursorless-vscode/src/VscodeTutorial.ts
rename to packages/app-vscode/src/VscodeTutorial.ts
index 625116766c..d6748f50fc 100644
--- a/packages/cursorless-vscode/src/VscodeTutorial.ts
+++ b/packages/app-vscode/src/VscodeTutorial.ts
@@ -1,6 +1,10 @@
-import type { FileSystem, TutorialId, TutorialState } from "@cursorless/common";
-import { getCursorlessRepoRoot } from "@cursorless/node-common";
-import type { SpyWebViewEvent, VscodeApi } from "@cursorless/vscode-common";
+import type {
+ FileSystem,
+ TutorialId,
+ TutorialState,
+} from "@cursorless/lib-common";
+import { getCursorlessRepoRoot } from "@cursorless/lib-node-common";
+import type { SpyWebViewEvent, VscodeApi } from "@cursorless/lib-vscode-common";
import path from "node:path";
import type {
CancellationToken,
@@ -12,7 +16,7 @@ import type {
import { ExtensionMode, Uri } from "vscode";
import type { ScopeVisualizer } from "./ScopeVisualizerCommandApi";
import { SpyWebviewView } from "./SpyWebviewView";
-import type { Tutorial } from "@cursorless/cursorless-tutorial";
+import type { Tutorial } from "@cursorless/lib-tutorial";
const VSCODE_TUTORIAL_WEBVIEW_ID = "cursorless.tutorial";
@@ -42,7 +46,7 @@ export class VscodeTutorial implements WebviewViewProvider {
path.join(
getCursorlessRepoRoot(),
"packages",
- "cursorless-vscode-tutorial-webview",
+ "lib-vscode-tutorial-webview",
"out",
),
)
diff --git a/packages/cursorless-vscode/src/commands.ts b/packages/app-vscode/src/commands.ts
similarity index 86%
rename from packages/cursorless-vscode/src/commands.ts
rename to packages/app-vscode/src/commands.ts
index d306935f01..e962c37853 100644
--- a/packages/cursorless-vscode/src/commands.ts
+++ b/packages/app-vscode/src/commands.ts
@@ -1,4 +1,4 @@
-import { CURSORLESS_ORG_URL, DOCS_URL } from "@cursorless/common";
+import { CURSORLESS_ORG_URL, DOCS_URL } from "@cursorless/lib-common";
import * as vscode from "vscode";
export const showDocumentation = () => {
diff --git a/packages/cursorless-vscode/src/constructTestHelpers.ts b/packages/app-vscode/src/constructTestHelpers.ts
similarity index 90%
rename from packages/cursorless-vscode/src/constructTestHelpers.ts
rename to packages/app-vscode/src/constructTestHelpers.ts
index ac43ef2fee..a35f454a25 100644
--- a/packages/cursorless-vscode/src/constructTestHelpers.ts
+++ b/packages/app-vscode/src/constructTestHelpers.ts
@@ -11,15 +11,15 @@ import type {
TargetPlainObject,
TestCaseSnapshot,
TextEditor,
-} from "@cursorless/common";
-import type { StoredTargetMap } from "@cursorless/cursorless-engine";
+} from "@cursorless/lib-common";
+import type { StoredTargetMap } from "@cursorless/lib-engine";
import {
plainObjectToTarget,
scopeHandlerCache,
treeSitterQueryCache,
-} from "@cursorless/cursorless-engine";
-import { takeSnapshot } from "@cursorless/test-case-recorder";
-import type { VscodeTestHelpers } from "@cursorless/vscode-common";
+} from "@cursorless/lib-engine";
+import { takeSnapshot } from "@cursorless/lib-test-case-recorder";
+import type { VscodeTestHelpers } from "@cursorless/lib-vscode-common";
import type * as vscode from "vscode";
import { toVscodeEditor } from "./ide/vscode/toVscodeEditor";
import type { VscodeFileSystem } from "./ide/vscode/VscodeFileSystem";
diff --git a/packages/cursorless-vscode/src/createScopeVisualizer.ts b/packages/app-vscode/src/createScopeVisualizer.ts
similarity index 97%
rename from packages/cursorless-vscode/src/createScopeVisualizer.ts
rename to packages/app-vscode/src/createScopeVisualizer.ts
index 9a2b9ebf7b..b55f3ae89d 100644
--- a/packages/cursorless-vscode/src/createScopeVisualizer.ts
+++ b/packages/app-vscode/src/createScopeVisualizer.ts
@@ -3,7 +3,7 @@ import type {
IDE,
ScopeProvider,
ScopeType,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { pull } from "lodash-es";
import {
type VscodeScopeVisualizer,
diff --git a/packages/cursorless-vscode/src/createTreeSitter.ts b/packages/app-vscode/src/createTreeSitter.ts
similarity index 66%
rename from packages/cursorless-vscode/src/createTreeSitter.ts
rename to packages/app-vscode/src/createTreeSitter.ts
index 115167f918..aefc228b04 100644
--- a/packages/cursorless-vscode/src/createTreeSitter.ts
+++ b/packages/app-vscode/src/createTreeSitter.ts
@@ -1,5 +1,5 @@
-import type { TreeSitter } from "@cursorless/common";
-import type { ParseTreeApi } from "@cursorless/vscode-common";
+import type { TreeSitter } from "@cursorless/lib-common";
+import type { ParseTreeApi } from "@cursorless/lib-vscode-common";
export function createTreeSitter(parseTreeApi: ParseTreeApi): TreeSitter {
return {
diff --git a/packages/cursorless-vscode/src/createTutorial.ts b/packages/app-vscode/src/createTutorial.ts
similarity index 81%
rename from packages/cursorless-vscode/src/createTutorial.ts
rename to packages/app-vscode/src/createTutorial.ts
index fd7c573bae..fa1e7cee67 100644
--- a/packages/cursorless-vscode/src/createTutorial.ts
+++ b/packages/app-vscode/src/createTutorial.ts
@@ -1,10 +1,10 @@
-import type { Hats, HatTokenMap, IDE } from "@cursorless/common";
+import type { Hats, HatTokenMap, IDE } from "@cursorless/lib-common";
import type {
CommandRunnerDecorator,
CustomSpokenFormGenerator,
-} from "@cursorless/cursorless-engine";
-import { TutorialImpl } from "@cursorless/cursorless-tutorial";
-import { FileSystemTutorialContentProvider } from "@cursorless/node-common";
+} from "@cursorless/lib-engine";
+import { TutorialImpl } from "@cursorless/lib-tutorial";
+import { FileSystemTutorialContentProvider } from "@cursorless/lib-node-common";
import type * as vscode from "vscode";
import type { ScopeVisualizer } from "./ScopeVisualizerCommandApi";
import { VscodeTutorial } from "./VscodeTutorial";
diff --git a/packages/cursorless-vscode/src/createVscodeIde.ts b/packages/app-vscode/src/createVscodeIde.ts
similarity index 100%
rename from packages/cursorless-vscode/src/createVscodeIde.ts
rename to packages/app-vscode/src/createVscodeIde.ts
diff --git a/packages/cursorless-vscode/src/extension.ts b/packages/app-vscode/src/extension.ts
similarity index 92%
rename from packages/cursorless-vscode/src/extension.ts
rename to packages/app-vscode/src/extension.ts
index 63a195f7e5..8746aa7820 100644
--- a/packages/cursorless-vscode/src/extension.ts
+++ b/packages/app-vscode/src/extension.ts
@@ -1,28 +1,25 @@
-import type { EnforceUndefined } from "@cursorless/common";
+import type { EnforceUndefined } from "@cursorless/lib-common";
import {
FakeCommandServerApi,
FakeIDE,
NormalizedIDE,
-} from "@cursorless/common";
-import type { EngineProps } from "@cursorless/cursorless-engine";
-import {
- CommandHistory,
- createCursorlessEngine,
-} from "@cursorless/cursorless-engine";
+} from "@cursorless/lib-common";
+import type { EngineProps } from "@cursorless/lib-engine";
+import { CommandHistory, createCursorlessEngine } from "@cursorless/lib-engine";
import {
FileSystemCommandHistoryStorage,
FileSystemRawTreeSitterQueryProvider,
FileSystemTalonSpokenForms,
-} from "@cursorless/node-common";
+} from "@cursorless/lib-node-common";
import {
ScopeTestRecorder,
TestCaseRecorder,
-} from "@cursorless/test-case-recorder";
-import type { CursorlessApi } from "@cursorless/vscode-common";
+} from "@cursorless/lib-test-case-recorder";
+import type { CursorlessApi } from "@cursorless/lib-vscode-common";
import {
getCommandServerApi,
getParseTreeApi,
-} from "@cursorless/vscode-common";
+} from "@cursorless/lib-vscode-common";
import type { ExtensionContext } from "vscode";
import { InstallationDependencies } from "./InstallationDependencies";
import { ReleaseNotes } from "./ReleaseNotes";
diff --git a/packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/RangeTypeColors.ts b/packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/RangeTypeColors.ts
similarity index 100%
rename from packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/RangeTypeColors.ts
rename to packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/RangeTypeColors.ts
diff --git a/packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/VscodeFancyRangeHighlighter.ts b/packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/VscodeFancyRangeHighlighter.ts
similarity index 96%
rename from packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/VscodeFancyRangeHighlighter.ts
rename to packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/VscodeFancyRangeHighlighter.ts
index a2ed5ca91c..b1bc57a01c 100644
--- a/packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/VscodeFancyRangeHighlighter.ts
+++ b/packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/VscodeFancyRangeHighlighter.ts
@@ -1,9 +1,9 @@
-import type { GeneralizedRange, TextEditor } from "@cursorless/common";
+import type { GeneralizedRange, TextEditor } from "@cursorless/lib-common";
import {
generateDecorationsForCharacterRange,
generateDecorationsForLineRange,
Range,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { flatmap } from "itertools";
import { range as lodashRange } from "lodash-es";
import type { VscodeTextEditor } from "../../VscodeTextEditor";
diff --git a/packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/VscodeFancyRangeHighlighterRenderer.ts b/packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/VscodeFancyRangeHighlighterRenderer.ts
similarity index 95%
rename from packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/VscodeFancyRangeHighlighterRenderer.ts
rename to packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/VscodeFancyRangeHighlighterRenderer.ts
index aeb2d188ab..4b2ca570ba 100644
--- a/packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/VscodeFancyRangeHighlighterRenderer.ts
+++ b/packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/VscodeFancyRangeHighlighterRenderer.ts
@@ -1,12 +1,12 @@
-import type { DecorationStyle } from "@cursorless/common";
+import type { DecorationStyle } from "@cursorless/lib-common";
import {
BORDER_WIDTH,
CompositeKeyDefaultMap,
getBorderColor,
getBorderRadius,
getBorderStyle,
-} from "@cursorless/common";
-import { toVscodeRange } from "@cursorless/vscode-common";
+} from "@cursorless/lib-common";
+import { toVscodeRange } from "@cursorless/lib-vscode-common";
import type { DecorationRenderOptions, TextEditorDecorationType } from "vscode";
import { DecorationRangeBehavior } from "vscode";
import { vscodeApi } from "../../../../vscodeApi";
diff --git a/packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/decorationStyle.types.ts b/packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/decorationStyle.types.ts
similarity index 96%
rename from packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/decorationStyle.types.ts
rename to packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/decorationStyle.types.ts
index fbbd3de26f..36f4248bb4 100644
--- a/packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/decorationStyle.types.ts
+++ b/packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/decorationStyle.types.ts
@@ -2,7 +2,7 @@ import type {
DecorationStyle,
GeneralizedRange,
Range,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
/**
* A decoration style that is differentiated from other styles by a number. We
diff --git a/packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/generateDifferentiatedRanges.ts b/packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/generateDifferentiatedRanges.ts
similarity index 97%
rename from packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/generateDifferentiatedRanges.ts
rename to packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/generateDifferentiatedRanges.ts
index 12cb17e6fb..60b5dc1350 100644
--- a/packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/generateDifferentiatedRanges.ts
+++ b/packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/generateDifferentiatedRanges.ts
@@ -1,8 +1,8 @@
-import type { GeneralizedRange } from "@cursorless/common";
+import type { GeneralizedRange } from "@cursorless/lib-common";
import {
generalizedRangeContains,
generalizedRangeTouches,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { max } from "lodash-es";
import type { DifferentiatedGeneralizedRange } from "./decorationStyle.types";
diff --git a/packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/getDifferentiatedStyleMapKey.ts b/packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/getDifferentiatedStyleMapKey.ts
similarity index 89%
rename from packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/getDifferentiatedStyleMapKey.ts
rename to packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/getDifferentiatedStyleMapKey.ts
index 19eeaaeca9..d4cc7e94e7 100644
--- a/packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/getDifferentiatedStyleMapKey.ts
+++ b/packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/getDifferentiatedStyleMapKey.ts
@@ -1,4 +1,4 @@
-import type { BorderStyle } from "@cursorless/common";
+import type { BorderStyle } from "@cursorless/lib-common";
import type { DifferentiatedStyle } from "./decorationStyle.types";
/**
diff --git a/packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/groupDifferentiatedStyledRanges.ts b/packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/groupDifferentiatedStyledRanges.ts
similarity index 94%
rename from packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/groupDifferentiatedStyledRanges.ts
rename to packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/groupDifferentiatedStyledRanges.ts
index c72f2dc35b..887f698981 100644
--- a/packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/groupDifferentiatedStyledRanges.ts
+++ b/packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/groupDifferentiatedStyledRanges.ts
@@ -1,4 +1,4 @@
-import { CompositeKeyDefaultMap } from "@cursorless/common";
+import { CompositeKeyDefaultMap } from "@cursorless/lib-common";
import type {
DifferentiatedStyle,
DifferentiatedStyledRange,
diff --git a/packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/index.ts b/packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/index.ts
similarity index 100%
rename from packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/index.ts
rename to packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter/index.ts
diff --git a/packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeIterationScopeVisualizer.ts b/packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeIterationScopeVisualizer.ts
similarity index 86%
rename from packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeIterationScopeVisualizer.ts
rename to packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeIterationScopeVisualizer.ts
index e497d9e7ea..fd1a88afde 100644
--- a/packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeIterationScopeVisualizer.ts
+++ b/packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeIterationScopeVisualizer.ts
@@ -1,5 +1,9 @@
-import type { Disposable, ScopeSupport, TextEditor } from "@cursorless/common";
-import { toCharacterRange } from "@cursorless/common";
+import type {
+ Disposable,
+ ScopeSupport,
+ TextEditor,
+} from "@cursorless/lib-common";
+import { toCharacterRange } from "@cursorless/lib-common";
import type { VscodeTextEditor } from "../VscodeTextEditor";
import { VscodeScopeVisualizer } from "./VscodeScopeVisualizer";
diff --git a/packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeScopeRenderer.ts b/packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeScopeRenderer.ts
similarity index 94%
rename from packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeScopeRenderer.ts
rename to packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeScopeRenderer.ts
index cc5dcdada6..17ac66cba7 100644
--- a/packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeScopeRenderer.ts
+++ b/packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeScopeRenderer.ts
@@ -1,5 +1,5 @@
-import type { Disposable, GeneralizedRange } from "@cursorless/common";
-import { isGeneralizedRangeEqual } from "@cursorless/common";
+import type { Disposable, GeneralizedRange } from "@cursorless/lib-common";
+import { isGeneralizedRangeEqual } from "@cursorless/lib-common";
import type { VscodeTextEditor } from "../VscodeTextEditor";
import type { RangeTypeColors } from "./RangeTypeColors";
import { VscodeFancyRangeHighlighter } from "./VscodeFancyRangeHighlighter";
diff --git a/packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeScopeTargetVisualizer.ts b/packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeScopeTargetVisualizer.ts
similarity index 94%
rename from packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeScopeTargetVisualizer.ts
rename to packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeScopeTargetVisualizer.ts
index 0ca38f1529..f2079af121 100644
--- a/packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeScopeTargetVisualizer.ts
+++ b/packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeScopeTargetVisualizer.ts
@@ -4,8 +4,8 @@ import type {
ScopeSupport,
TargetRanges,
TextEditor,
-} from "@cursorless/common";
-import { toCharacterRange } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { toCharacterRange } from "@cursorless/lib-common";
import { VscodeScopeVisualizer } from "./VscodeScopeVisualizer";
import type { VscodeTextEditor } from "../VscodeTextEditor";
diff --git a/packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeScopeVisualizer.ts b/packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeScopeVisualizer.ts
similarity index 95%
rename from packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeScopeVisualizer.ts
rename to packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeScopeVisualizer.ts
index a9f386a153..e00974e6eb 100644
--- a/packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeScopeVisualizer.ts
+++ b/packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/VscodeScopeVisualizer.ts
@@ -4,12 +4,12 @@ import type {
ScopeProvider,
ScopeType,
TextEditor,
-} from "@cursorless/common";
-import { DOCS_URL, ScopeSupport, showError } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { DOCS_URL, ScopeSupport, showError } from "@cursorless/lib-common";
import type {
ScopeRangeType,
ScopeVisualizerColorConfig,
-} from "@cursorless/vscode-common";
+} from "@cursorless/lib-vscode-common";
import { vscodeApi } from "../../../vscodeApi";
import { VscodeScopeRenderer } from "./VscodeScopeRenderer";
import { getColorsFromConfig } from "./getColorsFromConfig";
diff --git a/packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/blendRangeTypeColors.ts b/packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/blendRangeTypeColors.ts
similarity index 96%
rename from packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/blendRangeTypeColors.ts
rename to packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/blendRangeTypeColors.ts
index abf099abe9..132fa8b6bb 100644
--- a/packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/blendRangeTypeColors.ts
+++ b/packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/blendRangeTypeColors.ts
@@ -1,4 +1,4 @@
-import { blendColors } from "@cursorless/common";
+import { blendColors } from "@cursorless/lib-common";
import type { RangeTypeColors } from "./RangeTypeColors";
/**
diff --git a/packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/createVscodeScopeVisualizer.ts b/packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/createVscodeScopeVisualizer.ts
similarity index 98%
rename from packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/createVscodeScopeVisualizer.ts
rename to packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/createVscodeScopeVisualizer.ts
index 204f3854bf..5304c617bd 100644
--- a/packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/createVscodeScopeVisualizer.ts
+++ b/packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/createVscodeScopeVisualizer.ts
@@ -1,4 +1,4 @@
-import type { IDE, ScopeProvider, ScopeType } from "@cursorless/common";
+import type { IDE, ScopeProvider, ScopeType } from "@cursorless/lib-common";
import type { VisualizationType } from "../../../ScopeVisualizerCommandApi";
import { VscodeIterationScopeVisualizer } from "./VscodeIterationScopeVisualizer";
import {
diff --git a/packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/getColorsFromConfig.ts b/packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/getColorsFromConfig.ts
similarity index 94%
rename from packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/getColorsFromConfig.ts
rename to packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/getColorsFromConfig.ts
index 8c6d48fbfa..f2d30e5810 100644
--- a/packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/getColorsFromConfig.ts
+++ b/packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/getColorsFromConfig.ts
@@ -1,7 +1,7 @@
import type {
ScopeRangeType,
ScopeVisualizerColorConfig,
-} from "@cursorless/vscode-common";
+} from "@cursorless/lib-vscode-common";
import type { RangeTypeColors } from "./RangeTypeColors";
export function getColorsFromConfig(
diff --git a/packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/index.ts b/packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/index.ts
similarity index 100%
rename from packages/cursorless-vscode/src/ide/vscode/VSCodeScopeVisualizer/index.ts
rename to packages/app-vscode/src/ide/vscode/VSCodeScopeVisualizer/index.ts
diff --git a/packages/cursorless-vscode/src/ide/vscode/VscodeCapabilities.ts b/packages/app-vscode/src/ide/vscode/VscodeCapabilities.ts
similarity index 90%
rename from packages/cursorless-vscode/src/ide/vscode/VscodeCapabilities.ts
rename to packages/app-vscode/src/ide/vscode/VscodeCapabilities.ts
index 25aad37cce..f75b194cff 100644
--- a/packages/cursorless-vscode/src/ide/vscode/VscodeCapabilities.ts
+++ b/packages/app-vscode/src/ide/vscode/VscodeCapabilities.ts
@@ -1,5 +1,8 @@
-import type { Capabilities, CommandCapabilityMap } from "@cursorless/common";
-import { nodeGetRunMode } from "@cursorless/node-common";
+import type {
+ Capabilities,
+ CommandCapabilityMap,
+} from "@cursorless/lib-common";
+import { nodeGetRunMode } from "@cursorless/lib-node-common";
import * as semver from "semver";
import * as vscode from "vscode";
diff --git a/packages/cursorless-vscode/src/ide/vscode/VscodeClipboard.ts b/packages/app-vscode/src/ide/vscode/VscodeClipboard.ts
similarity index 84%
rename from packages/cursorless-vscode/src/ide/vscode/VscodeClipboard.ts
rename to packages/app-vscode/src/ide/vscode/VscodeClipboard.ts
index 4c0531e1ad..9064e81516 100644
--- a/packages/cursorless-vscode/src/ide/vscode/VscodeClipboard.ts
+++ b/packages/app-vscode/src/ide/vscode/VscodeClipboard.ts
@@ -1,5 +1,5 @@
import * as vscode from "vscode";
-import type { Clipboard } from "@cursorless/common";
+import type { Clipboard } from "@cursorless/lib-common";
export default class VscodeClipboard implements Clipboard {
async readText(): Promise {
diff --git a/packages/cursorless-vscode/src/ide/vscode/VscodeConfiguration.ts b/packages/app-vscode/src/ide/vscode/VscodeConfiguration.ts
similarity index 95%
rename from packages/cursorless-vscode/src/ide/vscode/VscodeConfiguration.ts
rename to packages/app-vscode/src/ide/vscode/VscodeConfiguration.ts
index d9c571d2aa..f097c58565 100644
--- a/packages/cursorless-vscode/src/ide/vscode/VscodeConfiguration.ts
+++ b/packages/app-vscode/src/ide/vscode/VscodeConfiguration.ts
@@ -4,8 +4,8 @@ import type {
CursorlessConfiguration,
GetFieldType,
Paths,
-} from "@cursorless/common";
-import { HatStability, Notifier } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { HatStability, Notifier } from "@cursorless/lib-common";
import * as os from "node:os";
import * as vscode from "vscode";
import type { VscodeIDE } from "./VscodeIDE";
diff --git a/packages/cursorless-vscode/src/ide/vscode/VscodeEdit.ts b/packages/app-vscode/src/ide/vscode/VscodeEdit.ts
similarity index 80%
rename from packages/cursorless-vscode/src/ide/vscode/VscodeEdit.ts
rename to packages/app-vscode/src/ide/vscode/VscodeEdit.ts
index 0531f26d37..03c0000127 100644
--- a/packages/cursorless-vscode/src/ide/vscode/VscodeEdit.ts
+++ b/packages/app-vscode/src/ide/vscode/VscodeEdit.ts
@@ -1,5 +1,5 @@
-import type { Edit } from "@cursorless/common";
-import { toVscodePosition, toVscodeRange } from "@cursorless/vscode-common";
+import type { Edit } from "@cursorless/lib-common";
+import { toVscodePosition, toVscodeRange } from "@cursorless/lib-vscode-common";
import type * as vscode from "vscode";
export default async function vscodeEdit(
diff --git a/packages/cursorless-vscode/src/ide/vscode/VscodeEnabledHatStyleManager.ts b/packages/app-vscode/src/ide/vscode/VscodeEnabledHatStyleManager.ts
similarity index 96%
rename from packages/cursorless-vscode/src/ide/vscode/VscodeEnabledHatStyleManager.ts
rename to packages/app-vscode/src/ide/vscode/VscodeEnabledHatStyleManager.ts
index daeafcf7d2..5430078d56 100644
--- a/packages/cursorless-vscode/src/ide/vscode/VscodeEnabledHatStyleManager.ts
+++ b/packages/app-vscode/src/ide/vscode/VscodeEnabledHatStyleManager.ts
@@ -1,5 +1,9 @@
-import type { HatStyleInfo, HatStyleMap, Listener } from "@cursorless/common";
-import { Notifier } from "@cursorless/common";
+import type {
+ HatStyleInfo,
+ HatStyleMap,
+ Listener,
+} from "@cursorless/lib-common";
+import { Notifier } from "@cursorless/lib-common";
import { pickBy } from "lodash-es";
import * as vscode from "vscode";
import type { HatColor, HatShape, VscodeHatStyleName } from "./hatStyles.types";
diff --git a/packages/cursorless-vscode/src/ide/vscode/VscodeEvents.ts b/packages/app-vscode/src/ide/vscode/VscodeEvents.ts
similarity index 94%
rename from packages/cursorless-vscode/src/ide/vscode/VscodeEvents.ts
rename to packages/app-vscode/src/ide/vscode/VscodeEvents.ts
index 5c208fc3ad..da020f3bab 100644
--- a/packages/cursorless-vscode/src/ide/vscode/VscodeEvents.ts
+++ b/packages/app-vscode/src/ide/vscode/VscodeEvents.ts
@@ -4,8 +4,8 @@ import type {
TextDocumentChangeEvent,
TextDocumentChangeReason,
TextDocumentContentChangeEvent,
-} from "@cursorless/common";
-import { fromVscodeRange } from "@cursorless/vscode-common";
+} from "@cursorless/lib-common";
+import { fromVscodeRange } from "@cursorless/lib-vscode-common";
import * as vscode from "vscode";
import { VscodeTextDocument } from "./VscodeTextDocument";
diff --git a/packages/cursorless-vscode/src/ide/vscode/VscodeFileSystem.ts b/packages/app-vscode/src/ide/vscode/VscodeFileSystem.ts
similarity index 98%
rename from packages/cursorless-vscode/src/ide/vscode/VscodeFileSystem.ts
rename to packages/app-vscode/src/ide/vscode/VscodeFileSystem.ts
index 87a938d440..a1838cb751 100644
--- a/packages/cursorless-vscode/src/ide/vscode/VscodeFileSystem.ts
+++ b/packages/app-vscode/src/ide/vscode/VscodeFileSystem.ts
@@ -3,7 +3,7 @@ import type {
FileSystem,
PathChangeListener,
RunMode,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { isAbsolute, join } from "node:path";
import * as vscode from "vscode";
diff --git a/packages/cursorless-vscode/src/ide/vscode/VscodeFlashHandler.ts b/packages/app-vscode/src/ide/vscode/VscodeFlashHandler.ts
similarity index 94%
rename from packages/cursorless-vscode/src/ide/vscode/VscodeFlashHandler.ts
rename to packages/app-vscode/src/ide/vscode/VscodeFlashHandler.ts
index 2cf56f71b8..31af474028 100644
--- a/packages/cursorless-vscode/src/ide/vscode/VscodeFlashHandler.ts
+++ b/packages/app-vscode/src/ide/vscode/VscodeFlashHandler.ts
@@ -2,8 +2,8 @@ import type {
EditorGeneralizedRange,
FlashDescriptor,
FlashStyle,
-} from "@cursorless/common";
-import { groupBy, sleep } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { groupBy, sleep } from "@cursorless/lib-common";
import { workspace } from "vscode";
import type VscodeHighlights from "./VscodeHighlights";
import type { VscodeIDE } from "./VscodeIDE";
diff --git a/packages/cursorless-vscode/src/ide/vscode/VscodeFocusEditor.ts b/packages/app-vscode/src/ide/vscode/VscodeFocusEditor.ts
similarity index 98%
rename from packages/cursorless-vscode/src/ide/vscode/VscodeFocusEditor.ts
rename to packages/app-vscode/src/ide/vscode/VscodeFocusEditor.ts
index 69c816a011..0d990895a8 100644
--- a/packages/cursorless-vscode/src/ide/vscode/VscodeFocusEditor.ts
+++ b/packages/app-vscode/src/ide/vscode/VscodeFocusEditor.ts
@@ -1,4 +1,4 @@
-import { getCellIndex } from "@cursorless/vscode-common";
+import { getCellIndex } from "@cursorless/lib-vscode-common";
import type { NotebookDocument, TextEditor } from "vscode";
import { commands, TabInputTextDiff, ViewColumn, window } from "vscode";
import { getNotebookFromCellDocument } from "./notebook/notebook";
diff --git a/packages/cursorless-vscode/src/ide/vscode/VscodeFold.ts b/packages/app-vscode/src/ide/vscode/VscodeFold.ts
similarity index 96%
rename from packages/cursorless-vscode/src/ide/vscode/VscodeFold.ts
rename to packages/app-vscode/src/ide/vscode/VscodeFold.ts
index bc2aebc1eb..517cc88424 100644
--- a/packages/cursorless-vscode/src/ide/vscode/VscodeFold.ts
+++ b/packages/app-vscode/src/ide/vscode/VscodeFold.ts
@@ -1,4 +1,4 @@
-import type { Range } from "@cursorless/common";
+import type { Range } from "@cursorless/lib-common";
import * as vscode from "vscode";
import type { VscodeIDE } from "./VscodeIDE";
import type { VscodeTextEditor } from "./VscodeTextEditor";
diff --git a/packages/cursorless-vscode/src/ide/vscode/VscodeHighlightDecorationTypes.ts b/packages/app-vscode/src/ide/vscode/VscodeHighlightDecorationTypes.ts
similarity index 100%
rename from packages/cursorless-vscode/src/ide/vscode/VscodeHighlightDecorationTypes.ts
rename to packages/app-vscode/src/ide/vscode/VscodeHighlightDecorationTypes.ts
diff --git a/packages/cursorless-vscode/src/ide/vscode/VscodeHighlights.ts b/packages/app-vscode/src/ide/vscode/VscodeHighlights.ts
similarity index 97%
rename from packages/cursorless-vscode/src/ide/vscode/VscodeHighlights.ts
rename to packages/app-vscode/src/ide/vscode/VscodeHighlights.ts
index 7fd9f9da47..d57df97165 100644
--- a/packages/cursorless-vscode/src/ide/vscode/VscodeHighlights.ts
+++ b/packages/app-vscode/src/ide/vscode/VscodeHighlights.ts
@@ -2,8 +2,8 @@ import type {
CharacterRange,
GeneralizedRange,
LineRange,
-} from "@cursorless/common";
-import { FlashStyle, isLineRange, partition } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { FlashStyle, isLineRange, partition } from "@cursorless/lib-common";
import type { ExtensionContext } from "vscode";
import * as vscode from "vscode";
import { VscodeHighlightDecorationTypes } from "./VscodeHighlightDecorationTypes";
diff --git a/packages/cursorless-vscode/src/ide/vscode/VscodeIDE.ts b/packages/app-vscode/src/ide/vscode/VscodeIDE.ts
similarity index 98%
rename from packages/cursorless-vscode/src/ide/vscode/VscodeIDE.ts
rename to packages/app-vscode/src/ide/vscode/VscodeIDE.ts
index c53cab5ffc..62bdb8d775 100644
--- a/packages/cursorless-vscode/src/ide/vscode/VscodeIDE.ts
+++ b/packages/app-vscode/src/ide/vscode/VscodeIDE.ts
@@ -12,12 +12,12 @@ import type {
RunMode,
TextDocumentChangeEvent,
TextEditor,
-} from "@cursorless/common";
-import { OutdatedExtensionError } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { OutdatedExtensionError } from "@cursorless/lib-common";
import {
fromVscodeRange,
fromVscodeSelection,
-} from "@cursorless/vscode-common";
+} from "@cursorless/lib-vscode-common";
import { pull } from "lodash-es";
import { v4 as uuid } from "uuid";
import type { ExtensionContext, WorkspaceFolder } from "vscode";
diff --git a/packages/cursorless-vscode/src/ide/vscode/VscodeIdeNotebook.ts b/packages/app-vscode/src/ide/vscode/VscodeIdeNotebook.ts
similarity index 97%
rename from packages/cursorless-vscode/src/ide/vscode/VscodeIdeNotebook.ts
rename to packages/app-vscode/src/ide/vscode/VscodeIdeNotebook.ts
index 2cd418593b..b47b6e8a8e 100644
--- a/packages/cursorless-vscode/src/ide/vscode/VscodeIdeNotebook.ts
+++ b/packages/app-vscode/src/ide/vscode/VscodeIdeNotebook.ts
@@ -3,7 +3,7 @@ import type {
NotebookCellKind,
NotebookEditor,
TextDocument,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type * as vscode from "vscode";
import type { URI } from "vscode-uri";
import { VscodeTextDocument } from "./VscodeTextDocument";
diff --git a/packages/cursorless-vscode/src/ide/vscode/VscodeInsertSnippets.ts b/packages/app-vscode/src/ide/vscode/VscodeInsertSnippets.ts
similarity index 86%
rename from packages/cursorless-vscode/src/ide/vscode/VscodeInsertSnippets.ts
rename to packages/app-vscode/src/ide/vscode/VscodeInsertSnippets.ts
index 608de60299..558f0295a6 100644
--- a/packages/cursorless-vscode/src/ide/vscode/VscodeInsertSnippets.ts
+++ b/packages/app-vscode/src/ide/vscode/VscodeInsertSnippets.ts
@@ -1,6 +1,6 @@
import * as vscode from "vscode";
-import type { Range } from "@cursorless/common";
-import { Selection } from "@cursorless/common";
+import type { Range } from "@cursorless/lib-common";
+import { Selection } from "@cursorless/lib-common";
import type { VscodeTextEditor } from "./VscodeTextEditor";
export async function vscodeInsertSnippet(
diff --git a/packages/cursorless-vscode/src/ide/vscode/VscodeKeyValueStore.ts b/packages/app-vscode/src/ide/vscode/VscodeKeyValueStore.ts
similarity index 91%
rename from packages/cursorless-vscode/src/ide/vscode/VscodeKeyValueStore.ts
rename to packages/app-vscode/src/ide/vscode/VscodeKeyValueStore.ts
index 0be2c01f40..5805ca0d21 100644
--- a/packages/cursorless-vscode/src/ide/vscode/VscodeKeyValueStore.ts
+++ b/packages/app-vscode/src/ide/vscode/VscodeKeyValueStore.ts
@@ -2,8 +2,8 @@ import type {
KeyValueStore,
KeyValueStoreData,
KeyValueStoreKey,
-} from "@cursorless/common";
-import { KEY_VALUE_STORE_DEFAULTS } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { KEY_VALUE_STORE_DEFAULTS } from "@cursorless/lib-common";
import type { ExtensionContext } from "vscode";
import { VERSION_KEY } from "../../ReleaseNotes";
import { DONT_SHOW_TALON_UPDATE_MESSAGE_KEY } from "../../ScopeTreeProvider";
diff --git a/packages/cursorless-vscode/src/ide/vscode/VscodeMessages.ts b/packages/app-vscode/src/ide/vscode/VscodeMessages.ts
similarity index 82%
rename from packages/cursorless-vscode/src/ide/vscode/VscodeMessages.ts
rename to packages/app-vscode/src/ide/vscode/VscodeMessages.ts
index 07dd5e7adb..11894d2204 100644
--- a/packages/cursorless-vscode/src/ide/vscode/VscodeMessages.ts
+++ b/packages/app-vscode/src/ide/vscode/VscodeMessages.ts
@@ -1,6 +1,6 @@
import { window } from "vscode";
-import type { MessageId, Messages } from "@cursorless/common";
-import { MessageType } from "@cursorless/common";
+import type { MessageId, Messages } from "@cursorless/lib-common";
+import { MessageType } from "@cursorless/lib-common";
export default class VscodeMessages implements Messages {
async showMessage(
diff --git a/packages/cursorless-vscode/src/ide/vscode/VscodeOpenLink.ts b/packages/app-vscode/src/ide/vscode/VscodeOpenLink.ts
similarity index 91%
rename from packages/cursorless-vscode/src/ide/vscode/VscodeOpenLink.ts
rename to packages/app-vscode/src/ide/vscode/VscodeOpenLink.ts
index 0c9dce8cd9..73aadb635f 100644
--- a/packages/cursorless-vscode/src/ide/vscode/VscodeOpenLink.ts
+++ b/packages/app-vscode/src/ide/vscode/VscodeOpenLink.ts
@@ -1,8 +1,8 @@
import * as vscode from "vscode";
import type { VscodeTextEditor } from "./VscodeTextEditor";
-import type { OpenLinkOptions, Range } from "@cursorless/common";
-import { Selection } from "@cursorless/common";
-import { toVscodePositionOrRange } from "@cursorless/vscode-common";
+import type { OpenLinkOptions, Range } from "@cursorless/lib-common";
+import { Selection } from "@cursorless/lib-common";
+import { toVscodePositionOrRange } from "@cursorless/lib-vscode-common";
export default async function vscodeOpenLink(
editor: VscodeTextEditor,
diff --git a/packages/cursorless-vscode/src/ide/vscode/VscodeRevealLine.ts b/packages/app-vscode/src/ide/vscode/VscodeRevealLine.ts
similarity index 91%
rename from packages/cursorless-vscode/src/ide/vscode/VscodeRevealLine.ts
rename to packages/app-vscode/src/ide/vscode/VscodeRevealLine.ts
index 6039b34653..06b8534dc0 100644
--- a/packages/cursorless-vscode/src/ide/vscode/VscodeRevealLine.ts
+++ b/packages/app-vscode/src/ide/vscode/VscodeRevealLine.ts
@@ -1,5 +1,5 @@
import * as vscode from "vscode";
-import { RevealLineAt } from "@cursorless/common";
+import { RevealLineAt } from "@cursorless/lib-common";
import type { VscodeTextEditor } from "./VscodeTextEditor";
export async function vscodeRevealLine(
diff --git a/packages/cursorless-vscode/src/ide/vscode/VscodeRunMode.ts b/packages/app-vscode/src/ide/vscode/VscodeRunMode.ts
similarity index 84%
rename from packages/cursorless-vscode/src/ide/vscode/VscodeRunMode.ts
rename to packages/app-vscode/src/ide/vscode/VscodeRunMode.ts
index 2c1dd0a1a8..129bdf8cc0 100644
--- a/packages/cursorless-vscode/src/ide/vscode/VscodeRunMode.ts
+++ b/packages/app-vscode/src/ide/vscode/VscodeRunMode.ts
@@ -1,7 +1,7 @@
import type { ExtensionContext } from "vscode";
import { ExtensionMode } from "vscode";
-import type { RunMode } from "@cursorless/common";
-import { nodeGetRunMode } from "@cursorless/node-common";
+import type { RunMode } from "@cursorless/lib-common";
+import { nodeGetRunMode } from "@cursorless/lib-node-common";
const EXTENSION_MODE_MAP: Record = {
[ExtensionMode.Development]: "development",
diff --git a/packages/cursorless-vscode/src/ide/vscode/VscodeTextDocument.ts b/packages/app-vscode/src/ide/vscode/VscodeTextDocument.ts
similarity index 93%
rename from packages/cursorless-vscode/src/ide/vscode/VscodeTextDocument.ts
rename to packages/app-vscode/src/ide/vscode/VscodeTextDocument.ts
index 8fcf667620..baa9809c5a 100644
--- a/packages/cursorless-vscode/src/ide/vscode/VscodeTextDocument.ts
+++ b/packages/app-vscode/src/ide/vscode/VscodeTextDocument.ts
@@ -3,14 +3,14 @@ import type {
Position,
TextDocument,
TextLine,
-} from "@cursorless/common";
-import { Range } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { Range } from "@cursorless/lib-common";
import {
fromVscodeEndOfLine,
fromVscodePosition,
toVscodePosition,
toVscodeRange,
-} from "@cursorless/vscode-common";
+} from "@cursorless/lib-vscode-common";
import * as path from "node:path";
import type * as vscode from "vscode";
import type { URI } from "vscode-uri";
diff --git a/packages/cursorless-vscode/src/ide/vscode/VscodeTextEditor.ts b/packages/app-vscode/src/ide/vscode/VscodeTextEditor.ts
similarity index 98%
rename from packages/cursorless-vscode/src/ide/vscode/VscodeTextEditor.ts
rename to packages/app-vscode/src/ide/vscode/VscodeTextEditor.ts
index e98f5bf82e..74f591c9f9 100644
--- a/packages/cursorless-vscode/src/ide/vscode/VscodeTextEditor.ts
+++ b/packages/app-vscode/src/ide/vscode/VscodeTextEditor.ts
@@ -10,14 +10,14 @@ import type {
TextDocument,
TextEditor,
TextEditorOptions,
-} from "@cursorless/common";
-import { sleep, uniqWithHash } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { sleep, uniqWithHash } from "@cursorless/lib-common";
import {
fromVscodeRange,
fromVscodeSelection,
toVscodeRange,
toVscodeSelection,
-} from "@cursorless/vscode-common";
+} from "@cursorless/lib-vscode-common";
import * as vscode from "vscode";
import vscodeEdit from "./VscodeEdit";
import vscodeFocusEditor from "./VscodeFocusEditor";
diff --git a/packages/cursorless-vscode/src/ide/vscode/VscodeTextLine.ts b/packages/app-vscode/src/ide/vscode/VscodeTextLine.ts
similarity index 82%
rename from packages/cursorless-vscode/src/ide/vscode/VscodeTextLine.ts
rename to packages/app-vscode/src/ide/vscode/VscodeTextLine.ts
index aa5a0976de..8a9eba4f92 100644
--- a/packages/cursorless-vscode/src/ide/vscode/VscodeTextLine.ts
+++ b/packages/app-vscode/src/ide/vscode/VscodeTextLine.ts
@@ -1,6 +1,6 @@
-import type { TextLine } from "@cursorless/common";
-import { Position, Range } from "@cursorless/common";
-import { fromVscodeRange } from "@cursorless/vscode-common";
+import type { TextLine } from "@cursorless/lib-common";
+import { Position, Range } from "@cursorless/lib-common";
+import { fromVscodeRange } from "@cursorless/lib-vscode-common";
import type * as vscode from "vscode";
export default class VscodeTextLine implements TextLine {
diff --git a/packages/cursorless-vscode/src/ide/vscode/VscodeToggleBreakpoint.ts b/packages/app-vscode/src/ide/vscode/VscodeToggleBreakpoint.ts
similarity index 93%
rename from packages/cursorless-vscode/src/ide/vscode/VscodeToggleBreakpoint.ts
rename to packages/app-vscode/src/ide/vscode/VscodeToggleBreakpoint.ts
index dd2335e091..c2059e1377 100644
--- a/packages/cursorless-vscode/src/ide/vscode/VscodeToggleBreakpoint.ts
+++ b/packages/app-vscode/src/ide/vscode/VscodeToggleBreakpoint.ts
@@ -1,5 +1,5 @@
-import type { GeneralizedRange, Position } from "@cursorless/common";
-import { toVscodePosition } from "@cursorless/vscode-common";
+import type { GeneralizedRange, Position } from "@cursorless/lib-common";
+import { toVscodePosition } from "@cursorless/lib-vscode-common";
import * as vscode from "vscode";
import type { VscodeTextEditor } from "./VscodeTextEditor";
diff --git a/packages/cursorless-vscode/src/ide/vscode/hatStyles.types.ts b/packages/app-vscode/src/ide/vscode/hatStyles.types.ts
similarity index 100%
rename from packages/cursorless-vscode/src/ide/vscode/hatStyles.types.ts
rename to packages/app-vscode/src/ide/vscode/hatStyles.types.ts
diff --git a/packages/cursorless-vscode/src/ide/vscode/hats/FakeFontMeasurements.ts b/packages/app-vscode/src/ide/vscode/hats/FakeFontMeasurements.ts
similarity index 100%
rename from packages/cursorless-vscode/src/ide/vscode/hats/FakeFontMeasurements.ts
rename to packages/app-vscode/src/ide/vscode/hats/FakeFontMeasurements.ts
diff --git a/packages/cursorless-vscode/src/ide/vscode/hats/FontMeasurements.ts b/packages/app-vscode/src/ide/vscode/hats/FontMeasurements.ts
similarity index 100%
rename from packages/cursorless-vscode/src/ide/vscode/hats/FontMeasurements.ts
rename to packages/app-vscode/src/ide/vscode/hats/FontMeasurements.ts
diff --git a/packages/cursorless-vscode/src/ide/vscode/hats/FontMeasurementsImpl.ts b/packages/app-vscode/src/ide/vscode/hats/FontMeasurementsImpl.ts
similarity index 100%
rename from packages/cursorless-vscode/src/ide/vscode/hats/FontMeasurementsImpl.ts
rename to packages/app-vscode/src/ide/vscode/hats/FontMeasurementsImpl.ts
diff --git a/packages/cursorless-vscode/src/ide/vscode/hats/VscodeHatRenderer.ts b/packages/app-vscode/src/ide/vscode/hats/VscodeHatRenderer.ts
similarity index 98%
rename from packages/cursorless-vscode/src/ide/vscode/hats/VscodeHatRenderer.ts
rename to packages/app-vscode/src/ide/vscode/hats/VscodeHatRenderer.ts
index 6f0229ddce..2dde547a4f 100644
--- a/packages/cursorless-vscode/src/ide/vscode/hats/VscodeHatRenderer.ts
+++ b/packages/app-vscode/src/ide/vscode/hats/VscodeHatRenderer.ts
@@ -2,10 +2,10 @@ import type {
Listener,
Messages,
PathChangeListener,
-} from "@cursorless/common";
-import { Notifier } from "@cursorless/common";
-import { walkFiles } from "@cursorless/node-common";
-import type { VscodeApi } from "@cursorless/vscode-common";
+} from "@cursorless/lib-common";
+import { Notifier } from "@cursorless/lib-common";
+import { walkFiles } from "@cursorless/lib-node-common";
+import type { VscodeApi } from "@cursorless/lib-vscode-common";
import * as fs from "node:fs/promises";
import { cloneDeep, isEqual } from "lodash-es";
import * as path from "node:path";
diff --git a/packages/cursorless-vscode/src/ide/vscode/hats/VscodeHats.ts b/packages/app-vscode/src/ide/vscode/hats/VscodeHats.ts
similarity index 95%
rename from packages/cursorless-vscode/src/ide/vscode/hats/VscodeHats.ts
rename to packages/app-vscode/src/ide/vscode/hats/VscodeHats.ts
index 7c290151b8..2d8ba0ecc9 100644
--- a/packages/cursorless-vscode/src/ide/vscode/hats/VscodeHats.ts
+++ b/packages/app-vscode/src/ide/vscode/hats/VscodeHats.ts
@@ -6,10 +6,10 @@ import type {
Listener,
Range,
TextEditor,
-} from "@cursorless/common";
-import { Notifier } from "@cursorless/common";
-import type { VscodeApi } from "@cursorless/vscode-common";
-import { toVscodeRange } from "@cursorless/vscode-common";
+} from "@cursorless/lib-common";
+import { Notifier } from "@cursorless/lib-common";
+import type { VscodeApi } from "@cursorless/lib-vscode-common";
+import { toVscodeRange } from "@cursorless/lib-vscode-common";
import * as vscode from "vscode";
import type { Disposable } from "vscode";
import type { VscodeHatStyleName } from "../hatStyles.types";
diff --git a/packages/cursorless-vscode/src/ide/vscode/hats/getHatThemeColors.ts b/packages/app-vscode/src/ide/vscode/hats/getHatThemeColors.ts
similarity index 100%
rename from packages/cursorless-vscode/src/ide/vscode/hats/getHatThemeColors.ts
rename to packages/app-vscode/src/ide/vscode/hats/getHatThemeColors.ts
diff --git a/packages/cursorless-vscode/src/ide/vscode/hats/getStyleName.ts b/packages/app-vscode/src/ide/vscode/hats/getStyleName.ts
similarity index 100%
rename from packages/cursorless-vscode/src/ide/vscode/hats/getStyleName.ts
rename to packages/app-vscode/src/ide/vscode/hats/getStyleName.ts
diff --git a/packages/cursorless-vscode/src/ide/vscode/hats/performPr1868ShapeUpdateInit.ts b/packages/app-vscode/src/ide/vscode/hats/performPr1868ShapeUpdateInit.ts
similarity index 95%
rename from packages/cursorless-vscode/src/ide/vscode/hats/performPr1868ShapeUpdateInit.ts
rename to packages/app-vscode/src/ide/vscode/hats/performPr1868ShapeUpdateInit.ts
index 0aab430301..b62f0005f7 100644
--- a/packages/cursorless-vscode/src/ide/vscode/hats/performPr1868ShapeUpdateInit.ts
+++ b/packages/app-vscode/src/ide/vscode/hats/performPr1868ShapeUpdateInit.ts
@@ -1,6 +1,6 @@
-import type { Messages } from "@cursorless/common";
-import { showInfo } from "@cursorless/common";
-import type { VscodeApi } from "@cursorless/vscode-common";
+import type { Messages } from "@cursorless/lib-common";
+import { showInfo } from "@cursorless/lib-common";
+import type { VscodeApi } from "@cursorless/lib-vscode-common";
import * as vscode from "vscode";
import type { ExtendedHatStyleMap } from "../VscodeEnabledHatStyleManager";
import type { IndividualHatAdjustmentMap } from "./shapeAdjustments";
diff --git a/packages/cursorless-vscode/src/ide/vscode/hats/shapeAdjustments.ts b/packages/app-vscode/src/ide/vscode/hats/shapeAdjustments.ts
similarity index 100%
rename from packages/cursorless-vscode/src/ide/vscode/hats/shapeAdjustments.ts
rename to packages/app-vscode/src/ide/vscode/hats/shapeAdjustments.ts
diff --git a/packages/cursorless-vscode/src/ide/vscode/isDiffEditorOriginal.ts b/packages/app-vscode/src/ide/vscode/isDiffEditorOriginal.ts
similarity index 100%
rename from packages/cursorless-vscode/src/ide/vscode/isDiffEditorOriginal.ts
rename to packages/app-vscode/src/ide/vscode/isDiffEditorOriginal.ts
diff --git a/packages/cursorless-vscode/src/ide/vscode/notebook/notebook.ts b/packages/app-vscode/src/ide/vscode/notebook/notebook.ts
similarity index 100%
rename from packages/cursorless-vscode/src/ide/vscode/notebook/notebook.ts
rename to packages/app-vscode/src/ide/vscode/notebook/notebook.ts
diff --git a/packages/cursorless-vscode/src/ide/vscode/textLine.vscode.test.ts b/packages/app-vscode/src/ide/vscode/textLine.vscode.test.ts
similarity index 92%
rename from packages/cursorless-vscode/src/ide/vscode/textLine.vscode.test.ts
rename to packages/app-vscode/src/ide/vscode/textLine.vscode.test.ts
index d1075879a1..fbd11bff0d 100644
--- a/packages/cursorless-vscode/src/ide/vscode/textLine.vscode.test.ts
+++ b/packages/app-vscode/src/ide/vscode/textLine.vscode.test.ts
@@ -1,5 +1,5 @@
import * as assert from "assert";
-import { getReusableEditor } from "@cursorless/vscode-common";
+import { getReusableEditor } from "@cursorless/lib-vscode-common";
import VscodeTextLine from "./VscodeTextLine";
/**
diff --git a/packages/cursorless-vscode/src/ide/vscode/toVscodeEditor.ts b/packages/app-vscode/src/ide/vscode/toVscodeEditor.ts
similarity index 85%
rename from packages/cursorless-vscode/src/ide/vscode/toVscodeEditor.ts
rename to packages/app-vscode/src/ide/vscode/toVscodeEditor.ts
index 144a9fac61..b349ece7c7 100644
--- a/packages/cursorless-vscode/src/ide/vscode/toVscodeEditor.ts
+++ b/packages/app-vscode/src/ide/vscode/toVscodeEditor.ts
@@ -1,4 +1,4 @@
-import type { TextEditor } from "@cursorless/common";
+import type { TextEditor } from "@cursorless/lib-common";
import type * as vscode from "vscode";
import type { VscodeTextEditor } from "./VscodeTextEditor";
diff --git a/packages/cursorless-vscode/src/ide/vscode/vscodeShowQuickPick.ts b/packages/app-vscode/src/ide/vscode/vscodeShowQuickPick.ts
similarity index 96%
rename from packages/cursorless-vscode/src/ide/vscode/vscodeShowQuickPick.ts
rename to packages/app-vscode/src/ide/vscode/vscodeShowQuickPick.ts
index d527a2be76..846fd942e5 100644
--- a/packages/cursorless-vscode/src/ide/vscode/vscodeShowQuickPick.ts
+++ b/packages/app-vscode/src/ide/vscode/vscodeShowQuickPick.ts
@@ -1,4 +1,4 @@
-import type { QuickPickOptions } from "@cursorless/common";
+import type { QuickPickOptions } from "@cursorless/lib-common";
import * as vscode from "vscode";
/**
diff --git a/packages/cursorless-vscode/src/keyboard/KeyboardActionType.ts b/packages/app-vscode/src/keyboard/KeyboardActionType.ts
similarity index 90%
rename from packages/cursorless-vscode/src/keyboard/KeyboardActionType.ts
rename to packages/app-vscode/src/keyboard/KeyboardActionType.ts
index 797106a52f..ffef180441 100644
--- a/packages/cursorless-vscode/src/keyboard/KeyboardActionType.ts
+++ b/packages/app-vscode/src/keyboard/KeyboardActionType.ts
@@ -1,9 +1,9 @@
-import type { ActionType } from "@cursorless/common";
-import { actionNames } from "@cursorless/common";
+import type { ActionType } from "@cursorless/lib-common";
+import { actionNames } from "@cursorless/lib-common";
// This file contains types defining the allowable identifiers for actions in
// user keyboard config settings. It is a modified version of the default action
-// identifiers from @cursorless/common, with the addition of the "wrap" action
+// identifiers from @cursorless/lib-common, with the addition of the "wrap" action
// that is designed to function like the "wrap" spoken form (ie use the same spoken
// form for both snippet and delimiter wrapping).
diff --git a/packages/cursorless-vscode/src/keyboard/KeyboardCommandHandler.ts b/packages/app-vscode/src/keyboard/KeyboardCommandHandler.ts
similarity index 96%
rename from packages/cursorless-vscode/src/keyboard/KeyboardCommandHandler.ts
rename to packages/app-vscode/src/keyboard/KeyboardCommandHandler.ts
index 34f9423d89..d29ca5780a 100644
--- a/packages/cursorless-vscode/src/keyboard/KeyboardCommandHandler.ts
+++ b/packages/app-vscode/src/keyboard/KeyboardCommandHandler.ts
@@ -2,8 +2,8 @@ import type {
Modifier,
PartialMark,
SurroundingPairName,
-} from "@cursorless/common";
-import { surroundingPairsDelimiters } from "@cursorless/cursorless-engine";
+} from "@cursorless/lib-common";
+import { surroundingPairsDelimiters } from "@cursorless/lib-engine";
import { isString } from "lodash-es";
import * as vscode from "vscode";
import type { HatColor, HatShape } from "../ide/vscode/hatStyles.types";
diff --git a/packages/cursorless-vscode/src/keyboard/KeyboardCommandTypeHelpers.ts b/packages/app-vscode/src/keyboard/KeyboardCommandTypeHelpers.ts
similarity index 100%
rename from packages/cursorless-vscode/src/keyboard/KeyboardCommandTypeHelpers.ts
rename to packages/app-vscode/src/keyboard/KeyboardCommandTypeHelpers.ts
diff --git a/packages/cursorless-vscode/src/keyboard/KeyboardCommands.ts b/packages/app-vscode/src/keyboard/KeyboardCommands.ts
similarity index 95%
rename from packages/cursorless-vscode/src/keyboard/KeyboardCommands.ts
rename to packages/app-vscode/src/keyboard/KeyboardCommands.ts
index 5eac4e4e15..80423013b4 100644
--- a/packages/cursorless-vscode/src/keyboard/KeyboardCommands.ts
+++ b/packages/app-vscode/src/keyboard/KeyboardCommands.ts
@@ -3,7 +3,7 @@ import KeyboardCommandsModal from "./KeyboardCommandsModal";
import KeyboardCommandsTargeted from "./KeyboardCommandsTargeted";
import KeyboardHandler from "./KeyboardHandler";
import type { StatusBarItem } from "../StatusBarItem";
-import type { VscodeApi } from "@cursorless/vscode-common";
+import type { VscodeApi } from "@cursorless/lib-vscode-common";
export class KeyboardCommands {
targeted: KeyboardCommandsTargeted;
diff --git a/packages/cursorless-vscode/src/keyboard/KeyboardCommandsModal.ts b/packages/app-vscode/src/keyboard/KeyboardCommandsModal.ts
similarity index 98%
rename from packages/cursorless-vscode/src/keyboard/KeyboardCommandsModal.ts
rename to packages/app-vscode/src/keyboard/KeyboardCommandsModal.ts
index a47ef50083..abfdb2c843 100644
--- a/packages/cursorless-vscode/src/keyboard/KeyboardCommandsModal.ts
+++ b/packages/app-vscode/src/keyboard/KeyboardCommandsModal.ts
@@ -1,5 +1,5 @@
-import { CompositeKeyMap } from "@cursorless/common";
-import type { VscodeApi } from "@cursorless/vscode-common";
+import { CompositeKeyMap } from "@cursorless/lib-common";
+import type { VscodeApi } from "@cursorless/lib-vscode-common";
import { pick, sortedUniq, toPairs } from "lodash-es";
import { Grammar, Parser } from "nearley";
import * as vscode from "vscode";
diff --git a/packages/cursorless-vscode/src/keyboard/KeyboardCommandsModalLayer.ts b/packages/app-vscode/src/keyboard/KeyboardCommandsModalLayer.ts
similarity index 100%
rename from packages/cursorless-vscode/src/keyboard/KeyboardCommandsModalLayer.ts
rename to packages/app-vscode/src/keyboard/KeyboardCommandsModalLayer.ts
diff --git a/packages/cursorless-vscode/src/keyboard/KeyboardCommandsTargeted.ts b/packages/app-vscode/src/keyboard/KeyboardCommandsTargeted.ts
similarity index 98%
rename from packages/cursorless-vscode/src/keyboard/KeyboardCommandsTargeted.ts
rename to packages/app-vscode/src/keyboard/KeyboardCommandsTargeted.ts
index bbc33833e0..053d193010 100644
--- a/packages/cursorless-vscode/src/keyboard/KeyboardCommandsTargeted.ts
+++ b/packages/app-vscode/src/keyboard/KeyboardCommandsTargeted.ts
@@ -5,9 +5,9 @@ import type {
PartialPrimitiveTargetDescriptor,
PartialTargetDescriptor,
ScopeType,
-} from "@cursorless/common";
-import { LATEST_VERSION } from "@cursorless/common";
-import { runCursorlessCommand } from "@cursorless/vscode-common";
+} from "@cursorless/lib-common";
+import { LATEST_VERSION } from "@cursorless/lib-common";
+import { runCursorlessCommand } from "@cursorless/lib-vscode-common";
import * as vscode from "vscode";
import type { HatColor, HatShape } from "../ide/vscode/hatStyles.types";
import { getStyleName } from "../ide/vscode/hats/getStyleName";
diff --git a/packages/cursorless-vscode/src/keyboard/KeyboardConfig.ts b/packages/app-vscode/src/keyboard/KeyboardConfig.ts
similarity index 98%
rename from packages/cursorless-vscode/src/keyboard/KeyboardConfig.ts
rename to packages/app-vscode/src/keyboard/KeyboardConfig.ts
index 6e5fba3908..29ccf05022 100644
--- a/packages/cursorless-vscode/src/keyboard/KeyboardConfig.ts
+++ b/packages/app-vscode/src/keyboard/KeyboardConfig.ts
@@ -1,7 +1,7 @@
import { mapValues, pickBy } from "lodash-es";
import type { KeyMap, SectionName, TokenType } from "./TokenTypeHelpers";
import type { SectionTypes, TokenTypeValueMap } from "./TokenTypes";
-import type { VscodeApi } from "@cursorless/vscode-common";
+import type { VscodeApi } from "@cursorless/lib-vscode-common";
import { TextEditorCursorStyle } from "vscode";
const LEGACY_PLURAL_SECTION_NAMES: Record = {
diff --git a/packages/cursorless-vscode/src/keyboard/KeyboardHandler.ts b/packages/app-vscode/src/keyboard/KeyboardHandler.ts
similarity index 100%
rename from packages/cursorless-vscode/src/keyboard/KeyboardHandler.ts
rename to packages/app-vscode/src/keyboard/KeyboardHandler.ts
diff --git a/packages/cursorless-vscode/src/keyboard/TokenTypeHelpers.ts b/packages/app-vscode/src/keyboard/TokenTypeHelpers.ts
similarity index 100%
rename from packages/cursorless-vscode/src/keyboard/TokenTypeHelpers.ts
rename to packages/app-vscode/src/keyboard/TokenTypeHelpers.ts
diff --git a/packages/cursorless-vscode/src/keyboard/TokenTypes.ts b/packages/app-vscode/src/keyboard/TokenTypes.ts
similarity index 98%
rename from packages/cursorless-vscode/src/keyboard/TokenTypes.ts
rename to packages/app-vscode/src/keyboard/TokenTypes.ts
index e6aedd618f..31a7c05a8c 100644
--- a/packages/cursorless-vscode/src/keyboard/TokenTypes.ts
+++ b/packages/app-vscode/src/keyboard/TokenTypes.ts
@@ -1,7 +1,7 @@
import type {
SimpleScopeTypeType,
SurroundingPairName,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type { HatColor, HatShape } from "../ide/vscode/hatStyles.types";
import type {
PolymorphicKeyboardActionDescriptor,
diff --git a/packages/cursorless-vscode/src/keyboard/buildSuffixTrie.test.ts b/packages/app-vscode/src/keyboard/buildSuffixTrie.test.ts
similarity index 100%
rename from packages/cursorless-vscode/src/keyboard/buildSuffixTrie.test.ts
rename to packages/app-vscode/src/keyboard/buildSuffixTrie.test.ts
diff --git a/packages/cursorless-vscode/src/keyboard/buildSuffixTrie.ts b/packages/app-vscode/src/keyboard/buildSuffixTrie.ts
similarity index 100%
rename from packages/cursorless-vscode/src/keyboard/buildSuffixTrie.ts
rename to packages/app-vscode/src/keyboard/buildSuffixTrie.ts
diff --git a/packages/cursorless-vscode/src/keyboard/getTokenTypeKeyMaps.ts b/packages/app-vscode/src/keyboard/getTokenTypeKeyMaps.ts
similarity index 100%
rename from packages/cursorless-vscode/src/keyboard/getTokenTypeKeyMaps.ts
rename to packages/app-vscode/src/keyboard/getTokenTypeKeyMaps.ts
diff --git a/packages/cursorless-vscode/src/keyboard/grammar/CommandRulePostProcessor.ts b/packages/app-vscode/src/keyboard/grammar/CommandRulePostProcessor.ts
similarity index 100%
rename from packages/cursorless-vscode/src/keyboard/grammar/CommandRulePostProcessor.ts
rename to packages/app-vscode/src/keyboard/grammar/CommandRulePostProcessor.ts
diff --git a/packages/cursorless-vscode/src/keyboard/grammar/command.ts b/packages/app-vscode/src/keyboard/grammar/command.ts
similarity index 94%
rename from packages/cursorless-vscode/src/keyboard/grammar/command.ts
rename to packages/app-vscode/src/keyboard/grammar/command.ts
index 475f1e9b10..0e355d4d5c 100644
--- a/packages/cursorless-vscode/src/keyboard/grammar/command.ts
+++ b/packages/app-vscode/src/keyboard/grammar/command.ts
@@ -1,10 +1,7 @@
import type { KeyboardCommandArgTypes } from "../KeyboardCommandTypeHelpers";
import type { CommandRulePostProcessor } from "./CommandRulePostProcessor";
-import type { ArgExtractor, Unused } from "@cursorless/cursorless-engine";
-import {
- getArgExtractors,
- constructPayload,
-} from "@cursorless/cursorless-engine";
+import type { ArgExtractor, Unused } from "@cursorless/lib-engine";
+import { getArgExtractors, constructPayload } from "@cursorless/lib-engine";
/**
* Creates a postprocess function for a top-level rule of our grammar. This is a
diff --git a/packages/cursorless-vscode/src/keyboard/grammar/generated/grammar.ts b/packages/app-vscode/src/keyboard/grammar/generated/grammar.ts
similarity index 98%
rename from packages/cursorless-vscode/src/keyboard/grammar/generated/grammar.ts
rename to packages/app-vscode/src/keyboard/grammar/generated/grammar.ts
index 29cd4ff655..19cd2a77e3 100644
--- a/packages/cursorless-vscode/src/keyboard/grammar/generated/grammar.ts
+++ b/packages/app-vscode/src/keyboard/grammar/generated/grammar.ts
@@ -20,10 +20,10 @@ declare var combineColorAndShape: any;
declare var direction: any;
declare var digit: any;
-import { capture, UNUSED as _, argPositions } from "@cursorless/cursorless-engine"
+import { capture, UNUSED as _, argPositions } from "@cursorless/lib-engine"
import { command } from "../command"
import { keyboardLexer } from "../keyboardLexer";
-import { RelativeScopeModifier } from "@cursorless/common";
+import { RelativeScopeModifier } from "@cursorless/lib-common";
const { $0, $1, $2 } = argPositions;
diff --git a/packages/cursorless-vscode/src/keyboard/grammar/getAcceptableTokenTypes.test.ts b/packages/app-vscode/src/keyboard/grammar/getAcceptableTokenTypes.test.ts
similarity index 100%
rename from packages/cursorless-vscode/src/keyboard/grammar/getAcceptableTokenTypes.test.ts
rename to packages/app-vscode/src/keyboard/grammar/getAcceptableTokenTypes.test.ts
diff --git a/packages/cursorless-vscode/src/keyboard/grammar/getAcceptableTokenTypes.ts b/packages/app-vscode/src/keyboard/grammar/getAcceptableTokenTypes.ts
similarity index 98%
rename from packages/cursorless-vscode/src/keyboard/grammar/getAcceptableTokenTypes.ts
rename to packages/app-vscode/src/keyboard/grammar/getAcceptableTokenTypes.ts
index 56e4380db5..f878492aab 100644
--- a/packages/cursorless-vscode/src/keyboard/grammar/getAcceptableTokenTypes.ts
+++ b/packages/app-vscode/src/keyboard/grammar/getAcceptableTokenTypes.ts
@@ -2,7 +2,7 @@ import type { State } from "nearley";
import type nearley from "nearley";
import { isEqual, times } from "lodash-es";
import type { CommandRulePostProcessor } from "./CommandRulePostProcessor";
-import { DefaultMap, uniqWithHash } from "@cursorless/common";
+import { DefaultMap, uniqWithHash } from "@cursorless/lib-common";
import type { KeyboardCommandHandler } from "../KeyboardCommandHandler";
import type { TokenType } from "../TokenTypeHelpers";
diff --git a/packages/cursorless-vscode/src/keyboard/grammar/grammar.ne b/packages/app-vscode/src/keyboard/grammar/grammar.ne
similarity index 97%
rename from packages/cursorless-vscode/src/keyboard/grammar/grammar.ne
rename to packages/app-vscode/src/keyboard/grammar/grammar.ne
index b82f98b72f..757fb93fe1 100644
--- a/packages/cursorless-vscode/src/keyboard/grammar/grammar.ne
+++ b/packages/app-vscode/src/keyboard/grammar/grammar.ne
@@ -1,9 +1,9 @@
@preprocessor typescript
@{%
-import { capture, UNUSED as _, argPositions } from "@cursorless/cursorless-engine"
+import { capture, UNUSED as _, argPositions } from "@cursorless/lib-engine"
import { command } from "../command"
import { keyboardLexer } from "../keyboardLexer";
-import { RelativeScopeModifier } from "@cursorless/common";
+import { RelativeScopeModifier } from "@cursorless/lib-common";
const { $0, $1, $2 } = argPositions;
%}
diff --git a/packages/cursorless-vscode/src/keyboard/grammar/grammar.test.ts b/packages/app-vscode/src/keyboard/grammar/grammar.test.ts
similarity index 100%
rename from packages/cursorless-vscode/src/keyboard/grammar/grammar.test.ts
rename to packages/app-vscode/src/keyboard/grammar/grammar.test.ts
diff --git a/packages/cursorless-vscode/src/keyboard/grammar/keyboardLexer.ts b/packages/app-vscode/src/keyboard/grammar/keyboardLexer.ts
similarity index 100%
rename from packages/cursorless-vscode/src/keyboard/grammar/keyboardLexer.ts
rename to packages/app-vscode/src/keyboard/grammar/keyboardLexer.ts
diff --git a/packages/cursorless-vscode/src/keyboard/grammar/stringifyTokens.ts b/packages/app-vscode/src/keyboard/grammar/stringifyTokens.ts
similarity index 100%
rename from packages/cursorless-vscode/src/keyboard/grammar/stringifyTokens.ts
rename to packages/app-vscode/src/keyboard/grammar/stringifyTokens.ts
diff --git a/packages/cursorless-vscode/src/keyboard/keyboard-config.fixture.json b/packages/app-vscode/src/keyboard/keyboard-config.fixture.json
similarity index 100%
rename from packages/cursorless-vscode/src/keyboard/keyboard-config.fixture.json
rename to packages/app-vscode/src/keyboard/keyboard-config.fixture.json
diff --git a/packages/cursorless-vscode/src/logQuickActions.ts b/packages/app-vscode/src/logQuickActions.ts
similarity index 100%
rename from packages/cursorless-vscode/src/logQuickActions.ts
rename to packages/app-vscode/src/logQuickActions.ts
diff --git a/packages/cursorless-vscode/src/registerCommands.ts b/packages/app-vscode/src/registerCommands.ts
similarity index 93%
rename from packages/cursorless-vscode/src/registerCommands.ts
rename to packages/app-vscode/src/registerCommands.ts
index a1047f8013..e4436e0de2 100644
--- a/packages/cursorless-vscode/src/registerCommands.ts
+++ b/packages/app-vscode/src/registerCommands.ts
@@ -2,18 +2,15 @@ import type {
CommandHistoryStorage,
CursorlessCommandId,
ScopeType,
-} from "@cursorless/common";
-import { CURSORLESS_COMMAND_ID } from "@cursorless/common";
-import type {
- CommandApi,
- StoredTargetMap,
-} from "@cursorless/cursorless-engine";
-import { analyzeCommandHistory } from "@cursorless/cursorless-engine";
-import { showCheatsheet, updateDefaults } from "@cursorless/node-common";
+} from "@cursorless/lib-common";
+import { CURSORLESS_COMMAND_ID } from "@cursorless/lib-common";
+import type { CommandApi, StoredTargetMap } from "@cursorless/lib-engine";
+import { analyzeCommandHistory } from "@cursorless/lib-engine";
+import { showCheatsheet, updateDefaults } from "@cursorless/lib-node-common";
import type {
ScopeTestRecorder,
TestCaseRecorder,
-} from "@cursorless/test-case-recorder";
+} from "@cursorless/lib-test-case-recorder";
import * as vscode from "vscode";
import type { InstallationDependencies } from "./InstallationDependencies";
import type {
diff --git a/packages/cursorless-vscode/src/revisualizeOnCustomRegexChange.ts b/packages/app-vscode/src/revisualizeOnCustomRegexChange.ts
similarity index 95%
rename from packages/cursorless-vscode/src/revisualizeOnCustomRegexChange.ts
rename to packages/app-vscode/src/revisualizeOnCustomRegexChange.ts
index bf1fc6588f..3c5eeba746 100644
--- a/packages/cursorless-vscode/src/revisualizeOnCustomRegexChange.ts
+++ b/packages/app-vscode/src/revisualizeOnCustomRegexChange.ts
@@ -2,8 +2,8 @@ import type {
Disposable,
ScopeProvider,
ScopeTypeInfo,
-} from "@cursorless/common";
-import { disposableFrom } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { disposableFrom } from "@cursorless/lib-common";
import { isEqual } from "lodash-es";
import type {
ScopeVisualizer,
diff --git a/packages/cursorless-vscode/src/scripts/hatAdjustments/add.ts b/packages/app-vscode/src/scripts/hatAdjustments/add.ts
similarity index 100%
rename from packages/cursorless-vscode/src/scripts/hatAdjustments/add.ts
rename to packages/app-vscode/src/scripts/hatAdjustments/add.ts
diff --git a/packages/cursorless-vscode/src/scripts/hatAdjustments/average.ts b/packages/app-vscode/src/scripts/hatAdjustments/average.ts
similarity index 100%
rename from packages/cursorless-vscode/src/scripts/hatAdjustments/average.ts
rename to packages/app-vscode/src/scripts/hatAdjustments/average.ts
diff --git a/packages/cursorless-vscode/src/scripts/hatAdjustments/lib.ts b/packages/app-vscode/src/scripts/hatAdjustments/lib.ts
similarity index 100%
rename from packages/cursorless-vscode/src/scripts/hatAdjustments/lib.ts
rename to packages/app-vscode/src/scripts/hatAdjustments/lib.ts
diff --git a/packages/cursorless-vscode/src/scripts/initLaunchSandbox.ts b/packages/app-vscode/src/scripts/initLaunchSandbox.ts
similarity index 97%
rename from packages/cursorless-vscode/src/scripts/initLaunchSandbox.ts
rename to packages/app-vscode/src/scripts/initLaunchSandbox.ts
index 3566d80069..d1a99eb842 100644
--- a/packages/cursorless-vscode/src/scripts/initLaunchSandbox.ts
+++ b/packages/app-vscode/src/scripts/initLaunchSandbox.ts
@@ -3,7 +3,7 @@
* allowing you to have a separate set of extensions and settings for use when
* developing the Cursorless VSCode extension locally.
*/
-import { extensionDependencies } from "@cursorless/common";
+import { extensionDependencies } from "@cursorless/lib-common";
import * as cp from "child_process";
const vsCodeToolName: string = "code";
diff --git a/packages/cursorless-vscode/src/scripts/populateDist/Asset.ts b/packages/app-vscode/src/scripts/populateDist/Asset.ts
similarity index 100%
rename from packages/cursorless-vscode/src/scripts/populateDist/Asset.ts
rename to packages/app-vscode/src/scripts/populateDist/Asset.ts
diff --git a/packages/cursorless-vscode/src/scripts/populateDist/assets.ts b/packages/app-vscode/src/scripts/populateDist/assets.ts
similarity index 91%
rename from packages/cursorless-vscode/src/scripts/populateDist/assets.ts
rename to packages/app-vscode/src/scripts/populateDist/assets.ts
index 5cea6271a6..4f64935a62 100644
--- a/packages/cursorless-vscode/src/scripts/populateDist/assets.ts
+++ b/packages/app-vscode/src/scripts/populateDist/assets.ts
@@ -8,7 +8,7 @@ export const assets: Asset[] = [
{ source: "../../NOTICE.md", destination: "NOTICE.md" },
{ source: "../../README.md", destination: "README.md" },
{
- source: "../cheatsheet-local/out/index.html",
+ source: "../lib-cheatsheet-local/out/index.html",
destination: "cheatsheet.html",
// We allow this to be optional in dev mode because it is expensive to
// build, and is only used when they say "cursorless cheatsheet".
@@ -28,11 +28,11 @@ export const assets: Asset[] = [
destination: "tutorial",
},
{
- source: "../cursorless-vscode-tutorial-webview/out/index.js",
+ source: "../lib-vscode-tutorial-webview/out/index.js",
destination: "media/tutorialWebview.js",
},
{
- source: "../cursorless-vscode-tutorial-webview/out/index.css",
+ source: "../lib-vscode-tutorial-webview/out/index.css",
destination: "media/tutorialWebview.css",
},
{ source: "./images/logo.png", destination: "images/logo.png" },
diff --git a/packages/cursorless-vscode/src/scripts/populateDist/context.ts b/packages/app-vscode/src/scripts/populateDist/context.ts
similarity index 100%
rename from packages/cursorless-vscode/src/scripts/populateDist/context.ts
rename to packages/app-vscode/src/scripts/populateDist/context.ts
diff --git a/packages/cursorless-vscode/src/scripts/populateDist/generateBuildInfo.ts b/packages/app-vscode/src/scripts/populateDist/generateBuildInfo.ts
similarity index 92%
rename from packages/cursorless-vscode/src/scripts/populateDist/generateBuildInfo.ts
rename to packages/app-vscode/src/scripts/populateDist/generateBuildInfo.ts
index d512501557..cfda13df8d 100644
--- a/packages/cursorless-vscode/src/scripts/populateDist/generateBuildInfo.ts
+++ b/packages/app-vscode/src/scripts/populateDist/generateBuildInfo.ts
@@ -1,4 +1,4 @@
-import { getEnvironmentVariableStrict } from "@cursorless/common";
+import { getEnvironmentVariableStrict } from "@cursorless/lib-common";
import { runCommand } from "./runCommand";
import type { Context } from "./context";
diff --git a/packages/cursorless-vscode/src/scripts/populateDist/index.ts b/packages/app-vscode/src/scripts/populateDist/index.ts
similarity index 100%
rename from packages/cursorless-vscode/src/scripts/populateDist/index.ts
rename to packages/app-vscode/src/scripts/populateDist/index.ts
diff --git a/packages/cursorless-vscode/src/scripts/populateDist/populateDist.ts b/packages/app-vscode/src/scripts/populateDist/populateDist.ts
similarity index 100%
rename from packages/cursorless-vscode/src/scripts/populateDist/populateDist.ts
rename to packages/app-vscode/src/scripts/populateDist/populateDist.ts
diff --git a/packages/cursorless-vscode/src/scripts/populateDist/runCommand.ts b/packages/app-vscode/src/scripts/populateDist/runCommand.ts
similarity index 100%
rename from packages/cursorless-vscode/src/scripts/populateDist/runCommand.ts
rename to packages/app-vscode/src/scripts/populateDist/runCommand.ts
diff --git a/packages/cursorless-vscode/src/scripts/populateDist/transformPackageJson.ts b/packages/app-vscode/src/scripts/populateDist/transformPackageJson.ts
similarity index 100%
rename from packages/cursorless-vscode/src/scripts/populateDist/transformPackageJson.ts
rename to packages/app-vscode/src/scripts/populateDist/transformPackageJson.ts
diff --git a/packages/cursorless-vscode/src/scripts/preprocessSvgHats.ts b/packages/app-vscode/src/scripts/preprocessSvgHats.ts
similarity index 94%
rename from packages/cursorless-vscode/src/scripts/preprocessSvgHats.ts
rename to packages/app-vscode/src/scripts/preprocessSvgHats.ts
index d924a5704a..1b2cd10e94 100644
--- a/packages/cursorless-vscode/src/scripts/preprocessSvgHats.ts
+++ b/packages/app-vscode/src/scripts/preprocessSvgHats.ts
@@ -1,4 +1,4 @@
-import { getCursorlessRepoRoot } from "@cursorless/node-common";
+import { getCursorlessRepoRoot } from "@cursorless/lib-node-common";
import * as parser from "fast-xml-parser";
import { promises as fsp, readdirSync } from "node:fs";
import * as path from "node:path";
diff --git a/packages/cursorless-vscode/src/storedTargetHighlighter.ts b/packages/app-vscode/src/storedTargetHighlighter.ts
similarity index 90%
rename from packages/cursorless-vscode/src/storedTargetHighlighter.ts
rename to packages/app-vscode/src/storedTargetHighlighter.ts
index cb2e327e8d..787db5f7cd 100644
--- a/packages/cursorless-vscode/src/storedTargetHighlighter.ts
+++ b/packages/app-vscode/src/storedTargetHighlighter.ts
@@ -1,10 +1,10 @@
-import type { StoredTargetKey } from "@cursorless/common";
-import { groupBy, toCharacterRange } from "@cursorless/common";
-import type { StoredTargetMap } from "@cursorless/cursorless-engine";
+import type { StoredTargetKey } from "@cursorless/lib-common";
+import { groupBy, toCharacterRange } from "@cursorless/lib-common";
+import type { StoredTargetMap } from "@cursorless/lib-engine";
import type {
ScopeRangeType,
ScopeVisualizerColorConfig,
-} from "@cursorless/vscode-common";
+} from "@cursorless/lib-vscode-common";
import type { VscodeIDE } from "./ide/vscode/VscodeIDE";
import { VscodeFancyRangeHighlighter } from "./ide/vscode/VSCodeScopeVisualizer/VscodeFancyRangeHighlighter";
import { getColorsFromConfig } from "./ide/vscode/VSCodeScopeVisualizer/getColorsFromConfig";
diff --git a/packages/cursorless-vscode/src/usingSetting.ts b/packages/app-vscode/src/usingSetting.ts
similarity index 95%
rename from packages/cursorless-vscode/src/usingSetting.ts
rename to packages/app-vscode/src/usingSetting.ts
index 6816c3216d..ffb4fd3203 100644
--- a/packages/cursorless-vscode/src/usingSetting.ts
+++ b/packages/app-vscode/src/usingSetting.ts
@@ -1,5 +1,5 @@
import { vscodeApi } from "./vscodeApi";
-import type { Disposable } from "@cursorless/common";
+import type { Disposable } from "@cursorless/lib-common";
/**
* Watches for changes to a setting and calls a factory function whenever the
diff --git a/packages/cursorless-vscode/src/vscodeApi.ts b/packages/app-vscode/src/vscodeApi.ts
similarity index 90%
rename from packages/cursorless-vscode/src/vscodeApi.ts
rename to packages/app-vscode/src/vscodeApi.ts
index 96a8abfbe4..17163dfa77 100644
--- a/packages/cursorless-vscode/src/vscodeApi.ts
+++ b/packages/app-vscode/src/vscodeApi.ts
@@ -1,4 +1,4 @@
-import type { VscodeApi } from "@cursorless/vscode-common";
+import type { VscodeApi } from "@cursorless/lib-vscode-common";
import { commands, env, window, workspace } from "vscode";
/**
diff --git a/packages/cursorless-everywhere-talon-core/tsconfig.json b/packages/app-vscode/tsconfig.json
similarity index 100%
rename from packages/cursorless-everywhere-talon-core/tsconfig.json
rename to packages/app-vscode/tsconfig.json
diff --git a/packages/cursorless-org-docs/README.md b/packages/app-web-docs/README.md
similarity index 92%
rename from packages/cursorless-org-docs/README.md
rename to packages/app-web-docs/README.md
index 48ab4531d7..3a1c61713c 100644
--- a/packages/cursorless-org-docs/README.md
+++ b/packages/app-web-docs/README.md
@@ -1,6 +1,6 @@
# cursorless.org docs site
-This is the source code for the [cursorless.org/docs](https://cursorless.org/docs) portion of the Cursorless website. Note that it is built independently from the rest of the site (which uses Next.js, and can be found in the [`cursorless-org`](../cursorless-org) directory).
+This is the source code for the [cursorless.org/docs](https://cursorless.org/docs) portion of the Cursorless website. Note that it is built independently from the rest of the site (which uses Next.js, and can be found in the [`app-web`](../app-web) directory).
This website is built using [Docusaurus 2](https://docusaurus.io/), a modern static website generator.
diff --git a/packages/cursorless-org-docs/config/algolia/README.md b/packages/app-web-docs/config/algolia/README.md
similarity index 100%
rename from packages/cursorless-org-docs/config/algolia/README.md
rename to packages/app-web-docs/config/algolia/README.md
diff --git a/packages/cursorless-org-docs/config/algolia/crawler-settings.js b/packages/app-web-docs/config/algolia/crawler-settings.js
similarity index 100%
rename from packages/cursorless-org-docs/config/algolia/crawler-settings.js
rename to packages/app-web-docs/config/algolia/crawler-settings.js
diff --git a/packages/cursorless-org-docs/config/algolia/index-settings.json b/packages/app-web-docs/config/algolia/index-settings.json
similarity index 100%
rename from packages/cursorless-org-docs/config/algolia/index-settings.json
rename to packages/app-web-docs/config/algolia/index-settings.json
diff --git a/packages/cursorless-org-docs/docusaurus.config.mts b/packages/app-web-docs/docusaurus.config.mts
similarity index 98%
rename from packages/cursorless-org-docs/docusaurus.config.mts
rename to packages/app-web-docs/docusaurus.config.mts
index cd867c661b..e27c15693f 100644
--- a/packages/cursorless-org-docs/docusaurus.config.mts
+++ b/packages/app-web-docs/docusaurus.config.mts
@@ -9,7 +9,7 @@ import { visit } from "unist-util-visit";
const require = createRequire(import.meta.url);
-const docsRelative = "packages/cursorless-org-docs/src/docs/";
+const docsRelative = "packages/app-web-docs/src/docs/";
const userRelative = docsRelative + "user";
const contributingRelative = docsRelative + "contributing";
const repoLink = "https://github.com/cursorless-dev/cursorless/tree/main/";
@@ -147,7 +147,7 @@ const config: Config = {
// to serve a markdown document on homepage
routeBasePath: "/",
editUrl:
- "https://github.com/cursorless-dev/cursorless/edit/main/packages/cursorless-org-docs/",
+ "https://github.com/cursorless-dev/cursorless/edit/main/packages/app-web-docs/",
sidebarPath: require.resolve("./sidebar.js"),
beforeDefaultRemarkPlugins: [
remarkPluginFixLinksToRepositoryArtifacts,
diff --git a/packages/cursorless-org-docs/package.json b/packages/app-web-docs/package.json
similarity index 91%
rename from packages/cursorless-org-docs/package.json
rename to packages/app-web-docs/package.json
index 88b46c0270..19b675489b 100644
--- a/packages/cursorless-org-docs/package.json
+++ b/packages/app-web-docs/package.json
@@ -1,5 +1,5 @@
{
- "name": "@cursorless/cursorless-org-docs",
+ "name": "@cursorless/app-web-docs",
"version": "0.0.0",
"description": "Cursorless documentation website",
"license": "MIT",
@@ -24,7 +24,7 @@
},
"dependencies": {
"@algolia/client-search": "^5.49.2",
- "@cursorless/common": "workspace:*",
+ "@cursorless/lib-common": "workspace:*",
"@docsearch/react": "^4.6.0",
"@docusaurus/core": "^3.9.2",
"@docusaurus/faster": "^3.9.2",
@@ -44,7 +44,7 @@
"unist-util-visit": "^5.1.0"
},
"devDependencies": {
- "@cursorless/node-common": "workspace:*",
+ "@cursorless/lib-node-common": "workspace:*",
"@docusaurus/module-type-aliases": "^3.9.2",
"@docusaurus/types": "^3.9.2",
"@tsconfig/docusaurus": "^2.0.9",
diff --git a/packages/cursorless-org-docs/sidebar.js b/packages/app-web-docs/sidebar.js
similarity index 100%
rename from packages/cursorless-org-docs/sidebar.js
rename to packages/app-web-docs/sidebar.js
diff --git a/packages/cursorless-org-docs/src/css/custom.scss b/packages/app-web-docs/src/css/custom.scss
similarity index 100%
rename from packages/cursorless-org-docs/src/css/custom.scss
rename to packages/app-web-docs/src/css/custom.scss
diff --git a/packages/cursorless-org-docs/src/css/github-link.scss b/packages/app-web-docs/src/css/github-link.scss
similarity index 100%
rename from packages/cursorless-org-docs/src/css/github-link.scss
rename to packages/app-web-docs/src/css/github-link.scss
diff --git a/packages/cursorless-org-docs/src/docs/components/Code.css b/packages/app-web-docs/src/docs/components/Code.css
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/components/Code.css
rename to packages/app-web-docs/src/docs/components/Code.css
diff --git a/packages/cursorless-org-docs/src/docs/components/Code.tsx b/packages/app-web-docs/src/docs/components/Code.tsx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/components/Code.tsx
rename to packages/app-web-docs/src/docs/components/Code.tsx
diff --git a/packages/cursorless-org-docs/src/docs/components/DynamicTOC.tsx b/packages/app-web-docs/src/docs/components/DynamicTOC.tsx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/components/DynamicTOC.tsx
rename to packages/app-web-docs/src/docs/components/DynamicTOC.tsx
diff --git a/packages/cursorless-org-docs/src/docs/components/Header.css b/packages/app-web-docs/src/docs/components/Header.css
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/components/Header.css
rename to packages/app-web-docs/src/docs/components/Header.css
diff --git a/packages/cursorless-org-docs/src/docs/components/Header.tsx b/packages/app-web-docs/src/docs/components/Header.tsx
similarity index 94%
rename from packages/cursorless-org-docs/src/docs/components/Header.tsx
rename to packages/app-web-docs/src/docs/components/Header.tsx
index e6942839d1..e38d0454b4 100644
--- a/packages/cursorless-org-docs/src/docs/components/Header.tsx
+++ b/packages/app-web-docs/src/docs/components/Header.tsx
@@ -1,4 +1,4 @@
-import { uriEncodeHashId } from "@cursorless/common";
+import { uriEncodeHashId } from "@cursorless/lib-common";
import React from "react";
import "./Header.css";
diff --git a/packages/cursorless-org-docs/src/docs/components/ScopeSupport.css b/packages/app-web-docs/src/docs/components/ScopeSupport.css
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/components/ScopeSupport.css
rename to packages/app-web-docs/src/docs/components/ScopeSupport.css
diff --git a/packages/cursorless-org-docs/src/docs/components/ScopeVisualizer.tsx b/packages/app-web-docs/src/docs/components/ScopeVisualizer.tsx
similarity index 98%
rename from packages/cursorless-org-docs/src/docs/components/ScopeVisualizer.tsx
rename to packages/app-web-docs/src/docs/components/ScopeVisualizer.tsx
index 9a62af2f8c..5e64884a54 100644
--- a/packages/cursorless-org-docs/src/docs/components/ScopeVisualizer.tsx
+++ b/packages/app-web-docs/src/docs/components/ScopeVisualizer.tsx
@@ -1,9 +1,12 @@
-import type { ScopeSupportFacetInfo, ScopeTypeType } from "@cursorless/common";
+import type {
+ ScopeSupportFacetInfo,
+ ScopeTypeType,
+} from "@cursorless/lib-common";
import {
prettifyLanguageName,
prettifyScopeType,
serializeScopeType,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { usePluginData } from "@docusaurus/useGlobalData";
import React, { useState } from "react";
import { generateDecorations } from "./calculateHighlights";
diff --git a/packages/cursorless-org-docs/src/docs/components/ScrollToHashId.tsx b/packages/app-web-docs/src/docs/components/ScrollToHashId.tsx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/components/ScrollToHashId.tsx
rename to packages/app-web-docs/src/docs/components/ScrollToHashId.tsx
diff --git a/packages/cursorless-org-docs/src/docs/components/calculateHighlights.ts b/packages/app-web-docs/src/docs/components/calculateHighlights.ts
similarity index 97%
rename from packages/cursorless-org-docs/src/docs/components/calculateHighlights.ts
rename to packages/app-web-docs/src/docs/components/calculateHighlights.ts
index 1df18e3ac3..45f4925a90 100644
--- a/packages/cursorless-org-docs/src/docs/components/calculateHighlights.ts
+++ b/packages/app-web-docs/src/docs/components/calculateHighlights.ts
@@ -1,9 +1,9 @@
-import type { DecorationStyle } from "@cursorless/common";
+import type { DecorationStyle } from "@cursorless/lib-common";
import {
generateDecorationsForCharacterRange,
Range,
useSingleCornerBorderRadius,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type { DecorationItem } from "shiki";
import { flattenHighlights } from "./flattenHighlights";
import { highlightColors } from "./highlightColors";
diff --git a/packages/cursorless-org-docs/src/docs/components/flattenHighlights.test.ts b/packages/app-web-docs/src/docs/components/flattenHighlights.test.ts
similarity index 97%
rename from packages/cursorless-org-docs/src/docs/components/flattenHighlights.test.ts
rename to packages/app-web-docs/src/docs/components/flattenHighlights.test.ts
index b7bbe11d95..0dd7c654ea 100644
--- a/packages/cursorless-org-docs/src/docs/components/flattenHighlights.test.ts
+++ b/packages/app-web-docs/src/docs/components/flattenHighlights.test.ts
@@ -1,4 +1,4 @@
-import { BorderStyle, Range } from "@cursorless/common";
+import { BorderStyle, Range } from "@cursorless/lib-common";
import * as assert from "assert";
import { flattenHighlights } from "./flattenHighlights";
import type { Highlight, Scope } from "./types";
diff --git a/packages/cursorless-org-docs/src/docs/components/flattenHighlights.ts b/packages/app-web-docs/src/docs/components/flattenHighlights.ts
similarity index 95%
rename from packages/cursorless-org-docs/src/docs/components/flattenHighlights.ts
rename to packages/app-web-docs/src/docs/components/flattenHighlights.ts
index 3fa393e470..2961130625 100644
--- a/packages/cursorless-org-docs/src/docs/components/flattenHighlights.ts
+++ b/packages/app-web-docs/src/docs/components/flattenHighlights.ts
@@ -1,5 +1,9 @@
-import type { DecorationStyle, Position } from "@cursorless/common";
-import { blendMultipleColors, BorderStyle, Range } from "@cursorless/common";
+import type { DecorationStyle, Position } from "@cursorless/lib-common";
+import {
+ blendMultipleColors,
+ BorderStyle,
+ Range,
+} from "@cursorless/lib-common";
import type { BorderRadius, Highlight, Style } from "./types";
export function flattenHighlights(highlights: Highlight[]): Highlight[] {
diff --git a/packages/cursorless-org-docs/src/docs/components/highlightColors.ts b/packages/app-web-docs/src/docs/components/highlightColors.ts
similarity index 76%
rename from packages/cursorless-org-docs/src/docs/components/highlightColors.ts
rename to packages/app-web-docs/src/docs/components/highlightColors.ts
index bb7870c79f..a78fa35a9c 100644
--- a/packages/cursorless-org-docs/src/docs/components/highlightColors.ts
+++ b/packages/app-web-docs/src/docs/components/highlightColors.ts
@@ -1,4 +1,4 @@
-/* https://github.com/cursorless-dev/cursorless/blob/a9affbb83a0d81476760c5c4fdd5b67c8162ae25/packages/cursorless-vscode/package.json#L560-L581 */
+/* https://github.com/cursorless-dev/cursorless/blob/a3156f9492ec859fdee0c2ae70842ed147bc51c4/packages/app-vscode/package.json#L575-L596 */
export const highlightColors = {
domain: {
diff --git a/packages/cursorless-org-docs/src/docs/components/highlightsToDecorations.ts b/packages/app-web-docs/src/docs/components/highlightsToDecorations.ts
similarity index 97%
rename from packages/cursorless-org-docs/src/docs/components/highlightsToDecorations.ts
rename to packages/app-web-docs/src/docs/components/highlightsToDecorations.ts
index 9e3f2eb9d2..81305d6be9 100644
--- a/packages/cursorless-org-docs/src/docs/components/highlightsToDecorations.ts
+++ b/packages/app-web-docs/src/docs/components/highlightsToDecorations.ts
@@ -3,7 +3,7 @@ import {
BORDER_WIDTH,
getBorderColor,
getBorderStyle,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type { DecorationItem } from "shiki";
import type { BorderRadius, Highlight, Style } from "./types";
diff --git a/packages/cursorless-org-docs/src/docs/components/types.ts b/packages/app-web-docs/src/docs/components/types.ts
similarity index 97%
rename from packages/cursorless-org-docs/src/docs/components/types.ts
rename to packages/app-web-docs/src/docs/components/types.ts
index d2f5d823e7..b5e09b6a03 100644
--- a/packages/cursorless-org-docs/src/docs/components/types.ts
+++ b/packages/app-web-docs/src/docs/components/types.ts
@@ -3,7 +3,7 @@ import type {
PlaintextScopeSupportFacet,
ScopeSupportFacet,
Range,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
export type RangeType = "content" | "removal" | "blend";
export type FacetValue = ScopeSupportFacet | PlaintextScopeSupportFacet;
diff --git a/packages/cursorless-org-docs/src/docs/components/util.ts b/packages/app-web-docs/src/docs/components/util.ts
similarity index 96%
rename from packages/cursorless-org-docs/src/docs/components/util.ts
rename to packages/app-web-docs/src/docs/components/util.ts
index 3b59b9e541..4dc8597a7e 100644
--- a/packages/cursorless-org-docs/src/docs/components/util.ts
+++ b/packages/app-web-docs/src/docs/components/util.ts
@@ -3,13 +3,13 @@ import type {
ScopeSupportFacet,
ScopeSupportFacetInfo,
ScopeTypeType,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import {
camelCaseToAllDown,
capitalize,
plaintextScopeSupportFacetInfos,
scopeSupportFacetInfos,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
export function prettifyFacet(
facet: ScopeSupportFacet | PlaintextScopeSupportFacet,
diff --git a/packages/cursorless-org-docs/src/docs/contributing/CONTRIBUTING.mdx b/packages/app-web-docs/src/docs/contributing/CONTRIBUTING.mdx
similarity index 95%
rename from packages/cursorless-org-docs/src/docs/contributing/CONTRIBUTING.mdx
rename to packages/app-web-docs/src/docs/contributing/CONTRIBUTING.mdx
index ffa02b00a9..774b0d47a9 100644
--- a/packages/cursorless-org-docs/src/docs/contributing/CONTRIBUTING.mdx
+++ b/packages/app-web-docs/src/docs/contributing/CONTRIBUTING.mdx
@@ -192,7 +192,7 @@ Once you have your package then you can install it into the sandbox using the fo
You can install a local build of the Cursorless extension by running the following command:
```bash
-pnpm -F cursorless-vscode install-local
+pnpm -F @cursorless/app-vscode install-local
```
This will bundle and install a local version of Cursorless, uninstalling production Cursorless first and using a special extension id to break the update chain.
@@ -203,13 +203,13 @@ download and install the artifact from the PR build. This requires the [`gh`
cli](https://cli.github.com/). For example:
```bash
-pnpm -F cursorless-vscode install-from-pr 1281
+pnpm -F @cursorless/app-vscode install-from-pr 1281
```
To uninstall the local build and revert to production cursorless, run the following command:
```bash
-pnpm -F cursorless-vscode uninstall-local
+pnpm -F @cursorless/app-vscode uninstall-local
```
## Regular manual maintenance tasks
@@ -232,7 +232,7 @@ This should be done every time we do something that will change the custom cheat
You'll probably want to run the following to make sure the SVGs have everything they need:
```sh
-pnpm -F @cursorless/cursorless-vscode preprocess-svg-hats
+pnpm -F @cursorless/app-vscode preprocess-svg-hats
```
This script will add dummy width, height and fill attributes as necessary to appease the regex in `Decorations.ts`
@@ -242,15 +242,15 @@ This script will add dummy width, height and fill attributes as necessary to app
While tweaking, the easiest approach is probably to use the
`cursorless.individualHatAdjustments` setting in your settings.json to change
size / alignment so you don't need to refresh every time. Once you're done, you
-can paste the settings into `packages/cursorless-vscode/src/scripts/hatAdjustments/add.ts` and run the following to get
+can paste the settings into `packages/app-vscode/src/scripts/hatAdjustments/add.ts` and run the following to get
your updates:
```sh
-pnpm -F @cursorless/cursorless-vscode hat-adjustments-add
+pnpm -F @cursorless/app-vscode hat-adjustments-add
```
-If instead, you want to average your adjustments with those in main and see the differences to get to yours and main, you can paste the settings into `packages/cursorless-vscode/src/scripts/hatAdjustments/average.ts` and run:
+If instead, you want to average your adjustments with those in main and see the differences to get to yours and main, you can paste the settings into `packages/app-vscode/src/scripts/hatAdjustments/average.ts` and run:
```sh
-pnpm -F @cursorless/cursorless-vscode hat-adjustments-average
+pnpm -F @cursorless/app-vscode hat-adjustments-average
```
diff --git a/packages/cursorless-org-docs/src/docs/contributing/MissingLanguageScopes.tsx b/packages/app-web-docs/src/docs/contributing/MissingLanguageScopes.tsx
similarity index 96%
rename from packages/cursorless-org-docs/src/docs/contributing/MissingLanguageScopes.tsx
rename to packages/app-web-docs/src/docs/contributing/MissingLanguageScopes.tsx
index 1a28ac7416..d8c1416a4a 100644
--- a/packages/cursorless-org-docs/src/docs/contributing/MissingLanguageScopes.tsx
+++ b/packages/app-web-docs/src/docs/contributing/MissingLanguageScopes.tsx
@@ -1,11 +1,11 @@
-import type { ScopeSupportFacet } from "@cursorless/common";
+import type { ScopeSupportFacet } from "@cursorless/lib-common";
import {
languageScopeSupport,
scopeSupportFacetInfos,
ScopeSupportFacetLevel,
scopeSupportFacets,
serializeScopeType,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import React, { useState } from "react";
export function MissingLanguageScopes(): React.JSX.Element {
diff --git a/packages/cursorless-org-docs/src/docs/contributing/_api-index.md b/packages/app-web-docs/src/docs/contributing/_api-index.md
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/_api-index.md
rename to packages/app-web-docs/src/docs/contributing/_api-index.md
diff --git a/packages/cursorless-org-docs/src/docs/contributing/adding-a-new-language.md b/packages/app-web-docs/src/docs/contributing/adding-a-new-language.md
similarity index 73%
rename from packages/cursorless-org-docs/src/docs/contributing/adding-a-new-language.md
rename to packages/app-web-docs/src/docs/contributing/adding-a-new-language.md
index e204c754a7..10968b905f 100644
--- a/packages/cursorless-org-docs/src/docs/contributing/adding-a-new-language.md
+++ b/packages/app-web-docs/src/docs/contributing/adding-a-new-language.md
@@ -11,11 +11,11 @@ for how to add support for a new parser
## 2. Ensure file type is supported by VSCode
-If you are adding support for a new language that isn't natively detected by VSCode, you will need to add the appropriate extension to the list of dependencies. The list of languages officially supported by VSCode is listed [in the VSCode docs](https://code.visualstudio.com/docs/languages/identifiers#_known-language-identifiers). If your language is in that list, you can skip this step and proceed to step 3. If your language is not in that list, you need to find a VSCode extension that adds support for your language, and add the id of the given extension to [`packages/common/src/extensionDependencies.ts`](../../../../../packages/common/src/extensionDependencies.ts) and then re-run `pnpm init-vscode-sandbox` to ensure it is installed. If you do not do this you will encounter errors when attempting to execute cursorless commands in the next step. See [#1895](https://github.com/cursorless-dev/cursorless/issues/1895) for more info.
+If you are adding support for a new language that isn't natively detected by VSCode, you will need to add the appropriate extension to the list of dependencies. The list of languages officially supported by VSCode is listed [in the VSCode docs](https://code.visualstudio.com/docs/languages/identifiers#_known-language-identifiers). If your language is in that list, you can skip this step and proceed to step 3. If your language is not in that list, you need to find a VSCode extension that adds support for your language, and add the id of the given extension to [`packages/lib-common/src/extensionDependencies.ts`](../../../../../packages/lib-common/src/extensionDependencies.ts) and then re-run `pnpm init-vscode-sandbox` to ensure it is installed. If you do not do this you will encounter errors when attempting to execute cursorless commands in the next step. See [#1895](https://github.com/cursorless-dev/cursorless/issues/1895) for more info.
## 3. Register your language with Cursorless
-1. Create a file with your scope support map to indicate which scopes you support. See eg [`markdown.ts`](../../../../../packages/common/src/scopeSupportFacets/markdown.ts). At the start, you can leave the actual scope support table empty, so it will look something like the following (keeping in mind it's best to look at [`markdown.ts`](../../../../../packages/common/src/scopeSupportFacets/markdown.ts) or another support file in case the following snippet rots):
+1. Create a file with your scope support map to indicate which scopes you support. See eg [`markdown.ts`](../../../../../packages/lib-common/src/scopeSupportFacets/markdown.ts). At the start, you can leave the actual scope support table empty, so it will look something like the following (keeping in mind it's best to look at [`markdown.ts`](../../../../../packages/lib-common/src/scopeSupportFacets/markdown.ts) or another support file in case the following snippet rots):
```ts
import {
@@ -29,7 +29,7 @@ If you are adding support for a new language that isn't natively detected by VSC
export const markdownScopeSupport: LanguageScopeSupportFacetMap = {};
```
-2. Add an entry pointing to your support table to [the global scope support table](../../../../../packages/common/src/scopeSupportFacets/languageScopeSupport.ts)
+2. Add an entry pointing to your support table to [the global scope support table](../../../../../packages/lib-common/src/scopeSupportFacets/languageScopeSupport.ts)
3. Create an empty `.scm` file in [`queries/`](../../../../../queries) to hold your parse tree patterns. It should be named after your language, eg `java.scm`.
diff --git a/packages/cursorless-org-docs/src/docs/contributing/adding-a-new-package.md b/packages/app-web-docs/src/docs/contributing/adding-a-new-package.md
similarity index 81%
rename from packages/cursorless-org-docs/src/docs/contributing/adding-a-new-package.md
rename to packages/app-web-docs/src/docs/contributing/adding-a-new-package.md
index ecf1201e2d..71a3f534e6 100644
--- a/packages/cursorless-org-docs/src/docs/contributing/adding-a-new-package.md
+++ b/packages/app-web-docs/src/docs/contributing/adding-a-new-package.md
@@ -24,4 +24,4 @@ For any packages that you need to depend on, you can run
pnpm add some-package
```
-from the `packages/foo` directory. Note that `some-package` could be a local package, eg `@cursorless/common`. In that case, you need to re-run `pnpm -w fix:meta` after adding the dependency, so that the Typescript references can be updated.
+from the `packages/foo` directory. Note that `some-package` could be a local package, eg `@cursorless/lib-common`. In that case, you need to re-run `pnpm -w fix:meta` after adding the dependency, so that the Typescript references can be updated.
diff --git a/packages/cursorless-org-docs/src/docs/contributing/adding-a-new-scope.md b/packages/app-web-docs/src/docs/contributing/adding-a-new-scope.md
similarity index 95%
rename from packages/cursorless-org-docs/src/docs/contributing/adding-a-new-scope.md
rename to packages/app-web-docs/src/docs/contributing/adding-a-new-scope.md
index eb38fb861a..cd26e80d16 100644
--- a/packages/cursorless-org-docs/src/docs/contributing/adding-a-new-scope.md
+++ b/packages/app-web-docs/src/docs/contributing/adding-a-new-scope.md
@@ -16,7 +16,7 @@ For example, `"funk"` (`namedFunction`) has the following facets:
- `namedfunction.method`, corresponding to a class method declaration, and
- `namedfunction.constructor`, corresponding to a class constructor declaration.
-Have a look in [`scopeSupportFacetInfos`](../../../../../packages/common/src/scopeSupportFacets/scopeSupportFacetInfos.ts) to see which facets the given scope has. The key is the id of the facet, and the value has information about the facet, including a description and a `scopeType` field indicating which scope type the facet corresponds to.
+Have a look in [`scopeSupportFacetInfos`](../../../../../packages/lib-common/src/scopeSupportFacets/scopeSupportFacetInfos.ts) to see which facets the given scope has. The key is the id of the facet, and the value has information about the facet, including a description and a `scopeType` field indicating which scope type the facet corresponds to.
These facet ids will be the keys in your language's scope support table below.
@@ -27,7 +27,7 @@ Note that in addition to the straightforward facet IDs that correspond to the sc
## 3. Add entries to your language's scope support table
-Add entries for each of the facet IDs of the given scope to the scope support table for your language in [the `scopeSupportFacets` directory](/../../packages/common/src/scopeSupportFacets).
+Add entries for each of the facet IDs of the given scope to the scope support table for your language in [the `scopeSupportFacets` directory](/../../packages/lib-common/src/scopeSupportFacets).
For example, if you'd like to add support for the `namedFunction` facet of the `funk` scope, you would add entries like the following to your language's scope support table:
diff --git a/packages/cursorless-org-docs/src/docs/contributing/architecture/hat-snapshots.md b/packages/app-web-docs/src/docs/contributing/architecture/hat-snapshots.md
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/architecture/hat-snapshots.md
rename to packages/app-web-docs/src/docs/contributing/architecture/hat-snapshots.md
diff --git a/packages/cursorless-org-docs/src/docs/contributing/architecture/images/hat-token-map-snapshots.png b/packages/app-web-docs/src/docs/contributing/architecture/images/hat-token-map-snapshots.png
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/architecture/images/hat-token-map-snapshots.png
rename to packages/app-web-docs/src/docs/contributing/architecture/images/hat-token-map-snapshots.png
diff --git a/packages/cursorless-org-docs/src/docs/contributing/architecture/neovim-test-infrastructure.md b/packages/app-web-docs/src/docs/contributing/architecture/neovim-test-infrastructure.md
similarity index 83%
rename from packages/cursorless-org-docs/src/docs/contributing/architecture/neovim-test-infrastructure.md
rename to packages/app-web-docs/src/docs/contributing/architecture/neovim-test-infrastructure.md
index f60b9b2958..33f0f7a107 100644
--- a/packages/cursorless-org-docs/src/docs/contributing/architecture/neovim-test-infrastructure.md
+++ b/packages/app-web-docs/src/docs/contributing/architecture/neovim-test-infrastructure.md
@@ -11,22 +11,22 @@ launch.json -> .vscode/tasks.json -> nvim -u init.lua
init.lua
-> CursorlessLoadExtension()
- -> TestHarnessRun() -> run() -> runAllTests() -> Mocha -> packages/cursorless-neovim-e2e/src/suite/recorded.neovim.test.ts
+ -> TestHarnessRun() -> run() -> runAllTests() -> Mocha -> packages/test-neovim-e2e/src/suite/recorded.neovim.test.ts
```
And here is the call path when running Neovim tests on CI:
```
-.github/workflows/test.yml -> packages/test-harness/package.json -> c-tsx src/scripts/runNeovimTestsCI.ts -> packages/test-harness/src/launchNeovimAndRunTests.ts
+.github/workflows/test.yml -> packages/test-runner/package.json -> c-tsx src/scripts/runNeovimTestsCI.ts -> packages/test-runner/src/launchNeovimAndRunTests.ts
launchNeovimAndRunTests.ts
- -> copies packages/test-harness/src/config/init.lua to default nvim config folder
+ -> copies packages/test-runner/src/config/init.lua to default nvim config folder
-> nvim --headless
-> read Cursorless logs to determine success or failure
-packages/test-harness/src/config/init.lua
+packages/test-runner/src/config/init.lua
-> CursorlessLoadExtension()
- -> TestHarnessRun() -> run() -> runAllTests() -> Mocha + packages/cursorless-neovim-e2e/src/suite/recorded.neovim.test.ts
+ -> TestHarnessRun() -> run() -> runAllTests() -> Mocha + packages/test-neovim-e2e/src/suite/recorded.neovim.test.ts
```
### Running Neovim tests locally
@@ -74,7 +74,7 @@ The `Neovim: Launch neovim (test)` task effectively starts `nvim` as a detached
"windows": {
"command": "powershell",
"args": [
- "(New-Object -ComObject WScript.Shell).Run(\"\"\"${workspaceFolder}/packages/cursorless-neovim/scripts/debug-neovim.bat\"\"\", 1, $false)"
+ "(New-Object -ComObject WScript.Shell).Run(\"\"\"${workspaceFolder}/packages/app-neovim/scripts/debug-neovim.bat\"\"\", 1, $false)"
]
},
...
@@ -82,7 +82,7 @@ The `Neovim: Launch neovim (test)` task effectively starts `nvim` as a detached
"env": {
"CURSORLESS_REPO_ROOT": "${workspaceFolder}",
"NVIM_NODE_HOST_DEBUG": "1",
- "NVIM_NODE_LOG_FILE": "${workspaceFolder}/packages/cursorless-neovim/out/nvim_node.log",
+ "NVIM_NODE_LOG_FILE": "${workspaceFolder}/packages/app-neovim/out/nvim_node.log",
"NVIM_NODE_LOG_LEVEL": "info",
"CURSORLESS_MODE": "test"
}
@@ -107,7 +107,7 @@ vim.opt.runtimepath:append(repo_root .. "/cursorless.nvim")
require("cursorless").setup()
```
-NOTE: this relies on having symlinks inside `cursorless.nvim/node/` to point to the development paths `packages/cursorless-neovim` and `packages/test-harness`. This is required in order to have all the symbols loaded for debugging.
+NOTE: this relies on having symlinks inside `cursorless.nvim/node/` to point to the development paths `packages/app-neovim` and `packages/test-runner`. This is required in order to have all the symbols loaded for debugging.
This ends up calling `setup()` from `cursorless.nvim/lua/cursorless/init.lua`:
@@ -135,7 +135,7 @@ local function register_functions()
},
}
)
- vim.fn["remote#host#RegisterPlugin"]("node", path .. "/node/test-harness/", {
+ vim.fn["remote#host#RegisterPlugin"]("node", path .. "/node/test-runner/", {
{
type = "function",
name = "TestHarnessRun",
@@ -159,11 +159,11 @@ local function load_extensions()
However, because `nvim` was started with `"NVIM_NODE_HOST_DEBUG": "1"`, when `node` is spawned, `node` will hang and wait for a debugger to attach (`--inspect-brk`). Consequently, `nvim` won't finish loading yet (i.e. it won't finish loading `init.lua`).
-This is handy because it allows VSCode to finish all the tasks required for building the Cursorless neovim plugin (`cursorless-neovim`) and the Tests neovim plugin (`test-harness`), which will finally trigger VSCode to attach to the `node` process.
+This is handy because it allows VSCode to finish all the tasks required for building the Cursorless neovim package (`app-neovim`, exposed to Neovim under `node/cursorless-neovim`) and the test runner package (`test-runner`, exposed under `node/test-runner`), which will finally trigger VSCode to attach to the `node` process.
-When VSCode attaches to the `node` process, `CursorlessLoadExtension()` is called to load the Cursorles neovim plugin and `TestHarnessRun()` is called to start the tests.
+When VSCode attaches to the `node` process, `CursorlessLoadExtension()` is called to load the Cursorless neovim plugin and `TestHarnessRun()` is called to start the tests.
-This ends up calling `TestHarnessRun()` from `packages/test-harness/src/index.ts` which calls `run()`:
+This ends up calling `TestHarnessRun()` from `packages/test-runner/src/index.ts` which calls `run()`:
```ts
export default function entry(plugin: NvimPlugin) {
@@ -178,7 +178,7 @@ export async function run(plugin: NvimPlugin): Promise {
console.log(`==== TESTS FINISHED: code: ${code}`);
```
-This ends up calling `runAllTests()` which calls `runTestsInDir()` from `packages/test-harness/src/runAllTests.ts`.
+This ends up calling `runAllTests()` which calls `runTestsInDir()` from `packages/test-runner/src/runAllTests.ts`.
This ends up using the [Mocha API](https://mochajs.org/) to execute tests whose names end with `neovim.test.cjs`:
@@ -199,7 +199,7 @@ async function runTestsInDir(
...
```
-Consequently, the recorded tests from `data/fixtures/recorded/` are executed when `packages/cursorless-neovim-e2e/src/suite/recorded.neovim.test.ts` is invoked.
+Consequently, the recorded tests from `data/fixtures/recorded/` are executed when `packages/test-neovim-e2e/src/suite/recorded.neovim.test.ts` is invoked.
### Running Neovim tests on CI
@@ -208,17 +208,17 @@ This is supported on Linux only.
It starts from `.github/workflows/test.yml` which currently only tests the latest stable neovim version on Linux:
```yml
-run: xvfb-run -a pnpm -F @cursorless/test-harness test:neovim
+run: xvfb-run -a pnpm -F @cursorless/test-runner test:neovim
if: runner.os == 'Linux' && matrix.app_version == 'stable'
```
-This triggers the script in `packages/test-harness/package.json`:
+This triggers the script in `packages/test-runner/package.json`:
```json
"test:neovim": "c-tsx src/scripts/runNeovimTestsCI.ts",
```
-This ends up calling the default function from `package/test-harness/src/scripts/runNeovimTestsCI.ts` which calls `launchNeovimAndRunTests()` from `packages/test-harness/src/launchNeovimAndRunTests.ts`:
+This ends up calling the default function from `packages/test-runner/src/scripts/runNeovimTestsCI.ts` which calls `launchNeovimAndRunTests()` from `packages/test-runner/src/launchNeovimAndRunTests.ts`:
```ts
(async () => {
@@ -226,7 +226,7 @@ This ends up calling the default function from `package/test-harness/src/scripts
})();
```
-This ends up copying the `packages/test-harness/src/config/init.lua` file into the default nvim config folder `(A)`, starting neovim without a GUI (`--headless`) `(B)` and reading Cursorless logs in order to determine success or failure `(C)`:
+This ends up copying the `packages/test-runner/src/config/init.lua` file into the default nvim config folder `(A)`, starting neovim without a GUI (`--headless`) `(B)` and reading Cursorless logs in order to determine success or failure `(C)`:
```ts
export async function launchNeovimAndRunTests() {
@@ -257,7 +257,7 @@ export async function launchNeovimAndRunTests() {
console.log(`done: ${done}`);
```
-At this stage, we are in a similar situation to the "Cursorless tests for neovim locally" case where `nvim` is started with the `packages/test-harness/src/config/init.lua` config file. Similarly, this `init.lua` adds the local `cursorless.nvim` relative path to the runtime path and initializes Cursorless:
+At this stage, we are in a similar situation to the "Cursorless tests for neovim locally" case where `nvim` is started with the `packages/test-runner/src/config/init.lua` config file. Similarly, this `init.lua` adds the local `cursorless.nvim` relative path to the runtime path and initializes Cursorless:
```lua
local repo_root = os.getenv("CURSORLESS_REPO_ROOT")
diff --git a/packages/cursorless-org-docs/src/docs/contributing/architecture/package-scripts.md b/packages/app-web-docs/src/docs/contributing/architecture/package-scripts.md
similarity index 87%
rename from packages/cursorless-org-docs/src/docs/contributing/architecture/package-scripts.md
rename to packages/app-web-docs/src/docs/contributing/architecture/package-scripts.md
index 4f6efbcce4..d0d9dc1213 100644
--- a/packages/cursorless-org-docs/src/docs/contributing/architecture/package-scripts.md
+++ b/packages/app-web-docs/src/docs/contributing/architecture/package-scripts.md
@@ -20,9 +20,9 @@ within this repository.
There are two important kinds of internal packages:
-- Source-only shared code packages, such as `common` or `cursorless-engine`
-- Internal asset packages, such as `cheatsheet-local` or
- `cursorless-vscode-tutorial-webview`
+- Source-only shared code packages, such as `lib-common` or `lib-engine`
+- Internal asset packages, such as `lib-cheatsheet-local` or
+ `lib-vscode-tutorial-webview`
### Source-only shared code packages
@@ -59,11 +59,11 @@ These packages generally expose:
Examples include:
-- `@cursorless/cursorless-vscode`
-- `@cursorless/cursorless-neovim`
-- `@cursorless/cursorless-org`
-- `@cursorless/cursorless-org-docs`
-- `@cursorless/cursorless-everywhere-talon`
+- `@cursorless/app-vscode`
+- `@cursorless/app-neovim`
+- `@cursorless/app-web`
+- `@cursorless/app-web-docs`
+- `@cursorless/app-talon`
## Script meanings
@@ -85,7 +85,7 @@ Examples:
- the local cheatsheet single-file bundle
- the VS Code tutorial webview bundle
-- test harness runner bundles
+- test runner bundles
### `build`
@@ -97,8 +97,8 @@ internal bundle-producing packages, its `build` script should invoke their
For example:
-- `cursorless-vscode build` is responsible for building the assets it embeds
-- `cursorless-neovim build` is responsible for building the support artifacts it
+- `app-vscode build` is responsible for building the assets it embeds
+- `app-neovim build` is responsible for building the support artifacts it
packages
### `dev`
diff --git a/packages/cursorless-org-docs/src/docs/contributing/cheatsheet.md b/packages/app-web-docs/src/docs/contributing/cheatsheet.md
similarity index 74%
rename from packages/cursorless-org-docs/src/docs/contributing/cheatsheet.md
rename to packages/app-web-docs/src/docs/contributing/cheatsheet.md
index 55ce30a1fc..e5355539a8 100644
--- a/packages/cursorless-org-docs/src/docs/contributing/cheatsheet.md
+++ b/packages/app-web-docs/src/docs/contributing/cheatsheet.md
@@ -8,14 +8,14 @@ The implementation of the local version of the cheatsheet is split between the T
When you add a new scope type, action, modifier, etc, you'll need to ensure that it shows up both locally and on the website. It will usually automatically show up in the local cheatsheet. You can verify this by saying `"cursorless cheatsheet"` with your development version of `cursorless-talon` active in your Talon user directory, and inspecting the cheatsheet that appears. If it does not, you'll need to make fixes to [the Talon side of the cheatsheet](../../../../../cursorless-talon/src/cheatsheet).
-In either case, to get your changes to appear on the website, you need to update the defaults in [`defaults.json`](../../../../../packages/cheatsheet/src/lib/sampleSpokenFormInfos/defaults.json). First make sure you have the `cursorless-talon-dev` user file set in your Talon home directory, as indicated in the [initial contributor setup instructions](CONTRIBUTING.mdx#initial-setup). Then you can say `"cursorless update cheatsheet"` to update the default spoken forms. Note that this will use your custom spoken forms, so you may need to do some manual cleanup.
+In either case, to get your changes to appear on the website, you need to update the defaults in [`defaults.json`](../../../../../packages/lib-cheatsheet/src/lib/sampleSpokenFormInfos/defaults.json). First make sure you have the `cursorless-talon-dev` user file set in your Talon home directory, as indicated in the [initial contributor setup instructions](CONTRIBUTING.mdx#initial-setup). Then you can say `"cursorless update cheatsheet"` to update the default spoken forms. Note that this will use your custom spoken forms, so you may need to do some manual cleanup.
## Running the cheatsheet in development mode
To verify that your changes will work on the web cheatsheet, or if you need to make changes to the cheatsheet itself, such as updating the legend, you can run the cheatsheet locally using by running the following command:
```
-pnpm -F cursorless-org serve
+pnpm -F @cursorless/app-web serve
```
and then adding `/cheatsheet` to the preview URL. Changes should show up in realtime as you develop.
diff --git a/packages/cursorless-org-docs/src/docs/contributing/cursorless-in-neovim.md b/packages/app-web-docs/src/docs/contributing/cursorless-in-neovim.md
similarity index 96%
rename from packages/cursorless-org-docs/src/docs/contributing/cursorless-in-neovim.md
rename to packages/app-web-docs/src/docs/contributing/cursorless-in-neovim.md
index 6f59f4156d..8067fc571f 100644
--- a/packages/cursorless-org-docs/src/docs/contributing/cursorless-in-neovim.md
+++ b/packages/app-web-docs/src/docs/contributing/cursorless-in-neovim.md
@@ -29,8 +29,8 @@ This step is only required on Windows if you don't run VSCode with Administrator
Open a `cmd.exe` with Administrator privileges and create the symbolic links between the source folders and the `cursorless.nvim` destination folder:
```bat
-mklink /D C:\path\to\cursorless\cursorless.nvim\node\cursorless-neovim C:\path\to\cursorless\packages\cursorless-neovim
-mklink /D C:\path\to\cursorless\cursorless.nvim\node\test-harness C:\path\to\cursorless\packages\test-harness
+mklink /D C:\path\to\cursorless\cursorless.nvim\node\cursorless-neovim C:\path\to\cursorless\packages\app-neovim
+mklink /D C:\path\to\cursorless\cursorless.nvim\node\test-runner C:\path\to\cursorless\packages\test-runner
```
Note that the `C:\path\to\cursorless` path above should match your cloned cursorless repository.
diff --git a/packages/cursorless-org-docs/src/docs/contributing/documentation-search.md b/packages/app-web-docs/src/docs/contributing/documentation-search.md
similarity index 74%
rename from packages/cursorless-org-docs/src/docs/contributing/documentation-search.md
rename to packages/app-web-docs/src/docs/contributing/documentation-search.md
index 4deb6b9fd4..001c53bf8f 100644
--- a/packages/cursorless-org-docs/src/docs/contributing/documentation-search.md
+++ b/packages/app-web-docs/src/docs/contributing/documentation-search.md
@@ -4,9 +4,9 @@ The documentation search is powered by Algolia.
## Tweaking crawling / indexing / ranking
-Unfortunately, today, the source of truth for the Algolia search configuration lives in the Algolia web console. Whenever we update the configuration, we update the copies that we keep in [source control](../../../../../packages/cursorless-org-docs/config/algolia). In the future, we'd like to use the files in source control as the source of truth and deploy them to Algolia in CI. See #917.
+Unfortunately, today, the source of truth for the Algolia search configuration lives in the Algolia web console. Whenever we update the configuration, we update the copies that we keep in [source control](../../../../../packages/app-web-docs/config/algolia). In the future, we'd like to use the files in source control as the source of truth and deploy them to Algolia in CI. See #917.
-To see what changes we've made to the default configuration, compare the contents of [this directory](../../../../../packages/cursorless-org-docs/config/algolia) with https://github.com/cursorless-dev/cursorless/tree/e043ce4795ffcda5a3f5875d91887a09e0f9905b/website/config/algolia
+To see what changes we've made to the default configuration, compare the contents of [this directory](../../../../../packages/app-web-docs/config/algolia) with https://github.com/cursorless-dev/cursorless/tree/e043ce4795ffcda5a3f5875d91887a09e0f9905b/website/config/algolia
### Crawler config
@@ -20,5 +20,5 @@ To see what changes we've made to the default configuration, compare the content
### Index settings
1. Use the [Algolia console](https://www.algolia.com/apps/YTJQ4I3GBJ/explorer/configuration/cursorless/searchable-attributes) to tweak the settings until you're happy.
-2. Click on _Manage index > Export Configuration_ to export the configuration json, saving it to [`index-settings.json`](../../../../../packages/cursorless-org-docs/config/algolia/index-settings.json)
+2. Click on _Manage index > Export Configuration_ to export the configuration json, saving it to [`index-settings.json`](../../../../../packages/app-web-docs/config/algolia/index-settings.json)
3. File a PR to get feedback on the new config.
diff --git a/packages/cursorless-org-docs/src/docs/contributing/guidelines.md b/packages/app-web-docs/src/docs/contributing/guidelines.md
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/guidelines.md
rename to packages/app-web-docs/src/docs/contributing/guidelines.md
diff --git a/packages/cursorless-org-docs/src/docs/contributing/missing-language-scopes.mdx b/packages/app-web-docs/src/docs/contributing/missing-language-scopes.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/missing-language-scopes.mdx
rename to packages/app-web-docs/src/docs/contributing/missing-language-scopes.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scope-test-format.md b/packages/app-web-docs/src/docs/contributing/scope-test-format.md
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scope-test-format.md
rename to packages/app-web-docs/src/docs/contributing/scope-test-format.md
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/README.md b/packages/app-web-docs/src/docs/contributing/scopes/README.md
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/README.md
rename to packages/app-web-docs/src/docs/contributing/scopes/README.md
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/anonymousFunction.mdx b/packages/app-web-docs/src/docs/contributing/scopes/anonymousFunction.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/anonymousFunction.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/anonymousFunction.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/argumentList.mdx b/packages/app-web-docs/src/docs/contributing/scopes/argumentList.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/argumentList.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/argumentList.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/argumentOrParameter.mdx b/packages/app-web-docs/src/docs/contributing/scopes/argumentOrParameter.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/argumentOrParameter.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/argumentOrParameter.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/attribute.mdx b/packages/app-web-docs/src/docs/contributing/scopes/attribute.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/attribute.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/attribute.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/boundedNonWhitespaceSequence.mdx b/packages/app-web-docs/src/docs/contributing/scopes/boundedNonWhitespaceSequence.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/boundedNonWhitespaceSequence.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/boundedNonWhitespaceSequence.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/boundedParagraph.mdx b/packages/app-web-docs/src/docs/contributing/scopes/boundedParagraph.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/boundedParagraph.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/boundedParagraph.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/branch.mdx b/packages/app-web-docs/src/docs/contributing/scopes/branch.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/branch.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/branch.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/character.mdx b/packages/app-web-docs/src/docs/contributing/scopes/character.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/character.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/character.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/class.mdx b/packages/app-web-docs/src/docs/contributing/scopes/class.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/class.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/class.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/className.mdx b/packages/app-web-docs/src/docs/contributing/scopes/className.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/className.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/className.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/collectionItem.mdx b/packages/app-web-docs/src/docs/contributing/scopes/collectionItem.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/collectionItem.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/collectionItem.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/collectionKey.mdx b/packages/app-web-docs/src/docs/contributing/scopes/collectionKey.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/collectionKey.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/collectionKey.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/command.mdx b/packages/app-web-docs/src/docs/contributing/scopes/command.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/command.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/command.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/comment.mdx b/packages/app-web-docs/src/docs/contributing/scopes/comment.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/comment.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/comment.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/components/Scopes.tsx b/packages/app-web-docs/src/docs/contributing/scopes/components/Scopes.tsx
similarity index 88%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/components/Scopes.tsx
rename to packages/app-web-docs/src/docs/contributing/scopes/components/Scopes.tsx
index a45af8b497..26ac5b4480 100644
--- a/packages/cursorless-org-docs/src/docs/contributing/scopes/components/Scopes.tsx
+++ b/packages/app-web-docs/src/docs/contributing/scopes/components/Scopes.tsx
@@ -1,4 +1,4 @@
-import type { ScopeTypeType } from "@cursorless/common";
+import type { ScopeTypeType } from "@cursorless/lib-common";
import React from "react";
import { DynamicTOC } from "../../../components/DynamicTOC";
import { ScopeVisualizer } from "../../../components/ScopeVisualizer";
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/condition.mdx b/packages/app-web-docs/src/docs/contributing/scopes/condition.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/condition.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/condition.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/disqualifyDelimiter.mdx b/packages/app-web-docs/src/docs/contributing/scopes/disqualifyDelimiter.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/disqualifyDelimiter.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/disqualifyDelimiter.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/document.mdx b/packages/app-web-docs/src/docs/contributing/scopes/document.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/document.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/document.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/environment.mdx b/packages/app-web-docs/src/docs/contributing/scopes/environment.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/environment.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/environment.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/fieldAccess.mdx b/packages/app-web-docs/src/docs/contributing/scopes/fieldAccess.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/fieldAccess.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/fieldAccess.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/fullLine.mdx b/packages/app-web-docs/src/docs/contributing/scopes/fullLine.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/fullLine.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/fullLine.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/functionCall.mdx b/packages/app-web-docs/src/docs/contributing/scopes/functionCall.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/functionCall.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/functionCall.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/functionCallee.mdx b/packages/app-web-docs/src/docs/contributing/scopes/functionCallee.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/functionCallee.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/functionCallee.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/functionName.mdx b/packages/app-web-docs/src/docs/contributing/scopes/functionName.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/functionName.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/functionName.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/identifier.mdx b/packages/app-web-docs/src/docs/contributing/scopes/identifier.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/identifier.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/identifier.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/ifStatement.mdx b/packages/app-web-docs/src/docs/contributing/scopes/ifStatement.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/ifStatement.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/ifStatement.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/interior.mdx b/packages/app-web-docs/src/docs/contributing/scopes/interior.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/interior.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/interior.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/line.mdx b/packages/app-web-docs/src/docs/contributing/scopes/line.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/line.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/line.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/list.mdx b/packages/app-web-docs/src/docs/contributing/scopes/list.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/list.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/list.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/map.mdx b/packages/app-web-docs/src/docs/contributing/scopes/map.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/map.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/map.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/name.mdx b/packages/app-web-docs/src/docs/contributing/scopes/name.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/name.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/name.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/namedFunction.mdx b/packages/app-web-docs/src/docs/contributing/scopes/namedFunction.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/namedFunction.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/namedFunction.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/nonWhitespaceSequence.mdx b/packages/app-web-docs/src/docs/contributing/scopes/nonWhitespaceSequence.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/nonWhitespaceSequence.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/nonWhitespaceSequence.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/notebookCell.mdx b/packages/app-web-docs/src/docs/contributing/scopes/notebookCell.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/notebookCell.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/notebookCell.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/pairDelimiter.mdx b/packages/app-web-docs/src/docs/contributing/scopes/pairDelimiter.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/pairDelimiter.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/pairDelimiter.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/paragraph.mdx b/packages/app-web-docs/src/docs/contributing/scopes/paragraph.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/paragraph.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/paragraph.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/regularExpression.mdx b/packages/app-web-docs/src/docs/contributing/scopes/regularExpression.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/regularExpression.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/regularExpression.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/section.mdx b/packages/app-web-docs/src/docs/contributing/scopes/section.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/section.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/section.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/selector.mdx b/packages/app-web-docs/src/docs/contributing/scopes/selector.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/selector.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/selector.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/sentence.mdx b/packages/app-web-docs/src/docs/contributing/scopes/sentence.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/sentence.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/sentence.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/statement.mdx b/packages/app-web-docs/src/docs/contributing/scopes/statement.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/statement.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/statement.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/string.mdx b/packages/app-web-docs/src/docs/contributing/scopes/string.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/string.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/string.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/surroundingPair.mdx b/packages/app-web-docs/src/docs/contributing/scopes/surroundingPair.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/surroundingPair.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/surroundingPair.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/surroundingPairInterior.mdx b/packages/app-web-docs/src/docs/contributing/scopes/surroundingPairInterior.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/surroundingPairInterior.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/surroundingPairInterior.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/textFragment.mdx b/packages/app-web-docs/src/docs/contributing/scopes/textFragment.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/textFragment.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/textFragment.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/token.mdx b/packages/app-web-docs/src/docs/contributing/scopes/token.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/token.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/token.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/type.mdx b/packages/app-web-docs/src/docs/contributing/scopes/type.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/type.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/type.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/unit.mdx b/packages/app-web-docs/src/docs/contributing/scopes/unit.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/unit.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/unit.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/url.mdx b/packages/app-web-docs/src/docs/contributing/scopes/url.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/url.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/url.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/value.mdx b/packages/app-web-docs/src/docs/contributing/scopes/value.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/value.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/value.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/word.mdx b/packages/app-web-docs/src/docs/contributing/scopes/word.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/word.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/word.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/xmlBothTags.mdx b/packages/app-web-docs/src/docs/contributing/scopes/xmlBothTags.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/xmlBothTags.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/xmlBothTags.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/xmlElement.mdx b/packages/app-web-docs/src/docs/contributing/scopes/xmlElement.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/xmlElement.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/xmlElement.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/xmlEndTag.mdx b/packages/app-web-docs/src/docs/contributing/scopes/xmlEndTag.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/xmlEndTag.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/xmlEndTag.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/scopes/xmlStartTag.mdx b/packages/app-web-docs/src/docs/contributing/scopes/xmlStartTag.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/contributing/scopes/xmlStartTag.mdx
rename to packages/app-web-docs/src/docs/contributing/scopes/xmlStartTag.mdx
diff --git a/packages/cursorless-org-docs/src/docs/contributing/test-case-recorder.md b/packages/app-web-docs/src/docs/contributing/test-case-recorder.md
similarity index 88%
rename from packages/cursorless-org-docs/src/docs/contributing/test-case-recorder.md
rename to packages/app-web-docs/src/docs/contributing/test-case-recorder.md
index 5a690b9b3a..98f28061bf 100644
--- a/packages/cursorless-org-docs/src/docs/contributing/test-case-recorder.md
+++ b/packages/app-web-docs/src/docs/contributing/test-case-recorder.md
@@ -30,7 +30,7 @@ command run, and the final state, all in the form of a yaml document. See
## Test case recorder options
-The test case recorder has several additional configuration options. The default configuration works for most tests, but you may find the following useful. For a full list of supported configuration options, see [`RecordTestCaseCommandOptions`](../../../../../packages/cursorless-engine/src/testCaseRecorder/RecordTestCaseCommandOptions.ts).
+The test case recorder has several additional configuration options. The default configuration works for most tests, but you may find the following useful. For a full list of supported configuration options, see [`RecordTestCaseCommandOptions`](../../../../../packages/lib-engine/src/testCaseRecorder/RecordTestCaseCommandOptions.ts).
### The options
@@ -50,7 +50,7 @@ By default, we don't capture the `that` mark returned by a command, unless the t
#### Testing the hat map
-We have a way to test that the hats in the hat map update correctly during the course of a single phrase. These tests are also how we usually test our [range updating code](../../../../../packages/cursorless-engine/src/core/updateSelections/updateSelections.ts).
+We have a way to test that the hats in the hat map update correctly during the course of a single phrase. These tests are also how we usually test our [range updating code](../../../../../packages/lib-engine/src/core/updateSelections/updateSelections.ts).
Any tests recorded in the `hatTokenMap` directory will automatically be treated as hat token map tests. To initiate a series of hat token map tests in another directory, say `"cursorless record navigation"`.
@@ -58,7 +58,7 @@ Then each time you record a test, you need to issue two commands. The second com
### Default config per test case directory
-Any test case directory that contains a `config.json` will set default configuration for all tests recorded in any descendant directory. For example, the file [`actions/config.json`](../../../../../data/fixtures/recorded/actions/config.json) makes it so that all our action tests will capture the final `that` mark. For a full list of keys supported in this json, see [`RecordTestCaseCommandOptions`](../../../../../packages/cursorless-engine/src/testCaseRecorder/RecordTestCaseCommandOptions.ts).
+Any test case directory that contains a `config.json` will set default configuration for all tests recorded in any descendant directory. For example, the file [`actions/config.json`](../../../../../data/fixtures/recorded/actions/config.json) makes it so that all our action tests will capture the final `that` mark. For a full list of keys supported in this json, see [`RecordTestCaseCommandOptions`](../../../../../packages/lib-engine/src/testCaseRecorder/RecordTestCaseCommandOptions.ts).
### Navigation map tests
@@ -82,7 +82,7 @@ To upgrade test fixtures to their canonical, latest form, run the command `pnpm
We periodically upgrade test case fixtures to use the version of our command payload from one year ago. To do so, proceed as follows:
-1. Look at the blame of the big switch statement in the `upgradeCommand` function in [`canonicalizeAndValidateCommand`](../../../../../packages/cursorless-engine/src/core/commandVersionUpgrades/canonicalizeAndValidateCommand.ts). You can do this on the web [here](https://github.com/cursorless-dev/cursorless/blame/main/packages/cursorless-engine/src/core/commandVersionUpgrades/canonicalizeAndValidateCommand.ts)
+1. Look at the blame of the big switch statement in the `upgradeCommand` function in [`canonicalizeAndValidateCommand`](../../../../../packages/lib-engine/src/core/commandVersionUpgrades/canonicalizeAndValidateCommand.ts). You can do this on the web [here](https://github.com/cursorless-dev/cursorless/blame/main/packages/lib-engine/src/core/commandVersionUpgrades/canonicalizeAndValidateCommand.ts)
1. Find the newest `case` branch that is at least one year old
1. Look at the version number that is the guard of that case branch; the minimum number should be that + 1
1. Run `pnpm transform-recorded-tests --upgrade --minimum-version 5`, where 5 is the minimum version number you found
@@ -90,9 +90,9 @@ We periodically upgrade test case fixtures to use the version of our command pay
### Custom transformation
-1. Add a new transformation to the [`transformRecordedTests` directory](../../../../../packages/cursorless-engine/src/scripts/transformRecordedTests). Look at the existing transformations in that directory for inspiration.
+1. Add a new transformation to the [`transformRecordedTests` directory](../../../../../packages/lib-engine/src/scripts/transformRecordedTests). Look at the existing transformations in that directory for inspiration.
1. Change the value at the `custom` key in `AVAILABLE_TRANSFORMATIONS` at the top of
- [`transformRecordedTests/index.ts`](../../../../../packages/cursorless-engine/src/scripts/transformRecordedTests/index.ts) to
+ [`transformRecordedTests/index.ts`](../../../../../packages/lib-engine/src/scripts/transformRecordedTests/index.ts) to
point to your new transformation
1. Run `pnpm transform-recorded-tests --custom`
diff --git a/packages/cursorless-org-docs/src/docs/contributing/tests.md b/packages/app-web-docs/src/docs/contributing/tests.md
similarity index 90%
rename from packages/cursorless-org-docs/src/docs/contributing/tests.md
rename to packages/app-web-docs/src/docs/contributing/tests.md
index 24989512ec..d695dbbf52 100644
--- a/packages/cursorless-org-docs/src/docs/contributing/tests.md
+++ b/packages/app-web-docs/src/docs/contributing/tests.md
@@ -21,7 +21,7 @@ You can get an overview of the various test contexts that exist locally by looki
- `pnpm test` runs the default `test` script for each workspace package. In practice, this is the fast unit-oriented test pass.
- `pnpm test:update` runs the test suite in fixture-update mode across the workspace.
-- `pnpm test:update:subset` runs fixture updates only for the tests selected in `packages/test-harness/testSubsetGrep.properties`.
-- `pnpm -F @cursorless/test-harness test:vscode` runs the VSCode test harness.
-- `pnpm -F @cursorless/test-harness test:neovim` runs the Neovim test harness.
-- `pnpm -F @cursorless/test-harness test:talonJs` runs the Talon-JS test harness.
+- `pnpm test:update:subset` runs fixture updates only for the tests selected in `packages/test-runner/testSubsetGrep.properties`.
+- `pnpm -F @cursorless/test-runner test:vscode` runs the VSCode test harness.
+- `pnpm -F @cursorless/test-runner test:neovim` runs the Neovim test harness.
+- `pnpm -F @cursorless/test-runner test:talonJs` runs the Talon-JS test harness.
diff --git a/packages/cursorless-org-docs/src/docs/contributing/tree-sitter-query-syntax.md b/packages/app-web-docs/src/docs/contributing/tree-sitter-query-syntax.md
similarity index 95%
rename from packages/cursorless-org-docs/src/docs/contributing/tree-sitter-query-syntax.md
rename to packages/app-web-docs/src/docs/contributing/tree-sitter-query-syntax.md
index 8aff8437a2..dd18da0102 100644
--- a/packages/cursorless-org-docs/src/docs/contributing/tree-sitter-query-syntax.md
+++ b/packages/app-web-docs/src/docs/contributing/tree-sitter-query-syntax.md
@@ -21,4 +21,4 @@ In addition to the above aspects, you can also use the following inline operator
## Query predicate operators
-We also support a number of query predicate operators for modifying the scope. See [`queryPredicateOperators.ts`](../../../../../packages/cursorless-engine/src/languages/TreeSitterQuery/queryPredicateOperators.ts) for a list of available operators.
+We also support a number of query predicate operators for modifying the scope. See [`queryPredicateOperators.ts`](../../../../../packages/lib-engine/src/languages/TreeSitterQuery/queryPredicateOperators.ts) for a list of available operators.
diff --git a/packages/cursorless-org-docs/src/docs/user/README.md b/packages/app-web-docs/src/docs/user/README.md
similarity index 98%
rename from packages/cursorless-org-docs/src/docs/user/README.md
rename to packages/app-web-docs/src/docs/user/README.md
index 340161fb40..5f9def669a 100644
--- a/packages/cursorless-org-docs/src/docs/user/README.md
+++ b/packages/app-web-docs/src/docs/user/README.md
@@ -145,7 +145,7 @@ Note that if the mark is `"this"`, and you have multiple cursors, the modifiers
##### Syntactic scopes
-For programming languages where Cursorless has rich parse tree support, we support modifiers that expand to the nearest containing function, class, etc. See [the source code](../../../../../packages/common/src/scopeSupportFacets/languageScopeSupport.ts) for a list of supported languages. Below is a list of supported scope types, keeping in mind that this table can sometimes lag behind the actual list. Your cheatsheet (say `"cursorless cheatsheet"` with VSCode focused) will have the most up-to-date list. It can also be helpful to use the [scope visualizer](./scope-visualizer.md) to visualize the scope types on your own code, though keep in mind that the scope visualizer only works on language scopes that have been upgraded to our next-gen scope engine, so it may not work every time.
+For programming languages where Cursorless has rich parse tree support, we support modifiers that expand to the nearest containing function, class, etc. See [the source code](../../../../../packages/lib-common/src/scopeSupportFacets/languageScopeSupport.ts) for a list of supported languages. Below is a list of supported scope types, keeping in mind that this table can sometimes lag behind the actual list. Your cheatsheet (say `"cursorless cheatsheet"` with VSCode focused) will have the most up-to-date list. It can also be helpful to use the [scope visualizer](./scope-visualizer.md) to visualize the scope types on your own code, though keep in mind that the scope visualizer only works on language scopes that have been upgraded to our next-gen scope engine, so it may not work every time.
| Term | Syntactic element |
| -------------- | --------------------------------------------------- |
diff --git a/packages/cursorless-org-docs/src/docs/user/customization.md b/packages/app-web-docs/src/docs/user/customization.md
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/customization.md
rename to packages/app-web-docs/src/docs/user/customization.md
diff --git a/packages/cursorless-org-docs/src/docs/user/experimental/README.md b/packages/app-web-docs/src/docs/user/experimental/README.md
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/experimental/README.md
rename to packages/app-web-docs/src/docs/user/experimental/README.md
diff --git a/packages/cursorless-org-docs/src/docs/user/experimental/images/linkWrap.gif b/packages/app-web-docs/src/docs/user/experimental/images/linkWrap.gif
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/experimental/images/linkWrap.gif
rename to packages/app-web-docs/src/docs/user/experimental/images/linkWrap.gif
diff --git a/packages/cursorless-org-docs/src/docs/user/experimental/images/tryWrapFine.gif b/packages/app-web-docs/src/docs/user/experimental/images/tryWrapFine.gif
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/experimental/images/tryWrapFine.gif
rename to packages/app-web-docs/src/docs/user/experimental/images/tryWrapFine.gif
diff --git a/packages/cursorless-org-docs/src/docs/user/experimental/keyboard/images/keyboardBring.gif b/packages/app-web-docs/src/docs/user/experimental/keyboard/images/keyboardBring.gif
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/experimental/keyboard/images/keyboardBring.gif
rename to packages/app-web-docs/src/docs/user/experimental/keyboard/images/keyboardBring.gif
diff --git a/packages/cursorless-org-docs/src/docs/user/experimental/keyboard/images/keyboardDelete.gif b/packages/app-web-docs/src/docs/user/experimental/keyboard/images/keyboardDelete.gif
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/experimental/keyboard/images/keyboardDelete.gif
rename to packages/app-web-docs/src/docs/user/experimental/keyboard/images/keyboardDelete.gif
diff --git a/packages/cursorless-org-docs/src/docs/user/experimental/keyboard/images/keyboardPour.gif b/packages/app-web-docs/src/docs/user/experimental/keyboard/images/keyboardPour.gif
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/experimental/keyboard/images/keyboardPour.gif
rename to packages/app-web-docs/src/docs/user/experimental/keyboard/images/keyboardPour.gif
diff --git a/packages/cursorless-org-docs/src/docs/user/experimental/keyboard/modal.md b/packages/app-web-docs/src/docs/user/experimental/keyboard/modal.md
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/experimental/keyboard/modal.md
rename to packages/app-web-docs/src/docs/user/experimental/keyboard/modal.md
diff --git a/packages/cursorless-org-docs/src/docs/user/glossary.md b/packages/app-web-docs/src/docs/user/glossary.md
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/glossary.md
rename to packages/app-web-docs/src/docs/user/glossary.md
diff --git a/packages/cursorless-org-docs/src/docs/user/hatAssignment.md b/packages/app-web-docs/src/docs/user/hatAssignment.md
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/hatAssignment.md
rename to packages/app-web-docs/src/docs/user/hatAssignment.md
diff --git a/packages/cursorless-org-docs/src/docs/user/how-to.md b/packages/app-web-docs/src/docs/user/how-to.md
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/how-to.md
rename to packages/app-web-docs/src/docs/user/how-to.md
diff --git a/packages/cursorless-org-docs/src/docs/user/images/chuckBat.gif b/packages/app-web-docs/src/docs/user/images/chuckBat.gif
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/images/chuckBat.gif
rename to packages/app-web-docs/src/docs/user/images/chuckBat.gif
diff --git a/packages/cursorless-org-docs/src/docs/user/images/custom-regex-scopes.png b/packages/app-web-docs/src/docs/user/images/custom-regex-scopes.png
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/images/custom-regex-scopes.png
rename to packages/app-web-docs/src/docs/user/images/custom-regex-scopes.png
diff --git a/packages/cursorless-org-docs/src/docs/user/images/relative_ordinal.png b/packages/app-web-docs/src/docs/user/images/relative_ordinal.png
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/images/relative_ordinal.png
rename to packages/app-web-docs/src/docs/user/images/relative_ordinal.png
diff --git a/packages/cursorless-org-docs/src/docs/user/images/relative_ordinal.tex b/packages/app-web-docs/src/docs/user/images/relative_ordinal.tex
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/images/relative_ordinal.tex
rename to packages/app-web-docs/src/docs/user/images/relative_ordinal.tex
diff --git a/packages/cursorless-org-docs/src/docs/user/images/sidebar-scopes.png b/packages/app-web-docs/src/docs/user/images/sidebar-scopes.png
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/images/sidebar-scopes.png
rename to packages/app-web-docs/src/docs/user/images/sidebar-scopes.png
diff --git a/packages/cursorless-org-docs/src/docs/user/images/visualize-block-removal.png b/packages/app-web-docs/src/docs/user/images/visualize-block-removal.png
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/images/visualize-block-removal.png
rename to packages/app-web-docs/src/docs/user/images/visualize-block-removal.png
diff --git a/packages/cursorless-org-docs/src/docs/user/images/visualize-funk.png b/packages/app-web-docs/src/docs/user/images/visualize-funk.png
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/images/visualize-funk.png
rename to packages/app-web-docs/src/docs/user/images/visualize-funk.png
diff --git a/packages/cursorless-org-docs/src/docs/user/images/visualize-token.png b/packages/app-web-docs/src/docs/user/images/visualize-token.png
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/images/visualize-token.png
rename to packages/app-web-docs/src/docs/user/images/visualize-token.png
diff --git a/packages/cursorless-org-docs/src/docs/user/installation.md b/packages/app-web-docs/src/docs/user/installation.md
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/installation.md
rename to packages/app-web-docs/src/docs/user/installation.md
diff --git a/packages/cursorless-org-docs/src/docs/user/languages/README.md b/packages/app-web-docs/src/docs/user/languages/README.md
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/languages/README.md
rename to packages/app-web-docs/src/docs/user/languages/README.md
diff --git a/packages/cursorless-org-docs/src/docs/user/languages/c.mdx b/packages/app-web-docs/src/docs/user/languages/c.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/languages/c.mdx
rename to packages/app-web-docs/src/docs/user/languages/c.mdx
diff --git a/packages/cursorless-org-docs/src/docs/user/languages/clojure.mdx b/packages/app-web-docs/src/docs/user/languages/clojure.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/languages/clojure.mdx
rename to packages/app-web-docs/src/docs/user/languages/clojure.mdx
diff --git a/packages/cursorless-org-docs/src/docs/user/languages/components/Language.tsx b/packages/app-web-docs/src/docs/user/languages/components/Language.tsx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/languages/components/Language.tsx
rename to packages/app-web-docs/src/docs/user/languages/components/Language.tsx
diff --git a/packages/cursorless-org-docs/src/docs/user/languages/cpp.mdx b/packages/app-web-docs/src/docs/user/languages/cpp.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/languages/cpp.mdx
rename to packages/app-web-docs/src/docs/user/languages/cpp.mdx
diff --git a/packages/cursorless-org-docs/src/docs/user/languages/csharp.mdx b/packages/app-web-docs/src/docs/user/languages/csharp.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/languages/csharp.mdx
rename to packages/app-web-docs/src/docs/user/languages/csharp.mdx
diff --git a/packages/cursorless-org-docs/src/docs/user/languages/css.mdx b/packages/app-web-docs/src/docs/user/languages/css.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/languages/css.mdx
rename to packages/app-web-docs/src/docs/user/languages/css.mdx
diff --git a/packages/cursorless-org-docs/src/docs/user/languages/dart.mdx b/packages/app-web-docs/src/docs/user/languages/dart.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/languages/dart.mdx
rename to packages/app-web-docs/src/docs/user/languages/dart.mdx
diff --git a/packages/cursorless-org-docs/src/docs/user/languages/go.mdx b/packages/app-web-docs/src/docs/user/languages/go.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/languages/go.mdx
rename to packages/app-web-docs/src/docs/user/languages/go.mdx
diff --git a/packages/cursorless-org-docs/src/docs/user/languages/html.mdx b/packages/app-web-docs/src/docs/user/languages/html.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/languages/html.mdx
rename to packages/app-web-docs/src/docs/user/languages/html.mdx
diff --git a/packages/cursorless-org-docs/src/docs/user/languages/java.mdx b/packages/app-web-docs/src/docs/user/languages/java.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/languages/java.mdx
rename to packages/app-web-docs/src/docs/user/languages/java.mdx
diff --git a/packages/cursorless-org-docs/src/docs/user/languages/javascript.mdx b/packages/app-web-docs/src/docs/user/languages/javascript.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/languages/javascript.mdx
rename to packages/app-web-docs/src/docs/user/languages/javascript.mdx
diff --git a/packages/cursorless-org-docs/src/docs/user/languages/javascriptreact.mdx b/packages/app-web-docs/src/docs/user/languages/javascriptreact.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/languages/javascriptreact.mdx
rename to packages/app-web-docs/src/docs/user/languages/javascriptreact.mdx
diff --git a/packages/cursorless-org-docs/src/docs/user/languages/json.mdx b/packages/app-web-docs/src/docs/user/languages/json.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/languages/json.mdx
rename to packages/app-web-docs/src/docs/user/languages/json.mdx
diff --git a/packages/cursorless-org-docs/src/docs/user/languages/jsonc.mdx b/packages/app-web-docs/src/docs/user/languages/jsonc.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/languages/jsonc.mdx
rename to packages/app-web-docs/src/docs/user/languages/jsonc.mdx
diff --git a/packages/cursorless-org-docs/src/docs/user/languages/jsonl.mdx b/packages/app-web-docs/src/docs/user/languages/jsonl.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/languages/jsonl.mdx
rename to packages/app-web-docs/src/docs/user/languages/jsonl.mdx
diff --git a/packages/cursorless-org-docs/src/docs/user/languages/kotlin.mdx b/packages/app-web-docs/src/docs/user/languages/kotlin.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/languages/kotlin.mdx
rename to packages/app-web-docs/src/docs/user/languages/kotlin.mdx
diff --git a/packages/cursorless-org-docs/src/docs/user/languages/latex.mdx b/packages/app-web-docs/src/docs/user/languages/latex.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/languages/latex.mdx
rename to packages/app-web-docs/src/docs/user/languages/latex.mdx
diff --git a/packages/cursorless-org-docs/src/docs/user/languages/lua.mdx b/packages/app-web-docs/src/docs/user/languages/lua.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/languages/lua.mdx
rename to packages/app-web-docs/src/docs/user/languages/lua.mdx
diff --git a/packages/cursorless-org-docs/src/docs/user/languages/markdown.mdx b/packages/app-web-docs/src/docs/user/languages/markdown.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/languages/markdown.mdx
rename to packages/app-web-docs/src/docs/user/languages/markdown.mdx
diff --git a/packages/cursorless-org-docs/src/docs/user/languages/php.mdx b/packages/app-web-docs/src/docs/user/languages/php.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/languages/php.mdx
rename to packages/app-web-docs/src/docs/user/languages/php.mdx
diff --git a/packages/cursorless-org-docs/src/docs/user/languages/plaintext.mdx b/packages/app-web-docs/src/docs/user/languages/plaintext.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/languages/plaintext.mdx
rename to packages/app-web-docs/src/docs/user/languages/plaintext.mdx
diff --git a/packages/cursorless-org-docs/src/docs/user/languages/properties.mdx b/packages/app-web-docs/src/docs/user/languages/properties.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/languages/properties.mdx
rename to packages/app-web-docs/src/docs/user/languages/properties.mdx
diff --git a/packages/cursorless-org-docs/src/docs/user/languages/python.mdx b/packages/app-web-docs/src/docs/user/languages/python.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/languages/python.mdx
rename to packages/app-web-docs/src/docs/user/languages/python.mdx
diff --git a/packages/cursorless-org-docs/src/docs/user/languages/r.mdx b/packages/app-web-docs/src/docs/user/languages/r.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/languages/r.mdx
rename to packages/app-web-docs/src/docs/user/languages/r.mdx
diff --git a/packages/cursorless-org-docs/src/docs/user/languages/ruby.mdx b/packages/app-web-docs/src/docs/user/languages/ruby.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/languages/ruby.mdx
rename to packages/app-web-docs/src/docs/user/languages/ruby.mdx
diff --git a/packages/cursorless-org-docs/src/docs/user/languages/rust.mdx b/packages/app-web-docs/src/docs/user/languages/rust.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/languages/rust.mdx
rename to packages/app-web-docs/src/docs/user/languages/rust.mdx
diff --git a/packages/cursorless-org-docs/src/docs/user/languages/scala.mdx b/packages/app-web-docs/src/docs/user/languages/scala.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/languages/scala.mdx
rename to packages/app-web-docs/src/docs/user/languages/scala.mdx
diff --git a/packages/cursorless-org-docs/src/docs/user/languages/scm.mdx b/packages/app-web-docs/src/docs/user/languages/scm.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/languages/scm.mdx
rename to packages/app-web-docs/src/docs/user/languages/scm.mdx
diff --git a/packages/cursorless-org-docs/src/docs/user/languages/scss.mdx b/packages/app-web-docs/src/docs/user/languages/scss.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/languages/scss.mdx
rename to packages/app-web-docs/src/docs/user/languages/scss.mdx
diff --git a/packages/cursorless-org-docs/src/docs/user/languages/talon-list.mdx b/packages/app-web-docs/src/docs/user/languages/talon-list.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/languages/talon-list.mdx
rename to packages/app-web-docs/src/docs/user/languages/talon-list.mdx
diff --git a/packages/cursorless-org-docs/src/docs/user/languages/talon.mdx b/packages/app-web-docs/src/docs/user/languages/talon.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/languages/talon.mdx
rename to packages/app-web-docs/src/docs/user/languages/talon.mdx
diff --git a/packages/cursorless-org-docs/src/docs/user/languages/typescript.mdx b/packages/app-web-docs/src/docs/user/languages/typescript.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/languages/typescript.mdx
rename to packages/app-web-docs/src/docs/user/languages/typescript.mdx
diff --git a/packages/cursorless-org-docs/src/docs/user/languages/typescriptreact.mdx b/packages/app-web-docs/src/docs/user/languages/typescriptreact.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/languages/typescriptreact.mdx
rename to packages/app-web-docs/src/docs/user/languages/typescriptreact.mdx
diff --git a/packages/cursorless-org-docs/src/docs/user/languages/xml.mdx b/packages/app-web-docs/src/docs/user/languages/xml.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/languages/xml.mdx
rename to packages/app-web-docs/src/docs/user/languages/xml.mdx
diff --git a/packages/cursorless-org-docs/src/docs/user/languages/yaml.mdx b/packages/app-web-docs/src/docs/user/languages/yaml.mdx
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/languages/yaml.mdx
rename to packages/app-web-docs/src/docs/user/languages/yaml.mdx
diff --git a/packages/cursorless-org-docs/src/docs/user/localCommandHIstory.md b/packages/app-web-docs/src/docs/user/localCommandHIstory.md
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/localCommandHIstory.md
rename to packages/app-web-docs/src/docs/user/localCommandHIstory.md
diff --git a/packages/cursorless-org-docs/src/docs/user/reference/destinations.md b/packages/app-web-docs/src/docs/user/reference/destinations.md
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/reference/destinations.md
rename to packages/app-web-docs/src/docs/user/reference/destinations.md
diff --git a/packages/cursorless-org-docs/src/docs/user/release-notes/0.28.0.md b/packages/app-web-docs/src/docs/user/release-notes/0.28.0.md
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/release-notes/0.28.0.md
rename to packages/app-web-docs/src/docs/user/release-notes/0.28.0.md
diff --git a/packages/cursorless-org-docs/src/docs/user/release-notes/0.29.0.md b/packages/app-web-docs/src/docs/user/release-notes/0.29.0.md
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/release-notes/0.29.0.md
rename to packages/app-web-docs/src/docs/user/release-notes/0.29.0.md
diff --git a/packages/cursorless-org-docs/src/docs/user/release-notes/1.0.0.md b/packages/app-web-docs/src/docs/user/release-notes/1.0.0.md
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/release-notes/1.0.0.md
rename to packages/app-web-docs/src/docs/user/release-notes/1.0.0.md
diff --git a/packages/cursorless-org-docs/src/docs/user/release-notes/1.1.0.md b/packages/app-web-docs/src/docs/user/release-notes/1.1.0.md
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/release-notes/1.1.0.md
rename to packages/app-web-docs/src/docs/user/release-notes/1.1.0.md
diff --git a/packages/cursorless-org-docs/src/docs/user/release-notes/2022-year-in-review.md b/packages/app-web-docs/src/docs/user/release-notes/2022-year-in-review.md
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/release-notes/2022-year-in-review.md
rename to packages/app-web-docs/src/docs/user/release-notes/2022-year-in-review.md
diff --git a/packages/cursorless-org-docs/src/docs/user/release-notes/README.md b/packages/app-web-docs/src/docs/user/release-notes/README.md
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/release-notes/README.md
rename to packages/app-web-docs/src/docs/user/release-notes/README.md
diff --git a/packages/cursorless-org-docs/src/docs/user/release-notes/big-hats.png b/packages/app-web-docs/src/docs/user/release-notes/big-hats.png
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/release-notes/big-hats.png
rename to packages/app-web-docs/src/docs/user/release-notes/big-hats.png
diff --git a/packages/cursorless-org-docs/src/docs/user/release-notes/sidebar-containment-icons.png b/packages/app-web-docs/src/docs/user/release-notes/sidebar-containment-icons.png
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/release-notes/sidebar-containment-icons.png
rename to packages/app-web-docs/src/docs/user/release-notes/sidebar-containment-icons.png
diff --git a/packages/cursorless-org-docs/src/docs/user/release-notes/sidebar-sneak-preview.png b/packages/app-web-docs/src/docs/user/release-notes/sidebar-sneak-preview.png
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/release-notes/sidebar-sneak-preview.png
rename to packages/app-web-docs/src/docs/user/release-notes/sidebar-sneak-preview.png
diff --git a/packages/cursorless-org-docs/src/docs/user/scope-sidebar.md b/packages/app-web-docs/src/docs/user/scope-sidebar.md
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/scope-sidebar.md
rename to packages/app-web-docs/src/docs/user/scope-sidebar.md
diff --git a/packages/cursorless-org-docs/src/docs/user/scope-visualizer.md b/packages/app-web-docs/src/docs/user/scope-visualizer.md
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/scope-visualizer.md
rename to packages/app-web-docs/src/docs/user/scope-visualizer.md
diff --git a/packages/cursorless-org-docs/src/docs/user/unicode.md b/packages/app-web-docs/src/docs/user/unicode.md
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/unicode.md
rename to packages/app-web-docs/src/docs/user/unicode.md
diff --git a/packages/cursorless-org-docs/src/docs/user/updating.md b/packages/app-web-docs/src/docs/user/updating.md
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/updating.md
rename to packages/app-web-docs/src/docs/user/updating.md
diff --git a/packages/cursorless-org-docs/src/docs/user/visualAccessibility.md b/packages/app-web-docs/src/docs/user/visualAccessibility.md
similarity index 100%
rename from packages/cursorless-org-docs/src/docs/user/visualAccessibility.md
rename to packages/app-web-docs/src/docs/user/visualAccessibility.md
diff --git a/packages/cursorless-org-docs/src/plugins/scope-tests-plugin.ts b/packages/app-web-docs/src/plugins/scope-tests-plugin.ts
similarity index 97%
rename from packages/cursorless-org-docs/src/plugins/scope-tests-plugin.ts
rename to packages/app-web-docs/src/plugins/scope-tests-plugin.ts
index f331713bcf..4641c1e3de 100644
--- a/packages/cursorless-org-docs/src/plugins/scope-tests-plugin.ts
+++ b/packages/app-web-docs/src/plugins/scope-tests-plugin.ts
@@ -1,8 +1,8 @@
-import type { ScopeTestPath } from "@cursorless/node-common";
+import type { ScopeTestPath } from "@cursorless/lib-node-common";
import {
getScopeTestLanguagesRecursively,
getScopeTestPaths,
-} from "@cursorless/node-common";
+} from "@cursorless/lib-node-common";
import type { LoadContext, Plugin, PluginOptions } from "@docusaurus/types";
import * as fs from "node:fs";
import * as path from "node:path";
diff --git a/packages/cursorless-org-docs/src/theme/Root.tsx b/packages/app-web-docs/src/theme/Root.tsx
similarity index 100%
rename from packages/cursorless-org-docs/src/theme/Root.tsx
rename to packages/app-web-docs/src/theme/Root.tsx
diff --git a/packages/cursorless-org-docs/static/logo-dark.svg b/packages/app-web-docs/static/logo-dark.svg
similarity index 100%
rename from packages/cursorless-org-docs/static/logo-dark.svg
rename to packages/app-web-docs/static/logo-dark.svg
diff --git a/packages/cursorless-org-docs/static/logo.svg b/packages/app-web-docs/static/logo.svg
similarity index 100%
rename from packages/cursorless-org-docs/static/logo.svg
rename to packages/app-web-docs/static/logo.svg
diff --git a/packages/cursorless-org-docs/tsconfig.json b/packages/app-web-docs/tsconfig.json
similarity index 100%
rename from packages/cursorless-org-docs/tsconfig.json
rename to packages/app-web-docs/tsconfig.json
diff --git a/packages/cursorless-org/README.md b/packages/app-web/README.md
similarity index 100%
rename from packages/cursorless-org/README.md
rename to packages/app-web/README.md
diff --git a/packages/cursorless-org/eslintConfig.ts b/packages/app-web/eslintConfig.ts
similarity index 83%
rename from packages/cursorless-org/eslintConfig.ts
rename to packages/app-web/eslintConfig.ts
index a4fbc0de15..e3c0d26482 100644
--- a/packages/cursorless-org/eslintConfig.ts
+++ b/packages/app-web/eslintConfig.ts
@@ -2,7 +2,7 @@ import type { ConfigWithExtends } from "@eslint/config-helpers";
import tsEslint from "typescript-eslint";
export const cursorlessOrgConfig: ConfigWithExtends = {
- files: ["packages/cursorless-org/**/*"],
+ files: ["packages/app-web/**/*"],
languageOptions: {
parser: tsEslint.parser,
diff --git a/packages/cursorless-org/index.html b/packages/app-web/index.html
similarity index 100%
rename from packages/cursorless-org/index.html
rename to packages/app-web/index.html
diff --git a/packages/cursorless-org/package.json b/packages/app-web/package.json
similarity index 85%
rename from packages/cursorless-org/package.json
rename to packages/app-web/package.json
index 7aa7bf0aa2..9c78d6f44a 100644
--- a/packages/cursorless-org/package.json
+++ b/packages/app-web/package.json
@@ -1,5 +1,5 @@
{
- "name": "@cursorless/cursorless-org",
+ "name": "@cursorless/app-web",
"version": "0.1.0",
"description": "The cursorless.org website",
"license": "MIT",
@@ -12,8 +12,8 @@
"build": "env NODE_OPTIONS=--import=tsx vite build"
},
"dependencies": {
- "@cursorless/cheatsheet": "workspace:*",
- "@cursorless/common": "workspace:*",
+ "@cursorless/lib-cheatsheet": "workspace:*",
+ "@cursorless/lib-common": "workspace:*",
"bootstrap": "^5.3.8",
"preact": "^10.29.0",
"react-player": "^3.4.0",
diff --git a/packages/cursorless-org/public/_redirects b/packages/app-web/public/_redirects
similarity index 100%
rename from packages/cursorless-org/public/_redirects
rename to packages/app-web/public/_redirects
diff --git a/packages/cursorless-org/public/android-chrome-192x192.png b/packages/app-web/public/android-chrome-192x192.png
similarity index 100%
rename from packages/cursorless-org/public/android-chrome-192x192.png
rename to packages/app-web/public/android-chrome-192x192.png
diff --git a/packages/cursorless-org/public/android-chrome-512x512.png b/packages/app-web/public/android-chrome-512x512.png
similarity index 100%
rename from packages/cursorless-org/public/android-chrome-512x512.png
rename to packages/app-web/public/android-chrome-512x512.png
diff --git a/packages/cursorless-org/public/apple-touch-icon.png b/packages/app-web/public/apple-touch-icon.png
similarity index 100%
rename from packages/cursorless-org/public/apple-touch-icon.png
rename to packages/app-web/public/apple-touch-icon.png
diff --git a/packages/cursorless-org/public/browserconfig.xml b/packages/app-web/public/browserconfig.xml
similarity index 100%
rename from packages/cursorless-org/public/browserconfig.xml
rename to packages/app-web/public/browserconfig.xml
diff --git a/packages/cursorless-org/public/favicon-16x16.png b/packages/app-web/public/favicon-16x16.png
similarity index 100%
rename from packages/cursorless-org/public/favicon-16x16.png
rename to packages/app-web/public/favicon-16x16.png
diff --git a/packages/cursorless-org/public/favicon-32x32.png b/packages/app-web/public/favicon-32x32.png
similarity index 100%
rename from packages/cursorless-org/public/favicon-32x32.png
rename to packages/app-web/public/favicon-32x32.png
diff --git a/packages/cursorless-org/public/favicon.ico b/packages/app-web/public/favicon.ico
similarity index 100%
rename from packages/cursorless-org/public/favicon.ico
rename to packages/app-web/public/favicon.ico
diff --git a/packages/cursorless-org/public/favicon.png b/packages/app-web/public/favicon.png
similarity index 100%
rename from packages/cursorless-org/public/favicon.png
rename to packages/app-web/public/favicon.png
diff --git a/packages/cursorless-org/public/favicon.svg b/packages/app-web/public/favicon.svg
similarity index 100%
rename from packages/cursorless-org/public/favicon.svg
rename to packages/app-web/public/favicon.svg
diff --git a/packages/cursorless-org/public/fonts/Inconsolata-Bold.ttf b/packages/app-web/public/fonts/Inconsolata-Bold.ttf
similarity index 100%
rename from packages/cursorless-org/public/fonts/Inconsolata-Bold.ttf
rename to packages/app-web/public/fonts/Inconsolata-Bold.ttf
diff --git a/packages/cursorless-org/public/fonts/Inconsolata-ExtraLight.ttf b/packages/app-web/public/fonts/Inconsolata-ExtraLight.ttf
similarity index 100%
rename from packages/cursorless-org/public/fonts/Inconsolata-ExtraLight.ttf
rename to packages/app-web/public/fonts/Inconsolata-ExtraLight.ttf
diff --git a/packages/cursorless-org/public/fonts/Inconsolata-Light.ttf b/packages/app-web/public/fonts/Inconsolata-Light.ttf
similarity index 100%
rename from packages/cursorless-org/public/fonts/Inconsolata-Light.ttf
rename to packages/app-web/public/fonts/Inconsolata-Light.ttf
diff --git a/packages/cursorless-org/public/fonts/Inconsolata-Medium.ttf b/packages/app-web/public/fonts/Inconsolata-Medium.ttf
similarity index 100%
rename from packages/cursorless-org/public/fonts/Inconsolata-Medium.ttf
rename to packages/app-web/public/fonts/Inconsolata-Medium.ttf
diff --git a/packages/cursorless-org/public/fonts/Inconsolata-Regular.ttf b/packages/app-web/public/fonts/Inconsolata-Regular.ttf
similarity index 100%
rename from packages/cursorless-org/public/fonts/Inconsolata-Regular.ttf
rename to packages/app-web/public/fonts/Inconsolata-Regular.ttf
diff --git a/packages/cursorless-org/public/fonts/Inconsolata-SemiBold.ttf b/packages/app-web/public/fonts/Inconsolata-SemiBold.ttf
similarity index 100%
rename from packages/cursorless-org/public/fonts/Inconsolata-SemiBold.ttf
rename to packages/app-web/public/fonts/Inconsolata-SemiBold.ttf
diff --git a/packages/cursorless-org/public/fonts/Inconsolata_SemiExpanded-Bold.ttf b/packages/app-web/public/fonts/Inconsolata_SemiExpanded-Bold.ttf
similarity index 100%
rename from packages/cursorless-org/public/fonts/Inconsolata_SemiExpanded-Bold.ttf
rename to packages/app-web/public/fonts/Inconsolata_SemiExpanded-Bold.ttf
diff --git a/packages/cursorless-org/public/fonts/Inconsolata_SemiExpanded-ExtraBold.ttf b/packages/app-web/public/fonts/Inconsolata_SemiExpanded-ExtraBold.ttf
similarity index 100%
rename from packages/cursorless-org/public/fonts/Inconsolata_SemiExpanded-ExtraBold.ttf
rename to packages/app-web/public/fonts/Inconsolata_SemiExpanded-ExtraBold.ttf
diff --git a/packages/cursorless-org/public/fonts/Inconsolata_SemiExpanded-Light.ttf b/packages/app-web/public/fonts/Inconsolata_SemiExpanded-Light.ttf
similarity index 100%
rename from packages/cursorless-org/public/fonts/Inconsolata_SemiExpanded-Light.ttf
rename to packages/app-web/public/fonts/Inconsolata_SemiExpanded-Light.ttf
diff --git a/packages/cursorless-org/public/fonts/Inconsolata_SemiExpanded-Medium.ttf b/packages/app-web/public/fonts/Inconsolata_SemiExpanded-Medium.ttf
similarity index 100%
rename from packages/cursorless-org/public/fonts/Inconsolata_SemiExpanded-Medium.ttf
rename to packages/app-web/public/fonts/Inconsolata_SemiExpanded-Medium.ttf
diff --git a/packages/cursorless-org/public/fonts/Inconsolata_SemiExpanded-Regular.ttf b/packages/app-web/public/fonts/Inconsolata_SemiExpanded-Regular.ttf
similarity index 100%
rename from packages/cursorless-org/public/fonts/Inconsolata_SemiExpanded-Regular.ttf
rename to packages/app-web/public/fonts/Inconsolata_SemiExpanded-Regular.ttf
diff --git a/packages/cursorless-org/public/fonts/Inconsolata_SemiExpanded-SemiBold.ttf b/packages/app-web/public/fonts/Inconsolata_SemiExpanded-SemiBold.ttf
similarity index 100%
rename from packages/cursorless-org/public/fonts/Inconsolata_SemiExpanded-SemiBold.ttf
rename to packages/app-web/public/fonts/Inconsolata_SemiExpanded-SemiBold.ttf
diff --git a/packages/cursorless-org/public/logo-dark.svg b/packages/app-web/public/logo-dark.svg
similarity index 100%
rename from packages/cursorless-org/public/logo-dark.svg
rename to packages/app-web/public/logo-dark.svg
diff --git a/packages/cursorless-org/public/logo.svg b/packages/app-web/public/logo.svg
similarity index 100%
rename from packages/cursorless-org/public/logo.svg
rename to packages/app-web/public/logo.svg
diff --git a/packages/cursorless-org/public/mstile-144x144.png b/packages/app-web/public/mstile-144x144.png
similarity index 100%
rename from packages/cursorless-org/public/mstile-144x144.png
rename to packages/app-web/public/mstile-144x144.png
diff --git a/packages/cursorless-org/public/mstile-150x150.png b/packages/app-web/public/mstile-150x150.png
similarity index 100%
rename from packages/cursorless-org/public/mstile-150x150.png
rename to packages/app-web/public/mstile-150x150.png
diff --git a/packages/cursorless-org/public/mstile-310x150.png b/packages/app-web/public/mstile-310x150.png
similarity index 100%
rename from packages/cursorless-org/public/mstile-310x150.png
rename to packages/app-web/public/mstile-310x150.png
diff --git a/packages/cursorless-org/public/mstile-310x310.png b/packages/app-web/public/mstile-310x310.png
similarity index 100%
rename from packages/cursorless-org/public/mstile-310x310.png
rename to packages/app-web/public/mstile-310x310.png
diff --git a/packages/cursorless-org/public/mstile-70x70.png b/packages/app-web/public/mstile-70x70.png
similarity index 100%
rename from packages/cursorless-org/public/mstile-70x70.png
rename to packages/app-web/public/mstile-70x70.png
diff --git a/packages/cursorless-org/public/safari-pinned-tab.svg b/packages/app-web/public/safari-pinned-tab.svg
similarity index 100%
rename from packages/cursorless-org/public/safari-pinned-tab.svg
rename to packages/app-web/public/safari-pinned-tab.svg
diff --git a/packages/cursorless-org/public/site.webmanifest b/packages/app-web/public/site.webmanifest
similarity index 100%
rename from packages/cursorless-org/public/site.webmanifest
rename to packages/app-web/public/site.webmanifest
diff --git a/packages/cursorless-org/public/video-share-thumbnail.jpg b/packages/app-web/public/video-share-thumbnail.jpg
similarity index 100%
rename from packages/cursorless-org/public/video-share-thumbnail.jpg
rename to packages/app-web/public/video-share-thumbnail.jpg
diff --git a/packages/cursorless-org/src/App.tsx b/packages/app-web/src/App.tsx
similarity index 100%
rename from packages/cursorless-org/src/App.tsx
rename to packages/app-web/src/App.tsx
diff --git a/packages/cursorless-org/src/Button.tsx b/packages/app-web/src/Button.tsx
similarity index 100%
rename from packages/cursorless-org/src/Button.tsx
rename to packages/app-web/src/Button.tsx
diff --git a/packages/cursorless-org/src/Cheatsheet.tsx b/packages/app-web/src/Cheatsheet.tsx
similarity index 52%
rename from packages/cursorless-org/src/Cheatsheet.tsx
rename to packages/app-web/src/Cheatsheet.tsx
index 7d95fcec0c..86bb9269a7 100644
--- a/packages/cursorless-org/src/Cheatsheet.tsx
+++ b/packages/app-web/src/Cheatsheet.tsx
@@ -1,5 +1,5 @@
-import { Cheatsheet as OriginalCheatsheet } from "@cursorless/cheatsheet";
-import defaultCheatsheetInfo from "@cursorless/cheatsheet/defaultSpokenForms";
+import { Cheatsheet as OriginalCheatsheet } from "@cursorless/lib-cheatsheet";
+import defaultCheatsheetInfo from "@cursorless/lib-cheatsheet/defaultSpokenForms";
export function Cheatsheet() {
return (
diff --git a/packages/cursorless-org/src/EmbeddedVideo.tsx b/packages/app-web/src/EmbeddedVideo.tsx
similarity index 100%
rename from packages/cursorless-org/src/EmbeddedVideo.tsx
rename to packages/app-web/src/EmbeddedVideo.tsx
diff --git a/packages/cursorless-org/src/LandingPage.tsx b/packages/app-web/src/LandingPage.tsx
similarity index 100%
rename from packages/cursorless-org/src/LandingPage.tsx
rename to packages/app-web/src/LandingPage.tsx
diff --git a/packages/cursorless-org/src/constants.ts b/packages/app-web/src/constants.ts
similarity index 86%
rename from packages/cursorless-org/src/constants.ts
rename to packages/app-web/src/constants.ts
index 56d4f20ccf..507104bb27 100644
--- a/packages/cursorless-org/src/constants.ts
+++ b/packages/app-web/src/constants.ts
@@ -1,4 +1,4 @@
-import { CURSORLESS_ORG_URL } from "@cursorless/common";
+import { CURSORLESS_ORG_URL } from "@cursorless/lib-common";
export const NAME = "Cursorless";
export const DESCRIPTION = "Voice coding at the speed of thought";
diff --git a/packages/cursorless-org/src/index.tsx b/packages/app-web/src/index.tsx
similarity index 100%
rename from packages/cursorless-org/src/index.tsx
rename to packages/app-web/src/index.tsx
diff --git a/packages/cursorless-org/src/logo.svg b/packages/app-web/src/logo.svg
similarity index 100%
rename from packages/cursorless-org/src/logo.svg
rename to packages/app-web/src/logo.svg
diff --git a/packages/cursorless-org/src/styles.css b/packages/app-web/src/styles.css
similarity index 100%
rename from packages/cursorless-org/src/styles.css
rename to packages/app-web/src/styles.css
diff --git a/packages/cursorless-org/src/vite-env.d.ts b/packages/app-web/src/vite-env.d.ts
similarity index 100%
rename from packages/cursorless-org/src/vite-env.d.ts
rename to packages/app-web/src/vite-env.d.ts
diff --git a/packages/cheatsheet-local/tsconfig.json b/packages/app-web/tsconfig.json
similarity index 100%
rename from packages/cheatsheet-local/tsconfig.json
rename to packages/app-web/tsconfig.json
diff --git a/packages/cursorless-org/vite.config.ts b/packages/app-web/vite.config.ts
similarity index 89%
rename from packages/cursorless-org/vite.config.ts
rename to packages/app-web/vite.config.ts
index 364d3dc9d6..b7ef3e2990 100644
--- a/packages/cursorless-org/vite.config.ts
+++ b/packages/app-web/vite.config.ts
@@ -1,5 +1,5 @@
-import { CURSORLESS_ORG_URL } from "@cursorless/common";
-import { viteHtmlParams, vitePreactAlias } from "@cursorless/common/vite";
+import { CURSORLESS_ORG_URL } from "@cursorless/lib-common";
+import { viteHtmlParams, vitePreactAlias } from "@cursorless/lib-common/vite";
import type { UserConfig } from "vite";
import { defineConfig } from "vite";
import purgeCss from "vite-plugin-purgecss";
diff --git a/packages/cursorless-everywhere-talon-e2e/src/types/cursorless.ts b/packages/cursorless-everywhere-talon-e2e/src/types/cursorless.ts
deleted file mode 100644
index 1ff89cd691..0000000000
--- a/packages/cursorless-everywhere-talon-e2e/src/types/cursorless.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-import type { RunMode } from "@cursorless/common";
-import type {
- ActivateReturnValue,
- Talon,
-} from "@cursorless/cursorless-everywhere-talon-core";
-
-export interface Extension {
- activate(talon: Talon, runMode: RunMode): Promise;
-}
diff --git a/packages/cursorless-everywhere-talon/src/extension.ts b/packages/cursorless-everywhere-talon/src/extension.ts
deleted file mode 100644
index 6df740cf7b..0000000000
--- a/packages/cursorless-everywhere-talon/src/extension.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import type { RunMode } from "@cursorless/common";
-import { activate as activateCore } from "@cursorless/cursorless-everywhere-talon-core";
-import * as talon from "talon";
-
-export async function activate(runMode: RunMode): Promise {
- await activateCore(talon, runMode);
-}
diff --git a/packages/cursorless-org/scripts/mac-serve-bind-external b/packages/cursorless-org/scripts/mac-serve-bind-external
deleted file mode 100755
index db7989eef2..0000000000
--- a/packages/cursorless-org/scripts/mac-serve-bind-external
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/usr/bin/env bash
-# Runs the development server, binding to 0.0.0.0 so that it can be tested from
-# eg your mobile phone. Also copies the external URL. Only works on MacOS.
-set -euo pipefail
-
-if [[ $OSTYPE != 'darwin'* ]]; then
- echo "This script only works on MacOS"
- exit 1
-fi
-
-# From https://apple.stackexchange.com/a/147777
-ip_address=$(ifconfig | grep "inet " | grep -Fv 127.0.0.1 | awk '{print $2}')
-
-url="http://${ip_address}:4200/"
-
-echo -n "$url" | pbcopy
-echo "URL '${url}' copied to clipboard!"
-
-# From https://github.com/nrwl/nx/issues/2123#issuecomment-1048184095
-nx serve cursorless-org -- --hostname 0.0.0.0
diff --git a/packages/cheatsheet-local/README.md b/packages/lib-cheatsheet-local/README.md
similarity index 79%
rename from packages/cheatsheet-local/README.md
rename to packages/lib-cheatsheet-local/README.md
index 4a72cf7c4e..0e9663a771 100644
--- a/packages/cheatsheet-local/README.md
+++ b/packages/lib-cheatsheet-local/README.md
@@ -1,8 +1,8 @@
# Local cheatsheet
-This app just bundles up the cheatsheet into a single file to be used when the user says `"cursorless cheatsheet"`. The file inlines all css and js so that it can be opened as a single file by the end user. During actual production use, Talon will send the user's custom spoken forms to the Cursorless engine, which will [inject them](../cursorless-engine/src/core/Cheatsheet.ts) into the cheatsheet using a global variable.
+This app just bundles up the cheatsheet into a single file to be used when the user says `"cursorless cheatsheet"`. The file inlines all css and js so that it can be opened as a single file by the end user. During actual production use, Talon will send the user's custom spoken forms to the Cursorless engine, which will [inject them](../lib-engine/src/core/Cheatsheet.ts) into the cheatsheet using a global variable.
-Note that there is no development server for this app. It is just a bundle step. If you want a live development environment for the cheatsheet, you should use the cheatsheet page in [the `cursorless-org` package](../cursorless-org).
+Note that there is no development server for this app. It is just a bundle step. If you want a live development environment for the cheatsheet, you should use the cheatsheet page in [the `app-web` package](../app-web).
## Tasks
diff --git a/packages/cheatsheet-local/index.html b/packages/lib-cheatsheet-local/index.html
similarity index 100%
rename from packages/cheatsheet-local/index.html
rename to packages/lib-cheatsheet-local/index.html
diff --git a/packages/cheatsheet/jest.config.ts b/packages/lib-cheatsheet-local/jest.config.ts
similarity index 78%
rename from packages/cheatsheet/jest.config.ts
rename to packages/lib-cheatsheet-local/jest.config.ts
index af74c7a652..2dd42b2354 100644
--- a/packages/cheatsheet/jest.config.ts
+++ b/packages/lib-cheatsheet-local/jest.config.ts
@@ -1,5 +1,5 @@
import type { Config } from "jest";
-import { preactModuleNameMapper } from "@cursorless/common/jest";
+import { preactModuleNameMapper } from "@cursorless/lib-common/jest";
const config: Config = {
preset: "ts-jest",
diff --git a/packages/cheatsheet-local/package.json b/packages/lib-cheatsheet-local/package.json
similarity index 86%
rename from packages/cheatsheet-local/package.json
rename to packages/lib-cheatsheet-local/package.json
index 64108ac472..f6f7c528f1 100644
--- a/packages/cheatsheet-local/package.json
+++ b/packages/lib-cheatsheet-local/package.json
@@ -1,5 +1,5 @@
{
- "name": "@cursorless/cheatsheet-local",
+ "name": "@cursorless/lib-cheatsheet-local",
"version": "0.1.0",
"description": "Thin wrapper around the cheatsheet for showing local cheatsheet",
"license": "MIT",
@@ -15,8 +15,8 @@
"bundle:watch": "env NODE_OPTIONS=--import=tsx vite build --mode development --watch"
},
"dependencies": {
- "@cursorless/cheatsheet": "workspace:*",
- "@cursorless/common": "workspace:*",
+ "@cursorless/lib-cheatsheet": "workspace:*",
+ "@cursorless/lib-common": "workspace:*",
"bootstrap": "^5.3.8",
"preact": "^10.29.0"
},
diff --git a/packages/cheatsheet-local/src/app.tsx b/packages/lib-cheatsheet-local/src/app.tsx
similarity index 78%
rename from packages/cheatsheet-local/src/app.tsx
rename to packages/lib-cheatsheet-local/src/app.tsx
index ea1332d4b6..efc338c031 100644
--- a/packages/cheatsheet-local/src/app.tsx
+++ b/packages/lib-cheatsheet-local/src/app.tsx
@@ -1,5 +1,5 @@
-import type { CheatsheetInfo } from "@cursorless/cheatsheet";
-import { Cheatsheet } from "@cursorless/cheatsheet";
+import type { CheatsheetInfo } from "@cursorless/lib-cheatsheet";
+import { Cheatsheet } from "@cursorless/lib-cheatsheet";
import "./styles.css";
declare global {
diff --git a/packages/cheatsheet-local/src/index.tsx b/packages/lib-cheatsheet-local/src/index.tsx
similarity index 100%
rename from packages/cheatsheet-local/src/index.tsx
rename to packages/lib-cheatsheet-local/src/index.tsx
diff --git a/packages/cheatsheet-local/src/styles.css b/packages/lib-cheatsheet-local/src/styles.css
similarity index 100%
rename from packages/cheatsheet-local/src/styles.css
rename to packages/lib-cheatsheet-local/src/styles.css
diff --git a/packages/cheatsheet-local/src/test/app.spec.tsx b/packages/lib-cheatsheet-local/src/test/app.spec.tsx
similarity index 92%
rename from packages/cheatsheet-local/src/test/app.spec.tsx
rename to packages/lib-cheatsheet-local/src/test/app.spec.tsx
index ec265fb7dd..0b1344915e 100644
--- a/packages/cheatsheet-local/src/test/app.spec.tsx
+++ b/packages/lib-cheatsheet-local/src/test/app.spec.tsx
@@ -1,4 +1,4 @@
-import { fakeCheatsheetInfo } from "@cursorless/cheatsheet";
+import { fakeCheatsheetInfo } from "@cursorless/lib-cheatsheet";
import { render } from "preact";
import { act } from "preact/test-utils";
import { App } from "../app";
diff --git a/packages/cheatsheet-local/src/test/styleMock.ts b/packages/lib-cheatsheet-local/src/test/styleMock.ts
similarity index 100%
rename from packages/cheatsheet-local/src/test/styleMock.ts
rename to packages/lib-cheatsheet-local/src/test/styleMock.ts
diff --git a/packages/cheatsheet/tsconfig.json b/packages/lib-cheatsheet-local/tsconfig.json
similarity index 100%
rename from packages/cheatsheet/tsconfig.json
rename to packages/lib-cheatsheet-local/tsconfig.json
diff --git a/packages/cheatsheet-local/vite.config.ts b/packages/lib-cheatsheet-local/vite.config.ts
similarity index 75%
rename from packages/cheatsheet-local/vite.config.ts
rename to packages/lib-cheatsheet-local/vite.config.ts
index edf7ba61d2..ab4eb0c5ba 100644
--- a/packages/cheatsheet-local/vite.config.ts
+++ b/packages/lib-cheatsheet-local/vite.config.ts
@@ -1,5 +1,5 @@
-import defaultCheatsheetInfo from "@cursorless/cheatsheet/defaultSpokenForms";
-import { viteHtmlParams, vitePreactAlias } from "@cursorless/common/vite";
+import defaultCheatsheetInfo from "@cursorless/lib-cheatsheet/defaultSpokenForms";
+import { viteHtmlParams, vitePreactAlias } from "@cursorless/lib-common/vite";
import { defineConfig, type UserConfig } from "vite";
import purgeCss from "vite-plugin-purgecss";
import { viteSingleFile } from "vite-plugin-singlefile";
diff --git a/packages/cheatsheet-local/jest.config.ts b/packages/lib-cheatsheet/jest.config.ts
similarity index 78%
rename from packages/cheatsheet-local/jest.config.ts
rename to packages/lib-cheatsheet/jest.config.ts
index af74c7a652..2dd42b2354 100644
--- a/packages/cheatsheet-local/jest.config.ts
+++ b/packages/lib-cheatsheet/jest.config.ts
@@ -1,5 +1,5 @@
import type { Config } from "jest";
-import { preactModuleNameMapper } from "@cursorless/common/jest";
+import { preactModuleNameMapper } from "@cursorless/lib-common/jest";
const config: Config = {
preset: "ts-jest",
diff --git a/packages/cheatsheet/package.json b/packages/lib-cheatsheet/package.json
similarity index 88%
rename from packages/cheatsheet/package.json
rename to packages/lib-cheatsheet/package.json
index 4438cd6ff4..459883ec7c 100644
--- a/packages/cheatsheet/package.json
+++ b/packages/lib-cheatsheet/package.json
@@ -1,5 +1,5 @@
{
- "name": "@cursorless/cheatsheet",
+ "name": "@cursorless/lib-cheatsheet",
"version": "0.1.0",
"description": "Core cheatsheet Preact component",
"license": "MIT",
@@ -17,7 +17,7 @@
"test": "jest"
},
"dependencies": {
- "@cursorless/common": "workspace:*",
+ "@cursorless/lib-common": "workspace:*",
"preact": "^10.29.0",
"react-bootstrap-icons": "^1.11.6"
},
diff --git a/packages/cheatsheet/src/index.ts b/packages/lib-cheatsheet/src/index.ts
similarity index 100%
rename from packages/cheatsheet/src/index.ts
rename to packages/lib-cheatsheet/src/index.ts
diff --git a/packages/cheatsheet/src/lib/Cheatsheet.tsx b/packages/lib-cheatsheet/src/lib/Cheatsheet.tsx
similarity index 100%
rename from packages/cheatsheet/src/lib/Cheatsheet.tsx
rename to packages/lib-cheatsheet/src/lib/Cheatsheet.tsx
diff --git a/packages/cheatsheet/src/lib/CheatsheetLegendSection.tsx b/packages/lib-cheatsheet/src/lib/CheatsheetLegendSection.tsx
similarity index 100%
rename from packages/cheatsheet/src/lib/CheatsheetLegendSection.tsx
rename to packages/lib-cheatsheet/src/lib/CheatsheetLegendSection.tsx
diff --git a/packages/cheatsheet/src/lib/CheatsheetListSection.tsx b/packages/lib-cheatsheet/src/lib/CheatsheetListSection.tsx
similarity index 100%
rename from packages/cheatsheet/src/lib/CheatsheetListSection.tsx
rename to packages/lib-cheatsheet/src/lib/CheatsheetListSection.tsx
diff --git a/packages/cheatsheet/src/lib/CheatsheetNotesSection.tsx b/packages/lib-cheatsheet/src/lib/CheatsheetNotesSection.tsx
similarity index 100%
rename from packages/cheatsheet/src/lib/CheatsheetNotesSection.tsx
rename to packages/lib-cheatsheet/src/lib/CheatsheetNotesSection.tsx
diff --git a/packages/cheatsheet/src/lib/cheatsheet.css b/packages/lib-cheatsheet/src/lib/cheatsheet.css
similarity index 100%
rename from packages/cheatsheet/src/lib/cheatsheet.css
rename to packages/lib-cheatsheet/src/lib/cheatsheet.css
diff --git a/packages/cheatsheet/src/lib/cheatsheet.types.tsx b/packages/lib-cheatsheet/src/lib/cheatsheet.types.tsx
similarity index 100%
rename from packages/cheatsheet/src/lib/cheatsheet.types.tsx
rename to packages/lib-cheatsheet/src/lib/cheatsheet.types.tsx
diff --git a/packages/cheatsheet/src/lib/sampleSpokenFormInfos/defaults.json b/packages/lib-cheatsheet/src/lib/sampleSpokenFormInfos/defaults.json
similarity index 100%
rename from packages/cheatsheet/src/lib/sampleSpokenFormInfos/defaults.json
rename to packages/lib-cheatsheet/src/lib/sampleSpokenFormInfos/defaults.json
diff --git a/packages/cheatsheet/src/lib/utils/SmartLink.tsx b/packages/lib-cheatsheet/src/lib/utils/SmartLink.tsx
similarity index 100%
rename from packages/cheatsheet/src/lib/utils/SmartLink.tsx
rename to packages/lib-cheatsheet/src/lib/utils/SmartLink.tsx
diff --git a/packages/cheatsheet/src/lib/utils/applyBootstrapTheme.ts b/packages/lib-cheatsheet/src/lib/utils/applyBootstrapTheme.ts
similarity index 100%
rename from packages/cheatsheet/src/lib/utils/applyBootstrapTheme.ts
rename to packages/lib-cheatsheet/src/lib/utils/applyBootstrapTheme.ts
diff --git a/packages/cheatsheet/src/lib/utils/cheatsheetLegendData.tsx b/packages/lib-cheatsheet/src/lib/utils/cheatsheetLegendData.tsx
similarity index 100%
rename from packages/cheatsheet/src/lib/utils/cheatsheetLegendData.tsx
rename to packages/lib-cheatsheet/src/lib/utils/cheatsheetLegendData.tsx
diff --git a/packages/cheatsheet/src/lib/utils/fakeCheatsheetInfo.ts b/packages/lib-cheatsheet/src/lib/utils/fakeCheatsheetInfo.ts
similarity index 100%
rename from packages/cheatsheet/src/lib/utils/fakeCheatsheetInfo.ts
rename to packages/lib-cheatsheet/src/lib/utils/fakeCheatsheetInfo.ts
diff --git a/packages/cheatsheet/src/lib/utils/formatCaptures.tsx b/packages/lib-cheatsheet/src/lib/utils/formatCaptures.tsx
similarity index 100%
rename from packages/cheatsheet/src/lib/utils/formatCaptures.tsx
rename to packages/lib-cheatsheet/src/lib/utils/formatCaptures.tsx
diff --git a/packages/cheatsheet/src/lib/utils/useIsHighlighted.ts b/packages/lib-cheatsheet/src/lib/utils/useIsHighlighted.ts
similarity index 100%
rename from packages/cheatsheet/src/lib/utils/useIsHighlighted.ts
rename to packages/lib-cheatsheet/src/lib/utils/useIsHighlighted.ts
diff --git a/packages/cheatsheet/src/test/cheatsheet.spec.tsx b/packages/lib-cheatsheet/src/test/cheatsheet.spec.tsx
similarity index 100%
rename from packages/cheatsheet/src/test/cheatsheet.spec.tsx
rename to packages/lib-cheatsheet/src/test/cheatsheet.spec.tsx
diff --git a/packages/cheatsheet/src/test/formatCaptures.spec.tsx b/packages/lib-cheatsheet/src/test/formatCaptures.spec.tsx
similarity index 100%
rename from packages/cheatsheet/src/test/formatCaptures.spec.tsx
rename to packages/lib-cheatsheet/src/test/formatCaptures.spec.tsx
diff --git a/packages/cheatsheet/src/test/styleMock.ts b/packages/lib-cheatsheet/src/test/styleMock.ts
similarity index 100%
rename from packages/cheatsheet/src/test/styleMock.ts
rename to packages/lib-cheatsheet/src/test/styleMock.ts
diff --git a/packages/cursorless-org/tsconfig.json b/packages/lib-cheatsheet/tsconfig.json
similarity index 100%
rename from packages/cursorless-org/tsconfig.json
rename to packages/lib-cheatsheet/tsconfig.json
diff --git a/packages/common/eslintConfig.ts b/packages/lib-common/eslintConfig.ts
similarity index 86%
rename from packages/common/eslintConfig.ts
rename to packages/lib-common/eslintConfig.ts
index d44d50b4eb..9963779c28 100644
--- a/packages/common/eslintConfig.ts
+++ b/packages/lib-common/eslintConfig.ts
@@ -2,7 +2,7 @@ import type { ConfigWithExtendsArray } from "@eslint/config-helpers";
export const commonConfig: ConfigWithExtendsArray = [
{
- files: ["packages/common/**/*.ts"],
+ files: ["packages/lib-common/**/*.ts"],
ignores: ["**/*.test.ts"],
@@ -12,7 +12,7 @@ export const commonConfig: ConfigWithExtendsArray = [
},
{
- files: ["packages/common/src/types/command/**/*.ts"],
+ files: ["packages/lib-common/src/types/command/**/*.ts"],
rules: {
"@typescript-eslint/no-restricted-imports": [
diff --git a/packages/common/package.json b/packages/lib-common/package.json
similarity index 95%
rename from packages/common/package.json
rename to packages/lib-common/package.json
index e04c16b265..79b24be180 100644
--- a/packages/common/package.json
+++ b/packages/lib-common/package.json
@@ -1,5 +1,5 @@
{
- "name": "@cursorless/common",
+ "name": "@cursorless/lib-common",
"version": "0.1.0",
"description": "Common utilities for use anywhere in our codebase",
"license": "MIT",
diff --git a/packages/common/scripts/c-tsx.js b/packages/lib-common/scripts/c-tsx.js
similarity index 100%
rename from packages/common/scripts/c-tsx.js
rename to packages/lib-common/scripts/c-tsx.js
diff --git a/packages/common/src/Debouncer.ts b/packages/lib-common/src/Debouncer.ts
similarity index 100%
rename from packages/common/src/Debouncer.ts
rename to packages/lib-common/src/Debouncer.ts
diff --git a/packages/common/src/FakeCommandServerApi.ts b/packages/lib-common/src/FakeCommandServerApi.ts
similarity index 100%
rename from packages/common/src/FakeCommandServerApi.ts
rename to packages/lib-common/src/FakeCommandServerApi.ts
diff --git a/packages/common/src/StoredTargetKey.ts b/packages/lib-common/src/StoredTargetKey.ts
similarity index 100%
rename from packages/common/src/StoredTargetKey.ts
rename to packages/lib-common/src/StoredTargetKey.ts
diff --git a/packages/common/src/constants.ts b/packages/lib-common/src/constants.ts
similarity index 100%
rename from packages/common/src/constants.ts
rename to packages/lib-common/src/constants.ts
diff --git a/packages/common/src/cursorlessCommandIds.ts b/packages/lib-common/src/cursorlessCommandIds.ts
similarity index 100%
rename from packages/common/src/cursorlessCommandIds.ts
rename to packages/lib-common/src/cursorlessCommandIds.ts
diff --git a/packages/common/src/cursorlessSideBarIds.ts b/packages/lib-common/src/cursorlessSideBarIds.ts
similarity index 100%
rename from packages/common/src/cursorlessSideBarIds.ts
rename to packages/lib-common/src/cursorlessSideBarIds.ts
diff --git a/packages/common/src/errors.ts b/packages/lib-common/src/errors.ts
similarity index 100%
rename from packages/common/src/errors.ts
rename to packages/lib-common/src/errors.ts
diff --git a/packages/common/src/extensionDependencies.ts b/packages/lib-common/src/extensionDependencies.ts
similarity index 100%
rename from packages/common/src/extensionDependencies.ts
rename to packages/lib-common/src/extensionDependencies.ts
diff --git a/packages/common/src/ide/PassthroughIDE.ts b/packages/lib-common/src/ide/PassthroughIDE.ts
similarity index 100%
rename from packages/common/src/ide/PassthroughIDE.ts
rename to packages/lib-common/src/ide/PassthroughIDE.ts
diff --git a/packages/common/src/ide/fake/FakeCapabilities.ts b/packages/lib-common/src/ide/fake/FakeCapabilities.ts
similarity index 100%
rename from packages/common/src/ide/fake/FakeCapabilities.ts
rename to packages/lib-common/src/ide/fake/FakeCapabilities.ts
diff --git a/packages/common/src/ide/fake/FakeClipboard.ts b/packages/lib-common/src/ide/fake/FakeClipboard.ts
similarity index 100%
rename from packages/common/src/ide/fake/FakeClipboard.ts
rename to packages/lib-common/src/ide/fake/FakeClipboard.ts
diff --git a/packages/common/src/ide/fake/FakeConfiguration.ts b/packages/lib-common/src/ide/fake/FakeConfiguration.ts
similarity index 100%
rename from packages/common/src/ide/fake/FakeConfiguration.ts
rename to packages/lib-common/src/ide/fake/FakeConfiguration.ts
diff --git a/packages/common/src/ide/fake/FakeIDE.ts b/packages/lib-common/src/ide/fake/FakeIDE.ts
similarity index 100%
rename from packages/common/src/ide/fake/FakeIDE.ts
rename to packages/lib-common/src/ide/fake/FakeIDE.ts
diff --git a/packages/common/src/ide/fake/FakeKeyValueStore.ts b/packages/lib-common/src/ide/fake/FakeKeyValueStore.ts
similarity index 100%
rename from packages/common/src/ide/fake/FakeKeyValueStore.ts
rename to packages/lib-common/src/ide/fake/FakeKeyValueStore.ts
diff --git a/packages/common/src/ide/fake/FakeMessages.ts b/packages/lib-common/src/ide/fake/FakeMessages.ts
similarity index 100%
rename from packages/common/src/ide/fake/FakeMessages.ts
rename to packages/lib-common/src/ide/fake/FakeMessages.ts
diff --git a/packages/common/src/ide/inMemoryTextEditor/InMemoryTextDocument.ts b/packages/lib-common/src/ide/inMemoryTextEditor/InMemoryTextDocument.ts
similarity index 100%
rename from packages/common/src/ide/inMemoryTextEditor/InMemoryTextDocument.ts
rename to packages/lib-common/src/ide/inMemoryTextEditor/InMemoryTextDocument.ts
diff --git a/packages/common/src/ide/inMemoryTextEditor/InMemoryTextEditor.ts b/packages/lib-common/src/ide/inMemoryTextEditor/InMemoryTextEditor.ts
similarity index 98%
rename from packages/common/src/ide/inMemoryTextEditor/InMemoryTextEditor.ts
rename to packages/lib-common/src/ide/inMemoryTextEditor/InMemoryTextEditor.ts
index 3431b5b86c..9647ae8d17 100644
--- a/packages/common/src/ide/inMemoryTextEditor/InMemoryTextEditor.ts
+++ b/packages/lib-common/src/ide/inMemoryTextEditor/InMemoryTextEditor.ts
@@ -11,8 +11,8 @@ import type {
TextDocument,
TextEditor,
TextEditorOptions,
-} from "@cursorless/common";
-import { Selection, selectionsEqual } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { Selection, selectionsEqual } from "@cursorless/lib-common";
import { URI } from "vscode-uri";
import { InMemoryTextDocument } from "./InMemoryTextDocument";
diff --git a/packages/common/src/ide/inMemoryTextEditor/InMemoryTextLine.ts b/packages/lib-common/src/ide/inMemoryTextEditor/InMemoryTextLine.ts
similarity index 100%
rename from packages/common/src/ide/inMemoryTextEditor/InMemoryTextLine.ts
rename to packages/lib-common/src/ide/inMemoryTextEditor/InMemoryTextLine.ts
diff --git a/packages/common/src/ide/inMemoryTextEditor/performEdits.ts b/packages/lib-common/src/ide/inMemoryTextEditor/performEdits.ts
similarity index 100%
rename from packages/common/src/ide/inMemoryTextEditor/performEdits.ts
rename to packages/lib-common/src/ide/inMemoryTextEditor/performEdits.ts
diff --git a/packages/common/src/ide/inMemoryTextEditor/test/InMemoryTextDocument.test.ts b/packages/lib-common/src/ide/inMemoryTextEditor/test/InMemoryTextDocument.test.ts
similarity index 100%
rename from packages/common/src/ide/inMemoryTextEditor/test/InMemoryTextDocument.test.ts
rename to packages/lib-common/src/ide/inMemoryTextEditor/test/InMemoryTextDocument.test.ts
diff --git a/packages/common/src/ide/inMemoryTextEditor/test/InMemoryTextDocumentEdit.test.ts b/packages/lib-common/src/ide/inMemoryTextEditor/test/InMemoryTextDocumentEdit.test.ts
similarity index 100%
rename from packages/common/src/ide/inMemoryTextEditor/test/InMemoryTextDocumentEdit.test.ts
rename to packages/lib-common/src/ide/inMemoryTextEditor/test/InMemoryTextDocumentEdit.test.ts
diff --git a/packages/common/src/ide/inMemoryTextEditor/test/InMemoryTextDocumentLineAt.test.ts b/packages/lib-common/src/ide/inMemoryTextEditor/test/InMemoryTextDocumentLineAt.test.ts
similarity index 100%
rename from packages/common/src/ide/inMemoryTextEditor/test/InMemoryTextDocumentLineAt.test.ts
rename to packages/lib-common/src/ide/inMemoryTextEditor/test/InMemoryTextDocumentLineAt.test.ts
diff --git a/packages/common/src/ide/inMemoryTextEditor/test/createTestDocument.ts b/packages/lib-common/src/ide/inMemoryTextEditor/test/createTestDocument.ts
similarity index 100%
rename from packages/common/src/ide/inMemoryTextEditor/test/createTestDocument.ts
rename to packages/lib-common/src/ide/inMemoryTextEditor/test/createTestDocument.ts
diff --git a/packages/common/src/ide/normalized/NormalizedIDE.ts b/packages/lib-common/src/ide/normalized/NormalizedIDE.ts
similarity index 100%
rename from packages/common/src/ide/normalized/NormalizedIDE.ts
rename to packages/lib-common/src/ide/normalized/NormalizedIDE.ts
diff --git a/packages/common/src/ide/spy/SpyIDE.ts b/packages/lib-common/src/ide/spy/SpyIDE.ts
similarity index 100%
rename from packages/common/src/ide/spy/SpyIDE.ts
rename to packages/lib-common/src/ide/spy/SpyIDE.ts
diff --git a/packages/common/src/ide/spy/SpyMessages.ts b/packages/lib-common/src/ide/spy/SpyMessages.ts
similarity index 100%
rename from packages/common/src/ide/spy/SpyMessages.ts
rename to packages/lib-common/src/ide/spy/SpyMessages.ts
diff --git a/packages/common/src/ide/types/Capabilities.ts b/packages/lib-common/src/ide/types/Capabilities.ts
similarity index 100%
rename from packages/common/src/ide/types/Capabilities.ts
rename to packages/lib-common/src/ide/types/Capabilities.ts
diff --git a/packages/common/src/ide/types/Clipboard.ts b/packages/lib-common/src/ide/types/Clipboard.ts
similarity index 100%
rename from packages/common/src/ide/types/Clipboard.ts
rename to packages/lib-common/src/ide/types/Clipboard.ts
diff --git a/packages/common/src/ide/types/CommandHistoryStorage.ts b/packages/lib-common/src/ide/types/CommandHistoryStorage.ts
similarity index 100%
rename from packages/common/src/ide/types/CommandHistoryStorage.ts
rename to packages/lib-common/src/ide/types/CommandHistoryStorage.ts
diff --git a/packages/common/src/ide/types/CommandId.ts b/packages/lib-common/src/ide/types/CommandId.ts
similarity index 100%
rename from packages/common/src/ide/types/CommandId.ts
rename to packages/lib-common/src/ide/types/CommandId.ts
diff --git a/packages/common/src/ide/types/Configuration.ts b/packages/lib-common/src/ide/types/Configuration.ts
similarity index 100%
rename from packages/common/src/ide/types/Configuration.ts
rename to packages/lib-common/src/ide/types/Configuration.ts
diff --git a/packages/common/src/ide/types/Events.ts b/packages/lib-common/src/ide/types/Events.ts
similarity index 100%
rename from packages/common/src/ide/types/Events.ts
rename to packages/lib-common/src/ide/types/Events.ts
diff --git a/packages/common/src/ide/types/FileSystem.types.ts b/packages/lib-common/src/ide/types/FileSystem.types.ts
similarity index 100%
rename from packages/common/src/ide/types/FileSystem.types.ts
rename to packages/lib-common/src/ide/types/FileSystem.types.ts
diff --git a/packages/common/src/ide/types/FlashDescriptor.ts b/packages/lib-common/src/ide/types/FlashDescriptor.ts
similarity index 100%
rename from packages/common/src/ide/types/FlashDescriptor.ts
rename to packages/lib-common/src/ide/types/FlashDescriptor.ts
diff --git a/packages/common/src/ide/types/HatStability.ts b/packages/lib-common/src/ide/types/HatStability.ts
similarity index 100%
rename from packages/common/src/ide/types/HatStability.ts
rename to packages/lib-common/src/ide/types/HatStability.ts
diff --git a/packages/common/src/ide/types/Hats.ts b/packages/lib-common/src/ide/types/Hats.ts
similarity index 100%
rename from packages/common/src/ide/types/Hats.ts
rename to packages/lib-common/src/ide/types/Hats.ts
diff --git a/packages/common/src/ide/types/KeyValueStore.ts b/packages/lib-common/src/ide/types/KeyValueStore.ts
similarity index 100%
rename from packages/common/src/ide/types/KeyValueStore.ts
rename to packages/lib-common/src/ide/types/KeyValueStore.ts
diff --git a/packages/common/src/ide/types/Messages.ts b/packages/lib-common/src/ide/types/Messages.ts
similarity index 100%
rename from packages/common/src/ide/types/Messages.ts
rename to packages/lib-common/src/ide/types/Messages.ts
diff --git a/packages/common/src/ide/types/Paths.ts b/packages/lib-common/src/ide/types/Paths.ts
similarity index 100%
rename from packages/common/src/ide/types/Paths.ts
rename to packages/lib-common/src/ide/types/Paths.ts
diff --git a/packages/common/src/ide/types/QuickPickOptions.ts b/packages/lib-common/src/ide/types/QuickPickOptions.ts
similarity index 100%
rename from packages/common/src/ide/types/QuickPickOptions.ts
rename to packages/lib-common/src/ide/types/QuickPickOptions.ts
diff --git a/packages/common/src/ide/types/README.md b/packages/lib-common/src/ide/types/README.md
similarity index 100%
rename from packages/common/src/ide/types/README.md
rename to packages/lib-common/src/ide/types/README.md
diff --git a/packages/common/src/ide/types/RawTreeSitterQueryProvider.ts b/packages/lib-common/src/ide/types/RawTreeSitterQueryProvider.ts
similarity index 91%
rename from packages/common/src/ide/types/RawTreeSitterQueryProvider.ts
rename to packages/lib-common/src/ide/types/RawTreeSitterQueryProvider.ts
index ca69e60f9c..ee5775a4db 100644
--- a/packages/common/src/ide/types/RawTreeSitterQueryProvider.ts
+++ b/packages/lib-common/src/ide/types/RawTreeSitterQueryProvider.ts
@@ -1,4 +1,4 @@
-import type { Disposable } from "@cursorless/common";
+import type { Disposable } from "@cursorless/lib-common";
/**
* Provides raw tree-sitter queries. These are usually read from `.scm` files
diff --git a/packages/common/src/ide/types/TutorialContentProvider.ts b/packages/lib-common/src/ide/types/TutorialContentProvider.ts
similarity index 100%
rename from packages/common/src/ide/types/TutorialContentProvider.ts
rename to packages/lib-common/src/ide/types/TutorialContentProvider.ts
diff --git a/packages/common/src/ide/types/events.types.ts b/packages/lib-common/src/ide/types/events.types.ts
similarity index 100%
rename from packages/common/src/ide/types/events.types.ts
rename to packages/lib-common/src/ide/types/events.types.ts
diff --git a/packages/common/src/ide/types/hatStyles.types.ts b/packages/lib-common/src/ide/types/hatStyles.types.ts
similarity index 100%
rename from packages/common/src/ide/types/hatStyles.types.ts
rename to packages/lib-common/src/ide/types/hatStyles.types.ts
diff --git a/packages/common/src/ide/types/ide.types.ts b/packages/lib-common/src/ide/types/ide.types.ts
similarity index 100%
rename from packages/common/src/ide/types/ide.types.ts
rename to packages/lib-common/src/ide/types/ide.types.ts
diff --git a/packages/common/src/ide/util/messages.ts b/packages/lib-common/src/ide/util/messages.ts
similarity index 100%
rename from packages/common/src/ide/util/messages.ts
rename to packages/lib-common/src/ide/util/messages.ts
diff --git a/packages/common/src/index.ts b/packages/lib-common/src/index.ts
similarity index 100%
rename from packages/common/src/index.ts
rename to packages/lib-common/src/index.ts
diff --git a/packages/common/src/scopeSupportFacets/PlaintextScopeSupportFacetInfos.ts b/packages/lib-common/src/scopeSupportFacets/PlaintextScopeSupportFacetInfos.ts
similarity index 100%
rename from packages/common/src/scopeSupportFacets/PlaintextScopeSupportFacetInfos.ts
rename to packages/lib-common/src/scopeSupportFacets/PlaintextScopeSupportFacetInfos.ts
diff --git a/packages/common/src/scopeSupportFacets/c.ts b/packages/lib-common/src/scopeSupportFacets/c.ts
similarity index 100%
rename from packages/common/src/scopeSupportFacets/c.ts
rename to packages/lib-common/src/scopeSupportFacets/c.ts
diff --git a/packages/common/src/scopeSupportFacets/clojure.ts b/packages/lib-common/src/scopeSupportFacets/clojure.ts
similarity index 100%
rename from packages/common/src/scopeSupportFacets/clojure.ts
rename to packages/lib-common/src/scopeSupportFacets/clojure.ts
diff --git a/packages/common/src/scopeSupportFacets/cpp.ts b/packages/lib-common/src/scopeSupportFacets/cpp.ts
similarity index 100%
rename from packages/common/src/scopeSupportFacets/cpp.ts
rename to packages/lib-common/src/scopeSupportFacets/cpp.ts
diff --git a/packages/common/src/scopeSupportFacets/csharp.ts b/packages/lib-common/src/scopeSupportFacets/csharp.ts
similarity index 100%
rename from packages/common/src/scopeSupportFacets/csharp.ts
rename to packages/lib-common/src/scopeSupportFacets/csharp.ts
diff --git a/packages/common/src/scopeSupportFacets/css.ts b/packages/lib-common/src/scopeSupportFacets/css.ts
similarity index 100%
rename from packages/common/src/scopeSupportFacets/css.ts
rename to packages/lib-common/src/scopeSupportFacets/css.ts
diff --git a/packages/common/src/scopeSupportFacets/dart.ts b/packages/lib-common/src/scopeSupportFacets/dart.ts
similarity index 100%
rename from packages/common/src/scopeSupportFacets/dart.ts
rename to packages/lib-common/src/scopeSupportFacets/dart.ts
diff --git a/packages/common/src/scopeSupportFacets/go.ts b/packages/lib-common/src/scopeSupportFacets/go.ts
similarity index 100%
rename from packages/common/src/scopeSupportFacets/go.ts
rename to packages/lib-common/src/scopeSupportFacets/go.ts
diff --git a/packages/common/src/scopeSupportFacets/html.ts b/packages/lib-common/src/scopeSupportFacets/html.ts
similarity index 100%
rename from packages/common/src/scopeSupportFacets/html.ts
rename to packages/lib-common/src/scopeSupportFacets/html.ts
diff --git a/packages/common/src/scopeSupportFacets/java.ts b/packages/lib-common/src/scopeSupportFacets/java.ts
similarity index 100%
rename from packages/common/src/scopeSupportFacets/java.ts
rename to packages/lib-common/src/scopeSupportFacets/java.ts
diff --git a/packages/common/src/scopeSupportFacets/javascript.ts b/packages/lib-common/src/scopeSupportFacets/javascript.ts
similarity index 100%
rename from packages/common/src/scopeSupportFacets/javascript.ts
rename to packages/lib-common/src/scopeSupportFacets/javascript.ts
diff --git a/packages/common/src/scopeSupportFacets/javascriptreact.ts b/packages/lib-common/src/scopeSupportFacets/javascriptreact.ts
similarity index 100%
rename from packages/common/src/scopeSupportFacets/javascriptreact.ts
rename to packages/lib-common/src/scopeSupportFacets/javascriptreact.ts
diff --git a/packages/common/src/scopeSupportFacets/json.ts b/packages/lib-common/src/scopeSupportFacets/json.ts
similarity index 100%
rename from packages/common/src/scopeSupportFacets/json.ts
rename to packages/lib-common/src/scopeSupportFacets/json.ts
diff --git a/packages/common/src/scopeSupportFacets/jsonc.ts b/packages/lib-common/src/scopeSupportFacets/jsonc.ts
similarity index 100%
rename from packages/common/src/scopeSupportFacets/jsonc.ts
rename to packages/lib-common/src/scopeSupportFacets/jsonc.ts
diff --git a/packages/common/src/scopeSupportFacets/jsonl.ts b/packages/lib-common/src/scopeSupportFacets/jsonl.ts
similarity index 100%
rename from packages/common/src/scopeSupportFacets/jsonl.ts
rename to packages/lib-common/src/scopeSupportFacets/jsonl.ts
diff --git a/packages/common/src/scopeSupportFacets/kotlin.ts b/packages/lib-common/src/scopeSupportFacets/kotlin.ts
similarity index 100%
rename from packages/common/src/scopeSupportFacets/kotlin.ts
rename to packages/lib-common/src/scopeSupportFacets/kotlin.ts
diff --git a/packages/common/src/scopeSupportFacets/languageScopeSupport.ts b/packages/lib-common/src/scopeSupportFacets/languageScopeSupport.ts
similarity index 100%
rename from packages/common/src/scopeSupportFacets/languageScopeSupport.ts
rename to packages/lib-common/src/scopeSupportFacets/languageScopeSupport.ts
diff --git a/packages/common/src/scopeSupportFacets/latex.ts b/packages/lib-common/src/scopeSupportFacets/latex.ts
similarity index 100%
rename from packages/common/src/scopeSupportFacets/latex.ts
rename to packages/lib-common/src/scopeSupportFacets/latex.ts
diff --git a/packages/common/src/scopeSupportFacets/lua.ts b/packages/lib-common/src/scopeSupportFacets/lua.ts
similarity index 100%
rename from packages/common/src/scopeSupportFacets/lua.ts
rename to packages/lib-common/src/scopeSupportFacets/lua.ts
diff --git a/packages/common/src/scopeSupportFacets/markdown.ts b/packages/lib-common/src/scopeSupportFacets/markdown.ts
similarity index 100%
rename from packages/common/src/scopeSupportFacets/markdown.ts
rename to packages/lib-common/src/scopeSupportFacets/markdown.ts
diff --git a/packages/common/src/scopeSupportFacets/php.ts b/packages/lib-common/src/scopeSupportFacets/php.ts
similarity index 100%
rename from packages/common/src/scopeSupportFacets/php.ts
rename to packages/lib-common/src/scopeSupportFacets/php.ts
diff --git a/packages/common/src/scopeSupportFacets/properties.ts b/packages/lib-common/src/scopeSupportFacets/properties.ts
similarity index 100%
rename from packages/common/src/scopeSupportFacets/properties.ts
rename to packages/lib-common/src/scopeSupportFacets/properties.ts
diff --git a/packages/common/src/scopeSupportFacets/python.ts b/packages/lib-common/src/scopeSupportFacets/python.ts
similarity index 100%
rename from packages/common/src/scopeSupportFacets/python.ts
rename to packages/lib-common/src/scopeSupportFacets/python.ts
diff --git a/packages/common/src/scopeSupportFacets/r.ts b/packages/lib-common/src/scopeSupportFacets/r.ts
similarity index 100%
rename from packages/common/src/scopeSupportFacets/r.ts
rename to packages/lib-common/src/scopeSupportFacets/r.ts
diff --git a/packages/common/src/scopeSupportFacets/ruby.ts b/packages/lib-common/src/scopeSupportFacets/ruby.ts
similarity index 100%
rename from packages/common/src/scopeSupportFacets/ruby.ts
rename to packages/lib-common/src/scopeSupportFacets/ruby.ts
diff --git a/packages/common/src/scopeSupportFacets/rust.ts b/packages/lib-common/src/scopeSupportFacets/rust.ts
similarity index 100%
rename from packages/common/src/scopeSupportFacets/rust.ts
rename to packages/lib-common/src/scopeSupportFacets/rust.ts
diff --git a/packages/common/src/scopeSupportFacets/scala.ts b/packages/lib-common/src/scopeSupportFacets/scala.ts
similarity index 100%
rename from packages/common/src/scopeSupportFacets/scala.ts
rename to packages/lib-common/src/scopeSupportFacets/scala.ts
diff --git a/packages/common/src/scopeSupportFacets/scm.ts b/packages/lib-common/src/scopeSupportFacets/scm.ts
similarity index 100%
rename from packages/common/src/scopeSupportFacets/scm.ts
rename to packages/lib-common/src/scopeSupportFacets/scm.ts
diff --git a/packages/common/src/scopeSupportFacets/scopeSupportFacetInfos.ts b/packages/lib-common/src/scopeSupportFacets/scopeSupportFacetInfos.ts
similarity index 100%
rename from packages/common/src/scopeSupportFacets/scopeSupportFacetInfos.ts
rename to packages/lib-common/src/scopeSupportFacets/scopeSupportFacetInfos.ts
diff --git a/packages/common/src/scopeSupportFacets/scopeSupportFacets.types.ts b/packages/lib-common/src/scopeSupportFacets/scopeSupportFacets.types.ts
similarity index 100%
rename from packages/common/src/scopeSupportFacets/scopeSupportFacets.types.ts
rename to packages/lib-common/src/scopeSupportFacets/scopeSupportFacets.types.ts
diff --git a/packages/common/src/scopeSupportFacets/scss.ts b/packages/lib-common/src/scopeSupportFacets/scss.ts
similarity index 100%
rename from packages/common/src/scopeSupportFacets/scss.ts
rename to packages/lib-common/src/scopeSupportFacets/scss.ts
diff --git a/packages/common/src/scopeSupportFacets/talon.ts b/packages/lib-common/src/scopeSupportFacets/talon.ts
similarity index 100%
rename from packages/common/src/scopeSupportFacets/talon.ts
rename to packages/lib-common/src/scopeSupportFacets/talon.ts
diff --git a/packages/common/src/scopeSupportFacets/talonList.ts b/packages/lib-common/src/scopeSupportFacets/talonList.ts
similarity index 100%
rename from packages/common/src/scopeSupportFacets/talonList.ts
rename to packages/lib-common/src/scopeSupportFacets/talonList.ts
diff --git a/packages/common/src/scopeSupportFacets/typescript.ts b/packages/lib-common/src/scopeSupportFacets/typescript.ts
similarity index 100%
rename from packages/common/src/scopeSupportFacets/typescript.ts
rename to packages/lib-common/src/scopeSupportFacets/typescript.ts
diff --git a/packages/common/src/scopeSupportFacets/typescriptreact.ts b/packages/lib-common/src/scopeSupportFacets/typescriptreact.ts
similarity index 100%
rename from packages/common/src/scopeSupportFacets/typescriptreact.ts
rename to packages/lib-common/src/scopeSupportFacets/typescriptreact.ts
diff --git a/packages/common/src/scopeSupportFacets/xml.ts b/packages/lib-common/src/scopeSupportFacets/xml.ts
similarity index 100%
rename from packages/common/src/scopeSupportFacets/xml.ts
rename to packages/lib-common/src/scopeSupportFacets/xml.ts
diff --git a/packages/common/src/scopeSupportFacets/yaml.ts b/packages/lib-common/src/scopeSupportFacets/yaml.ts
similarity index 100%
rename from packages/common/src/scopeSupportFacets/yaml.ts
rename to packages/lib-common/src/scopeSupportFacets/yaml.ts
diff --git a/packages/common/src/scopeVisualizerUtil/decorationStyle.types.ts b/packages/lib-common/src/scopeVisualizerUtil/decorationStyle.types.ts
similarity index 100%
rename from packages/common/src/scopeVisualizerUtil/decorationStyle.types.ts
rename to packages/lib-common/src/scopeVisualizerUtil/decorationStyle.types.ts
diff --git a/packages/common/src/scopeVisualizerUtil/decorationUtil.ts b/packages/lib-common/src/scopeVisualizerUtil/decorationUtil.ts
similarity index 100%
rename from packages/common/src/scopeVisualizerUtil/decorationUtil.ts
rename to packages/lib-common/src/scopeVisualizerUtil/decorationUtil.ts
diff --git a/packages/common/src/scopeVisualizerUtil/generateDecorationsForCharacterRange/generateDecorationsForCharacterRange.ts b/packages/lib-common/src/scopeVisualizerUtil/generateDecorationsForCharacterRange/generateDecorationsForCharacterRange.ts
similarity index 100%
rename from packages/common/src/scopeVisualizerUtil/generateDecorationsForCharacterRange/generateDecorationsForCharacterRange.ts
rename to packages/lib-common/src/scopeVisualizerUtil/generateDecorationsForCharacterRange/generateDecorationsForCharacterRange.ts
diff --git a/packages/common/src/scopeVisualizerUtil/generateDecorationsForCharacterRange/generateLineInfos.ts b/packages/lib-common/src/scopeVisualizerUtil/generateDecorationsForCharacterRange/generateLineInfos.ts
similarity index 100%
rename from packages/common/src/scopeVisualizerUtil/generateDecorationsForCharacterRange/generateLineInfos.ts
rename to packages/lib-common/src/scopeVisualizerUtil/generateDecorationsForCharacterRange/generateLineInfos.ts
diff --git a/packages/common/src/scopeVisualizerUtil/generateDecorationsForCharacterRange/handleMultipleLines.test.ts b/packages/lib-common/src/scopeVisualizerUtil/generateDecorationsForCharacterRange/handleMultipleLines.test.ts
similarity index 100%
rename from packages/common/src/scopeVisualizerUtil/generateDecorationsForCharacterRange/handleMultipleLines.test.ts
rename to packages/lib-common/src/scopeVisualizerUtil/generateDecorationsForCharacterRange/handleMultipleLines.test.ts
diff --git a/packages/common/src/scopeVisualizerUtil/generateDecorationsForCharacterRange/handleMultipleLines.ts b/packages/lib-common/src/scopeVisualizerUtil/generateDecorationsForCharacterRange/handleMultipleLines.ts
similarity index 100%
rename from packages/common/src/scopeVisualizerUtil/generateDecorationsForCharacterRange/handleMultipleLines.ts
rename to packages/lib-common/src/scopeVisualizerUtil/generateDecorationsForCharacterRange/handleMultipleLines.ts
diff --git a/packages/common/src/scopeVisualizerUtil/generateDecorationsForCharacterRange/index.ts b/packages/lib-common/src/scopeVisualizerUtil/generateDecorationsForCharacterRange/index.ts
similarity index 100%
rename from packages/common/src/scopeVisualizerUtil/generateDecorationsForCharacterRange/index.ts
rename to packages/lib-common/src/scopeVisualizerUtil/generateDecorationsForCharacterRange/index.ts
diff --git a/packages/common/src/scopeVisualizerUtil/generateDecorationsForLineRange.ts b/packages/lib-common/src/scopeVisualizerUtil/generateDecorationsForLineRange.ts
similarity index 100%
rename from packages/common/src/scopeVisualizerUtil/generateDecorationsForLineRange.ts
rename to packages/lib-common/src/scopeVisualizerUtil/generateDecorationsForLineRange.ts
diff --git a/packages/common/src/testUtil/TestCaseSnapshot.ts b/packages/lib-common/src/testUtil/TestCaseSnapshot.ts
similarity index 100%
rename from packages/common/src/testUtil/TestCaseSnapshot.ts
rename to packages/lib-common/src/testUtil/TestCaseSnapshot.ts
diff --git a/packages/common/src/testUtil/asyncSafety.ts b/packages/lib-common/src/testUtil/asyncSafety.ts
similarity index 100%
rename from packages/common/src/testUtil/asyncSafety.ts
rename to packages/lib-common/src/testUtil/asyncSafety.ts
diff --git a/packages/common/src/testUtil/extractTargetedMarks.ts b/packages/lib-common/src/testUtil/extractTargetedMarks.ts
similarity index 100%
rename from packages/common/src/testUtil/extractTargetedMarks.ts
rename to packages/lib-common/src/testUtil/extractTargetedMarks.ts
diff --git a/packages/common/src/testUtil/fromPlainObject.ts b/packages/lib-common/src/testUtil/fromPlainObject.ts
similarity index 100%
rename from packages/common/src/testUtil/fromPlainObject.ts
rename to packages/lib-common/src/testUtil/fromPlainObject.ts
diff --git a/packages/common/src/testUtil/getSnapshotForComparison.ts b/packages/lib-common/src/testUtil/getSnapshotForComparison.ts
similarity index 100%
rename from packages/common/src/testUtil/getSnapshotForComparison.ts
rename to packages/lib-common/src/testUtil/getSnapshotForComparison.ts
diff --git a/packages/common/src/testUtil/serialize.ts b/packages/lib-common/src/testUtil/serialize.ts
similarity index 100%
rename from packages/common/src/testUtil/serialize.ts
rename to packages/lib-common/src/testUtil/serialize.ts
diff --git a/packages/common/src/testUtil/serializeTestFixture.ts b/packages/lib-common/src/testUtil/serializeTestFixture.ts
similarity index 100%
rename from packages/common/src/testUtil/serializeTestFixture.ts
rename to packages/lib-common/src/testUtil/serializeTestFixture.ts
diff --git a/packages/common/src/testUtil/shouldUpdateFixtures.ts b/packages/lib-common/src/testUtil/shouldUpdateFixtures.ts
similarity index 100%
rename from packages/common/src/testUtil/shouldUpdateFixtures.ts
rename to packages/lib-common/src/testUtil/shouldUpdateFixtures.ts
diff --git a/packages/common/src/testUtil/spyToPlainObject.ts b/packages/lib-common/src/testUtil/spyToPlainObject.ts
similarity index 100%
rename from packages/common/src/testUtil/spyToPlainObject.ts
rename to packages/lib-common/src/testUtil/spyToPlainObject.ts
diff --git a/packages/common/src/testUtil/testConstants.ts b/packages/lib-common/src/testUtil/testConstants.ts
similarity index 100%
rename from packages/common/src/testUtil/testConstants.ts
rename to packages/lib-common/src/testUtil/testConstants.ts
diff --git a/packages/common/src/tooling/jest.ts b/packages/lib-common/src/tooling/jest.ts
similarity index 100%
rename from packages/common/src/tooling/jest.ts
rename to packages/lib-common/src/tooling/jest.ts
diff --git a/packages/common/src/tooling/vite.ts b/packages/lib-common/src/tooling/vite.ts
similarity index 100%
rename from packages/common/src/tooling/vite.ts
rename to packages/lib-common/src/tooling/vite.ts
diff --git a/packages/common/src/tooling/viteHtmlParamsPlugin.ts b/packages/lib-common/src/tooling/viteHtmlParamsPlugin.ts
similarity index 100%
rename from packages/common/src/tooling/viteHtmlParamsPlugin.ts
rename to packages/lib-common/src/tooling/viteHtmlParamsPlugin.ts
diff --git a/packages/common/src/tooling/vitePreactAlias.ts b/packages/lib-common/src/tooling/vitePreactAlias.ts
similarity index 100%
rename from packages/common/src/tooling/vitePreactAlias.ts
rename to packages/lib-common/src/tooling/vitePreactAlias.ts
diff --git a/packages/common/src/types/CommandServerApi.ts b/packages/lib-common/src/types/CommandServerApi.ts
similarity index 100%
rename from packages/common/src/types/CommandServerApi.ts
rename to packages/lib-common/src/types/CommandServerApi.ts
diff --git a/packages/common/src/types/Edit.ts b/packages/lib-common/src/types/Edit.ts
similarity index 100%
rename from packages/common/src/types/Edit.ts
rename to packages/lib-common/src/types/Edit.ts
diff --git a/packages/common/src/types/GeneralizedRange.ts b/packages/lib-common/src/types/GeneralizedRange.ts
similarity index 100%
rename from packages/common/src/types/GeneralizedRange.ts
rename to packages/lib-common/src/types/GeneralizedRange.ts
diff --git a/packages/common/src/types/HatTokenMap.ts b/packages/lib-common/src/types/HatTokenMap.ts
similarity index 100%
rename from packages/common/src/types/HatTokenMap.ts
rename to packages/lib-common/src/types/HatTokenMap.ts
diff --git a/packages/common/src/types/InputBoxOptions.ts b/packages/lib-common/src/types/InputBoxOptions.ts
similarity index 100%
rename from packages/common/src/types/InputBoxOptions.ts
rename to packages/lib-common/src/types/InputBoxOptions.ts
diff --git a/packages/common/src/types/NotebookCell.ts b/packages/lib-common/src/types/NotebookCell.ts
similarity index 100%
rename from packages/common/src/types/NotebookCell.ts
rename to packages/lib-common/src/types/NotebookCell.ts
diff --git a/packages/common/src/types/NotebookEditor.ts b/packages/lib-common/src/types/NotebookEditor.ts
similarity index 100%
rename from packages/common/src/types/NotebookEditor.ts
rename to packages/lib-common/src/types/NotebookEditor.ts
diff --git a/packages/common/src/types/Position.ts b/packages/lib-common/src/types/Position.ts
similarity index 100%
rename from packages/common/src/types/Position.ts
rename to packages/lib-common/src/types/Position.ts
diff --git a/packages/common/src/types/Range.ts b/packages/lib-common/src/types/Range.ts
similarity index 100%
rename from packages/common/src/types/Range.ts
rename to packages/lib-common/src/types/Range.ts
diff --git a/packages/common/src/types/RangeExpansionBehavior.ts b/packages/lib-common/src/types/RangeExpansionBehavior.ts
similarity index 100%
rename from packages/common/src/types/RangeExpansionBehavior.ts
rename to packages/lib-common/src/types/RangeExpansionBehavior.ts
diff --git a/packages/common/src/types/RevealLineAt.ts b/packages/lib-common/src/types/RevealLineAt.ts
similarity index 100%
rename from packages/common/src/types/RevealLineAt.ts
rename to packages/lib-common/src/types/RevealLineAt.ts
diff --git a/packages/common/src/types/ScopeProvider.ts b/packages/lib-common/src/types/ScopeProvider.ts
similarity index 100%
rename from packages/common/src/types/ScopeProvider.ts
rename to packages/lib-common/src/types/ScopeProvider.ts
diff --git a/packages/common/src/types/Selection.ts b/packages/lib-common/src/types/Selection.ts
similarity index 100%
rename from packages/common/src/types/Selection.ts
rename to packages/lib-common/src/types/Selection.ts
diff --git a/packages/common/src/types/SpokenForm.ts b/packages/lib-common/src/types/SpokenForm.ts
similarity index 100%
rename from packages/common/src/types/SpokenForm.ts
rename to packages/lib-common/src/types/SpokenForm.ts
diff --git a/packages/common/src/types/SpokenFormType.ts b/packages/lib-common/src/types/SpokenFormType.ts
similarity index 98%
rename from packages/common/src/types/SpokenFormType.ts
rename to packages/lib-common/src/types/SpokenFormType.ts
index 4d7a9ee362..f17210075a 100644
--- a/packages/common/src/types/SpokenFormType.ts
+++ b/packages/lib-common/src/types/SpokenFormType.ts
@@ -3,7 +3,7 @@ import type {
ModifierType,
SimpleScopeTypeType,
SurroundingPairName,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
/**
* This interface is the source of truth for the types used in our spoken form
diff --git a/packages/common/src/types/StringRecord.ts b/packages/lib-common/src/types/StringRecord.ts
similarity index 100%
rename from packages/common/src/types/StringRecord.ts
rename to packages/lib-common/src/types/StringRecord.ts
diff --git a/packages/common/src/types/TalonSpokenForms.ts b/packages/lib-common/src/types/TalonSpokenForms.ts
similarity index 95%
rename from packages/common/src/types/TalonSpokenForms.ts
rename to packages/lib-common/src/types/TalonSpokenForms.ts
index d8637c72e0..452c6c78a1 100644
--- a/packages/common/src/types/TalonSpokenForms.ts
+++ b/packages/lib-common/src/types/TalonSpokenForms.ts
@@ -1,4 +1,4 @@
-import type { Notifier } from "@cursorless/common";
+import type { Notifier } from "@cursorless/lib-common";
import type { SpokenFormMapKeyTypes, SpokenFormType } from "./SpokenFormType";
/**
diff --git a/packages/common/src/types/TestCaseFixture.ts b/packages/lib-common/src/types/TestCaseFixture.ts
similarity index 100%
rename from packages/common/src/types/TestCaseFixture.ts
rename to packages/lib-common/src/types/TestCaseFixture.ts
diff --git a/packages/common/src/types/TestHelpers.ts b/packages/lib-common/src/types/TestHelpers.ts
similarity index 100%
rename from packages/common/src/types/TestHelpers.ts
rename to packages/lib-common/src/types/TestHelpers.ts
diff --git a/packages/common/src/types/TextDocument.ts b/packages/lib-common/src/types/TextDocument.ts
similarity index 100%
rename from packages/common/src/types/TextDocument.ts
rename to packages/lib-common/src/types/TextDocument.ts
diff --git a/packages/common/src/types/TextEditor.ts b/packages/lib-common/src/types/TextEditor.ts
similarity index 100%
rename from packages/common/src/types/TextEditor.ts
rename to packages/lib-common/src/types/TextEditor.ts
diff --git a/packages/common/src/types/TextEditorDecorationType.ts b/packages/lib-common/src/types/TextEditorDecorationType.ts
similarity index 100%
rename from packages/common/src/types/TextEditorDecorationType.ts
rename to packages/lib-common/src/types/TextEditorDecorationType.ts
diff --git a/packages/common/src/types/TextEditorEdit.ts b/packages/lib-common/src/types/TextEditorEdit.ts
similarity index 100%
rename from packages/common/src/types/TextEditorEdit.ts
rename to packages/lib-common/src/types/TextEditorEdit.ts
diff --git a/packages/common/src/types/TextEditorOptions.ts b/packages/lib-common/src/types/TextEditorOptions.ts
similarity index 100%
rename from packages/common/src/types/TextEditorOptions.ts
rename to packages/lib-common/src/types/TextEditorOptions.ts
diff --git a/packages/common/src/types/TextLine.ts b/packages/lib-common/src/types/TextLine.ts
similarity index 100%
rename from packages/common/src/types/TextLine.ts
rename to packages/lib-common/src/types/TextLine.ts
diff --git a/packages/common/src/types/Token.ts b/packages/lib-common/src/types/Token.ts
similarity index 100%
rename from packages/common/src/types/Token.ts
rename to packages/lib-common/src/types/Token.ts
diff --git a/packages/common/src/types/TreeSitter.ts b/packages/lib-common/src/types/TreeSitter.ts
similarity index 92%
rename from packages/common/src/types/TreeSitter.ts
rename to packages/lib-common/src/types/TreeSitter.ts
index 16005745aa..947bf00cc7 100644
--- a/packages/common/src/types/TreeSitter.ts
+++ b/packages/lib-common/src/types/TreeSitter.ts
@@ -1,4 +1,4 @@
-import type { TextDocument } from "@cursorless/common";
+import type { TextDocument } from "@cursorless/lib-common";
import type { Query, Tree } from "web-tree-sitter";
export interface TreeSitter {
diff --git a/packages/common/src/types/command/ActionDescriptor.ts b/packages/lib-common/src/types/command/ActionDescriptor.ts
similarity index 100%
rename from packages/common/src/types/command/ActionDescriptor.ts
rename to packages/lib-common/src/types/command/ActionDescriptor.ts
diff --git a/packages/common/src/types/command/CommandV6.types.ts b/packages/lib-common/src/types/command/CommandV6.types.ts
similarity index 100%
rename from packages/common/src/types/command/CommandV6.types.ts
rename to packages/lib-common/src/types/command/CommandV6.types.ts
diff --git a/packages/common/src/types/command/CommandV7.types.ts b/packages/lib-common/src/types/command/CommandV7.types.ts
similarity index 100%
rename from packages/common/src/types/command/CommandV7.types.ts
rename to packages/lib-common/src/types/command/CommandV7.types.ts
diff --git a/packages/common/src/types/command/DestinationDescriptor.types.ts b/packages/lib-common/src/types/command/DestinationDescriptor.types.ts
similarity index 100%
rename from packages/common/src/types/command/DestinationDescriptor.types.ts
rename to packages/lib-common/src/types/command/DestinationDescriptor.types.ts
diff --git a/packages/common/src/types/command/PartialTargetDescriptor.types.ts b/packages/lib-common/src/types/command/PartialTargetDescriptor.types.ts
similarity index 100%
rename from packages/common/src/types/command/PartialTargetDescriptor.types.ts
rename to packages/lib-common/src/types/command/PartialTargetDescriptor.types.ts
diff --git a/packages/common/src/types/command/command.types.ts b/packages/lib-common/src/types/command/command.types.ts
similarity index 100%
rename from packages/common/src/types/command/command.types.ts
rename to packages/lib-common/src/types/command/command.types.ts
diff --git a/packages/common/src/types/command/legacy/ActionCommandV5.ts b/packages/lib-common/src/types/command/legacy/ActionCommandV5.ts
similarity index 100%
rename from packages/common/src/types/command/legacy/ActionCommandV5.ts
rename to packages/lib-common/src/types/command/legacy/ActionCommandV5.ts
diff --git a/packages/common/src/types/command/legacy/CommandV0V1.types.ts b/packages/lib-common/src/types/command/legacy/CommandV0V1.types.ts
similarity index 100%
rename from packages/common/src/types/command/legacy/CommandV0V1.types.ts
rename to packages/lib-common/src/types/command/legacy/CommandV0V1.types.ts
diff --git a/packages/common/src/types/command/legacy/CommandV2.types.ts b/packages/lib-common/src/types/command/legacy/CommandV2.types.ts
similarity index 100%
rename from packages/common/src/types/command/legacy/CommandV2.types.ts
rename to packages/lib-common/src/types/command/legacy/CommandV2.types.ts
diff --git a/packages/common/src/types/command/legacy/CommandV3.types.ts b/packages/lib-common/src/types/command/legacy/CommandV3.types.ts
similarity index 100%
rename from packages/common/src/types/command/legacy/CommandV3.types.ts
rename to packages/lib-common/src/types/command/legacy/CommandV3.types.ts
diff --git a/packages/common/src/types/command/legacy/CommandV4.types.ts b/packages/lib-common/src/types/command/legacy/CommandV4.types.ts
similarity index 100%
rename from packages/common/src/types/command/legacy/CommandV4.types.ts
rename to packages/lib-common/src/types/command/legacy/CommandV4.types.ts
diff --git a/packages/common/src/types/command/legacy/CommandV5.types.ts b/packages/lib-common/src/types/command/legacy/CommandV5.types.ts
similarity index 100%
rename from packages/common/src/types/command/legacy/CommandV5.types.ts
rename to packages/lib-common/src/types/command/legacy/CommandV5.types.ts
diff --git a/packages/common/src/types/command/legacy/PartialTargetDescriptorV3.types.ts b/packages/lib-common/src/types/command/legacy/PartialTargetDescriptorV3.types.ts
similarity index 100%
rename from packages/common/src/types/command/legacy/PartialTargetDescriptorV3.types.ts
rename to packages/lib-common/src/types/command/legacy/PartialTargetDescriptorV3.types.ts
diff --git a/packages/common/src/types/command/legacy/PartialTargetDescriptorV4.types.ts b/packages/lib-common/src/types/command/legacy/PartialTargetDescriptorV4.types.ts
similarity index 100%
rename from packages/common/src/types/command/legacy/PartialTargetDescriptorV4.types.ts
rename to packages/lib-common/src/types/command/legacy/PartialTargetDescriptorV4.types.ts
diff --git a/packages/common/src/types/command/legacy/PartialTargetDescriptorV5.types.ts b/packages/lib-common/src/types/command/legacy/PartialTargetDescriptorV5.types.ts
similarity index 100%
rename from packages/common/src/types/command/legacy/PartialTargetDescriptorV5.types.ts
rename to packages/lib-common/src/types/command/legacy/PartialTargetDescriptorV5.types.ts
diff --git a/packages/common/src/types/command/legacy/targetDescriptorV2.types.ts b/packages/lib-common/src/types/command/legacy/targetDescriptorV2.types.ts
similarity index 100%
rename from packages/common/src/types/command/legacy/targetDescriptorV2.types.ts
rename to packages/lib-common/src/types/command/legacy/targetDescriptorV2.types.ts
diff --git a/packages/common/src/types/commandHistory.ts b/packages/lib-common/src/types/commandHistory.ts
similarity index 100%
rename from packages/common/src/types/commandHistory.ts
rename to packages/lib-common/src/types/commandHistory.ts
diff --git a/packages/common/src/types/generalizedRangeContains.test.ts b/packages/lib-common/src/types/generalizedRangeContains.test.ts
similarity index 100%
rename from packages/common/src/types/generalizedRangeContains.test.ts
rename to packages/lib-common/src/types/generalizedRangeContains.test.ts
diff --git a/packages/common/src/types/generalizedRangeTouches.test.ts b/packages/lib-common/src/types/generalizedRangeTouches.test.ts
similarity index 100%
rename from packages/common/src/types/generalizedRangeTouches.test.ts
rename to packages/lib-common/src/types/generalizedRangeTouches.test.ts
diff --git a/packages/common/src/types/isGeneralizedRangeEqual.test.ts b/packages/lib-common/src/types/isGeneralizedRangeEqual.test.ts
similarity index 100%
rename from packages/common/src/types/isGeneralizedRangeEqual.test.ts
rename to packages/lib-common/src/types/isGeneralizedRangeEqual.test.ts
diff --git a/packages/common/src/types/location.types.ts b/packages/lib-common/src/types/location.types.ts
similarity index 100%
rename from packages/common/src/types/location.types.ts
rename to packages/lib-common/src/types/location.types.ts
diff --git a/packages/common/src/types/position.test.ts b/packages/lib-common/src/types/position.test.ts
similarity index 100%
rename from packages/common/src/types/position.test.ts
rename to packages/lib-common/src/types/position.test.ts
diff --git a/packages/common/src/types/range.test.ts b/packages/lib-common/src/types/range.test.ts
similarity index 100%
rename from packages/common/src/types/range.test.ts
rename to packages/lib-common/src/types/range.test.ts
diff --git a/packages/common/src/types/selection.test.ts b/packages/lib-common/src/types/selection.test.ts
similarity index 100%
rename from packages/common/src/types/selection.test.ts
rename to packages/lib-common/src/types/selection.test.ts
diff --git a/packages/common/src/types/tutorial.types.ts b/packages/lib-common/src/types/tutorial.types.ts
similarity index 100%
rename from packages/common/src/types/tutorial.types.ts
rename to packages/lib-common/src/types/tutorial.types.ts
diff --git a/packages/common/src/util/CompositeKeyDefaultMap.ts b/packages/lib-common/src/util/CompositeKeyDefaultMap.ts
similarity index 100%
rename from packages/common/src/util/CompositeKeyDefaultMap.ts
rename to packages/lib-common/src/util/CompositeKeyDefaultMap.ts
diff --git a/packages/common/src/util/CompositeKeyMap.ts b/packages/lib-common/src/util/CompositeKeyMap.ts
similarity index 100%
rename from packages/common/src/util/CompositeKeyMap.ts
rename to packages/lib-common/src/util/CompositeKeyMap.ts
diff --git a/packages/common/src/util/DefaultMap.ts b/packages/lib-common/src/util/DefaultMap.ts
similarity index 100%
rename from packages/common/src/util/DefaultMap.ts
rename to packages/lib-common/src/util/DefaultMap.ts
diff --git a/packages/common/src/util/Notifier.ts b/packages/lib-common/src/util/Notifier.ts
similarity index 100%
rename from packages/common/src/util/Notifier.ts
rename to packages/lib-common/src/util/Notifier.ts
diff --git a/packages/common/src/util/blendColors.ts b/packages/lib-common/src/util/blendColors.ts
similarity index 100%
rename from packages/common/src/util/blendColors.ts
rename to packages/lib-common/src/util/blendColors.ts
diff --git a/packages/common/src/util/clientSupportsFallback.ts b/packages/lib-common/src/util/clientSupportsFallback.ts
similarity index 100%
rename from packages/common/src/util/clientSupportsFallback.ts
rename to packages/lib-common/src/util/clientSupportsFallback.ts
diff --git a/packages/common/src/util/disposableFrom.ts b/packages/lib-common/src/util/disposableFrom.ts
similarity index 100%
rename from packages/common/src/util/disposableFrom.ts
rename to packages/lib-common/src/util/disposableFrom.ts
diff --git a/packages/common/src/util/ensureCommandShape.ts b/packages/lib-common/src/util/ensureCommandShape.ts
similarity index 100%
rename from packages/common/src/util/ensureCommandShape.ts
rename to packages/lib-common/src/util/ensureCommandShape.ts
diff --git a/packages/common/src/util/getEnvironmentVariableStrict.ts b/packages/lib-common/src/util/getEnvironmentVariableStrict.ts
similarity index 100%
rename from packages/common/src/util/getEnvironmentVariableStrict.ts
rename to packages/lib-common/src/util/getEnvironmentVariableStrict.ts
diff --git a/packages/common/src/util/getErrorMessage.ts b/packages/lib-common/src/util/getErrorMessage.ts
similarity index 100%
rename from packages/common/src/util/getErrorMessage.ts
rename to packages/lib-common/src/util/getErrorMessage.ts
diff --git a/packages/common/src/util/getProcessEnv.ts b/packages/lib-common/src/util/getProcessEnv.ts
similarity index 100%
rename from packages/common/src/util/getProcessEnv.ts
rename to packages/lib-common/src/util/getProcessEnv.ts
diff --git a/packages/common/src/util/index.ts b/packages/lib-common/src/util/index.ts
similarity index 100%
rename from packages/common/src/util/index.ts
rename to packages/lib-common/src/util/index.ts
diff --git a/packages/common/src/util/itertools.ts b/packages/lib-common/src/util/itertools.ts
similarity index 100%
rename from packages/common/src/util/itertools.ts
rename to packages/lib-common/src/util/itertools.ts
diff --git a/packages/common/src/util/object.ts b/packages/lib-common/src/util/object.ts
similarity index 100%
rename from packages/common/src/util/object.ts
rename to packages/lib-common/src/util/object.ts
diff --git a/packages/common/src/util/omitByDeep.ts b/packages/lib-common/src/util/omitByDeep.ts
similarity index 100%
rename from packages/common/src/util/omitByDeep.ts
rename to packages/lib-common/src/util/omitByDeep.ts
diff --git a/packages/common/src/util/prettifyLanguageName.ts b/packages/lib-common/src/util/prettifyLanguageName.ts
similarity index 100%
rename from packages/common/src/util/prettifyLanguageName.ts
rename to packages/lib-common/src/util/prettifyLanguageName.ts
diff --git a/packages/common/src/util/regex.ts b/packages/lib-common/src/util/regex.ts
similarity index 100%
rename from packages/common/src/util/regex.ts
rename to packages/lib-common/src/util/regex.ts
diff --git a/packages/common/src/util/selectionsEqual.ts b/packages/lib-common/src/util/selectionsEqual.ts
similarity index 100%
rename from packages/common/src/util/selectionsEqual.ts
rename to packages/lib-common/src/util/selectionsEqual.ts
diff --git a/packages/common/src/util/serializeScopeType.ts b/packages/lib-common/src/util/serializeScopeType.ts
similarity index 100%
rename from packages/common/src/util/serializeScopeType.ts
rename to packages/lib-common/src/util/serializeScopeType.ts
diff --git a/packages/common/src/util/serializedMarksToTokenHats.ts b/packages/lib-common/src/util/serializedMarksToTokenHats.ts
similarity index 100%
rename from packages/common/src/util/serializedMarksToTokenHats.ts
rename to packages/lib-common/src/util/serializedMarksToTokenHats.ts
diff --git a/packages/common/src/util/sleep.ts b/packages/lib-common/src/util/sleep.ts
similarity index 100%
rename from packages/common/src/util/sleep.ts
rename to packages/lib-common/src/util/sleep.ts
diff --git a/packages/common/src/util/splitKey.ts b/packages/lib-common/src/util/splitKey.ts
similarity index 100%
rename from packages/common/src/util/splitKey.ts
rename to packages/lib-common/src/util/splitKey.ts
diff --git a/packages/common/src/util/stringUtils.ts b/packages/lib-common/src/util/stringUtils.ts
similarity index 100%
rename from packages/common/src/util/stringUtils.ts
rename to packages/lib-common/src/util/stringUtils.ts
diff --git a/packages/common/src/util/toPlainObject.ts b/packages/lib-common/src/util/toPlainObject.ts
similarity index 100%
rename from packages/common/src/util/toPlainObject.ts
rename to packages/lib-common/src/util/toPlainObject.ts
diff --git a/packages/common/src/util/type.ts b/packages/lib-common/src/util/type.ts
similarity index 100%
rename from packages/common/src/util/type.ts
rename to packages/lib-common/src/util/type.ts
diff --git a/packages/common/src/util/typeUtils.ts b/packages/lib-common/src/util/typeUtils.ts
similarity index 100%
rename from packages/common/src/util/typeUtils.ts
rename to packages/lib-common/src/util/typeUtils.ts
diff --git a/packages/common/src/util/uniqWithHash.test.ts b/packages/lib-common/src/util/uniqWithHash.test.ts
similarity index 100%
rename from packages/common/src/util/uniqWithHash.test.ts
rename to packages/lib-common/src/util/uniqWithHash.test.ts
diff --git a/packages/common/src/util/uniqWithHash.ts b/packages/lib-common/src/util/uniqWithHash.ts
similarity index 100%
rename from packages/common/src/util/uniqWithHash.ts
rename to packages/lib-common/src/util/uniqWithHash.ts
diff --git a/packages/common/src/util/zipStrict.ts b/packages/lib-common/src/util/zipStrict.ts
similarity index 100%
rename from packages/common/src/util/zipStrict.ts
rename to packages/lib-common/src/util/zipStrict.ts
diff --git a/packages/cursorless-everywhere-talon-e2e/tsconfig.json b/packages/lib-common/tsconfig.json
similarity index 100%
rename from packages/cursorless-everywhere-talon-e2e/tsconfig.json
rename to packages/lib-common/tsconfig.json
diff --git a/packages/cursorless-engine/eslintConfig.ts b/packages/lib-engine/eslintConfig.ts
similarity index 84%
rename from packages/cursorless-engine/eslintConfig.ts
rename to packages/lib-engine/eslintConfig.ts
index 74a2dae547..2aaecdd18f 100644
--- a/packages/cursorless-engine/eslintConfig.ts
+++ b/packages/lib-engine/eslintConfig.ts
@@ -1,7 +1,7 @@
import type { ConfigWithExtends } from "@eslint/config-helpers";
export const cursorlessEngineConfig: ConfigWithExtends = {
- files: ["packages/cursorless-engine/**/*.ts"],
+ files: ["packages/lib-engine/**/*.ts"],
ignores: ["**/src/scripts/**", "**/src/testUtil/**", "**/*test.ts"],
diff --git a/packages/cursorless-engine/package.json b/packages/lib-engine/package.json
similarity index 88%
rename from packages/cursorless-engine/package.json
rename to packages/lib-engine/package.json
index 2078e8bbf8..e7dbb0e22e 100644
--- a/packages/cursorless-engine/package.json
+++ b/packages/lib-engine/package.json
@@ -1,5 +1,5 @@
{
- "name": "@cursorless/cursorless-engine",
+ "name": "@cursorless/lib-engine",
"version": "0.1.0",
"description": "The core Cursorless engine, which is responsible for parsing and executing commands, allocating hats, etc",
"license": "MIT",
@@ -17,9 +17,9 @@
"generate-railroad": "mkdir out && nearley-railroad src/customCommandGrammar/grammar.ne -o out/railroad.html"
},
"dependencies": {
- "@cursorless/common": "workspace:*",
- "@cursorless/node-common": "workspace:*",
- "@cursorless/sentence-parser": "workspace:*",
+ "@cursorless/lib-common": "workspace:*",
+ "@cursorless/lib-node-common": "workspace:*",
+ "@cursorless/lib-sentence-parser": "workspace:*",
"@cursorless/talon-tools": "^0.8.0",
"immer": "^11.1.4",
"immutability-helper": "^3.1.1",
diff --git a/packages/cursorless-engine/src/CommandHistory.ts b/packages/lib-engine/src/CommandHistory.ts
similarity index 99%
rename from packages/cursorless-engine/src/CommandHistory.ts
rename to packages/lib-engine/src/CommandHistory.ts
index 4b5ff72af8..0967d1d148 100644
--- a/packages/cursorless-engine/src/CommandHistory.ts
+++ b/packages/lib-engine/src/CommandHistory.ts
@@ -6,7 +6,7 @@ import type {
CommandServerApi,
IDE,
ReadOnlyHatMap,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { produce } from "immer";
import { v4 as uuid } from "uuid";
import type { CommandRunner } from "./CommandRunner";
diff --git a/packages/cursorless-engine/src/CommandHistoryAnalyzer.ts b/packages/lib-engine/src/CommandHistoryAnalyzer.ts
similarity index 98%
rename from packages/cursorless-engine/src/CommandHistoryAnalyzer.ts
rename to packages/lib-engine/src/CommandHistoryAnalyzer.ts
index bec84a1106..1e3ab81243 100644
--- a/packages/cursorless-engine/src/CommandHistoryAnalyzer.ts
+++ b/packages/lib-engine/src/CommandHistoryAnalyzer.ts
@@ -5,8 +5,8 @@ import type {
Modifier,
PartialPrimitiveTargetDescriptor,
ScopeType,
-} from "@cursorless/common";
-import { showWarning } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { showWarning } from "@cursorless/lib-common";
import { groupBy, map, sum } from "lodash-es";
import { canonicalizeAndValidateCommand } from "./core/commandVersionUpgrades/canonicalizeAndValidateCommand";
import { getPartialTargetDescriptors } from "./util/getPartialTargetDescriptors";
diff --git a/packages/cursorless-engine/src/CommandRunner.ts b/packages/lib-engine/src/CommandRunner.ts
similarity index 90%
rename from packages/cursorless-engine/src/CommandRunner.ts
rename to packages/lib-engine/src/CommandRunner.ts
index d70f19d58b..e960d7c92c 100644
--- a/packages/cursorless-engine/src/CommandRunner.ts
+++ b/packages/lib-engine/src/CommandRunner.ts
@@ -1,4 +1,4 @@
-import type { CommandComplete, CommandResponse } from "@cursorless/common";
+import type { CommandComplete, CommandResponse } from "@cursorless/lib-common";
export interface CommandRunner {
run(command: CommandComplete): Promise;
diff --git a/packages/cursorless-engine/src/KeyboardTargetUpdater.ts b/packages/lib-engine/src/KeyboardTargetUpdater.ts
similarity index 96%
rename from packages/cursorless-engine/src/KeyboardTargetUpdater.ts
rename to packages/lib-engine/src/KeyboardTargetUpdater.ts
index 4d548a57b8..a01ffda7d6 100644
--- a/packages/cursorless-engine/src/KeyboardTargetUpdater.ts
+++ b/packages/lib-engine/src/KeyboardTargetUpdater.ts
@@ -1,4 +1,4 @@
-import type { Disposable, IDE } from "@cursorless/common";
+import type { Disposable, IDE } from "@cursorless/lib-common";
import type { StoredTargetMap } from "./core/StoredTargets";
import { CursorStage } from "./processTargets/marks/CursorStage";
import { DecorationDebouncer } from "./util/DecorationDebouncer";
diff --git a/packages/cursorless-engine/src/actions/Actions.ts b/packages/lib-engine/src/actions/Actions.ts
similarity index 99%
rename from packages/cursorless-engine/src/actions/Actions.ts
rename to packages/lib-engine/src/actions/Actions.ts
index 78afdc17a2..127ef27ce6 100644
--- a/packages/cursorless-engine/src/actions/Actions.ts
+++ b/packages/lib-engine/src/actions/Actions.ts
@@ -1,4 +1,4 @@
-import type { IDE, TreeSitter } from "@cursorless/common";
+import type { IDE, TreeSitter } from "@cursorless/lib-common";
import type { Snippets } from "../core/Snippets";
import type { RangeUpdater } from "../core/updateSelections/RangeUpdater";
import type { ModifierStageFactory } from "../processTargets/ModifierStageFactory";
diff --git a/packages/cursorless-engine/src/actions/BreakLine.ts b/packages/lib-engine/src/actions/BreakLine.ts
similarity index 96%
rename from packages/cursorless-engine/src/actions/BreakLine.ts
rename to packages/lib-engine/src/actions/BreakLine.ts
index 3284e4f78e..edfa62834a 100644
--- a/packages/cursorless-engine/src/actions/BreakLine.ts
+++ b/packages/lib-engine/src/actions/BreakLine.ts
@@ -1,5 +1,5 @@
-import type { Edit, IDE, TextEditor } from "@cursorless/common";
-import { FlashStyle, Position, Range, Selection } from "@cursorless/common";
+import type { Edit, IDE, TextEditor } from "@cursorless/lib-common";
+import { FlashStyle, Position, Range, Selection } from "@cursorless/lib-common";
import { flatten, zip } from "lodash-es";
import type { RangeUpdater } from "../core/updateSelections/RangeUpdater";
import { performEditsAndUpdateSelections } from "../core/updateSelections/updateSelections";
diff --git a/packages/cursorless-engine/src/actions/BringMoveSwap.ts b/packages/lib-engine/src/actions/BringMoveSwap.ts
similarity index 99%
rename from packages/cursorless-engine/src/actions/BringMoveSwap.ts
rename to packages/lib-engine/src/actions/BringMoveSwap.ts
index 8a7cde55bf..74e3f01ecd 100644
--- a/packages/cursorless-engine/src/actions/BringMoveSwap.ts
+++ b/packages/lib-engine/src/actions/BringMoveSwap.ts
@@ -3,12 +3,12 @@ import type {
IDE,
Range,
TextEditor,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import {
FlashStyle,
RangeExpansionBehavior,
Selection,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { flatten } from "lodash-es";
import type { RangeUpdater } from "../core/updateSelections/RangeUpdater";
import { performEditsAndUpdateSelections } from "../core/updateSelections/updateSelections";
diff --git a/packages/cursorless-engine/src/actions/Call.ts b/packages/lib-engine/src/actions/Call.ts
similarity index 100%
rename from packages/cursorless-engine/src/actions/Call.ts
rename to packages/lib-engine/src/actions/Call.ts
diff --git a/packages/cursorless-engine/src/actions/CallbackAction.ts b/packages/lib-engine/src/actions/CallbackAction.ts
similarity index 96%
rename from packages/cursorless-engine/src/actions/CallbackAction.ts
rename to packages/lib-engine/src/actions/CallbackAction.ts
index f662e65de9..d5488f8b98 100644
--- a/packages/cursorless-engine/src/actions/CallbackAction.ts
+++ b/packages/lib-engine/src/actions/CallbackAction.ts
@@ -1,5 +1,9 @@
-import type { EditableTextEditor, IDE, TextEditor } from "@cursorless/common";
-import { FlashStyle } from "@cursorless/common";
+import type {
+ EditableTextEditor,
+ IDE,
+ TextEditor,
+} from "@cursorless/lib-common";
+import { FlashStyle } from "@cursorless/lib-common";
import { flatten } from "lodash-es";
import { selectionToStoredTarget } from "../core/commandRunner/selectionToStoredTarget";
import type { RangeUpdater } from "../core/updateSelections/RangeUpdater";
diff --git a/packages/cursorless-engine/src/actions/Clear.ts b/packages/lib-engine/src/actions/Clear.ts
similarity index 96%
rename from packages/cursorless-engine/src/actions/Clear.ts
rename to packages/lib-engine/src/actions/Clear.ts
index f4812a79b7..4e8e75cc73 100644
--- a/packages/cursorless-engine/src/actions/Clear.ts
+++ b/packages/lib-engine/src/actions/Clear.ts
@@ -1,4 +1,4 @@
-import type { IDE } from "@cursorless/common";
+import type { IDE } from "@cursorless/lib-common";
import { PlainTarget } from "../processTargets/targets";
import type { Target } from "../typings/target.types";
import { ensureSingleEditor } from "../util/targetUtils";
diff --git a/packages/cursorless-engine/src/actions/CopyToClipboard.ts b/packages/lib-engine/src/actions/CopyToClipboard.ts
similarity index 92%
rename from packages/cursorless-engine/src/actions/CopyToClipboard.ts
rename to packages/lib-engine/src/actions/CopyToClipboard.ts
index efe03b072a..c8bb0595d6 100644
--- a/packages/cursorless-engine/src/actions/CopyToClipboard.ts
+++ b/packages/lib-engine/src/actions/CopyToClipboard.ts
@@ -1,5 +1,5 @@
-import type { IDE } from "@cursorless/common";
-import { FlashStyle } from "@cursorless/common";
+import type { IDE } from "@cursorless/lib-common";
+import { FlashStyle } from "@cursorless/lib-common";
import type { RangeUpdater } from "../core/updateSelections/RangeUpdater";
import { CopyToClipboardSimple } from "./SimpleIdeCommandActions";
import type { Target } from "../typings/target.types";
diff --git a/packages/cursorless-engine/src/actions/CutToClipboard.ts b/packages/lib-engine/src/actions/CutToClipboard.ts
similarity index 95%
rename from packages/cursorless-engine/src/actions/CutToClipboard.ts
rename to packages/lib-engine/src/actions/CutToClipboard.ts
index 9b5963ba85..05111fab6d 100644
--- a/packages/cursorless-engine/src/actions/CutToClipboard.ts
+++ b/packages/lib-engine/src/actions/CutToClipboard.ts
@@ -1,5 +1,9 @@
-import type { CharacterRange, FlashDescriptor, IDE } from "@cursorless/common";
-import { FlashStyle, Range, toCharacterRange } from "@cursorless/common";
+import type {
+ CharacterRange,
+ FlashDescriptor,
+ IDE,
+} from "@cursorless/lib-common";
+import { FlashStyle, Range, toCharacterRange } from "@cursorless/lib-common";
import type { Target } from "../typings/target.types";
import type { Actions } from "./Actions";
import type { ActionReturnValue, SimpleAction } from "./actions.types";
diff --git a/packages/cursorless-engine/src/actions/Deselect.ts b/packages/lib-engine/src/actions/Deselect.ts
similarity index 96%
rename from packages/cursorless-engine/src/actions/Deselect.ts
rename to packages/lib-engine/src/actions/Deselect.ts
index 15968d1bb5..919d44b6b1 100644
--- a/packages/cursorless-engine/src/actions/Deselect.ts
+++ b/packages/lib-engine/src/actions/Deselect.ts
@@ -1,4 +1,4 @@
-import type { IDE } from "@cursorless/common";
+import type { IDE } from "@cursorless/lib-common";
import type { Target } from "../typings/target.types";
import { runOnTargetsForEachEditor } from "../util/targetUtils";
import type { SimpleAction, ActionReturnValue } from "./actions.types";
diff --git a/packages/cursorless-engine/src/actions/EditNew/EditNew.ts b/packages/lib-engine/src/actions/EditNew/EditNew.ts
similarity index 96%
rename from packages/cursorless-engine/src/actions/EditNew/EditNew.ts
rename to packages/lib-engine/src/actions/EditNew/EditNew.ts
index 562ad03658..00f8bf28f2 100644
--- a/packages/cursorless-engine/src/actions/EditNew/EditNew.ts
+++ b/packages/lib-engine/src/actions/EditNew/EditNew.ts
@@ -1,5 +1,5 @@
-import type { IDE } from "@cursorless/common";
-import { Selection } from "@cursorless/common";
+import type { IDE } from "@cursorless/lib-common";
+import { Selection } from "@cursorless/lib-common";
import type { RangeUpdater } from "../../core/updateSelections/RangeUpdater";
import type { Destination } from "../../typings/target.types";
import { createThatMark, ensureSingleEditor } from "../../util/targetUtils";
diff --git a/packages/cursorless-engine/src/actions/EditNew/EditNew.types.ts b/packages/lib-engine/src/actions/EditNew/EditNew.types.ts
similarity index 96%
rename from packages/cursorless-engine/src/actions/EditNew/EditNew.types.ts
rename to packages/lib-engine/src/actions/EditNew/EditNew.types.ts
index e90cf92e83..d5692af9c8 100644
--- a/packages/cursorless-engine/src/actions/EditNew/EditNew.types.ts
+++ b/packages/lib-engine/src/actions/EditNew/EditNew.types.ts
@@ -1,4 +1,4 @@
-import type { Range } from "@cursorless/common";
+import type { Range } from "@cursorless/lib-common";
import type {
Destination,
EditNewActionType,
diff --git a/packages/cursorless-engine/src/actions/EditNew/index.ts b/packages/lib-engine/src/actions/EditNew/index.ts
similarity index 100%
rename from packages/cursorless-engine/src/actions/EditNew/index.ts
rename to packages/lib-engine/src/actions/EditNew/index.ts
diff --git a/packages/cursorless-engine/src/actions/EditNew/runEditTargets.ts b/packages/lib-engine/src/actions/EditNew/runEditTargets.ts
similarity index 96%
rename from packages/cursorless-engine/src/actions/EditNew/runEditTargets.ts
rename to packages/lib-engine/src/actions/EditNew/runEditTargets.ts
index b05df5767a..3625a20203 100644
--- a/packages/cursorless-engine/src/actions/EditNew/runEditTargets.ts
+++ b/packages/lib-engine/src/actions/EditNew/runEditTargets.ts
@@ -1,5 +1,5 @@
-import type { EditableTextEditor } from "@cursorless/common";
-import { RangeExpansionBehavior } from "@cursorless/common";
+import type { EditableTextEditor } from "@cursorless/lib-common";
+import { RangeExpansionBehavior } from "@cursorless/lib-common";
import { zip } from "lodash-es";
import type { RangeUpdater } from "../../core/updateSelections/RangeUpdater";
import { performEditsAndUpdateSelections } from "../../core/updateSelections/updateSelections";
diff --git a/packages/cursorless-engine/src/actions/EditNew/runInsertLineAfterTargets.ts b/packages/lib-engine/src/actions/EditNew/runInsertLineAfterTargets.ts
similarity index 97%
rename from packages/cursorless-engine/src/actions/EditNew/runInsertLineAfterTargets.ts
rename to packages/lib-engine/src/actions/EditNew/runInsertLineAfterTargets.ts
index a121ae2531..51d7ec4053 100644
--- a/packages/cursorless-engine/src/actions/EditNew/runInsertLineAfterTargets.ts
+++ b/packages/lib-engine/src/actions/EditNew/runInsertLineAfterTargets.ts
@@ -1,8 +1,8 @@
import type {
CommandCapabilities,
EditableTextEditor,
-} from "@cursorless/common";
-import { Selection } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { Selection } from "@cursorless/lib-common";
import type { RangeUpdater } from "../../core/updateSelections/RangeUpdater";
import { performEditsAndUpdateSelections } from "../../core/updateSelections/updateSelections";
import type { EditDestination, State } from "./EditNew.types";
diff --git a/packages/cursorless-engine/src/actions/EditNew/runNotebookCellTargets.ts b/packages/lib-engine/src/actions/EditNew/runNotebookCellTargets.ts
similarity index 95%
rename from packages/cursorless-engine/src/actions/EditNew/runNotebookCellTargets.ts
rename to packages/lib-engine/src/actions/EditNew/runNotebookCellTargets.ts
index 9a51a606ec..522af5f933 100644
--- a/packages/cursorless-engine/src/actions/EditNew/runNotebookCellTargets.ts
+++ b/packages/lib-engine/src/actions/EditNew/runNotebookCellTargets.ts
@@ -1,4 +1,4 @@
-import type { IDE } from "@cursorless/common";
+import type { IDE } from "@cursorless/lib-common";
import type { Destination } from "../../typings/target.types";
import { createThatMark, ensureSingleTarget } from "../../util/targetUtils";
import type { Actions } from "../Actions";
diff --git a/packages/cursorless-engine/src/actions/EditNewLineAction.ts b/packages/lib-engine/src/actions/EditNewLineAction.ts
similarity index 100%
rename from packages/cursorless-engine/src/actions/EditNewLineAction.ts
rename to packages/lib-engine/src/actions/EditNewLineAction.ts
diff --git a/packages/cursorless-engine/src/actions/ExecuteCommand.ts b/packages/lib-engine/src/actions/ExecuteCommand.ts
similarity index 95%
rename from packages/cursorless-engine/src/actions/ExecuteCommand.ts
rename to packages/lib-engine/src/actions/ExecuteCommand.ts
index 0435aa6b9a..4133afe5fa 100644
--- a/packages/cursorless-engine/src/actions/ExecuteCommand.ts
+++ b/packages/lib-engine/src/actions/ExecuteCommand.ts
@@ -1,4 +1,4 @@
-import type { ExecuteCommandOptions, IDE } from "@cursorless/common";
+import type { ExecuteCommandOptions, IDE } from "@cursorless/lib-common";
import type { RangeUpdater } from "../core/updateSelections/RangeUpdater";
import type { Target } from "../typings/target.types";
import { CallbackAction } from "./CallbackAction";
diff --git a/packages/cursorless-engine/src/actions/Find.ts b/packages/lib-engine/src/actions/Find.ts
similarity index 92%
rename from packages/cursorless-engine/src/actions/Find.ts
rename to packages/lib-engine/src/actions/Find.ts
index 79ddea9210..0a714a4cbb 100644
--- a/packages/cursorless-engine/src/actions/Find.ts
+++ b/packages/lib-engine/src/actions/Find.ts
@@ -1,5 +1,5 @@
-import type { IDE } from "@cursorless/common";
-import { showWarning } from "@cursorless/common";
+import type { IDE } from "@cursorless/lib-common";
+import { showWarning } from "@cursorless/lib-common";
import type { Target } from "../typings/target.types";
import { ensureSingleTarget } from "../util/targetUtils";
import type { Actions } from "./Actions";
diff --git a/packages/cursorless-engine/src/actions/FlashTargets.ts b/packages/lib-engine/src/actions/FlashTargets.ts
similarity index 82%
rename from packages/cursorless-engine/src/actions/FlashTargets.ts
rename to packages/lib-engine/src/actions/FlashTargets.ts
index 8cf5f3f222..b15ce9ec80 100644
--- a/packages/cursorless-engine/src/actions/FlashTargets.ts
+++ b/packages/lib-engine/src/actions/FlashTargets.ts
@@ -1,5 +1,5 @@
-import type { IDE } from "@cursorless/common";
-import { FlashStyle } from "@cursorless/common";
+import type { IDE } from "@cursorless/lib-common";
+import { FlashStyle } from "@cursorless/lib-common";
import type { Target } from "../typings/target.types";
import { flashTargets } from "../util/targetUtils";
import type { ActionReturnValue, SimpleAction } from "./actions.types";
diff --git a/packages/cursorless-engine/src/actions/FollowLink.ts b/packages/lib-engine/src/actions/FollowLink.ts
similarity index 86%
rename from packages/cursorless-engine/src/actions/FollowLink.ts
rename to packages/lib-engine/src/actions/FollowLink.ts
index 47a8ed02ef..8f7cb83f65 100644
--- a/packages/cursorless-engine/src/actions/FollowLink.ts
+++ b/packages/lib-engine/src/actions/FollowLink.ts
@@ -1,5 +1,5 @@
-import type { IDE, OpenLinkOptions } from "@cursorless/common";
-import { FlashStyle } from "@cursorless/common";
+import type { IDE, OpenLinkOptions } from "@cursorless/lib-common";
+import { FlashStyle } from "@cursorless/lib-common";
import type { Target } from "../typings/target.types";
import {
createThatMark,
diff --git a/packages/cursorless-engine/src/actions/GenerateSnippet/GenerateSnippet.ts b/packages/lib-engine/src/actions/GenerateSnippet/GenerateSnippet.ts
similarity index 98%
rename from packages/cursorless-engine/src/actions/GenerateSnippet/GenerateSnippet.ts
rename to packages/lib-engine/src/actions/GenerateSnippet/GenerateSnippet.ts
index 648f83b527..e81a3e6431 100644
--- a/packages/cursorless-engine/src/actions/GenerateSnippet/GenerateSnippet.ts
+++ b/packages/lib-engine/src/actions/GenerateSnippet/GenerateSnippet.ts
@@ -1,5 +1,9 @@
-import type { EditableTextEditor, IDE, TextEditor } from "@cursorless/common";
-import { FlashStyle, Range, matchAll, Selection } from "@cursorless/common";
+import type {
+ EditableTextEditor,
+ IDE,
+ TextEditor,
+} from "@cursorless/lib-common";
+import { FlashStyle, Range, matchAll, Selection } from "@cursorless/lib-common";
import type {
Snippet,
SnippetFile,
diff --git a/packages/cursorless-engine/src/actions/GenerateSnippet/Offsets.ts b/packages/lib-engine/src/actions/GenerateSnippet/Offsets.ts
similarity index 100%
rename from packages/cursorless-engine/src/actions/GenerateSnippet/Offsets.ts
rename to packages/lib-engine/src/actions/GenerateSnippet/Offsets.ts
diff --git a/packages/cursorless-engine/src/actions/GenerateSnippet/Substituter.ts b/packages/lib-engine/src/actions/GenerateSnippet/Substituter.ts
similarity index 100%
rename from packages/cursorless-engine/src/actions/GenerateSnippet/Substituter.ts
rename to packages/lib-engine/src/actions/GenerateSnippet/Substituter.ts
diff --git a/packages/cursorless-engine/src/actions/GenerateSnippet/constructSnippetBody.ts b/packages/lib-engine/src/actions/GenerateSnippet/constructSnippetBody.ts
similarity index 100%
rename from packages/cursorless-engine/src/actions/GenerateSnippet/constructSnippetBody.ts
rename to packages/lib-engine/src/actions/GenerateSnippet/constructSnippetBody.ts
diff --git a/packages/cursorless-engine/src/actions/GenerateSnippet/editText.ts b/packages/lib-engine/src/actions/GenerateSnippet/editText.ts
similarity index 100%
rename from packages/cursorless-engine/src/actions/GenerateSnippet/editText.ts
rename to packages/lib-engine/src/actions/GenerateSnippet/editText.ts
diff --git a/packages/cursorless-engine/src/actions/GenerateSnippet/index.ts b/packages/lib-engine/src/actions/GenerateSnippet/index.ts
similarity index 100%
rename from packages/cursorless-engine/src/actions/GenerateSnippet/index.ts
rename to packages/lib-engine/src/actions/GenerateSnippet/index.ts
diff --git a/packages/cursorless-engine/src/actions/GetTargets.ts b/packages/lib-engine/src/actions/GetTargets.ts
similarity index 100%
rename from packages/cursorless-engine/src/actions/GetTargets.ts
rename to packages/lib-engine/src/actions/GetTargets.ts
diff --git a/packages/cursorless-engine/src/actions/GetText.ts b/packages/lib-engine/src/actions/GetText.ts
similarity index 86%
rename from packages/cursorless-engine/src/actions/GetText.ts
rename to packages/lib-engine/src/actions/GetText.ts
index 5e0856e88a..50c839182f 100644
--- a/packages/cursorless-engine/src/actions/GetText.ts
+++ b/packages/lib-engine/src/actions/GetText.ts
@@ -1,5 +1,5 @@
-import type { GetTextActionOptions, IDE } from "@cursorless/common";
-import { FlashStyle } from "@cursorless/common";
+import type { GetTextActionOptions, IDE } from "@cursorless/lib-common";
+import { FlashStyle } from "@cursorless/lib-common";
import type { Target } from "../typings/target.types";
import { ensureSingleTarget, flashTargets } from "../util/targetUtils";
import type { ActionReturnValue } from "./actions.types";
diff --git a/packages/cursorless-engine/src/actions/Highlight.ts b/packages/lib-engine/src/actions/Highlight.ts
similarity index 94%
rename from packages/cursorless-engine/src/actions/Highlight.ts
rename to packages/lib-engine/src/actions/Highlight.ts
index 65c8e52144..96f7a5938e 100644
--- a/packages/cursorless-engine/src/actions/Highlight.ts
+++ b/packages/lib-engine/src/actions/Highlight.ts
@@ -1,4 +1,4 @@
-import type { HighlightId, IDE } from "@cursorless/common";
+import type { HighlightId, IDE } from "@cursorless/lib-common";
import type { Target } from "../typings/target.types";
import {
runOnTargetsForEachEditor,
diff --git a/packages/cursorless-engine/src/actions/IndentLine.ts b/packages/lib-engine/src/actions/IndentLine.ts
similarity index 97%
rename from packages/cursorless-engine/src/actions/IndentLine.ts
rename to packages/lib-engine/src/actions/IndentLine.ts
index b590bf3a44..feecc3ae21 100644
--- a/packages/cursorless-engine/src/actions/IndentLine.ts
+++ b/packages/lib-engine/src/actions/IndentLine.ts
@@ -1,5 +1,5 @@
-import type { IDE, TextEditor } from "@cursorless/common";
-import { FlashStyle, Range, Selection } from "@cursorless/common";
+import type { IDE, TextEditor } from "@cursorless/lib-common";
+import { FlashStyle, Range, Selection } from "@cursorless/lib-common";
import { flatten, zip } from "lodash-es";
import { selectionToStoredTarget } from "../core/commandRunner/selectionToStoredTarget";
import type { RangeUpdater } from "../core/updateSelections/RangeUpdater";
diff --git a/packages/cursorless-engine/src/actions/InsertCopy.ts b/packages/lib-engine/src/actions/InsertCopy.ts
similarity index 97%
rename from packages/cursorless-engine/src/actions/InsertCopy.ts
rename to packages/lib-engine/src/actions/InsertCopy.ts
index b23781ad57..b3c9acb154 100644
--- a/packages/cursorless-engine/src/actions/InsertCopy.ts
+++ b/packages/lib-engine/src/actions/InsertCopy.ts
@@ -1,9 +1,9 @@
-import type { IDE, TextEditor } from "@cursorless/common";
+import type { IDE, TextEditor } from "@cursorless/lib-common";
import {
FlashStyle,
RangeExpansionBehavior,
toCharacterRange,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { flatten, zip } from "lodash-es";
import type { RangeUpdater } from "../core/updateSelections/RangeUpdater";
import { performEditsAndUpdateSelections } from "../core/updateSelections/updateSelections";
diff --git a/packages/cursorless-engine/src/actions/InsertEmptyLines.ts b/packages/lib-engine/src/actions/InsertEmptyLines.ts
similarity index 97%
rename from packages/cursorless-engine/src/actions/InsertEmptyLines.ts
rename to packages/lib-engine/src/actions/InsertEmptyLines.ts
index e1deecaf60..429a63c157 100644
--- a/packages/cursorless-engine/src/actions/InsertEmptyLines.ts
+++ b/packages/lib-engine/src/actions/InsertEmptyLines.ts
@@ -1,11 +1,11 @@
-import type { IDE, InsertionMode } from "@cursorless/common";
+import type { IDE, InsertionMode } from "@cursorless/lib-common";
import {
FlashStyle,
RangeExpansionBehavior,
toCharacterRange,
toLineRange,
zipStrict,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type { RangeUpdater } from "../core/updateSelections/RangeUpdater";
import { performEditsAndUpdateSelections } from "../core/updateSelections/updateSelections";
import { containingLineIfUntypedModifier } from "../processTargets/modifiers/commonContainingScopeIfUntypedModifiers";
diff --git a/packages/cursorless-engine/src/actions/InsertSnippet.ts b/packages/lib-engine/src/actions/InsertSnippet.ts
similarity index 96%
rename from packages/cursorless-engine/src/actions/InsertSnippet.ts
rename to packages/lib-engine/src/actions/InsertSnippet.ts
index 96dc227086..0f47d31077 100644
--- a/packages/cursorless-engine/src/actions/InsertSnippet.ts
+++ b/packages/lib-engine/src/actions/InsertSnippet.ts
@@ -1,8 +1,8 @@
-import type { IDE, InsertSnippetArg } from "@cursorless/common";
+import type { IDE, InsertSnippetArg } from "@cursorless/lib-common";
import {
NamedSnippetsDeprecationError,
RangeExpansionBehavior,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { getPreferredSnippet } from "../core/getPreferredSnippet";
import type { RangeUpdater } from "../core/updateSelections/RangeUpdater";
import { performEditsAndUpdateSelections } from "../core/updateSelections/updateSelections";
diff --git a/packages/cursorless-engine/src/actions/JoinLines.ts b/packages/lib-engine/src/actions/JoinLines.ts
similarity index 95%
rename from packages/cursorless-engine/src/actions/JoinLines.ts
rename to packages/lib-engine/src/actions/JoinLines.ts
index c59e1c2e26..4fdd6d8d0b 100644
--- a/packages/cursorless-engine/src/actions/JoinLines.ts
+++ b/packages/lib-engine/src/actions/JoinLines.ts
@@ -1,5 +1,10 @@
-import type { Edit, IDE, TextEditor } from "@cursorless/common";
-import { FlashStyle, Range, Selection, zipStrict } from "@cursorless/common";
+import type { Edit, IDE, TextEditor } from "@cursorless/lib-common";
+import {
+ FlashStyle,
+ Range,
+ Selection,
+ zipStrict,
+} from "@cursorless/lib-common";
import { range as iterRange, map, pairwise } from "itertools";
import { flatten } from "lodash-es";
import type { RangeUpdater } from "../core/updateSelections/RangeUpdater";
diff --git a/packages/cursorless-engine/src/actions/PasteFromClipboard.ts b/packages/lib-engine/src/actions/PasteFromClipboard.ts
similarity index 95%
rename from packages/cursorless-engine/src/actions/PasteFromClipboard.ts
rename to packages/lib-engine/src/actions/PasteFromClipboard.ts
index 0943eb373e..2635b0af2c 100644
--- a/packages/cursorless-engine/src/actions/PasteFromClipboard.ts
+++ b/packages/lib-engine/src/actions/PasteFromClipboard.ts
@@ -1,4 +1,4 @@
-import type { IDE } from "@cursorless/common";
+import type { IDE } from "@cursorless/lib-common";
import type { RangeUpdater } from "../core/updateSelections/RangeUpdater";
import type { Destination } from "../typings/target.types";
import type { Actions } from "./Actions";
diff --git a/packages/cursorless-engine/src/actions/PasteFromClipboardDirectly.ts b/packages/lib-engine/src/actions/PasteFromClipboardDirectly.ts
similarity index 96%
rename from packages/cursorless-engine/src/actions/PasteFromClipboardDirectly.ts
rename to packages/lib-engine/src/actions/PasteFromClipboardDirectly.ts
index 19947d4fe4..24bfb086d6 100644
--- a/packages/cursorless-engine/src/actions/PasteFromClipboardDirectly.ts
+++ b/packages/lib-engine/src/actions/PasteFromClipboardDirectly.ts
@@ -1,11 +1,11 @@
-import type { IDE, TextEditor } from "@cursorless/common";
+import type { IDE, TextEditor } from "@cursorless/lib-common";
import {
FlashStyle,
RangeExpansionBehavior,
Selection,
toCharacterRange,
zipStrict,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { flatten } from "lodash-es";
import type { RangeUpdater } from "../core/updateSelections/RangeUpdater";
import { performEditsAndUpdateSelections } from "../core/updateSelections/updateSelections";
diff --git a/packages/cursorless-engine/src/actions/PasteFromClipboardUsingCommand.ts b/packages/lib-engine/src/actions/PasteFromClipboardUsingCommand.ts
similarity index 98%
rename from packages/cursorless-engine/src/actions/PasteFromClipboardUsingCommand.ts
rename to packages/lib-engine/src/actions/PasteFromClipboardUsingCommand.ts
index b242860195..cbbbb89efd 100644
--- a/packages/cursorless-engine/src/actions/PasteFromClipboardUsingCommand.ts
+++ b/packages/lib-engine/src/actions/PasteFromClipboardUsingCommand.ts
@@ -3,7 +3,7 @@ import {
RangeExpansionBehavior,
toCharacterRange,
type IDE,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type { RangeUpdater } from "../core/updateSelections/RangeUpdater";
import { performEditsAndUpdateSelections } from "../core/updateSelections/updateSelections";
import type { Destination } from "../typings/target.types";
diff --git a/packages/cursorless-engine/src/actions/Remove.ts b/packages/lib-engine/src/actions/Remove.ts
similarity index 94%
rename from packages/cursorless-engine/src/actions/Remove.ts
rename to packages/lib-engine/src/actions/Remove.ts
index ad1230924e..c65198482c 100644
--- a/packages/cursorless-engine/src/actions/Remove.ts
+++ b/packages/lib-engine/src/actions/Remove.ts
@@ -1,5 +1,5 @@
-import type { IDE, TextEditor } from "@cursorless/common";
-import { FlashStyle } from "@cursorless/common";
+import type { IDE, TextEditor } from "@cursorless/lib-common";
+import { FlashStyle } from "@cursorless/lib-common";
import { flatten, zip } from "lodash-es";
import type { RangeUpdater } from "../core/updateSelections/RangeUpdater";
import { performEditsAndUpdateSelections } from "../core/updateSelections/updateSelections";
diff --git a/packages/cursorless-engine/src/actions/Replace.ts b/packages/lib-engine/src/actions/Replace.ts
similarity index 97%
rename from packages/cursorless-engine/src/actions/Replace.ts
rename to packages/lib-engine/src/actions/Replace.ts
index a0bb7fef50..67cad29f4d 100644
--- a/packages/cursorless-engine/src/actions/Replace.ts
+++ b/packages/lib-engine/src/actions/Replace.ts
@@ -1,9 +1,9 @@
-import type { IDE, ReplaceWith } from "@cursorless/common";
+import type { IDE, ReplaceWith } from "@cursorless/lib-common";
import {
FlashStyle,
RangeExpansionBehavior,
Selection,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { zip } from "lodash-es";
import type { RangeUpdater } from "../core/updateSelections/RangeUpdater";
import { performEditsAndUpdateSelections } from "../core/updateSelections/updateSelections";
diff --git a/packages/cursorless-engine/src/actions/Rewrap.ts b/packages/lib-engine/src/actions/Rewrap.ts
similarity index 96%
rename from packages/cursorless-engine/src/actions/Rewrap.ts
rename to packages/lib-engine/src/actions/Rewrap.ts
index 7b33a35244..d8c845e7f7 100644
--- a/packages/cursorless-engine/src/actions/Rewrap.ts
+++ b/packages/lib-engine/src/actions/Rewrap.ts
@@ -1,5 +1,5 @@
-import type { IDE } from "@cursorless/common";
-import { FlashStyle } from "@cursorless/common";
+import type { IDE } from "@cursorless/lib-common";
+import { FlashStyle } from "@cursorless/lib-common";
import type { RangeUpdater } from "../core/updateSelections/RangeUpdater";
import { performEditsAndUpdateSelections } from "../core/updateSelections/updateSelections";
import { getContainingSurroundingPairIfNoBoundaryStage } from "../processTargets/modifiers/BoundaryStage";
diff --git a/packages/cursorless-engine/src/actions/Scroll.ts b/packages/lib-engine/src/actions/Scroll.ts
similarity index 96%
rename from packages/cursorless-engine/src/actions/Scroll.ts
rename to packages/lib-engine/src/actions/Scroll.ts
index ad60f4faf4..9765f67d6d 100644
--- a/packages/cursorless-engine/src/actions/Scroll.ts
+++ b/packages/lib-engine/src/actions/Scroll.ts
@@ -1,10 +1,10 @@
-import type { IDE } from "@cursorless/common";
+import type { IDE } from "@cursorless/lib-common";
import {
FlashStyle,
groupBy,
RevealLineAt,
toLineRange,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type { Target } from "../typings/target.types";
import type { SimpleAction, ActionReturnValue } from "./actions.types";
diff --git a/packages/cursorless-engine/src/actions/SetSelection.ts b/packages/lib-engine/src/actions/SetSelection.ts
similarity index 95%
rename from packages/cursorless-engine/src/actions/SetSelection.ts
rename to packages/lib-engine/src/actions/SetSelection.ts
index dbfc9807d0..77c1f0a6e1 100644
--- a/packages/cursorless-engine/src/actions/SetSelection.ts
+++ b/packages/lib-engine/src/actions/SetSelection.ts
@@ -1,5 +1,5 @@
-import type { IDE } from "@cursorless/common";
-import { Selection } from "@cursorless/common";
+import type { IDE } from "@cursorless/lib-common";
+import { Selection } from "@cursorless/lib-common";
import type { Target } from "../typings/target.types";
import { ensureSingleEditor } from "../util/targetUtils";
import type { SimpleAction, ActionReturnValue } from "./actions.types";
diff --git a/packages/cursorless-engine/src/actions/SetSpecialTarget.ts b/packages/lib-engine/src/actions/SetSpecialTarget.ts
similarity index 88%
rename from packages/cursorless-engine/src/actions/SetSpecialTarget.ts
rename to packages/lib-engine/src/actions/SetSpecialTarget.ts
index 2c514599b5..16cabcb339 100644
--- a/packages/cursorless-engine/src/actions/SetSpecialTarget.ts
+++ b/packages/lib-engine/src/actions/SetSpecialTarget.ts
@@ -1,4 +1,4 @@
-import type { StoredTargetKey } from "@cursorless/common";
+import type { StoredTargetKey } from "@cursorless/lib-common";
import type { Target } from "../typings/target.types";
import type { SimpleAction, ActionReturnValue } from "./actions.types";
diff --git a/packages/cursorless-engine/src/actions/ShowParseTree.ts b/packages/lib-engine/src/actions/ShowParseTree.ts
similarity index 97%
rename from packages/cursorless-engine/src/actions/ShowParseTree.ts
rename to packages/lib-engine/src/actions/ShowParseTree.ts
index 7e93d1f365..3ab71dc112 100644
--- a/packages/cursorless-engine/src/actions/ShowParseTree.ts
+++ b/packages/lib-engine/src/actions/ShowParseTree.ts
@@ -1,5 +1,5 @@
-import type { IDE, TextDocument, TreeSitter } from "@cursorless/common";
-import { FlashStyle, Range } from "@cursorless/common";
+import type { IDE, TextDocument, TreeSitter } from "@cursorless/lib-common";
+import { FlashStyle, Range } from "@cursorless/lib-common";
import type { Tree, TreeCursor } from "web-tree-sitter";
import type { Target } from "../typings/target.types";
import { flashTargets } from "../util/targetUtils";
diff --git a/packages/cursorless-engine/src/actions/SimpleIdeCommandActions.ts b/packages/lib-engine/src/actions/SimpleIdeCommandActions.ts
similarity index 99%
rename from packages/cursorless-engine/src/actions/SimpleIdeCommandActions.ts
rename to packages/lib-engine/src/actions/SimpleIdeCommandActions.ts
index 149ab83fe2..76edd0bb22 100644
--- a/packages/cursorless-engine/src/actions/SimpleIdeCommandActions.ts
+++ b/packages/lib-engine/src/actions/SimpleIdeCommandActions.ts
@@ -3,7 +3,7 @@ import type {
EditableTextEditor,
IDE,
Range,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type { RangeUpdater } from "../core/updateSelections/RangeUpdater";
import type { Target } from "../typings/target.types";
import { CallbackAction } from "./CallbackAction";
diff --git a/packages/cursorless-engine/src/actions/Sort.ts b/packages/lib-engine/src/actions/Sort.ts
similarity index 96%
rename from packages/cursorless-engine/src/actions/Sort.ts
rename to packages/lib-engine/src/actions/Sort.ts
index 59cc16aa70..2e3ac83370 100644
--- a/packages/cursorless-engine/src/actions/Sort.ts
+++ b/packages/lib-engine/src/actions/Sort.ts
@@ -1,4 +1,4 @@
-import { showWarning, type IDE } from "@cursorless/common";
+import { showWarning, type IDE } from "@cursorless/lib-common";
import { shuffle } from "lodash-es";
import type { Target } from "../typings/target.types";
import type { Actions } from "./Actions";
diff --git a/packages/cursorless-engine/src/actions/ToggleBreakpoint.ts b/packages/lib-engine/src/actions/ToggleBreakpoint.ts
similarity index 95%
rename from packages/cursorless-engine/src/actions/ToggleBreakpoint.ts
rename to packages/lib-engine/src/actions/ToggleBreakpoint.ts
index 17e843cdfa..100f9b8128 100644
--- a/packages/cursorless-engine/src/actions/ToggleBreakpoint.ts
+++ b/packages/lib-engine/src/actions/ToggleBreakpoint.ts
@@ -1,4 +1,4 @@
-import { FlashStyle, type IDE } from "@cursorless/common";
+import { FlashStyle, type IDE } from "@cursorless/lib-common";
import type { ModifierStageFactory } from "../processTargets/ModifierStageFactory";
import { containingLineIfUntypedModifier } from "../processTargets/modifiers/commonContainingScopeIfUntypedModifiers";
import type { Target } from "../typings/target.types";
diff --git a/packages/cursorless-engine/src/actions/Wrap.ts b/packages/lib-engine/src/actions/Wrap.ts
similarity index 97%
rename from packages/cursorless-engine/src/actions/Wrap.ts
rename to packages/lib-engine/src/actions/Wrap.ts
index e72fca4202..a617a5da06 100644
--- a/packages/cursorless-engine/src/actions/Wrap.ts
+++ b/packages/lib-engine/src/actions/Wrap.ts
@@ -1,10 +1,10 @@
-import type { Edit, IDE } from "@cursorless/common";
+import type { Edit, IDE } from "@cursorless/lib-common";
import {
FlashStyle,
RangeExpansionBehavior,
Selection,
toCharacterRange,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type { RangeUpdater } from "../core/updateSelections/RangeUpdater";
import { performEditsAndUpdateSelections } from "../core/updateSelections/updateSelections";
import type { Target } from "../typings/target.types";
diff --git a/packages/cursorless-engine/src/actions/WrapWithSnippet.ts b/packages/lib-engine/src/actions/WrapWithSnippet.ts
similarity index 95%
rename from packages/cursorless-engine/src/actions/WrapWithSnippet.ts
rename to packages/lib-engine/src/actions/WrapWithSnippet.ts
index 158bd1a7dc..9d8a062307 100644
--- a/packages/cursorless-engine/src/actions/WrapWithSnippet.ts
+++ b/packages/lib-engine/src/actions/WrapWithSnippet.ts
@@ -1,5 +1,5 @@
-import type { IDE, WrapWithSnippetArg } from "@cursorless/common";
-import { FlashStyle } from "@cursorless/common";
+import type { IDE, WrapWithSnippetArg } from "@cursorless/lib-common";
+import { FlashStyle } from "@cursorless/lib-common";
import { getPreferredSnippet } from "../core/getPreferredSnippet";
import type { RangeUpdater } from "../core/updateSelections/RangeUpdater";
import { performEditsAndUpdateSelections } from "../core/updateSelections/updateSelections";
diff --git a/packages/cursorless-engine/src/actions/actions.types.ts b/packages/lib-engine/src/actions/actions.types.ts
similarity index 99%
rename from packages/cursorless-engine/src/actions/actions.types.ts
rename to packages/lib-engine/src/actions/actions.types.ts
index e1c93967c0..28086b3e13 100644
--- a/packages/cursorless-engine/src/actions/actions.types.ts
+++ b/packages/lib-engine/src/actions/actions.types.ts
@@ -6,7 +6,7 @@ import type {
ReplaceWith,
SimpleActionName,
WrapWithSnippetArg,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type { ModifierStage } from "../processTargets/PipelineStages.types";
import type { SelectionWithEditor } from "../typings/Types";
import type { Destination, Target } from "../typings/target.types";
diff --git a/packages/cursorless-engine/src/actions/incrementDecrement.ts b/packages/lib-engine/src/actions/incrementDecrement.ts
similarity index 97%
rename from packages/cursorless-engine/src/actions/incrementDecrement.ts
rename to packages/lib-engine/src/actions/incrementDecrement.ts
index 1b1a1e69ea..efb2f0343e 100644
--- a/packages/cursorless-engine/src/actions/incrementDecrement.ts
+++ b/packages/lib-engine/src/actions/incrementDecrement.ts
@@ -1,5 +1,5 @@
-import type { MatchedText, TextEditor } from "@cursorless/common";
-import { Range, matchText } from "@cursorless/common";
+import type { MatchedText, TextEditor } from "@cursorless/lib-common";
+import { Range, matchText } from "@cursorless/lib-common";
import { PlainTarget } from "../processTargets/targets";
import type { SelectionWithEditor } from "../typings/Types";
import type { Destination, Target } from "../typings/target.types";
diff --git a/packages/cursorless-engine/src/api/CursorlessEngineApi.ts b/packages/lib-engine/src/api/CursorlessEngineApi.ts
similarity index 98%
rename from packages/cursorless-engine/src/api/CursorlessEngineApi.ts
rename to packages/lib-engine/src/api/CursorlessEngineApi.ts
index 24d73103f1..223dbb07ea 100644
--- a/packages/cursorless-engine/src/api/CursorlessEngineApi.ts
+++ b/packages/lib-engine/src/api/CursorlessEngineApi.ts
@@ -10,7 +10,7 @@ import type {
ScopeProvider,
ScopeType,
SpokenForm,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type { CommandRunner } from "../CommandRunner";
import type { StoredTargetMap } from "../core/StoredTargets";
import type { LanguageDefinitions } from "../languages/LanguageDefinitions";
diff --git a/packages/cursorless-engine/src/core/Debug.ts b/packages/lib-engine/src/core/Debug.ts
similarity index 95%
rename from packages/cursorless-engine/src/core/Debug.ts
rename to packages/lib-engine/src/core/Debug.ts
index 91f341193c..d38c0ad366 100644
--- a/packages/cursorless-engine/src/core/Debug.ts
+++ b/packages/lib-engine/src/core/Debug.ts
@@ -1,4 +1,4 @@
-import type { Disposable, IDE } from "@cursorless/common";
+import type { Disposable, IDE } from "@cursorless/lib-common";
/**
* Debug logger
diff --git a/packages/cursorless-engine/src/core/HatAllocator.ts b/packages/lib-engine/src/core/HatAllocator.ts
similarity index 99%
rename from packages/cursorless-engine/src/core/HatAllocator.ts
rename to packages/lib-engine/src/core/HatAllocator.ts
index b3263f164a..5dcfad5c52 100644
--- a/packages/cursorless-engine/src/core/HatAllocator.ts
+++ b/packages/lib-engine/src/core/HatAllocator.ts
@@ -1,4 +1,4 @@
-import type { Disposable, Hats, IDE, TokenHat } from "@cursorless/common";
+import type { Disposable, Hats, IDE, TokenHat } from "@cursorless/lib-common";
import type { TokenGraphemeSplitter } from "../tokenGraphemeSplitter";
import { allocateHats } from "../util/allocateHats";
import type { IndividualHatMap } from "./IndividualHatMap";
diff --git a/packages/cursorless-engine/src/core/HatTokenMapImpl.ts b/packages/lib-engine/src/core/HatTokenMapImpl.ts
similarity index 99%
rename from packages/cursorless-engine/src/core/HatTokenMapImpl.ts
rename to packages/lib-engine/src/core/HatTokenMapImpl.ts
index 103f4e6314..34a4392652 100644
--- a/packages/cursorless-engine/src/core/HatTokenMapImpl.ts
+++ b/packages/lib-engine/src/core/HatTokenMapImpl.ts
@@ -5,7 +5,7 @@ import type {
IDE,
ReadOnlyHatMap,
TokenHat,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type { TokenGraphemeSplitter } from "../tokenGraphemeSplitter";
import type { Debug } from "./Debug";
import { HatAllocator } from "./HatAllocator";
diff --git a/packages/cursorless-engine/src/core/IndividualHatMap.ts b/packages/lib-engine/src/core/IndividualHatMap.ts
similarity index 97%
rename from packages/cursorless-engine/src/core/IndividualHatMap.ts
rename to packages/lib-engine/src/core/IndividualHatMap.ts
index a11f32f1d1..b27cc72df2 100644
--- a/packages/cursorless-engine/src/core/IndividualHatMap.ts
+++ b/packages/lib-engine/src/core/IndividualHatMap.ts
@@ -5,8 +5,8 @@ import type {
TextDocument,
Token,
TokenHat,
-} from "@cursorless/common";
-import { getKey } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { getKey } from "@cursorless/lib-common";
import type { TokenGraphemeSplitter } from "../tokenGraphemeSplitter";
import { getMatcher } from "../tokenizer";
import type { FullRangeInfo } from "../typings/updateSelections";
diff --git a/packages/cursorless-engine/src/core/Snippets.ts b/packages/lib-engine/src/core/Snippets.ts
similarity index 86%
rename from packages/cursorless-engine/src/core/Snippets.ts
rename to packages/lib-engine/src/core/Snippets.ts
index f6309c84c1..c6ad5b9eac 100644
--- a/packages/cursorless-engine/src/core/Snippets.ts
+++ b/packages/lib-engine/src/core/Snippets.ts
@@ -1,4 +1,4 @@
-import type { TextEditor } from "@cursorless/common";
+import type { TextEditor } from "@cursorless/lib-common";
export interface Snippets {
/**
diff --git a/packages/cursorless-engine/src/core/StoredTargets.ts b/packages/lib-engine/src/core/StoredTargets.ts
similarity index 95%
rename from packages/cursorless-engine/src/core/StoredTargets.ts
rename to packages/lib-engine/src/core/StoredTargets.ts
index 4d4ee8088f..158ea0c312 100644
--- a/packages/cursorless-engine/src/core/StoredTargets.ts
+++ b/packages/lib-engine/src/core/StoredTargets.ts
@@ -1,5 +1,5 @@
-import type { StoredTargetKey } from "@cursorless/common";
-import { DefaultMap, Notifier, storedTargetKeys } from "@cursorless/common";
+import type { StoredTargetKey } from "@cursorless/lib-common";
+import { DefaultMap, Notifier, storedTargetKeys } from "@cursorless/lib-common";
import type { Target } from "../typings/target.types";
import { UndoStack } from "./UndoStack";
diff --git a/packages/cursorless-engine/src/core/UndoStack.test.ts b/packages/lib-engine/src/core/UndoStack.test.ts
similarity index 100%
rename from packages/cursorless-engine/src/core/UndoStack.test.ts
rename to packages/lib-engine/src/core/UndoStack.test.ts
diff --git a/packages/cursorless-engine/src/core/UndoStack.ts b/packages/lib-engine/src/core/UndoStack.ts
similarity index 100%
rename from packages/cursorless-engine/src/core/UndoStack.ts
rename to packages/lib-engine/src/core/UndoStack.ts
diff --git a/packages/cursorless-engine/src/core/commandRunner/CommandRunnerImpl.ts b/packages/lib-engine/src/core/commandRunner/CommandRunnerImpl.ts
similarity index 99%
rename from packages/cursorless-engine/src/core/commandRunner/CommandRunnerImpl.ts
rename to packages/lib-engine/src/core/commandRunner/CommandRunnerImpl.ts
index d4c8ebb90f..00654b3799 100644
--- a/packages/cursorless-engine/src/core/commandRunner/CommandRunnerImpl.ts
+++ b/packages/lib-engine/src/core/commandRunner/CommandRunnerImpl.ts
@@ -5,8 +5,8 @@ import type {
CommandServerApi,
DestinationDescriptor,
PartialTargetDescriptor,
-} from "@cursorless/common";
-import { clientSupportsFallback } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { clientSupportsFallback } from "@cursorless/lib-common";
import type { CommandRunner } from "../../CommandRunner";
import type {
ActionRecord,
diff --git a/packages/cursorless-engine/src/core/commandRunner/selectionToStoredTarget.ts b/packages/lib-engine/src/core/commandRunner/selectionToStoredTarget.ts
similarity index 100%
rename from packages/cursorless-engine/src/core/commandRunner/selectionToStoredTarget.ts
rename to packages/lib-engine/src/core/commandRunner/selectionToStoredTarget.ts
diff --git a/packages/cursorless-engine/src/core/commandVersionUpgrades/canonicalizeAndValidateCommand.ts b/packages/lib-engine/src/core/commandVersionUpgrades/canonicalizeAndValidateCommand.ts
similarity index 98%
rename from packages/cursorless-engine/src/core/commandVersionUpgrades/canonicalizeAndValidateCommand.ts
rename to packages/lib-engine/src/core/commandVersionUpgrades/canonicalizeAndValidateCommand.ts
index 0543516e34..88e86ecde7 100644
--- a/packages/cursorless-engine/src/core/commandVersionUpgrades/canonicalizeAndValidateCommand.ts
+++ b/packages/lib-engine/src/core/commandVersionUpgrades/canonicalizeAndValidateCommand.ts
@@ -5,8 +5,8 @@ import type {
CommandVersion,
EnforceUndefined,
PartialTargetDescriptor,
-} from "@cursorless/common";
-import { LATEST_VERSION, OutdatedExtensionError } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { LATEST_VERSION, OutdatedExtensionError } from "@cursorless/lib-common";
import { produce } from "immer";
import { getPartialTargetDescriptors } from "../../util/getPartialTargetDescriptors";
import canonicalizeTargetsInPlace from "./canonicalizeTargetsInPlace";
diff --git a/packages/cursorless-engine/src/core/commandVersionUpgrades/canonicalizeTargetsInPlace.ts b/packages/lib-engine/src/core/commandVersionUpgrades/canonicalizeTargetsInPlace.ts
similarity index 97%
rename from packages/cursorless-engine/src/core/commandVersionUpgrades/canonicalizeTargetsInPlace.ts
rename to packages/lib-engine/src/core/commandVersionUpgrades/canonicalizeTargetsInPlace.ts
index 7f6ef4f659..7612880a75 100644
--- a/packages/cursorless-engine/src/core/commandVersionUpgrades/canonicalizeTargetsInPlace.ts
+++ b/packages/lib-engine/src/core/commandVersionUpgrades/canonicalizeTargetsInPlace.ts
@@ -3,7 +3,7 @@ import type {
PartialPrimitiveTargetDescriptor,
PartialTargetDescriptor,
SimpleScopeTypeType,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { getPartialPrimitiveTargets } from "../../util/getPrimitiveTargets";
const SCOPE_TYPE_CANONICALIZATION_MAPPING: Record =
diff --git a/packages/cursorless-engine/src/core/commandVersionUpgrades/upgradeV0ToV1/index.ts b/packages/lib-engine/src/core/commandVersionUpgrades/upgradeV0ToV1/index.ts
similarity index 100%
rename from packages/cursorless-engine/src/core/commandVersionUpgrades/upgradeV0ToV1/index.ts
rename to packages/lib-engine/src/core/commandVersionUpgrades/upgradeV0ToV1/index.ts
diff --git a/packages/cursorless-engine/src/core/commandVersionUpgrades/upgradeV0ToV1/upgradeV0ToV1.ts b/packages/lib-engine/src/core/commandVersionUpgrades/upgradeV0ToV1/upgradeV0ToV1.ts
similarity index 60%
rename from packages/cursorless-engine/src/core/commandVersionUpgrades/upgradeV0ToV1/upgradeV0ToV1.ts
rename to packages/lib-engine/src/core/commandVersionUpgrades/upgradeV0ToV1/upgradeV0ToV1.ts
index a375fb8dc1..81fe49463a 100644
--- a/packages/cursorless-engine/src/core/commandVersionUpgrades/upgradeV0ToV1/upgradeV0ToV1.ts
+++ b/packages/lib-engine/src/core/commandVersionUpgrades/upgradeV0ToV1/upgradeV0ToV1.ts
@@ -1,4 +1,4 @@
-import type { CommandV0, CommandV1 } from "@cursorless/common";
+import type { CommandV0, CommandV1 } from "@cursorless/lib-common";
export function upgradeV0ToV1(command: CommandV0): CommandV1 {
return { ...command, version: 1 };
diff --git a/packages/cursorless-engine/src/core/commandVersionUpgrades/upgradeV1ToV2/index.ts b/packages/lib-engine/src/core/commandVersionUpgrades/upgradeV1ToV2/index.ts
similarity index 100%
rename from packages/cursorless-engine/src/core/commandVersionUpgrades/upgradeV1ToV2/index.ts
rename to packages/lib-engine/src/core/commandVersionUpgrades/upgradeV1ToV2/index.ts
diff --git a/packages/cursorless-engine/src/core/commandVersionUpgrades/upgradeV1ToV2/upgradeStrictHere.ts b/packages/lib-engine/src/core/commandVersionUpgrades/upgradeV1ToV2/upgradeStrictHere.ts
similarity index 96%
rename from packages/cursorless-engine/src/core/commandVersionUpgrades/upgradeV1ToV2/upgradeStrictHere.ts
rename to packages/lib-engine/src/core/commandVersionUpgrades/upgradeV1ToV2/upgradeStrictHere.ts
index 6068fdb81f..9f130d4b39 100644
--- a/packages/cursorless-engine/src/core/commandVersionUpgrades/upgradeV1ToV2/upgradeStrictHere.ts
+++ b/packages/lib-engine/src/core/commandVersionUpgrades/upgradeV1ToV2/upgradeStrictHere.ts
@@ -1,5 +1,5 @@
import { isEqual } from "lodash-es";
-import type { PartialPrimitiveTargetDescriptorV2 } from "@cursorless/common";
+import type { PartialPrimitiveTargetDescriptorV2 } from "@cursorless/lib-common";
const STRICT_HERE = {
type: "primitive",
diff --git a/packages/cursorless-engine/src/core/commandVersionUpgrades/upgradeV1ToV2/upgradeV1ToV2.ts b/packages/lib-engine/src/core/commandVersionUpgrades/upgradeV1ToV2/upgradeV1ToV2.ts
similarity index 99%
rename from packages/cursorless-engine/src/core/commandVersionUpgrades/upgradeV1ToV2/upgradeV1ToV2.ts
rename to packages/lib-engine/src/core/commandVersionUpgrades/upgradeV1ToV2/upgradeV1ToV2.ts
index 0ba97908d1..99588ee8fb 100644
--- a/packages/cursorless-engine/src/core/commandVersionUpgrades/upgradeV1ToV2/upgradeV1ToV2.ts
+++ b/packages/lib-engine/src/core/commandVersionUpgrades/upgradeV1ToV2/upgradeV1ToV2.ts
@@ -11,7 +11,7 @@ import type {
PartialTargetDescriptorV2,
PartialTargetV0V1,
SimpleScopeTypeTypeV2,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { upgradeStrictHere } from "./upgradeStrictHere";
export function upgradeV1ToV2(command: CommandV1): CommandV2 {
diff --git a/packages/cursorless-engine/src/core/commandVersionUpgrades/upgradeV2ToV3/index.ts b/packages/lib-engine/src/core/commandVersionUpgrades/upgradeV2ToV3/index.ts
similarity index 100%
rename from packages/cursorless-engine/src/core/commandVersionUpgrades/upgradeV2ToV3/index.ts
rename to packages/lib-engine/src/core/commandVersionUpgrades/upgradeV2ToV3/index.ts
diff --git a/packages/cursorless-engine/src/core/commandVersionUpgrades/upgradeV2ToV3/upgradeV2ToV3.ts b/packages/lib-engine/src/core/commandVersionUpgrades/upgradeV2ToV3/upgradeV2ToV3.ts
similarity index 99%
rename from packages/cursorless-engine/src/core/commandVersionUpgrades/upgradeV2ToV3/upgradeV2ToV3.ts
rename to packages/lib-engine/src/core/commandVersionUpgrades/upgradeV2ToV3/upgradeV2ToV3.ts
index 89faffc619..ab809edfb7 100644
--- a/packages/cursorless-engine/src/core/commandVersionUpgrades/upgradeV2ToV3/upgradeV2ToV3.ts
+++ b/packages/lib-engine/src/core/commandVersionUpgrades/upgradeV2ToV3/upgradeV2ToV3.ts
@@ -18,7 +18,7 @@ import type {
RangeMarkV3,
RangeModifierV3,
ScopeTypeV2,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { isEqual } from "lodash-es";
export function upgradeV2ToV3(command: CommandV2): CommandV3 {
diff --git a/packages/cursorless-engine/src/core/commandVersionUpgrades/upgradeV3ToV4/index.ts b/packages/lib-engine/src/core/commandVersionUpgrades/upgradeV3ToV4/index.ts
similarity index 100%
rename from packages/cursorless-engine/src/core/commandVersionUpgrades/upgradeV3ToV4/index.ts
rename to packages/lib-engine/src/core/commandVersionUpgrades/upgradeV3ToV4/index.ts
diff --git a/packages/cursorless-engine/src/core/commandVersionUpgrades/upgradeV3ToV4/upgradeV3ToV4.ts b/packages/lib-engine/src/core/commandVersionUpgrades/upgradeV3ToV4/upgradeV3ToV4.ts
similarity index 97%
rename from packages/cursorless-engine/src/core/commandVersionUpgrades/upgradeV3ToV4/upgradeV3ToV4.ts
rename to packages/lib-engine/src/core/commandVersionUpgrades/upgradeV3ToV4/upgradeV3ToV4.ts
index d3b444fae1..0b646d2d02 100644
--- a/packages/cursorless-engine/src/core/commandVersionUpgrades/upgradeV3ToV4/upgradeV3ToV4.ts
+++ b/packages/lib-engine/src/core/commandVersionUpgrades/upgradeV3ToV4/upgradeV3ToV4.ts
@@ -7,7 +7,7 @@ import type {
PartialRangeTargetDescriptorV4,
PartialTargetDescriptorV3,
PartialTargetDescriptorV4,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
export function upgradeV3ToV4(command: CommandV3): CommandV4 {
return {
diff --git a/packages/cursorless-engine/src/core/commandVersionUpgrades/upgradeV4ToV5/index.ts b/packages/lib-engine/src/core/commandVersionUpgrades/upgradeV4ToV5/index.ts
similarity index 100%
rename from packages/cursorless-engine/src/core/commandVersionUpgrades/upgradeV4ToV5/index.ts
rename to packages/lib-engine/src/core/commandVersionUpgrades/upgradeV4ToV5/index.ts
diff --git a/packages/cursorless-engine/src/core/commandVersionUpgrades/upgradeV4ToV5/upgradeV4ToV5.ts b/packages/lib-engine/src/core/commandVersionUpgrades/upgradeV4ToV5/upgradeV4ToV5.ts
similarity index 98%
rename from packages/cursorless-engine/src/core/commandVersionUpgrades/upgradeV4ToV5/upgradeV4ToV5.ts
rename to packages/lib-engine/src/core/commandVersionUpgrades/upgradeV4ToV5/upgradeV4ToV5.ts
index 98116d74d0..e766716bd2 100644
--- a/packages/cursorless-engine/src/core/commandVersionUpgrades/upgradeV4ToV5/upgradeV4ToV5.ts
+++ b/packages/lib-engine/src/core/commandVersionUpgrades/upgradeV4ToV5/upgradeV4ToV5.ts
@@ -10,7 +10,7 @@ import type {
PartialPrimitiveTargetDescriptorV5,
PartialTargetDescriptorV4,
PartialTargetDescriptorV5,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
export function upgradeV4ToV5(command: CommandV4): CommandV5 {
return {
diff --git a/packages/cursorless-engine/src/core/commandVersionUpgrades/upgradeV5ToV6/canonicalizeActionName.ts b/packages/lib-engine/src/core/commandVersionUpgrades/upgradeV5ToV6/canonicalizeActionName.ts
similarity index 91%
rename from packages/cursorless-engine/src/core/commandVersionUpgrades/upgradeV5ToV6/canonicalizeActionName.ts
rename to packages/lib-engine/src/core/commandVersionUpgrades/upgradeV5ToV6/canonicalizeActionName.ts
index 4b71f6d857..7210e948ad 100644
--- a/packages/cursorless-engine/src/core/commandVersionUpgrades/upgradeV5ToV6/canonicalizeActionName.ts
+++ b/packages/lib-engine/src/core/commandVersionUpgrades/upgradeV5ToV6/canonicalizeActionName.ts
@@ -1,5 +1,5 @@
-import type { ActionType } from "@cursorless/common";
-import { actionNames } from "@cursorless/common";
+import type { ActionType } from "@cursorless/lib-common";
+import { actionNames } from "@cursorless/lib-common";
const actionAliasToCanonicalName: Record = {
bring: "replaceWithTarget",
diff --git a/packages/cursorless-engine/src/core/commandVersionUpgrades/upgradeV5ToV6/index.ts b/packages/lib-engine/src/core/commandVersionUpgrades/upgradeV5ToV6/index.ts
similarity index 100%
rename from packages/cursorless-engine/src/core/commandVersionUpgrades/upgradeV5ToV6/index.ts
rename to packages/lib-engine/src/core/commandVersionUpgrades/upgradeV5ToV6/index.ts
diff --git a/packages/cursorless-engine/src/core/commandVersionUpgrades/upgradeV5ToV6/upgradeV5ToV6.ts b/packages/lib-engine/src/core/commandVersionUpgrades/upgradeV5ToV6/upgradeV5ToV6.ts
similarity index 99%
rename from packages/cursorless-engine/src/core/commandVersionUpgrades/upgradeV5ToV6/upgradeV5ToV6.ts
rename to packages/lib-engine/src/core/commandVersionUpgrades/upgradeV5ToV6/upgradeV5ToV6.ts
index f12b6c0656..705821e495 100644
--- a/packages/cursorless-engine/src/core/commandVersionUpgrades/upgradeV5ToV6/upgradeV5ToV6.ts
+++ b/packages/lib-engine/src/core/commandVersionUpgrades/upgradeV5ToV6/upgradeV5ToV6.ts
@@ -28,7 +28,7 @@ import type {
PrimitiveDestinationDescriptor,
ReplaceWith,
WrapWithSnippetArg,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import canonicalizeActionName from "./canonicalizeActionName";
export function upgradeV5ToV6(command: CommandV5): EnforceUndefined {
diff --git a/packages/cursorless-engine/src/core/commandVersionUpgrades/upgradeV6ToV7.ts b/packages/lib-engine/src/core/commandVersionUpgrades/upgradeV6ToV7.ts
similarity index 60%
rename from packages/cursorless-engine/src/core/commandVersionUpgrades/upgradeV6ToV7.ts
rename to packages/lib-engine/src/core/commandVersionUpgrades/upgradeV6ToV7.ts
index 5af1045689..544c027c46 100644
--- a/packages/cursorless-engine/src/core/commandVersionUpgrades/upgradeV6ToV7.ts
+++ b/packages/lib-engine/src/core/commandVersionUpgrades/upgradeV6ToV7.ts
@@ -1,4 +1,4 @@
-import type { CommandV6, CommandV7 } from "@cursorless/common";
+import type { CommandV6, CommandV7 } from "@cursorless/lib-common";
export function upgradeV6ToV7(command: CommandV6): CommandV7 {
return { ...command, version: 7 };
diff --git a/packages/cursorless-engine/src/core/getCommandFallback.ts b/packages/lib-engine/src/core/getCommandFallback.ts
similarity index 99%
rename from packages/cursorless-engine/src/core/getCommandFallback.ts
rename to packages/lib-engine/src/core/getCommandFallback.ts
index 720547428a..06ff527eb6 100644
--- a/packages/cursorless-engine/src/core/getCommandFallback.ts
+++ b/packages/lib-engine/src/core/getCommandFallback.ts
@@ -6,7 +6,7 @@ import type {
Fallback,
FallbackCommandModifier,
PartialTargetDescriptor,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type { ActionReturnValue } from "../actions/actions.types";
export async function getCommandFallback(
diff --git a/packages/cursorless-engine/src/core/getPreferredSnippet.test.ts b/packages/lib-engine/src/core/getPreferredSnippet.test.ts
similarity index 99%
rename from packages/cursorless-engine/src/core/getPreferredSnippet.test.ts
rename to packages/lib-engine/src/core/getPreferredSnippet.test.ts
index 84bcc9eae6..0bdcaa629f 100644
--- a/packages/cursorless-engine/src/core/getPreferredSnippet.test.ts
+++ b/packages/lib-engine/src/core/getPreferredSnippet.test.ts
@@ -4,7 +4,7 @@ import type {
DeprecatedNamedSnippetArg,
ListInsertSnippetArg,
ListWrapWithSnippetArg,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import assert from "node:assert";
import { getPreferredSnippet } from "./getPreferredSnippet";
diff --git a/packages/cursorless-engine/src/core/getPreferredSnippet.ts b/packages/lib-engine/src/core/getPreferredSnippet.ts
similarity index 96%
rename from packages/cursorless-engine/src/core/getPreferredSnippet.ts
rename to packages/lib-engine/src/core/getPreferredSnippet.ts
index a3f518c90f..74d94d21da 100644
--- a/packages/cursorless-engine/src/core/getPreferredSnippet.ts
+++ b/packages/lib-engine/src/core/getPreferredSnippet.ts
@@ -1,10 +1,10 @@
-import { NamedSnippetsDeprecationError } from "@cursorless/common";
+import { NamedSnippetsDeprecationError } from "@cursorless/lib-common";
import type {
CustomInsertSnippetArg,
CustomWrapWithSnippetArg,
InsertSnippetArg,
WrapWithSnippetArg,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
export function getPreferredSnippet(
snippetDescription: InsertSnippetArg,
diff --git a/packages/cursorless-engine/src/core/handleHoistedModifiers.ts b/packages/lib-engine/src/core/handleHoistedModifiers.ts
similarity index 99%
rename from packages/cursorless-engine/src/core/handleHoistedModifiers.ts
rename to packages/lib-engine/src/core/handleHoistedModifiers.ts
index 89909b27de..c11aa0af4f 100644
--- a/packages/cursorless-engine/src/core/handleHoistedModifiers.ts
+++ b/packages/lib-engine/src/core/handleHoistedModifiers.ts
@@ -1,4 +1,4 @@
-import type { Modifier } from "@cursorless/common";
+import type { Modifier } from "@cursorless/lib-common";
import { findLastIndex } from "lodash-es";
import type {
PrimitiveTargetDescriptor,
diff --git a/packages/cursorless-engine/src/core/indexArrayStrict.ts b/packages/lib-engine/src/core/indexArrayStrict.ts
similarity index 100%
rename from packages/cursorless-engine/src/core/indexArrayStrict.ts
rename to packages/lib-engine/src/core/indexArrayStrict.ts
diff --git a/packages/cursorless-engine/src/core/inferFullTargetDescriptor.ts b/packages/lib-engine/src/core/inferFullTargetDescriptor.ts
similarity index 99%
rename from packages/cursorless-engine/src/core/inferFullTargetDescriptor.ts
rename to packages/lib-engine/src/core/inferFullTargetDescriptor.ts
index 3f536401be..800cbcc983 100644
--- a/packages/cursorless-engine/src/core/inferFullTargetDescriptor.ts
+++ b/packages/lib-engine/src/core/inferFullTargetDescriptor.ts
@@ -5,7 +5,7 @@ import type {
PartialPrimitiveTargetDescriptor,
PartialRangeTargetDescriptor,
PartialTargetDescriptor,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type {
ListTargetDescriptor,
Mark,
diff --git a/packages/cursorless-engine/src/core/updateSelections/RangeUpdater.ts b/packages/lib-engine/src/core/updateSelections/RangeUpdater.ts
similarity index 99%
rename from packages/cursorless-engine/src/core/updateSelections/RangeUpdater.ts
rename to packages/lib-engine/src/core/updateSelections/RangeUpdater.ts
index fe78cb4927..7efbf4cb9b 100644
--- a/packages/cursorless-engine/src/core/updateSelections/RangeUpdater.ts
+++ b/packages/lib-engine/src/core/updateSelections/RangeUpdater.ts
@@ -5,7 +5,7 @@ import type {
TextDocument,
TextDocumentChangeEvent,
TextDocumentContentChangeEvent,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { pull } from "lodash-es";
import type {
ExtendedTextDocumentChangeEvent,
diff --git a/packages/cursorless-engine/src/core/updateSelections/getOffsetsForDeleteOrReplace.ts b/packages/lib-engine/src/core/updateSelections/getOffsetsForDeleteOrReplace.ts
similarity index 97%
rename from packages/cursorless-engine/src/core/updateSelections/getOffsetsForDeleteOrReplace.ts
rename to packages/lib-engine/src/core/updateSelections/getOffsetsForDeleteOrReplace.ts
index e52765dc73..042d5d1571 100644
--- a/packages/cursorless-engine/src/core/updateSelections/getOffsetsForDeleteOrReplace.ts
+++ b/packages/lib-engine/src/core/updateSelections/getOffsetsForDeleteOrReplace.ts
@@ -3,7 +3,7 @@ import type {
ChangeEventInfo,
FullRangeInfo,
} from "../../typings/updateSelections";
-import type { RangeOffsets } from "@cursorless/common";
+import type { RangeOffsets } from "@cursorless/lib-common";
/**
* Gets updated offsets for the range `rangeInfo` after the change described by
diff --git a/packages/cursorless-engine/src/core/updateSelections/getOffsetsForEmptyRangeInsert.ts b/packages/lib-engine/src/core/updateSelections/getOffsetsForEmptyRangeInsert.ts
similarity index 95%
rename from packages/cursorless-engine/src/core/updateSelections/getOffsetsForEmptyRangeInsert.ts
rename to packages/lib-engine/src/core/updateSelections/getOffsetsForEmptyRangeInsert.ts
index 6c70a488f4..3feaf54c7b 100644
--- a/packages/cursorless-engine/src/core/updateSelections/getOffsetsForEmptyRangeInsert.ts
+++ b/packages/lib-engine/src/core/updateSelections/getOffsetsForEmptyRangeInsert.ts
@@ -1,5 +1,5 @@
-import type { RangeOffsets } from "@cursorless/common";
-import { leftAnchored, rightAnchored } from "@cursorless/common";
+import type { RangeOffsets } from "@cursorless/lib-common";
+import { leftAnchored, rightAnchored } from "@cursorless/lib-common";
import { invariant } from "immutability-helper";
import type {
ChangeEventInfo,
diff --git a/packages/cursorless-engine/src/core/updateSelections/getOffsetsForNonEmptyRangeInsert.ts b/packages/lib-engine/src/core/updateSelections/getOffsetsForNonEmptyRangeInsert.ts
similarity index 97%
rename from packages/cursorless-engine/src/core/updateSelections/getOffsetsForNonEmptyRangeInsert.ts
rename to packages/lib-engine/src/core/updateSelections/getOffsetsForNonEmptyRangeInsert.ts
index acb0cbe389..a5ff3e32b8 100644
--- a/packages/cursorless-engine/src/core/updateSelections/getOffsetsForNonEmptyRangeInsert.ts
+++ b/packages/lib-engine/src/core/updateSelections/getOffsetsForNonEmptyRangeInsert.ts
@@ -1,5 +1,5 @@
-import type { RangeOffsets } from "@cursorless/common";
-import { leftAnchored, rightAnchored } from "@cursorless/common";
+import type { RangeOffsets } from "@cursorless/lib-common";
+import { leftAnchored, rightAnchored } from "@cursorless/lib-common";
import { invariant } from "immutability-helper";
import type {
ChangeEventInfo,
diff --git a/packages/cursorless-engine/src/core/updateSelections/getUpdatedText.ts b/packages/lib-engine/src/core/updateSelections/getUpdatedText.ts
similarity index 96%
rename from packages/cursorless-engine/src/core/updateSelections/getUpdatedText.ts
rename to packages/lib-engine/src/core/updateSelections/getUpdatedText.ts
index 6621f3d82f..1cd9fddee6 100644
--- a/packages/cursorless-engine/src/core/updateSelections/getUpdatedText.ts
+++ b/packages/lib-engine/src/core/updateSelections/getUpdatedText.ts
@@ -2,7 +2,7 @@ import type {
ChangeEventInfo,
FullRangeInfo,
} from "../../typings/updateSelections";
-import type { RangeOffsets } from "@cursorless/common";
+import type { RangeOffsets } from "@cursorless/lib-common";
/**
* Updates the text of the given rangeInfo to take into account the given change.
diff --git a/packages/cursorless-engine/src/core/updateSelections/updateRangeInfos.ts b/packages/lib-engine/src/core/updateSelections/updateRangeInfos.ts
similarity index 98%
rename from packages/cursorless-engine/src/core/updateSelections/updateRangeInfos.ts
rename to packages/lib-engine/src/core/updateSelections/updateRangeInfos.ts
index 0f3488aa86..d092e097b0 100644
--- a/packages/cursorless-engine/src/core/updateSelections/updateRangeInfos.ts
+++ b/packages/lib-engine/src/core/updateSelections/updateRangeInfos.ts
@@ -7,7 +7,7 @@ import type {
FullRangeInfo,
ChangeEventInfo,
} from "../../typings/updateSelections";
-import type { RangeOffsets } from "@cursorless/common";
+import type { RangeOffsets } from "@cursorless/lib-common";
import { getUpdatedText } from "./getUpdatedText";
/**
diff --git a/packages/cursorless-engine/src/core/updateSelections/updateSelections.ts b/packages/lib-engine/src/core/updateSelections/updateSelections.ts
similarity index 99%
rename from packages/cursorless-engine/src/core/updateSelections/updateSelections.ts
rename to packages/lib-engine/src/core/updateSelections/updateSelections.ts
index 97ff295dc0..9198d8c52b 100644
--- a/packages/cursorless-engine/src/core/updateSelections/updateSelections.ts
+++ b/packages/lib-engine/src/core/updateSelections/updateSelections.ts
@@ -3,12 +3,12 @@ import type {
EditableTextEditor,
Range,
TextDocument,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import {
RangeExpansionBehavior,
Selection,
unsafeKeys,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { flatten } from "lodash-es";
import type {
FullSelectionInfo,
diff --git a/packages/cursorless-engine/src/cursorlessEngine.ts b/packages/lib-engine/src/cursorlessEngine.ts
similarity index 99%
rename from packages/cursorless-engine/src/cursorlessEngine.ts
rename to packages/lib-engine/src/cursorlessEngine.ts
index 84df58d156..2ac3a5ad69 100644
--- a/packages/cursorless-engine/src/cursorlessEngine.ts
+++ b/packages/lib-engine/src/cursorlessEngine.ts
@@ -7,8 +7,8 @@ import type {
ScopeProvider,
TalonSpokenForms,
TreeSitter,
-} from "@cursorless/common";
-import { ensureCommandShape, PassthroughIDE } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { ensureCommandShape, PassthroughIDE } from "@cursorless/lib-common";
import { KeyboardTargetUpdater } from "./KeyboardTargetUpdater";
import type {
CommandRunnerDecorator,
diff --git a/packages/cursorless-engine/src/customCommandGrammar/CommandLexer.ts b/packages/lib-engine/src/customCommandGrammar/CommandLexer.ts
similarity index 100%
rename from packages/cursorless-engine/src/customCommandGrammar/CommandLexer.ts
rename to packages/lib-engine/src/customCommandGrammar/CommandLexer.ts
diff --git a/packages/cursorless-engine/src/customCommandGrammar/WithPlaceholders.ts b/packages/lib-engine/src/customCommandGrammar/WithPlaceholders.ts
similarity index 100%
rename from packages/cursorless-engine/src/customCommandGrammar/WithPlaceholders.ts
rename to packages/lib-engine/src/customCommandGrammar/WithPlaceholders.ts
diff --git a/packages/cursorless-engine/src/customCommandGrammar/fillPlaceholders.ts b/packages/lib-engine/src/customCommandGrammar/fillPlaceholders.ts
similarity index 100%
rename from packages/cursorless-engine/src/customCommandGrammar/fillPlaceholders.ts
rename to packages/lib-engine/src/customCommandGrammar/fillPlaceholders.ts
diff --git a/packages/cursorless-engine/src/customCommandGrammar/generated/grammar.ts b/packages/lib-engine/src/customCommandGrammar/generated/grammar.ts
similarity index 100%
rename from packages/cursorless-engine/src/customCommandGrammar/generated/grammar.ts
rename to packages/lib-engine/src/customCommandGrammar/generated/grammar.ts
diff --git a/packages/cursorless-engine/src/customCommandGrammar/grammar.ne b/packages/lib-engine/src/customCommandGrammar/grammar.ne
similarity index 100%
rename from packages/cursorless-engine/src/customCommandGrammar/grammar.ne
rename to packages/lib-engine/src/customCommandGrammar/grammar.ne
diff --git a/packages/cursorless-engine/src/customCommandGrammar/grammarAction.test.ts b/packages/lib-engine/src/customCommandGrammar/grammarAction.test.ts
similarity index 98%
rename from packages/cursorless-engine/src/customCommandGrammar/grammarAction.test.ts
rename to packages/lib-engine/src/customCommandGrammar/grammarAction.test.ts
index 42135292b2..4ab87830f9 100644
--- a/packages/cursorless-engine/src/customCommandGrammar/grammarAction.test.ts
+++ b/packages/lib-engine/src/customCommandGrammar/grammarAction.test.ts
@@ -1,4 +1,4 @@
-import { type ActionDescriptor } from "@cursorless/common";
+import { type ActionDescriptor } from "@cursorless/lib-common";
import assert from "assert";
import { parseAction } from "./parseCommand";
import type { WithPlaceholders } from "./WithPlaceholders";
diff --git a/packages/cursorless-engine/src/customCommandGrammar/grammarScopeType.test.ts b/packages/lib-engine/src/customCommandGrammar/grammarScopeType.test.ts
similarity index 92%
rename from packages/cursorless-engine/src/customCommandGrammar/grammarScopeType.test.ts
rename to packages/lib-engine/src/customCommandGrammar/grammarScopeType.test.ts
index 0eb6f4ada1..2d39bce833 100644
--- a/packages/cursorless-engine/src/customCommandGrammar/grammarScopeType.test.ts
+++ b/packages/lib-engine/src/customCommandGrammar/grammarScopeType.test.ts
@@ -1,5 +1,5 @@
import assert from "assert";
-import type { ScopeType } from "@cursorless/common";
+import type { ScopeType } from "@cursorless/lib-common";
import { parseScopeType } from "./parseCommand";
interface TestCase {
diff --git a/packages/cursorless-engine/src/customCommandGrammar/grammarUtil.ts b/packages/lib-engine/src/customCommandGrammar/grammarUtil.ts
similarity index 98%
rename from packages/cursorless-engine/src/customCommandGrammar/grammarUtil.ts
rename to packages/lib-engine/src/customCommandGrammar/grammarUtil.ts
index 1f1f4bbb44..3b62291c7b 100644
--- a/packages/cursorless-engine/src/customCommandGrammar/grammarUtil.ts
+++ b/packages/lib-engine/src/customCommandGrammar/grammarUtil.ts
@@ -21,7 +21,7 @@ import type {
SimpleScopeTypeType,
SurroundingPairName,
SurroundingPairScopeType,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type { WithPlaceholders } from "./WithPlaceholders";
export function simpleActionDescriptor(
diff --git a/packages/cursorless-engine/src/customCommandGrammar/lexer.test.ts b/packages/lib-engine/src/customCommandGrammar/lexer.test.ts
similarity index 100%
rename from packages/cursorless-engine/src/customCommandGrammar/lexer.test.ts
rename to packages/lib-engine/src/customCommandGrammar/lexer.test.ts
diff --git a/packages/cursorless-engine/src/customCommandGrammar/lexer.ts b/packages/lib-engine/src/customCommandGrammar/lexer.ts
similarity index 97%
rename from packages/cursorless-engine/src/customCommandGrammar/lexer.ts
rename to packages/lib-engine/src/customCommandGrammar/lexer.ts
index 43d3a3c8e5..bc85e2dbed 100644
--- a/packages/cursorless-engine/src/customCommandGrammar/lexer.ts
+++ b/packages/lib-engine/src/customCommandGrammar/lexer.ts
@@ -1,12 +1,12 @@
import type {
BringMoveActionDescriptor,
InsertionMode,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import {
simpleActionNames,
simpleScopeTypeTypes,
surroundingPairNames,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { marks } from "../generateSpokenForm/defaultSpokenForms/marks";
import { defaultSpokenFormMap } from "../spokenForms/defaultSpokenFormMap";
import { connectives } from "../generateSpokenForm/defaultSpokenForms/connectives";
diff --git a/packages/cursorless-engine/src/customCommandGrammar/parseAndFillOutAction.ts b/packages/lib-engine/src/customCommandGrammar/parseAndFillOutAction.ts
similarity index 90%
rename from packages/cursorless-engine/src/customCommandGrammar/parseAndFillOutAction.ts
rename to packages/lib-engine/src/customCommandGrammar/parseAndFillOutAction.ts
index e141f5749e..14ec3ad85b 100644
--- a/packages/cursorless-engine/src/customCommandGrammar/parseAndFillOutAction.ts
+++ b/packages/lib-engine/src/customCommandGrammar/parseAndFillOutAction.ts
@@ -1,4 +1,4 @@
-import type { ActionDescriptor } from "@cursorless/common";
+import type { ActionDescriptor } from "@cursorless/lib-common";
import { fillPlaceholders } from "./fillPlaceholders";
import { parseAction } from "./parseCommand";
diff --git a/packages/cursorless-engine/src/customCommandGrammar/parseCommand.ts b/packages/lib-engine/src/customCommandGrammar/parseCommand.ts
similarity index 94%
rename from packages/cursorless-engine/src/customCommandGrammar/parseCommand.ts
rename to packages/lib-engine/src/customCommandGrammar/parseCommand.ts
index b7d495b14d..8a9582cb62 100644
--- a/packages/cursorless-engine/src/customCommandGrammar/parseCommand.ts
+++ b/packages/lib-engine/src/customCommandGrammar/parseCommand.ts
@@ -1,4 +1,4 @@
-import type { ActionDescriptor, ScopeType } from "@cursorless/common";
+import type { ActionDescriptor, ScopeType } from "@cursorless/lib-common";
import { Grammar, Parser } from "nearley";
import type { WithPlaceholders } from "./WithPlaceholders";
import grammar from "./generated/grammar";
diff --git a/packages/cursorless-engine/src/disabledComponents/DisabledCommandServerApi.ts b/packages/lib-engine/src/disabledComponents/DisabledCommandServerApi.ts
similarity index 80%
rename from packages/cursorless-engine/src/disabledComponents/DisabledCommandServerApi.ts
rename to packages/lib-engine/src/disabledComponents/DisabledCommandServerApi.ts
index 63c3bf9946..030ca0a7cd 100644
--- a/packages/cursorless-engine/src/disabledComponents/DisabledCommandServerApi.ts
+++ b/packages/lib-engine/src/disabledComponents/DisabledCommandServerApi.ts
@@ -1,4 +1,4 @@
-import type { CommandServerApi } from "@cursorless/common";
+import type { CommandServerApi } from "@cursorless/lib-common";
export class DisabledCommandServerApi implements CommandServerApi {
getFocusedElementType() {
diff --git a/packages/cursorless-engine/src/disabledComponents/DisabledHatTokenMap.ts b/packages/lib-engine/src/disabledComponents/DisabledHatTokenMap.ts
similarity index 84%
rename from packages/cursorless-engine/src/disabledComponents/DisabledHatTokenMap.ts
rename to packages/lib-engine/src/disabledComponents/DisabledHatTokenMap.ts
index 3e9ef947a0..f0eb195ec9 100644
--- a/packages/cursorless-engine/src/disabledComponents/DisabledHatTokenMap.ts
+++ b/packages/lib-engine/src/disabledComponents/DisabledHatTokenMap.ts
@@ -1,4 +1,4 @@
-import type { HatTokenMap } from "@cursorless/common";
+import type { HatTokenMap } from "@cursorless/lib-common";
export class DisabledHatTokenMap implements HatTokenMap {
async allocateHats() {
diff --git a/packages/cursorless-engine/src/disabledComponents/DisabledLanguageDefinitions.ts b/packages/lib-engine/src/disabledComponents/DisabledLanguageDefinitions.ts
similarity index 90%
rename from packages/cursorless-engine/src/disabledComponents/DisabledLanguageDefinitions.ts
rename to packages/lib-engine/src/disabledComponents/DisabledLanguageDefinitions.ts
index 8712704168..113ebbf2ed 100644
--- a/packages/cursorless-engine/src/disabledComponents/DisabledLanguageDefinitions.ts
+++ b/packages/lib-engine/src/disabledComponents/DisabledLanguageDefinitions.ts
@@ -1,4 +1,4 @@
-import type { Listener } from "@cursorless/common";
+import type { Listener } from "@cursorless/lib-common";
import type { LanguageDefinition } from "../languages/LanguageDefinition";
import type { LanguageDefinitions } from "../languages/LanguageDefinitions";
diff --git a/packages/cursorless-engine/src/disabledComponents/DisabledSnippets.ts b/packages/lib-engine/src/disabledComponents/DisabledSnippets.ts
similarity index 81%
rename from packages/cursorless-engine/src/disabledComponents/DisabledSnippets.ts
rename to packages/lib-engine/src/disabledComponents/DisabledSnippets.ts
index cf40f8f75f..d3684472ad 100644
--- a/packages/cursorless-engine/src/disabledComponents/DisabledSnippets.ts
+++ b/packages/lib-engine/src/disabledComponents/DisabledSnippets.ts
@@ -1,4 +1,4 @@
-import type { TextEditor } from "@cursorless/common";
+import type { TextEditor } from "@cursorless/lib-common";
import type { Snippets } from "../core/Snippets";
export class DisabledSnippets implements Snippets {
diff --git a/packages/cursorless-engine/src/disabledComponents/DisabledTalonSpokenForms.ts b/packages/lib-engine/src/disabledComponents/DisabledTalonSpokenForms.ts
similarity index 76%
rename from packages/cursorless-engine/src/disabledComponents/DisabledTalonSpokenForms.ts
rename to packages/lib-engine/src/disabledComponents/DisabledTalonSpokenForms.ts
index 35f3400bd4..a6657f07e5 100644
--- a/packages/cursorless-engine/src/disabledComponents/DisabledTalonSpokenForms.ts
+++ b/packages/lib-engine/src/disabledComponents/DisabledTalonSpokenForms.ts
@@ -1,5 +1,5 @@
-import type { SpokenFormEntry, TalonSpokenForms } from "@cursorless/common";
-import { DisabledCustomSpokenFormsError } from "@cursorless/common";
+import type { SpokenFormEntry, TalonSpokenForms } from "@cursorless/lib-common";
+import { DisabledCustomSpokenFormsError } from "@cursorless/lib-common";
export class DisabledTalonSpokenForms implements TalonSpokenForms {
getSpokenFormEntries(): Promise {
diff --git a/packages/cursorless-engine/src/disabledComponents/DisabledTreeSitter.ts b/packages/lib-engine/src/disabledComponents/DisabledTreeSitter.ts
similarity index 85%
rename from packages/cursorless-engine/src/disabledComponents/DisabledTreeSitter.ts
rename to packages/lib-engine/src/disabledComponents/DisabledTreeSitter.ts
index afc2f24221..2b6d027d0d 100644
--- a/packages/cursorless-engine/src/disabledComponents/DisabledTreeSitter.ts
+++ b/packages/lib-engine/src/disabledComponents/DisabledTreeSitter.ts
@@ -1,4 +1,4 @@
-import type { TextDocument, TreeSitter } from "@cursorless/common";
+import type { TextDocument, TreeSitter } from "@cursorless/lib-common";
import type { Query, Tree } from "web-tree-sitter";
export class DisabledTreeSitter implements TreeSitter {
diff --git a/packages/cursorless-engine/src/generateSpokenForm/CustomSpokenFormGeneratorImpl.test.ts b/packages/lib-engine/src/generateSpokenForm/CustomSpokenFormGeneratorImpl.test.ts
similarity index 99%
rename from packages/cursorless-engine/src/generateSpokenForm/CustomSpokenFormGeneratorImpl.test.ts
rename to packages/lib-engine/src/generateSpokenForm/CustomSpokenFormGeneratorImpl.test.ts
index b2baf21344..34a96167e4 100644
--- a/packages/cursorless-engine/src/generateSpokenForm/CustomSpokenFormGeneratorImpl.test.ts
+++ b/packages/lib-engine/src/generateSpokenForm/CustomSpokenFormGeneratorImpl.test.ts
@@ -1,6 +1,6 @@
import assert from "node:assert";
import { CustomSpokenFormGeneratorImpl } from "./CustomSpokenFormGeneratorImpl";
-import { FakeIDE, LATEST_VERSION, asyncSafety } from "@cursorless/common";
+import { FakeIDE, LATEST_VERSION, asyncSafety } from "@cursorless/lib-common";
suite("CustomSpokenFormGeneratorImpl", async function () {
test(
diff --git a/packages/cursorless-engine/src/generateSpokenForm/CustomSpokenFormGeneratorImpl.ts b/packages/lib-engine/src/generateSpokenForm/CustomSpokenFormGeneratorImpl.ts
similarity index 98%
rename from packages/cursorless-engine/src/generateSpokenForm/CustomSpokenFormGeneratorImpl.ts
rename to packages/lib-engine/src/generateSpokenForm/CustomSpokenFormGeneratorImpl.ts
index a3ddaea5cd..00f411c956 100644
--- a/packages/cursorless-engine/src/generateSpokenForm/CustomSpokenFormGeneratorImpl.ts
+++ b/packages/lib-engine/src/generateSpokenForm/CustomSpokenFormGeneratorImpl.ts
@@ -6,7 +6,7 @@ import type {
Listener,
ScopeType,
TalonSpokenForms,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type { CustomSpokenFormGenerator } from "../api/CursorlessEngineApi";
import { CustomSpokenForms } from "../spokenForms/CustomSpokenForms";
import { SpokenFormGenerator } from "./generateSpokenForm";
diff --git a/packages/cursorless-engine/src/generateSpokenForm/NoSpokenFormError.ts b/packages/lib-engine/src/generateSpokenForm/NoSpokenFormError.ts
similarity index 100%
rename from packages/cursorless-engine/src/generateSpokenForm/NoSpokenFormError.ts
rename to packages/lib-engine/src/generateSpokenForm/NoSpokenFormError.ts
diff --git a/packages/cursorless-engine/src/generateSpokenForm/SpokenFormComponent.ts b/packages/lib-engine/src/generateSpokenForm/SpokenFormComponent.ts
similarity index 93%
rename from packages/cursorless-engine/src/generateSpokenForm/SpokenFormComponent.ts
rename to packages/lib-engine/src/generateSpokenForm/SpokenFormComponent.ts
index 40b64f719f..1517484d8e 100644
--- a/packages/cursorless-engine/src/generateSpokenForm/SpokenFormComponent.ts
+++ b/packages/lib-engine/src/generateSpokenForm/SpokenFormComponent.ts
@@ -1,5 +1,8 @@
import type { SpokenFormMapEntry } from "../spokenForms/SpokenFormMap";
-import type { SpokenFormMapKeyTypes, SpokenFormType } from "@cursorless/common";
+import type {
+ SpokenFormMapKeyTypes,
+ SpokenFormType,
+} from "@cursorless/lib-common";
/**
* A component of a spoken form used internally during spoken form generation.
diff --git a/packages/cursorless-engine/src/generateSpokenForm/defaultSpokenForms/connectives.ts b/packages/lib-engine/src/generateSpokenForm/defaultSpokenForms/connectives.ts
similarity index 100%
rename from packages/cursorless-engine/src/generateSpokenForm/defaultSpokenForms/connectives.ts
rename to packages/lib-engine/src/generateSpokenForm/defaultSpokenForms/connectives.ts
diff --git a/packages/cursorless-engine/src/generateSpokenForm/defaultSpokenForms/marks.ts b/packages/lib-engine/src/generateSpokenForm/defaultSpokenForms/marks.ts
similarity index 95%
rename from packages/cursorless-engine/src/generateSpokenForm/defaultSpokenForms/marks.ts
rename to packages/lib-engine/src/generateSpokenForm/defaultSpokenForms/marks.ts
index a0750e1b51..060d4686af 100644
--- a/packages/cursorless-engine/src/generateSpokenForm/defaultSpokenForms/marks.ts
+++ b/packages/lib-engine/src/generateSpokenForm/defaultSpokenForms/marks.ts
@@ -1,4 +1,4 @@
-import type { PartialMark } from "@cursorless/common";
+import type { PartialMark } from "@cursorless/lib-common";
const hatColors: Record = {
blue: "blue",
diff --git a/packages/cursorless-engine/src/generateSpokenForm/defaultSpokenForms/modifiers.ts b/packages/lib-engine/src/generateSpokenForm/defaultSpokenForms/modifiers.ts
similarity index 90%
rename from packages/cursorless-engine/src/generateSpokenForm/defaultSpokenForms/modifiers.ts
rename to packages/lib-engine/src/generateSpokenForm/defaultSpokenForms/modifiers.ts
index 868c6607df..a6bf4d0f42 100644
--- a/packages/cursorless-engine/src/generateSpokenForm/defaultSpokenForms/modifiers.ts
+++ b/packages/lib-engine/src/generateSpokenForm/defaultSpokenForms/modifiers.ts
@@ -1,5 +1,5 @@
-import { CompositeKeyMap } from "@cursorless/common";
-import type { SpeakableSurroundingPairName } from "@cursorless/common";
+import { CompositeKeyMap } from "@cursorless/lib-common";
+import type { SpeakableSurroundingPairName } from "@cursorless/lib-common";
import type { SpokenFormComponentMap } from "../getSpokenFormComponentMap";
import type { CustomizableSpokenFormComponentForType } from "../SpokenFormComponent";
import { surroundingPairsDelimiters } from "./surroundingPairsDelimiters";
diff --git a/packages/cursorless-engine/src/generateSpokenForm/defaultSpokenForms/numbers.ts b/packages/lib-engine/src/generateSpokenForm/defaultSpokenForms/numbers.ts
similarity index 100%
rename from packages/cursorless-engine/src/generateSpokenForm/defaultSpokenForms/numbers.ts
rename to packages/lib-engine/src/generateSpokenForm/defaultSpokenForms/numbers.ts
diff --git a/packages/cursorless-engine/src/generateSpokenForm/defaultSpokenForms/snippets.ts b/packages/lib-engine/src/generateSpokenForm/defaultSpokenForms/snippets.ts
similarity index 82%
rename from packages/cursorless-engine/src/generateSpokenForm/defaultSpokenForms/snippets.ts
rename to packages/lib-engine/src/generateSpokenForm/defaultSpokenForms/snippets.ts
index ab16d35e7c..fd7885221a 100644
--- a/packages/cursorless-engine/src/generateSpokenForm/defaultSpokenForms/snippets.ts
+++ b/packages/lib-engine/src/generateSpokenForm/defaultSpokenForms/snippets.ts
@@ -1,4 +1,7 @@
-import type { InsertSnippetArg, WrapWithSnippetArg } from "@cursorless/common";
+import type {
+ InsertSnippetArg,
+ WrapWithSnippetArg,
+} from "@cursorless/lib-common";
import { NoSpokenFormError } from "../NoSpokenFormError";
export function insertionSnippetToSpokenForm(
diff --git a/packages/cursorless-engine/src/generateSpokenForm/defaultSpokenForms/surroundingPairsDelimiters.ts b/packages/lib-engine/src/generateSpokenForm/defaultSpokenForms/surroundingPairsDelimiters.ts
similarity index 89%
rename from packages/cursorless-engine/src/generateSpokenForm/defaultSpokenForms/surroundingPairsDelimiters.ts
rename to packages/lib-engine/src/generateSpokenForm/defaultSpokenForms/surroundingPairsDelimiters.ts
index 51d7fe7c66..d9e967575c 100644
--- a/packages/cursorless-engine/src/generateSpokenForm/defaultSpokenForms/surroundingPairsDelimiters.ts
+++ b/packages/lib-engine/src/generateSpokenForm/defaultSpokenForms/surroundingPairsDelimiters.ts
@@ -1,4 +1,4 @@
-import type { SpeakableSurroundingPairName } from "@cursorless/common";
+import type { SpeakableSurroundingPairName } from "@cursorless/lib-common";
export const surroundingPairsDelimiters: Record<
SpeakableSurroundingPairName,
diff --git a/packages/cursorless-engine/src/generateSpokenForm/generateSpokenForm.test.ts b/packages/lib-engine/src/generateSpokenForm/generateSpokenForm.test.ts
similarity index 93%
rename from packages/cursorless-engine/src/generateSpokenForm/generateSpokenForm.test.ts
rename to packages/lib-engine/src/generateSpokenForm/generateSpokenForm.test.ts
index ee702a71cb..7b656790b6 100644
--- a/packages/cursorless-engine/src/generateSpokenForm/generateSpokenForm.test.ts
+++ b/packages/lib-engine/src/generateSpokenForm/generateSpokenForm.test.ts
@@ -1,6 +1,9 @@
-import type { TestCaseFixtureLegacy } from "@cursorless/common";
-import { serializeTestFixture, shouldUpdateFixtures } from "@cursorless/common";
-import { getRecordedTestPaths } from "@cursorless/node-common";
+import type { TestCaseFixtureLegacy } from "@cursorless/lib-common";
+import {
+ serializeTestFixture,
+ shouldUpdateFixtures,
+} from "@cursorless/lib-common";
+import { getRecordedTestPaths } from "@cursorless/lib-node-common";
import * as yaml from "js-yaml";
import assert from "node:assert";
import { promises as fsp } from "node:fs";
diff --git a/packages/cursorless-engine/src/generateSpokenForm/generateSpokenForm.ts b/packages/lib-engine/src/generateSpokenForm/generateSpokenForm.ts
similarity index 99%
rename from packages/cursorless-engine/src/generateSpokenForm/generateSpokenForm.ts
rename to packages/lib-engine/src/generateSpokenForm/generateSpokenForm.ts
index 001b2480b9..b1a8e9526c 100644
--- a/packages/cursorless-engine/src/generateSpokenForm/generateSpokenForm.ts
+++ b/packages/lib-engine/src/generateSpokenForm/generateSpokenForm.ts
@@ -8,8 +8,8 @@ import type {
SpokenForm,
SpokenFormMapKeyTypes,
SpokenFormType,
-} from "@cursorless/common";
-import { camelCaseToAllDown, DOCS_URL } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { camelCaseToAllDown, DOCS_URL } from "@cursorless/lib-common";
import type { SpokenFormMap } from "../spokenForms/SpokenFormMap";
import { NoSpokenFormError } from "./NoSpokenFormError";
import type { SpokenFormComponent } from "./SpokenFormComponent";
diff --git a/packages/cursorless-engine/src/generateSpokenForm/getHatMapCommand.ts b/packages/lib-engine/src/generateSpokenForm/getHatMapCommand.ts
similarity index 91%
rename from packages/cursorless-engine/src/generateSpokenForm/getHatMapCommand.ts
rename to packages/lib-engine/src/generateSpokenForm/getHatMapCommand.ts
index 527cba6e6e..57bfaade0a 100644
--- a/packages/cursorless-engine/src/generateSpokenForm/getHatMapCommand.ts
+++ b/packages/lib-engine/src/generateSpokenForm/getHatMapCommand.ts
@@ -1,8 +1,8 @@
import type {
CommandLatest,
PartialPrimitiveTargetDescriptor,
-} from "@cursorless/common";
-import { LATEST_VERSION, splitKey } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { LATEST_VERSION, splitKey } from "@cursorless/lib-common";
/**
* Constructs the command that would have been used as the second command when
diff --git a/packages/cursorless-engine/src/generateSpokenForm/getRangeConnective.ts b/packages/lib-engine/src/generateSpokenForm/getRangeConnective.ts
similarity index 92%
rename from packages/cursorless-engine/src/generateSpokenForm/getRangeConnective.ts
rename to packages/lib-engine/src/generateSpokenForm/getRangeConnective.ts
index 17bfd6be39..1b3764261b 100644
--- a/packages/cursorless-engine/src/generateSpokenForm/getRangeConnective.ts
+++ b/packages/lib-engine/src/generateSpokenForm/getRangeConnective.ts
@@ -1,4 +1,4 @@
-import type { PartialRangeType } from "@cursorless/common";
+import type { PartialRangeType } from "@cursorless/lib-common";
import { NoSpokenFormError } from "./NoSpokenFormError";
import { connectives } from "./defaultSpokenForms/connectives";
diff --git a/packages/cursorless-engine/src/generateSpokenForm/getSpokenFormComponentMap.ts b/packages/lib-engine/src/generateSpokenForm/getSpokenFormComponentMap.ts
similarity index 98%
rename from packages/cursorless-engine/src/generateSpokenForm/getSpokenFormComponentMap.ts
rename to packages/lib-engine/src/generateSpokenForm/getSpokenFormComponentMap.ts
index 735ecb8ed2..d13658264a 100644
--- a/packages/cursorless-engine/src/generateSpokenForm/getSpokenFormComponentMap.ts
+++ b/packages/lib-engine/src/generateSpokenForm/getSpokenFormComponentMap.ts
@@ -3,7 +3,7 @@ import type {
PartialSpokenFormTypes,
SpokenFormMapKeyTypes,
SpokenFormType,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type { CustomizableSpokenFormComponentForType } from "./SpokenFormComponent";
/**
diff --git a/packages/cursorless-engine/src/generateSpokenForm/index.ts b/packages/lib-engine/src/generateSpokenForm/index.ts
similarity index 100%
rename from packages/cursorless-engine/src/generateSpokenForm/index.ts
rename to packages/lib-engine/src/generateSpokenForm/index.ts
diff --git a/packages/cursorless-engine/src/generateSpokenForm/primitiveTargetToSpokenForm.ts b/packages/lib-engine/src/generateSpokenForm/primitiveTargetToSpokenForm.ts
similarity index 99%
rename from packages/cursorless-engine/src/generateSpokenForm/primitiveTargetToSpokenForm.ts
rename to packages/lib-engine/src/generateSpokenForm/primitiveTargetToSpokenForm.ts
index c27ba60061..6a9ab25a29 100644
--- a/packages/cursorless-engine/src/generateSpokenForm/primitiveTargetToSpokenForm.ts
+++ b/packages/lib-engine/src/generateSpokenForm/primitiveTargetToSpokenForm.ts
@@ -5,7 +5,7 @@ import type {
PartialPrimitiveTargetDescriptor,
RelativeScopeModifier,
ScopeType,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { NoSpokenFormError } from "./NoSpokenFormError";
import { connectives } from "./defaultSpokenForms/connectives";
import {
diff --git a/packages/cursorless-engine/src/index.ts b/packages/lib-engine/src/index.ts
similarity index 100%
rename from packages/cursorless-engine/src/index.ts
rename to packages/lib-engine/src/index.ts
diff --git a/packages/cursorless-engine/src/languages/LanguageDefinition.ts b/packages/lib-engine/src/languages/LanguageDefinition.ts
similarity index 98%
rename from packages/cursorless-engine/src/languages/LanguageDefinition.ts
rename to packages/lib-engine/src/languages/LanguageDefinition.ts
index 09949b8202..4cae8f01ac 100644
--- a/packages/cursorless-engine/src/languages/LanguageDefinition.ts
+++ b/packages/lib-engine/src/languages/LanguageDefinition.ts
@@ -5,8 +5,8 @@ import type {
SimpleScopeType,
TextDocument,
TreeSitter,
-} from "@cursorless/common";
-import { matchAll, showError } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { matchAll, showError } from "@cursorless/lib-common";
import { TreeSitterScopeHandler } from "../processTargets/modifiers/scopeHandlers";
import { TreeSitterQuery } from "./TreeSitterQuery";
import type { ScopeCaptureName } from "./TreeSitterQuery/captureNames";
diff --git a/packages/cursorless-engine/src/languages/LanguageDefinitions.ts b/packages/lib-engine/src/languages/LanguageDefinitions.ts
similarity index 98%
rename from packages/cursorless-engine/src/languages/LanguageDefinitions.ts
rename to packages/lib-engine/src/languages/LanguageDefinitions.ts
index 97af8664f0..8d64bb196c 100644
--- a/packages/cursorless-engine/src/languages/LanguageDefinitions.ts
+++ b/packages/lib-engine/src/languages/LanguageDefinitions.ts
@@ -4,8 +4,8 @@ import type {
Listener,
RawTreeSitterQueryProvider,
TreeSitter,
-} from "@cursorless/common";
-import { getErrorMessage, Notifier, showError } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { getErrorMessage, Notifier, showError } from "@cursorless/lib-common";
import { LanguageDefinition } from "./LanguageDefinition";
import { treeSitterQueryCache } from "./TreeSitterQuery/TreeSitterQueryCache";
diff --git a/packages/cursorless-engine/src/languages/TreeSitterQuery/PredicateOperatorSchemaTypes.ts b/packages/lib-engine/src/languages/TreeSitterQuery/PredicateOperatorSchemaTypes.ts
similarity index 100%
rename from packages/cursorless-engine/src/languages/TreeSitterQuery/PredicateOperatorSchemaTypes.ts
rename to packages/lib-engine/src/languages/TreeSitterQuery/PredicateOperatorSchemaTypes.ts
diff --git a/packages/cursorless-engine/src/languages/TreeSitterQuery/QueryCapture.ts b/packages/lib-engine/src/languages/TreeSitterQuery/QueryCapture.ts
similarity index 96%
rename from packages/cursorless-engine/src/languages/TreeSitterQuery/QueryCapture.ts
rename to packages/lib-engine/src/languages/TreeSitterQuery/QueryCapture.ts
index 5d82a13cc4..f300792221 100644
--- a/packages/cursorless-engine/src/languages/TreeSitterQuery/QueryCapture.ts
+++ b/packages/lib-engine/src/languages/TreeSitterQuery/QueryCapture.ts
@@ -1,4 +1,4 @@
-import type { Range, TextDocument } from "@cursorless/common";
+import type { Range, TextDocument } from "@cursorless/lib-common";
import type { Node } from "web-tree-sitter";
/**
diff --git a/packages/cursorless-engine/src/languages/TreeSitterQuery/QueryPredicateOperator.ts b/packages/lib-engine/src/languages/TreeSitterQuery/QueryPredicateOperator.ts
similarity index 100%
rename from packages/cursorless-engine/src/languages/TreeSitterQuery/QueryPredicateOperator.ts
rename to packages/lib-engine/src/languages/TreeSitterQuery/QueryPredicateOperator.ts
diff --git a/packages/cursorless-engine/src/languages/TreeSitterQuery/TreeSitterQuery.ts b/packages/lib-engine/src/languages/TreeSitterQuery/TreeSitterQuery.ts
similarity index 99%
rename from packages/cursorless-engine/src/languages/TreeSitterQuery/TreeSitterQuery.ts
rename to packages/lib-engine/src/languages/TreeSitterQuery/TreeSitterQuery.ts
index 8cffcfad0a..57318bc938 100644
--- a/packages/cursorless-engine/src/languages/TreeSitterQuery/TreeSitterQuery.ts
+++ b/packages/lib-engine/src/languages/TreeSitterQuery/TreeSitterQuery.ts
@@ -4,7 +4,7 @@ import type {
Position,
TextDocument,
TreeSitter,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type * as treeSitter from "web-tree-sitter";
import type { ScopeCaptureName } from "./captureNames";
import {
diff --git a/packages/cursorless-engine/src/languages/TreeSitterQuery/TreeSitterQueryCache.ts b/packages/lib-engine/src/languages/TreeSitterQuery/TreeSitterQueryCache.ts
similarity index 96%
rename from packages/cursorless-engine/src/languages/TreeSitterQuery/TreeSitterQueryCache.ts
rename to packages/lib-engine/src/languages/TreeSitterQuery/TreeSitterQueryCache.ts
index 64732be00b..2e6a3023c1 100644
--- a/packages/cursorless-engine/src/languages/TreeSitterQuery/TreeSitterQueryCache.ts
+++ b/packages/lib-engine/src/languages/TreeSitterQuery/TreeSitterQueryCache.ts
@@ -1,4 +1,4 @@
-import type { Position, TextDocument } from "@cursorless/common";
+import type { Position, TextDocument } from "@cursorless/lib-common";
import type { QueryMatch } from "./QueryCapture";
import { setIsEqual } from "../../util/setIsEqual";
diff --git a/packages/cursorless-engine/src/languages/TreeSitterQuery/assertTypesEqual.ts b/packages/lib-engine/src/languages/TreeSitterQuery/assertTypesEqual.ts
similarity index 100%
rename from packages/cursorless-engine/src/languages/TreeSitterQuery/assertTypesEqual.ts
rename to packages/lib-engine/src/languages/TreeSitterQuery/assertTypesEqual.ts
diff --git a/packages/cursorless-engine/src/languages/TreeSitterQuery/captureNames.ts b/packages/lib-engine/src/languages/TreeSitterQuery/captureNames.ts
similarity index 99%
rename from packages/cursorless-engine/src/languages/TreeSitterQuery/captureNames.ts
rename to packages/lib-engine/src/languages/TreeSitterQuery/captureNames.ts
index c388fb318e..990601f3ba 100644
--- a/packages/cursorless-engine/src/languages/TreeSitterQuery/captureNames.ts
+++ b/packages/lib-engine/src/languages/TreeSitterQuery/captureNames.ts
@@ -1,4 +1,4 @@
-import { pseudoScopes, simpleScopeTypeTypes } from "@cursorless/common";
+import { pseudoScopes, simpleScopeTypeTypes } from "@cursorless/lib-common";
const scopeCaptureNames = [
...simpleScopeTypeTypes.filter((s) => !pseudoScopes.has(s)),
diff --git a/packages/cursorless-engine/src/languages/TreeSitterQuery/checkCaptureStartEnd.test.ts b/packages/lib-engine/src/languages/TreeSitterQuery/checkCaptureStartEnd.test.ts
similarity index 97%
rename from packages/cursorless-engine/src/languages/TreeSitterQuery/checkCaptureStartEnd.test.ts
rename to packages/lib-engine/src/languages/TreeSitterQuery/checkCaptureStartEnd.test.ts
index f046096745..5f5f24d152 100644
--- a/packages/cursorless-engine/src/languages/TreeSitterQuery/checkCaptureStartEnd.test.ts
+++ b/packages/lib-engine/src/languages/TreeSitterQuery/checkCaptureStartEnd.test.ts
@@ -1,5 +1,5 @@
-import type { Messages } from "@cursorless/common";
-import { Range } from "@cursorless/common";
+import type { Messages } from "@cursorless/lib-common";
+import { Range } from "@cursorless/lib-common";
import type { QueryCapture } from "./QueryCapture";
import { checkCaptureStartEnd } from "./checkCaptureStartEnd";
import assert from "assert";
diff --git a/packages/cursorless-engine/src/languages/TreeSitterQuery/checkCaptureStartEnd.ts b/packages/lib-engine/src/languages/TreeSitterQuery/checkCaptureStartEnd.ts
similarity index 95%
rename from packages/cursorless-engine/src/languages/TreeSitterQuery/checkCaptureStartEnd.ts
rename to packages/lib-engine/src/languages/TreeSitterQuery/checkCaptureStartEnd.ts
index 540e936975..9e9626d9c2 100644
--- a/packages/cursorless-engine/src/languages/TreeSitterQuery/checkCaptureStartEnd.ts
+++ b/packages/lib-engine/src/languages/TreeSitterQuery/checkCaptureStartEnd.ts
@@ -1,5 +1,5 @@
-import type { Messages } from "@cursorless/common";
-import { showError } from "@cursorless/common";
+import type { Messages } from "@cursorless/lib-common";
+import { showError } from "@cursorless/lib-common";
import type { QueryCapture } from "./QueryCapture";
/**
diff --git a/packages/cursorless-engine/src/languages/TreeSitterQuery/constructZodErrorMessages.ts b/packages/lib-engine/src/languages/TreeSitterQuery/constructZodErrorMessages.ts
similarity index 100%
rename from packages/cursorless-engine/src/languages/TreeSitterQuery/constructZodErrorMessages.ts
rename to packages/lib-engine/src/languages/TreeSitterQuery/constructZodErrorMessages.ts
diff --git a/packages/cursorless-engine/src/languages/TreeSitterQuery/getChildNodesForFieldName.ts b/packages/lib-engine/src/languages/TreeSitterQuery/getChildNodesForFieldName.ts
similarity index 100%
rename from packages/cursorless-engine/src/languages/TreeSitterQuery/getChildNodesForFieldName.ts
rename to packages/lib-engine/src/languages/TreeSitterQuery/getChildNodesForFieldName.ts
diff --git a/packages/cursorless-engine/src/languages/TreeSitterQuery/getNode.ts b/packages/lib-engine/src/languages/TreeSitterQuery/getNode.ts
similarity index 100%
rename from packages/cursorless-engine/src/languages/TreeSitterQuery/getNode.ts
rename to packages/lib-engine/src/languages/TreeSitterQuery/getNode.ts
diff --git a/packages/cursorless-engine/src/languages/TreeSitterQuery/getNodeRange.ts b/packages/lib-engine/src/languages/TreeSitterQuery/getNodeRange.ts
similarity index 92%
rename from packages/cursorless-engine/src/languages/TreeSitterQuery/getNodeRange.ts
rename to packages/lib-engine/src/languages/TreeSitterQuery/getNodeRange.ts
index 4b60532b0a..3e5d94ee56 100644
--- a/packages/cursorless-engine/src/languages/TreeSitterQuery/getNodeRange.ts
+++ b/packages/lib-engine/src/languages/TreeSitterQuery/getNodeRange.ts
@@ -1,4 +1,4 @@
-import { Range } from "@cursorless/common";
+import { Range } from "@cursorless/lib-common";
import type { Node } from "web-tree-sitter";
export function getNodeRange(node: Node) {
diff --git a/packages/cursorless-engine/src/languages/TreeSitterQuery/index.ts b/packages/lib-engine/src/languages/TreeSitterQuery/index.ts
similarity index 100%
rename from packages/cursorless-engine/src/languages/TreeSitterQuery/index.ts
rename to packages/lib-engine/src/languages/TreeSitterQuery/index.ts
diff --git a/packages/cursorless-engine/src/languages/TreeSitterQuery/isContainedInErrorNode.ts b/packages/lib-engine/src/languages/TreeSitterQuery/isContainedInErrorNode.ts
similarity index 100%
rename from packages/cursorless-engine/src/languages/TreeSitterQuery/isContainedInErrorNode.ts
rename to packages/lib-engine/src/languages/TreeSitterQuery/isContainedInErrorNode.ts
diff --git a/packages/cursorless-engine/src/languages/TreeSitterQuery/isEven.ts b/packages/lib-engine/src/languages/TreeSitterQuery/isEven.ts
similarity index 100%
rename from packages/cursorless-engine/src/languages/TreeSitterQuery/isEven.ts
rename to packages/lib-engine/src/languages/TreeSitterQuery/isEven.ts
diff --git a/packages/cursorless-engine/src/languages/TreeSitterQuery/makeRangeFromPositions.ts b/packages/lib-engine/src/languages/TreeSitterQuery/makeRangeFromPositions.ts
similarity index 84%
rename from packages/cursorless-engine/src/languages/TreeSitterQuery/makeRangeFromPositions.ts
rename to packages/lib-engine/src/languages/TreeSitterQuery/makeRangeFromPositions.ts
index 461cdd0e62..1aae976ce5 100644
--- a/packages/cursorless-engine/src/languages/TreeSitterQuery/makeRangeFromPositions.ts
+++ b/packages/lib-engine/src/languages/TreeSitterQuery/makeRangeFromPositions.ts
@@ -1,4 +1,4 @@
-import { Range } from "@cursorless/common";
+import { Range } from "@cursorless/lib-common";
import type { Point } from "web-tree-sitter";
export function makeRangeFromPositions(
diff --git a/packages/cursorless-engine/src/languages/TreeSitterQuery/operatorArgumentSchemaTypes.ts b/packages/lib-engine/src/languages/TreeSitterQuery/operatorArgumentSchemaTypes.ts
similarity index 97%
rename from packages/cursorless-engine/src/languages/TreeSitterQuery/operatorArgumentSchemaTypes.ts
rename to packages/lib-engine/src/languages/TreeSitterQuery/operatorArgumentSchemaTypes.ts
index ee15b97b77..b0e1aea700 100644
--- a/packages/cursorless-engine/src/languages/TreeSitterQuery/operatorArgumentSchemaTypes.ts
+++ b/packages/lib-engine/src/languages/TreeSitterQuery/operatorArgumentSchemaTypes.ts
@@ -1,7 +1,7 @@
import { z } from "zod";
import { assertTypesEqual } from "./assertTypesEqual";
import type { PredicateStep } from "web-tree-sitter";
-import { stringToInteger } from "@cursorless/common";
+import { stringToInteger } from "@cursorless/lib-common";
const string = z.object({ type: z.literal("string"), value: z.string() });
diff --git a/packages/cursorless-engine/src/languages/TreeSitterQuery/parsePredicates.test.ts b/packages/lib-engine/src/languages/TreeSitterQuery/parsePredicates.test.ts
similarity index 100%
rename from packages/cursorless-engine/src/languages/TreeSitterQuery/parsePredicates.test.ts
rename to packages/lib-engine/src/languages/TreeSitterQuery/parsePredicates.test.ts
diff --git a/packages/cursorless-engine/src/languages/TreeSitterQuery/parsePredicates.ts b/packages/lib-engine/src/languages/TreeSitterQuery/parsePredicates.ts
similarity index 100%
rename from packages/cursorless-engine/src/languages/TreeSitterQuery/parsePredicates.ts
rename to packages/lib-engine/src/languages/TreeSitterQuery/parsePredicates.ts
diff --git a/packages/cursorless-engine/src/languages/TreeSitterQuery/parsePredicatesWithErrorHandling.ts b/packages/lib-engine/src/languages/TreeSitterQuery/parsePredicatesWithErrorHandling.ts
similarity index 91%
rename from packages/cursorless-engine/src/languages/TreeSitterQuery/parsePredicatesWithErrorHandling.ts
rename to packages/lib-engine/src/languages/TreeSitterQuery/parsePredicatesWithErrorHandling.ts
index a390154896..a5282f0e28 100644
--- a/packages/cursorless-engine/src/languages/TreeSitterQuery/parsePredicatesWithErrorHandling.ts
+++ b/packages/lib-engine/src/languages/TreeSitterQuery/parsePredicatesWithErrorHandling.ts
@@ -1,5 +1,5 @@
-import type { IDE } from "@cursorless/common";
-import { showError } from "@cursorless/common";
+import type { IDE } from "@cursorless/lib-common";
+import { showError } from "@cursorless/lib-common";
import type { Query } from "web-tree-sitter";
import { parsePredicates } from "./parsePredicates";
import { predicateToString } from "./predicateToString";
diff --git a/packages/cursorless-engine/src/languages/TreeSitterQuery/positionToPoint.ts b/packages/lib-engine/src/languages/TreeSitterQuery/positionToPoint.ts
similarity index 74%
rename from packages/cursorless-engine/src/languages/TreeSitterQuery/positionToPoint.ts
rename to packages/lib-engine/src/languages/TreeSitterQuery/positionToPoint.ts
index af5650a309..4d7c9975f0 100644
--- a/packages/cursorless-engine/src/languages/TreeSitterQuery/positionToPoint.ts
+++ b/packages/lib-engine/src/languages/TreeSitterQuery/positionToPoint.ts
@@ -1,4 +1,4 @@
-import type { Position } from "@cursorless/common";
+import type { Position } from "@cursorless/lib-common";
import type { Point } from "web-tree-sitter";
export function positionToPoint(start: Position): Point {
diff --git a/packages/cursorless-engine/src/languages/TreeSitterQuery/predicateToString.ts b/packages/lib-engine/src/languages/TreeSitterQuery/predicateToString.ts
similarity index 100%
rename from packages/cursorless-engine/src/languages/TreeSitterQuery/predicateToString.ts
rename to packages/lib-engine/src/languages/TreeSitterQuery/predicateToString.ts
diff --git a/packages/cursorless-engine/src/languages/TreeSitterQuery/queryPredicateOperators.ts b/packages/lib-engine/src/languages/TreeSitterQuery/queryPredicateOperators.ts
similarity index 99%
rename from packages/cursorless-engine/src/languages/TreeSitterQuery/queryPredicateOperators.ts
rename to packages/lib-engine/src/languages/TreeSitterQuery/queryPredicateOperators.ts
index d2d54ffe3e..6d9023a8e3 100644
--- a/packages/cursorless-engine/src/languages/TreeSitterQuery/queryPredicateOperators.ts
+++ b/packages/lib-engine/src/languages/TreeSitterQuery/queryPredicateOperators.ts
@@ -1,4 +1,4 @@
-import { Position, Range, adjustPosition } from "@cursorless/common";
+import { Position, Range, adjustPosition } from "@cursorless/lib-common";
import type { Point } from "web-tree-sitter";
import { z } from "zod";
import { getNode } from "./getNode";
diff --git a/packages/cursorless-engine/src/languages/TreeSitterQuery/rewriteStartOfEndOf.test.ts b/packages/lib-engine/src/languages/TreeSitterQuery/rewriteStartOfEndOf.test.ts
similarity index 97%
rename from packages/cursorless-engine/src/languages/TreeSitterQuery/rewriteStartOfEndOf.test.ts
rename to packages/lib-engine/src/languages/TreeSitterQuery/rewriteStartOfEndOf.test.ts
index 12da3ccb6f..2b4897d9bb 100644
--- a/packages/cursorless-engine/src/languages/TreeSitterQuery/rewriteStartOfEndOf.test.ts
+++ b/packages/lib-engine/src/languages/TreeSitterQuery/rewriteStartOfEndOf.test.ts
@@ -1,4 +1,4 @@
-import { Range } from "@cursorless/common";
+import { Range } from "@cursorless/lib-common";
import assert from "assert";
import type { MutableQueryCapture, QueryCapture } from "./QueryCapture";
import {
diff --git a/packages/cursorless-engine/src/languages/TreeSitterQuery/rewriteStartOfEndOf.ts b/packages/lib-engine/src/languages/TreeSitterQuery/rewriteStartOfEndOf.ts
similarity index 97%
rename from packages/cursorless-engine/src/languages/TreeSitterQuery/rewriteStartOfEndOf.ts
rename to packages/lib-engine/src/languages/TreeSitterQuery/rewriteStartOfEndOf.ts
index d3b5a7a4af..8fc9aab47f 100644
--- a/packages/cursorless-engine/src/languages/TreeSitterQuery/rewriteStartOfEndOf.ts
+++ b/packages/lib-engine/src/languages/TreeSitterQuery/rewriteStartOfEndOf.ts
@@ -1,4 +1,4 @@
-import type { Range } from "@cursorless/common";
+import type { Range } from "@cursorless/lib-common";
import type { Node } from "web-tree-sitter";
import type { QueryCapture } from "./QueryCapture";
import {
diff --git a/packages/cursorless-engine/src/languages/TreeSitterQuery/setRange.ts b/packages/lib-engine/src/languages/TreeSitterQuery/setRange.ts
similarity index 84%
rename from packages/cursorless-engine/src/languages/TreeSitterQuery/setRange.ts
rename to packages/lib-engine/src/languages/TreeSitterQuery/setRange.ts
index d72d9bd5d9..7f4813186b 100644
--- a/packages/cursorless-engine/src/languages/TreeSitterQuery/setRange.ts
+++ b/packages/lib-engine/src/languages/TreeSitterQuery/setRange.ts
@@ -1,4 +1,4 @@
-import type { Range } from "@cursorless/common";
+import type { Range } from "@cursorless/lib-common";
import type { MutableQueryCapture } from "./QueryCapture";
export function setRange(capture: MutableQueryCapture, range: Range) {
diff --git a/packages/cursorless-engine/src/languages/TreeSitterQuery/validateQueryCaptures.test.ts b/packages/lib-engine/src/languages/TreeSitterQuery/validateQueryCaptures.test.ts
similarity index 97%
rename from packages/cursorless-engine/src/languages/TreeSitterQuery/validateQueryCaptures.test.ts
rename to packages/lib-engine/src/languages/TreeSitterQuery/validateQueryCaptures.test.ts
index c48b1054e2..b69626066f 100644
--- a/packages/cursorless-engine/src/languages/TreeSitterQuery/validateQueryCaptures.test.ts
+++ b/packages/lib-engine/src/languages/TreeSitterQuery/validateQueryCaptures.test.ts
@@ -1,4 +1,4 @@
-import { FakeIDE } from "@cursorless/common";
+import { FakeIDE } from "@cursorless/lib-common";
import assert from "assert";
import { validateQueryCaptures } from "./validateQueryCaptures";
diff --git a/packages/cursorless-engine/src/languages/TreeSitterQuery/validateQueryCaptures.ts b/packages/lib-engine/src/languages/TreeSitterQuery/validateQueryCaptures.ts
similarity index 95%
rename from packages/cursorless-engine/src/languages/TreeSitterQuery/validateQueryCaptures.ts
rename to packages/lib-engine/src/languages/TreeSitterQuery/validateQueryCaptures.ts
index 97f6e742f1..0ae2d75c4e 100644
--- a/packages/cursorless-engine/src/languages/TreeSitterQuery/validateQueryCaptures.ts
+++ b/packages/lib-engine/src/languages/TreeSitterQuery/validateQueryCaptures.ts
@@ -1,4 +1,4 @@
-import { showError, type IDE } from "@cursorless/common";
+import { showError, type IDE } from "@cursorless/lib-common";
import { isCaptureAllowed } from "./captureNames";
// Not a comment. ie line is not starting with `;;`
diff --git a/packages/cursorless-engine/src/processTargets/MarkStageFactory.ts b/packages/lib-engine/src/processTargets/MarkStageFactory.ts
similarity index 100%
rename from packages/cursorless-engine/src/processTargets/MarkStageFactory.ts
rename to packages/lib-engine/src/processTargets/MarkStageFactory.ts
diff --git a/packages/cursorless-engine/src/processTargets/MarkStageFactoryImpl.ts b/packages/lib-engine/src/processTargets/MarkStageFactoryImpl.ts
similarity index 97%
rename from packages/cursorless-engine/src/processTargets/MarkStageFactoryImpl.ts
rename to packages/lib-engine/src/processTargets/MarkStageFactoryImpl.ts
index 321cda8bfc..83bc0fca78 100644
--- a/packages/cursorless-engine/src/processTargets/MarkStageFactoryImpl.ts
+++ b/packages/lib-engine/src/processTargets/MarkStageFactoryImpl.ts
@@ -1,4 +1,4 @@
-import type { IDE, ReadOnlyHatMap } from "@cursorless/common";
+import type { IDE, ReadOnlyHatMap } from "@cursorless/lib-common";
import type { TargetPipelineRunner } from ".";
import type { StoredTargetMap } from "..";
import type { Mark } from "../typings/TargetDescriptor";
diff --git a/packages/cursorless-engine/src/processTargets/ModifierStageFactory.ts b/packages/lib-engine/src/processTargets/ModifierStageFactory.ts
similarity index 72%
rename from packages/cursorless-engine/src/processTargets/ModifierStageFactory.ts
rename to packages/lib-engine/src/processTargets/ModifierStageFactory.ts
index 07184af532..e0ea848494 100644
--- a/packages/cursorless-engine/src/processTargets/ModifierStageFactory.ts
+++ b/packages/lib-engine/src/processTargets/ModifierStageFactory.ts
@@ -1,4 +1,4 @@
-import type { Modifier } from "@cursorless/common";
+import type { Modifier } from "@cursorless/lib-common";
import type { ModifierStage } from "./PipelineStages.types";
export interface ModifierStageFactory {
diff --git a/packages/cursorless-engine/src/processTargets/ModifierStageFactoryImpl.ts b/packages/lib-engine/src/processTargets/ModifierStageFactoryImpl.ts
similarity index 98%
rename from packages/cursorless-engine/src/processTargets/ModifierStageFactoryImpl.ts
rename to packages/lib-engine/src/processTargets/ModifierStageFactoryImpl.ts
index 12a9558133..ab6ade2553 100644
--- a/packages/cursorless-engine/src/processTargets/ModifierStageFactoryImpl.ts
+++ b/packages/lib-engine/src/processTargets/ModifierStageFactoryImpl.ts
@@ -1,4 +1,4 @@
-import type { Modifier } from "@cursorless/common";
+import type { Modifier } from "@cursorless/lib-common";
import type { StoredTargetMap } from "../core/StoredTargets";
import type { LanguageDefinitions } from "../languages/LanguageDefinitions";
import type { ModifierStageFactory } from "./ModifierStageFactory";
diff --git a/packages/cursorless-engine/src/processTargets/PipelineStages.types.ts b/packages/lib-engine/src/processTargets/PipelineStages.types.ts
similarity index 100%
rename from packages/cursorless-engine/src/processTargets/PipelineStages.types.ts
rename to packages/lib-engine/src/processTargets/PipelineStages.types.ts
diff --git a/packages/cursorless-engine/src/processTargets/TargetPipelineRunner.ts b/packages/lib-engine/src/processTargets/TargetPipelineRunner.ts
similarity index 99%
rename from packages/cursorless-engine/src/processTargets/TargetPipelineRunner.ts
rename to packages/lib-engine/src/processTargets/TargetPipelineRunner.ts
index 8cc3a76433..3c8898fca0 100644
--- a/packages/cursorless-engine/src/processTargets/TargetPipelineRunner.ts
+++ b/packages/lib-engine/src/processTargets/TargetPipelineRunner.ts
@@ -4,8 +4,8 @@ import type {
ImplicitTargetDescriptor,
Modifier,
ScopeType,
-} from "@cursorless/common";
-import { Range, uniqWithHash } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { Range, uniqWithHash } from "@cursorless/lib-common";
import { zip } from "lodash-es";
import type {
PrimitiveTargetDescriptor,
diff --git a/packages/cursorless-engine/src/processTargets/createContinuousRangeTarget.ts b/packages/lib-engine/src/processTargets/createContinuousRangeTarget.ts
similarity index 100%
rename from packages/cursorless-engine/src/processTargets/createContinuousRangeTarget.ts
rename to packages/lib-engine/src/processTargets/createContinuousRangeTarget.ts
diff --git a/packages/cursorless-engine/src/processTargets/index.ts b/packages/lib-engine/src/processTargets/index.ts
similarity index 100%
rename from packages/cursorless-engine/src/processTargets/index.ts
rename to packages/lib-engine/src/processTargets/index.ts
diff --git a/packages/cursorless-engine/src/processTargets/marks/CursorStage.ts b/packages/lib-engine/src/processTargets/marks/CursorStage.ts
similarity index 92%
rename from packages/cursorless-engine/src/processTargets/marks/CursorStage.ts
rename to packages/lib-engine/src/processTargets/marks/CursorStage.ts
index d1517f5705..3ea594651c 100644
--- a/packages/cursorless-engine/src/processTargets/marks/CursorStage.ts
+++ b/packages/lib-engine/src/processTargets/marks/CursorStage.ts
@@ -1,4 +1,4 @@
-import type { IDE } from "@cursorless/common";
+import type { IDE } from "@cursorless/lib-common";
import type { Target } from "../../typings/target.types";
import type { MarkStage } from "../PipelineStages.types";
import { UntypedTarget } from "../targets";
diff --git a/packages/cursorless-engine/src/processTargets/marks/DecoratedSymbolStage.ts b/packages/lib-engine/src/processTargets/marks/DecoratedSymbolStage.ts
similarity index 89%
rename from packages/cursorless-engine/src/processTargets/marks/DecoratedSymbolStage.ts
rename to packages/lib-engine/src/processTargets/marks/DecoratedSymbolStage.ts
index 313dadb8af..2f5c18cc68 100644
--- a/packages/cursorless-engine/src/processTargets/marks/DecoratedSymbolStage.ts
+++ b/packages/lib-engine/src/processTargets/marks/DecoratedSymbolStage.ts
@@ -1,4 +1,7 @@
-import type { DecoratedSymbolMark, ReadOnlyHatMap } from "@cursorless/common";
+import type {
+ DecoratedSymbolMark,
+ ReadOnlyHatMap,
+} from "@cursorless/lib-common";
import type { Target } from "../../typings/target.types";
import type { MarkStage } from "../PipelineStages.types";
import { UntypedTarget } from "../targets";
diff --git a/packages/cursorless-engine/src/processTargets/marks/ExplicitMarkStage.ts b/packages/lib-engine/src/processTargets/marks/ExplicitMarkStage.ts
similarity index 88%
rename from packages/cursorless-engine/src/processTargets/marks/ExplicitMarkStage.ts
rename to packages/lib-engine/src/processTargets/marks/ExplicitMarkStage.ts
index 4dffc7b492..f13e2687b9 100644
--- a/packages/cursorless-engine/src/processTargets/marks/ExplicitMarkStage.ts
+++ b/packages/lib-engine/src/processTargets/marks/ExplicitMarkStage.ts
@@ -1,5 +1,5 @@
-import type { ExplicitMark, IDE } from "@cursorless/common";
-import { Range } from "@cursorless/common";
+import type { ExplicitMark, IDE } from "@cursorless/lib-common";
+import { Range } from "@cursorless/lib-common";
import type { Target } from "../../typings/target.types";
import type { MarkStage } from "../PipelineStages.types";
import { UntypedTarget } from "../targets";
diff --git a/packages/cursorless-engine/src/processTargets/marks/ImplicitStage.ts b/packages/lib-engine/src/processTargets/marks/ImplicitStage.ts
similarity index 91%
rename from packages/cursorless-engine/src/processTargets/marks/ImplicitStage.ts
rename to packages/lib-engine/src/processTargets/marks/ImplicitStage.ts
index 1a2175aab4..46b33cdac8 100644
--- a/packages/cursorless-engine/src/processTargets/marks/ImplicitStage.ts
+++ b/packages/lib-engine/src/processTargets/marks/ImplicitStage.ts
@@ -1,4 +1,4 @@
-import type { IDE } from "@cursorless/common";
+import type { IDE } from "@cursorless/lib-common";
import type { Target } from "../../typings/target.types";
import type { MarkStage } from "../PipelineStages.types";
import { ImplicitTarget } from "../targets";
diff --git a/packages/cursorless-engine/src/processTargets/marks/LineNumberStage.ts b/packages/lib-engine/src/processTargets/marks/LineNumberStage.ts
similarity index 98%
rename from packages/cursorless-engine/src/processTargets/marks/LineNumberStage.ts
rename to packages/lib-engine/src/processTargets/marks/LineNumberStage.ts
index 3b7a3b92d6..817f72ad58 100644
--- a/packages/cursorless-engine/src/processTargets/marks/LineNumberStage.ts
+++ b/packages/lib-engine/src/processTargets/marks/LineNumberStage.ts
@@ -3,7 +3,7 @@ import type {
LineNumberMark,
LineNumberType,
TextEditor,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type { MarkStage } from "../PipelineStages.types";
import type { LineTarget } from "../targets";
import { createLineTarget } from "../targets";
diff --git a/packages/cursorless-engine/src/processTargets/marks/NothingStage.ts b/packages/lib-engine/src/processTargets/marks/NothingStage.ts
similarity index 81%
rename from packages/cursorless-engine/src/processTargets/marks/NothingStage.ts
rename to packages/lib-engine/src/processTargets/marks/NothingStage.ts
index 69f8d841f2..1bd9b46d1d 100644
--- a/packages/cursorless-engine/src/processTargets/marks/NothingStage.ts
+++ b/packages/lib-engine/src/processTargets/marks/NothingStage.ts
@@ -1,5 +1,5 @@
import type { Target } from "../../typings/target.types";
-import type { NothingMark } from "@cursorless/common";
+import type { NothingMark } from "@cursorless/lib-common";
import type { MarkStage } from "../PipelineStages.types";
export class NothingStage implements MarkStage {
diff --git a/packages/cursorless-engine/src/processTargets/marks/RangeMarkStage.ts b/packages/lib-engine/src/processTargets/marks/RangeMarkStage.ts
similarity index 100%
rename from packages/cursorless-engine/src/processTargets/marks/RangeMarkStage.ts
rename to packages/lib-engine/src/processTargets/marks/RangeMarkStage.ts
diff --git a/packages/cursorless-engine/src/processTargets/marks/StoredTargetStage.ts b/packages/lib-engine/src/processTargets/marks/StoredTargetStage.ts
similarity index 89%
rename from packages/cursorless-engine/src/processTargets/marks/StoredTargetStage.ts
rename to packages/lib-engine/src/processTargets/marks/StoredTargetStage.ts
index 1675ed5ad3..048c9269f1 100644
--- a/packages/cursorless-engine/src/processTargets/marks/StoredTargetStage.ts
+++ b/packages/lib-engine/src/processTargets/marks/StoredTargetStage.ts
@@ -1,4 +1,4 @@
-import type { StoredTargetKey } from "@cursorless/common";
+import type { StoredTargetKey } from "@cursorless/lib-common";
import type { StoredTargetMap } from "../../core/StoredTargets";
import type { Target } from "../../typings/target.types";
import type { MarkStage } from "../PipelineStages.types";
diff --git a/packages/cursorless-engine/src/processTargets/marks/TargetMarkStage.ts b/packages/lib-engine/src/processTargets/marks/TargetMarkStage.ts
similarity index 100%
rename from packages/cursorless-engine/src/processTargets/marks/TargetMarkStage.ts
rename to packages/lib-engine/src/processTargets/marks/TargetMarkStage.ts
diff --git a/packages/cursorless-engine/src/processTargets/marks/getActiveSelections.ts b/packages/lib-engine/src/processTargets/marks/getActiveSelections.ts
similarity index 79%
rename from packages/cursorless-engine/src/processTargets/marks/getActiveSelections.ts
rename to packages/lib-engine/src/processTargets/marks/getActiveSelections.ts
index a15b959214..2ff2d936cc 100644
--- a/packages/cursorless-engine/src/processTargets/marks/getActiveSelections.ts
+++ b/packages/lib-engine/src/processTargets/marks/getActiveSelections.ts
@@ -1,4 +1,4 @@
-import type { IDE } from "@cursorless/common";
+import type { IDE } from "@cursorless/lib-common";
export function getActiveSelections(ide: IDE) {
return (
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/BoundaryStage.ts b/packages/lib-engine/src/processTargets/modifiers/BoundaryStage.ts
similarity index 94%
rename from packages/cursorless-engine/src/processTargets/modifiers/BoundaryStage.ts
rename to packages/lib-engine/src/processTargets/modifiers/BoundaryStage.ts
index e29bb975b5..06a7e2464b 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/BoundaryStage.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/BoundaryStage.ts
@@ -1,4 +1,4 @@
-import { type ExcludeInteriorModifier } from "@cursorless/common";
+import { type ExcludeInteriorModifier } from "@cursorless/lib-common";
import type { Target } from "../../typings/target.types";
import type { ModifierStageFactory } from "../ModifierStageFactory";
import type {
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/ClassFunctionNameStage.ts b/packages/lib-engine/src/processTargets/modifiers/ClassFunctionNameStage.ts
similarity index 98%
rename from packages/cursorless-engine/src/processTargets/modifiers/ClassFunctionNameStage.ts
rename to packages/lib-engine/src/processTargets/modifiers/ClassFunctionNameStage.ts
index 28e62dc282..54841b149e 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/ClassFunctionNameStage.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/ClassFunctionNameStage.ts
@@ -5,7 +5,7 @@ import type {
PreferredScopeModifier,
RelativeScopeModifier,
ScopeType,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type { Target } from "../../typings/target.types";
import type { ModifierStageFactory } from "../ModifierStageFactory";
import type {
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/ConditionalModifierStages.ts b/packages/lib-engine/src/processTargets/modifiers/ConditionalModifierStages.ts
similarity index 99%
rename from packages/cursorless-engine/src/processTargets/modifiers/ConditionalModifierStages.ts
rename to packages/lib-engine/src/processTargets/modifiers/ConditionalModifierStages.ts
index a3bdc7e205..dc602799ed 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/ConditionalModifierStages.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/ConditionalModifierStages.ts
@@ -1,4 +1,4 @@
-import type { Modifier, ModifyIfUntypedModifier } from "@cursorless/common";
+import type { Modifier, ModifyIfUntypedModifier } from "@cursorless/lib-common";
import type { Target } from "../../typings/target.types";
import type { ModifierStageFactory } from "../ModifierStageFactory";
import type {
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/ContainingScopeStage.ts b/packages/lib-engine/src/processTargets/modifiers/ContainingScopeStage.ts
similarity index 93%
rename from packages/cursorless-engine/src/processTargets/modifiers/ContainingScopeStage.ts
rename to packages/lib-engine/src/processTargets/modifiers/ContainingScopeStage.ts
index 23c23bf2f0..fd3b7a3f46 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/ContainingScopeStage.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/ContainingScopeStage.ts
@@ -1,5 +1,5 @@
-import type { ContainingScopeModifier } from "@cursorless/common";
-import { NoContainingScopeError } from "@cursorless/common";
+import type { ContainingScopeModifier } from "@cursorless/lib-common";
+import { NoContainingScopeError } from "@cursorless/lib-common";
import type { Target } from "../../typings/target.types";
import type { ModifierStageFactory } from "../ModifierStageFactory";
import type { ModifierStage } from "../PipelineStages.types";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/EveryScopeStage.ts b/packages/lib-engine/src/processTargets/modifiers/EveryScopeStage.ts
similarity index 96%
rename from packages/cursorless-engine/src/processTargets/modifiers/EveryScopeStage.ts
rename to packages/lib-engine/src/processTargets/modifiers/EveryScopeStage.ts
index 6033a39001..05cd3277b4 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/EveryScopeStage.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/EveryScopeStage.ts
@@ -1,5 +1,9 @@
-import type { EveryScopeModifier, Range, TextEditor } from "@cursorless/common";
-import { NoContainingScopeError } from "@cursorless/common";
+import type {
+ EveryScopeModifier,
+ Range,
+ TextEditor,
+} from "@cursorless/lib-common";
+import { NoContainingScopeError } from "@cursorless/lib-common";
import type { Target } from "../../typings/target.types";
import type { ModifierStageFactory } from "../ModifierStageFactory";
import type {
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/FallbackStage.ts b/packages/lib-engine/src/processTargets/modifiers/FallbackStage.ts
similarity index 93%
rename from packages/cursorless-engine/src/processTargets/modifiers/FallbackStage.ts
rename to packages/lib-engine/src/processTargets/modifiers/FallbackStage.ts
index aae9266d6b..d61aa86429 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/FallbackStage.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/FallbackStage.ts
@@ -1,4 +1,4 @@
-import type { FallbackModifier } from "@cursorless/common";
+import type { FallbackModifier } from "@cursorless/lib-common";
import type { Target } from "../../typings/target.types";
import type { ModifierStageFactory } from "../ModifierStageFactory";
import type {
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/FilterStages.ts b/packages/lib-engine/src/processTargets/modifiers/FilterStages.ts
similarity index 95%
rename from packages/cursorless-engine/src/processTargets/modifiers/FilterStages.ts
rename to packages/lib-engine/src/processTargets/modifiers/FilterStages.ts
index 9d4e175c40..eceae4f433 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/FilterStages.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/FilterStages.ts
@@ -2,7 +2,7 @@ import type { Target } from "../../typings/target.types";
import type {
KeepContentFilterModifier,
KeepEmptyFilterModifier,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type { ModifierStage } from "../PipelineStages.types";
export class KeepContentFilterStage implements ModifierStage {
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/HeadTailStage.ts b/packages/lib-engine/src/processTargets/modifiers/HeadTailStage.ts
similarity index 98%
rename from packages/cursorless-engine/src/processTargets/modifiers/HeadTailStage.ts
rename to packages/lib-engine/src/processTargets/modifiers/HeadTailStage.ts
index 8d41f1b9bf..f1a0b72308 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/HeadTailStage.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/HeadTailStage.ts
@@ -3,7 +3,7 @@ import {
type HeadModifier,
type Modifier,
type TailModifier,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type { Target } from "../../typings/target.types";
import type { ModifierStageFactory } from "../ModifierStageFactory";
import type {
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/InstanceStage.ts b/packages/lib-engine/src/processTargets/modifiers/InstanceStage.ts
similarity index 98%
rename from packages/cursorless-engine/src/processTargets/modifiers/InstanceStage.ts
rename to packages/lib-engine/src/processTargets/modifiers/InstanceStage.ts
index 14956c1360..b00ea4a0b0 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/InstanceStage.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/InstanceStage.ts
@@ -5,8 +5,8 @@ import type {
RelativeScopeModifier,
ScopeType,
TextEditor,
-} from "@cursorless/common";
-import { Range } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { Range } from "@cursorless/lib-common";
import { flatmap, ifilter, imap, itake } from "itertools";
import { escapeRegExp } from "lodash-es";
import type { StoredTargetMap } from "../..";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/InteriorStage.ts b/packages/lib-engine/src/processTargets/modifiers/InteriorStage.ts
similarity index 98%
rename from packages/cursorless-engine/src/processTargets/modifiers/InteriorStage.ts
rename to packages/lib-engine/src/processTargets/modifiers/InteriorStage.ts
index 33bbc4d026..4fef6dcc48 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/InteriorStage.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/InteriorStage.ts
@@ -1,8 +1,8 @@
-import type { InteriorOnlyModifier, ScopeType } from "@cursorless/common";
+import type { InteriorOnlyModifier, ScopeType } from "@cursorless/lib-common";
import {
NoContainingScopeError,
UnsupportedScopeError,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type { Target } from "../../typings/target.types";
import type { ModifierStageFactory } from "../ModifierStageFactory";
import type {
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/LeadingTrailingStages.ts b/packages/lib-engine/src/processTargets/modifiers/LeadingTrailingStages.ts
similarity index 99%
rename from packages/cursorless-engine/src/processTargets/modifiers/LeadingTrailingStages.ts
rename to packages/lib-engine/src/processTargets/modifiers/LeadingTrailingStages.ts
index f4578a1eb5..41ae1cd9ca 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/LeadingTrailingStages.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/LeadingTrailingStages.ts
@@ -1,4 +1,4 @@
-import type { LeadingModifier, TrailingModifier } from "@cursorless/common";
+import type { LeadingModifier, TrailingModifier } from "@cursorless/lib-common";
import type { Target } from "../../typings/target.types";
import type { ModifierStageFactory } from "../ModifierStageFactory";
import type {
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/OrdinalScopeStage.ts b/packages/lib-engine/src/processTargets/modifiers/OrdinalScopeStage.ts
similarity index 94%
rename from packages/cursorless-engine/src/processTargets/modifiers/OrdinalScopeStage.ts
rename to packages/lib-engine/src/processTargets/modifiers/OrdinalScopeStage.ts
index f1ddc58d36..ca9c5f00a2 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/OrdinalScopeStage.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/OrdinalScopeStage.ts
@@ -1,4 +1,4 @@
-import type { OrdinalScopeModifier } from "@cursorless/common";
+import type { OrdinalScopeModifier } from "@cursorless/lib-common";
import type { Target } from "../../typings/target.types";
import type { ModifierStageFactory } from "../ModifierStageFactory";
import type {
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/PositionStage.ts b/packages/lib-engine/src/processTargets/modifiers/PositionStage.ts
similarity index 95%
rename from packages/cursorless-engine/src/processTargets/modifiers/PositionStage.ts
rename to packages/lib-engine/src/processTargets/modifiers/PositionStage.ts
index 07bd43c0bd..f17b41337d 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/PositionStage.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/PositionStage.ts
@@ -1,4 +1,4 @@
-import type { Range } from "@cursorless/common";
+import type { Range } from "@cursorless/lib-common";
import type { Target } from "../../typings/target.types";
import type { ModifierStage } from "../PipelineStages.types";
import type { CommonTargetParameters } from "../targets";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/PreferredScopeStage.ts b/packages/lib-engine/src/processTargets/modifiers/PreferredScopeStage.ts
similarity index 97%
rename from packages/cursorless-engine/src/processTargets/modifiers/PreferredScopeStage.ts
rename to packages/lib-engine/src/processTargets/modifiers/PreferredScopeStage.ts
index 488c87c471..9e1296e8db 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/PreferredScopeStage.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/PreferredScopeStage.ts
@@ -1,5 +1,5 @@
-import type { Position, PreferredScopeModifier } from "@cursorless/common";
-import { NoContainingScopeError } from "@cursorless/common";
+import type { Position, PreferredScopeModifier } from "@cursorless/lib-common";
+import { NoContainingScopeError } from "@cursorless/lib-common";
import type { Target } from "../../typings/target.types";
import type { ModifierStageFactory } from "../ModifierStageFactory";
import type { ModifierStage } from "../PipelineStages.types";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/RangeModifierStage.ts b/packages/lib-engine/src/processTargets/modifiers/RangeModifierStage.ts
similarity index 94%
rename from packages/cursorless-engine/src/processTargets/modifiers/RangeModifierStage.ts
rename to packages/lib-engine/src/processTargets/modifiers/RangeModifierStage.ts
index ebfdfaedab..5678505729 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/RangeModifierStage.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/RangeModifierStage.ts
@@ -1,4 +1,4 @@
-import type { RangeModifier } from "@cursorless/common";
+import type { RangeModifier } from "@cursorless/lib-common";
import type { Target } from "../../typings/target.types";
import type { ModifierStageFactory } from "../ModifierStageFactory";
import type {
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/RawSelectionStage.ts b/packages/lib-engine/src/processTargets/modifiers/RawSelectionStage.ts
similarity index 88%
rename from packages/cursorless-engine/src/processTargets/modifiers/RawSelectionStage.ts
rename to packages/lib-engine/src/processTargets/modifiers/RawSelectionStage.ts
index 8e81a3ca88..3b4984c61c 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/RawSelectionStage.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/RawSelectionStage.ts
@@ -1,5 +1,5 @@
import type { Target } from "../../typings/target.types";
-import type { RawSelectionModifier } from "@cursorless/common";
+import type { RawSelectionModifier } from "@cursorless/lib-common";
import type { ModifierStage } from "../PipelineStages.types";
import { RawSelectionTarget } from "../targets";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/RelativeScopeStage.ts b/packages/lib-engine/src/processTargets/modifiers/RelativeScopeStage.ts
similarity index 98%
rename from packages/cursorless-engine/src/processTargets/modifiers/RelativeScopeStage.ts
rename to packages/lib-engine/src/processTargets/modifiers/RelativeScopeStage.ts
index 27f09074e3..1b5aa90fe2 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/RelativeScopeStage.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/RelativeScopeStage.ts
@@ -4,8 +4,8 @@ import type {
Range,
RelativeScopeModifier,
TextEditor,
-} from "@cursorless/common";
-import { NoContainingScopeError } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { NoContainingScopeError } from "@cursorless/lib-common";
import { find, ifilter, islice, itake } from "itertools";
import type { Target } from "../../typings/target.types";
import type { ModifierStage } from "../PipelineStages.types";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/TooFewScopesError.ts b/packages/lib-engine/src/processTargets/modifiers/TooFewScopesError.ts
similarity index 100%
rename from packages/cursorless-engine/src/processTargets/modifiers/TooFewScopesError.ts
rename to packages/lib-engine/src/processTargets/modifiers/TooFewScopesError.ts
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/VisibleStage.ts b/packages/lib-engine/src/processTargets/modifiers/VisibleStage.ts
similarity index 89%
rename from packages/cursorless-engine/src/processTargets/modifiers/VisibleStage.ts
rename to packages/lib-engine/src/processTargets/modifiers/VisibleStage.ts
index da226fde94..7b811c4afc 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/VisibleStage.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/VisibleStage.ts
@@ -1,4 +1,4 @@
-import type { VisibleModifier } from "@cursorless/common";
+import type { VisibleModifier } from "@cursorless/lib-common";
import type { Target } from "../../typings/target.types";
import type { ModifierStage } from "../PipelineStages.types";
import { PlainTarget } from "../targets";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/commonContainingScopeIfUntypedModifiers.ts b/packages/lib-engine/src/processTargets/modifiers/commonContainingScopeIfUntypedModifiers.ts
similarity index 95%
rename from packages/cursorless-engine/src/processTargets/modifiers/commonContainingScopeIfUntypedModifiers.ts
rename to packages/lib-engine/src/processTargets/modifiers/commonContainingScopeIfUntypedModifiers.ts
index f54f7f99ba..d0ef3f63c2 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/commonContainingScopeIfUntypedModifiers.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/commonContainingScopeIfUntypedModifiers.ts
@@ -1,4 +1,4 @@
-import type { Modifier } from "@cursorless/common";
+import type { Modifier } from "@cursorless/lib-common";
// NB: We import `Target` below just so that @link below resolves. Once one of
// the following issues are fixed, we can either remove the above line or
// switch to `{import("foo")}` syntax in the `{@link}` tag.
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/constructScopeRangeTarget.ts b/packages/lib-engine/src/processTargets/modifiers/constructScopeRangeTarget.ts
similarity index 100%
rename from packages/cursorless-engine/src/processTargets/modifiers/constructScopeRangeTarget.ts
rename to packages/lib-engine/src/processTargets/modifiers/constructScopeRangeTarget.ts
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/getContainingScopeTarget.ts b/packages/lib-engine/src/processTargets/modifiers/getContainingScopeTarget.ts
similarity index 99%
rename from packages/cursorless-engine/src/processTargets/modifiers/getContainingScopeTarget.ts
rename to packages/lib-engine/src/processTargets/modifiers/getContainingScopeTarget.ts
index ffa852105b..81fa068018 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/getContainingScopeTarget.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/getContainingScopeTarget.ts
@@ -1,4 +1,4 @@
-import type { Direction, Position, TextEditor } from "@cursorless/common";
+import type { Direction, Position, TextEditor } from "@cursorless/lib-common";
import type { Target } from "../../typings/target.types";
import { constructScopeRangeTarget } from "./constructScopeRangeTarget";
import type { TargetScope } from "./scopeHandlers/scope.types";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/getPreferredScopeTouchingPosition.ts b/packages/lib-engine/src/processTargets/modifiers/getPreferredScopeTouchingPosition.ts
similarity index 99%
rename from packages/cursorless-engine/src/processTargets/modifiers/getPreferredScopeTouchingPosition.ts
rename to packages/lib-engine/src/processTargets/modifiers/getPreferredScopeTouchingPosition.ts
index 40871e41ca..9636dff2b9 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/getPreferredScopeTouchingPosition.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/getPreferredScopeTouchingPosition.ts
@@ -1,4 +1,4 @@
-import type { Direction, Position, TextEditor } from "@cursorless/common";
+import type { Direction, Position, TextEditor } from "@cursorless/lib-common";
import type { TargetScope } from "./scopeHandlers/scope.types";
import type { ScopeHandler } from "./scopeHandlers/scopeHandler.types";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/listUtils.ts b/packages/lib-engine/src/processTargets/modifiers/listUtils.ts
similarity index 94%
rename from packages/cursorless-engine/src/processTargets/modifiers/listUtils.ts
rename to packages/lib-engine/src/processTargets/modifiers/listUtils.ts
index 8a243f652f..da2b0aabab 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/listUtils.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/listUtils.ts
@@ -1,4 +1,4 @@
-import type { ScopeType } from "@cursorless/common";
+import type { ScopeType } from "@cursorless/lib-common";
export class OutOfRangeError extends Error {
constructor(scopeType: ScopeType, index?: number) {
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/BaseScopeHandler.test.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/BaseScopeHandler.test.ts
similarity index 97%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/BaseScopeHandler.test.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/BaseScopeHandler.test.ts
index 113d063f96..7b6ffdd4dc 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/BaseScopeHandler.test.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/BaseScopeHandler.test.ts
@@ -1,5 +1,5 @@
-import type { TextEditor, Direction } from "@cursorless/common";
-import { Position, Range } from "@cursorless/common";
+import type { TextEditor, Direction } from "@cursorless/lib-common";
+import { Position, Range } from "@cursorless/lib-common";
import { BaseScopeHandler } from "./BaseScopeHandler";
import type { TargetScope } from "./scope.types";
import type {
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/BaseScopeHandler.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/BaseScopeHandler.ts
similarity index 99%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/BaseScopeHandler.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/BaseScopeHandler.ts
index b6f51782ac..138b75e615 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/BaseScopeHandler.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/BaseScopeHandler.ts
@@ -3,7 +3,7 @@ import type {
Position,
ScopeType,
TextEditor,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type { TargetScope } from "./scope.types";
import type {
ComplexScopeType,
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/BoundedScopeHandler.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/BoundedScopeHandler.ts
similarity index 99%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/BoundedScopeHandler.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/BoundedScopeHandler.ts
index f11d2e8849..3e3ed5d407 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/BoundedScopeHandler.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/BoundedScopeHandler.ts
@@ -3,7 +3,7 @@ import type {
Position,
ScopeType,
TextEditor,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type { Target } from "../../../typings/target.types";
import type { InteriorTarget } from "../../targets";
import {
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/CharacterScopeHandler.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/CharacterScopeHandler.ts
similarity index 96%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/CharacterScopeHandler.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/CharacterScopeHandler.ts
index 23a9fbda8d..3c3b1d9a81 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/CharacterScopeHandler.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/CharacterScopeHandler.ts
@@ -1,4 +1,4 @@
-import type { Direction, IDE, ScopeType } from "@cursorless/common";
+import type { Direction, IDE, ScopeType } from "@cursorless/lib-common";
import { imap } from "itertools";
import { getMatcher } from "../../../tokenizer";
import { generateMatchesInRange } from "../../../util/getMatchesInRange";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/CollectionItemScopeHandler/CollectionItemScopeHandler.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/CollectionItemScopeHandler/CollectionItemScopeHandler.ts
similarity index 98%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/CollectionItemScopeHandler/CollectionItemScopeHandler.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/CollectionItemScopeHandler/CollectionItemScopeHandler.ts
index f8595beea6..b3bfa3bc2f 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/CollectionItemScopeHandler/CollectionItemScopeHandler.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/CollectionItemScopeHandler/CollectionItemScopeHandler.ts
@@ -3,7 +3,7 @@ import type {
Position,
ScopeType,
TextEditor,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type { LanguageDefinitions } from "../../../../languages/LanguageDefinitions";
import { BaseScopeHandler } from "../BaseScopeHandler";
import { SortedScopeHandler } from "../SortedScopeHandler";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/CollectionItemScopeHandler/CollectionItemTextualScopeHandler.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/CollectionItemScopeHandler/CollectionItemTextualScopeHandler.ts
similarity index 98%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/CollectionItemScopeHandler/CollectionItemTextualScopeHandler.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/CollectionItemScopeHandler/CollectionItemTextualScopeHandler.ts
index 5bb3625dac..f5162ecbba 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/CollectionItemScopeHandler/CollectionItemTextualScopeHandler.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/CollectionItemScopeHandler/CollectionItemTextualScopeHandler.ts
@@ -3,8 +3,8 @@ import type {
Position,
ScopeType,
TextEditor,
-} from "@cursorless/common";
-import { Range } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { Range } from "@cursorless/lib-common";
import { shrinkRangeToFitContent } from "../../../../util/selectionUtils";
import { BaseScopeHandler } from "../BaseScopeHandler";
import { compareTargetScopes } from "../compareTargetScopes";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/CollectionItemScopeHandler/collectionItemTextualIterationScopeHandler.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/CollectionItemScopeHandler/collectionItemTextualIterationScopeHandler.ts
similarity index 92%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/CollectionItemScopeHandler/collectionItemTextualIterationScopeHandler.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/CollectionItemScopeHandler/collectionItemTextualIterationScopeHandler.ts
index d570a7c7ae..555a629de3 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/CollectionItemScopeHandler/collectionItemTextualIterationScopeHandler.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/CollectionItemScopeHandler/collectionItemTextualIterationScopeHandler.ts
@@ -1,4 +1,4 @@
-import { testRegex } from "@cursorless/common";
+import { testRegex } from "@cursorless/lib-common";
import type { ComplexScopeType } from "../scopeHandler.types";
import { separatorRegex } from "./getSeparatorOccurrences";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/CollectionItemScopeHandler/createTargetScope.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/CollectionItemScopeHandler/createTargetScope.ts
similarity index 92%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/CollectionItemScopeHandler/createTargetScope.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/CollectionItemScopeHandler/createTargetScope.ts
index f6e4a550c8..085a3b5a11 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/CollectionItemScopeHandler/createTargetScope.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/CollectionItemScopeHandler/createTargetScope.ts
@@ -1,5 +1,5 @@
-import type { TextEditor } from "@cursorless/common";
-import { Range } from "@cursorless/common";
+import type { TextEditor } from "@cursorless/lib-common";
+import { Range } from "@cursorless/lib-common";
import { ScopeTypeTarget } from "../../../targets";
import type { TargetScope } from "../scope.types";
import { getCollectionItemRemovalRange } from "../util/getCollectionItemRemovalRange";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/CollectionItemScopeHandler/getInteriorRanges.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/CollectionItemScopeHandler/getInteriorRanges.ts
similarity index 95%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/CollectionItemScopeHandler/getInteriorRanges.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/CollectionItemScopeHandler/getInteriorRanges.ts
index fbd7a76324..e4d7944f1e 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/CollectionItemScopeHandler/getInteriorRanges.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/CollectionItemScopeHandler/getInteriorRanges.ts
@@ -3,7 +3,7 @@ import {
type SurroundingPairName,
type TextEditor,
Position,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type { ScopeHandlerFactory } from "../ScopeHandlerFactory";
export function getInteriorRanges(
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/CollectionItemScopeHandler/getSeparatorOccurrences.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/CollectionItemScopeHandler/getSeparatorOccurrences.ts
similarity index 76%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/CollectionItemScopeHandler/getSeparatorOccurrences.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/CollectionItemScopeHandler/getSeparatorOccurrences.ts
index 7ce907aeff..246583816c 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/CollectionItemScopeHandler/getSeparatorOccurrences.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/CollectionItemScopeHandler/getSeparatorOccurrences.ts
@@ -1,5 +1,5 @@
-import type { TextDocument } from "@cursorless/common";
-import { matchAll, Range } from "@cursorless/common";
+import type { TextDocument } from "@cursorless/lib-common";
+import { matchAll, Range } from "@cursorless/lib-common";
const separator = ",";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/ConditionalScopeHandler.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/ConditionalScopeHandler.ts
similarity index 97%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/ConditionalScopeHandler.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/ConditionalScopeHandler.ts
index 139f749626..d50b0312f5 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/ConditionalScopeHandler.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/ConditionalScopeHandler.ts
@@ -4,7 +4,7 @@ import {
type Position,
type ScopeType,
type TextEditor,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { ifilter } from "itertools";
import { BaseScopeHandler } from "./BaseScopeHandler";
import type { TargetScope } from "./scope.types";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/DocumentScopeHandler.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/DocumentScopeHandler.ts
similarity index 96%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/DocumentScopeHandler.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/DocumentScopeHandler.ts
index 37ff1906a5..f7450f073a 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/DocumentScopeHandler.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/DocumentScopeHandler.ts
@@ -3,7 +3,7 @@ import type {
Position,
ScopeType,
TextEditor,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { DocumentTarget } from "../../targets";
import { BaseScopeHandler } from "./BaseScopeHandler";
import type { TargetScope } from "./scope.types";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/FallbackScopeHandler.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/FallbackScopeHandler.ts
similarity index 97%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/FallbackScopeHandler.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/FallbackScopeHandler.ts
index daabcd8dc0..d9bc38fa4f 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/FallbackScopeHandler.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/FallbackScopeHandler.ts
@@ -4,7 +4,7 @@ import {
type Position,
type ScopeType,
type TextEditor,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { BaseScopeHandler } from "./BaseScopeHandler";
import type { ScopeHandlerFactory } from "./ScopeHandlerFactory";
import type { TargetScope } from "./scope.types";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/IdentifierScopeHandler.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/IdentifierScopeHandler.ts
similarity index 94%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/IdentifierScopeHandler.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/IdentifierScopeHandler.ts
index 6152984a0e..c941888b50 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/IdentifierScopeHandler.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/IdentifierScopeHandler.ts
@@ -1,4 +1,4 @@
-import type { Direction, IDE, ScopeType } from "@cursorless/common";
+import type { Direction, IDE, ScopeType } from "@cursorless/lib-common";
import { imap } from "itertools";
import { getMatcher } from "../../../tokenizer";
import { generateMatchesInRange } from "../../../util/getMatchesInRange";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/IteratorInfo.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/IteratorInfo.ts
similarity index 100%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/IteratorInfo.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/IteratorInfo.ts
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/LineScopeHandler.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/LineScopeHandler.ts
similarity index 97%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/LineScopeHandler.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/LineScopeHandler.ts
index eae2fd0536..6deb574d82 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/LineScopeHandler.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/LineScopeHandler.ts
@@ -3,7 +3,7 @@ import type {
Position,
ScopeType,
TextEditor,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { createLineTarget } from "../../targets";
import { BaseScopeHandler } from "./BaseScopeHandler";
import type { TargetScope } from "./scope.types";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/NestedScopeHandler.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/NestedScopeHandler.ts
similarity index 99%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/NestedScopeHandler.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/NestedScopeHandler.ts
index 90e6ac1fa9..4f47cc574a 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/NestedScopeHandler.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/NestedScopeHandler.ts
@@ -3,7 +3,7 @@ import type {
Position,
ScopeType,
TextEditor,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { flatmap } from "itertools";
import { BaseScopeHandler } from "./BaseScopeHandler";
import type { ScopeHandlerFactory } from "./ScopeHandlerFactory";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/NotHierarchicalScopeError.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/NotHierarchicalScopeError.ts
similarity index 90%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/NotHierarchicalScopeError.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/NotHierarchicalScopeError.ts
index c3858b16ef..677883d958 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/NotHierarchicalScopeError.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/NotHierarchicalScopeError.ts
@@ -1,4 +1,4 @@
-import type { ScopeType } from "@cursorless/common";
+import type { ScopeType } from "@cursorless/lib-common";
import { scopeTypeToString } from "./scopeTypeUtil";
/**
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/NotebookCellApiScopeHandler.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/NotebookCellApiScopeHandler.ts
similarity index 97%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/NotebookCellApiScopeHandler.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/NotebookCellApiScopeHandler.ts
index f6be678b23..0b2e2347a9 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/NotebookCellApiScopeHandler.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/NotebookCellApiScopeHandler.ts
@@ -4,8 +4,8 @@ import type {
NotebookCell,
Position,
TextEditor,
-} from "@cursorless/common";
-import { Range } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { Range } from "@cursorless/lib-common";
import { NotebookCellTarget } from "../../targets";
import { BaseScopeHandler } from "./BaseScopeHandler";
import type { TargetScope } from "./scope.types";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/NotebookCellScopeHandler.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/NotebookCellScopeHandler.ts
similarity index 98%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/NotebookCellScopeHandler.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/NotebookCellScopeHandler.ts
index b8b3b75aa4..ce13253aa3 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/NotebookCellScopeHandler.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/NotebookCellScopeHandler.ts
@@ -4,7 +4,7 @@ import {
type Position,
type ScopeType,
type TextEditor,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type { LanguageDefinitions } from "../../../languages/LanguageDefinitions";
import { BaseScopeHandler } from "./BaseScopeHandler";
import { NotebookCellApiScopeHandler } from "./NotebookCellApiScopeHandler";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/ParagraphScopeHandler.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/ParagraphScopeHandler.ts
similarity index 97%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/ParagraphScopeHandler.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/ParagraphScopeHandler.ts
index 6da0f0a55f..c7481a80d3 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/ParagraphScopeHandler.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/ParagraphScopeHandler.ts
@@ -5,8 +5,8 @@ import type {
TextDocument,
TextEditor,
TextLine,
-} from "@cursorless/common";
-import { Range } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { Range } from "@cursorless/lib-common";
import { ParagraphTarget } from "../../targets";
import { BaseScopeHandler } from "./BaseScopeHandler";
import type { TargetScope } from "./scope.types";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/RegexScopeHandler.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/RegexScopeHandler.ts
similarity index 98%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/RegexScopeHandler.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/RegexScopeHandler.ts
index a5f3cd07de..818e25860d 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/RegexScopeHandler.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/RegexScopeHandler.ts
@@ -3,7 +3,7 @@ import type {
Direction,
GlyphScopeType,
ScopeType,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { imap } from "itertools";
import { escapeRegExp } from "lodash-es";
import { NestedScopeHandler } from "./NestedScopeHandler";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/ScopeHandlerCache.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/ScopeHandlerCache.ts
similarity index 94%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/ScopeHandlerCache.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/ScopeHandlerCache.ts
index c6a1f98b43..6b4b886e8f 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/ScopeHandlerCache.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/ScopeHandlerCache.ts
@@ -1,4 +1,4 @@
-import type { TextDocument } from "@cursorless/common";
+import type { TextDocument } from "@cursorless/lib-common";
export class ScopeHandlerCache {
private key: string = "";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/ScopeHandlerFactory.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/ScopeHandlerFactory.ts
similarity index 85%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/ScopeHandlerFactory.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/ScopeHandlerFactory.ts
index 0ae0823266..5fc7d1779b 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/ScopeHandlerFactory.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/ScopeHandlerFactory.ts
@@ -1,4 +1,4 @@
-import type { ScopeType } from "@cursorless/common";
+import type { ScopeType } from "@cursorless/lib-common";
import type { ComplexScopeType, ScopeHandler } from "./scopeHandler.types";
export interface ScopeHandlerFactory {
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/ScopeHandlerFactoryImpl.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/ScopeHandlerFactoryImpl.ts
similarity index 99%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/ScopeHandlerFactoryImpl.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/ScopeHandlerFactoryImpl.ts
index 38e07c09e0..dd1a20ee29 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/ScopeHandlerFactoryImpl.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/ScopeHandlerFactoryImpl.ts
@@ -3,7 +3,7 @@ import {
UnsupportedScopeError,
type IDE,
type ScopeType,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type { LanguageDefinitions } from "../../../languages/LanguageDefinitions";
import {
BoundedNonWhitespaceSequenceScopeHandler,
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SentenceScopeHandler/SentenceScopeHandler.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SentenceScopeHandler/SentenceScopeHandler.ts
similarity index 92%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SentenceScopeHandler/SentenceScopeHandler.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SentenceScopeHandler/SentenceScopeHandler.ts
index 70ca27d27c..b71bac0929 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SentenceScopeHandler/SentenceScopeHandler.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SentenceScopeHandler/SentenceScopeHandler.ts
@@ -1,5 +1,5 @@
-import type { Direction, MatchedText } from "@cursorless/common";
-import { Range } from "@cursorless/common";
+import type { Direction, MatchedText } from "@cursorless/lib-common";
+import { Range } from "@cursorless/lib-common";
import { imap } from "itertools";
import { TokenTarget } from "../../../targets";
import { NestedScopeHandler } from "../NestedScopeHandler";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SentenceScopeHandler/SentenceSegmenter.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SentenceScopeHandler/SentenceSegmenter.ts
similarity index 87%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SentenceScopeHandler/SentenceSegmenter.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SentenceScopeHandler/SentenceSegmenter.ts
index 3fc6497ac2..57191dd546 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SentenceScopeHandler/SentenceSegmenter.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SentenceScopeHandler/SentenceSegmenter.ts
@@ -1,7 +1,7 @@
-import type { MatchedText } from "@cursorless/common";
-import { matchRegex, testRegex } from "@cursorless/common";
-import type { SentenceParserOptions } from "@cursorless/sentence-parser";
-import { getSentences } from "@cursorless/sentence-parser";
+import type { MatchedText } from "@cursorless/lib-common";
+import { matchRegex, testRegex } from "@cursorless/lib-common";
+import type { SentenceParserOptions } from "@cursorless/lib-sentence-parser";
+import { getSentences } from "@cursorless/lib-sentence-parser";
// A sentence starts with a letter with adjacent leading symbols. Whitespace excluded.
const leadingOffsetRegex = /\S*\p{L}/u;
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SortedScopeHandler.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SortedScopeHandler.ts
similarity index 99%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SortedScopeHandler.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SortedScopeHandler.ts
index 87252e93de..e798279326 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SortedScopeHandler.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SortedScopeHandler.ts
@@ -3,7 +3,7 @@ import type {
OneOfScopeType,
Position,
TextEditor,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { BaseScopeHandler } from "./BaseScopeHandler";
import { advanceIteratorsUntil, getInitialIteratorInfos } from "./IteratorInfo";
import type { ScopeHandlerFactory } from "./ScopeHandlerFactory";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/InteriorScopeHandler.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/InteriorScopeHandler.ts
similarity index 95%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/InteriorScopeHandler.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/InteriorScopeHandler.ts
index 7d0bba3a5e..e8b4878043 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/InteriorScopeHandler.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/InteriorScopeHandler.ts
@@ -3,8 +3,8 @@ import type {
Position,
ScopeType,
TextEditor,
-} from "@cursorless/common";
-import { NoContainingScopeError } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { NoContainingScopeError } from "@cursorless/lib-common";
import type { LanguageDefinitions } from "../../../../languages/LanguageDefinitions";
import type { Target } from "../../../../typings/target.types";
import { InteriorTarget } from "../../../targets";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/SurroundingPairInteriorScopeHandler.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/SurroundingPairInteriorScopeHandler.ts
similarity index 98%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/SurroundingPairInteriorScopeHandler.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/SurroundingPairInteriorScopeHandler.ts
index 202f8aa7d5..5062cd2ddf 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/SurroundingPairInteriorScopeHandler.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/SurroundingPairInteriorScopeHandler.ts
@@ -3,7 +3,7 @@ import type {
Position,
SurroundingPairInteriorScopeType,
TextEditor,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { BaseScopeHandler } from "../BaseScopeHandler";
import type { TargetScope } from "../scope.types";
import type {
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/SurroundingPairScopeHandler.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/SurroundingPairScopeHandler.ts
similarity index 99%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/SurroundingPairScopeHandler.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/SurroundingPairScopeHandler.ts
index b767988ae0..48a7821d05 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/SurroundingPairScopeHandler.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/SurroundingPairScopeHandler.ts
@@ -3,7 +3,7 @@ import type {
Position,
SurroundingPairScopeType,
TextEditor,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type { LanguageDefinitions } from "../../../../languages/LanguageDefinitions";
import { BaseScopeHandler } from "../BaseScopeHandler";
import { compareTargetScopes } from "../compareTargetScopes";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/createTargetScope.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/createTargetScope.ts
similarity index 89%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/createTargetScope.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/createTargetScope.ts
index e9bba9d1bb..45416e5da9 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/createTargetScope.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/createTargetScope.ts
@@ -1,5 +1,5 @@
-import type { TextEditor } from "@cursorless/common";
-import { Range } from "@cursorless/common";
+import type { TextEditor } from "@cursorless/lib-common";
+import { Range } from "@cursorless/lib-common";
import { SurroundingPairTarget } from "../../../targets";
import type { TargetScope } from "../scope.types";
import type { SurroundingPairOccurrence } from "./types";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/delimiterMaps.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/delimiterMaps.ts
similarity index 97%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/delimiterMaps.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/delimiterMaps.ts
index f6fb40546b..b51ff7c8a9 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/delimiterMaps.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/delimiterMaps.ts
@@ -1,8 +1,8 @@
import type {
ComplexSurroundingPairName,
SimpleSurroundingPairName,
-} from "@cursorless/common";
-import { unsafeKeys } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { unsafeKeys } from "@cursorless/lib-common";
type IndividualDelimiterText = string | string[];
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/getDelimiterOccurrences.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/getDelimiterOccurrences.ts
similarity index 95%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/getDelimiterOccurrences.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/getDelimiterOccurrences.ts
index 1f8c3ef30c..47a18602c1 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/getDelimiterOccurrences.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/getDelimiterOccurrences.ts
@@ -1,5 +1,5 @@
-import type { TextDocument } from "@cursorless/common";
-import { matchAllIterator, Range } from "@cursorless/common";
+import type { TextDocument } from "@cursorless/lib-common";
+import { matchAllIterator, Range } from "@cursorless/lib-common";
import type { LanguageDefinition } from "../../../../languages/LanguageDefinition";
import type { QueryCapture } from "../../../../languages/TreeSitterQuery/QueryCapture";
import { OneWayNestedRangeFinder } from "../util/OneWayNestedRangeFinder";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/getDelimiterRegex.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/getDelimiterRegex.ts
similarity index 100%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/getDelimiterRegex.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/getDelimiterRegex.ts
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/getIndividualDelimiters.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/getIndividualDelimiters.ts
similarity index 96%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/getIndividualDelimiters.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/getIndividualDelimiters.ts
index 3d08fc890e..8302211f7a 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/getIndividualDelimiters.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/getIndividualDelimiters.ts
@@ -2,8 +2,8 @@ import type {
ComplexSurroundingPairName,
SimpleSurroundingPairName,
SurroundingPairName,
-} from "@cursorless/common";
-import { isString } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { isString } from "@cursorless/lib-common";
import { concat, uniq } from "lodash-es";
import { complexDelimiterMap, getSimpleDelimiterMap } from "./delimiterMaps";
import type { IndividualDelimiter } from "./types";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/getSurroundingPairOccurrences.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/getSurroundingPairOccurrences.ts
similarity index 98%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/getSurroundingPairOccurrences.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/getSurroundingPairOccurrences.ts
index da5f70944a..973647a6b5 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/getSurroundingPairOccurrences.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/getSurroundingPairOccurrences.ts
@@ -1,4 +1,4 @@
-import type { Range } from "@cursorless/common";
+import type { Range } from "@cursorless/lib-common";
import findLastIndex from "lodash-es/findLastIndex";
import { DelimiterSide } from "./types";
import type {
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/index.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/index.ts
similarity index 100%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/index.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/index.ts
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/types.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/types.ts
similarity index 98%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/types.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/types.ts
index 963d959ecd..001ce5490a 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/types.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/SurroundingPairScopeHandler/types.ts
@@ -1,4 +1,4 @@
-import type { Range, SimpleSurroundingPairName } from "@cursorless/common";
+import type { Range, SimpleSurroundingPairName } from "@cursorless/lib-common";
/**
* Used to indicate whether a particular side of the delimiter is left or right
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/TokenScopeHandler.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/TokenScopeHandler.ts
similarity index 96%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/TokenScopeHandler.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/TokenScopeHandler.ts
index b9b2ef2ee1..b9a78c3cf4 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/TokenScopeHandler.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/TokenScopeHandler.ts
@@ -1,4 +1,4 @@
-import type { Direction, IDE, ScopeType } from "@cursorless/common";
+import type { Direction, IDE, ScopeType } from "@cursorless/lib-common";
import { imap } from "itertools";
import { getMatcher } from "../../../tokenizer";
import { generateMatchesInRange } from "../../../util/getMatchesInRange";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/BaseTreeSitterScopeHandler.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/BaseTreeSitterScopeHandler.ts
similarity index 96%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/BaseTreeSitterScopeHandler.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/BaseTreeSitterScopeHandler.ts
index c3339f6716..0cc6ead93d 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/BaseTreeSitterScopeHandler.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/BaseTreeSitterScopeHandler.ts
@@ -1,5 +1,10 @@
-import type { Direction, IDE, Position, TextEditor } from "@cursorless/common";
-import { showError } from "@cursorless/common";
+import type {
+ Direction,
+ IDE,
+ Position,
+ TextEditor,
+} from "@cursorless/lib-common";
+import { showError } from "@cursorless/lib-common";
import { uniqWith } from "lodash-es";
import type { TreeSitterQuery } from "../../../../languages/TreeSitterQuery";
import type { QueryMatch } from "../../../../languages/TreeSitterQuery/QueryCapture";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/TreeSitterIterationScopeHandler.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/TreeSitterIterationScopeHandler.ts
similarity index 98%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/TreeSitterIterationScopeHandler.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/TreeSitterIterationScopeHandler.ts
index 990fe99160..3ee20dcd57 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/TreeSitterIterationScopeHandler.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/TreeSitterIterationScopeHandler.ts
@@ -3,7 +3,7 @@ import type {
ScopeType,
SimpleScopeType,
TextEditor,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type { TreeSitterQuery } from "../../../../languages/TreeSitterQuery";
import type { QueryMatch } from "../../../../languages/TreeSitterQuery/QueryCapture";
import { PlainTarget } from "../../../targets";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/TreeSitterScopeHandler.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/TreeSitterScopeHandler.ts
similarity index 99%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/TreeSitterScopeHandler.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/TreeSitterScopeHandler.ts
index 6d7d157268..fe75a444bc 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/TreeSitterScopeHandler.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/TreeSitterScopeHandler.ts
@@ -1,4 +1,4 @@
-import type { IDE, SimpleScopeType, TextEditor } from "@cursorless/common";
+import type { IDE, SimpleScopeType, TextEditor } from "@cursorless/lib-common";
import type { TreeSitterQuery } from "../../../../languages/TreeSitterQuery";
import type { QueryMatch } from "../../../../languages/TreeSitterQuery/QueryCapture";
import { ScopeTypeTarget } from "../../../targets/ScopeTypeTarget";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/captureUtils.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/captureUtils.ts
similarity index 97%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/captureUtils.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/captureUtils.ts
index a387a6e55e..6deb1e683c 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/captureUtils.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/captureUtils.ts
@@ -1,4 +1,4 @@
-import type { Range } from "@cursorless/common";
+import type { Range } from "@cursorless/lib-common";
import type { QueryMatch } from "../../../../languages/TreeSitterQuery/QueryCapture";
/**
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/getQuerySearchRange.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/getQuerySearchRange.ts
similarity index 99%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/getQuerySearchRange.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/getQuerySearchRange.ts
index 60b64cc632..fe96c89daa 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/getQuerySearchRange.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/getQuerySearchRange.ts
@@ -1,4 +1,4 @@
-import type { Direction, Position, TextDocument } from "@cursorless/common";
+import type { Direction, Position, TextDocument } from "@cursorless/lib-common";
import type {
ContainmentPolicy,
ScopeIteratorRequirements,
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/index.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/index.ts
similarity index 100%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/index.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/index.ts
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/mergeAdjacentBy.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/mergeAdjacentBy.ts
similarity index 100%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/mergeAdjacentBy.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/TreeSitterScopeHandler/mergeAdjacentBy.ts
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/WordScopeHandler/WordScopeHandler.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/WordScopeHandler/WordScopeHandler.ts
similarity index 95%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/WordScopeHandler/WordScopeHandler.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/WordScopeHandler/WordScopeHandler.ts
index 65a2ffbbb8..c9d0b112d1 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/WordScopeHandler/WordScopeHandler.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/WordScopeHandler/WordScopeHandler.ts
@@ -1,5 +1,10 @@
-import type { Direction, IDE, ScopeType, TextEditor } from "@cursorless/common";
-import { Range } from "@cursorless/common";
+import type {
+ Direction,
+ IDE,
+ ScopeType,
+ TextEditor,
+} from "@cursorless/lib-common";
+import { Range } from "@cursorless/lib-common";
import { SubTokenWordTarget } from "../../../targets";
import { NestedScopeHandler } from "../NestedScopeHandler";
import type { TargetScope } from "../scope.types";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/WordScopeHandler/WordTokenizer.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/WordScopeHandler/WordTokenizer.ts
similarity index 87%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/WordScopeHandler/WordTokenizer.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/WordScopeHandler/WordTokenizer.ts
index 174da051ad..1a353cc4d8 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/WordScopeHandler/WordTokenizer.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/WordScopeHandler/WordTokenizer.ts
@@ -1,5 +1,5 @@
-import type { IDE } from "@cursorless/common";
-import { matchText } from "@cursorless/common";
+import type { IDE } from "@cursorless/lib-common";
+import { matchText } from "@cursorless/lib-common";
import { getMatcher } from "../../../../tokenizer";
const CAMEL_REGEX = /\p{Lu}?\p{Ll}+|\p{Lu}+(?!\p{Ll})|\p{N}+/gu;
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/compareTargetScopes.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/compareTargetScopes.ts
similarity index 98%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/compareTargetScopes.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/compareTargetScopes.ts
index f3b07f6357..504187e6d6 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/compareTargetScopes.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/compareTargetScopes.ts
@@ -1,4 +1,4 @@
-import type { Direction, Position, Range } from "@cursorless/common";
+import type { Direction, Position, Range } from "@cursorless/lib-common";
import type { TargetScope } from "./scope.types";
/**
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/index.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/index.ts
similarity index 100%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/index.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/index.ts
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/isPreferredOverHelper.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/isPreferredOverHelper.ts
similarity index 94%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/isPreferredOverHelper.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/isPreferredOverHelper.ts
index 47278d07e7..551be15df4 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/isPreferredOverHelper.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/isPreferredOverHelper.ts
@@ -1,4 +1,4 @@
-import { testRegex } from "@cursorless/common";
+import { testRegex } from "@cursorless/lib-common";
import type { TargetScope } from "./scope.types";
export function isPreferredOverHelper(
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/scope.types.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/scope.types.ts
similarity index 96%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/scope.types.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/scope.types.ts
index e4f2bba0a9..eacc2a0e89 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/scope.types.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/scope.types.ts
@@ -1,4 +1,4 @@
-import type { Range, TextEditor } from "@cursorless/common";
+import type { Range, TextEditor } from "@cursorless/lib-common";
import type { Target } from "../../../typings/target.types";
/**
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/scopeHandler.types.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/scopeHandler.types.ts
similarity index 99%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/scopeHandler.types.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/scopeHandler.types.ts
index 0242b87780..fa975cabae 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/scopeHandler.types.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/scopeHandler.types.ts
@@ -3,7 +3,7 @@ import type {
Position,
ScopeType,
TextEditor,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type { TargetScope } from "./scope.types";
/**
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/scopeTypeUtil.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/scopeTypeUtil.ts
similarity index 60%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/scopeTypeUtil.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/scopeTypeUtil.ts
index bdf7f8da42..b99b043621 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/scopeTypeUtil.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/scopeTypeUtil.ts
@@ -1,4 +1,4 @@
-import type { ScopeType } from "@cursorless/common";
+import type { ScopeType } from "@cursorless/lib-common";
export function scopeTypeToString(scopeType: ScopeType) {
return scopeType.type;
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/shouldYieldScope.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/shouldYieldScope.ts
similarity index 96%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/shouldYieldScope.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/shouldYieldScope.ts
index 283259baed..ade4afde8e 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/shouldYieldScope.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/shouldYieldScope.ts
@@ -1,5 +1,5 @@
-import type { Direction, Position } from "@cursorless/common";
-import { Range } from "@cursorless/common";
+import type { Direction, Position } from "@cursorless/lib-common";
+import { Range } from "@cursorless/lib-common";
import { strictlyContains } from "../../../util/rangeUtils";
import { compareTargetScopes } from "./compareTargetScopes";
import type { TargetScope } from "./scope.types";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/util/OneWayNestedRangeFinder.test.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/util/OneWayNestedRangeFinder.test.ts
similarity index 95%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/util/OneWayNestedRangeFinder.test.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/util/OneWayNestedRangeFinder.test.ts
index 3c2c86d3b5..c2e0df3351 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/util/OneWayNestedRangeFinder.test.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/util/OneWayNestedRangeFinder.test.ts
@@ -1,4 +1,4 @@
-import { Range } from "@cursorless/common";
+import { Range } from "@cursorless/lib-common";
import { OneWayNestedRangeFinder } from "./OneWayNestedRangeFinder";
import assert from "assert";
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/util/OneWayNestedRangeFinder.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/util/OneWayNestedRangeFinder.ts
similarity index 97%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/util/OneWayNestedRangeFinder.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/util/OneWayNestedRangeFinder.ts
index d001dcf264..595c39ab73 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/util/OneWayNestedRangeFinder.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/util/OneWayNestedRangeFinder.ts
@@ -1,4 +1,4 @@
-import type { Range } from "@cursorless/common";
+import type { Range } from "@cursorless/lib-common";
import { OneWayRangeFinder } from "./OneWayRangeFinder";
/**
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/util/OneWayRangeFinder.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/util/OneWayRangeFinder.ts
similarity index 96%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/util/OneWayRangeFinder.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/util/OneWayRangeFinder.ts
index c0b9b6e188..8fd4d53668 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/util/OneWayRangeFinder.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/util/OneWayRangeFinder.ts
@@ -1,4 +1,4 @@
-import type { Range } from "@cursorless/common";
+import type { Range } from "@cursorless/lib-common";
/**
* Given a list of ranges (the haystack), allows the client to search for a sequence of ranges (the needles).
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/util/getCollectionItemRemovalRange.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/util/getCollectionItemRemovalRange.ts
similarity index 93%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/util/getCollectionItemRemovalRange.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/util/getCollectionItemRemovalRange.ts
index d06cee56ca..a8d093749c 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/util/getCollectionItemRemovalRange.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/util/getCollectionItemRemovalRange.ts
@@ -1,4 +1,4 @@
-import type { Range, TextEditor } from "@cursorless/common";
+import type { Range, TextEditor } from "@cursorless/lib-common";
import { getRangeLength } from "../../../../util/rangeUtils";
/**
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/util/isHintsEveryScope.ts b/packages/lib-engine/src/processTargets/modifiers/scopeHandlers/util/isHintsEveryScope.ts
similarity index 100%
rename from packages/cursorless-engine/src/processTargets/modifiers/scopeHandlers/util/isHintsEveryScope.ts
rename to packages/lib-engine/src/processTargets/modifiers/scopeHandlers/util/isHintsEveryScope.ts
diff --git a/packages/cursorless-engine/src/processTargets/modifiers/targetSequenceUtils.ts b/packages/lib-engine/src/processTargets/modifiers/targetSequenceUtils.ts
similarity index 96%
rename from packages/cursorless-engine/src/processTargets/modifiers/targetSequenceUtils.ts
rename to packages/lib-engine/src/processTargets/modifiers/targetSequenceUtils.ts
index 373d647294..d4da9279f0 100644
--- a/packages/cursorless-engine/src/processTargets/modifiers/targetSequenceUtils.ts
+++ b/packages/lib-engine/src/processTargets/modifiers/targetSequenceUtils.ts
@@ -1,4 +1,4 @@
-import type { ScopeType } from "@cursorless/common";
+import type { ScopeType } from "@cursorless/lib-common";
import type { Target } from "../../typings/target.types";
import type { ModifierStageFactory } from "../ModifierStageFactory";
import { createContinuousRangeTarget } from "../createContinuousRangeTarget";
diff --git a/packages/cursorless-engine/src/processTargets/targets/BaseTarget.ts b/packages/lib-engine/src/processTargets/targets/BaseTarget.ts
similarity index 98%
rename from packages/cursorless-engine/src/processTargets/targets/BaseTarget.ts
rename to packages/lib-engine/src/processTargets/targets/BaseTarget.ts
index 8bd6b2e464..926e084f4e 100644
--- a/packages/cursorless-engine/src/processTargets/targets/BaseTarget.ts
+++ b/packages/lib-engine/src/processTargets/targets/BaseTarget.ts
@@ -5,8 +5,8 @@ import type {
Range,
TargetPlainObject,
TextEditor,
-} from "@cursorless/common";
-import { rangeToPlainObject, Selection } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { rangeToPlainObject, Selection } from "@cursorless/lib-common";
import { isEqual } from "lodash-es";
import type { EditWithRangeUpdater } from "../../typings/Types";
import type {
diff --git a/packages/cursorless-engine/src/processTargets/targets/BoundedParagraphTarget.ts b/packages/lib-engine/src/processTargets/targets/BoundedParagraphTarget.ts
similarity index 98%
rename from packages/cursorless-engine/src/processTargets/targets/BoundedParagraphTarget.ts
rename to packages/lib-engine/src/processTargets/targets/BoundedParagraphTarget.ts
index 291249c197..d0903f9f72 100644
--- a/packages/cursorless-engine/src/processTargets/targets/BoundedParagraphTarget.ts
+++ b/packages/lib-engine/src/processTargets/targets/BoundedParagraphTarget.ts
@@ -1,4 +1,4 @@
-import { toLineRange, type Range } from "@cursorless/common";
+import { toLineRange, type Range } from "@cursorless/lib-common";
import type { InteriorTarget, ParagraphTarget } from ".";
import type { TextualType } from "../../typings/target.types";
import { expandToFullLine } from "../../util/rangeUtils";
diff --git a/packages/cursorless-engine/src/processTargets/targets/DestinationImpl.ts b/packages/lib-engine/src/processTargets/targets/DestinationImpl.ts
similarity index 98%
rename from packages/cursorless-engine/src/processTargets/targets/DestinationImpl.ts
rename to packages/lib-engine/src/processTargets/targets/DestinationImpl.ts
index 37d95de65b..84040a75bc 100644
--- a/packages/cursorless-engine/src/processTargets/targets/DestinationImpl.ts
+++ b/packages/lib-engine/src/processTargets/targets/DestinationImpl.ts
@@ -1,5 +1,5 @@
-import type { InsertionMode, TextEditor } from "@cursorless/common";
-import { Range, Selection } from "@cursorless/common";
+import type { InsertionMode, TextEditor } from "@cursorless/lib-common";
+import { Range, Selection } from "@cursorless/lib-common";
import type { EditWithRangeUpdater } from "../../typings/Types";
import type {
Destination,
diff --git a/packages/cursorless-engine/src/processTargets/targets/DocumentTarget.ts b/packages/lib-engine/src/processTargets/targets/DocumentTarget.ts
similarity index 95%
rename from packages/cursorless-engine/src/processTargets/targets/DocumentTarget.ts
rename to packages/lib-engine/src/processTargets/targets/DocumentTarget.ts
index ad26edea9e..09a1f39e85 100644
--- a/packages/cursorless-engine/src/processTargets/targets/DocumentTarget.ts
+++ b/packages/lib-engine/src/processTargets/targets/DocumentTarget.ts
@@ -1,4 +1,4 @@
-import type { Range } from "@cursorless/common";
+import type { Range } from "@cursorless/lib-common";
import type { TextualType } from "../../typings/target.types";
import { shrinkRangeToFitContent } from "../../util/selectionUtils";
import { BaseTarget, type CommonTargetParameters } from "./BaseTarget";
diff --git a/packages/cursorless-engine/src/processTargets/targets/HeadTailTarget.ts b/packages/lib-engine/src/processTargets/targets/HeadTailTarget.ts
similarity index 98%
rename from packages/cursorless-engine/src/processTargets/targets/HeadTailTarget.ts
rename to packages/lib-engine/src/processTargets/targets/HeadTailTarget.ts
index 540cbb5a8b..0d63d17ac1 100644
--- a/packages/cursorless-engine/src/processTargets/targets/HeadTailTarget.ts
+++ b/packages/lib-engine/src/processTargets/targets/HeadTailTarget.ts
@@ -1,4 +1,4 @@
-import { Range } from "@cursorless/common";
+import { Range } from "@cursorless/lib-common";
import type { MinimumTargetParameters } from "./BaseTarget";
import { BaseTarget } from "./BaseTarget";
import type { Target } from "../../typings/target.types";
diff --git a/packages/cursorless-engine/src/processTargets/targets/ImplicitTarget.ts b/packages/lib-engine/src/processTargets/targets/ImplicitTarget.ts
similarity index 92%
rename from packages/cursorless-engine/src/processTargets/targets/ImplicitTarget.ts
rename to packages/lib-engine/src/processTargets/targets/ImplicitTarget.ts
index 7b7589ea81..f3b821f09a 100644
--- a/packages/cursorless-engine/src/processTargets/targets/ImplicitTarget.ts
+++ b/packages/lib-engine/src/processTargets/targets/ImplicitTarget.ts
@@ -1,4 +1,4 @@
-import type { EnforceUndefined } from "@cursorless/common";
+import type { EnforceUndefined } from "@cursorless/lib-common";
import type { TextualType } from "../../typings/target.types";
import type { CommonTargetParameters } from "./BaseTarget";
import { BaseTarget } from "./BaseTarget";
diff --git a/packages/cursorless-engine/src/processTargets/targets/InteriorTarget.ts b/packages/lib-engine/src/processTargets/targets/InteriorTarget.ts
similarity index 96%
rename from packages/cursorless-engine/src/processTargets/targets/InteriorTarget.ts
rename to packages/lib-engine/src/processTargets/targets/InteriorTarget.ts
index afdcc3f9b3..10b0dc207b 100644
--- a/packages/cursorless-engine/src/processTargets/targets/InteriorTarget.ts
+++ b/packages/lib-engine/src/processTargets/targets/InteriorTarget.ts
@@ -1,4 +1,4 @@
-import type { Range } from "@cursorless/common";
+import type { Range } from "@cursorless/lib-common";
import { shrinkRangeToFitContent } from "../../util/selectionUtils";
import type { MinimumTargetParameters } from "./BaseTarget";
import { BaseTarget } from "./BaseTarget";
diff --git a/packages/cursorless-engine/src/processTargets/targets/LineTarget.ts b/packages/lib-engine/src/processTargets/targets/LineTarget.ts
similarity index 95%
rename from packages/cursorless-engine/src/processTargets/targets/LineTarget.ts
rename to packages/lib-engine/src/processTargets/targets/LineTarget.ts
index 7905c887db..f2fdea8c08 100644
--- a/packages/cursorless-engine/src/processTargets/targets/LineTarget.ts
+++ b/packages/lib-engine/src/processTargets/targets/LineTarget.ts
@@ -1,5 +1,5 @@
-import type { TextEditor, TextLine } from "@cursorless/common";
-import { Position, Range, toLineRange } from "@cursorless/common";
+import type { TextEditor, TextLine } from "@cursorless/lib-common";
+import { Position, Range, toLineRange } from "@cursorless/lib-common";
import type { TextualType } from "../../typings/target.types";
import { expandToFullLine } from "../../util/rangeUtils";
import { tryConstructTarget } from "../../util/tryConstructTarget";
diff --git a/packages/cursorless-engine/src/processTargets/targets/NotebookCellDestination.ts b/packages/lib-engine/src/processTargets/targets/NotebookCellDestination.ts
similarity index 97%
rename from packages/cursorless-engine/src/processTargets/targets/NotebookCellDestination.ts
rename to packages/lib-engine/src/processTargets/targets/NotebookCellDestination.ts
index 6bfa97cce8..60a2c9ee24 100644
--- a/packages/cursorless-engine/src/processTargets/targets/NotebookCellDestination.ts
+++ b/packages/lib-engine/src/processTargets/targets/NotebookCellDestination.ts
@@ -3,7 +3,7 @@ import type {
Range,
Selection,
TextEditor,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type { EditWithRangeUpdater } from "../../typings/Types";
import type {
Destination,
diff --git a/packages/cursorless-engine/src/processTargets/targets/NotebookCellTarget.ts b/packages/lib-engine/src/processTargets/targets/NotebookCellTarget.ts
similarity index 93%
rename from packages/cursorless-engine/src/processTargets/targets/NotebookCellTarget.ts
rename to packages/lib-engine/src/processTargets/targets/NotebookCellTarget.ts
index bed9662123..b9a6b8caa4 100644
--- a/packages/cursorless-engine/src/processTargets/targets/NotebookCellTarget.ts
+++ b/packages/lib-engine/src/processTargets/targets/NotebookCellTarget.ts
@@ -1,4 +1,4 @@
-import type { InsertionMode } from "@cursorless/common";
+import type { InsertionMode } from "@cursorless/lib-common";
import type { CommonTargetParameters } from "./BaseTarget";
import { BaseTarget } from "./BaseTarget";
import type { Destination } from "../../typings/target.types";
diff --git a/packages/cursorless-engine/src/processTargets/targets/ParagraphTarget.ts b/packages/lib-engine/src/processTargets/targets/ParagraphTarget.ts
similarity index 97%
rename from packages/cursorless-engine/src/processTargets/targets/ParagraphTarget.ts
rename to packages/lib-engine/src/processTargets/targets/ParagraphTarget.ts
index affb0a87a6..44d95ec22d 100644
--- a/packages/cursorless-engine/src/processTargets/targets/ParagraphTarget.ts
+++ b/packages/lib-engine/src/processTargets/targets/ParagraphTarget.ts
@@ -3,8 +3,8 @@ import type {
TextDocument,
TextEditor,
TextLine,
-} from "@cursorless/common";
-import { Position, Range, toLineRange } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { Position, Range, toLineRange } from "@cursorless/lib-common";
import type { TextualType } from "../../typings/target.types";
import { expandToFullLine } from "../../util/rangeUtils";
import type { CommonTargetParameters } from "./BaseTarget";
diff --git a/packages/cursorless-engine/src/processTargets/targets/PlainTarget.ts b/packages/lib-engine/src/processTargets/targets/PlainTarget.ts
similarity index 96%
rename from packages/cursorless-engine/src/processTargets/targets/PlainTarget.ts
rename to packages/lib-engine/src/processTargets/targets/PlainTarget.ts
index 4ecc394ee1..ed2d2c8367 100644
--- a/packages/cursorless-engine/src/processTargets/targets/PlainTarget.ts
+++ b/packages/lib-engine/src/processTargets/targets/PlainTarget.ts
@@ -1,4 +1,4 @@
-import type { Range, TextEditor } from "@cursorless/common";
+import type { Range, TextEditor } from "@cursorless/lib-common";
import type { TextualType } from "../../typings/target.types";
import { tryConstructTarget } from "../../util/tryConstructTarget";
import type { CommonTargetParameters } from "./BaseTarget";
diff --git a/packages/cursorless-engine/src/processTargets/targets/RawSelectionTarget.ts b/packages/lib-engine/src/processTargets/targets/RawSelectionTarget.ts
similarity index 92%
rename from packages/cursorless-engine/src/processTargets/targets/RawSelectionTarget.ts
rename to packages/lib-engine/src/processTargets/targets/RawSelectionTarget.ts
index 3fd3b593a7..51b260d6a0 100644
--- a/packages/cursorless-engine/src/processTargets/targets/RawSelectionTarget.ts
+++ b/packages/lib-engine/src/processTargets/targets/RawSelectionTarget.ts
@@ -1,4 +1,4 @@
-import type { EnforceUndefined } from "@cursorless/common";
+import type { EnforceUndefined } from "@cursorless/lib-common";
import type { TextualType } from "../../typings/target.types";
import type { CommonTargetParameters } from "./BaseTarget";
import { BaseTarget } from "./BaseTarget";
diff --git a/packages/cursorless-engine/src/processTargets/targets/ScopeTypeTarget.ts b/packages/lib-engine/src/processTargets/targets/ScopeTypeTarget.ts
similarity index 99%
rename from packages/cursorless-engine/src/processTargets/targets/ScopeTypeTarget.ts
rename to packages/lib-engine/src/processTargets/targets/ScopeTypeTarget.ts
index cf74c9854d..821bed54f2 100644
--- a/packages/cursorless-engine/src/processTargets/targets/ScopeTypeTarget.ts
+++ b/packages/lib-engine/src/processTargets/targets/ScopeTypeTarget.ts
@@ -2,7 +2,7 @@ import type {
GeneralizedRange,
Range,
SimpleScopeTypeType,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type { Target } from "../../typings/target.types";
import { toGeneralizedRange } from "../../util/targetUtils";
import type { CommonTargetParameters } from "./BaseTarget";
diff --git a/packages/cursorless-engine/src/processTargets/targets/SubTokenWordTarget.ts b/packages/lib-engine/src/processTargets/targets/SubTokenWordTarget.ts
similarity index 97%
rename from packages/cursorless-engine/src/processTargets/targets/SubTokenWordTarget.ts
rename to packages/lib-engine/src/processTargets/targets/SubTokenWordTarget.ts
index 24023d97e7..3797f19607 100644
--- a/packages/cursorless-engine/src/processTargets/targets/SubTokenWordTarget.ts
+++ b/packages/lib-engine/src/processTargets/targets/SubTokenWordTarget.ts
@@ -1,4 +1,4 @@
-import type { Range } from "@cursorless/common";
+import type { Range } from "@cursorless/lib-common";
import type { TextualType } from "../../typings/target.types";
import type { CommonTargetParameters } from "./BaseTarget";
import { BaseTarget } from "./BaseTarget";
diff --git a/packages/cursorless-engine/src/processTargets/targets/SurroundingPairTarget.ts b/packages/lib-engine/src/processTargets/targets/SurroundingPairTarget.ts
similarity index 97%
rename from packages/cursorless-engine/src/processTargets/targets/SurroundingPairTarget.ts
rename to packages/lib-engine/src/processTargets/targets/SurroundingPairTarget.ts
index a1f24e658b..793cce378b 100644
--- a/packages/cursorless-engine/src/processTargets/targets/SurroundingPairTarget.ts
+++ b/packages/lib-engine/src/processTargets/targets/SurroundingPairTarget.ts
@@ -1,4 +1,4 @@
-import type { Range } from "@cursorless/common";
+import type { Range } from "@cursorless/lib-common";
import type { CommonTargetParameters } from "./BaseTarget";
import { BaseTarget } from "./BaseTarget";
import { InteriorTarget } from "./InteriorTarget";
diff --git a/packages/cursorless-engine/src/processTargets/targets/TokenTarget.ts b/packages/lib-engine/src/processTargets/targets/TokenTarget.ts
similarity index 94%
rename from packages/cursorless-engine/src/processTargets/targets/TokenTarget.ts
rename to packages/lib-engine/src/processTargets/targets/TokenTarget.ts
index 3784597a96..385fd152d7 100644
--- a/packages/cursorless-engine/src/processTargets/targets/TokenTarget.ts
+++ b/packages/lib-engine/src/processTargets/targets/TokenTarget.ts
@@ -1,4 +1,4 @@
-import type { Range } from "@cursorless/common";
+import type { Range } from "@cursorless/lib-common";
import type { Target, TextualType } from "../../typings/target.types";
import type { CommonTargetParameters } from "./BaseTarget";
import { BaseTarget } from "./BaseTarget";
diff --git a/packages/cursorless-engine/src/processTargets/targets/UntypedTarget.ts b/packages/lib-engine/src/processTargets/targets/UntypedTarget.ts
similarity index 97%
rename from packages/cursorless-engine/src/processTargets/targets/UntypedTarget.ts
rename to packages/lib-engine/src/processTargets/targets/UntypedTarget.ts
index 32130e3da1..3dd9a6ea1e 100644
--- a/packages/cursorless-engine/src/processTargets/targets/UntypedTarget.ts
+++ b/packages/lib-engine/src/processTargets/targets/UntypedTarget.ts
@@ -1,4 +1,4 @@
-import type { Range } from "@cursorless/common";
+import type { Range } from "@cursorless/lib-common";
import type { Target, TextualType } from "../../typings/target.types";
import type { CommonTargetParameters } from "./BaseTarget";
import { BaseTarget } from "./BaseTarget";
diff --git a/packages/cursorless-engine/src/processTargets/targets/index.ts b/packages/lib-engine/src/processTargets/targets/index.ts
similarity index 100%
rename from packages/cursorless-engine/src/processTargets/targets/index.ts
rename to packages/lib-engine/src/processTargets/targets/index.ts
diff --git a/packages/cursorless-engine/src/processTargets/targets/util/createContinuousRange.ts b/packages/lib-engine/src/processTargets/targets/util/createContinuousRange.ts
similarity index 94%
rename from packages/cursorless-engine/src/processTargets/targets/util/createContinuousRange.ts
rename to packages/lib-engine/src/processTargets/targets/util/createContinuousRange.ts
index f9a904bf32..9b537e37db 100644
--- a/packages/cursorless-engine/src/processTargets/targets/util/createContinuousRange.ts
+++ b/packages/lib-engine/src/processTargets/targets/util/createContinuousRange.ts
@@ -1,4 +1,4 @@
-import { Position, Range } from "@cursorless/common";
+import { Position, Range } from "@cursorless/lib-common";
import type { Target } from "../../../typings/target.types";
export function createContinuousRange(
diff --git a/packages/cursorless-engine/src/processTargets/targets/util/insertionRemovalBehaviors/DelimitedSequenceInsertionRemovalBehavior.ts b/packages/lib-engine/src/processTargets/targets/util/insertionRemovalBehaviors/DelimitedSequenceInsertionRemovalBehavior.ts
similarity index 93%
rename from packages/cursorless-engine/src/processTargets/targets/util/insertionRemovalBehaviors/DelimitedSequenceInsertionRemovalBehavior.ts
rename to packages/lib-engine/src/processTargets/targets/util/insertionRemovalBehaviors/DelimitedSequenceInsertionRemovalBehavior.ts
index a518aa2192..4603dba124 100644
--- a/packages/cursorless-engine/src/processTargets/targets/util/insertionRemovalBehaviors/DelimitedSequenceInsertionRemovalBehavior.ts
+++ b/packages/lib-engine/src/processTargets/targets/util/insertionRemovalBehaviors/DelimitedSequenceInsertionRemovalBehavior.ts
@@ -1,4 +1,4 @@
-import type { Range } from "@cursorless/common";
+import type { Range } from "@cursorless/lib-common";
import type { Target } from "../../../../typings/target.types";
import { union } from "../../../../util/rangeUtils";
diff --git a/packages/cursorless-engine/src/processTargets/targets/util/insertionRemovalBehaviors/TokenInsertionRemovalBehavior.ts b/packages/lib-engine/src/processTargets/targets/util/insertionRemovalBehaviors/TokenInsertionRemovalBehavior.ts
similarity index 97%
rename from packages/cursorless-engine/src/processTargets/targets/util/insertionRemovalBehaviors/TokenInsertionRemovalBehavior.ts
rename to packages/lib-engine/src/processTargets/targets/util/insertionRemovalBehaviors/TokenInsertionRemovalBehavior.ts
index 29a6f15047..7f02e3bf18 100644
--- a/packages/cursorless-engine/src/processTargets/targets/util/insertionRemovalBehaviors/TokenInsertionRemovalBehavior.ts
+++ b/packages/lib-engine/src/processTargets/targets/util/insertionRemovalBehaviors/TokenInsertionRemovalBehavior.ts
@@ -1,5 +1,5 @@
-import type { TextEditor } from "@cursorless/common";
-import { Range } from "@cursorless/common";
+import type { TextEditor } from "@cursorless/lib-common";
+import { Range } from "@cursorless/lib-common";
import type { Target } from "../../../../typings/target.types";
import { expandToFullLine, union } from "../../../../util/rangeUtils";
import { PlainTarget } from "../../PlainTarget";
diff --git a/packages/cursorless-engine/src/processTargets/targets/util/insertionRemovalBehaviors/getSmartRemovalTarget.ts b/packages/lib-engine/src/processTargets/targets/util/insertionRemovalBehaviors/getSmartRemovalTarget.ts
similarity index 96%
rename from packages/cursorless-engine/src/processTargets/targets/util/insertionRemovalBehaviors/getSmartRemovalTarget.ts
rename to packages/lib-engine/src/processTargets/targets/util/insertionRemovalBehaviors/getSmartRemovalTarget.ts
index da7b91bdd3..acb69bd36a 100644
--- a/packages/cursorless-engine/src/processTargets/targets/util/insertionRemovalBehaviors/getSmartRemovalTarget.ts
+++ b/packages/lib-engine/src/processTargets/targets/util/insertionRemovalBehaviors/getSmartRemovalTarget.ts
@@ -1,4 +1,4 @@
-import type { Range, TextDocument } from "@cursorless/common";
+import type { Range, TextDocument } from "@cursorless/lib-common";
import type { Target } from "../../../../typings/target.types";
import { union } from "../../../../util/rangeUtils";
import { LineTarget } from "../../LineTarget";
diff --git a/packages/cursorless-engine/src/processTargets/targets/util/insertionRemovalBehaviors/insertionRemovalBehavior.types.ts b/packages/lib-engine/src/processTargets/targets/util/insertionRemovalBehaviors/insertionRemovalBehavior.types.ts
similarity index 84%
rename from packages/cursorless-engine/src/processTargets/targets/util/insertionRemovalBehaviors/insertionRemovalBehavior.types.ts
rename to packages/lib-engine/src/processTargets/targets/util/insertionRemovalBehaviors/insertionRemovalBehavior.types.ts
index 4690c3235a..45c1e75cd6 100644
--- a/packages/cursorless-engine/src/processTargets/targets/util/insertionRemovalBehaviors/insertionRemovalBehavior.types.ts
+++ b/packages/lib-engine/src/processTargets/targets/util/insertionRemovalBehaviors/insertionRemovalBehavior.types.ts
@@ -1,4 +1,4 @@
-import type { Range } from "@cursorless/common";
+import type { Range } from "@cursorless/lib-common";
import type { Target } from "../../../../typings/target.types";
export interface InsertionRemovalBehavior {
diff --git a/packages/cursorless-engine/src/runCommand.ts b/packages/lib-engine/src/runCommand.ts
similarity index 97%
rename from packages/cursorless-engine/src/runCommand.ts
rename to packages/lib-engine/src/runCommand.ts
index 8f3660e18d..ffc46fdf29 100644
--- a/packages/cursorless-engine/src/runCommand.ts
+++ b/packages/lib-engine/src/runCommand.ts
@@ -6,8 +6,8 @@ import type {
IDE,
ReadOnlyHatMap,
TreeSitter,
-} from "@cursorless/common";
-import { clientSupportsFallback } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { clientSupportsFallback } from "@cursorless/lib-common";
import type { CommandRunner } from "./CommandRunner";
import { Actions } from "./actions/Actions";
import type { CommandRunnerDecorator } from "./api/CursorlessEngineApi";
diff --git a/packages/cursorless-engine/src/scopeProviders/ScopeInfoProvider.ts b/packages/lib-engine/src/scopeProviders/ScopeInfoProvider.ts
similarity index 98%
rename from packages/cursorless-engine/src/scopeProviders/ScopeInfoProvider.ts
rename to packages/lib-engine/src/scopeProviders/ScopeInfoProvider.ts
index bc2ede5094..78b815140a 100644
--- a/packages/cursorless-engine/src/scopeProviders/ScopeInfoProvider.ts
+++ b/packages/lib-engine/src/scopeProviders/ScopeInfoProvider.ts
@@ -4,12 +4,12 @@ import type {
ScopeTypeInfo,
ScopeTypeInfoEventCallback,
SurroundingPairScopeType,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import {
pseudoScopes,
simpleScopeTypeTypes,
surroundingPairNames,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { pull } from "lodash-es";
import type { CustomSpokenFormGeneratorImpl } from "../generateSpokenForm/CustomSpokenFormGeneratorImpl";
diff --git a/packages/cursorless-engine/src/scopeProviders/ScopeRangeProvider.ts b/packages/lib-engine/src/scopeProviders/ScopeRangeProvider.ts
similarity index 97%
rename from packages/cursorless-engine/src/scopeProviders/ScopeRangeProvider.ts
rename to packages/lib-engine/src/scopeProviders/ScopeRangeProvider.ts
index 971e234af8..c48127aae2 100644
--- a/packages/cursorless-engine/src/scopeProviders/ScopeRangeProvider.ts
+++ b/packages/lib-engine/src/scopeProviders/ScopeRangeProvider.ts
@@ -5,8 +5,8 @@ import type {
ScopeRanges,
ScopeType,
TextEditor,
-} from "@cursorless/common";
-import { Range } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { Range } from "@cursorless/lib-common";
import type { ModifierStageFactory } from "../processTargets/ModifierStageFactory";
import type { ScopeHandlerFactory } from "../processTargets/modifiers/scopeHandlers/ScopeHandlerFactory";
import { getIterationRange } from "./getIterationRange";
diff --git a/packages/cursorless-engine/src/scopeProviders/ScopeRangeWatcher.ts b/packages/lib-engine/src/scopeProviders/ScopeRangeWatcher.ts
similarity index 98%
rename from packages/cursorless-engine/src/scopeProviders/ScopeRangeWatcher.ts
rename to packages/lib-engine/src/scopeProviders/ScopeRangeWatcher.ts
index 530f6e2408..534281c872 100644
--- a/packages/cursorless-engine/src/scopeProviders/ScopeRangeWatcher.ts
+++ b/packages/lib-engine/src/scopeProviders/ScopeRangeWatcher.ts
@@ -6,8 +6,8 @@ import type {
ScopeChangeEventCallback,
ScopeRangeConfig,
ScopeRanges,
-} from "@cursorless/common";
-import { showError } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { showError } from "@cursorless/lib-common";
import { pull } from "lodash-es";
import type { LanguageDefinitions } from "../languages/LanguageDefinitions";
diff --git a/packages/cursorless-engine/src/scopeProviders/ScopeSupportChecker.ts b/packages/lib-engine/src/scopeProviders/ScopeSupportChecker.ts
similarity index 94%
rename from packages/cursorless-engine/src/scopeProviders/ScopeSupportChecker.ts
rename to packages/lib-engine/src/scopeProviders/ScopeSupportChecker.ts
index 3ae308c04d..75d3fee8e0 100644
--- a/packages/cursorless-engine/src/scopeProviders/ScopeSupportChecker.ts
+++ b/packages/lib-engine/src/scopeProviders/ScopeSupportChecker.ts
@@ -1,5 +1,9 @@
-import type { ScopeType, TextEditor } from "@cursorless/common";
-import { Position, ScopeSupport, isEmptyIterable } from "@cursorless/common";
+import type { ScopeType, TextEditor } from "@cursorless/lib-common";
+import {
+ Position,
+ ScopeSupport,
+ isEmptyIterable,
+} from "@cursorless/lib-common";
import type { ScopeHandlerFactory } from "../processTargets/modifiers/scopeHandlers/ScopeHandlerFactory";
import type { ScopeHandler } from "../processTargets/modifiers/scopeHandlers/scopeHandler.types";
diff --git a/packages/cursorless-engine/src/scopeProviders/ScopeSupportWatcher.ts b/packages/lib-engine/src/scopeProviders/ScopeSupportWatcher.ts
similarity index 97%
rename from packages/cursorless-engine/src/scopeProviders/ScopeSupportWatcher.ts
rename to packages/lib-engine/src/scopeProviders/ScopeSupportWatcher.ts
index f094ade0cb..b3e6a10bcf 100644
--- a/packages/cursorless-engine/src/scopeProviders/ScopeSupportWatcher.ts
+++ b/packages/lib-engine/src/scopeProviders/ScopeSupportWatcher.ts
@@ -4,8 +4,8 @@ import type {
ScopeSupportEventCallback,
ScopeSupportInfo,
ScopeType,
-} from "@cursorless/common";
-import { ScopeSupport, disposableFrom } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { ScopeSupport, disposableFrom } from "@cursorless/lib-common";
import { pull } from "lodash-es";
import type { LanguageDefinitions } from "../languages/LanguageDefinitions";
import { DecorationDebouncer } from "../util/DecorationDebouncer";
diff --git a/packages/cursorless-engine/src/scopeProviders/getIterationRange.ts b/packages/lib-engine/src/scopeProviders/getIterationRange.ts
similarity index 97%
rename from packages/cursorless-engine/src/scopeProviders/getIterationRange.ts
rename to packages/lib-engine/src/scopeProviders/getIterationRange.ts
index 0fc797fc84..f5f769e092 100644
--- a/packages/cursorless-engine/src/scopeProviders/getIterationRange.ts
+++ b/packages/lib-engine/src/scopeProviders/getIterationRange.ts
@@ -1,4 +1,4 @@
-import type { Range, TextEditor } from "@cursorless/common";
+import type { Range, TextEditor } from "@cursorless/lib-common";
import { last } from "lodash-es";
import type { ScopeHandler } from "../processTargets/modifiers/scopeHandlers/scopeHandler.types";
diff --git a/packages/cursorless-engine/src/scopeProviders/getIterationScopeRanges.ts b/packages/lib-engine/src/scopeProviders/getIterationScopeRanges.ts
similarity index 98%
rename from packages/cursorless-engine/src/scopeProviders/getIterationScopeRanges.ts
rename to packages/lib-engine/src/scopeProviders/getIterationScopeRanges.ts
index d4c9de3bb4..678f84f25e 100644
--- a/packages/cursorless-engine/src/scopeProviders/getIterationScopeRanges.ts
+++ b/packages/lib-engine/src/scopeProviders/getIterationScopeRanges.ts
@@ -2,7 +2,7 @@ import type {
IterationScopeRanges,
Range,
TextEditor,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { map } from "itertools";
import type {
ModifierStage,
diff --git a/packages/cursorless-engine/src/scopeProviders/getScopeRanges.ts b/packages/lib-engine/src/scopeProviders/getScopeRanges.ts
similarity index 98%
rename from packages/cursorless-engine/src/scopeProviders/getScopeRanges.ts
rename to packages/lib-engine/src/scopeProviders/getScopeRanges.ts
index be37a3ff23..a18f199116 100644
--- a/packages/cursorless-engine/src/scopeProviders/getScopeRanges.ts
+++ b/packages/lib-engine/src/scopeProviders/getScopeRanges.ts
@@ -1,4 +1,4 @@
-import type { Range, ScopeRanges, TextEditor } from "@cursorless/common";
+import type { Range, ScopeRanges, TextEditor } from "@cursorless/lib-common";
import { map } from "itertools";
import type { ScopeHandler } from "../processTargets/modifiers/scopeHandlers/scopeHandler.types";
diff --git a/packages/cursorless-engine/src/scopeProviders/getTargetRanges.ts b/packages/lib-engine/src/scopeProviders/getTargetRanges.ts
similarity index 92%
rename from packages/cursorless-engine/src/scopeProviders/getTargetRanges.ts
rename to packages/lib-engine/src/scopeProviders/getTargetRanges.ts
index 092f79b600..b89e0317c8 100644
--- a/packages/cursorless-engine/src/scopeProviders/getTargetRanges.ts
+++ b/packages/lib-engine/src/scopeProviders/getTargetRanges.ts
@@ -1,4 +1,4 @@
-import type { TargetRanges } from "@cursorless/common";
+import type { TargetRanges } from "@cursorless/lib-common";
import type { Target } from "../typings/target.types";
export function getTargetRanges(target: Target): TargetRanges {
diff --git a/packages/cursorless-engine/src/scopeProviders/scopeTypeToString.ts b/packages/lib-engine/src/scopeProviders/scopeTypeToString.ts
similarity index 86%
rename from packages/cursorless-engine/src/scopeProviders/scopeTypeToString.ts
rename to packages/lib-engine/src/scopeProviders/scopeTypeToString.ts
index 6181b0ca3c..cdc3320c6c 100644
--- a/packages/cursorless-engine/src/scopeProviders/scopeTypeToString.ts
+++ b/packages/lib-engine/src/scopeProviders/scopeTypeToString.ts
@@ -1,5 +1,5 @@
-import type { ScopeType } from "@cursorless/common";
-import { camelCaseToAllDown, isSimpleScopeType } from "@cursorless/common";
+import type { ScopeType } from "@cursorless/lib-common";
+import { camelCaseToAllDown, isSimpleScopeType } from "@cursorless/lib-common";
export function scopeTypeToString(scopeType: ScopeType): string {
if (isSimpleScopeType(scopeType)) {
diff --git a/packages/cursorless-engine/src/scripts/transformRecordedTests/checkMarks.ts b/packages/lib-engine/src/scripts/transformRecordedTests/checkMarks.ts
similarity index 90%
rename from packages/cursorless-engine/src/scripts/transformRecordedTests/checkMarks.ts
rename to packages/lib-engine/src/scripts/transformRecordedTests/checkMarks.ts
index a04594f963..5238aa4f09 100644
--- a/packages/cursorless-engine/src/scripts/transformRecordedTests/checkMarks.ts
+++ b/packages/lib-engine/src/scripts/transformRecordedTests/checkMarks.ts
@@ -1,5 +1,5 @@
-import type { TestCaseFixtureLegacy } from "@cursorless/common";
-import { FakeIDE } from "@cursorless/common";
+import type { TestCaseFixtureLegacy } from "@cursorless/lib-common";
+import { FakeIDE } from "@cursorless/lib-common";
import assert from "assert";
import { uniq } from "lodash-es";
import { extractTargetKeys } from "../../testUtil/extractTargetKeys";
diff --git a/packages/cursorless-engine/src/scripts/transformRecordedTests/index.ts b/packages/lib-engine/src/scripts/transformRecordedTests/index.ts
similarity index 92%
rename from packages/cursorless-engine/src/scripts/transformRecordedTests/index.ts
rename to packages/lib-engine/src/scripts/transformRecordedTests/index.ts
index 2994ecee14..d19fdb2f71 100644
--- a/packages/cursorless-engine/src/scripts/transformRecordedTests/index.ts
+++ b/packages/lib-engine/src/scripts/transformRecordedTests/index.ts
@@ -1,6 +1,9 @@
-import type { CommandVersion, TestCaseFixtureLegacy } from "@cursorless/common";
-import { LATEST_VERSION } from "@cursorless/common";
-import { getRecordedTestPaths } from "@cursorless/node-common";
+import type {
+ CommandVersion,
+ TestCaseFixtureLegacy,
+} from "@cursorless/lib-common";
+import { LATEST_VERSION } from "@cursorless/lib-common";
+import { getRecordedTestPaths } from "@cursorless/lib-node-common";
import { checkMarks } from "./checkMarks";
import { transformFile } from "./transformFile";
import { canonicalize } from "./transformations/canonicalize";
diff --git a/packages/cursorless-engine/src/scripts/transformRecordedTests/moveFile.ts b/packages/lib-engine/src/scripts/transformRecordedTests/moveFile.ts
similarity index 93%
rename from packages/cursorless-engine/src/scripts/transformRecordedTests/moveFile.ts
rename to packages/lib-engine/src/scripts/transformRecordedTests/moveFile.ts
index d54c18aa04..614a2a0a9a 100644
--- a/packages/cursorless-engine/src/scripts/transformRecordedTests/moveFile.ts
+++ b/packages/lib-engine/src/scripts/transformRecordedTests/moveFile.ts
@@ -2,7 +2,7 @@ import { promises as fsp } from "node:fs";
import * as path from "node:path";
import * as yaml from "js-yaml";
import { mkdir, rename } from "node:fs/promises";
-import type { TestCaseFixture } from "@cursorless/common";
+import type { TestCaseFixture } from "@cursorless/lib-common";
/**
* Can be used to organize files into directories based on eg language id
diff --git a/packages/cursorless-engine/src/scripts/transformRecordedTests/transformFile.ts b/packages/lib-engine/src/scripts/transformRecordedTests/transformFile.ts
similarity index 79%
rename from packages/cursorless-engine/src/scripts/transformRecordedTests/transformFile.ts
rename to packages/lib-engine/src/scripts/transformRecordedTests/transformFile.ts
index 56eb23f04d..7d3cbbd196 100644
--- a/packages/cursorless-engine/src/scripts/transformRecordedTests/transformFile.ts
+++ b/packages/lib-engine/src/scripts/transformRecordedTests/transformFile.ts
@@ -1,7 +1,7 @@
import { promises as fsp } from "fs";
import * as yaml from "js-yaml";
-import type { TestCaseFixture } from "@cursorless/common";
-import { serializeTestFixture } from "@cursorless/common";
+import type { TestCaseFixture } from "@cursorless/lib-common";
+import { serializeTestFixture } from "@cursorless/lib-common";
import type { FixtureTransformation } from "./types";
export async function transformFile(
diff --git a/packages/cursorless-engine/src/scripts/transformRecordedTests/transformations/canonicalize.ts b/packages/lib-engine/src/scripts/transformRecordedTests/transformations/canonicalize.ts
similarity index 91%
rename from packages/cursorless-engine/src/scripts/transformRecordedTests/transformations/canonicalize.ts
rename to packages/lib-engine/src/scripts/transformRecordedTests/transformations/canonicalize.ts
index 2f0f4d809d..a5bc189104 100644
--- a/packages/cursorless-engine/src/scripts/transformRecordedTests/transformations/canonicalize.ts
+++ b/packages/lib-engine/src/scripts/transformRecordedTests/transformations/canonicalize.ts
@@ -1,7 +1,7 @@
import type {
TestCaseFixture,
TestCaseFixtureLegacy,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { canonicalizeAndValidateCommand } from "../../../core/commandVersionUpgrades/canonicalizeAndValidateCommand";
export function canonicalize(fixture: TestCaseFixtureLegacy): TestCaseFixture {
diff --git a/packages/cursorless-engine/src/scripts/transformRecordedTests/transformations/identity.ts b/packages/lib-engine/src/scripts/transformRecordedTests/transformations/identity.ts
similarity index 53%
rename from packages/cursorless-engine/src/scripts/transformRecordedTests/transformations/identity.ts
rename to packages/lib-engine/src/scripts/transformRecordedTests/transformations/identity.ts
index ac777c5b23..14ffc7d4cf 100644
--- a/packages/cursorless-engine/src/scripts/transformRecordedTests/transformations/identity.ts
+++ b/packages/lib-engine/src/scripts/transformRecordedTests/transformations/identity.ts
@@ -1,4 +1,4 @@
-import type { TestCaseFixtureLegacy } from "@cursorless/common";
+import type { TestCaseFixtureLegacy } from "@cursorless/lib-common";
export function identity(fixture: TestCaseFixtureLegacy) {
return fixture;
diff --git a/packages/cursorless-engine/src/scripts/transformRecordedTests/transformations/upgrade.ts b/packages/lib-engine/src/scripts/transformRecordedTests/transformations/upgrade.ts
similarity index 69%
rename from packages/cursorless-engine/src/scripts/transformRecordedTests/transformations/upgrade.ts
rename to packages/lib-engine/src/scripts/transformRecordedTests/transformations/upgrade.ts
index 1495cff64d..4487e43f82 100644
--- a/packages/cursorless-engine/src/scripts/transformRecordedTests/transformations/upgrade.ts
+++ b/packages/lib-engine/src/scripts/transformRecordedTests/transformations/upgrade.ts
@@ -1,5 +1,8 @@
-import type { CommandVersion, TestCaseFixtureLegacy } from "@cursorless/common";
-import { LATEST_VERSION } from "@cursorless/common";
+import type {
+ CommandVersion,
+ TestCaseFixtureLegacy,
+} from "@cursorless/lib-common";
+import { LATEST_VERSION } from "@cursorless/lib-common";
import { upgradeCommand } from "../../../core/commandVersionUpgrades/canonicalizeAndValidateCommand";
export function upgrade(
diff --git a/packages/cursorless-engine/src/scripts/transformRecordedTests/transformations/upgradeFromVersion0.ts b/packages/lib-engine/src/scripts/transformRecordedTests/transformations/upgradeFromVersion0.ts
similarity index 96%
rename from packages/cursorless-engine/src/scripts/transformRecordedTests/transformations/upgradeFromVersion0.ts
rename to packages/lib-engine/src/scripts/transformRecordedTests/transformations/upgradeFromVersion0.ts
index 3d1e537994..37c5735010 100644
--- a/packages/cursorless-engine/src/scripts/transformRecordedTests/transformations/upgradeFromVersion0.ts
+++ b/packages/lib-engine/src/scripts/transformRecordedTests/transformations/upgradeFromVersion0.ts
@@ -1,7 +1,7 @@
import type {
PartialPrimitiveTargetDescriptor,
TestCaseFixture,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { transformPartialPrimitiveTargets } from "../../../util/getPrimitiveTargets";
export function upgradeFromVersion0(fixture: TestCaseFixture) {
diff --git a/packages/cursorless-engine/src/scripts/transformRecordedTests/types.ts b/packages/lib-engine/src/scripts/transformRecordedTests/types.ts
similarity index 63%
rename from packages/cursorless-engine/src/scripts/transformRecordedTests/types.ts
rename to packages/lib-engine/src/scripts/transformRecordedTests/types.ts
index a3f35478c9..87e21d122a 100644
--- a/packages/cursorless-engine/src/scripts/transformRecordedTests/types.ts
+++ b/packages/lib-engine/src/scripts/transformRecordedTests/types.ts
@@ -1,4 +1,4 @@
-import type { TestCaseFixtureLegacy } from "@cursorless/common";
+import type { TestCaseFixtureLegacy } from "@cursorless/lib-common";
export type FixtureTransformation = (
originalFixture: TestCaseFixtureLegacy,
diff --git a/packages/cursorless-engine/src/scripts/transformRecordedTests/upgradeDecorations.ts b/packages/lib-engine/src/scripts/transformRecordedTests/upgradeDecorations.ts
similarity index 98%
rename from packages/cursorless-engine/src/scripts/transformRecordedTests/upgradeDecorations.ts
rename to packages/lib-engine/src/scripts/transformRecordedTests/upgradeDecorations.ts
index 6a4cec696e..80aed64c06 100644
--- a/packages/cursorless-engine/src/scripts/transformRecordedTests/upgradeDecorations.ts
+++ b/packages/lib-engine/src/scripts/transformRecordedTests/upgradeDecorations.ts
@@ -3,7 +3,7 @@ import type {
GeneralizedRangePlainObject,
PositionPlainObject,
TestCaseFixtureLegacy,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { groupBy, partition } from "lodash-es";
import type { FixtureTransformation } from "./types";
diff --git a/packages/cursorless-engine/src/snippets/snippetParser.test.ts b/packages/lib-engine/src/snippets/snippetParser.test.ts
similarity index 100%
rename from packages/cursorless-engine/src/snippets/snippetParser.test.ts
rename to packages/lib-engine/src/snippets/snippetParser.test.ts
diff --git a/packages/cursorless-engine/src/snippets/transformSnippetVariables.ts b/packages/lib-engine/src/snippets/transformSnippetVariables.ts
similarity index 100%
rename from packages/cursorless-engine/src/snippets/transformSnippetVariables.ts
rename to packages/lib-engine/src/snippets/transformSnippetVariables.ts
diff --git a/packages/cursorless-engine/src/snippets/vendor/vscodeSnippet/charCode.ts b/packages/lib-engine/src/snippets/vendor/vscodeSnippet/charCode.ts
old mode 100755
new mode 100644
similarity index 100%
rename from packages/cursorless-engine/src/snippets/vendor/vscodeSnippet/charCode.ts
rename to packages/lib-engine/src/snippets/vendor/vscodeSnippet/charCode.ts
diff --git a/packages/cursorless-engine/src/snippets/vendor/vscodeSnippet/snippetParser.ts b/packages/lib-engine/src/snippets/vendor/vscodeSnippet/snippetParser.ts
similarity index 100%
rename from packages/cursorless-engine/src/snippets/vendor/vscodeSnippet/snippetParser.ts
rename to packages/lib-engine/src/snippets/vendor/vscodeSnippet/snippetParser.ts
diff --git a/packages/cursorless-engine/src/snippets/vendor/vscodeSnippet/snippetVariables.ts b/packages/lib-engine/src/snippets/vendor/vscodeSnippet/snippetVariables.ts
similarity index 100%
rename from packages/cursorless-engine/src/snippets/vendor/vscodeSnippet/snippetVariables.ts
rename to packages/lib-engine/src/snippets/vendor/vscodeSnippet/snippetVariables.ts
diff --git a/packages/cursorless-engine/src/spokenForms/CustomSpokenForms.ts b/packages/lib-engine/src/spokenForms/CustomSpokenForms.ts
similarity index 98%
rename from packages/cursorless-engine/src/spokenForms/CustomSpokenForms.ts
rename to packages/lib-engine/src/spokenForms/CustomSpokenForms.ts
index 56d57d0d77..55c96d0763 100644
--- a/packages/cursorless-engine/src/spokenForms/CustomSpokenForms.ts
+++ b/packages/lib-engine/src/spokenForms/CustomSpokenForms.ts
@@ -6,14 +6,14 @@ import type {
SpokenFormMapKeyTypes,
SpokenFormType,
TalonSpokenForms,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import {
DisabledCustomSpokenFormsError,
NeedsInitialTalonUpdateError,
Notifier,
SUPPORTED_ENTRY_TYPES,
showError,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { isEqual } from "lodash-es";
import type { SpokenFormMap, SpokenFormMapEntry } from "./SpokenFormMap";
import {
diff --git a/packages/cursorless-engine/src/spokenForms/SpokenFormMap.ts b/packages/lib-engine/src/spokenForms/SpokenFormMap.ts
similarity index 98%
rename from packages/cursorless-engine/src/spokenForms/SpokenFormMap.ts
rename to packages/lib-engine/src/spokenForms/SpokenFormMap.ts
index 2b4ed02763..9bb8c78ca3 100644
--- a/packages/cursorless-engine/src/spokenForms/SpokenFormMap.ts
+++ b/packages/lib-engine/src/spokenForms/SpokenFormMap.ts
@@ -2,7 +2,7 @@ import type {
SpokenFormType,
PartialSpokenFormTypes,
SpokenFormMapKeyTypes,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
export interface SpokenFormMapEntry {
/**
diff --git a/packages/cursorless-engine/src/spokenForms/defaultSpokenFormMap.ts b/packages/lib-engine/src/spokenForms/defaultSpokenFormMap.ts
similarity index 100%
rename from packages/cursorless-engine/src/spokenForms/defaultSpokenFormMap.ts
rename to packages/lib-engine/src/spokenForms/defaultSpokenFormMap.ts
diff --git a/packages/cursorless-engine/src/spokenForms/defaultSpokenFormMap.types.ts b/packages/lib-engine/src/spokenForms/defaultSpokenFormMap.types.ts
similarity index 92%
rename from packages/cursorless-engine/src/spokenForms/defaultSpokenFormMap.types.ts
rename to packages/lib-engine/src/spokenForms/defaultSpokenFormMap.types.ts
index fe0da2bac5..4672c96571 100644
--- a/packages/cursorless-engine/src/spokenForms/defaultSpokenFormMap.types.ts
+++ b/packages/lib-engine/src/spokenForms/defaultSpokenFormMap.types.ts
@@ -1,5 +1,5 @@
import type { SpokenFormMappingType } from "./SpokenFormMap";
-import type { SpokenFormMapKeyTypes } from "@cursorless/common";
+import type { SpokenFormMapKeyTypes } from "@cursorless/lib-common";
export type DefaultSpokenFormMapDefinition = {
readonly [K in keyof SpokenFormMapKeyTypes]: Readonly<
diff --git a/packages/cursorless-engine/src/spokenForms/defaultSpokenFormMapCore.ts b/packages/lib-engine/src/spokenForms/defaultSpokenFormMapCore.ts
similarity index 100%
rename from packages/cursorless-engine/src/spokenForms/defaultSpokenFormMapCore.ts
rename to packages/lib-engine/src/spokenForms/defaultSpokenFormMapCore.ts
diff --git a/packages/cursorless-engine/src/spokenForms/graphemes.ts b/packages/lib-engine/src/spokenForms/graphemes.ts
similarity index 100%
rename from packages/cursorless-engine/src/spokenForms/graphemes.ts
rename to packages/lib-engine/src/spokenForms/graphemes.ts
diff --git a/packages/cursorless-engine/src/spokenForms/spokenFormMapUtil.ts b/packages/lib-engine/src/spokenForms/spokenFormMapUtil.ts
similarity index 100%
rename from packages/cursorless-engine/src/spokenForms/spokenFormMapUtil.ts
rename to packages/lib-engine/src/spokenForms/spokenFormMapUtil.ts
diff --git a/packages/cursorless-engine/src/test/fixtures/communitySnippets.fixture.ts b/packages/lib-engine/src/test/fixtures/communitySnippets.fixture.ts
similarity index 94%
rename from packages/cursorless-engine/src/test/fixtures/communitySnippets.fixture.ts
rename to packages/lib-engine/src/test/fixtures/communitySnippets.fixture.ts
index e1995c1106..9e00d55945 100644
--- a/packages/cursorless-engine/src/test/fixtures/communitySnippets.fixture.ts
+++ b/packages/lib-engine/src/test/fixtures/communitySnippets.fixture.ts
@@ -1,4 +1,4 @@
-import type { ActionDescriptor } from "@cursorless/common";
+import type { ActionDescriptor } from "@cursorless/lib-common";
import { spokenFormTest } from "./spokenFormTest";
const snippetAfterAction: ActionDescriptor = {
diff --git a/packages/cursorless-engine/src/test/fixtures/multiAction.fixture.ts b/packages/lib-engine/src/test/fixtures/multiAction.fixture.ts
similarity index 94%
rename from packages/cursorless-engine/src/test/fixtures/multiAction.fixture.ts
rename to packages/lib-engine/src/test/fixtures/multiAction.fixture.ts
index fb6471214f..ae01b29210 100644
--- a/packages/cursorless-engine/src/test/fixtures/multiAction.fixture.ts
+++ b/packages/lib-engine/src/test/fixtures/multiAction.fixture.ts
@@ -1,4 +1,4 @@
-import type { ActionDescriptor } from "@cursorless/common";
+import type { ActionDescriptor } from "@cursorless/lib-common";
import { multiActionSpokenFormTest } from "./spokenFormTest";
const getTextAction: ActionDescriptor = {
diff --git a/packages/cursorless-engine/src/test/fixtures/sentenceSegmeter.fixture.ts b/packages/lib-engine/src/test/fixtures/sentenceSegmeter.fixture.ts
similarity index 100%
rename from packages/cursorless-engine/src/test/fixtures/sentenceSegmeter.fixture.ts
rename to packages/lib-engine/src/test/fixtures/sentenceSegmeter.fixture.ts
diff --git a/packages/cursorless-engine/src/test/fixtures/spokenFormTest.ts b/packages/lib-engine/src/test/fixtures/spokenFormTest.ts
similarity index 97%
rename from packages/cursorless-engine/src/test/fixtures/spokenFormTest.ts
rename to packages/lib-engine/src/test/fixtures/spokenFormTest.ts
index d66ae96eb3..84626dbd76 100644
--- a/packages/cursorless-engine/src/test/fixtures/spokenFormTest.ts
+++ b/packages/lib-engine/src/test/fixtures/spokenFormTest.ts
@@ -3,7 +3,7 @@ import {
type ActionDescriptor,
type CommandLatest,
type CommandResponse,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
export interface SpokenFormTest {
/**
diff --git a/packages/cursorless-engine/src/test/fixtures/subtoken.fixture.ts b/packages/lib-engine/src/test/fixtures/subtoken.fixture.ts
similarity index 100%
rename from packages/cursorless-engine/src/test/fixtures/subtoken.fixture.ts
rename to packages/lib-engine/src/test/fixtures/subtoken.fixture.ts
diff --git a/packages/cursorless-engine/src/test/fixtures/synonymousSpokenForms.fixture.ts b/packages/lib-engine/src/test/fixtures/synonymousSpokenForms.fixture.ts
similarity index 95%
rename from packages/cursorless-engine/src/test/fixtures/synonymousSpokenForms.fixture.ts
rename to packages/lib-engine/src/test/fixtures/synonymousSpokenForms.fixture.ts
index 130efaed8a..7594da5cd8 100644
--- a/packages/cursorless-engine/src/test/fixtures/synonymousSpokenForms.fixture.ts
+++ b/packages/lib-engine/src/test/fixtures/synonymousSpokenForms.fixture.ts
@@ -1,4 +1,4 @@
-import type { ActionDescriptor } from "@cursorless/common";
+import type { ActionDescriptor } from "@cursorless/lib-common";
import { spokenFormTest } from "./spokenFormTest";
const verticalRangeAction: ActionDescriptor = {
diff --git a/packages/cursorless-engine/src/test/fixtures/talonApi.fixture.ts b/packages/lib-engine/src/test/fixtures/talonApi.fixture.ts
similarity index 99%
rename from packages/cursorless-engine/src/test/fixtures/talonApi.fixture.ts
rename to packages/lib-engine/src/test/fixtures/talonApi.fixture.ts
index 640eb90e85..1623b96623 100644
--- a/packages/cursorless-engine/src/test/fixtures/talonApi.fixture.ts
+++ b/packages/lib-engine/src/test/fixtures/talonApi.fixture.ts
@@ -2,7 +2,7 @@ import type {
ActionDescriptor,
GetTextActionOptions,
PartialPrimitiveTargetDescriptor,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { spokenFormTest } from "./spokenFormTest";
// See cursorless-talon-dev/src/cursorless_test.talon
diff --git a/packages/cursorless-engine/src/test/scopes.test.ts b/packages/lib-engine/src/test/scopes.test.ts
similarity index 97%
rename from packages/cursorless-engine/src/test/scopes.test.ts
rename to packages/lib-engine/src/test/scopes.test.ts
index b6dbc72eaa..ca5bf04e57 100644
--- a/packages/cursorless-engine/src/test/scopes.test.ts
+++ b/packages/lib-engine/src/test/scopes.test.ts
@@ -3,7 +3,7 @@ import type {
ScopeRangeConfig,
ScopeSupportFacet,
ScopeType,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import {
asyncSafety,
languageScopeSupport,
@@ -11,8 +11,8 @@ import {
scopeSupportFacetInfos,
ScopeSupportFacetLevel,
shouldUpdateFixtures,
-} from "@cursorless/common";
-import { getScopeTestPathsRecursively } from "@cursorless/node-common";
+} from "@cursorless/lib-common";
+import { getScopeTestPathsRecursively } from "@cursorless/lib-node-common";
import { assert } from "chai";
import { groupBy, uniq } from "lodash-es";
import { promises as fsp } from "node:fs";
diff --git a/packages/cursorless-engine/src/test/sentenceSegmenter.test.ts b/packages/lib-engine/src/test/sentenceSegmenter.test.ts
similarity index 100%
rename from packages/cursorless-engine/src/test/sentenceSegmenter.test.ts
rename to packages/lib-engine/src/test/sentenceSegmenter.test.ts
diff --git a/packages/cursorless-engine/src/test/spokenForms.talon.test.ts b/packages/lib-engine/src/test/spokenForms.talon.test.ts
similarity index 96%
rename from packages/cursorless-engine/src/test/spokenForms.talon.test.ts
rename to packages/lib-engine/src/test/spokenForms.talon.test.ts
index 23b2829832..e7cc5178b4 100644
--- a/packages/cursorless-engine/src/test/spokenForms.talon.test.ts
+++ b/packages/lib-engine/src/test/spokenForms.talon.test.ts
@@ -2,9 +2,9 @@ import type {
Command,
CommandLatest,
TestCaseFixtureLegacy,
-} from "@cursorless/common";
-import { asyncSafety } from "@cursorless/common";
-import { getRecordedTestPaths } from "@cursorless/node-common";
+} from "@cursorless/lib-common";
+import { asyncSafety } from "@cursorless/lib-common";
+import { getRecordedTestPaths } from "@cursorless/lib-node-common";
import assert from "assert";
import * as yaml from "js-yaml";
import { promises as fsp } from "node:fs";
diff --git a/packages/cursorless-engine/src/test/subtoken.test.ts b/packages/lib-engine/src/test/subtoken.test.ts
similarity index 91%
rename from packages/cursorless-engine/src/test/subtoken.test.ts
rename to packages/lib-engine/src/test/subtoken.test.ts
index 8cf7035bca..c60a19aa78 100644
--- a/packages/cursorless-engine/src/test/subtoken.test.ts
+++ b/packages/lib-engine/src/test/subtoken.test.ts
@@ -1,4 +1,4 @@
-import { FakeIDE } from "@cursorless/common";
+import { FakeIDE } from "@cursorless/lib-common";
import * as assert from "assert";
import { WordTokenizer } from "../processTargets/modifiers/scopeHandlers/WordScopeHandler/WordTokenizer";
import { subtokenFixture } from "./fixtures/subtoken.fixture";
diff --git a/packages/cursorless-engine/src/testUtil/Performance.ts b/packages/lib-engine/src/testUtil/Performance.ts
similarity index 100%
rename from packages/cursorless-engine/src/testUtil/Performance.ts
rename to packages/lib-engine/src/testUtil/Performance.ts
diff --git a/packages/cursorless-engine/src/testUtil/TalonRepl.ts b/packages/lib-engine/src/testUtil/TalonRepl.ts
similarity index 97%
rename from packages/cursorless-engine/src/testUtil/TalonRepl.ts
rename to packages/lib-engine/src/testUtil/TalonRepl.ts
index 2a1e69e111..670dd17b7a 100644
--- a/packages/cursorless-engine/src/testUtil/TalonRepl.ts
+++ b/packages/lib-engine/src/testUtil/TalonRepl.ts
@@ -1,4 +1,4 @@
-import { isWindows } from "@cursorless/node-common";
+import { isWindows } from "@cursorless/lib-node-common";
import * as childProcess from "node:child_process";
import * as os from "node:os";
diff --git a/packages/cursorless-engine/src/testUtil/TestFileSystem.ts b/packages/lib-engine/src/testUtil/TestFileSystem.ts
similarity index 91%
rename from packages/cursorless-engine/src/testUtil/TestFileSystem.ts
rename to packages/lib-engine/src/testUtil/TestFileSystem.ts
index bd26e44940..caf4ecf45b 100644
--- a/packages/cursorless-engine/src/testUtil/TestFileSystem.ts
+++ b/packages/lib-engine/src/testUtil/TestFileSystem.ts
@@ -3,8 +3,8 @@ import type {
FileSystem,
PathChangeListener,
RunMode,
-} from "@cursorless/common";
-import { getCursorlessRepoRoot } from "@cursorless/node-common";
+} from "@cursorless/lib-common";
+import { getCursorlessRepoRoot } from "@cursorless/lib-node-common";
import { join } from "node:path";
import fs from "node:fs/promises";
diff --git a/packages/cursorless-engine/src/testUtil/TestTextEditor.ts b/packages/lib-engine/src/testUtil/TestTextEditor.ts
similarity index 99%
rename from packages/cursorless-engine/src/testUtil/TestTextEditor.ts
rename to packages/lib-engine/src/testUtil/TestTextEditor.ts
index 5fe91765c6..ff9a96d69e 100644
--- a/packages/cursorless-engine/src/testUtil/TestTextEditor.ts
+++ b/packages/lib-engine/src/testUtil/TestTextEditor.ts
@@ -10,7 +10,7 @@ import type {
SetSelectionsOpts,
TextEditor,
TextEditorOptions,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
export class TestTextEditor implements EditableTextEditor {
options: TextEditorOptions = {
diff --git a/packages/cursorless-engine/src/testUtil/TestTreeSitter.ts b/packages/lib-engine/src/testUtil/TestTreeSitter.ts
similarity index 98%
rename from packages/cursorless-engine/src/testUtil/TestTreeSitter.ts
rename to packages/lib-engine/src/testUtil/TestTreeSitter.ts
index bc810ecb55..3aacb04b0d 100644
--- a/packages/cursorless-engine/src/testUtil/TestTreeSitter.ts
+++ b/packages/lib-engine/src/testUtil/TestTreeSitter.ts
@@ -1,4 +1,4 @@
-import type { TextDocument, TreeSitter } from "@cursorless/common";
+import type { TextDocument, TreeSitter } from "@cursorless/lib-common";
import { createRequire } from "node:module";
import * as path from "node:path";
import type {
diff --git a/packages/cursorless-engine/src/testUtil/createTestEnvironment.ts b/packages/lib-engine/src/testUtil/createTestEnvironment.ts
similarity index 93%
rename from packages/cursorless-engine/src/testUtil/createTestEnvironment.ts
rename to packages/lib-engine/src/testUtil/createTestEnvironment.ts
index f43cc2934f..dd11f801ba 100644
--- a/packages/cursorless-engine/src/testUtil/createTestEnvironment.ts
+++ b/packages/lib-engine/src/testUtil/createTestEnvironment.ts
@@ -4,9 +4,9 @@ import type {
Messages,
MessageType,
ScopeProvider,
-} from "@cursorless/common";
-import { FakeIDE, InMemoryTextEditor } from "@cursorless/common";
-import { FileSystemRawTreeSitterQueryProvider } from "@cursorless/node-common";
+} from "@cursorless/lib-common";
+import { FakeIDE, InMemoryTextEditor } from "@cursorless/lib-common";
+import { FileSystemRawTreeSitterQueryProvider } from "@cursorless/lib-node-common";
import { createCursorlessEngine } from "..";
import { TestFileSystem } from "./TestFileSystem";
import { TestTreeSitter } from "./TestTreeSitter";
diff --git a/packages/cursorless-engine/src/testUtil/extractTargetKeys.ts b/packages/lib-engine/src/testUtil/extractTargetKeys.ts
similarity index 93%
rename from packages/cursorless-engine/src/testUtil/extractTargetKeys.ts
rename to packages/lib-engine/src/testUtil/extractTargetKeys.ts
index a4fca71c47..fd418094ad 100644
--- a/packages/cursorless-engine/src/testUtil/extractTargetKeys.ts
+++ b/packages/lib-engine/src/testUtil/extractTargetKeys.ts
@@ -2,8 +2,8 @@ import type {
PartialMark,
PartialPrimitiveTargetDescriptor,
PartialTargetDescriptor,
-} from "@cursorless/common";
-import { getKey } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { getKey } from "@cursorless/lib-common";
import type {
Mark,
PrimitiveTargetDescriptor,
diff --git a/packages/cursorless-engine/src/testUtil/plainObjectToTarget.ts b/packages/lib-engine/src/testUtil/plainObjectToTarget.ts
similarity index 95%
rename from packages/cursorless-engine/src/testUtil/plainObjectToTarget.ts
rename to packages/lib-engine/src/testUtil/plainObjectToTarget.ts
index 7cc5ae3165..d94cf40847 100644
--- a/packages/cursorless-engine/src/testUtil/plainObjectToTarget.ts
+++ b/packages/lib-engine/src/testUtil/plainObjectToTarget.ts
@@ -1,5 +1,5 @@
-import type { TargetPlainObject, TextEditor } from "@cursorless/common";
-import { plainObjectToRange } from "@cursorless/common";
+import type { TargetPlainObject, TextEditor } from "@cursorless/lib-common";
+import { plainObjectToRange } from "@cursorless/lib-common";
import { LineTarget, UntypedTarget } from "../processTargets/targets";
import type { Target } from "../typings/target.types";
diff --git a/packages/cursorless-engine/src/testUtil/serializeHeader.ts b/packages/lib-engine/src/testUtil/serializeHeader.ts
similarity index 96%
rename from packages/cursorless-engine/src/testUtil/serializeHeader.ts
rename to packages/lib-engine/src/testUtil/serializeHeader.ts
index 64065c3417..0d69a5e2a1 100644
--- a/packages/cursorless-engine/src/testUtil/serializeHeader.ts
+++ b/packages/lib-engine/src/testUtil/serializeHeader.ts
@@ -1,4 +1,4 @@
-import type { Range } from "@cursorless/common";
+import type { Range } from "@cursorless/lib-common";
interface SerializeHeaderArg {
prefix?: string;
diff --git a/packages/cursorless-engine/src/testUtil/serializeScopeFixture.ts b/packages/lib-engine/src/testUtil/serializeScopeFixture.ts
similarity index 99%
rename from packages/cursorless-engine/src/testUtil/serializeScopeFixture.ts
rename to packages/lib-engine/src/testUtil/serializeScopeFixture.ts
index 86b9a7b83d..1fd7e67347 100644
--- a/packages/cursorless-engine/src/testUtil/serializeScopeFixture.ts
+++ b/packages/lib-engine/src/testUtil/serializeScopeFixture.ts
@@ -3,7 +3,7 @@ import type {
Range,
ScopeRanges,
TargetRanges,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { serializeHeader } from "./serializeHeader";
import { serializeTargetRange } from "./serializeTargetRange";
diff --git a/packages/cursorless-engine/src/testUtil/serializeTargetRange.ts b/packages/lib-engine/src/testUtil/serializeTargetRange.ts
similarity index 97%
rename from packages/cursorless-engine/src/testUtil/serializeTargetRange.ts
rename to packages/lib-engine/src/testUtil/serializeTargetRange.ts
index c80b45242f..b3298eaf3a 100644
--- a/packages/cursorless-engine/src/testUtil/serializeTargetRange.ts
+++ b/packages/lib-engine/src/testUtil/serializeTargetRange.ts
@@ -1,4 +1,4 @@
-import type { Range } from "@cursorless/common";
+import type { Range } from "@cursorless/lib-common";
/**
* Given the code of a fixture and a range, return a string that annotates the
diff --git a/packages/cursorless-engine/src/tokenGraphemeSplitter/index.ts b/packages/lib-engine/src/tokenGraphemeSplitter/index.ts
similarity index 100%
rename from packages/cursorless-engine/src/tokenGraphemeSplitter/index.ts
rename to packages/lib-engine/src/tokenGraphemeSplitter/index.ts
diff --git a/packages/cursorless-engine/src/tokenGraphemeSplitter/tokenGraphemeSplitter.test.ts b/packages/lib-engine/src/tokenGraphemeSplitter/tokenGraphemeSplitter.test.ts
similarity index 98%
rename from packages/cursorless-engine/src/tokenGraphemeSplitter/tokenGraphemeSplitter.test.ts
rename to packages/lib-engine/src/tokenGraphemeSplitter/tokenGraphemeSplitter.test.ts
index f8cee2de30..88ce925e4a 100644
--- a/packages/cursorless-engine/src/tokenGraphemeSplitter/tokenGraphemeSplitter.test.ts
+++ b/packages/lib-engine/src/tokenGraphemeSplitter/tokenGraphemeSplitter.test.ts
@@ -1,5 +1,5 @@
-import type { TokenHatSplittingMode } from "@cursorless/common";
-import { FakeIDE } from "@cursorless/common";
+import type { TokenHatSplittingMode } from "@cursorless/lib-common";
+import { FakeIDE } from "@cursorless/lib-common";
import * as assert from "assert";
import { TokenGraphemeSplitter, UNKNOWN } from "./tokenGraphemeSplitter";
diff --git a/packages/cursorless-engine/src/tokenGraphemeSplitter/tokenGraphemeSplitter.ts b/packages/lib-engine/src/tokenGraphemeSplitter/tokenGraphemeSplitter.ts
similarity index 98%
rename from packages/cursorless-engine/src/tokenGraphemeSplitter/tokenGraphemeSplitter.ts
rename to packages/lib-engine/src/tokenGraphemeSplitter/tokenGraphemeSplitter.ts
index 9f92a52e49..bf0711bd8a 100644
--- a/packages/cursorless-engine/src/tokenGraphemeSplitter/tokenGraphemeSplitter.ts
+++ b/packages/lib-engine/src/tokenGraphemeSplitter/tokenGraphemeSplitter.ts
@@ -2,8 +2,8 @@ import type {
Disposable,
IDE,
TokenHatSplittingMode,
-} from "@cursorless/common";
-import { Notifier, matchAll } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { Notifier, matchAll } from "@cursorless/lib-common";
import { deburr, escapeRegExp } from "lodash-es";
/**
diff --git a/packages/cursorless-engine/src/tokenizer/index.ts b/packages/lib-engine/src/tokenizer/index.ts
similarity index 100%
rename from packages/cursorless-engine/src/tokenizer/index.ts
rename to packages/lib-engine/src/tokenizer/index.ts
diff --git a/packages/cursorless-engine/src/tokenizer/tokenizer.test.ts b/packages/lib-engine/src/tokenizer/tokenizer.test.ts
similarity index 99%
rename from packages/cursorless-engine/src/tokenizer/tokenizer.test.ts
rename to packages/lib-engine/src/tokenizer/tokenizer.test.ts
index 2dd07022b5..54c6914400 100644
--- a/packages/cursorless-engine/src/tokenizer/tokenizer.test.ts
+++ b/packages/lib-engine/src/tokenizer/tokenizer.test.ts
@@ -1,7 +1,7 @@
import * as assert from "assert";
import { flatten, range } from "lodash-es";
import { tokenize } from ".";
-import { FakeIDE } from "@cursorless/common";
+import { FakeIDE } from "@cursorless/lib-common";
type TestCase = [string, string[]];
/**
diff --git a/packages/cursorless-engine/src/tokenizer/tokenizer.ts b/packages/lib-engine/src/tokenizer/tokenizer.ts
similarity index 98%
rename from packages/cursorless-engine/src/tokenizer/tokenizer.ts
rename to packages/lib-engine/src/tokenizer/tokenizer.ts
index 6800f27b46..f4b5ff44ff 100644
--- a/packages/cursorless-engine/src/tokenizer/tokenizer.ts
+++ b/packages/lib-engine/src/tokenizer/tokenizer.ts
@@ -1,4 +1,4 @@
-import { matchAll, type IDE } from "@cursorless/common";
+import { matchAll, type IDE } from "@cursorless/lib-common";
import { escapeRegExp } from "lodash-es";
import type { LanguageTokenizerComponents } from "./tokenizer.types";
diff --git a/packages/cursorless-engine/src/tokenizer/tokenizer.types.ts b/packages/lib-engine/src/tokenizer/tokenizer.types.ts
similarity index 100%
rename from packages/cursorless-engine/src/tokenizer/tokenizer.types.ts
rename to packages/lib-engine/src/tokenizer/tokenizer.types.ts
diff --git a/packages/cursorless-engine/src/typings/TargetDescriptor.ts b/packages/lib-engine/src/typings/TargetDescriptor.ts
similarity index 98%
rename from packages/cursorless-engine/src/typings/TargetDescriptor.ts
rename to packages/lib-engine/src/typings/TargetDescriptor.ts
index fb2728cea9..8f02c4f08d 100644
--- a/packages/cursorless-engine/src/typings/TargetDescriptor.ts
+++ b/packages/lib-engine/src/typings/TargetDescriptor.ts
@@ -7,7 +7,7 @@ import type {
PartialTargetMark,
RangeMarkFor,
ScopeType,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
export type Mark =
| Exclude
diff --git a/packages/cursorless-engine/src/typings/Types.ts b/packages/lib-engine/src/typings/Types.ts
similarity index 95%
rename from packages/cursorless-engine/src/typings/Types.ts
rename to packages/lib-engine/src/typings/Types.ts
index 778862b91c..010ecc3b67 100644
--- a/packages/cursorless-engine/src/typings/Types.ts
+++ b/packages/lib-engine/src/typings/Types.ts
@@ -1,4 +1,9 @@
-import type { Edit, Range, Selection, TextEditor } from "@cursorless/common";
+import type {
+ Edit,
+ Range,
+ Selection,
+ TextEditor,
+} from "@cursorless/lib-common";
import type { Node } from "web-tree-sitter";
export interface SelectionWithEditor {
diff --git a/packages/cursorless-engine/src/typings/target.types.ts b/packages/lib-engine/src/typings/target.types.ts
similarity index 99%
rename from packages/cursorless-engine/src/typings/target.types.ts
rename to packages/lib-engine/src/typings/target.types.ts
index ffdceb4b0e..7e2c776bd4 100644
--- a/packages/cursorless-engine/src/typings/target.types.ts
+++ b/packages/lib-engine/src/typings/target.types.ts
@@ -16,7 +16,7 @@ import type {
CustomWrapWithSnippetArg,
TargetPlainObject,
TextEditor,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type {
// eslint-disable-next-line @typescript-eslint/no-unused-vars
ScopeTypeTarget,
diff --git a/packages/cursorless-engine/src/typings/updateSelections.ts b/packages/lib-engine/src/typings/updateSelections.ts
similarity index 97%
rename from packages/cursorless-engine/src/typings/updateSelections.ts
rename to packages/lib-engine/src/typings/updateSelections.ts
index c1597ed5f9..54f4ebd4a2 100644
--- a/packages/cursorless-engine/src/typings/updateSelections.ts
+++ b/packages/lib-engine/src/typings/updateSelections.ts
@@ -3,7 +3,7 @@ import type {
RangeOffsets,
TextDocumentChangeEvent,
TextDocumentContentChangeEvent,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
type SingleEdgeExpansionBehavior =
| SimpleExpansionBehavior
diff --git a/packages/cursorless-engine/src/util/DecorationDebouncer.ts b/packages/lib-engine/src/util/DecorationDebouncer.ts
similarity index 77%
rename from packages/cursorless-engine/src/util/DecorationDebouncer.ts
rename to packages/lib-engine/src/util/DecorationDebouncer.ts
index cb4ab8ef81..df174e9405 100644
--- a/packages/cursorless-engine/src/util/DecorationDebouncer.ts
+++ b/packages/lib-engine/src/util/DecorationDebouncer.ts
@@ -1,5 +1,5 @@
-import type { Configuration } from "@cursorless/common";
-import { Debouncer } from "@cursorless/common";
+import type { Configuration } from "@cursorless/lib-common";
+import { Debouncer } from "@cursorless/lib-common";
export class DecorationDebouncer {
private debouncer: Debouncer;
diff --git a/packages/cursorless-engine/src/util/allocateHats/HatMetrics.ts b/packages/lib-engine/src/util/allocateHats/HatMetrics.ts
similarity index 96%
rename from packages/cursorless-engine/src/util/allocateHats/HatMetrics.ts
rename to packages/lib-engine/src/util/allocateHats/HatMetrics.ts
index e43851fd69..c17f7c19b6 100644
--- a/packages/cursorless-engine/src/util/allocateHats/HatMetrics.ts
+++ b/packages/lib-engine/src/util/allocateHats/HatMetrics.ts
@@ -1,5 +1,5 @@
-import type { CompositeKeyMap, TokenHat } from "@cursorless/common";
-import { HatStability } from "@cursorless/common";
+import type { CompositeKeyMap, TokenHat } from "@cursorless/lib-common";
+import { HatStability } from "@cursorless/lib-common";
import { memoize, min } from "lodash-es";
import type { HatCandidate } from "./allocateHats";
diff --git a/packages/cursorless-engine/src/util/allocateHats/allocateHats.ts b/packages/lib-engine/src/util/allocateHats/allocateHats.ts
similarity index 99%
rename from packages/cursorless-engine/src/util/allocateHats/allocateHats.ts
rename to packages/lib-engine/src/util/allocateHats/allocateHats.ts
index 364b913c29..5aea0dcf50 100644
--- a/packages/cursorless-engine/src/util/allocateHats/allocateHats.ts
+++ b/packages/lib-engine/src/util/allocateHats/allocateHats.ts
@@ -6,8 +6,8 @@ import type {
TextEditor,
Token,
TokenHat,
-} from "@cursorless/common";
-import { CompositeKeyMap, DefaultMap, Range } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { CompositeKeyMap, DefaultMap, Range } from "@cursorless/lib-common";
import { WordTokenizer } from "../../processTargets/modifiers/scopeHandlers/WordScopeHandler/WordTokenizer";
import type {
Grapheme,
diff --git a/packages/cursorless-engine/src/util/allocateHats/chooseTokenHat.ts b/packages/lib-engine/src/util/allocateHats/chooseTokenHat.ts
similarity index 97%
rename from packages/cursorless-engine/src/util/allocateHats/chooseTokenHat.ts
rename to packages/lib-engine/src/util/allocateHats/chooseTokenHat.ts
index e2a9c32131..222af605d6 100644
--- a/packages/cursorless-engine/src/util/allocateHats/chooseTokenHat.ts
+++ b/packages/lib-engine/src/util/allocateHats/chooseTokenHat.ts
@@ -1,4 +1,4 @@
-import type { HatStability, TokenHat } from "@cursorless/common";
+import type { HatStability, TokenHat } from "@cursorless/lib-common";
import type { HatCandidate } from "./allocateHats";
import type { RankingContext } from "./getHatRankingContext";
import {
diff --git a/packages/cursorless-engine/src/util/allocateHats/getDisplayLineMap.ts b/packages/lib-engine/src/util/allocateHats/getDisplayLineMap.ts
similarity index 91%
rename from packages/cursorless-engine/src/util/allocateHats/getDisplayLineMap.ts
rename to packages/lib-engine/src/util/allocateHats/getDisplayLineMap.ts
index bf55100370..f8678374db 100644
--- a/packages/cursorless-engine/src/util/allocateHats/getDisplayLineMap.ts
+++ b/packages/lib-engine/src/util/allocateHats/getDisplayLineMap.ts
@@ -1,4 +1,4 @@
-import type { TextEditor } from "@cursorless/common";
+import type { TextEditor } from "@cursorless/lib-common";
import { range, uniq } from "lodash-es";
/**
diff --git a/packages/cursorless-engine/src/util/allocateHats/getHatRankingContext.ts b/packages/lib-engine/src/util/allocateHats/getHatRankingContext.ts
similarity index 96%
rename from packages/cursorless-engine/src/util/allocateHats/getHatRankingContext.ts
rename to packages/lib-engine/src/util/allocateHats/getHatRankingContext.ts
index 2e9f9b5308..40884ece70 100644
--- a/packages/cursorless-engine/src/util/allocateHats/getHatRankingContext.ts
+++ b/packages/lib-engine/src/util/allocateHats/getHatRankingContext.ts
@@ -1,5 +1,5 @@
-import type { HatStyleName, Token, TokenHat } from "@cursorless/common";
-import { CompositeKeyMap } from "@cursorless/common";
+import type { HatStyleName, Token, TokenHat } from "@cursorless/lib-common";
+import { CompositeKeyMap } from "@cursorless/lib-common";
import type { TokenGraphemeSplitter } from "../../tokenGraphemeSplitter";
import type { RankedToken } from "./getRankedTokens";
diff --git a/packages/cursorless-engine/src/util/allocateHats/getRankedTokens.ts b/packages/lib-engine/src/util/allocateHats/getRankedTokens.ts
similarity index 98%
rename from packages/cursorless-engine/src/util/allocateHats/getRankedTokens.ts
rename to packages/lib-engine/src/util/allocateHats/getRankedTokens.ts
index ff59ef5a5c..ba06f8ec5c 100644
--- a/packages/cursorless-engine/src/util/allocateHats/getRankedTokens.ts
+++ b/packages/lib-engine/src/util/allocateHats/getRankedTokens.ts
@@ -4,7 +4,7 @@ import type {
TextEditor,
Token,
TokenHat,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { flatten } from "lodash-es";
import { getDisplayLineMap } from "./getDisplayLineMap";
import { getTokenComparator } from "./getTokenComparator";
diff --git a/packages/cursorless-engine/src/util/allocateHats/getTokenComparator.ts b/packages/lib-engine/src/util/allocateHats/getTokenComparator.ts
similarity index 95%
rename from packages/cursorless-engine/src/util/allocateHats/getTokenComparator.ts
rename to packages/lib-engine/src/util/allocateHats/getTokenComparator.ts
index 0ffe1be63c..5ebd4736a5 100644
--- a/packages/cursorless-engine/src/util/allocateHats/getTokenComparator.ts
+++ b/packages/lib-engine/src/util/allocateHats/getTokenComparator.ts
@@ -1,4 +1,4 @@
-import type { Token } from "@cursorless/common";
+import type { Token } from "@cursorless/lib-common";
interface TokenWithDisplayLine extends Token {
displayLine: number;
diff --git a/packages/cursorless-engine/src/util/allocateHats/getTokensInRange.ts b/packages/lib-engine/src/util/allocateHats/getTokensInRange.ts
similarity index 86%
rename from packages/cursorless-engine/src/util/allocateHats/getTokensInRange.ts
rename to packages/lib-engine/src/util/allocateHats/getTokensInRange.ts
index cb7fbba729..49b324708b 100644
--- a/packages/cursorless-engine/src/util/allocateHats/getTokensInRange.ts
+++ b/packages/lib-engine/src/util/allocateHats/getTokensInRange.ts
@@ -1,5 +1,5 @@
-import type { IDE, TextEditor, Token } from "@cursorless/common";
-import { Range } from "@cursorless/common";
+import type { IDE, TextEditor, Token } from "@cursorless/lib-common";
+import { Range } from "@cursorless/lib-common";
import { tokenize } from "../../tokenizer";
export function getTokensInRange(
diff --git a/packages/cursorless-engine/src/util/allocateHats/index.ts b/packages/lib-engine/src/util/allocateHats/index.ts
similarity index 100%
rename from packages/cursorless-engine/src/util/allocateHats/index.ts
rename to packages/lib-engine/src/util/allocateHats/index.ts
diff --git a/packages/cursorless-engine/src/util/allocateHats/maxByFirstDiffering.test.ts b/packages/lib-engine/src/util/allocateHats/maxByFirstDiffering.test.ts
similarity index 100%
rename from packages/cursorless-engine/src/util/allocateHats/maxByFirstDiffering.test.ts
rename to packages/lib-engine/src/util/allocateHats/maxByFirstDiffering.test.ts
diff --git a/packages/cursorless-engine/src/util/allocateHats/maxByFirstDiffering.ts b/packages/lib-engine/src/util/allocateHats/maxByFirstDiffering.ts
similarity index 100%
rename from packages/cursorless-engine/src/util/allocateHats/maxByFirstDiffering.ts
rename to packages/lib-engine/src/util/allocateHats/maxByFirstDiffering.ts
diff --git a/packages/cursorless-engine/src/util/getMatchesInRange.ts b/packages/lib-engine/src/util/getMatchesInRange.ts
similarity index 91%
rename from packages/cursorless-engine/src/util/getMatchesInRange.ts
rename to packages/lib-engine/src/util/getMatchesInRange.ts
index 7a2a41e09e..1428908e4e 100644
--- a/packages/cursorless-engine/src/util/getMatchesInRange.ts
+++ b/packages/lib-engine/src/util/getMatchesInRange.ts
@@ -1,5 +1,5 @@
-import type { Direction, TextEditor } from "@cursorless/common";
-import { matchAll, Range } from "@cursorless/common";
+import type { Direction, TextEditor } from "@cursorless/lib-common";
+import { matchAll, Range } from "@cursorless/lib-common";
import { imap } from "itertools";
export function getMatchesInRange(
diff --git a/packages/cursorless-engine/src/util/getPartialTargetDescriptors.ts b/packages/lib-engine/src/util/getPartialTargetDescriptors.ts
similarity index 97%
rename from packages/cursorless-engine/src/util/getPartialTargetDescriptors.ts
rename to packages/lib-engine/src/util/getPartialTargetDescriptors.ts
index ca9aa87ae8..8fe16f9467 100644
--- a/packages/cursorless-engine/src/util/getPartialTargetDescriptors.ts
+++ b/packages/lib-engine/src/util/getPartialTargetDescriptors.ts
@@ -2,7 +2,7 @@ import type {
ActionDescriptor,
DestinationDescriptor,
PartialTargetDescriptor,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { parseAndFillOutAction } from "../customCommandGrammar/parseAndFillOutAction";
export function getPartialTargetDescriptors(
diff --git a/packages/cursorless-engine/src/util/getPrimitiveTargets.ts b/packages/lib-engine/src/util/getPrimitiveTargets.ts
similarity index 98%
rename from packages/cursorless-engine/src/util/getPrimitiveTargets.ts
rename to packages/lib-engine/src/util/getPrimitiveTargets.ts
index 61ff3ff1f1..dbc341215f 100644
--- a/packages/cursorless-engine/src/util/getPrimitiveTargets.ts
+++ b/packages/lib-engine/src/util/getPrimitiveTargets.ts
@@ -3,7 +3,7 @@ import type {
PartialPrimitiveTargetDescriptor,
PartialRangeTargetDescriptor,
PartialTargetDescriptor,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
/**
* Given a list of targets, recursively descends all targets and returns every
diff --git a/packages/cursorless-engine/src/util/getScopeType.ts b/packages/lib-engine/src/util/getScopeType.ts
similarity index 91%
rename from packages/cursorless-engine/src/util/getScopeType.ts
rename to packages/lib-engine/src/util/getScopeType.ts
index 1d6ad3b7cb..604037d89e 100644
--- a/packages/cursorless-engine/src/util/getScopeType.ts
+++ b/packages/lib-engine/src/util/getScopeType.ts
@@ -1,4 +1,4 @@
-import type { Modifier, ScopeType } from "@cursorless/common";
+import type { Modifier, ScopeType } from "@cursorless/lib-common";
export function getScopeType(modifier: Modifier): ScopeType | undefined {
switch (modifier.type) {
diff --git a/packages/cursorless-engine/src/util/grammarHelpers.ts b/packages/lib-engine/src/util/grammarHelpers.ts
similarity index 100%
rename from packages/cursorless-engine/src/util/grammarHelpers.ts
rename to packages/lib-engine/src/util/grammarHelpers.ts
diff --git a/packages/cursorless-engine/src/util/map.ts b/packages/lib-engine/src/util/map.ts
similarity index 100%
rename from packages/cursorless-engine/src/util/map.ts
rename to packages/lib-engine/src/util/map.ts
diff --git a/packages/cursorless-engine/src/util/performDocumentEdits.ts b/packages/lib-engine/src/util/performDocumentEdits.ts
similarity index 85%
rename from packages/cursorless-engine/src/util/performDocumentEdits.ts
rename to packages/lib-engine/src/util/performDocumentEdits.ts
index c970a0dacb..bfa72738f3 100644
--- a/packages/cursorless-engine/src/util/performDocumentEdits.ts
+++ b/packages/lib-engine/src/util/performDocumentEdits.ts
@@ -1,4 +1,4 @@
-import type { Edit, EditableTextEditor } from "@cursorless/common";
+import type { Edit, EditableTextEditor } from "@cursorless/lib-common";
import type { RangeUpdater } from "../core/updateSelections/RangeUpdater";
export async function performDocumentEdits(
diff --git a/packages/cursorless-engine/src/util/rangeUtils.ts b/packages/lib-engine/src/util/rangeUtils.ts
similarity index 94%
rename from packages/cursorless-engine/src/util/rangeUtils.ts
rename to packages/lib-engine/src/util/rangeUtils.ts
index 5edcb8a170..71b82f2eb1 100644
--- a/packages/cursorless-engine/src/util/rangeUtils.ts
+++ b/packages/lib-engine/src/util/rangeUtils.ts
@@ -1,5 +1,5 @@
-import type { TextEditor } from "@cursorless/common";
-import { Position, Range } from "@cursorless/common";
+import type { TextEditor } from "@cursorless/lib-common";
+import { Position, Range } from "@cursorless/lib-common";
export function isAtEndOfLine(editor: TextEditor, position: Position) {
const endLine = editor.document.lineAt(position);
diff --git a/packages/cursorless-engine/src/util/selectionUtils.ts b/packages/lib-engine/src/util/selectionUtils.ts
similarity index 92%
rename from packages/cursorless-engine/src/util/selectionUtils.ts
rename to packages/lib-engine/src/util/selectionUtils.ts
index 207bc9781d..b879a49e38 100644
--- a/packages/cursorless-engine/src/util/selectionUtils.ts
+++ b/packages/lib-engine/src/util/selectionUtils.ts
@@ -1,5 +1,5 @@
-import type { Position, TextEditor } from "@cursorless/common";
-import { Range, Selection } from "@cursorless/common";
+import type { Position, TextEditor } from "@cursorless/lib-common";
+import { Range, Selection } from "@cursorless/lib-common";
import type { SelectionWithEditor } from "../typings/Types";
export function selectionWithEditorFromRange(
diff --git a/packages/cursorless-engine/src/util/setIsEqual.ts b/packages/lib-engine/src/util/setIsEqual.ts
similarity index 100%
rename from packages/cursorless-engine/src/util/setIsEqual.ts
rename to packages/lib-engine/src/util/setIsEqual.ts
diff --git a/packages/cursorless-engine/src/util/targetUtils.ts b/packages/lib-engine/src/util/targetUtils.ts
similarity index 98%
rename from packages/cursorless-engine/src/util/targetUtils.ts
rename to packages/lib-engine/src/util/targetUtils.ts
index eeccb188a5..859288c2eb 100644
--- a/packages/cursorless-engine/src/util/targetUtils.ts
+++ b/packages/lib-engine/src/util/targetUtils.ts
@@ -4,13 +4,13 @@ import type {
IDE,
Range,
TextEditor,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import {
groupBy,
Selection,
toCharacterRange,
toLineRange,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { zip } from "lodash-es";
import type { Destination, Target } from "../typings/target.types";
import type { SelectionWithEditor } from "../typings/Types";
diff --git a/packages/cursorless-engine/src/util/treeSitterUtils.ts b/packages/lib-engine/src/util/treeSitterUtils.ts
similarity index 100%
rename from packages/cursorless-engine/src/util/treeSitterUtils.ts
rename to packages/lib-engine/src/util/treeSitterUtils.ts
diff --git a/packages/cursorless-engine/src/util/tryConstructTarget.ts b/packages/lib-engine/src/util/tryConstructTarget.ts
similarity index 93%
rename from packages/cursorless-engine/src/util/tryConstructTarget.ts
rename to packages/lib-engine/src/util/tryConstructTarget.ts
index c68ff3a040..4422df7b9b 100644
--- a/packages/cursorless-engine/src/util/tryConstructTarget.ts
+++ b/packages/lib-engine/src/util/tryConstructTarget.ts
@@ -1,4 +1,4 @@
-import type { Range, TextEditor } from "@cursorless/common";
+import type { Range, TextEditor } from "@cursorless/lib-common";
import type { CommonTargetParameters } from "../processTargets/targets";
import type { Target } from "../typings/target.types";
diff --git a/packages/cursorless-engine/src/util/typeUtils.ts b/packages/lib-engine/src/util/typeUtils.ts
similarity index 100%
rename from packages/cursorless-engine/src/util/typeUtils.ts
rename to packages/lib-engine/src/util/typeUtils.ts
diff --git a/packages/cursorless-engine/src/util/unifyRanges.ts b/packages/lib-engine/src/util/unifyRanges.ts
similarity index 100%
rename from packages/cursorless-engine/src/util/unifyRanges.ts
rename to packages/lib-engine/src/util/unifyRanges.ts
diff --git a/packages/cursorless-everywhere-talon/tsconfig.json b/packages/lib-engine/tsconfig.json
similarity index 100%
rename from packages/cursorless-everywhere-talon/tsconfig.json
rename to packages/lib-engine/tsconfig.json
diff --git a/packages/neovim-common/package.json b/packages/lib-neovim-common/package.json
similarity index 73%
rename from packages/neovim-common/package.json
rename to packages/lib-neovim-common/package.json
index bf041e35ae..063c89f121 100644
--- a/packages/neovim-common/package.json
+++ b/packages/lib-neovim-common/package.json
@@ -1,5 +1,5 @@
{
- "name": "@cursorless/neovim-common",
+ "name": "@cursorless/lib-neovim-common",
"version": "1.0.0",
"description": "Common utility functions usable anywhere that neovim api is available",
"license": "MIT",
@@ -12,9 +12,9 @@
"clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build"
},
"dependencies": {
- "@cursorless/common": "workspace:*",
- "@cursorless/neovim-registry": "workspace:*",
- "@cursorless/node-common": "workspace:*",
+ "@cursorless/lib-common": "workspace:*",
+ "@cursorless/lib-neovim-registry": "workspace:*",
+ "@cursorless/lib-node-common": "workspace:*",
"lodash": "^4.17.23",
"neovim": "^5.4.0",
"uuid": "^13.0.0",
diff --git a/packages/neovim-common/src/TestHelpers.ts b/packages/lib-neovim-common/src/TestHelpers.ts
similarity index 90%
rename from packages/neovim-common/src/TestHelpers.ts
rename to packages/lib-neovim-common/src/TestHelpers.ts
index 4d893ec07c..53402cbb11 100644
--- a/packages/neovim-common/src/TestHelpers.ts
+++ b/packages/lib-neovim-common/src/TestHelpers.ts
@@ -3,7 +3,7 @@ import type {
NormalizedIDE,
ScopeProvider,
TestHelpers,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type { NeovimIDE } from "./ide/neovim/NeovimIDE";
export interface NeovimTestHelpers extends TestHelpers {
diff --git a/packages/neovim-common/src/getExtensionApi.ts b/packages/lib-neovim-common/src/getExtensionApi.ts
similarity index 91%
rename from packages/neovim-common/src/getExtensionApi.ts
rename to packages/lib-neovim-common/src/getExtensionApi.ts
index b75a84e9d7..e293b2f927 100644
--- a/packages/neovim-common/src/getExtensionApi.ts
+++ b/packages/lib-neovim-common/src/getExtensionApi.ts
@@ -1,4 +1,4 @@
-import { getNeovimRegistry } from "@cursorless/neovim-registry";
+import { getNeovimRegistry } from "@cursorless/lib-neovim-registry";
import type { NeovimTestHelpers } from "./TestHelpers";
export interface CursorlessApi {
diff --git a/packages/neovim-common/src/ide/neovim/NeovimCapabilities.ts b/packages/lib-neovim-common/src/ide/neovim/NeovimCapabilities.ts
similarity index 89%
rename from packages/neovim-common/src/ide/neovim/NeovimCapabilities.ts
rename to packages/lib-neovim-common/src/ide/neovim/NeovimCapabilities.ts
index 0b5a98e27f..307b0ceedb 100644
--- a/packages/neovim-common/src/ide/neovim/NeovimCapabilities.ts
+++ b/packages/lib-neovim-common/src/ide/neovim/NeovimCapabilities.ts
@@ -1,4 +1,7 @@
-import type { Capabilities, CommandCapabilityMap } from "@cursorless/common";
+import type {
+ Capabilities,
+ CommandCapabilityMap,
+} from "@cursorless/lib-common";
const COMMAND_CAPABILITIES: CommandCapabilityMap = {
clipboardCopy: { acceptsLocation: false },
diff --git a/packages/neovim-common/src/ide/neovim/NeovimClipboard.ts b/packages/lib-neovim-common/src/ide/neovim/NeovimClipboard.ts
similarity index 87%
rename from packages/neovim-common/src/ide/neovim/NeovimClipboard.ts
rename to packages/lib-neovim-common/src/ide/neovim/NeovimClipboard.ts
index 5aa6080829..1156cfc780 100644
--- a/packages/neovim-common/src/ide/neovim/NeovimClipboard.ts
+++ b/packages/lib-neovim-common/src/ide/neovim/NeovimClipboard.ts
@@ -1,4 +1,4 @@
-import type { Clipboard } from "@cursorless/common";
+import type { Clipboard } from "@cursorless/lib-common";
import { getClipboard, setClipboard } from "../../neovimApi";
import type { NeovimClient } from "neovim";
diff --git a/packages/neovim-common/src/ide/neovim/NeovimConfiguration.ts b/packages/lib-neovim-common/src/ide/neovim/NeovimConfiguration.ts
similarity index 94%
rename from packages/neovim-common/src/ide/neovim/NeovimConfiguration.ts
rename to packages/lib-neovim-common/src/ide/neovim/NeovimConfiguration.ts
index 0c957c570e..a9076b1845 100644
--- a/packages/neovim-common/src/ide/neovim/NeovimConfiguration.ts
+++ b/packages/lib-neovim-common/src/ide/neovim/NeovimConfiguration.ts
@@ -5,8 +5,8 @@ import type {
CursorlessConfiguration,
GetFieldType,
Paths,
-} from "@cursorless/common";
-import { CONFIGURATION_DEFAULTS, Notifier } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { CONFIGURATION_DEFAULTS, Notifier } from "@cursorless/lib-common";
import { get } from "lodash";
interface ConfigurationScopeValues {
diff --git a/packages/neovim-common/src/ide/neovim/NeovimEdit.ts b/packages/lib-neovim-common/src/ide/neovim/NeovimEdit.ts
similarity index 98%
rename from packages/neovim-common/src/ide/neovim/NeovimEdit.ts
rename to packages/lib-neovim-common/src/ide/neovim/NeovimEdit.ts
index babf00838a..cfcc84751a 100644
--- a/packages/neovim-common/src/ide/neovim/NeovimEdit.ts
+++ b/packages/lib-neovim-common/src/ide/neovim/NeovimEdit.ts
@@ -4,10 +4,10 @@ import type {
Range,
TextDocument,
TextDocumentContentChangeEvent,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type { NeovimClient, Window } from "neovim";
import type { NeovimIDE } from "./NeovimIDE";
-import { getNeovimRegistry } from "@cursorless/neovim-registry";
+import { getNeovimRegistry } from "@cursorless/lib-neovim-registry";
export default async function neovimEdit(
client: NeovimClient,
diff --git a/packages/neovim-common/src/ide/neovim/NeovimEvents.ts b/packages/lib-neovim-common/src/ide/neovim/NeovimEvents.ts
similarity index 90%
rename from packages/neovim-common/src/ide/neovim/NeovimEvents.ts
rename to packages/lib-neovim-common/src/ide/neovim/NeovimEvents.ts
index baa07ba011..4cc84f4ddd 100644
--- a/packages/neovim-common/src/ide/neovim/NeovimEvents.ts
+++ b/packages/lib-neovim-common/src/ide/neovim/NeovimEvents.ts
@@ -3,9 +3,9 @@ import type {
TextDocument,
TextDocumentChangeEvent,
TextDocumentContentChangeEvent,
-} from "@cursorless/common";
-import { Position, Range } from "@cursorless/common";
-import { getNeovimRegistry } from "@cursorless/neovim-registry";
+} from "@cursorless/lib-common";
+import { Position, Range } from "@cursorless/lib-common";
+import { getNeovimRegistry } from "@cursorless/lib-neovim-registry";
import type { Buffer } from "neovim";
diff --git a/packages/neovim-common/src/ide/neovim/NeovimIDE.ts b/packages/lib-neovim-common/src/ide/neovim/NeovimIDE.ts
similarity index 98%
rename from packages/neovim-common/src/ide/neovim/NeovimIDE.ts
rename to packages/lib-neovim-common/src/ide/neovim/NeovimIDE.ts
index 0916c44472..8771727030 100644
--- a/packages/neovim-common/src/ide/neovim/NeovimIDE.ts
+++ b/packages/lib-neovim-common/src/ide/neovim/NeovimIDE.ts
@@ -17,8 +17,8 @@ import type {
TextEditorSelectionChangeEvent,
TextEditorVisibleRangesChangeEvent,
WorkspaceFolder,
-} from "@cursorless/common";
-import { nodeGetRunMode } from "@cursorless/node-common";
+} from "@cursorless/lib-common";
+import { nodeGetRunMode } from "@cursorless/lib-node-common";
import { pull } from "lodash";
import type { Buffer, NeovimClient, Window } from "neovim";
import path from "path";
@@ -31,7 +31,7 @@ import NeovimKeyValueStore from "./NeovimKeyValueStore";
import NeovimMessages from "./NeovimMessages";
import { NeovimTextEditor } from "./NeovimTextEditor";
-import { getNeovimRegistry } from "@cursorless/neovim-registry";
+import { getNeovimRegistry } from "@cursorless/lib-neovim-registry";
import {
bufferGetSelections,
getCursorlessNvimPath,
diff --git a/packages/neovim-common/src/ide/neovim/NeovimKeyValueStore.ts b/packages/lib-neovim-common/src/ide/neovim/NeovimKeyValueStore.ts
similarity index 82%
rename from packages/neovim-common/src/ide/neovim/NeovimKeyValueStore.ts
rename to packages/lib-neovim-common/src/ide/neovim/NeovimKeyValueStore.ts
index 3a10c2e8c4..4e0ca45fef 100644
--- a/packages/neovim-common/src/ide/neovim/NeovimKeyValueStore.ts
+++ b/packages/lib-neovim-common/src/ide/neovim/NeovimKeyValueStore.ts
@@ -2,8 +2,8 @@ import type {
KeyValueStore,
KeyValueStoreData,
KeyValueStoreKey,
-} from "@cursorless/common";
-import { KEY_VALUE_STORE_DEFAULTS } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { KEY_VALUE_STORE_DEFAULTS } from "@cursorless/lib-common";
export default class NeovimKeyValueStore implements KeyValueStore {
private readonly data: KeyValueStoreData = { ...KEY_VALUE_STORE_DEFAULTS };
diff --git a/packages/neovim-common/src/ide/neovim/NeovimMessages.ts b/packages/lib-neovim-common/src/ide/neovim/NeovimMessages.ts
similarity index 94%
rename from packages/neovim-common/src/ide/neovim/NeovimMessages.ts
rename to packages/lib-neovim-common/src/ide/neovim/NeovimMessages.ts
index ee71484c44..81af7cd2b9 100644
--- a/packages/neovim-common/src/ide/neovim/NeovimMessages.ts
+++ b/packages/lib-neovim-common/src/ide/neovim/NeovimMessages.ts
@@ -1,4 +1,4 @@
-import type { MessageId, Messages, MessageType } from "@cursorless/common";
+import type { MessageId, Messages, MessageType } from "@cursorless/lib-common";
export default class NeovimMessages implements Messages {
async showMessage(
diff --git a/packages/neovim-common/src/ide/neovim/NeovimTextDocument.ts b/packages/lib-neovim-common/src/ide/neovim/NeovimTextDocument.ts
similarity index 99%
rename from packages/neovim-common/src/ide/neovim/NeovimTextDocument.ts
rename to packages/lib-neovim-common/src/ide/neovim/NeovimTextDocument.ts
index 441a561176..694391f6eb 100644
--- a/packages/neovim-common/src/ide/neovim/NeovimTextDocument.ts
+++ b/packages/lib-neovim-common/src/ide/neovim/NeovimTextDocument.ts
@@ -1,5 +1,5 @@
-import type { EndOfLine, TextDocument, TextLine } from "@cursorless/common";
-import { Position, Range } from "@cursorless/common";
+import type { EndOfLine, TextDocument, TextLine } from "@cursorless/lib-common";
+import { Position, Range } from "@cursorless/lib-common";
import type { URI } from "vscode-uri";
import NeovimTextLine from "./NeovimTextLine";
import path from "node:path";
diff --git a/packages/neovim-common/src/ide/neovim/NeovimTextEditor.ts b/packages/lib-neovim-common/src/ide/neovim/NeovimTextEditor.ts
similarity index 99%
rename from packages/neovim-common/src/ide/neovim/NeovimTextEditor.ts
rename to packages/lib-neovim-common/src/ide/neovim/NeovimTextEditor.ts
index 4b510ff8e0..6e6d3342b8 100644
--- a/packages/neovim-common/src/ide/neovim/NeovimTextEditor.ts
+++ b/packages/lib-neovim-common/src/ide/neovim/NeovimTextEditor.ts
@@ -8,7 +8,7 @@ import type {
Selection,
TextEditor,
TextEditorOptions,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type { NeovimClient, Window } from "neovim";
import { bufferSetSelections } from "../../neovimApi";
import { neovimClipboardCopy, neovimClipboardPaste } from "../../neovimHelpers";
diff --git a/packages/neovim-common/src/ide/neovim/NeovimTextLine.ts b/packages/lib-neovim-common/src/ide/neovim/NeovimTextLine.ts
similarity index 91%
rename from packages/neovim-common/src/ide/neovim/NeovimTextLine.ts
rename to packages/lib-neovim-common/src/ide/neovim/NeovimTextLine.ts
index d6b8e7c542..823125061c 100644
--- a/packages/neovim-common/src/ide/neovim/NeovimTextLine.ts
+++ b/packages/lib-neovim-common/src/ide/neovim/NeovimTextLine.ts
@@ -1,5 +1,5 @@
-import type { TextLine } from "@cursorless/common";
-import { Range } from "@cursorless/common";
+import type { TextLine } from "@cursorless/lib-common";
+import { Range } from "@cursorless/lib-common";
export default class NeovimTextLine implements TextLine {
private readonly _lineNumber: number;
diff --git a/packages/neovim-common/src/index.ts b/packages/lib-neovim-common/src/index.ts
similarity index 100%
rename from packages/neovim-common/src/index.ts
rename to packages/lib-neovim-common/src/index.ts
diff --git a/packages/neovim-common/src/neovimApi.ts b/packages/lib-neovim-common/src/neovimApi.ts
similarity index 98%
rename from packages/neovim-common/src/neovimApi.ts
rename to packages/lib-neovim-common/src/neovimApi.ts
index 4aed768eb2..c017da4387 100644
--- a/packages/neovim-common/src/neovimApi.ts
+++ b/packages/lib-neovim-common/src/neovimApi.ts
@@ -1,5 +1,5 @@
// Helper directly calling into Neovim apis, generally lua, exported by cursorless.nvim
-import { Position, Range, Selection } from "@cursorless/common";
+import { Position, Range, Selection } from "@cursorless/lib-common";
import type { NeovimClient } from "neovim/lib/api/client";
import type { Window } from "neovim/lib/api/Window";
diff --git a/packages/neovim-common/src/neovimHelpers.ts b/packages/lib-neovim-common/src/neovimHelpers.ts
similarity index 88%
rename from packages/neovim-common/src/neovimHelpers.ts
rename to packages/lib-neovim-common/src/neovimHelpers.ts
index 2dc11c8687..b477aa9687 100644
--- a/packages/neovim-common/src/neovimHelpers.ts
+++ b/packages/lib-neovim-common/src/neovimHelpers.ts
@@ -4,10 +4,10 @@ import {
bufferGetSelections,
pasteFromClipboard,
setClipboard,
-} from "@cursorless/neovim-common";
+} from "@cursorless/lib-neovim-common";
import type { NeovimTextEditor } from "./ide/neovim/NeovimTextEditor";
import type { NeovimClient } from "neovim";
-import type { IDE } from "@cursorless/common";
+import type { IDE } from "@cursorless/lib-common";
export async function neovimClipboardCopy(
client: NeovimClient,
diff --git a/packages/lib-neovim-common/src/runCommand.ts b/packages/lib-neovim-common/src/runCommand.ts
new file mode 100644
index 0000000000..67b41e6a73
--- /dev/null
+++ b/packages/lib-neovim-common/src/runCommand.ts
@@ -0,0 +1,12 @@
+import type { Command, CommandResponse } from "@cursorless/lib-common";
+import { CURSORLESS_COMMAND_ID } from "@cursorless/lib-common";
+import { getNeovimRegistry } from "@cursorless/lib-neovim-registry";
+
+export async function runCursorlessCommand(
+ command: Command,
+): Promise {
+ return await getNeovimRegistry().executeCommand(
+ CURSORLESS_COMMAND_ID,
+ command,
+ );
+}
diff --git a/packages/neovim-common/src/testUtil/openNewEditor.ts b/packages/lib-neovim-common/src/testUtil/openNewEditor.ts
similarity index 100%
rename from packages/neovim-common/src/testUtil/openNewEditor.ts
rename to packages/lib-neovim-common/src/testUtil/openNewEditor.ts
diff --git a/packages/cursorless-neovim-e2e/tsconfig.json b/packages/lib-neovim-common/tsconfig.json
similarity index 100%
rename from packages/cursorless-neovim-e2e/tsconfig.json
rename to packages/lib-neovim-common/tsconfig.json
diff --git a/packages/neovim-registry/package.json b/packages/lib-neovim-registry/package.json
similarity index 88%
rename from packages/neovim-registry/package.json
rename to packages/lib-neovim-registry/package.json
index 2f23211194..8176b99818 100644
--- a/packages/neovim-registry/package.json
+++ b/packages/lib-neovim-registry/package.json
@@ -1,5 +1,5 @@
{
- "name": "@cursorless/neovim-registry",
+ "name": "@cursorless/lib-neovim-registry",
"version": "1.0.0",
"description": "Registry to share apis and commands between packages for neovim",
"license": "MIT",
diff --git a/packages/neovim-registry/src/NeovimRegistry.ts b/packages/lib-neovim-registry/src/NeovimRegistry.ts
similarity index 100%
rename from packages/neovim-registry/src/NeovimRegistry.ts
rename to packages/lib-neovim-registry/src/NeovimRegistry.ts
diff --git a/packages/neovim-registry/src/index.ts b/packages/lib-neovim-registry/src/index.ts
similarity index 100%
rename from packages/neovim-registry/src/index.ts
rename to packages/lib-neovim-registry/src/index.ts
diff --git a/packages/cursorless-neovim/tsconfig.json b/packages/lib-neovim-registry/tsconfig.json
similarity index 100%
rename from packages/cursorless-neovim/tsconfig.json
rename to packages/lib-neovim-registry/tsconfig.json
diff --git a/packages/node-common/package.json b/packages/lib-node-common/package.json
similarity index 87%
rename from packages/node-common/package.json
rename to packages/lib-node-common/package.json
index b66ad6d6e6..84e0168d9b 100644
--- a/packages/node-common/package.json
+++ b/packages/lib-node-common/package.json
@@ -1,5 +1,5 @@
{
- "name": "@cursorless/node-common",
+ "name": "@cursorless/lib-node-common",
"version": "1.0.0",
"description": "Package containing node utilities",
"license": "MIT",
@@ -12,7 +12,7 @@
"clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build"
},
"dependencies": {
- "@cursorless/common": "workspace:*",
+ "@cursorless/lib-common": "workspace:*",
"glob": "^13.0.6",
"immer": "^11.1.4",
"lodash-es": "^4.17.23",
diff --git a/packages/node-common/src/Cheatsheet.ts b/packages/lib-node-common/src/Cheatsheet.ts
similarity index 91%
rename from packages/node-common/src/Cheatsheet.ts
rename to packages/lib-node-common/src/Cheatsheet.ts
index cc14e9c9c4..0faacf8653 100644
--- a/packages/node-common/src/Cheatsheet.ts
+++ b/packages/lib-node-common/src/Cheatsheet.ts
@@ -1,5 +1,5 @@
-import { type IDE } from "@cursorless/common";
-import { getCursorlessRepoRoot } from "@cursorless/node-common";
+import { type IDE } from "@cursorless/lib-common";
+import { getCursorlessRepoRoot } from "@cursorless/lib-node-common";
import { readFile, writeFile } from "node:fs/promises";
import { produce } from "immer";
import { sortBy } from "lodash-es";
@@ -55,7 +55,7 @@ export async function showCheatsheet(
export async function updateDefaults(spokenFormInfo: CheatsheetInfo) {
const defaultsPath = path.join(
getCursorlessRepoRoot(),
- "packages/cheatsheet/src/lib/sampleSpokenFormInfos/defaults.json",
+ "packages/lib-cheatsheet/src/lib/sampleSpokenFormInfos/defaults.json",
);
const outputObject = produce(spokenFormInfo, (draft) => {
diff --git a/packages/node-common/src/FileSystemCommandHistoryStorage.ts b/packages/lib-node-common/src/FileSystemCommandHistoryStorage.ts
similarity index 97%
rename from packages/node-common/src/FileSystemCommandHistoryStorage.ts
rename to packages/lib-node-common/src/FileSystemCommandHistoryStorage.ts
index 4fde5b171b..a7d4ded78d 100644
--- a/packages/node-common/src/FileSystemCommandHistoryStorage.ts
+++ b/packages/lib-node-common/src/FileSystemCommandHistoryStorage.ts
@@ -1,7 +1,7 @@
import type {
CommandHistoryEntry,
CommandHistoryStorage,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { glob } from "glob";
import * as fs from "node:fs/promises";
import * as path from "node:path";
diff --git a/packages/node-common/src/FileSystemRawTreeSitterQueryProvider.ts b/packages/lib-node-common/src/FileSystemRawTreeSitterQueryProvider.ts
similarity index 97%
rename from packages/node-common/src/FileSystemRawTreeSitterQueryProvider.ts
rename to packages/lib-node-common/src/FileSystemRawTreeSitterQueryProvider.ts
index 5c65f4ace7..2b41b010d4 100644
--- a/packages/node-common/src/FileSystemRawTreeSitterQueryProvider.ts
+++ b/packages/lib-node-common/src/FileSystemRawTreeSitterQueryProvider.ts
@@ -4,7 +4,7 @@ import {
type FileSystem,
type IDE,
type RawTreeSitterQueryProvider,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import * as path from "node:path";
import { getCursorlessRepoRoot } from "./getCursorlessRepoRoot";
diff --git a/packages/node-common/src/FileSystemTalonSpokenForms.ts b/packages/lib-node-common/src/FileSystemTalonSpokenForms.ts
similarity index 97%
rename from packages/node-common/src/FileSystemTalonSpokenForms.ts
rename to packages/lib-node-common/src/FileSystemTalonSpokenForms.ts
index 028f41ba83..51531ae8d5 100644
--- a/packages/node-common/src/FileSystemTalonSpokenForms.ts
+++ b/packages/lib-node-common/src/FileSystemTalonSpokenForms.ts
@@ -4,8 +4,8 @@ import type {
Listener,
SpokenFormEntry,
TalonSpokenForms,
-} from "@cursorless/common";
-import { NeedsInitialTalonUpdateError, Notifier } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { NeedsInitialTalonUpdateError, Notifier } from "@cursorless/lib-common";
import { readFile } from "node:fs/promises";
import * as path from "node:path";
diff --git a/packages/node-common/src/FileSystemTutorialContentProvider.ts b/packages/lib-node-common/src/FileSystemTutorialContentProvider.ts
similarity index 97%
rename from packages/node-common/src/FileSystemTutorialContentProvider.ts
rename to packages/lib-node-common/src/FileSystemTutorialContentProvider.ts
index d62eb39c77..e5fd76eac4 100644
--- a/packages/node-common/src/FileSystemTutorialContentProvider.ts
+++ b/packages/lib-node-common/src/FileSystemTutorialContentProvider.ts
@@ -2,7 +2,7 @@ import type {
RawTutorialContent,
TutorialContentProvider,
TutorialId,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { readFile, readdir } from "node:fs/promises";
import path from "path";
import { loadFixture } from "./loadFixture";
diff --git a/packages/node-common/src/getCursorlessRepoRoot.ts b/packages/lib-node-common/src/getCursorlessRepoRoot.ts
similarity index 100%
rename from packages/node-common/src/getCursorlessRepoRoot.ts
rename to packages/lib-node-common/src/getCursorlessRepoRoot.ts
diff --git a/packages/node-common/src/getFixturePaths.ts b/packages/lib-node-common/src/getFixturePaths.ts
similarity index 95%
rename from packages/node-common/src/getFixturePaths.ts
rename to packages/lib-node-common/src/getFixturePaths.ts
index b88327b5fe..72c28f5614 100644
--- a/packages/node-common/src/getFixturePaths.ts
+++ b/packages/lib-node-common/src/getFixturePaths.ts
@@ -1,8 +1,8 @@
import type {
PlaintextScopeSupportFacet,
ScopeSupportFacet,
-} from "@cursorless/common";
-import { getCursorlessRepoRoot } from "@cursorless/node-common";
+} from "@cursorless/lib-common";
+import { getCursorlessRepoRoot } from "@cursorless/lib-node-common";
import * as path from "path";
import { walkFilesSync } from "./walkSync";
diff --git a/packages/node-common/src/getScopeTestPathsRecursively.ts b/packages/lib-node-common/src/getScopeTestPathsRecursively.ts
similarity index 100%
rename from packages/node-common/src/getScopeTestPathsRecursively.ts
rename to packages/lib-node-common/src/getScopeTestPathsRecursively.ts
diff --git a/packages/node-common/src/index.ts b/packages/lib-node-common/src/index.ts
similarity index 100%
rename from packages/node-common/src/index.ts
rename to packages/lib-node-common/src/index.ts
diff --git a/packages/node-common/src/isOS.ts b/packages/lib-node-common/src/isOS.ts
similarity index 100%
rename from packages/node-common/src/isOS.ts
rename to packages/lib-node-common/src/isOS.ts
diff --git a/packages/node-common/src/loadFixture.ts b/packages/lib-node-common/src/loadFixture.ts
similarity index 79%
rename from packages/node-common/src/loadFixture.ts
rename to packages/lib-node-common/src/loadFixture.ts
index 6f9af8adcd..e51ac44d65 100644
--- a/packages/node-common/src/loadFixture.ts
+++ b/packages/lib-node-common/src/loadFixture.ts
@@ -1,6 +1,6 @@
import * as yaml from "js-yaml";
import { readFile } from "node:fs/promises";
-import type { TestCaseFixtureLegacy } from "@cursorless/common";
+import type { TestCaseFixtureLegacy } from "@cursorless/lib-common";
export async function loadFixture(
path: string,
diff --git a/packages/node-common/src/nodeGetRunMode.ts b/packages/lib-node-common/src/nodeGetRunMode.ts
similarity index 92%
rename from packages/node-common/src/nodeGetRunMode.ts
rename to packages/lib-node-common/src/nodeGetRunMode.ts
index a97e6bc44a..145f309f36 100644
--- a/packages/node-common/src/nodeGetRunMode.ts
+++ b/packages/lib-node-common/src/nodeGetRunMode.ts
@@ -1,4 +1,4 @@
-import type { RunMode } from "@cursorless/common";
+import type { RunMode } from "@cursorless/lib-common";
/**
* Get the current run mode of the application as defined by the CURSORLESS_MODE
diff --git a/packages/node-common/src/runRecordedTest.ts b/packages/lib-node-common/src/runRecordedTest.ts
similarity index 99%
rename from packages/node-common/src/runRecordedTest.ts
rename to packages/lib-node-common/src/runRecordedTest.ts
index cea16543cc..2123056ff0 100644
--- a/packages/node-common/src/runRecordedTest.ts
+++ b/packages/lib-node-common/src/runRecordedTest.ts
@@ -10,7 +10,7 @@ import type {
TestCaseFixtureLegacy,
TestHelpers,
TextEditor,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import {
clientSupportsFallback,
getSnapshotForComparison,
@@ -24,7 +24,7 @@ import {
splitKey,
spyIDERecordedValuesToPlainObject,
storedTargetKeys,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { assert } from "chai";
import { isUndefined } from "lodash-es";
import { promises as fsp } from "node:fs";
diff --git a/packages/node-common/src/walkAsync.ts b/packages/lib-node-common/src/walkAsync.ts
similarity index 100%
rename from packages/node-common/src/walkAsync.ts
rename to packages/lib-node-common/src/walkAsync.ts
diff --git a/packages/node-common/src/walkSync.ts b/packages/lib-node-common/src/walkSync.ts
similarity index 100%
rename from packages/node-common/src/walkSync.ts
rename to packages/lib-node-common/src/walkSync.ts
diff --git a/packages/cursorless-tutorial/tsconfig.json b/packages/lib-node-common/tsconfig.json
similarity index 100%
rename from packages/cursorless-tutorial/tsconfig.json
rename to packages/lib-node-common/tsconfig.json
diff --git a/packages/sentence-parser/README.md b/packages/lib-sentence-parser/README.md
similarity index 100%
rename from packages/sentence-parser/README.md
rename to packages/lib-sentence-parser/README.md
diff --git a/packages/sentence-parser/package.json b/packages/lib-sentence-parser/package.json
similarity index 89%
rename from packages/sentence-parser/package.json
rename to packages/lib-sentence-parser/package.json
index 5641631e5f..1a94c7396b 100644
--- a/packages/sentence-parser/package.json
+++ b/packages/lib-sentence-parser/package.json
@@ -1,5 +1,5 @@
{
- "name": "@cursorless/sentence-parser",
+ "name": "@cursorless/lib-sentence-parser",
"version": "1.0.0",
"description": "Parse text for sentence boundary detection",
"license": "MIT",
diff --git a/packages/sentence-parser/src/Match.ts b/packages/lib-sentence-parser/src/Match.ts
similarity index 100%
rename from packages/sentence-parser/src/Match.ts
rename to packages/lib-sentence-parser/src/Match.ts
diff --git a/packages/sentence-parser/src/index.ts b/packages/lib-sentence-parser/src/index.ts
similarity index 100%
rename from packages/sentence-parser/src/index.ts
rename to packages/lib-sentence-parser/src/index.ts
diff --git a/packages/sentence-parser/src/sbd.ts b/packages/lib-sentence-parser/src/sbd.ts
similarity index 100%
rename from packages/sentence-parser/src/sbd.ts
rename to packages/lib-sentence-parser/src/sbd.ts
diff --git a/packages/sentence-parser/src/stringHelper.ts b/packages/lib-sentence-parser/src/stringHelper.ts
similarity index 100%
rename from packages/sentence-parser/src/stringHelper.ts
rename to packages/lib-sentence-parser/src/stringHelper.ts
diff --git a/packages/sentence-parser/src/test/abbr.test.ts b/packages/lib-sentence-parser/src/test/abbr.test.ts
similarity index 100%
rename from packages/sentence-parser/src/test/abbr.test.ts
rename to packages/lib-sentence-parser/src/test/abbr.test.ts
diff --git a/packages/sentence-parser/src/test/empty.test.ts b/packages/lib-sentence-parser/src/test/empty.test.ts
similarity index 100%
rename from packages/sentence-parser/src/test/empty.test.ts
rename to packages/lib-sentence-parser/src/test/empty.test.ts
diff --git a/packages/sentence-parser/src/test/lists.test.ts b/packages/lib-sentence-parser/src/test/lists.test.ts
similarity index 100%
rename from packages/sentence-parser/src/test/lists.test.ts
rename to packages/lib-sentence-parser/src/test/lists.test.ts
diff --git a/packages/sentence-parser/src/test/multiple_sentences.test.ts b/packages/lib-sentence-parser/src/test/multiple_sentences.test.ts
similarity index 100%
rename from packages/sentence-parser/src/test/multiple_sentences.test.ts
rename to packages/lib-sentence-parser/src/test/multiple_sentences.test.ts
diff --git a/packages/sentence-parser/src/test/newline.test.ts b/packages/lib-sentence-parser/src/test/newline.test.ts
similarity index 100%
rename from packages/sentence-parser/src/test/newline.test.ts
rename to packages/lib-sentence-parser/src/test/newline.test.ts
diff --git a/packages/sentence-parser/src/test/preserve_whitespace.test.ts b/packages/lib-sentence-parser/src/test/preserve_whitespace.test.ts
similarity index 100%
rename from packages/sentence-parser/src/test/preserve_whitespace.test.ts
rename to packages/lib-sentence-parser/src/test/preserve_whitespace.test.ts
diff --git a/packages/sentence-parser/src/test/single_sentence.test.ts b/packages/lib-sentence-parser/src/test/single_sentence.test.ts
similarity index 100%
rename from packages/sentence-parser/src/test/single_sentence.test.ts
rename to packages/lib-sentence-parser/src/test/single_sentence.test.ts
diff --git a/packages/sentence-parser/src/test/symbols.test.ts b/packages/lib-sentence-parser/src/test/symbols.test.ts
similarity index 100%
rename from packages/sentence-parser/src/test/symbols.test.ts
rename to packages/lib-sentence-parser/src/test/symbols.test.ts
diff --git a/packages/cursorless-vscode-e2e/tsconfig.json b/packages/lib-sentence-parser/tsconfig.json
similarity index 100%
rename from packages/cursorless-vscode-e2e/tsconfig.json
rename to packages/lib-sentence-parser/tsconfig.json
diff --git a/packages/cursorless-everywhere-talon-core/package.json b/packages/lib-talon-core/package.json
similarity index 73%
rename from packages/cursorless-everywhere-talon-core/package.json
rename to packages/lib-talon-core/package.json
index dae5e8701a..36a5826225 100644
--- a/packages/cursorless-everywhere-talon-core/package.json
+++ b/packages/lib-talon-core/package.json
@@ -1,5 +1,5 @@
{
- "name": "@cursorless/cursorless-everywhere-talon-core",
+ "name": "@cursorless/lib-talon-core",
"version": "1.0.0",
"description": "cursorless in talon js core packagee",
"license": "MIT",
@@ -12,8 +12,8 @@
"clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build"
},
"dependencies": {
- "@cursorless/common": "workspace:*",
- "@cursorless/cursorless-engine": "workspace:*",
+ "@cursorless/lib-common": "workspace:*",
+ "@cursorless/lib-engine": "workspace:*",
"lodash-es": "^4.17.23",
"vscode-uri": "^3.1.0"
},
diff --git a/packages/cursorless-everywhere-talon-core/src/README.md b/packages/lib-talon-core/src/README.md
similarity index 100%
rename from packages/cursorless-everywhere-talon-core/src/README.md
rename to packages/lib-talon-core/src/README.md
diff --git a/packages/cursorless-everywhere-talon-core/src/constructTestHelpers.ts b/packages/lib-talon-core/src/constructTestHelpers.ts
similarity index 86%
rename from packages/cursorless-everywhere-talon-core/src/constructTestHelpers.ts
rename to packages/lib-talon-core/src/constructTestHelpers.ts
index f6399600e6..5ac03676d5 100644
--- a/packages/cursorless-everywhere-talon-core/src/constructTestHelpers.ts
+++ b/packages/lib-talon-core/src/constructTestHelpers.ts
@@ -8,12 +8,9 @@ import type {
StoredTargetKey,
TargetPlainObject,
TextEditor,
-} from "@cursorless/common";
-import type {
- CommandApi,
- StoredTargetMap,
-} from "@cursorless/cursorless-engine";
-import { plainObjectToTarget } from "@cursorless/cursorless-engine";
+} from "@cursorless/lib-common";
+import type { CommandApi, StoredTargetMap } from "@cursorless/lib-engine";
+import { plainObjectToTarget } from "@cursorless/lib-engine";
import type { TalonJsIDE } from "./ide/TalonJsIDE";
import type { TalonJsTestHelpers } from "./types/types";
diff --git a/packages/cursorless-everywhere-talon-core/src/extension.ts b/packages/lib-talon-core/src/extension.ts
similarity index 92%
rename from packages/cursorless-everywhere-talon-core/src/extension.ts
rename to packages/lib-talon-core/src/extension.ts
index 6f25e17119..7f30b46a95 100644
--- a/packages/cursorless-everywhere-talon-core/src/extension.ts
+++ b/packages/lib-talon-core/src/extension.ts
@@ -1,12 +1,12 @@
import "./polyfill";
-import type { RunMode } from "@cursorless/common";
+import type { RunMode } from "@cursorless/lib-common";
import {
FakeCommandServerApi,
FakeIDE,
NormalizedIDE,
-} from "@cursorless/common";
-import { createCursorlessEngine } from "@cursorless/cursorless-engine";
+} from "@cursorless/lib-common";
+import { createCursorlessEngine } from "@cursorless/lib-engine";
import { constructTestHelpers } from "./constructTestHelpers";
import { TalonJsIDE } from "./ide/TalonJsIDE";
import { TalonJsTestHats } from "./ide/TalonJsTestHats";
diff --git a/packages/cursorless-everywhere-talon-core/src/ide/TalonJsCapabilities.ts b/packages/lib-talon-core/src/ide/TalonJsCapabilities.ts
similarity index 89%
rename from packages/cursorless-everywhere-talon-core/src/ide/TalonJsCapabilities.ts
rename to packages/lib-talon-core/src/ide/TalonJsCapabilities.ts
index b68eb0c739..5fa72250e8 100644
--- a/packages/cursorless-everywhere-talon-core/src/ide/TalonJsCapabilities.ts
+++ b/packages/lib-talon-core/src/ide/TalonJsCapabilities.ts
@@ -1,4 +1,7 @@
-import type { Capabilities, CommandCapabilityMap } from "@cursorless/common";
+import type {
+ Capabilities,
+ CommandCapabilityMap,
+} from "@cursorless/lib-common";
const COMMAND_CAPABILITIES: CommandCapabilityMap = {
clipboardCopy: undefined,
diff --git a/packages/cursorless-everywhere-talon-core/src/ide/TalonJsClipboard.ts b/packages/lib-talon-core/src/ide/TalonJsClipboard.ts
similarity index 85%
rename from packages/cursorless-everywhere-talon-core/src/ide/TalonJsClipboard.ts
rename to packages/lib-talon-core/src/ide/TalonJsClipboard.ts
index 35ad874172..18308433ba 100644
--- a/packages/cursorless-everywhere-talon-core/src/ide/TalonJsClipboard.ts
+++ b/packages/lib-talon-core/src/ide/TalonJsClipboard.ts
@@ -1,4 +1,4 @@
-import type { Clipboard } from "@cursorless/common";
+import type { Clipboard } from "@cursorless/lib-common";
import type { Talon } from "../types/talon";
export class TalonJsClipboard implements Clipboard {
diff --git a/packages/cursorless-everywhere-talon-core/src/ide/TalonJsConfiguration.ts b/packages/lib-talon-core/src/ide/TalonJsConfiguration.ts
similarity index 92%
rename from packages/cursorless-everywhere-talon-core/src/ide/TalonJsConfiguration.ts
rename to packages/lib-talon-core/src/ide/TalonJsConfiguration.ts
index 949528c907..659f30ec55 100644
--- a/packages/cursorless-everywhere-talon-core/src/ide/TalonJsConfiguration.ts
+++ b/packages/lib-talon-core/src/ide/TalonJsConfiguration.ts
@@ -7,8 +7,8 @@ import type {
GetFieldType,
Listener,
Paths,
-} from "@cursorless/common";
-import { HatStability } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { HatStability } from "@cursorless/lib-common";
const CONFIGURATION_DEFAULTS: CursorlessConfiguration = {
tokenHatSplittingMode: {
diff --git a/packages/cursorless-everywhere-talon-core/src/ide/TalonJsIDE.ts b/packages/lib-talon-core/src/ide/TalonJsIDE.ts
similarity index 98%
rename from packages/cursorless-everywhere-talon-core/src/ide/TalonJsIDE.ts
rename to packages/lib-talon-core/src/ide/TalonJsIDE.ts
index eac659d459..36e6c6b3d0 100644
--- a/packages/cursorless-everywhere-talon-core/src/ide/TalonJsIDE.ts
+++ b/packages/lib-talon-core/src/ide/TalonJsIDE.ts
@@ -21,8 +21,8 @@ import type {
TextEditorSelectionChangeEvent,
TextEditorVisibleRangesChangeEvent,
WorkspaceFolder,
-} from "@cursorless/common";
-import { InMemoryTextEditor, Notifier } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { InMemoryTextEditor, Notifier } from "@cursorless/lib-common";
import { pull } from "lodash-es";
import type { Talon } from "../types/talon";
import type { EditorEdit, EditorState } from "../types/types";
diff --git a/packages/cursorless-everywhere-talon-core/src/ide/TalonJsKeyValueStore.ts b/packages/lib-talon-core/src/ide/TalonJsKeyValueStore.ts
similarity index 92%
rename from packages/cursorless-everywhere-talon-core/src/ide/TalonJsKeyValueStore.ts
rename to packages/lib-talon-core/src/ide/TalonJsKeyValueStore.ts
index 2df7c41577..5f916e5662 100644
--- a/packages/cursorless-everywhere-talon-core/src/ide/TalonJsKeyValueStore.ts
+++ b/packages/lib-talon-core/src/ide/TalonJsKeyValueStore.ts
@@ -2,7 +2,7 @@ import type {
KeyValueStore,
KeyValueStoreData,
KeyValueStoreKey,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
export class TalonJsKeyValueStore implements KeyValueStore {
get(_key: K): KeyValueStoreData[K] {
diff --git a/packages/cursorless-everywhere-talon-core/src/ide/TalonJsMessages.ts b/packages/lib-talon-core/src/ide/TalonJsMessages.ts
similarity index 87%
rename from packages/cursorless-everywhere-talon-core/src/ide/TalonJsMessages.ts
rename to packages/lib-talon-core/src/ide/TalonJsMessages.ts
index 5f555edd88..c6ff43688a 100644
--- a/packages/cursorless-everywhere-talon-core/src/ide/TalonJsMessages.ts
+++ b/packages/lib-talon-core/src/ide/TalonJsMessages.ts
@@ -1,5 +1,5 @@
-import type { Messages } from "@cursorless/common";
-import { MessageType } from "@cursorless/common";
+import type { Messages } from "@cursorless/lib-common";
+import { MessageType } from "@cursorless/lib-common";
import type { Talon } from "../types/talon";
export class TalonJsMessages implements Messages {
diff --git a/packages/cursorless-everywhere-talon-core/src/ide/TalonJsTestHats.ts b/packages/lib-talon-core/src/ide/TalonJsTestHats.ts
similarity index 96%
rename from packages/cursorless-everywhere-talon-core/src/ide/TalonJsTestHats.ts
rename to packages/lib-talon-core/src/ide/TalonJsTestHats.ts
index d124579e39..e92a9af2d2 100644
--- a/packages/cursorless-everywhere-talon-core/src/ide/TalonJsTestHats.ts
+++ b/packages/lib-talon-core/src/ide/TalonJsTestHats.ts
@@ -4,7 +4,7 @@ import type {
Hats,
HatStyleMap,
Listener,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
const HAT_COLORS = [
"default",
diff --git a/packages/cursorless-everywhere-talon-core/src/ide/flashRanges.ts b/packages/lib-talon-core/src/ide/flashRanges.ts
similarity index 97%
rename from packages/cursorless-everywhere-talon-core/src/ide/flashRanges.ts
rename to packages/lib-talon-core/src/ide/flashRanges.ts
index 81f10574d8..228914b109 100644
--- a/packages/cursorless-everywhere-talon-core/src/ide/flashRanges.ts
+++ b/packages/lib-talon-core/src/ide/flashRanges.ts
@@ -1,4 +1,4 @@
-import type { FlashDescriptor, RangeOffsets } from "@cursorless/common";
+import type { FlashDescriptor, RangeOffsets } from "@cursorless/lib-common";
import type { Talon } from "../types/talon";
import { toCharacterRangeOffsets } from "./toCharacterRangeOffsets";
diff --git a/packages/cursorless-everywhere-talon-core/src/ide/toCharacterRangeOffsets.ts b/packages/lib-talon-core/src/ide/toCharacterRangeOffsets.ts
similarity index 94%
rename from packages/cursorless-everywhere-talon-core/src/ide/toCharacterRangeOffsets.ts
rename to packages/lib-talon-core/src/ide/toCharacterRangeOffsets.ts
index 3b32fac3af..fd93d0984a 100644
--- a/packages/cursorless-everywhere-talon-core/src/ide/toCharacterRangeOffsets.ts
+++ b/packages/lib-talon-core/src/ide/toCharacterRangeOffsets.ts
@@ -2,7 +2,7 @@ import type {
GeneralizedRange,
RangeOffsets,
TextEditor,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
export function toCharacterRangeOffsets(
editor: TextEditor,
diff --git a/packages/cursorless-everywhere-talon-core/src/index.ts b/packages/lib-talon-core/src/index.ts
similarity index 100%
rename from packages/cursorless-everywhere-talon-core/src/index.ts
rename to packages/lib-talon-core/src/index.ts
diff --git a/packages/cursorless-everywhere-talon-core/src/polyfill.ts b/packages/lib-talon-core/src/polyfill.ts
similarity index 100%
rename from packages/cursorless-everywhere-talon-core/src/polyfill.ts
rename to packages/lib-talon-core/src/polyfill.ts
diff --git a/packages/cursorless-everywhere-talon-core/src/registerCommands.ts b/packages/lib-talon-core/src/registerCommands.ts
similarity index 93%
rename from packages/cursorless-everywhere-talon-core/src/registerCommands.ts
rename to packages/lib-talon-core/src/registerCommands.ts
index 0824002e43..e6f811b1aa 100644
--- a/packages/cursorless-everywhere-talon-core/src/registerCommands.ts
+++ b/packages/lib-talon-core/src/registerCommands.ts
@@ -1,5 +1,5 @@
-import { CURSORLESS_COMMAND_ID } from "@cursorless/common";
-import type { CommandApi } from "@cursorless/cursorless-engine";
+import { CURSORLESS_COMMAND_ID } from "@cursorless/lib-common";
+import type { CommandApi } from "@cursorless/lib-engine";
import type { TalonJsIDE } from "./ide/TalonJsIDE";
import type { Talon } from "./types/talon";
diff --git a/packages/cursorless-everywhere-talon-core/src/types/talon.ts b/packages/lib-talon-core/src/types/talon.ts
similarity index 99%
rename from packages/cursorless-everywhere-talon-core/src/types/talon.ts
rename to packages/lib-talon-core/src/types/talon.ts
index eceb2278f8..778c77a1ff 100644
--- a/packages/cursorless-everywhere-talon-core/src/types/talon.ts
+++ b/packages/lib-talon-core/src/types/talon.ts
@@ -1,4 +1,4 @@
-import type { RangeOffsets, SelectionOffsets } from "@cursorless/common";
+import type { RangeOffsets, SelectionOffsets } from "@cursorless/lib-common";
import type { EditorEdit, EditorState } from "./types";
export type TalonNamespace = "user";
diff --git a/packages/cursorless-everywhere-talon-core/src/types/types.ts b/packages/lib-talon-core/src/types/types.ts
similarity index 90%
rename from packages/cursorless-everywhere-talon-core/src/types/types.ts
rename to packages/lib-talon-core/src/types/types.ts
index 65c1b83387..3cf0553d85 100644
--- a/packages/cursorless-everywhere-talon-core/src/types/types.ts
+++ b/packages/lib-talon-core/src/types/types.ts
@@ -5,8 +5,8 @@ import type {
NormalizedIDE,
SelectionOffsets,
TestHelpers,
-} from "@cursorless/common";
-import type { StoredTargetMap } from "@cursorless/cursorless-engine";
+} from "@cursorless/lib-common";
+import type { StoredTargetMap } from "@cursorless/lib-engine";
import type { TalonJsIDE } from "../ide/TalonJsIDE";
export interface EditorState {
diff --git a/packages/cursorless-vscode/tsconfig.json b/packages/lib-talon-core/tsconfig.json
similarity index 100%
rename from packages/cursorless-vscode/tsconfig.json
rename to packages/lib-talon-core/tsconfig.json
diff --git a/packages/test-case-recorder/package.json b/packages/lib-test-case-recorder/package.json
similarity index 70%
rename from packages/test-case-recorder/package.json
rename to packages/lib-test-case-recorder/package.json
index ce8264a7e5..1885de9ed7 100644
--- a/packages/test-case-recorder/package.json
+++ b/packages/lib-test-case-recorder/package.json
@@ -1,5 +1,5 @@
{
- "name": "@cursorless/test-case-recorder",
+ "name": "@cursorless/lib-test-case-recorder",
"version": "1.0.0",
"description": "Package containing the test case recorder",
"license": "MIT",
@@ -12,9 +12,9 @@
"clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build"
},
"dependencies": {
- "@cursorless/common": "workspace:*",
- "@cursorless/cursorless-engine": "workspace:*",
- "@cursorless/node-common": "workspace:*",
+ "@cursorless/lib-common": "workspace:*",
+ "@cursorless/lib-engine": "workspace:*",
+ "@cursorless/lib-node-common": "workspace:*",
"glob": "^13.0.6",
"immutability-helper": "^3.1.1",
"lodash-es": "^4.17.23"
diff --git a/packages/test-case-recorder/src/RecordTestCaseCommandOptions.ts b/packages/lib-test-case-recorder/src/RecordTestCaseCommandOptions.ts
similarity index 96%
rename from packages/test-case-recorder/src/RecordTestCaseCommandOptions.ts
rename to packages/lib-test-case-recorder/src/RecordTestCaseCommandOptions.ts
index f93079fae0..48b0c66485 100644
--- a/packages/test-case-recorder/src/RecordTestCaseCommandOptions.ts
+++ b/packages/lib-test-case-recorder/src/RecordTestCaseCommandOptions.ts
@@ -1,4 +1,4 @@
-import type { ExtraSnapshotField } from "@cursorless/common";
+import type { ExtraSnapshotField } from "@cursorless/lib-common";
/**
* This is the type of the `recordTestCase` command's argument. It is used to
diff --git a/packages/test-case-recorder/src/ScopeTestRecorder.ts b/packages/lib-test-case-recorder/src/ScopeTestRecorder.ts
similarity index 98%
rename from packages/test-case-recorder/src/ScopeTestRecorder.ts
rename to packages/lib-test-case-recorder/src/ScopeTestRecorder.ts
index bb086370dc..299943ae80 100644
--- a/packages/test-case-recorder/src/ScopeTestRecorder.ts
+++ b/packages/lib-test-case-recorder/src/ScopeTestRecorder.ts
@@ -6,11 +6,11 @@ import {
showInfo,
type IDE,
type ScopeSupportFacet,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import {
getScopeTestPathsRecursively,
getScopeTestsDirPath,
-} from "@cursorless/node-common";
+} from "@cursorless/lib-node-common";
import * as fs from "node:fs";
import * as fsPromises from "node:fs/promises";
import * as path from "node:path";
diff --git a/packages/test-case-recorder/src/TestCase.ts b/packages/lib-test-case-recorder/src/TestCase.ts
similarity index 98%
rename from packages/test-case-recorder/src/TestCase.ts
rename to packages/lib-test-case-recorder/src/TestCase.ts
index e88171e678..225d245d98 100644
--- a/packages/test-case-recorder/src/TestCase.ts
+++ b/packages/lib-test-case-recorder/src/TestCase.ts
@@ -15,19 +15,19 @@ import type {
TestCaseSnapshot,
ThrownError,
Token,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import {
extractTargetedMarks,
marksToPlainObject,
serializeTestFixture,
spyIDERecordedValuesToPlainObject,
unsafeKeys,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import {
extractTargetKeys,
getPartialTargetDescriptors,
type StoredTargetMap,
-} from "@cursorless/cursorless-engine";
+} from "@cursorless/lib-engine";
import { pick } from "lodash-es";
import { takeSnapshot } from "./takeSnapshot";
diff --git a/packages/test-case-recorder/src/TestCaseRecorder.ts b/packages/lib-test-case-recorder/src/TestCaseRecorder.ts
similarity index 98%
rename from packages/test-case-recorder/src/TestCaseRecorder.ts
rename to packages/lib-test-case-recorder/src/TestCaseRecorder.ts
index dc9a17a1e0..6e311f385b 100644
--- a/packages/test-case-recorder/src/TestCaseRecorder.ts
+++ b/packages/lib-test-case-recorder/src/TestCaseRecorder.ts
@@ -10,7 +10,7 @@ import type {
ReadOnlyHatMap,
SerializedMarks,
TextEditorOptions,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import {
capitalize,
DEFAULT_TEXT_EDITOR_OPTIONS_FOR_TEST,
@@ -23,16 +23,16 @@ import {
sleep,
SpyIDE,
toLineRange,
-} from "@cursorless/common";
-import type {
- CommandRunner,
- StoredTargetMap,
-} from "@cursorless/cursorless-engine";
+} from "@cursorless/lib-common";
+import type { CommandRunner, StoredTargetMap } from "@cursorless/lib-engine";
import {
defaultSpokenFormMap,
SpokenFormGenerator,
-} from "@cursorless/cursorless-engine";
-import { getRecordedTestsDirPath, walkDirsSync } from "@cursorless/node-common";
+} from "@cursorless/lib-engine";
+import {
+ getRecordedTestsDirPath,
+ walkDirsSync,
+} from "@cursorless/lib-node-common";
import { invariant } from "immutability-helper";
import { merge } from "lodash-es";
import * as fs from "node:fs";
diff --git a/packages/test-case-recorder/src/index.ts b/packages/lib-test-case-recorder/src/index.ts
similarity index 100%
rename from packages/test-case-recorder/src/index.ts
rename to packages/lib-test-case-recorder/src/index.ts
diff --git a/packages/test-case-recorder/src/takeSnapshot.ts b/packages/lib-test-case-recorder/src/takeSnapshot.ts
similarity index 93%
rename from packages/test-case-recorder/src/takeSnapshot.ts
rename to packages/lib-test-case-recorder/src/takeSnapshot.ts
index 571db9956f..729ff634b3 100644
--- a/packages/test-case-recorder/src/takeSnapshot.ts
+++ b/packages/lib-test-case-recorder/src/takeSnapshot.ts
@@ -6,13 +6,13 @@ import type {
SerializedMarks,
TestCaseSnapshot,
TextEditor,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import {
rangeToPlainObject,
selectionToPlainObject,
storedTargetKeys,
-} from "@cursorless/common";
-import type { StoredTargetMap } from "@cursorless/cursorless-engine";
+} from "@cursorless/lib-common";
+import type { StoredTargetMap } from "@cursorless/lib-engine";
import { hrtimeBigintToSeconds } from "./timeUtils";
export async function takeSnapshot(
diff --git a/packages/test-case-recorder/src/timeUtils.ts b/packages/lib-test-case-recorder/src/timeUtils.ts
similarity index 100%
rename from packages/test-case-recorder/src/timeUtils.ts
rename to packages/lib-test-case-recorder/src/timeUtils.ts
diff --git a/packages/meta-updater/tsconfig.json b/packages/lib-test-case-recorder/tsconfig.json
similarity index 100%
rename from packages/meta-updater/tsconfig.json
rename to packages/lib-test-case-recorder/tsconfig.json
diff --git a/packages/cursorless-tutorial/package.json b/packages/lib-tutorial/package.json
similarity index 74%
rename from packages/cursorless-tutorial/package.json
rename to packages/lib-tutorial/package.json
index 946fc11b27..9a60aa8015 100644
--- a/packages/cursorless-tutorial/package.json
+++ b/packages/lib-tutorial/package.json
@@ -1,5 +1,5 @@
{
- "name": "@cursorless/cursorless-tutorial",
+ "name": "@cursorless/lib-tutorial",
"version": "1.0.0",
"description": "Cursorless tutorial driver code",
"license": "MIT",
@@ -12,8 +12,8 @@
"clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build"
},
"dependencies": {
- "@cursorless/common": "workspace:*",
- "@cursorless/cursorless-engine": "workspace:*",
+ "@cursorless/lib-common": "workspace:*",
+ "@cursorless/lib-engine": "workspace:*",
"immer": "^11.1.4",
"lodash-es": "^4.17.23"
},
diff --git a/packages/cursorless-tutorial/src/Tutorial.ts b/packages/lib-tutorial/src/Tutorial.ts
similarity index 96%
rename from packages/cursorless-tutorial/src/Tutorial.ts
rename to packages/lib-tutorial/src/Tutorial.ts
index 577d926072..36771e0f3a 100644
--- a/packages/cursorless-tutorial/src/Tutorial.ts
+++ b/packages/lib-tutorial/src/Tutorial.ts
@@ -3,7 +3,7 @@ import type {
ScopeType,
TutorialId,
TutorialState,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
/**
* Interface for controlling the Cursorless tutorial
diff --git a/packages/cursorless-tutorial/src/TutorialError.ts b/packages/lib-tutorial/src/TutorialError.ts
similarity index 100%
rename from packages/cursorless-tutorial/src/TutorialError.ts
rename to packages/lib-tutorial/src/TutorialError.ts
diff --git a/packages/cursorless-tutorial/src/TutorialImpl.ts b/packages/lib-tutorial/src/TutorialImpl.ts
similarity index 98%
rename from packages/cursorless-tutorial/src/TutorialImpl.ts
rename to packages/lib-tutorial/src/TutorialImpl.ts
index 55c67a600e..97df1978e1 100644
--- a/packages/cursorless-tutorial/src/TutorialImpl.ts
+++ b/packages/lib-tutorial/src/TutorialImpl.ts
@@ -11,13 +11,13 @@ import type {
TutorialContentProvider,
TutorialId,
TutorialState,
-} from "@cursorless/common";
-import { Debouncer, Notifier } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { Debouncer, Notifier } from "@cursorless/lib-common";
import type {
CommandRunner,
CommandRunnerDecorator,
CustomSpokenFormGenerator,
-} from "@cursorless/cursorless-engine";
+} from "@cursorless/lib-engine";
import { produce } from "immer";
import { isEqual } from "lodash-es";
import { arePreconditionsMet } from "./arePreconditionsMet";
diff --git a/packages/cursorless-tutorial/src/TutorialStepParser.ts b/packages/lib-tutorial/src/TutorialStepParser.ts
similarity index 96%
rename from packages/cursorless-tutorial/src/TutorialStepParser.ts
rename to packages/lib-tutorial/src/TutorialStepParser.ts
index 05fbb1ee25..bd0e745567 100644
--- a/packages/cursorless-tutorial/src/TutorialStepParser.ts
+++ b/packages/lib-tutorial/src/TutorialStepParser.ts
@@ -3,9 +3,9 @@ import type {
TutorialContentProvider,
TutorialId,
TutorialStepFragment,
-} from "@cursorless/common";
-import type { CustomSpokenFormGenerator } from "@cursorless/cursorless-engine";
-import { parseScopeType } from "@cursorless/cursorless-engine";
+} from "@cursorless/lib-common";
+import type { CustomSpokenFormGenerator } from "@cursorless/lib-engine";
+import { parseScopeType } from "@cursorless/lib-engine";
import { getScopeTypeSpokenFormStrict } from "./getScopeTypeSpokenFormStrict";
import { specialTerms } from "./specialTerms";
import { ActionComponentParser } from "./stepComponentParsers/ActionComponentParser";
diff --git a/packages/cursorless-tutorial/src/arePreconditionsMet.ts b/packages/lib-tutorial/src/arePreconditionsMet.ts
similarity index 93%
rename from packages/cursorless-tutorial/src/arePreconditionsMet.ts
rename to packages/lib-tutorial/src/arePreconditionsMet.ts
index 9c30d6bfef..e63cd7b592 100644
--- a/packages/cursorless-tutorial/src/arePreconditionsMet.ts
+++ b/packages/lib-tutorial/src/arePreconditionsMet.ts
@@ -1,8 +1,8 @@
-import type { HatTokenMap, TextEditor } from "@cursorless/common";
+import type { HatTokenMap, TextEditor } from "@cursorless/lib-common";
import {
plainObjectToSelection,
serializedMarksToTokenHats,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import { isEqual } from "lodash-es";
import type { TutorialStep } from "./types/tutorial.types";
diff --git a/packages/cursorless-tutorial/src/getScopeTypeSpokenFormStrict.ts b/packages/lib-tutorial/src/getScopeTypeSpokenFormStrict.ts
similarity index 68%
rename from packages/cursorless-tutorial/src/getScopeTypeSpokenFormStrict.ts
rename to packages/lib-tutorial/src/getScopeTypeSpokenFormStrict.ts
index c5d213fd35..e3f707722e 100644
--- a/packages/cursorless-tutorial/src/getScopeTypeSpokenFormStrict.ts
+++ b/packages/lib-tutorial/src/getScopeTypeSpokenFormStrict.ts
@@ -1,5 +1,5 @@
-import type { ScopeType } from "@cursorless/common";
-import type { CustomSpokenFormGenerator } from "@cursorless/cursorless-engine";
+import type { ScopeType } from "@cursorless/lib-common";
+import type { CustomSpokenFormGenerator } from "@cursorless/lib-engine";
import { getSpokenFormStrict } from "./getSpokenFormStrict";
export function getScopeTypeSpokenFormStrict(
diff --git a/packages/cursorless-tutorial/src/getSpokenFormStrict.ts b/packages/lib-tutorial/src/getSpokenFormStrict.ts
similarity index 86%
rename from packages/cursorless-tutorial/src/getSpokenFormStrict.ts
rename to packages/lib-tutorial/src/getSpokenFormStrict.ts
index a6f95fa6d0..a1d8f2691c 100644
--- a/packages/cursorless-tutorial/src/getSpokenFormStrict.ts
+++ b/packages/lib-tutorial/src/getSpokenFormStrict.ts
@@ -1,4 +1,4 @@
-import type { SpokenForm } from "@cursorless/common";
+import type { SpokenForm } from "@cursorless/lib-common";
import { TutorialError } from "./TutorialError";
export function getSpokenFormStrict(spokenForm: SpokenForm) {
diff --git a/packages/cursorless-tutorial/src/index.ts b/packages/lib-tutorial/src/index.ts
similarity index 100%
rename from packages/cursorless-tutorial/src/index.ts
rename to packages/lib-tutorial/src/index.ts
diff --git a/packages/cursorless-tutorial/src/loadTutorial.ts b/packages/lib-tutorial/src/loadTutorial.ts
similarity index 94%
rename from packages/cursorless-tutorial/src/loadTutorial.ts
rename to packages/lib-tutorial/src/loadTutorial.ts
index 9d7a2c212f..ff3445218b 100644
--- a/packages/cursorless-tutorial/src/loadTutorial.ts
+++ b/packages/lib-tutorial/src/loadTutorial.ts
@@ -5,8 +5,8 @@ import type {
TutorialContentProvider,
TutorialId,
TutorialState,
-} from "@cursorless/common";
-import type { CustomSpokenFormGenerator } from "@cursorless/cursorless-engine";
+} from "@cursorless/lib-common";
+import type { CustomSpokenFormGenerator } from "@cursorless/lib-engine";
import { TutorialError } from "./TutorialError";
import { TutorialStepParser } from "./TutorialStepParser";
import type { TutorialContent } from "./types/tutorial.types";
diff --git a/packages/cursorless-tutorial/src/setupStep.ts b/packages/lib-tutorial/src/setupStep.ts
similarity index 97%
rename from packages/cursorless-tutorial/src/setupStep.ts
rename to packages/lib-tutorial/src/setupStep.ts
index 5737650946..104487020a 100644
--- a/packages/cursorless-tutorial/src/setupStep.ts
+++ b/packages/lib-tutorial/src/setupStep.ts
@@ -5,13 +5,13 @@ import type {
TestCaseSnapshot,
TextEditor,
TutorialState,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import {
plainObjectToRange,
plainObjectToSelection,
serializedMarksToTokenHats,
toCharacterRange,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type { TutorialContent } from "./types/tutorial.types";
interface HighlightedEditor {
diff --git a/packages/cursorless-tutorial/src/specialTerms.ts b/packages/lib-tutorial/src/specialTerms.ts
similarity index 100%
rename from packages/cursorless-tutorial/src/specialTerms.ts
rename to packages/lib-tutorial/src/specialTerms.ts
diff --git a/packages/cursorless-tutorial/src/stepComponentParsers/ActionComponentParser.ts b/packages/lib-tutorial/src/stepComponentParsers/ActionComponentParser.ts
similarity index 82%
rename from packages/cursorless-tutorial/src/stepComponentParsers/ActionComponentParser.ts
rename to packages/lib-tutorial/src/stepComponentParsers/ActionComponentParser.ts
index 7f17ff9aa9..b7048703ab 100644
--- a/packages/cursorless-tutorial/src/stepComponentParsers/ActionComponentParser.ts
+++ b/packages/lib-tutorial/src/stepComponentParsers/ActionComponentParser.ts
@@ -1,7 +1,7 @@
-import type { ActionType } from "@cursorless/common";
-import { actionNames } from "@cursorless/common";
-import type { CustomSpokenFormGenerator } from "@cursorless/cursorless-engine";
-import { defaultSpokenFormMap } from "@cursorless/cursorless-engine";
+import type { ActionType } from "@cursorless/lib-common";
+import { actionNames } from "@cursorless/lib-common";
+import type { CustomSpokenFormGenerator } from "@cursorless/lib-engine";
+import { defaultSpokenFormMap } from "@cursorless/lib-engine";
import { getSpokenFormStrict } from "../getSpokenFormStrict";
import type {
StepComponent,
diff --git a/packages/cursorless-tutorial/src/stepComponentParsers/CursorlessCommandComponentParser.ts b/packages/lib-tutorial/src/stepComponentParsers/CursorlessCommandComponentParser.ts
similarity index 94%
rename from packages/cursorless-tutorial/src/stepComponentParsers/CursorlessCommandComponentParser.ts
rename to packages/lib-tutorial/src/stepComponentParsers/CursorlessCommandComponentParser.ts
index d4fc10599a..c882cf730a 100644
--- a/packages/cursorless-tutorial/src/stepComponentParsers/CursorlessCommandComponentParser.ts
+++ b/packages/lib-tutorial/src/stepComponentParsers/CursorlessCommandComponentParser.ts
@@ -6,14 +6,14 @@ import type {
TestCaseSnapshot,
TutorialContentProvider,
TutorialId,
-} from "@cursorless/common";
-import { getKey, splitKey } from "@cursorless/common";
-import type { CustomSpokenFormGenerator } from "@cursorless/cursorless-engine";
+} from "@cursorless/lib-common";
+import { getKey, splitKey } from "@cursorless/lib-common";
+import type { CustomSpokenFormGenerator } from "@cursorless/lib-engine";
import {
canonicalizeAndValidateCommand,
getPartialTargetDescriptors,
transformPartialPrimitiveTargets,
-} from "@cursorless/cursorless-engine";
+} from "@cursorless/lib-engine";
import { TutorialError } from "../TutorialError";
import type {
StepComponent,
diff --git a/packages/cursorless-tutorial/src/stepComponentParsers/GraphemeComponentParser.ts b/packages/lib-tutorial/src/stepComponentParsers/GraphemeComponentParser.ts
similarity index 90%
rename from packages/cursorless-tutorial/src/stepComponentParsers/GraphemeComponentParser.ts
rename to packages/lib-tutorial/src/stepComponentParsers/GraphemeComponentParser.ts
index 4ad06029d4..191762c83a 100644
--- a/packages/cursorless-tutorial/src/stepComponentParsers/GraphemeComponentParser.ts
+++ b/packages/lib-tutorial/src/stepComponentParsers/GraphemeComponentParser.ts
@@ -1,4 +1,4 @@
-import type { CustomSpokenFormGenerator } from "@cursorless/cursorless-engine";
+import type { CustomSpokenFormGenerator } from "@cursorless/lib-engine";
import { getSpokenFormStrict } from "../getSpokenFormStrict";
import type {
StepComponent,
diff --git a/packages/cursorless-tutorial/src/stepComponentParsers/parseSpecialComponent.ts b/packages/lib-tutorial/src/stepComponentParsers/parseSpecialComponent.ts
similarity index 100%
rename from packages/cursorless-tutorial/src/stepComponentParsers/parseSpecialComponent.ts
rename to packages/lib-tutorial/src/stepComponentParsers/parseSpecialComponent.ts
diff --git a/packages/cursorless-tutorial/src/stepComponentParsers/parseVisualizeComponent.ts b/packages/lib-tutorial/src/stepComponentParsers/parseVisualizeComponent.ts
similarity index 85%
rename from packages/cursorless-tutorial/src/stepComponentParsers/parseVisualizeComponent.ts
rename to packages/lib-tutorial/src/stepComponentParsers/parseVisualizeComponent.ts
index a03cdfe06e..647ad1172a 100644
--- a/packages/cursorless-tutorial/src/stepComponentParsers/parseVisualizeComponent.ts
+++ b/packages/lib-tutorial/src/stepComponentParsers/parseVisualizeComponent.ts
@@ -1,5 +1,5 @@
-import type { CustomSpokenFormGenerator } from "@cursorless/cursorless-engine";
-import { parseScopeType } from "@cursorless/cursorless-engine";
+import type { CustomSpokenFormGenerator } from "@cursorless/lib-engine";
+import { parseScopeType } from "@cursorless/lib-engine";
import { getScopeTypeSpokenFormStrict } from "../getScopeTypeSpokenFormStrict";
import { specialTerms } from "../specialTerms";
import type { StepComponent } from "../types/StepComponent";
diff --git a/packages/cursorless-tutorial/src/tutorialWrapCommandRunner.ts b/packages/lib-tutorial/src/tutorialWrapCommandRunner.ts
similarity index 89%
rename from packages/cursorless-tutorial/src/tutorialWrapCommandRunner.ts
rename to packages/lib-tutorial/src/tutorialWrapCommandRunner.ts
index 4d6ba32e1c..b927e14eb0 100644
--- a/packages/cursorless-tutorial/src/tutorialWrapCommandRunner.ts
+++ b/packages/lib-tutorial/src/tutorialWrapCommandRunner.ts
@@ -1,5 +1,5 @@
-import type { CommandComplete } from "@cursorless/common";
-import type { CommandRunner } from "@cursorless/cursorless-engine";
+import type { CommandComplete } from "@cursorless/lib-common";
+import type { CommandRunner } from "@cursorless/lib-engine";
import { isEqual } from "lodash-es";
import type { TutorialContent } from "./types/tutorial.types";
import type { Tutorial } from "./Tutorial";
diff --git a/packages/cursorless-tutorial/src/types/StepComponent.ts b/packages/lib-tutorial/src/types/StepComponent.ts
similarity index 94%
rename from packages/cursorless-tutorial/src/types/StepComponent.ts
rename to packages/lib-tutorial/src/types/StepComponent.ts
index 3ec4222171..8bc5308c32 100644
--- a/packages/cursorless-tutorial/src/types/StepComponent.ts
+++ b/packages/lib-tutorial/src/types/StepComponent.ts
@@ -1,4 +1,4 @@
-import type { TutorialStepFragment } from "@cursorless/common";
+import type { TutorialStepFragment } from "@cursorless/lib-common";
import type { TutorialStep } from "./tutorial.types";
/**
diff --git a/packages/cursorless-tutorial/src/types/TutorialStepTrigger.ts b/packages/lib-tutorial/src/types/TutorialStepTrigger.ts
similarity index 92%
rename from packages/cursorless-tutorial/src/types/TutorialStepTrigger.ts
rename to packages/lib-tutorial/src/types/TutorialStepTrigger.ts
index 72ae804b9e..a4d9975aa5 100644
--- a/packages/cursorless-tutorial/src/types/TutorialStepTrigger.ts
+++ b/packages/lib-tutorial/src/types/TutorialStepTrigger.ts
@@ -1,4 +1,4 @@
-import type { CommandComplete, ScopeType } from "@cursorless/common";
+import type { CommandComplete, ScopeType } from "@cursorless/lib-common";
/**
* Advance to the next step when the user completes a command
diff --git a/packages/cursorless-tutorial/src/types/tutorial.types.ts b/packages/lib-tutorial/src/types/tutorial.types.ts
similarity index 97%
rename from packages/cursorless-tutorial/src/types/tutorial.types.ts
rename to packages/lib-tutorial/src/types/tutorial.types.ts
index 16143db6b3..1334737d5f 100644
--- a/packages/cursorless-tutorial/src/types/tutorial.types.ts
+++ b/packages/lib-tutorial/src/types/tutorial.types.ts
@@ -1,7 +1,7 @@
import type {
TestCaseSnapshot,
TutorialStepFragment,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type { TutorialStepTrigger } from "./TutorialStepTrigger";
/**
diff --git a/packages/neovim-common/tsconfig.json b/packages/lib-tutorial/tsconfig.json
similarity index 100%
rename from packages/neovim-common/tsconfig.json
rename to packages/lib-tutorial/tsconfig.json
diff --git a/packages/vscode-common/package.json b/packages/lib-vscode-common/package.json
similarity index 81%
rename from packages/vscode-common/package.json
rename to packages/lib-vscode-common/package.json
index 09b733c9f2..90ff2000e2 100644
--- a/packages/vscode-common/package.json
+++ b/packages/lib-vscode-common/package.json
@@ -1,5 +1,5 @@
{
- "name": "@cursorless/vscode-common",
+ "name": "@cursorless/lib-vscode-common",
"version": "0.1.0",
"description": "Common utility functions usable anywhere that VSCode api is available",
"license": "MIT",
@@ -12,7 +12,7 @@
"clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build"
},
"dependencies": {
- "@cursorless/common": "workspace:*"
+ "@cursorless/lib-common": "workspace:*"
},
"devDependencies": {
"@types/vscode": "1.98.0"
diff --git a/packages/vscode-common/src/ScopeVisualizerColorConfig.ts b/packages/lib-vscode-common/src/ScopeVisualizerColorConfig.ts
similarity index 100%
rename from packages/vscode-common/src/ScopeVisualizerColorConfig.ts
rename to packages/lib-vscode-common/src/ScopeVisualizerColorConfig.ts
diff --git a/packages/vscode-common/src/SpyWebViewEvent.ts b/packages/lib-vscode-common/src/SpyWebViewEvent.ts
similarity index 100%
rename from packages/vscode-common/src/SpyWebViewEvent.ts
rename to packages/lib-vscode-common/src/SpyWebViewEvent.ts
diff --git a/packages/vscode-common/src/TestHelpers.ts b/packages/lib-vscode-common/src/TestHelpers.ts
similarity index 97%
rename from packages/vscode-common/src/TestHelpers.ts
rename to packages/lib-vscode-common/src/TestHelpers.ts
index d9a5484975..6bc6903ee1 100644
--- a/packages/vscode-common/src/TestHelpers.ts
+++ b/packages/lib-vscode-common/src/TestHelpers.ts
@@ -4,7 +4,7 @@ import type {
ScopeProvider,
TestHelpers,
TextEditor,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type * as vscode from "vscode";
import type { VscodeApi } from "./VscodeApi";
import type { SpyWebViewEvent } from "./SpyWebViewEvent";
diff --git a/packages/vscode-common/src/VscodeApi.ts b/packages/lib-vscode-common/src/VscodeApi.ts
similarity index 100%
rename from packages/vscode-common/src/VscodeApi.ts
rename to packages/lib-vscode-common/src/VscodeApi.ts
diff --git a/packages/vscode-common/src/getExtensionApi.ts b/packages/lib-vscode-common/src/getExtensionApi.ts
similarity index 95%
rename from packages/vscode-common/src/getExtensionApi.ts
rename to packages/lib-vscode-common/src/getExtensionApi.ts
index 88fdf75756..ee47878f70 100644
--- a/packages/vscode-common/src/getExtensionApi.ts
+++ b/packages/lib-vscode-common/src/getExtensionApi.ts
@@ -1,4 +1,4 @@
-import type { CommandServerApi } from "@cursorless/common";
+import type { CommandServerApi } from "@cursorless/lib-common";
import * as vscode from "vscode";
import type { Query, Tree } from "web-tree-sitter";
import type { VscodeTestHelpers } from "./TestHelpers";
diff --git a/packages/vscode-common/src/index.ts b/packages/lib-vscode-common/src/index.ts
similarity index 100%
rename from packages/vscode-common/src/index.ts
rename to packages/lib-vscode-common/src/index.ts
diff --git a/packages/vscode-common/src/notebook.ts b/packages/lib-vscode-common/src/notebook.ts
similarity index 100%
rename from packages/vscode-common/src/notebook.ts
rename to packages/lib-vscode-common/src/notebook.ts
diff --git a/packages/vscode-common/src/runCommand.ts b/packages/lib-vscode-common/src/runCommand.ts
similarity index 91%
rename from packages/vscode-common/src/runCommand.ts
rename to packages/lib-vscode-common/src/runCommand.ts
index 8f1e464558..5931b48e87 100644
--- a/packages/vscode-common/src/runCommand.ts
+++ b/packages/lib-vscode-common/src/runCommand.ts
@@ -2,8 +2,8 @@ import type {
ActionDescriptor,
Command,
CommandResponse,
-} from "@cursorless/common";
-import { CURSORLESS_COMMAND_ID, LATEST_VERSION } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { CURSORLESS_COMMAND_ID, LATEST_VERSION } from "@cursorless/lib-common";
import * as vscode from "vscode";
export async function runCursorlessCommand(
diff --git a/packages/vscode-common/src/testUtil/closeUiElements.ts b/packages/lib-vscode-common/src/testUtil/closeUiElements.ts
similarity index 100%
rename from packages/vscode-common/src/testUtil/closeUiElements.ts
rename to packages/lib-vscode-common/src/testUtil/closeUiElements.ts
diff --git a/packages/vscode-common/src/testUtil/getReusableEditor.ts b/packages/lib-vscode-common/src/testUtil/getReusableEditor.ts
similarity index 100%
rename from packages/vscode-common/src/testUtil/getReusableEditor.ts
rename to packages/lib-vscode-common/src/testUtil/getReusableEditor.ts
diff --git a/packages/vscode-common/src/testUtil/openNewEditor.ts b/packages/lib-vscode-common/src/testUtil/openNewEditor.ts
similarity index 100%
rename from packages/vscode-common/src/testUtil/openNewEditor.ts
rename to packages/lib-vscode-common/src/testUtil/openNewEditor.ts
diff --git a/packages/vscode-common/src/vscodeUtil.ts b/packages/lib-vscode-common/src/vscodeUtil.ts
similarity index 92%
rename from packages/vscode-common/src/vscodeUtil.ts
rename to packages/lib-vscode-common/src/vscodeUtil.ts
index 6152097f67..0b8a4e8ee2 100644
--- a/packages/vscode-common/src/vscodeUtil.ts
+++ b/packages/lib-vscode-common/src/vscodeUtil.ts
@@ -1,5 +1,5 @@
-import type { EndOfLine } from "@cursorless/common";
-import { Position, Range, Selection } from "@cursorless/common";
+import type { EndOfLine } from "@cursorless/lib-common";
+import { Position, Range, Selection } from "@cursorless/lib-common";
import * as vscode from "vscode";
export function toVscodeRange(range: Range): vscode.Range {
diff --git a/packages/neovim-registry/tsconfig.json b/packages/lib-vscode-common/tsconfig.json
similarity index 100%
rename from packages/neovim-registry/tsconfig.json
rename to packages/lib-vscode-common/tsconfig.json
diff --git a/packages/cursorless-vscode-tutorial-webview/README.md b/packages/lib-vscode-tutorial-webview/README.md
similarity index 100%
rename from packages/cursorless-vscode-tutorial-webview/README.md
rename to packages/lib-vscode-tutorial-webview/README.md
diff --git a/packages/cursorless-vscode-tutorial-webview/package.json b/packages/lib-vscode-tutorial-webview/package.json
similarity index 88%
rename from packages/cursorless-vscode-tutorial-webview/package.json
rename to packages/lib-vscode-tutorial-webview/package.json
index 7d3fd6c69d..cea2f01f72 100644
--- a/packages/cursorless-vscode-tutorial-webview/package.json
+++ b/packages/lib-vscode-tutorial-webview/package.json
@@ -1,5 +1,5 @@
{
- "name": "@cursorless/cursorless-vscode-tutorial-webview",
+ "name": "@cursorless/lib-vscode-tutorial-webview",
"version": "1.0.0",
"description": "Contains the VSCode webview frontend for the Cursorless tutorial",
"license": "MIT",
@@ -14,7 +14,7 @@
"bundle:watch": "env NODE_OPTIONS=--import=tsx vite build --mode development --watch"
},
"dependencies": {
- "@cursorless/common": "workspace:*",
+ "@cursorless/lib-common": "workspace:*",
"bootstrap": "^5.3.8",
"preact": "^10.29.0"
},
diff --git a/packages/cursorless-vscode-tutorial-webview/src/App.tsx b/packages/lib-vscode-tutorial-webview/src/App.tsx
similarity index 97%
rename from packages/cursorless-vscode-tutorial-webview/src/App.tsx
rename to packages/lib-vscode-tutorial-webview/src/App.tsx
index 976a80ddd5..5fb2e025da 100644
--- a/packages/cursorless-vscode-tutorial-webview/src/App.tsx
+++ b/packages/lib-vscode-tutorial-webview/src/App.tsx
@@ -1,4 +1,4 @@
-import type { TutorialState } from "@cursorless/common";
+import type { TutorialState } from "@cursorless/lib-common";
import { useEffect, useState } from "preact/hooks";
import type { WebviewApi } from "vscode-webview";
import { Command } from "./Command";
diff --git a/packages/cursorless-vscode-tutorial-webview/src/ArrowLeftIcon.tsx b/packages/lib-vscode-tutorial-webview/src/ArrowLeftIcon.tsx
similarity index 100%
rename from packages/cursorless-vscode-tutorial-webview/src/ArrowLeftIcon.tsx
rename to packages/lib-vscode-tutorial-webview/src/ArrowLeftIcon.tsx
diff --git a/packages/cursorless-vscode-tutorial-webview/src/ArrowRightIcon.tsx b/packages/lib-vscode-tutorial-webview/src/ArrowRightIcon.tsx
similarity index 100%
rename from packages/cursorless-vscode-tutorial-webview/src/ArrowRightIcon.tsx
rename to packages/lib-vscode-tutorial-webview/src/ArrowRightIcon.tsx
diff --git a/packages/cursorless-vscode-tutorial-webview/src/CloseIcon.tsx b/packages/lib-vscode-tutorial-webview/src/CloseIcon.tsx
similarity index 100%
rename from packages/cursorless-vscode-tutorial-webview/src/CloseIcon.tsx
rename to packages/lib-vscode-tutorial-webview/src/CloseIcon.tsx
diff --git a/packages/cursorless-vscode-tutorial-webview/src/Command.tsx b/packages/lib-vscode-tutorial-webview/src/Command.tsx
similarity index 100%
rename from packages/cursorless-vscode-tutorial-webview/src/Command.tsx
rename to packages/lib-vscode-tutorial-webview/src/Command.tsx
diff --git a/packages/cursorless-vscode-tutorial-webview/src/ProgressBar.tsx b/packages/lib-vscode-tutorial-webview/src/ProgressBar.tsx
similarity index 100%
rename from packages/cursorless-vscode-tutorial-webview/src/ProgressBar.tsx
rename to packages/lib-vscode-tutorial-webview/src/ProgressBar.tsx
diff --git a/packages/cursorless-vscode-tutorial-webview/src/TutorialStep.tsx b/packages/lib-vscode-tutorial-webview/src/TutorialStep.tsx
similarity index 97%
rename from packages/cursorless-vscode-tutorial-webview/src/TutorialStep.tsx
rename to packages/lib-vscode-tutorial-webview/src/TutorialStep.tsx
index 18c34f20d3..01d7c0bc0e 100644
--- a/packages/cursorless-vscode-tutorial-webview/src/TutorialStep.tsx
+++ b/packages/lib-vscode-tutorial-webview/src/TutorialStep.tsx
@@ -1,4 +1,4 @@
-import type { ActiveTutorialNoErrorsState } from "@cursorless/common";
+import type { ActiveTutorialNoErrorsState } from "@cursorless/lib-common";
import type { WebviewApi } from "vscode-webview";
import { ArrowLeftIcon } from "./ArrowLeftIcon";
import { ArrowRightIcon } from "./ArrowRightIcon";
diff --git a/packages/cursorless-vscode-tutorial-webview/src/index.css b/packages/lib-vscode-tutorial-webview/src/index.css
similarity index 100%
rename from packages/cursorless-vscode-tutorial-webview/src/index.css
rename to packages/lib-vscode-tutorial-webview/src/index.css
diff --git a/packages/cursorless-vscode-tutorial-webview/src/index.tsx b/packages/lib-vscode-tutorial-webview/src/index.tsx
similarity index 100%
rename from packages/cursorless-vscode-tutorial-webview/src/index.tsx
rename to packages/lib-vscode-tutorial-webview/src/index.tsx
diff --git a/packages/cursorless-vscode-tutorial-webview/tsconfig.json b/packages/lib-vscode-tutorial-webview/tsconfig.json
similarity index 100%
rename from packages/cursorless-vscode-tutorial-webview/tsconfig.json
rename to packages/lib-vscode-tutorial-webview/tsconfig.json
diff --git a/packages/cursorless-vscode-tutorial-webview/vite.config.ts b/packages/lib-vscode-tutorial-webview/vite.config.ts
similarity index 89%
rename from packages/cursorless-vscode-tutorial-webview/vite.config.ts
rename to packages/lib-vscode-tutorial-webview/vite.config.ts
index c5714580e0..0495d2eb31 100644
--- a/packages/cursorless-vscode-tutorial-webview/vite.config.ts
+++ b/packages/lib-vscode-tutorial-webview/vite.config.ts
@@ -1,4 +1,4 @@
-import { vitePreactAlias } from "@cursorless/common/vite";
+import { vitePreactAlias } from "@cursorless/lib-common/vite";
import { defineConfig, type UserConfig } from "vite";
import purgeCss from "vite-plugin-purgecss";
diff --git a/packages/neovim-common/src/runCommand.ts b/packages/neovim-common/src/runCommand.ts
deleted file mode 100644
index 03a78a42fd..0000000000
--- a/packages/neovim-common/src/runCommand.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import type { Command, CommandResponse } from "@cursorless/common";
-import { CURSORLESS_COMMAND_ID } from "@cursorless/common";
-import { getNeovimRegistry } from "@cursorless/neovim-registry";
-
-export async function runCursorlessCommand(
- command: Command,
-): Promise {
- return await getNeovimRegistry().executeCommand(
- CURSORLESS_COMMAND_ID,
- command,
- );
-}
diff --git a/packages/cursorless-neovim-e2e/package.json b/packages/test-neovim-e2e/package.json
similarity index 62%
rename from packages/cursorless-neovim-e2e/package.json
rename to packages/test-neovim-e2e/package.json
index dc82a86b6a..e6d1cc91bf 100644
--- a/packages/cursorless-neovim-e2e/package.json
+++ b/packages/test-neovim-e2e/package.json
@@ -1,5 +1,5 @@
{
- "name": "@cursorless/cursorless-neovim-e2e",
+ "name": "@cursorless/test-neovim-e2e",
"version": "1.0.0",
"description": "Our neovim end-to-end tests",
"license": "MIT",
@@ -10,11 +10,11 @@
"clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build"
},
"dependencies": {
- "@cursorless/common": "workspace:*",
- "@cursorless/neovim-common": "workspace:*",
- "@cursorless/neovim-registry": "workspace:*",
- "@cursorless/node-common": "workspace:*",
- "@cursorless/test-case-recorder": "workspace:*"
+ "@cursorless/lib-common": "workspace:*",
+ "@cursorless/lib-neovim-common": "workspace:*",
+ "@cursorless/lib-neovim-registry": "workspace:*",
+ "@cursorless/lib-node-common": "workspace:*",
+ "@cursorless/lib-test-case-recorder": "workspace:*"
},
"devDependencies": {
"@types/chai": "^5.2.3",
diff --git a/packages/cursorless-neovim-e2e/src/endToEndTestSetup.ts b/packages/test-neovim-e2e/src/endToEndTestSetup.ts
similarity index 90%
rename from packages/cursorless-neovim-e2e/src/endToEndTestSetup.ts
rename to packages/test-neovim-e2e/src/endToEndTestSetup.ts
index 378d661315..1894d02ae6 100644
--- a/packages/cursorless-neovim-e2e/src/endToEndTestSetup.ts
+++ b/packages/test-neovim-e2e/src/endToEndTestSetup.ts
@@ -1,7 +1,7 @@
-import type { IDE } from "@cursorless/common";
-import { shouldUpdateFixtures, sleep, SpyIDE } from "@cursorless/common";
-import type { NeovimIDE } from "@cursorless/neovim-common";
-import { getCursorlessApi } from "@cursorless/neovim-common";
+import type { IDE } from "@cursorless/lib-common";
+import { shouldUpdateFixtures, sleep, SpyIDE } from "@cursorless/lib-common";
+import type { NeovimIDE } from "@cursorless/lib-neovim-common";
+import { getCursorlessApi } from "@cursorless/lib-neovim-common";
import type { Context } from "mocha";
import * as sinon from "sinon";
diff --git a/packages/cursorless-neovim-e2e/src/shouldRunTest.ts b/packages/test-neovim-e2e/src/shouldRunTest.ts
similarity index 98%
rename from packages/cursorless-neovim-e2e/src/shouldRunTest.ts
rename to packages/test-neovim-e2e/src/shouldRunTest.ts
index 42f3417ed1..c70c2a2821 100644
--- a/packages/cursorless-neovim-e2e/src/shouldRunTest.ts
+++ b/packages/test-neovim-e2e/src/shouldRunTest.ts
@@ -1,4 +1,4 @@
-import type { TestCaseFixtureLegacy } from "@cursorless/common";
+import type { TestCaseFixtureLegacy } from "@cursorless/lib-common";
const failingFixtures = [
// actual finalState.selections.anchor is -1 compared to expected (other fixture.command.action.name == "insertCopyBefore" tests pass fine)
diff --git a/packages/cursorless-neovim-e2e/src/suite/recorded.neovim.test.ts b/packages/test-neovim-e2e/src/suite/recorded.neovim.test.ts
similarity index 88%
rename from packages/cursorless-neovim-e2e/src/suite/recorded.neovim.test.ts
rename to packages/test-neovim-e2e/src/suite/recorded.neovim.test.ts
index 96bc4542c3..d9a3a5192e 100644
--- a/packages/cursorless-neovim-e2e/src/suite/recorded.neovim.test.ts
+++ b/packages/test-neovim-e2e/src/suite/recorded.neovim.test.ts
@@ -1,15 +1,18 @@
-import type { TestCaseFixtureLegacy } from "@cursorless/common";
-import { asyncSafety } from "@cursorless/common";
-import { getRecordedTestPaths, runRecordedTest } from "@cursorless/node-common";
+import type { TestCaseFixtureLegacy } from "@cursorless/lib-common";
+import { asyncSafety } from "@cursorless/lib-common";
+import {
+ getRecordedTestPaths,
+ runRecordedTest,
+} from "@cursorless/lib-node-common";
import type {
NeovimIDE,
NeovimTextEditor,
NewEditorOptions,
-} from "@cursorless/neovim-common";
+} from "@cursorless/lib-neovim-common";
import {
getCursorlessApi,
runCursorlessCommand,
-} from "@cursorless/neovim-common";
+} from "@cursorless/lib-neovim-common";
import * as yaml from "js-yaml";
import type { NeovimClient } from "neovim";
import { promises as fsp } from "node:fs";
@@ -28,7 +31,7 @@ suite("recorded test cases", async function () {
name,
asyncSafety(async () => {
/**
- * The neovim client is set by the test runner in test-harness/src/index.ts into the global object.
+ * The neovim client is set by the test runner in test-runner/src/index.ts into the global object.
* This allows us to access it in the tests that are executed through mocha.
*/
const client = (global as any).additionalParameters.client;
diff --git a/packages/node-common/tsconfig.json b/packages/test-neovim-e2e/tsconfig.json
similarity index 100%
rename from packages/node-common/tsconfig.json
rename to packages/test-neovim-e2e/tsconfig.json
diff --git a/packages/test-harness/README.md b/packages/test-runner/README.md
similarity index 100%
rename from packages/test-harness/README.md
rename to packages/test-runner/README.md
diff --git a/packages/test-harness/package.json b/packages/test-runner/package.json
similarity index 86%
rename from packages/test-harness/package.json
rename to packages/test-runner/package.json
index 938513020c..5860aa7a48 100644
--- a/packages/test-harness/package.json
+++ b/packages/test-runner/package.json
@@ -1,5 +1,5 @@
{
- "name": "@cursorless/test-harness",
+ "name": "@cursorless/test-runner",
"version": "0.1.0",
"description": "Contains scripts and runners for testing Cursorless",
"license": "MIT",
@@ -22,10 +22,10 @@
"generate-test-subset-file-strict": "c-tsx ./src/scripts/generateTestSubsetFile.ts --fail-if-not-exists"
},
"dependencies": {
- "@cursorless/common": "workspace:*",
- "@cursorless/neovim-common": "workspace:*",
- "@cursorless/neovim-registry": "workspace:*",
- "@cursorless/node-common": "workspace:*",
+ "@cursorless/lib-common": "workspace:*",
+ "@cursorless/lib-neovim-common": "workspace:*",
+ "@cursorless/lib-neovim-registry": "workspace:*",
+ "@cursorless/lib-node-common": "workspace:*",
"glob": "^13.0.6",
"neovim": "^5.4.0",
"tail": "^2.2.6"
diff --git a/packages/test-harness/scripts/compile-esbuild.sh b/packages/test-runner/scripts/compile-esbuild.sh
similarity index 100%
rename from packages/test-harness/scripts/compile-esbuild.sh
rename to packages/test-runner/scripts/compile-esbuild.sh
diff --git a/packages/test-harness/scripts/run-esbuild.sh b/packages/test-runner/scripts/run-esbuild.sh
similarity index 100%
rename from packages/test-harness/scripts/run-esbuild.sh
rename to packages/test-runner/scripts/run-esbuild.sh
diff --git a/packages/test-harness/src/config/init.lua b/packages/test-runner/src/config/init.lua
similarity index 100%
rename from packages/test-harness/src/config/init.lua
rename to packages/test-runner/src/config/init.lua
diff --git a/packages/test-harness/src/launchNeovimAndRunTests.ts b/packages/test-runner/src/launchNeovimAndRunTests.ts
similarity index 91%
rename from packages/test-harness/src/launchNeovimAndRunTests.ts
rename to packages/test-runner/src/launchNeovimAndRunTests.ts
index 90ac2fc75e..5f247a1641 100644
--- a/packages/test-harness/src/launchNeovimAndRunTests.ts
+++ b/packages/test-runner/src/launchNeovimAndRunTests.ts
@@ -1,5 +1,5 @@
-import { getEnvironmentVariableStrict } from "@cursorless/common";
-import { getCursorlessRepoRoot, isWindows } from "@cursorless/node-common";
+import { getEnvironmentVariableStrict } from "@cursorless/lib-common";
+import { getCursorlessRepoRoot, isWindows } from "@cursorless/lib-node-common";
import * as cp from "child_process";
import { copyFile, mkdirSync, readdirSync } from "fs";
import process from "node:process";
@@ -22,7 +22,7 @@ export async function launchNeovimAndRunTests() {
const cli = getEnvironmentVariableStrict("NEOVIM_PATH");
let nvimFolder = "";
- const initLuaFile = `${getCursorlessRepoRoot()}/packages/test-harness/src/config/init.lua`;
+ const initLuaFile = `${getCursorlessRepoRoot()}/packages/test-runner/src/config/init.lua`;
if (process.platform === "win32") {
nvimFolder = "C:/Users/runneradmin/AppData/Local/nvim/";
} else if (process.platform === "linux") {
@@ -50,7 +50,7 @@ export async function launchNeovimAndRunTests() {
console.log(`\t${file}`);
});
- const logName = `${getCursorlessRepoRoot()}/packages/cursorless-neovim/out/nvim_node.log`;
+ const logName = `${getCursorlessRepoRoot()}/packages/app-neovim/out/nvim_node.log`;
// testing normal nvim startup
//https://stackoverflow.com/questions/3025615/is-there-a-vim-runtime-log
@@ -96,11 +96,11 @@ export async function launchNeovimAndRunTests() {
await delay(5000);
console.log("listing cursorless-neovim/out/:");
- readdirSync(
- `${getCursorlessRepoRoot()}/packages/cursorless-neovim/out/`,
- ).forEach((file) => {
- console.log(`\t${file}`);
- });
+ readdirSync(`${getCursorlessRepoRoot()}/packages/app-neovim/out/`).forEach(
+ (file) => {
+ console.log(`\t${file}`);
+ },
+ );
await delay(10000);
@@ -163,7 +163,7 @@ export async function launchNeovimAndRunTests() {
console.log(`killed: ${subprocess.killed}`);
// XXX - code to replace above code, needs more testing
- // code from packages\cursorless-vscode\src\scripts\initLaunchSandbox.ts
+ // code from packages/app-vscode/src/scripts/initLaunchSandbox.ts
// await new Promise((resolve, reject) => {
// subprocess.on("error", reject);
// subprocess.on("exit", (code) => {
diff --git a/packages/test-harness/src/launchVscodeAndRunTests.ts b/packages/test-runner/src/launchVscodeAndRunTests.ts
similarity index 95%
rename from packages/test-harness/src/launchVscodeAndRunTests.ts
rename to packages/test-runner/src/launchVscodeAndRunTests.ts
index f9ae463856..cf05e798b1 100644
--- a/packages/test-harness/src/launchVscodeAndRunTests.ts
+++ b/packages/test-runner/src/launchVscodeAndRunTests.ts
@@ -1,8 +1,8 @@
import {
extensionDependencies,
getEnvironmentVariableStrict,
-} from "@cursorless/common";
-import { getCursorlessRepoRoot, isWindows } from "@cursorless/node-common";
+} from "@cursorless/lib-common";
+import { getCursorlessRepoRoot, isWindows } from "@cursorless/lib-node-common";
import {
downloadAndUnzipVSCode,
resolveCliArgsFromVSCodeExecutablePath,
@@ -23,7 +23,7 @@ export async function launchVscodeAndRunTests(extensionTestsPath: string) {
// Passed to `--extensionDevelopmentPath`
const extensionDevelopmentPath = path.resolve(
getCursorlessRepoRoot(),
- "packages/cursorless-vscode/dist",
+ "packages/app-vscode/dist",
);
const crashDir = getEnvironmentVariableStrict("VSCODE_CRASH_DIR");
diff --git a/packages/test-harness/src/runAllTests.ts b/packages/test-runner/src/runAllTests.ts
similarity index 97%
rename from packages/test-harness/src/runAllTests.ts
rename to packages/test-runner/src/runAllTests.ts
index 867fe2b4c8..4225119ee5 100644
--- a/packages/test-harness/src/runAllTests.ts
+++ b/packages/test-runner/src/runAllTests.ts
@@ -1,4 +1,4 @@
-import { getCursorlessRepoRoot } from "@cursorless/node-common";
+import { getCursorlessRepoRoot } from "@cursorless/lib-node-common";
import { glob } from "glob";
import Mocha from "mocha";
import * as path from "node:path";
diff --git a/packages/test-harness/src/runners/README.md b/packages/test-runner/src/runners/README.md
similarity index 100%
rename from packages/test-harness/src/runners/README.md
rename to packages/test-runner/src/runners/README.md
diff --git a/packages/test-harness/src/runners/extensionTestsNeovim.ts b/packages/test-runner/src/runners/extensionTestsNeovim.ts
similarity index 100%
rename from packages/test-harness/src/runners/extensionTestsNeovim.ts
rename to packages/test-runner/src/runners/extensionTestsNeovim.ts
diff --git a/packages/test-harness/src/runners/extensionTestsVscode.ts b/packages/test-runner/src/runners/extensionTestsVscode.ts
similarity index 100%
rename from packages/test-harness/src/runners/extensionTestsVscode.ts
rename to packages/test-runner/src/runners/extensionTestsVscode.ts
diff --git a/packages/test-harness/src/scripts/generateTestSubsetFile.ts b/packages/test-runner/src/scripts/generateTestSubsetFile.ts
similarity index 100%
rename from packages/test-harness/src/scripts/generateTestSubsetFile.ts
rename to packages/test-runner/src/scripts/generateTestSubsetFile.ts
diff --git a/packages/test-harness/src/scripts/runNeovimTestsCI.ts b/packages/test-runner/src/scripts/runNeovimTestsCI.ts
similarity index 100%
rename from packages/test-harness/src/scripts/runNeovimTestsCI.ts
rename to packages/test-runner/src/scripts/runNeovimTestsCI.ts
diff --git a/packages/test-harness/src/scripts/runTalonJsTests.ts b/packages/test-runner/src/scripts/runTalonJsTests.ts
similarity index 100%
rename from packages/test-harness/src/scripts/runTalonJsTests.ts
rename to packages/test-runner/src/scripts/runTalonJsTests.ts
diff --git a/packages/test-harness/src/scripts/runTalonTests.ts b/packages/test-runner/src/scripts/runTalonTests.ts
similarity index 100%
rename from packages/test-harness/src/scripts/runTalonTests.ts
rename to packages/test-runner/src/scripts/runTalonTests.ts
diff --git a/packages/test-harness/src/scripts/runUnitTests.ts b/packages/test-runner/src/scripts/runUnitTests.ts
similarity index 100%
rename from packages/test-harness/src/scripts/runUnitTests.ts
rename to packages/test-runner/src/scripts/runUnitTests.ts
diff --git a/packages/test-harness/src/scripts/runVscodeTestsCI.ts b/packages/test-runner/src/scripts/runVscodeTestsCI.ts
similarity index 70%
rename from packages/test-harness/src/scripts/runVscodeTestsCI.ts
rename to packages/test-runner/src/scripts/runVscodeTestsCI.ts
index 4cde3f5837..c82f155da0 100644
--- a/packages/test-harness/src/scripts/runVscodeTestsCI.ts
+++ b/packages/test-runner/src/scripts/runVscodeTestsCI.ts
@@ -2,13 +2,13 @@
* This file can be run from node to run vscode tests in CI
*/
-import { getCursorlessRepoRoot } from "@cursorless/node-common";
+import { getCursorlessRepoRoot } from "@cursorless/lib-node-common";
import * as path from "node:path";
import { launchVscodeAndRunTests } from "../launchVscodeAndRunTests";
const extensionTestsPath = path.resolve(
getCursorlessRepoRoot(),
- "packages/test-harness/out/extensionTestsVscode.cjs",
+ "packages/test-runner/out/extensionTestsVscode.cjs",
);
void launchVscodeAndRunTests(extensionTestsPath);
diff --git a/packages/test-harness/src/testSubset.ts b/packages/test-runner/src/testSubset.ts
similarity index 92%
rename from packages/test-harness/src/testSubset.ts
rename to packages/test-runner/src/testSubset.ts
index e3d106c446..a7dad16e1e 100644
--- a/packages/test-harness/src/testSubset.ts
+++ b/packages/test-runner/src/testSubset.ts
@@ -1,6 +1,6 @@
import * as fs from "node:fs";
import * as path from "node:path";
-import { getCursorlessRepoRoot } from "@cursorless/node-common";
+import { getCursorlessRepoRoot } from "@cursorless/lib-node-common";
/**
* Returns the grep string to pass to Mocha when running a subset of tests.
@@ -24,7 +24,7 @@ export function testSubsetFilePath() {
return path.join(
getCursorlessRepoRoot(),
"packages",
- "test-harness",
+ "test-runner",
"testSubsetGrep.properties",
);
}
@@ -33,7 +33,7 @@ function testFailedFilePath() {
return path.join(
getCursorlessRepoRoot(),
"packages",
- "test-harness",
+ "test-runner",
"failedTests.properties",
);
}
@@ -54,7 +54,7 @@ export function runTestSubset() {
/**
* Determine whether we should log the failed tests to a file. This makes it easier to put them in `testSubsetGrep.properties` for faster iterating.
- * @returns `true` if we should log failed tests to `packages/test-harness/failedTests.properties`
+ * @returns `true` if we should log failed tests to `packages/test-runner/failedTests.properties`
*/
export function shouldLogFailedTests() {
return process.env.CURSORLESS_LOG_FAILED === "true";
diff --git a/packages/sentence-parser/tsconfig.json b/packages/test-runner/tsconfig.json
similarity index 100%
rename from packages/sentence-parser/tsconfig.json
rename to packages/test-runner/tsconfig.json
diff --git a/packages/cursorless-everywhere-talon-e2e/package.json b/packages/test-talon-e2e/package.json
similarity index 62%
rename from packages/cursorless-everywhere-talon-e2e/package.json
rename to packages/test-talon-e2e/package.json
index cdde669831..7bc4837340 100644
--- a/packages/cursorless-everywhere-talon-e2e/package.json
+++ b/packages/test-talon-e2e/package.json
@@ -1,5 +1,5 @@
{
- "name": "@cursorless/cursorless-everywhere-talon-e2e",
+ "name": "@cursorless/test-talon-e2e",
"version": "1.0.0",
"description": "Our Talon everywhere/JS end-to-end tests",
"license": "MIT",
@@ -11,10 +11,10 @@
"test:quickjs": "bash ./scripts/test-quickjs.sh"
},
"dependencies": {
- "@cursorless/common": "workspace:*",
- "@cursorless/cursorless-everywhere-talon-core": "workspace:*",
- "@cursorless/node-common": "workspace:*",
- "@cursorless/test-case-recorder": "workspace:*"
+ "@cursorless/lib-common": "workspace:*",
+ "@cursorless/lib-node-common": "workspace:*",
+ "@cursorless/lib-talon-core": "workspace:*",
+ "@cursorless/lib-test-case-recorder": "workspace:*"
},
"devDependencies": {
"@types/mocha": "^10.0.10",
diff --git a/packages/cursorless-everywhere-talon-e2e/scripts/test-quickjs.sh b/packages/test-talon-e2e/scripts/test-quickjs.sh
similarity index 100%
rename from packages/cursorless-everywhere-talon-e2e/scripts/test-quickjs.sh
rename to packages/test-talon-e2e/scripts/test-quickjs.sh
diff --git a/packages/cursorless-everywhere-talon-e2e/src/constructTestHelpers.ts b/packages/test-talon-e2e/src/constructTestHelpers.ts
similarity index 79%
rename from packages/cursorless-everywhere-talon-e2e/src/constructTestHelpers.ts
rename to packages/test-talon-e2e/src/constructTestHelpers.ts
index 7ebdef668c..fc86ab343f 100644
--- a/packages/cursorless-everywhere-talon-e2e/src/constructTestHelpers.ts
+++ b/packages/test-talon-e2e/src/constructTestHelpers.ts
@@ -6,9 +6,9 @@ import type {
TestCaseSnapshot,
TestHelpers,
TextEditor,
-} from "@cursorless/common";
-import type { TalonJsTestHelpers } from "@cursorless/cursorless-everywhere-talon-core";
-import { takeSnapshot } from "@cursorless/test-case-recorder";
+} from "@cursorless/lib-common";
+import type { TalonJsTestHelpers } from "@cursorless/lib-talon-core";
+import { takeSnapshot } from "@cursorless/lib-test-case-recorder";
export function constructTestHelpers(
testHelpers: TalonJsTestHelpers,
diff --git a/packages/cursorless-everywhere-talon-e2e/src/endToEndTestSetUp.ts b/packages/test-talon-e2e/src/endToEndTestSetUp.ts
similarity index 85%
rename from packages/cursorless-everywhere-talon-e2e/src/endToEndTestSetUp.ts
rename to packages/test-talon-e2e/src/endToEndTestSetUp.ts
index 25de5ef014..4258063931 100644
--- a/packages/cursorless-everywhere-talon-e2e/src/endToEndTestSetUp.ts
+++ b/packages/test-talon-e2e/src/endToEndTestSetUp.ts
@@ -1,5 +1,5 @@
-import { type IDE, SpyIDE } from "@cursorless/common";
-import type { TalonJsTestHelpers } from "@cursorless/cursorless-everywhere-talon-core";
+import { type IDE, SpyIDE } from "@cursorless/lib-common";
+import type { TalonJsTestHelpers } from "@cursorless/lib-talon-core";
import type { Context } from "mocha";
interface EndToEndTestSetupOpts {
diff --git a/packages/cursorless-everywhere-talon-e2e/src/quickjsTest.ts b/packages/test-talon-e2e/src/quickjsTest.ts
similarity index 95%
rename from packages/cursorless-everywhere-talon-e2e/src/quickjsTest.ts
rename to packages/test-talon-e2e/src/quickjsTest.ts
index 1efc34276c..98e2d6c3d7 100644
--- a/packages/cursorless-everywhere-talon-e2e/src/quickjsTest.ts
+++ b/packages/test-talon-e2e/src/quickjsTest.ts
@@ -2,8 +2,8 @@ import {
LATEST_VERSION,
type ActionDescriptor,
type CommandLatest,
-} from "@cursorless/common";
-import { activate } from "@cursorless/cursorless-everywhere-talon-core";
+} from "@cursorless/lib-common";
+import { activate } from "@cursorless/lib-talon-core";
import * as std from "std";
import { talonMock } from "./talonMock";
diff --git a/packages/cursorless-everywhere-talon-e2e/src/recorded.talonjs.test.ts b/packages/test-talon-e2e/src/recorded.talonjs.test.ts
similarity index 95%
rename from packages/cursorless-everywhere-talon-e2e/src/recorded.talonjs.test.ts
rename to packages/test-talon-e2e/src/recorded.talonjs.test.ts
index e697bd97fb..857b9568d3 100644
--- a/packages/cursorless-everywhere-talon-e2e/src/recorded.talonjs.test.ts
+++ b/packages/test-talon-e2e/src/recorded.talonjs.test.ts
@@ -2,17 +2,17 @@ import {
asyncSafety,
DEFAULT_TEXT_EDITOR_OPTIONS_FOR_TEST,
type TextEditor,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import {
activate,
type EditorState,
type TalonJsIDE,
-} from "@cursorless/cursorless-everywhere-talon-core";
+} from "@cursorless/lib-talon-core";
import {
getRecordedTestPaths,
loadFixture,
runRecordedTest,
-} from "@cursorless/node-common";
+} from "@cursorless/lib-node-common";
import { constructTestHelpers } from "./constructTestHelpers";
import { endToEndTestSetup } from "./endToEndTestSetUp";
import { talonMock } from "./talonMock";
diff --git a/packages/cursorless-everywhere-talon-e2e/src/talonMock.ts b/packages/test-talon-e2e/src/talonMock.ts
similarity index 97%
rename from packages/cursorless-everywhere-talon-e2e/src/talonMock.ts
rename to packages/test-talon-e2e/src/talonMock.ts
index 5ac021dbef..6d4f60ca97 100644
--- a/packages/cursorless-everywhere-talon-e2e/src/talonMock.ts
+++ b/packages/test-talon-e2e/src/talonMock.ts
@@ -1,4 +1,4 @@
-import type { RangeOffsets, SelectionOffsets } from "@cursorless/common";
+import type { RangeOffsets, SelectionOffsets } from "@cursorless/lib-common";
import type {
EditorEdit,
EditorState,
@@ -7,7 +7,7 @@ import type {
TalonContext,
TalonContextActions,
TalonSettings,
-} from "@cursorless/cursorless-everywhere-talon-core";
+} from "@cursorless/lib-talon-core";
import type { TalonTestHelpers } from "./types/talon";
let _contextActions: TalonContextActions | undefined;
diff --git a/packages/test-talon-e2e/src/types/cursorless.ts b/packages/test-talon-e2e/src/types/cursorless.ts
new file mode 100644
index 0000000000..14a979880d
--- /dev/null
+++ b/packages/test-talon-e2e/src/types/cursorless.ts
@@ -0,0 +1,6 @@
+import type { RunMode } from "@cursorless/lib-common";
+import type { ActivateReturnValue, Talon } from "@cursorless/lib-talon-core";
+
+export interface Extension {
+ activate(talon: Talon, runMode: RunMode): Promise;
+}
diff --git a/packages/cursorless-everywhere-talon-e2e/src/types/std.d.ts b/packages/test-talon-e2e/src/types/std.d.ts
similarity index 100%
rename from packages/cursorless-everywhere-talon-e2e/src/types/std.d.ts
rename to packages/test-talon-e2e/src/types/std.d.ts
diff --git a/packages/cursorless-everywhere-talon-e2e/src/types/talon.ts b/packages/test-talon-e2e/src/types/talon.ts
similarity index 79%
rename from packages/cursorless-everywhere-talon-e2e/src/types/talon.ts
rename to packages/test-talon-e2e/src/types/talon.ts
index 1edc6ea67d..0ced2475f4 100644
--- a/packages/cursorless-everywhere-talon-e2e/src/types/talon.ts
+++ b/packages/test-talon-e2e/src/types/talon.ts
@@ -1,7 +1,7 @@
import type {
EditorState,
TalonContextActions,
-} from "@cursorless/cursorless-everywhere-talon-core";
+} from "@cursorless/lib-talon-core";
export interface TalonTestHelpers {
contextActions: TalonContextActions;
diff --git a/packages/test-case-recorder/tsconfig.json b/packages/test-talon-e2e/tsconfig.json
similarity index 100%
rename from packages/test-case-recorder/tsconfig.json
rename to packages/test-talon-e2e/tsconfig.json
diff --git a/packages/cursorless-vscode-e2e/package.json b/packages/test-vscode-e2e/package.json
similarity index 78%
rename from packages/cursorless-vscode-e2e/package.json
rename to packages/test-vscode-e2e/package.json
index 1b9c9b1b98..9060aefd12 100644
--- a/packages/cursorless-vscode-e2e/package.json
+++ b/packages/test-vscode-e2e/package.json
@@ -1,5 +1,5 @@
{
- "name": "@cursorless/cursorless-vscode-e2e",
+ "name": "@cursorless/test-vscode-e2e",
"version": "0.1.0",
"description": "Our VSCode end-to-end tests",
"license": "MIT",
@@ -10,9 +10,9 @@
"clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build"
},
"dependencies": {
- "@cursorless/common": "workspace:*",
- "@cursorless/node-common": "workspace:*",
- "@cursorless/vscode-common": "workspace:*",
+ "@cursorless/lib-common": "workspace:*",
+ "@cursorless/lib-node-common": "workspace:*",
+ "@cursorless/lib-vscode-common": "workspace:*",
"immer": "^11.1.4",
"lodash-es": "^4.17.23"
},
diff --git a/packages/cursorless-vscode-e2e/src/endToEndTestSetup.ts b/packages/test-vscode-e2e/src/endToEndTestSetup.ts
similarity index 94%
rename from packages/cursorless-vscode-e2e/src/endToEndTestSetup.ts
rename to packages/test-vscode-e2e/src/endToEndTestSetup.ts
index 4d13c122a8..5d2ffcadde 100644
--- a/packages/cursorless-vscode-e2e/src/endToEndTestSetup.ts
+++ b/packages/test-vscode-e2e/src/endToEndTestSetup.ts
@@ -1,9 +1,9 @@
-import type { IDE, NormalizedIDE } from "@cursorless/common";
-import { shouldUpdateFixtures, sleep, SpyIDE } from "@cursorless/common";
+import type { IDE, NormalizedIDE } from "@cursorless/lib-common";
+import { shouldUpdateFixtures, sleep, SpyIDE } from "@cursorless/lib-common";
import {
getCursorlessApi,
resetReusableEditor,
-} from "@cursorless/vscode-common";
+} from "@cursorless/lib-vscode-common";
import type { Context } from "mocha";
import * as sinon from "sinon";
diff --git a/packages/cursorless-vscode-e2e/src/isCI.ts b/packages/test-vscode-e2e/src/isCI.ts
similarity index 100%
rename from packages/cursorless-vscode-e2e/src/isCI.ts
rename to packages/test-vscode-e2e/src/isCI.ts
diff --git a/packages/cursorless-vscode-e2e/src/mockPrePhraseGetVersion.ts b/packages/test-vscode-e2e/src/mockPrePhraseGetVersion.ts
similarity index 79%
rename from packages/cursorless-vscode-e2e/src/mockPrePhraseGetVersion.ts
rename to packages/test-vscode-e2e/src/mockPrePhraseGetVersion.ts
index 0b91c3f048..872f18a11d 100644
--- a/packages/cursorless-vscode-e2e/src/mockPrePhraseGetVersion.ts
+++ b/packages/test-vscode-e2e/src/mockPrePhraseGetVersion.ts
@@ -1,4 +1,4 @@
-import type { CommandServerApi } from "@cursorless/common";
+import type { CommandServerApi } from "@cursorless/lib-common";
import * as sinon from "sinon";
export function mockPrePhraseGetVersion(
diff --git a/packages/cursorless-vscode-e2e/src/notebook.ts b/packages/test-vscode-e2e/src/notebook.ts
similarity index 100%
rename from packages/cursorless-vscode-e2e/src/notebook.ts
rename to packages/test-vscode-e2e/src/notebook.ts
diff --git a/packages/cursorless-vscode-e2e/src/suite/backwardCompatibility.vscode.test.ts b/packages/test-vscode-e2e/src/suite/backwardCompatibility.vscode.test.ts
similarity index 83%
rename from packages/cursorless-vscode-e2e/src/suite/backwardCompatibility.vscode.test.ts
rename to packages/test-vscode-e2e/src/suite/backwardCompatibility.vscode.test.ts
index f42242e7b7..cf1b38d915 100644
--- a/packages/cursorless-vscode-e2e/src/suite/backwardCompatibility.vscode.test.ts
+++ b/packages/test-vscode-e2e/src/suite/backwardCompatibility.vscode.test.ts
@@ -1,5 +1,8 @@
-import { CURSORLESS_COMMAND_ID } from "@cursorless/common";
-import { getCursorlessApi, getReusableEditor } from "@cursorless/vscode-common";
+import { CURSORLESS_COMMAND_ID } from "@cursorless/lib-common";
+import {
+ getCursorlessApi,
+ getReusableEditor,
+} from "@cursorless/lib-vscode-common";
import * as assert from "assert";
import * as vscode from "vscode";
import { endToEndTestSetup } from "../endToEndTestSetup";
diff --git a/packages/cursorless-vscode-e2e/src/suite/breakpoints.vscode.test.ts b/packages/test-vscode-e2e/src/suite/breakpoints.vscode.test.ts
similarity index 97%
rename from packages/cursorless-vscode-e2e/src/suite/breakpoints.vscode.test.ts
rename to packages/test-vscode-e2e/src/suite/breakpoints.vscode.test.ts
index dc2b319d74..012325f70b 100644
--- a/packages/cursorless-vscode-e2e/src/suite/breakpoints.vscode.test.ts
+++ b/packages/test-vscode-e2e/src/suite/breakpoints.vscode.test.ts
@@ -1,9 +1,9 @@
-import { LATEST_VERSION } from "@cursorless/common";
+import { LATEST_VERSION } from "@cursorless/lib-common";
import {
getCursorlessApi,
openNewEditor,
runCursorlessCommand,
-} from "@cursorless/vscode-common";
+} from "@cursorless/lib-vscode-common";
import * as assert from "assert";
import * as vscode from "vscode";
import { endToEndTestSetup } from "../endToEndTestSetup";
diff --git a/packages/cursorless-vscode-e2e/src/suite/commandHistory.vscode.test.ts b/packages/test-vscode-e2e/src/suite/commandHistory.vscode.test.ts
similarity index 96%
rename from packages/cursorless-vscode-e2e/src/suite/commandHistory.vscode.test.ts
rename to packages/test-vscode-e2e/src/suite/commandHistory.vscode.test.ts
index cf36dd2eae..7b8411175c 100644
--- a/packages/cursorless-vscode-e2e/src/suite/commandHistory.vscode.test.ts
+++ b/packages/test-vscode-e2e/src/suite/commandHistory.vscode.test.ts
@@ -2,13 +2,13 @@ import type {
CommandComplete,
CommandHistoryEntry,
ReplaceActionDescriptor,
-} from "@cursorless/common";
-import { LATEST_VERSION } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { LATEST_VERSION } from "@cursorless/lib-common";
import {
getCursorlessApi,
openNewEditor,
runCursorlessCommand,
-} from "@cursorless/vscode-common";
+} from "@cursorless/lib-vscode-common";
import { assert } from "chai";
import { existsSync } from "node:fs";
import { readFile, readdir, rm } from "node:fs/promises";
diff --git a/packages/cursorless-vscode-e2e/src/suite/containingTokenTwice.vscode.test.ts b/packages/test-vscode-e2e/src/suite/containingTokenTwice.vscode.test.ts
similarity index 93%
rename from packages/cursorless-vscode-e2e/src/suite/containingTokenTwice.vscode.test.ts
rename to packages/test-vscode-e2e/src/suite/containingTokenTwice.vscode.test.ts
index cca12c1b9a..1a77e820c9 100644
--- a/packages/cursorless-vscode-e2e/src/suite/containingTokenTwice.vscode.test.ts
+++ b/packages/test-vscode-e2e/src/suite/containingTokenTwice.vscode.test.ts
@@ -1,9 +1,9 @@
-import { LATEST_VERSION } from "@cursorless/common";
+import { LATEST_VERSION } from "@cursorless/lib-common";
import {
getCursorlessApi,
getReusableEditor,
runCursorlessCommand,
-} from "@cursorless/vscode-common";
+} from "@cursorless/lib-vscode-common";
import { assert } from "chai";
import * as vscode from "vscode";
import { endToEndTestSetup } from "../endToEndTestSetup";
diff --git a/packages/cursorless-vscode-e2e/src/suite/crossCellsSetSelection.vscode.test.ts b/packages/test-vscode-e2e/src/suite/crossCellsSetSelection.vscode.test.ts
similarity index 89%
rename from packages/cursorless-vscode-e2e/src/suite/crossCellsSetSelection.vscode.test.ts
rename to packages/test-vscode-e2e/src/suite/crossCellsSetSelection.vscode.test.ts
index 9cd9b43aab..32e9e5a175 100644
--- a/packages/cursorless-vscode-e2e/src/suite/crossCellsSetSelection.vscode.test.ts
+++ b/packages/test-vscode-e2e/src/suite/crossCellsSetSelection.vscode.test.ts
@@ -1,10 +1,10 @@
-import { LATEST_VERSION } from "@cursorless/common";
-import { isLinux } from "@cursorless/node-common";
+import { LATEST_VERSION } from "@cursorless/lib-common";
+import { isLinux } from "@cursorless/lib-node-common";
import {
getCursorlessApi,
openNewNotebookEditor,
runCursorlessCommand,
-} from "@cursorless/vscode-common";
+} from "@cursorless/lib-vscode-common";
import assert from "assert";
import { window } from "vscode";
import { endToEndTestSetup } from "../endToEndTestSetup";
diff --git a/packages/cursorless-vscode-e2e/src/suite/editNewCell.vscode.test.ts b/packages/test-vscode-e2e/src/suite/editNewCell.vscode.test.ts
similarity index 94%
rename from packages/cursorless-vscode-e2e/src/suite/editNewCell.vscode.test.ts
rename to packages/test-vscode-e2e/src/suite/editNewCell.vscode.test.ts
index d5752b5d66..43ae7834b3 100644
--- a/packages/cursorless-vscode-e2e/src/suite/editNewCell.vscode.test.ts
+++ b/packages/test-vscode-e2e/src/suite/editNewCell.vscode.test.ts
@@ -3,12 +3,12 @@ import {
getCursorlessApi,
openNewNotebookEditor,
runCursorlessCommand,
-} from "@cursorless/vscode-common";
+} from "@cursorless/lib-vscode-common";
import * as assert from "assert";
import { window } from "vscode";
import { endToEndTestSetup, sleepWithBackoff } from "../endToEndTestSetup";
import { getPlainNotebookContents } from "../notebook";
-import { LATEST_VERSION } from "@cursorless/common";
+import { LATEST_VERSION } from "@cursorless/lib-common";
// Check that setSelection is able to focus the correct cell
suite("Edit new cell", async function () {
diff --git a/packages/cursorless-vscode-e2e/src/suite/explicitMark.vscode.test.ts b/packages/test-vscode-e2e/src/suite/explicitMark.vscode.test.ts
similarity index 91%
rename from packages/cursorless-vscode-e2e/src/suite/explicitMark.vscode.test.ts
rename to packages/test-vscode-e2e/src/suite/explicitMark.vscode.test.ts
index 96df5198f0..5298aa3396 100644
--- a/packages/cursorless-vscode-e2e/src/suite/explicitMark.vscode.test.ts
+++ b/packages/test-vscode-e2e/src/suite/explicitMark.vscode.test.ts
@@ -1,9 +1,9 @@
-import { LATEST_VERSION } from "@cursorless/common";
+import { LATEST_VERSION } from "@cursorless/lib-common";
import {
getCursorlessApi,
getReusableEditor,
runCursorlessCommand,
-} from "@cursorless/vscode-common";
+} from "@cursorless/lib-vscode-common";
import * as assert from "assert";
import { Selection } from "vscode";
import { endToEndTestSetup } from "../endToEndTestSetup";
diff --git a/packages/cursorless-vscode-e2e/src/suite/fold.vscode.test.ts b/packages/test-vscode-e2e/src/suite/fold.vscode.test.ts
similarity index 94%
rename from packages/cursorless-vscode-e2e/src/suite/fold.vscode.test.ts
rename to packages/test-vscode-e2e/src/suite/fold.vscode.test.ts
index 46abe5fdc1..c14a52c639 100644
--- a/packages/cursorless-vscode-e2e/src/suite/fold.vscode.test.ts
+++ b/packages/test-vscode-e2e/src/suite/fold.vscode.test.ts
@@ -1,8 +1,8 @@
-import { LATEST_VERSION } from "@cursorless/common";
+import { LATEST_VERSION } from "@cursorless/lib-common";
import {
getReusableEditor,
runCursorlessCommand,
-} from "@cursorless/vscode-common";
+} from "@cursorless/lib-vscode-common";
import * as assert from "node:assert";
import * as vscode from "vscode";
import { endToEndTestSetup } from "../endToEndTestSetup";
diff --git a/packages/cursorless-vscode-e2e/src/suite/followLink.vscode.test.ts b/packages/test-vscode-e2e/src/suite/followLink.vscode.test.ts
similarity index 91%
rename from packages/cursorless-vscode-e2e/src/suite/followLink.vscode.test.ts
rename to packages/test-vscode-e2e/src/suite/followLink.vscode.test.ts
index 1a1007f3d2..76dc9022ed 100644
--- a/packages/cursorless-vscode-e2e/src/suite/followLink.vscode.test.ts
+++ b/packages/test-vscode-e2e/src/suite/followLink.vscode.test.ts
@@ -1,9 +1,9 @@
-import { LATEST_VERSION } from "@cursorless/common";
-import { getFixturePath, isWindows } from "@cursorless/node-common";
+import { LATEST_VERSION } from "@cursorless/lib-common";
+import { getFixturePath, isWindows } from "@cursorless/lib-node-common";
import {
getReusableEditor,
runCursorlessCommand,
-} from "@cursorless/vscode-common";
+} from "@cursorless/lib-vscode-common";
import * as assert from "assert";
import * as vscode from "vscode";
import { endToEndTestSetup } from "../endToEndTestSetup";
diff --git a/packages/cursorless-vscode-e2e/src/suite/groupByDocument.vscode.test.ts b/packages/test-vscode-e2e/src/suite/groupByDocument.vscode.test.ts
similarity index 94%
rename from packages/cursorless-vscode-e2e/src/suite/groupByDocument.vscode.test.ts
rename to packages/test-vscode-e2e/src/suite/groupByDocument.vscode.test.ts
index e7a87804ea..8c08e3600a 100644
--- a/packages/cursorless-vscode-e2e/src/suite/groupByDocument.vscode.test.ts
+++ b/packages/test-vscode-e2e/src/suite/groupByDocument.vscode.test.ts
@@ -1,8 +1,8 @@
-import { LATEST_VERSION, splitKey } from "@cursorless/common";
+import { LATEST_VERSION, splitKey } from "@cursorless/lib-common";
import {
getCursorlessApi,
runCursorlessCommand,
-} from "@cursorless/vscode-common";
+} from "@cursorless/lib-vscode-common";
import * as assert from "node:assert";
import * as vscode from "vscode";
import { endToEndTestSetup } from "../endToEndTestSetup";
diff --git a/packages/cursorless-vscode-e2e/src/suite/instanceAcrossSplit.vscode.test.ts b/packages/test-vscode-e2e/src/suite/instanceAcrossSplit.vscode.test.ts
similarity index 96%
rename from packages/cursorless-vscode-e2e/src/suite/instanceAcrossSplit.vscode.test.ts
rename to packages/test-vscode-e2e/src/suite/instanceAcrossSplit.vscode.test.ts
index 2af9157b2f..839e42f102 100644
--- a/packages/cursorless-vscode-e2e/src/suite/instanceAcrossSplit.vscode.test.ts
+++ b/packages/test-vscode-e2e/src/suite/instanceAcrossSplit.vscode.test.ts
@@ -1,15 +1,15 @@
-import type { Modifier, SpyIDE } from "@cursorless/common";
+import type { Modifier, SpyIDE } from "@cursorless/lib-common";
import {
HatStability,
LATEST_VERSION,
Range,
asyncSafety,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import {
getCursorlessApi,
openNewEditor,
runCursorlessCommand,
-} from "@cursorless/vscode-common";
+} from "@cursorless/lib-vscode-common";
import * as assert from "assert";
import { Selection } from "vscode";
import { endToEndTestSetup } from "../endToEndTestSetup";
diff --git a/packages/cursorless-vscode-e2e/src/suite/intraCellSetSelection.vscode.test.ts b/packages/test-vscode-e2e/src/suite/intraCellSetSelection.vscode.test.ts
similarity index 93%
rename from packages/cursorless-vscode-e2e/src/suite/intraCellSetSelection.vscode.test.ts
rename to packages/test-vscode-e2e/src/suite/intraCellSetSelection.vscode.test.ts
index 09454b47bf..e9f662c93a 100644
--- a/packages/cursorless-vscode-e2e/src/suite/intraCellSetSelection.vscode.test.ts
+++ b/packages/test-vscode-e2e/src/suite/intraCellSetSelection.vscode.test.ts
@@ -1,10 +1,10 @@
-import { LATEST_VERSION, splitKey } from "@cursorless/common";
+import { LATEST_VERSION, splitKey } from "@cursorless/lib-common";
import {
getCellIndex,
getCursorlessApi,
openNewNotebookEditor,
runCursorlessCommand,
-} from "@cursorless/vscode-common";
+} from "@cursorless/lib-vscode-common";
import assert from "assert";
import { window } from "vscode";
import { endToEndTestSetup } from "../endToEndTestSetup";
diff --git a/packages/cursorless-vscode-e2e/src/suite/keyboard/basic.vscode.test.ts b/packages/test-vscode-e2e/src/suite/keyboard/basic.vscode.test.ts
similarity index 98%
rename from packages/cursorless-vscode-e2e/src/suite/keyboard/basic.vscode.test.ts
rename to packages/test-vscode-e2e/src/suite/keyboard/basic.vscode.test.ts
index 531bf4ce1a..01988f7d52 100644
--- a/packages/cursorless-vscode-e2e/src/suite/keyboard/basic.vscode.test.ts
+++ b/packages/test-vscode-e2e/src/suite/keyboard/basic.vscode.test.ts
@@ -2,13 +2,13 @@ import {
getCursorlessApi,
getReusableEditor,
openNewEditor,
-} from "@cursorless/vscode-common";
+} from "@cursorless/lib-vscode-common";
import { assert } from "chai";
import * as vscode from "vscode";
import { endToEndTestSetup, sleepWithBackoff } from "../../endToEndTestSetup";
import sinon from "sinon";
import * as path from "node:path";
-import { getCursorlessRepoRoot } from "@cursorless/node-common";
+import { getCursorlessRepoRoot } from "@cursorless/lib-node-common";
import { readFile } from "node:fs/promises";
interface TestCase {
@@ -320,7 +320,7 @@ async function injectFakes(): Promise {
const keyboardConfigPath = path.join(
getCursorlessRepoRoot(),
- "packages/cursorless-vscode/src/keyboard/keyboard-config.fixture.json",
+ "packages/app-vscode/src/keyboard/keyboard-config.fixture.json",
);
const keyboardConfig = JSON.parse(await readFile(keyboardConfigPath, "utf8"));
diff --git a/packages/cursorless-vscode-e2e/src/suite/performance.vscode.test.ts b/packages/test-vscode-e2e/src/suite/performance.vscode.test.ts
similarity index 97%
rename from packages/cursorless-vscode-e2e/src/suite/performance.vscode.test.ts
rename to packages/test-vscode-e2e/src/suite/performance.vscode.test.ts
index e073e4123e..0d60cfe0b0 100644
--- a/packages/cursorless-vscode-e2e/src/suite/performance.vscode.test.ts
+++ b/packages/test-vscode-e2e/src/suite/performance.vscode.test.ts
@@ -3,17 +3,17 @@ import type {
Modifier,
ScopeType,
SimpleScopeTypeType,
-} from "@cursorless/common";
-import { asyncSafety } from "@cursorless/common";
+} from "@cursorless/lib-common";
+import { asyncSafety } from "@cursorless/lib-common";
import {
getReusableEditor,
runCursorlessAction,
-} from "@cursorless/vscode-common";
+} from "@cursorless/lib-vscode-common";
import assert from "assert";
import * as vscode from "vscode";
import { endToEndTestSetup } from "../endToEndTestSetup";
import { isCI } from "../isCI";
-import { isMac } from "@cursorless/node-common";
+import { isMac } from "@cursorless/lib-node-common";
const testData = generateTestData(100);
const multiplier = calculateMultiplier();
diff --git a/packages/cursorless-vscode-e2e/src/suite/pourAcrossSplit.vscode.test.ts b/packages/test-vscode-e2e/src/suite/pourAcrossSplit.vscode.test.ts
similarity index 91%
rename from packages/cursorless-vscode-e2e/src/suite/pourAcrossSplit.vscode.test.ts
rename to packages/test-vscode-e2e/src/suite/pourAcrossSplit.vscode.test.ts
index d7543e5109..cf7fada7ea 100644
--- a/packages/cursorless-vscode-e2e/src/suite/pourAcrossSplit.vscode.test.ts
+++ b/packages/test-vscode-e2e/src/suite/pourAcrossSplit.vscode.test.ts
@@ -1,9 +1,9 @@
-import { LATEST_VERSION } from "@cursorless/common";
+import { LATEST_VERSION } from "@cursorless/lib-common";
import {
getCursorlessApi,
openNewEditor,
runCursorlessCommand,
-} from "@cursorless/vscode-common";
+} from "@cursorless/lib-vscode-common";
import * as assert from "node:assert";
import { endToEndTestSetup } from "../endToEndTestSetup";
diff --git a/packages/cursorless-vscode-e2e/src/suite/prePhraseSnapshot.vscode.test.ts b/packages/test-vscode-e2e/src/suite/prePhraseSnapshot.vscode.test.ts
similarity index 97%
rename from packages/cursorless-vscode-e2e/src/suite/prePhraseSnapshot.vscode.test.ts
rename to packages/test-vscode-e2e/src/suite/prePhraseSnapshot.vscode.test.ts
index 3f39e58039..9f1aeea660 100644
--- a/packages/cursorless-vscode-e2e/src/suite/prePhraseSnapshot.vscode.test.ts
+++ b/packages/test-vscode-e2e/src/suite/prePhraseSnapshot.vscode.test.ts
@@ -2,13 +2,13 @@ import {
HatStability,
LATEST_VERSION,
selectionToPlainObject,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import {
fromVscodeSelection,
getCursorlessApi,
getReusableEditor,
runCursorlessCommand,
-} from "@cursorless/vscode-common";
+} from "@cursorless/lib-vscode-common";
import * as assert from "assert";
import * as vscode from "vscode";
import { endToEndTestSetup } from "../endToEndTestSetup";
diff --git a/packages/cursorless-vscode-e2e/src/suite/recorded.vscode.test.ts b/packages/test-vscode-e2e/src/suite/recorded.vscode.test.ts
similarity index 87%
rename from packages/cursorless-vscode-e2e/src/suite/recorded.vscode.test.ts
rename to packages/test-vscode-e2e/src/suite/recorded.vscode.test.ts
index 7bb2a45c31..b8692c435d 100644
--- a/packages/cursorless-vscode-e2e/src/suite/recorded.vscode.test.ts
+++ b/packages/test-vscode-e2e/src/suite/recorded.vscode.test.ts
@@ -1,15 +1,18 @@
-import type { TextEditor } from "@cursorless/common";
+import type { TextEditor } from "@cursorless/lib-common";
import {
DEFAULT_TEXT_EDITOR_OPTIONS_FOR_TEST,
HatStability,
asyncSafety,
-} from "@cursorless/common";
-import { getRecordedTestPaths, runRecordedTest } from "@cursorless/node-common";
+} from "@cursorless/lib-common";
+import {
+ getRecordedTestPaths,
+ runRecordedTest,
+} from "@cursorless/lib-node-common";
import {
getCursorlessApi,
getReusableEditor,
runCursorlessCommand,
-} from "@cursorless/vscode-common";
+} from "@cursorless/lib-vscode-common";
import * as vscode from "vscode";
import { endToEndTestSetup, sleepWithBackoff } from "../endToEndTestSetup";
import { setupFake } from "./setupFake";
diff --git a/packages/cursorless-vscode-e2e/src/suite/revealRange.vscode.test.ts b/packages/test-vscode-e2e/src/suite/revealRange.vscode.test.ts
similarity index 95%
rename from packages/cursorless-vscode-e2e/src/suite/revealRange.vscode.test.ts
rename to packages/test-vscode-e2e/src/suite/revealRange.vscode.test.ts
index 637ef4cbec..42e38b5e53 100644
--- a/packages/cursorless-vscode-e2e/src/suite/revealRange.vscode.test.ts
+++ b/packages/test-vscode-e2e/src/suite/revealRange.vscode.test.ts
@@ -1,8 +1,8 @@
-import { LATEST_VERSION } from "@cursorless/common";
+import { LATEST_VERSION } from "@cursorless/lib-common";
import {
getReusableEditor,
runCursorlessCommand,
-} from "@cursorless/vscode-common";
+} from "@cursorless/lib-vscode-common";
import assert from "node:assert";
import * as vscode from "vscode";
import { endToEndTestSetup } from "../endToEndTestSetup";
diff --git a/packages/cursorless-vscode-e2e/src/suite/scopeProvider/assertCalledWithScopeInfo.ts b/packages/test-vscode-e2e/src/suite/scopeProvider/assertCalledWithScopeInfo.ts
similarity index 99%
rename from packages/cursorless-vscode-e2e/src/suite/scopeProvider/assertCalledWithScopeInfo.ts
rename to packages/test-vscode-e2e/src/suite/scopeProvider/assertCalledWithScopeInfo.ts
index 9466ff14d4..4aff73cc79 100644
--- a/packages/cursorless-vscode-e2e/src/suite/scopeProvider/assertCalledWithScopeInfo.ts
+++ b/packages/test-vscode-e2e/src/suite/scopeProvider/assertCalledWithScopeInfo.ts
@@ -1,4 +1,4 @@
-import { type ScopeType, type ScopeTypeInfo } from "@cursorless/common";
+import { type ScopeType, type ScopeTypeInfo } from "@cursorless/lib-common";
import { assert } from "chai";
import { isEqual } from "lodash-es";
import type { SinonSpy } from "sinon";
diff --git a/packages/cursorless-vscode-e2e/src/suite/scopeProvider/runBasicScopeInfoTest.ts b/packages/test-vscode-e2e/src/suite/scopeProvider/runBasicScopeInfoTest.ts
similarity index 91%
rename from packages/cursorless-vscode-e2e/src/suite/scopeProvider/runBasicScopeInfoTest.ts
rename to packages/test-vscode-e2e/src/suite/scopeProvider/runBasicScopeInfoTest.ts
index 5989e25acd..24d38af7b7 100644
--- a/packages/cursorless-vscode-e2e/src/suite/scopeProvider/runBasicScopeInfoTest.ts
+++ b/packages/test-vscode-e2e/src/suite/scopeProvider/runBasicScopeInfoTest.ts
@@ -1,6 +1,9 @@
-import type { ScopeSupportInfo } from "@cursorless/common";
-import { ScopeSupport } from "@cursorless/common";
-import { getCursorlessApi, getReusableEditor } from "@cursorless/vscode-common";
+import type { ScopeSupportInfo } from "@cursorless/lib-common";
+import { ScopeSupport } from "@cursorless/lib-common";
+import {
+ getCursorlessApi,
+ getReusableEditor,
+} from "@cursorless/lib-vscode-common";
import * as sinon from "sinon";
import type { TextDocument } from "vscode";
import { Position, Range, commands } from "vscode";
diff --git a/packages/cursorless-vscode-e2e/src/suite/scopeProvider/runCustomRegexScopeInfoTest.ts b/packages/test-vscode-e2e/src/suite/scopeProvider/runCustomRegexScopeInfoTest.ts
similarity index 91%
rename from packages/cursorless-vscode-e2e/src/suite/scopeProvider/runCustomRegexScopeInfoTest.ts
rename to packages/test-vscode-e2e/src/suite/scopeProvider/runCustomRegexScopeInfoTest.ts
index 920d709cbf..5a0ec8d87d 100644
--- a/packages/cursorless-vscode-e2e/src/suite/scopeProvider/runCustomRegexScopeInfoTest.ts
+++ b/packages/test-vscode-e2e/src/suite/scopeProvider/runCustomRegexScopeInfoTest.ts
@@ -1,6 +1,6 @@
-import type { ScopeSupportInfo, ScopeType } from "@cursorless/common";
-import { ScopeSupport, sleep } from "@cursorless/common";
-import { getCursorlessApi, openNewEditor } from "@cursorless/vscode-common";
+import type { ScopeSupportInfo, ScopeType } from "@cursorless/lib-common";
+import { ScopeSupport, sleep } from "@cursorless/lib-common";
+import { getCursorlessApi, openNewEditor } from "@cursorless/lib-vscode-common";
import { stat, unlink, writeFile } from "fs/promises";
import * as sinon from "sinon";
import { commands } from "vscode";
diff --git a/packages/cursorless-vscode-e2e/src/suite/scopeProvider/runCustomSpokenFormScopeInfoTest.ts b/packages/test-vscode-e2e/src/suite/scopeProvider/runCustomSpokenFormScopeInfoTest.ts
similarity index 96%
rename from packages/cursorless-vscode-e2e/src/suite/scopeProvider/runCustomSpokenFormScopeInfoTest.ts
rename to packages/test-vscode-e2e/src/suite/scopeProvider/runCustomSpokenFormScopeInfoTest.ts
index 4fe23cc454..58275e59bf 100644
--- a/packages/cursorless-vscode-e2e/src/suite/scopeProvider/runCustomSpokenFormScopeInfoTest.ts
+++ b/packages/test-vscode-e2e/src/suite/scopeProvider/runCustomSpokenFormScopeInfoTest.ts
@@ -1,6 +1,6 @@
-import type { ScopeTypeInfo } from "@cursorless/common";
-import { DOCS_URL, sleep } from "@cursorless/common";
-import { getCursorlessApi } from "@cursorless/vscode-common";
+import type { ScopeTypeInfo } from "@cursorless/lib-common";
+import { DOCS_URL, sleep } from "@cursorless/lib-common";
+import { getCursorlessApi } from "@cursorless/lib-vscode-common";
import { stat, unlink, writeFile } from "fs/promises";
import * as sinon from "sinon";
import { assertCalledWithScopeInfo } from "./assertCalledWithScopeInfo";
diff --git a/packages/cursorless-vscode-e2e/src/suite/scopeProvider/runSurroundingPairScopeInfoTest.ts b/packages/test-vscode-e2e/src/suite/scopeProvider/runSurroundingPairScopeInfoTest.ts
similarity index 89%
rename from packages/cursorless-vscode-e2e/src/suite/scopeProvider/runSurroundingPairScopeInfoTest.ts
rename to packages/test-vscode-e2e/src/suite/scopeProvider/runSurroundingPairScopeInfoTest.ts
index b0d054d984..6312ae1c73 100644
--- a/packages/cursorless-vscode-e2e/src/suite/scopeProvider/runSurroundingPairScopeInfoTest.ts
+++ b/packages/test-vscode-e2e/src/suite/scopeProvider/runSurroundingPairScopeInfoTest.ts
@@ -1,6 +1,6 @@
-import type { ScopeSupportInfo } from "@cursorless/common";
-import { ScopeSupport } from "@cursorless/common";
-import { getCursorlessApi, openNewEditor } from "@cursorless/vscode-common";
+import type { ScopeSupportInfo } from "@cursorless/lib-common";
+import { ScopeSupport } from "@cursorless/lib-common";
+import { getCursorlessApi, openNewEditor } from "@cursorless/lib-vscode-common";
import * as sinon from "sinon";
import { Position, commands } from "vscode";
import { assertCalledWithScopeInfo } from "./assertCalledWithScopeInfo";
diff --git a/packages/cursorless-vscode-e2e/src/suite/scopeProvider/scopeProvider.vscode.test.ts b/packages/test-vscode-e2e/src/suite/scopeProvider/scopeProvider.vscode.test.ts
similarity index 91%
rename from packages/cursorless-vscode-e2e/src/suite/scopeProvider/scopeProvider.vscode.test.ts
rename to packages/test-vscode-e2e/src/suite/scopeProvider/scopeProvider.vscode.test.ts
index 992c087165..50d9c1f06f 100644
--- a/packages/cursorless-vscode-e2e/src/suite/scopeProvider/scopeProvider.vscode.test.ts
+++ b/packages/test-vscode-e2e/src/suite/scopeProvider/scopeProvider.vscode.test.ts
@@ -1,5 +1,5 @@
-import { asyncSafety } from "@cursorless/common";
-import { isLinux } from "@cursorless/node-common";
+import { asyncSafety } from "@cursorless/lib-common";
+import { isLinux } from "@cursorless/lib-node-common";
import { endToEndTestSetup } from "../../endToEndTestSetup";
import { isCI } from "../../isCI";
import { runBasicScopeInfoTest } from "./runBasicScopeInfoTest";
diff --git a/packages/cursorless-vscode-e2e/src/suite/scopeVisualizer/checkAndResetFakes.ts b/packages/test-vscode-e2e/src/suite/scopeVisualizer/checkAndResetFakes.ts
similarity index 100%
rename from packages/cursorless-vscode-e2e/src/suite/scopeVisualizer/checkAndResetFakes.ts
rename to packages/test-vscode-e2e/src/suite/scopeVisualizer/checkAndResetFakes.ts
diff --git a/packages/cursorless-vscode-e2e/src/suite/scopeVisualizer/colorConfig.ts b/packages/test-vscode-e2e/src/suite/scopeVisualizer/colorConfig.ts
similarity index 93%
rename from packages/cursorless-vscode-e2e/src/suite/scopeVisualizer/colorConfig.ts
rename to packages/test-vscode-e2e/src/suite/scopeVisualizer/colorConfig.ts
index cb504f729d..ad5b24fe53 100644
--- a/packages/cursorless-vscode-e2e/src/suite/scopeVisualizer/colorConfig.ts
+++ b/packages/test-vscode-e2e/src/suite/scopeVisualizer/colorConfig.ts
@@ -1,4 +1,4 @@
-import type { ScopeVisualizerColorConfig } from "@cursorless/vscode-common";
+import type { ScopeVisualizerColorConfig } from "@cursorless/lib-vscode-common";
/**
* Fake color config to use for testing. We use an alpha of 50% and try to use
diff --git a/packages/cursorless-vscode-e2e/src/suite/scopeVisualizer/injectFakes.ts b/packages/test-vscode-e2e/src/suite/scopeVisualizer/injectFakes.ts
similarity index 91%
rename from packages/cursorless-vscode-e2e/src/suite/scopeVisualizer/injectFakes.ts
rename to packages/test-vscode-e2e/src/suite/scopeVisualizer/injectFakes.ts
index eb7386bf2f..a8f686e8d5 100644
--- a/packages/cursorless-vscode-e2e/src/suite/scopeVisualizer/injectFakes.ts
+++ b/packages/test-vscode-e2e/src/suite/scopeVisualizer/injectFakes.ts
@@ -1,5 +1,5 @@
-import type { VscodeApi } from "@cursorless/vscode-common";
-import { getCursorlessApi } from "@cursorless/vscode-common";
+import type { VscodeApi } from "@cursorless/lib-vscode-common";
+import { getCursorlessApi } from "@cursorless/lib-vscode-common";
import * as sinon from "sinon";
import type { DecorationRenderOptions, WorkspaceConfiguration } from "vscode";
import { COLOR_CONFIG } from "./colorConfig";
diff --git a/packages/cursorless-vscode-e2e/src/suite/scopeVisualizer/runBasicMultilineContentTest.png b/packages/test-vscode-e2e/src/suite/scopeVisualizer/runBasicMultilineContentTest.png
similarity index 100%
rename from packages/cursorless-vscode-e2e/src/suite/scopeVisualizer/runBasicMultilineContentTest.png
rename to packages/test-vscode-e2e/src/suite/scopeVisualizer/runBasicMultilineContentTest.png
diff --git a/packages/cursorless-vscode-e2e/src/suite/scopeVisualizer/runBasicMultilineContentTest.ts b/packages/test-vscode-e2e/src/suite/scopeVisualizer/runBasicMultilineContentTest.ts
similarity index 96%
rename from packages/cursorless-vscode-e2e/src/suite/scopeVisualizer/runBasicMultilineContentTest.ts
rename to packages/test-vscode-e2e/src/suite/scopeVisualizer/runBasicMultilineContentTest.ts
index bf87cda415..f03743ae13 100644
--- a/packages/cursorless-vscode-e2e/src/suite/scopeVisualizer/runBasicMultilineContentTest.ts
+++ b/packages/test-vscode-e2e/src/suite/scopeVisualizer/runBasicMultilineContentTest.ts
@@ -1,4 +1,4 @@
-import { openNewEditor } from "@cursorless/vscode-common";
+import { openNewEditor } from "@cursorless/lib-vscode-common";
import * as vscode from "vscode";
import { checkAndResetFakes } from "./checkAndResetFakes";
import { injectFakes } from "./injectFakes";
diff --git a/packages/cursorless-vscode-e2e/src/suite/scopeVisualizer/runBasicRemovalTest.png b/packages/test-vscode-e2e/src/suite/scopeVisualizer/runBasicRemovalTest.png
similarity index 100%
rename from packages/cursorless-vscode-e2e/src/suite/scopeVisualizer/runBasicRemovalTest.png
rename to packages/test-vscode-e2e/src/suite/scopeVisualizer/runBasicRemovalTest.png
diff --git a/packages/cursorless-vscode-e2e/src/suite/scopeVisualizer/runBasicRemovalTest.ts b/packages/test-vscode-e2e/src/suite/scopeVisualizer/runBasicRemovalTest.ts
similarity index 96%
rename from packages/cursorless-vscode-e2e/src/suite/scopeVisualizer/runBasicRemovalTest.ts
rename to packages/test-vscode-e2e/src/suite/scopeVisualizer/runBasicRemovalTest.ts
index 1c0350ff3f..4d75b9f37e 100644
--- a/packages/cursorless-vscode-e2e/src/suite/scopeVisualizer/runBasicRemovalTest.ts
+++ b/packages/test-vscode-e2e/src/suite/scopeVisualizer/runBasicRemovalTest.ts
@@ -1,4 +1,4 @@
-import { openNewEditor } from "@cursorless/vscode-common";
+import { openNewEditor } from "@cursorless/lib-vscode-common";
import * as vscode from "vscode";
import { checkAndResetFakes } from "./checkAndResetFakes";
import { injectFakes } from "./injectFakes";
diff --git a/packages/cursorless-vscode-e2e/src/suite/scopeVisualizer/runNestedMultilineContentTest.png b/packages/test-vscode-e2e/src/suite/scopeVisualizer/runNestedMultilineContentTest.png
similarity index 100%
rename from packages/cursorless-vscode-e2e/src/suite/scopeVisualizer/runNestedMultilineContentTest.png
rename to packages/test-vscode-e2e/src/suite/scopeVisualizer/runNestedMultilineContentTest.png
diff --git a/packages/cursorless-vscode-e2e/src/suite/scopeVisualizer/runNestedMultilineContentTest.ts b/packages/test-vscode-e2e/src/suite/scopeVisualizer/runNestedMultilineContentTest.ts
similarity index 98%
rename from packages/cursorless-vscode-e2e/src/suite/scopeVisualizer/runNestedMultilineContentTest.ts
rename to packages/test-vscode-e2e/src/suite/scopeVisualizer/runNestedMultilineContentTest.ts
index 6d6c249d0e..dbfd3aab2d 100644
--- a/packages/cursorless-vscode-e2e/src/suite/scopeVisualizer/runNestedMultilineContentTest.ts
+++ b/packages/test-vscode-e2e/src/suite/scopeVisualizer/runNestedMultilineContentTest.ts
@@ -1,4 +1,4 @@
-import { openNewEditor } from "@cursorless/vscode-common";
+import { openNewEditor } from "@cursorless/lib-vscode-common";
import * as vscode from "vscode";
import { injectFakes } from "./injectFakes";
import { checkAndResetFakes } from "./checkAndResetFakes";
diff --git a/packages/cursorless-vscode-e2e/src/suite/scopeVisualizer/runUpdateTest.ts b/packages/test-vscode-e2e/src/suite/scopeVisualizer/runUpdateTest.ts
similarity index 96%
rename from packages/cursorless-vscode-e2e/src/suite/scopeVisualizer/runUpdateTest.ts
rename to packages/test-vscode-e2e/src/suite/scopeVisualizer/runUpdateTest.ts
index f39cdc2206..9770a82370 100644
--- a/packages/cursorless-vscode-e2e/src/suite/scopeVisualizer/runUpdateTest.ts
+++ b/packages/test-vscode-e2e/src/suite/scopeVisualizer/runUpdateTest.ts
@@ -1,4 +1,4 @@
-import { getReusableEditor } from "@cursorless/vscode-common";
+import { getReusableEditor } from "@cursorless/lib-vscode-common";
import * as vscode from "vscode";
import { sleepWithBackoff } from "../../endToEndTestSetup";
import { injectFakes } from "./injectFakes";
diff --git a/packages/cursorless-vscode-e2e/src/suite/scopeVisualizer/scopeVisualizer.vscode.test.ts b/packages/test-vscode-e2e/src/suite/scopeVisualizer/scopeVisualizer.vscode.test.ts
similarity index 89%
rename from packages/cursorless-vscode-e2e/src/suite/scopeVisualizer/scopeVisualizer.vscode.test.ts
rename to packages/test-vscode-e2e/src/suite/scopeVisualizer/scopeVisualizer.vscode.test.ts
index 4452ffba4e..603b8cd82f 100644
--- a/packages/cursorless-vscode-e2e/src/suite/scopeVisualizer/scopeVisualizer.vscode.test.ts
+++ b/packages/test-vscode-e2e/src/suite/scopeVisualizer/scopeVisualizer.vscode.test.ts
@@ -1,5 +1,5 @@
-import { asyncSafety } from "@cursorless/common";
-import { getCursorlessApi } from "@cursorless/vscode-common";
+import { asyncSafety } from "@cursorless/lib-common";
+import { getCursorlessApi } from "@cursorless/lib-vscode-common";
import { commands } from "vscode";
import { endToEndTestSetup } from "../../endToEndTestSetup";
import { runBasicMultilineContentTest } from "./runBasicMultilineContentTest";
diff --git a/packages/cursorless-vscode-e2e/src/suite/scopeVisualizer/scopeVisualizerTest.types.ts b/packages/test-vscode-e2e/src/suite/scopeVisualizer/scopeVisualizerTest.types.ts
similarity index 90%
rename from packages/cursorless-vscode-e2e/src/suite/scopeVisualizer/scopeVisualizerTest.types.ts
rename to packages/test-vscode-e2e/src/suite/scopeVisualizer/scopeVisualizerTest.types.ts
index a77d9b426f..55bfc9693f 100644
--- a/packages/cursorless-vscode-e2e/src/suite/scopeVisualizer/scopeVisualizerTest.types.ts
+++ b/packages/test-vscode-e2e/src/suite/scopeVisualizer/scopeVisualizerTest.types.ts
@@ -1,5 +1,5 @@
-import type { RangePlainObject } from "@cursorless/common";
-import type { VscodeApi } from "@cursorless/vscode-common";
+import type { RangePlainObject } from "@cursorless/lib-common";
+import type { VscodeApi } from "@cursorless/lib-vscode-common";
import type * as sinon from "sinon";
import type * as vscode from "vscode";
diff --git a/packages/cursorless-vscode-e2e/src/suite/scopeVisualizer/spyCallsToPlainObject.ts b/packages/test-vscode-e2e/src/suite/scopeVisualizer/spyCallsToPlainObject.ts
similarity index 94%
rename from packages/cursorless-vscode-e2e/src/suite/scopeVisualizer/spyCallsToPlainObject.ts
rename to packages/test-vscode-e2e/src/suite/scopeVisualizer/spyCallsToPlainObject.ts
index c77dc8a1b6..2cb5479cfe 100644
--- a/packages/cursorless-vscode-e2e/src/suite/scopeVisualizer/spyCallsToPlainObject.ts
+++ b/packages/test-vscode-e2e/src/suite/scopeVisualizer/spyCallsToPlainObject.ts
@@ -1,4 +1,4 @@
-import { rangeToPlainObject } from "@cursorless/common";
+import { rangeToPlainObject } from "@cursorless/lib-common";
import type { DecorationRenderOptions } from "vscode";
import type {
SetDecorationsParameters,
diff --git a/packages/cursorless-vscode-e2e/src/suite/scroll.vscode.test.ts b/packages/test-vscode-e2e/src/suite/scroll.vscode.test.ts
similarity index 94%
rename from packages/cursorless-vscode-e2e/src/suite/scroll.vscode.test.ts
rename to packages/test-vscode-e2e/src/suite/scroll.vscode.test.ts
index 00a89a27c8..e2196a1466 100644
--- a/packages/cursorless-vscode-e2e/src/suite/scroll.vscode.test.ts
+++ b/packages/test-vscode-e2e/src/suite/scroll.vscode.test.ts
@@ -1,8 +1,8 @@
-import { LATEST_VERSION } from "@cursorless/common";
+import { LATEST_VERSION } from "@cursorless/lib-common";
import {
getReusableEditor,
runCursorlessCommand,
-} from "@cursorless/vscode-common";
+} from "@cursorless/lib-vscode-common";
import * as vscode from "vscode";
import { endToEndTestSetup } from "../endToEndTestSetup";
diff --git a/packages/cursorless-vscode-e2e/src/suite/setupFake.ts b/packages/test-vscode-e2e/src/suite/setupFake.ts
similarity index 74%
rename from packages/cursorless-vscode-e2e/src/suite/setupFake.ts
rename to packages/test-vscode-e2e/src/suite/setupFake.ts
index e1f1617004..e844e4a65f 100644
--- a/packages/cursorless-vscode-e2e/src/suite/setupFake.ts
+++ b/packages/test-vscode-e2e/src/suite/setupFake.ts
@@ -1,4 +1,4 @@
-import type { HatStability, NormalizedIDE } from "@cursorless/common";
+import type { HatStability, NormalizedIDE } from "@cursorless/lib-common";
export function setupFake(ide: NormalizedIDE, hatStability: HatStability) {
ide.configuration.mockConfiguration("experimental", {
diff --git a/packages/cursorless-vscode-e2e/src/suite/shouldSkipTest.ts b/packages/test-vscode-e2e/src/suite/shouldSkipTest.ts
similarity index 100%
rename from packages/cursorless-vscode-e2e/src/suite/shouldSkipTest.ts
rename to packages/test-vscode-e2e/src/suite/shouldSkipTest.ts
diff --git a/packages/cursorless-vscode-e2e/src/suite/testCaseRecorder.vscode.test.ts b/packages/test-vscode-e2e/src/suite/testCaseRecorder.vscode.test.ts
similarity index 96%
rename from packages/cursorless-vscode-e2e/src/suite/testCaseRecorder.vscode.test.ts
rename to packages/test-vscode-e2e/src/suite/testCaseRecorder.vscode.test.ts
index 9418ef0a30..cadf12d1cb 100644
--- a/packages/cursorless-vscode-e2e/src/suite/testCaseRecorder.vscode.test.ts
+++ b/packages/test-vscode-e2e/src/suite/testCaseRecorder.vscode.test.ts
@@ -1,14 +1,14 @@
-import type { HatTokenMap, SimpleActionName } from "@cursorless/common";
-import { LATEST_VERSION } from "@cursorless/common";
+import type { HatTokenMap, SimpleActionName } from "@cursorless/lib-common";
+import { LATEST_VERSION } from "@cursorless/lib-common";
import {
getFixturePath,
getRecordedTestsDirPath,
-} from "@cursorless/node-common";
+} from "@cursorless/lib-node-common";
import {
getCursorlessApi,
getReusableEditor,
runCursorlessCommand,
-} from "@cursorless/vscode-common";
+} from "@cursorless/lib-vscode-common";
import { assert } from "chai";
import * as crypto from "crypto";
import { mkdir, readFile, readdir, rm } from "node:fs/promises";
diff --git a/packages/cursorless-vscode-e2e/src/suite/toggleDecorations.vscode.test.ts b/packages/test-vscode-e2e/src/suite/toggleDecorations.vscode.test.ts
similarity index 94%
rename from packages/cursorless-vscode-e2e/src/suite/toggleDecorations.vscode.test.ts
rename to packages/test-vscode-e2e/src/suite/toggleDecorations.vscode.test.ts
index eb9f5fe147..c93326e93f 100644
--- a/packages/cursorless-vscode-e2e/src/suite/toggleDecorations.vscode.test.ts
+++ b/packages/test-vscode-e2e/src/suite/toggleDecorations.vscode.test.ts
@@ -1,4 +1,7 @@
-import { getCursorlessApi, getReusableEditor } from "@cursorless/vscode-common";
+import {
+ getCursorlessApi,
+ getReusableEditor,
+} from "@cursorless/lib-vscode-common";
import assert from "assert";
import * as vscode from "vscode";
import { endToEndTestSetup } from "../endToEndTestSetup";
diff --git a/packages/cursorless-vscode-e2e/src/suite/tutorial/tutorial.vscode.test.ts b/packages/test-vscode-e2e/src/suite/tutorial/tutorial.vscode.test.ts
similarity index 97%
rename from packages/cursorless-vscode-e2e/src/suite/tutorial/tutorial.vscode.test.ts
rename to packages/test-vscode-e2e/src/suite/tutorial/tutorial.vscode.test.ts
index 71d07b7e34..9880a68199 100644
--- a/packages/cursorless-vscode-e2e/src/suite/tutorial/tutorial.vscode.test.ts
+++ b/packages/test-vscode-e2e/src/suite/tutorial/tutorial.vscode.test.ts
@@ -1,15 +1,18 @@
-import type { SpyIDE, TestCaseFixtureLegacy } from "@cursorless/common";
+import type { SpyIDE, TestCaseFixtureLegacy } from "@cursorless/lib-common";
import {
LATEST_VERSION,
asyncSafety,
getSnapshotForComparison,
-} from "@cursorless/common";
-import { getRecordedTestsDirPath, loadFixture } from "@cursorless/node-common";
+} from "@cursorless/lib-common";
+import {
+ getRecordedTestsDirPath,
+ loadFixture,
+} from "@cursorless/lib-node-common";
import {
getCursorlessApi,
runCursorlessCommand,
type SpyWebViewEvent,
-} from "@cursorless/vscode-common";
+} from "@cursorless/lib-vscode-common";
import { isEqual } from "lodash-es";
import assert from "node:assert";
import path from "path";
diff --git a/packages/cursorless-vscode-e2e/src/suite/visible.vscode.test.ts b/packages/test-vscode-e2e/src/suite/visible.vscode.test.ts
similarity index 92%
rename from packages/cursorless-vscode-e2e/src/suite/visible.vscode.test.ts
rename to packages/test-vscode-e2e/src/suite/visible.vscode.test.ts
index 62849e74db..38a0ff752b 100644
--- a/packages/cursorless-vscode-e2e/src/suite/visible.vscode.test.ts
+++ b/packages/test-vscode-e2e/src/suite/visible.vscode.test.ts
@@ -1,8 +1,8 @@
-import { LATEST_VERSION } from "@cursorless/common";
+import { LATEST_VERSION } from "@cursorless/lib-common";
import {
getReusableEditor,
runCursorlessCommand,
-} from "@cursorless/vscode-common";
+} from "@cursorless/lib-vscode-common";
import * as assert from "node:assert";
import * as vscode from "vscode";
import { endToEndTestSetup } from "../endToEndTestSetup";
diff --git a/packages/cursorless-vscode-e2e/src/suite/waitFor.ts b/packages/test-vscode-e2e/src/suite/waitFor.ts
similarity index 100%
rename from packages/cursorless-vscode-e2e/src/suite/waitFor.ts
rename to packages/test-vscode-e2e/src/suite/waitFor.ts
diff --git a/packages/cursorless-vscode-e2e/src/suite/wrapWithSnippetAcrossSplit.vscode.test.ts b/packages/test-vscode-e2e/src/suite/wrapWithSnippetAcrossSplit.vscode.test.ts
similarity index 92%
rename from packages/cursorless-vscode-e2e/src/suite/wrapWithSnippetAcrossSplit.vscode.test.ts
rename to packages/test-vscode-e2e/src/suite/wrapWithSnippetAcrossSplit.vscode.test.ts
index b14215c45f..7adddf7f40 100644
--- a/packages/cursorless-vscode-e2e/src/suite/wrapWithSnippetAcrossSplit.vscode.test.ts
+++ b/packages/test-vscode-e2e/src/suite/wrapWithSnippetAcrossSplit.vscode.test.ts
@@ -1,9 +1,9 @@
-import { HatStability, LATEST_VERSION } from "@cursorless/common";
+import { HatStability, LATEST_VERSION } from "@cursorless/lib-common";
import {
getCursorlessApi,
openNewEditor,
runCursorlessCommand,
-} from "@cursorless/vscode-common";
+} from "@cursorless/lib-vscode-common";
import * as assert from "node:assert";
import { endToEndTestSetup } from "../endToEndTestSetup";
import { setupFake } from "./setupFake";
diff --git a/packages/test-harness/tsconfig.json b/packages/test-vscode-e2e/tsconfig.json
similarity index 100%
rename from packages/test-harness/tsconfig.json
rename to packages/test-vscode-e2e/tsconfig.json
diff --git a/packages/meta-updater/README.md b/packages/tool-meta-updater/README.md
similarity index 100%
rename from packages/meta-updater/README.md
rename to packages/tool-meta-updater/README.md
diff --git a/packages/meta-updater/package.json b/packages/tool-meta-updater/package.json
similarity index 86%
rename from packages/meta-updater/package.json
rename to packages/tool-meta-updater/package.json
index 397a76c708..a60c970880 100644
--- a/packages/meta-updater/package.json
+++ b/packages/tool-meta-updater/package.json
@@ -1,5 +1,5 @@
{
- "name": "@cursorless/meta-updater",
+ "name": "@cursorless/tool-meta-updater",
"version": "0.1.0",
"description": "Cursorless configuration for meta-updater",
"license": "MIT",
@@ -10,7 +10,7 @@
"clean": "rm -rf ./out tsconfig.tsbuildinfo ./dist ./build"
},
"devDependencies": {
- "@cursorless/common": "workspace:*",
+ "@cursorless/lib-common": "workspace:*",
"@pnpm/lockfile-file": "^9.1.3",
"@pnpm/types": "^1001.3.0",
"@types/js-yaml": "^4.0.9",
diff --git a/packages/meta-updater/src/Context.ts b/packages/tool-meta-updater/src/Context.ts
similarity index 100%
rename from packages/meta-updater/src/Context.ts
rename to packages/tool-meta-updater/src/Context.ts
diff --git a/packages/meta-updater/src/getCursorlessVscodeFields.ts b/packages/tool-meta-updater/src/getCursorlessVscodeFields.ts
similarity index 88%
rename from packages/meta-updater/src/getCursorlessVscodeFields.ts
rename to packages/tool-meta-updater/src/getCursorlessVscodeFields.ts
index fd707bac67..fbf673cc17 100644
--- a/packages/meta-updater/src/getCursorlessVscodeFields.ts
+++ b/packages/tool-meta-updater/src/getCursorlessVscodeFields.ts
@@ -1,4 +1,4 @@
-import { cursorlessCommandDescriptions } from "@cursorless/common";
+import { cursorlessCommandDescriptions } from "@cursorless/lib-common";
import type { PackageJson } from "type-fest";
export function getCursorlessVscodeFields(input: PackageJson) {
diff --git a/packages/meta-updater/src/index.ts b/packages/tool-meta-updater/src/index.ts
similarity index 100%
rename from packages/meta-updater/src/index.ts
rename to packages/tool-meta-updater/src/index.ts
diff --git a/packages/meta-updater/src/metaUpdater.ts b/packages/tool-meta-updater/src/metaUpdater.ts
similarity index 96%
rename from packages/meta-updater/src/metaUpdater.ts
rename to packages/tool-meta-updater/src/metaUpdater.ts
index 6a60c1664a..24700f7f34 100644
--- a/packages/meta-updater/src/metaUpdater.ts
+++ b/packages/tool-meta-updater/src/metaUpdater.ts
@@ -2,7 +2,7 @@
// https://github.com/pnpm/pnpm/tree/d583fbb2ad7e6b986d133a4eaf60824713f13c06/.meta-updater/src/index.ts
// License was
// https://github.com/pnpm/pnpm/blob/d583fbb2ad7e6b986d133a4eaf60824713f13c06/LICENSE
-import { languageScopeSupport } from "@cursorless/common";
+import { languageScopeSupport } from "@cursorless/lib-common";
import { readWantedLockfile } from "@pnpm/lockfile-file";
import { createUpdateOptions } from "@pnpm/meta-updater";
import type { Context } from "./Context";
diff --git a/packages/meta-updater/src/textFormat.ts b/packages/tool-meta-updater/src/textFormat.ts
similarity index 100%
rename from packages/meta-updater/src/textFormat.ts
rename to packages/tool-meta-updater/src/textFormat.ts
diff --git a/packages/meta-updater/src/toPosixPath.ts b/packages/tool-meta-updater/src/toPosixPath.ts
similarity index 100%
rename from packages/meta-updater/src/toPosixPath.ts
rename to packages/tool-meta-updater/src/toPosixPath.ts
diff --git a/packages/meta-updater/src/updateLanguageMdx.ts b/packages/tool-meta-updater/src/updateLanguageMdx.ts
similarity index 78%
rename from packages/meta-updater/src/updateLanguageMdx.ts
rename to packages/tool-meta-updater/src/updateLanguageMdx.ts
index c2f7969646..5e396348ec 100644
--- a/packages/meta-updater/src/updateLanguageMdx.ts
+++ b/packages/tool-meta-updater/src/updateLanguageMdx.ts
@@ -1,4 +1,4 @@
-import { prettifyLanguageName } from "@cursorless/common";
+import { prettifyLanguageName } from "@cursorless/lib-common";
import type { FormatPluginFnOptions } from "@pnpm/meta-updater";
export function updateLanguageMdx(
@@ -6,7 +6,7 @@ export function updateLanguageMdx(
actual: string | null,
options: FormatPluginFnOptions,
): string | null {
- if (options.manifest.name !== "@cursorless/cursorless-org-docs") {
+ if (options.manifest.name !== "@cursorless/app-web-docs") {
return null;
}
diff --git a/packages/meta-updater/src/updatePackageJson.ts b/packages/tool-meta-updater/src/updatePackageJson.ts
similarity index 93%
rename from packages/meta-updater/src/updatePackageJson.ts
rename to packages/tool-meta-updater/src/updatePackageJson.ts
index 75788e3aa7..1be2f4c6f9 100644
--- a/packages/meta-updater/src/updatePackageJson.ts
+++ b/packages/tool-meta-updater/src/updatePackageJson.ts
@@ -1,4 +1,4 @@
-import { omitByDeep } from "@cursorless/common";
+import { omitByDeep } from "@cursorless/lib-common";
import type { FormatPluginFnOptions } from "@pnpm/meta-updater";
import { isUndefined } from "lodash-es";
import type { PackageJson } from "type-fest";
@@ -30,10 +30,10 @@ export async function updatePackageJson(
const isRoot = packageDir === workspaceDir;
const isLib = !isRoot && !input.private;
- const isCursorlessVscode = input.name === "@cursorless/cursorless-vscode";
- const isCursorlessNeovim = input.name === "@cursorless/cursorless-neovim";
- const isCursorlessOrgDocs = input.name === "@cursorless/cursorless-org-docs";
- const isCursorlessTestHarness = input.name === "@cursorless/test-harness";
+ const isCursorlessVscode = input.name === "@cursorless/app-vscode";
+ const isCursorlessNeovim = input.name === "@cursorless/app-neovim";
+ const isCursorlessOrgDocs = input.name === "@cursorless/app-web-docs";
+ const isCursorlessTestHarness = input.name === "@cursorless/test-runner";
if (input.description == null || input.description === "") {
throw new Error(`No description found in ${packageDir}/package.json`);
@@ -106,9 +106,7 @@ async function getScripts(
const cleanDirs = ["./out", "tsconfig.tsbuildinfo", "./dist", "./build"];
const clean = `rm -rf ${cleanDirs.join(" ")}`;
const cleanScripts =
- name === "@cursorless/cursorless-org-docs"
- ? ["docusaurus clear", clean]
- : [clean];
+ name === "@cursorless/app-web-docs" ? ["docusaurus clear", clean] : [clean];
scripts.clean = cleanScripts.join(" && ");
diff --git a/packages/meta-updater/src/updateScopeMdx.ts b/packages/tool-meta-updater/src/updateScopeMdx.ts
similarity index 88%
rename from packages/meta-updater/src/updateScopeMdx.ts
rename to packages/tool-meta-updater/src/updateScopeMdx.ts
index edae78b493..63a4da2b62 100644
--- a/packages/meta-updater/src/updateScopeMdx.ts
+++ b/packages/tool-meta-updater/src/updateScopeMdx.ts
@@ -1,10 +1,10 @@
-import type { ScopeTypeType } from "@cursorless/common";
+import type { ScopeTypeType } from "@cursorless/lib-common";
import {
plaintextScopeSupportFacetInfos,
prettifyScopeType,
scopeSupportFacetInfos,
serializeScopeType,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type { FormatPluginFnOptions } from "@pnpm/meta-updater";
export function updateScopeMdx(
@@ -13,7 +13,7 @@ export function updateScopeMdx(
actual: string | null,
options: FormatPluginFnOptions,
): string | null {
- if (options.manifest.name !== "@cursorless/cursorless-org-docs") {
+ if (options.manifest.name !== "@cursorless/app-web-docs") {
return null;
}
diff --git a/packages/meta-updater/src/updateTSConfig.ts b/packages/tool-meta-updater/src/updateTSConfig.ts
similarity index 100%
rename from packages/meta-updater/src/updateTSConfig.ts
rename to packages/tool-meta-updater/src/updateTSConfig.ts
diff --git a/packages/meta-updater/src/updateTSConfigBase.ts b/packages/tool-meta-updater/src/updateTSConfigBase.ts
similarity index 100%
rename from packages/meta-updater/src/updateTSConfigBase.ts
rename to packages/tool-meta-updater/src/updateTSConfigBase.ts
diff --git a/packages/meta-updater/src/updatesScopeSupportFacetInfos.ts b/packages/tool-meta-updater/src/updatesScopeSupportFacetInfos.ts
similarity index 94%
rename from packages/meta-updater/src/updatesScopeSupportFacetInfos.ts
rename to packages/tool-meta-updater/src/updatesScopeSupportFacetInfos.ts
index 262008776b..ed75c9177f 100644
--- a/packages/meta-updater/src/updatesScopeSupportFacetInfos.ts
+++ b/packages/tool-meta-updater/src/updatesScopeSupportFacetInfos.ts
@@ -1,12 +1,12 @@
import type {
ScopeSupportFacet,
PlaintextScopeSupportFacet,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import {
scopeSupportFacetInfos,
serializeScopeType,
plaintextScopeSupportFacetInfos,
-} from "@cursorless/common";
+} from "@cursorless/lib-common";
import type { FormatPluginFnOptions } from "@pnpm/meta-updater";
export function updatesScopeSupportFacetInfos(
diff --git a/packages/vscode-common/tsconfig.json b/packages/tool-meta-updater/tsconfig.json
similarity index 100%
rename from packages/vscode-common/tsconfig.json
rename to packages/tool-meta-updater/tsconfig.json
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 59df4409a4..54498ae9e2 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -84,11 +84,276 @@ importers:
specifier: ^8.57.1
version: 8.57.1(eslint@10.0.3(jiti@2.6.1))(typescript@5.9.3)
- packages/cheatsheet:
+ packages/app-neovim:
dependencies:
- '@cursorless/common':
+ '@cursorless/lib-common':
specifier: workspace:*
- version: link:../common
+ version: link:../lib-common
+ '@cursorless/lib-engine':
+ specifier: workspace:*
+ version: link:../lib-engine
+ '@cursorless/lib-neovim-common':
+ specifier: workspace:*
+ version: link:../lib-neovim-common
+ '@cursorless/lib-neovim-registry':
+ specifier: workspace:*
+ version: link:../lib-neovim-registry
+ '@cursorless/lib-node-common':
+ specifier: workspace:*
+ version: link:../lib-node-common
+ '@cursorless/lib-test-case-recorder':
+ specifier: workspace:*
+ version: link:../lib-test-case-recorder
+ devDependencies:
+ '@types/chai':
+ specifier: ^5.2.3
+ version: 5.2.3
+ '@types/js-yaml':
+ specifier: ^4.0.9
+ version: 4.0.9
+ '@types/lodash':
+ specifier: ^4.17.24
+ version: 4.17.24
+ lodash:
+ specifier: ^4.17.23
+ version: 4.17.23
+ neovim:
+ specifier: ^5.4.0
+ version: 5.4.0
+ vscode-uri:
+ specifier: ^3.1.0
+ version: 3.1.0
+
+ packages/app-talon:
+ dependencies:
+ '@cursorless/lib-common':
+ specifier: workspace:*
+ version: link:../lib-common
+ '@cursorless/lib-talon-core':
+ specifier: workspace:*
+ version: link:../lib-talon-core
+
+ packages/app-vscode:
+ dependencies:
+ '@cursorless/lib-common':
+ specifier: workspace:*
+ version: link:../lib-common
+ '@cursorless/lib-engine':
+ specifier: workspace:*
+ version: link:../lib-engine
+ '@cursorless/lib-node-common':
+ specifier: workspace:*
+ version: link:../lib-node-common
+ '@cursorless/lib-test-case-recorder':
+ specifier: workspace:*
+ version: link:../lib-test-case-recorder
+ '@cursorless/lib-tutorial':
+ specifier: workspace:*
+ version: link:../lib-tutorial
+ '@cursorless/lib-vscode-common':
+ specifier: workspace:*
+ version: link:../lib-vscode-common
+ glob:
+ specifier: ^13.0.6
+ version: 13.0.6
+ itertools:
+ specifier: ^2.6.0
+ version: 2.6.0
+ lodash-es:
+ specifier: ^4.17.23
+ version: 4.17.23
+ nearley:
+ specifier: ^2.20.1
+ version: 2.20.1(patch_hash=0db19a2c501b16f37fbd86a94190d4a790184cea1061bf2e07f24eb076d4f2cf)
+ semver:
+ specifier: ^7.7.4
+ version: 7.7.4
+ trie-search:
+ specifier: ^2.2.1
+ version: 2.2.1
+ uuid:
+ specifier: ^13.0.0
+ version: 13.0.0
+ vscode-uri:
+ specifier: ^3.1.0
+ version: 3.1.0
+ devDependencies:
+ '@types/fs-extra':
+ specifier: ^11.0.4
+ version: 11.0.4
+ '@types/js-yaml':
+ specifier: ^4.0.9
+ version: 4.0.9
+ '@types/lodash-es':
+ specifier: ^4.17.12
+ version: 4.17.12
+ '@types/nearley':
+ specifier: ^2.11.5
+ version: 2.11.5(patch_hash=72ccc6b9fd704c6d457027e12d6e1d005695ab3508558a08c6aaf73fb608ef69)
+ '@types/node':
+ specifier: ^24.12.0
+ version: 24.12.0
+ '@types/semver':
+ specifier: ^7.7.1
+ version: 7.7.1
+ '@types/sinon':
+ specifier: ^21.0.0
+ version: 21.0.0
+ '@types/vscode':
+ specifier: 1.98.0
+ version: 1.98.0
+ esbuild:
+ specifier: ^0.27.4
+ version: 0.27.4
+ fast-xml-parser:
+ specifier: ^5.5.6
+ version: 5.5.6
+ fs-extra:
+ specifier: ^11.3.4
+ version: 11.3.4
+ sinon:
+ specifier: ^21.0.3
+ version: 21.0.3
+ tsx:
+ specifier: ^4.21.0
+ version: 4.21.0
+
+ packages/app-web:
+ dependencies:
+ '@cursorless/lib-cheatsheet':
+ specifier: workspace:*
+ version: link:../lib-cheatsheet
+ '@cursorless/lib-common':
+ specifier: workspace:*
+ version: link:../lib-common
+ bootstrap:
+ specifier: ^5.3.8
+ version: 5.3.8(@popperjs/core@2.11.8)
+ preact:
+ specifier: ^10.29.0
+ version: 10.29.0
+ react-player:
+ specifier: ^3.4.0
+ version: 3.4.0(@svta/cml-cta@1.0.1(@svta/cml-structured-field-values@1.0.1(@svta/cml-utils@1.0.1))(@svta/cml-utils@1.0.1))(@svta/cml-structured-field-values@1.0.1(@svta/cml-utils@1.0.1))(@svta/cml-utils@1.0.1)(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ wouter-preact:
+ specifier: ^3.9.0
+ version: 3.9.0(preact@10.29.0)
+ devDependencies:
+ '@types/node':
+ specifier: ^24.12.0
+ version: 24.12.0
+ eslint:
+ specifier: ^10.0.3
+ version: 10.0.3(jiti@2.6.1)
+ http-server:
+ specifier: ^14.1.1
+ version: 14.1.1
+ typescript:
+ specifier: ^5.9.3
+ version: 5.9.3
+ vite:
+ specifier: ^8.0.0
+ version: 8.0.0(@types/node@24.12.0)(esbuild@0.27.4)(jiti@2.6.1)(sass@1.98.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2)
+ vite-plugin-purgecss:
+ specifier: ^0.2.13
+ version: 0.2.13(@swc/core@1.15.18)(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.32.0)(postcss@8.5.8)(sass@1.98.0)(terser@5.46.1)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2)
+ vite-plugin-svgr:
+ specifier: ^4.5.0
+ version: 4.5.0(rollup@4.59.0)(typescript@5.9.3)(vite@8.0.0(@types/node@24.12.0)(esbuild@0.27.4)(jiti@2.6.1)(sass@1.98.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2))
+
+ packages/app-web-docs:
+ dependencies:
+ '@algolia/client-search':
+ specifier: ^5.49.2
+ version: 5.49.2
+ '@cursorless/lib-common':
+ specifier: workspace:*
+ version: link:../lib-common
+ '@docsearch/react':
+ specifier: ^4.6.0
+ version: 4.6.0(@algolia/client-search@5.49.2)(@types/react@19.2.14)(algoliasearch@5.49.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(search-insights@2.17.3)
+ '@docusaurus/core':
+ specifier: ^3.9.2
+ version: 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.18)(esbuild@0.27.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(esbuild@0.27.4))(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.4))(@rspack/core@1.7.9)(@swc/core@1.15.18)(esbuild@0.27.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3)
+ '@docusaurus/faster':
+ specifier: ^3.9.2
+ version: 3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.18)(esbuild@0.27.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(esbuild@0.27.4)
+ '@docusaurus/preset-classic':
+ specifier: ^3.9.2
+ version: 3.9.2(@algolia/client-search@5.49.2)(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.18)(esbuild@0.27.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(esbuild@0.27.4))(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.4))(@rspack/core@1.7.9)(@swc/core@1.15.18)(@types/react@19.2.14)(esbuild@0.27.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(search-insights@2.17.3)(typescript@5.9.3)
+ '@docusaurus/theme-classic':
+ specifier: ^3.9.2
+ version: 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.18)(esbuild@0.27.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(esbuild@0.27.4))(@rspack/core@1.7.9)(@swc/core@1.15.18)(@types/react@19.2.14)(esbuild@0.27.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3)
+ '@docusaurus/theme-common':
+ specifier: ^3.9.2
+ version: 3.9.2(@docusaurus/plugin-content-docs@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.18)(esbuild@0.27.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(esbuild@0.27.4))(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.4))(@rspack/core@1.7.9)(@swc/core@1.15.18)(esbuild@0.27.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(@swc/core@1.15.18)(esbuild@0.27.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@docusaurus/theme-search-algolia':
+ specifier: ^3.9.2
+ version: 3.9.2(@algolia/client-search@5.49.2)(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.18)(esbuild@0.27.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(esbuild@0.27.4))(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.4))(@rspack/core@1.7.9)(@swc/core@1.15.18)(@types/react@19.2.14)(esbuild@0.27.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(search-insights@2.17.3)(typescript@5.9.3)
+ '@mdx-js/react':
+ specifier: ^3.1.1
+ version: 3.1.1(@types/react@19.2.14)(react@19.2.4)
+ bootstrap:
+ specifier: ^5.3.8
+ version: 5.3.8(@popperjs/core@2.11.8)
+ clsx:
+ specifier: ^2.1.1
+ version: 2.1.1
+ docusaurus-plugin-sass:
+ specifier: ^0.2.6
+ version: 0.2.6(@docusaurus/core@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.18)(esbuild@0.27.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(esbuild@0.27.4))(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.4))(@rspack/core@1.7.9)(@swc/core@1.15.18)(esbuild@0.27.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(@rspack/core@1.7.9)(sass@1.98.0)(webpack@5.105.4(@swc/core@1.15.18)(esbuild@0.27.4))
+ mdast-util-find-and-replace:
+ specifier: ^3.0.2
+ version: 3.0.2
+ prism-react-renderer:
+ specifier: ^2.4.1
+ version: 2.4.1(react@19.2.4)
+ react:
+ specifier: ^19.2.4
+ version: 19.2.4
+ react-dom:
+ specifier: ^19.2.4
+ version: 19.2.4(react@19.2.4)
+ shiki:
+ specifier: ^4.0.2
+ version: 4.0.2
+ unist-util-visit:
+ specifier: ^5.1.0
+ version: 5.1.0
+ devDependencies:
+ '@cursorless/lib-node-common':
+ specifier: workspace:*
+ version: link:../lib-node-common
+ '@docusaurus/module-type-aliases':
+ specifier: ^3.9.2
+ version: 3.9.2(@swc/core@1.15.18)(esbuild@0.27.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@docusaurus/types':
+ specifier: ^3.9.2
+ version: 3.9.2(@swc/core@1.15.18)(esbuild@0.27.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@tsconfig/docusaurus':
+ specifier: ^2.0.9
+ version: 2.0.9
+ '@types/mdast':
+ specifier: ^4.0.4
+ version: 4.0.4
+ '@types/react':
+ specifier: ^19.2.14
+ version: 19.2.14
+ sass:
+ specifier: ^1.98.0
+ version: 1.98.0
+ typescript:
+ specifier: ^5.9.3
+ version: 5.9.3
+ unified:
+ specifier: ^11.0.5
+ version: 11.0.5
+
+ packages/lib-cheatsheet:
+ dependencies:
+ '@cursorless/lib-common':
+ specifier: workspace:*
+ version: link:../lib-common
preact:
specifier: ^10.29.0
version: 10.29.0
@@ -112,14 +377,14 @@ importers:
specifier: ^5.9.3
version: 5.9.3
- packages/cheatsheet-local:
+ packages/lib-cheatsheet-local:
dependencies:
- '@cursorless/cheatsheet':
+ '@cursorless/lib-cheatsheet':
specifier: workspace:*
- version: link:../cheatsheet
- '@cursorless/common':
+ version: link:../lib-cheatsheet
+ '@cursorless/lib-common':
specifier: workspace:*
- version: link:../common
+ version: link:../lib-common
bootstrap:
specifier: ^5.3.8
version: 5.3.8(@popperjs/core@2.11.8)
@@ -149,7 +414,7 @@ importers:
specifier: ^2.3.2
version: 2.3.2(rollup@4.59.0)(vite@8.0.0(@types/node@24.12.0)(esbuild@0.27.4)(jiti@2.6.1)(sass@1.98.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2))
- packages/common:
+ packages/lib-common:
dependencies:
itertools:
specifier: ^2.6.0
@@ -192,17 +457,17 @@ importers:
specifier: ^0.26.7
version: 0.26.7
- packages/cursorless-engine:
+ packages/lib-engine:
dependencies:
- '@cursorless/common':
+ '@cursorless/lib-common':
specifier: workspace:*
- version: link:../common
- '@cursorless/node-common':
+ version: link:../lib-common
+ '@cursorless/lib-node-common':
specifier: workspace:*
- version: link:../node-common
- '@cursorless/sentence-parser':
+ version: link:../lib-node-common
+ '@cursorless/lib-sentence-parser':
specifier: workspace:*
- version: link:../sentence-parser
+ version: link:../lib-sentence-parser
'@cursorless/talon-tools':
specifier: ^0.8.0
version: 0.8.0
@@ -271,116 +536,60 @@ importers:
specifier: ^0.26.7
version: 0.26.7
- packages/cursorless-everywhere-talon:
+ packages/lib-neovim-common:
dependencies:
- '@cursorless/common':
+ '@cursorless/lib-common':
specifier: workspace:*
- version: link:../common
- '@cursorless/cursorless-everywhere-talon-core':
+ version: link:../lib-common
+ '@cursorless/lib-neovim-registry':
specifier: workspace:*
- version: link:../cursorless-everywhere-talon-core
-
- packages/cursorless-everywhere-talon-core:
- dependencies:
- '@cursorless/common':
+ version: link:../lib-neovim-registry
+ '@cursorless/lib-node-common':
specifier: workspace:*
- version: link:../common
- '@cursorless/cursorless-engine':
- specifier: workspace:*
- version: link:../cursorless-engine
- lodash-es:
+ version: link:../lib-node-common
+ lodash:
specifier: ^4.17.23
version: 4.17.23
+ neovim:
+ specifier: ^5.4.0
+ version: 5.4.0
+ uuid:
+ specifier: ^13.0.0
+ version: 13.0.0
vscode-uri:
specifier: ^3.1.0
version: 3.1.0
devDependencies:
- '@types/lodash-es':
- specifier: ^4.17.12
- version: 4.17.12
+ '@types/lodash':
+ specifier: ^4.17.24
+ version: 4.17.24
+ '@types/vscode':
+ specifier: 1.98.0
+ version: 1.98.0
+
+ packages/lib-neovim-registry:
+ devDependencies:
+ neovim:
+ specifier: ^5.4.0
+ version: 5.4.0
- packages/cursorless-everywhere-talon-e2e:
+ packages/lib-node-common:
dependencies:
- '@cursorless/common':
- specifier: workspace:*
- version: link:../common
- '@cursorless/cursorless-everywhere-talon-core':
- specifier: workspace:*
- version: link:../cursorless-everywhere-talon-core
- '@cursorless/node-common':
- specifier: workspace:*
- version: link:../node-common
- '@cursorless/test-case-recorder':
+ '@cursorless/lib-common':
specifier: workspace:*
- version: link:../test-case-recorder
- devDependencies:
- '@types/mocha':
- specifier: ^10.0.10
- version: 10.0.10
- esbuild:
- specifier: ^0.27.4
- version: 0.27.4
- mocha:
- specifier: ^11.7.5
- version: 11.7.5
-
- packages/cursorless-neovim:
- dependencies:
- '@cursorless/common':
- specifier: workspace:*
- version: link:../common
- '@cursorless/cursorless-engine':
- specifier: workspace:*
- version: link:../cursorless-engine
- '@cursorless/neovim-common':
- specifier: workspace:*
- version: link:../neovim-common
- '@cursorless/neovim-registry':
- specifier: workspace:*
- version: link:../neovim-registry
- '@cursorless/node-common':
- specifier: workspace:*
- version: link:../node-common
- '@cursorless/test-case-recorder':
- specifier: workspace:*
- version: link:../test-case-recorder
- devDependencies:
- '@types/chai':
- specifier: ^5.2.3
- version: 5.2.3
- '@types/js-yaml':
- specifier: ^4.0.9
- version: 4.0.9
- '@types/lodash':
- specifier: ^4.17.24
- version: 4.17.24
- lodash:
+ version: link:../lib-common
+ glob:
+ specifier: ^13.0.6
+ version: 13.0.6
+ immer:
+ specifier: ^11.1.4
+ version: 11.1.4
+ lodash-es:
specifier: ^4.17.23
version: 4.17.23
- neovim:
- specifier: ^5.4.0
- version: 5.4.0
- vscode-uri:
- specifier: ^3.1.0
- version: 3.1.0
-
- packages/cursorless-neovim-e2e:
- dependencies:
- '@cursorless/common':
- specifier: workspace:*
- version: link:../common
- '@cursorless/neovim-common':
- specifier: workspace:*
- version: link:../neovim-common
- '@cursorless/neovim-registry':
- specifier: workspace:*
- version: link:../neovim-registry
- '@cursorless/node-common':
- specifier: workspace:*
- version: link:../node-common
- '@cursorless/test-case-recorder':
- specifier: workspace:*
- version: link:../test-case-recorder
+ node-html-parser:
+ specifier: ^7.1.0
+ version: 7.1.0
devDependencies:
'@types/chai':
specifier: ^5.2.3
@@ -388,268 +597,77 @@ importers:
'@types/js-yaml':
specifier: ^4.0.9
version: 4.0.9
- '@types/lodash':
- specifier: ^4.17.24
- version: 4.17.24
- '@types/sinon':
- specifier: ^21.0.0
- version: 21.0.0
+ '@types/lodash-es':
+ specifier: ^4.17.12
+ version: 4.17.12
+ chai:
+ specifier: ^6.2.2
+ version: 6.2.2
js-yaml:
specifier: ^4.1.1
version: 4.1.1
- neovim:
- specifier: ^5.4.0
- version: 5.4.0
- sinon:
- specifier: ^21.0.3
- version: 21.0.3
- packages/cursorless-org:
- dependencies:
- '@cursorless/cheatsheet':
- specifier: workspace:*
- version: link:../cheatsheet
- '@cursorless/common':
- specifier: workspace:*
- version: link:../common
- bootstrap:
- specifier: ^5.3.8
- version: 5.3.8(@popperjs/core@2.11.8)
- preact:
- specifier: ^10.29.0
- version: 10.29.0
- react-player:
- specifier: ^3.4.0
- version: 3.4.0(@svta/cml-cta@1.0.1(@svta/cml-structured-field-values@1.0.1(@svta/cml-utils@1.0.1))(@svta/cml-utils@1.0.1))(@svta/cml-structured-field-values@1.0.1(@svta/cml-utils@1.0.1))(@svta/cml-utils@1.0.1)(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- wouter-preact:
- specifier: ^3.9.0
- version: 3.9.0(preact@10.29.0)
- devDependencies:
- '@types/node':
- specifier: ^24.12.0
- version: 24.12.0
- eslint:
- specifier: ^10.0.3
- version: 10.0.3(jiti@2.6.1)
- http-server:
- specifier: ^14.1.1
- version: 14.1.1
- typescript:
- specifier: ^5.9.3
- version: 5.9.3
- vite:
- specifier: ^8.0.0
- version: 8.0.0(@types/node@24.12.0)(esbuild@0.27.4)(jiti@2.6.1)(sass@1.98.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2)
- vite-plugin-purgecss:
- specifier: ^0.2.13
- version: 0.2.13(@swc/core@1.15.18)(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.32.0)(postcss@8.5.8)(sass@1.98.0)(terser@5.46.1)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2)
- vite-plugin-svgr:
- specifier: ^4.5.0
- version: 4.5.0(rollup@4.59.0)(typescript@5.9.3)(vite@8.0.0(@types/node@24.12.0)(esbuild@0.27.4)(jiti@2.6.1)(sass@1.98.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.2))
-
- packages/cursorless-org-docs:
- dependencies:
- '@algolia/client-search':
- specifier: ^5.49.2
- version: 5.49.2
- '@cursorless/common':
- specifier: workspace:*
- version: link:../common
- '@docsearch/react':
- specifier: ^4.6.0
- version: 4.6.0(@algolia/client-search@5.49.2)(@types/react@19.2.14)(algoliasearch@5.49.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(search-insights@2.17.3)
- '@docusaurus/core':
- specifier: ^3.9.2
- version: 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.18)(esbuild@0.27.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(esbuild@0.27.4))(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.4))(@rspack/core@1.7.9)(@swc/core@1.15.18)(esbuild@0.27.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3)
- '@docusaurus/faster':
- specifier: ^3.9.2
- version: 3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.18)(esbuild@0.27.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(esbuild@0.27.4)
- '@docusaurus/preset-classic':
- specifier: ^3.9.2
- version: 3.9.2(@algolia/client-search@5.49.2)(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.18)(esbuild@0.27.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(esbuild@0.27.4))(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.4))(@rspack/core@1.7.9)(@swc/core@1.15.18)(@types/react@19.2.14)(esbuild@0.27.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(search-insights@2.17.3)(typescript@5.9.3)
- '@docusaurus/theme-classic':
- specifier: ^3.9.2
- version: 3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.18)(esbuild@0.27.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(esbuild@0.27.4))(@rspack/core@1.7.9)(@swc/core@1.15.18)(@types/react@19.2.14)(esbuild@0.27.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3)
- '@docusaurus/theme-common':
- specifier: ^3.9.2
- version: 3.9.2(@docusaurus/plugin-content-docs@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.18)(esbuild@0.27.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(esbuild@0.27.4))(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.4))(@rspack/core@1.7.9)(@swc/core@1.15.18)(esbuild@0.27.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(@swc/core@1.15.18)(esbuild@0.27.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@docusaurus/theme-search-algolia':
- specifier: ^3.9.2
- version: 3.9.2(@algolia/client-search@5.49.2)(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.18)(esbuild@0.27.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(esbuild@0.27.4))(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.4))(@rspack/core@1.7.9)(@swc/core@1.15.18)(@types/react@19.2.14)(esbuild@0.27.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(search-insights@2.17.3)(typescript@5.9.3)
- '@mdx-js/react':
- specifier: ^3.1.1
- version: 3.1.1(@types/react@19.2.14)(react@19.2.4)
- bootstrap:
- specifier: ^5.3.8
- version: 5.3.8(@popperjs/core@2.11.8)
- clsx:
- specifier: ^2.1.1
- version: 2.1.1
- docusaurus-plugin-sass:
- specifier: ^0.2.6
- version: 0.2.6(@docusaurus/core@3.9.2(@docusaurus/faster@3.9.2(@docusaurus/types@3.9.2(@swc/core@1.15.18)(esbuild@0.27.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(esbuild@0.27.4))(@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.4))(@rspack/core@1.7.9)(@swc/core@1.15.18)(esbuild@0.27.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(@rspack/core@1.7.9)(sass@1.98.0)(webpack@5.105.4(@swc/core@1.15.18)(esbuild@0.27.4))
- mdast-util-find-and-replace:
- specifier: ^3.0.2
- version: 3.0.2
- prism-react-renderer:
- specifier: ^2.4.1
- version: 2.4.1(react@19.2.4)
- react:
- specifier: ^19.2.4
- version: 19.2.4
- react-dom:
- specifier: ^19.2.4
- version: 19.2.4(react@19.2.4)
- shiki:
- specifier: ^4.0.2
- version: 4.0.2
- unist-util-visit:
- specifier: ^5.1.0
- version: 5.1.0
+ packages/lib-sentence-parser:
devDependencies:
- '@cursorless/node-common':
- specifier: workspace:*
- version: link:../node-common
- '@docusaurus/module-type-aliases':
- specifier: ^3.9.2
- version: 3.9.2(@swc/core@1.15.18)(esbuild@0.27.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@docusaurus/types':
- specifier: ^3.9.2
- version: 3.9.2(@swc/core@1.15.18)(esbuild@0.27.4)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@tsconfig/docusaurus':
- specifier: ^2.0.9
- version: 2.0.9
- '@types/mdast':
- specifier: ^4.0.4
- version: 4.0.4
- '@types/react':
- specifier: ^19.2.14
- version: 19.2.14
- sass:
- specifier: ^1.98.0
- version: 1.98.0
- typescript:
- specifier: ^5.9.3
- version: 5.9.3
- unified:
- specifier: ^11.0.5
- version: 11.0.5
+ '@types/mocha':
+ specifier: ^10.0.10
+ version: 10.0.10
+ mocha:
+ specifier: ^11.7.5
+ version: 11.7.5
- packages/cursorless-tutorial:
+ packages/lib-talon-core:
dependencies:
- '@cursorless/common':
+ '@cursorless/lib-common':
specifier: workspace:*
- version: link:../common
- '@cursorless/cursorless-engine':
+ version: link:../lib-common
+ '@cursorless/lib-engine':
specifier: workspace:*
- version: link:../cursorless-engine
- immer:
- specifier: ^11.1.4
- version: 11.1.4
+ version: link:../lib-engine
lodash-es:
specifier: ^4.17.23
version: 4.17.23
+ vscode-uri:
+ specifier: ^3.1.0
+ version: 3.1.0
devDependencies:
'@types/lodash-es':
specifier: ^4.17.12
version: 4.17.12
- packages/cursorless-vscode:
+ packages/lib-test-case-recorder:
dependencies:
- '@cursorless/common':
+ '@cursorless/lib-common':
specifier: workspace:*
- version: link:../common
- '@cursorless/cursorless-engine':
+ version: link:../lib-common
+ '@cursorless/lib-engine':
specifier: workspace:*
- version: link:../cursorless-engine
- '@cursorless/cursorless-tutorial':
+ version: link:../lib-engine
+ '@cursorless/lib-node-common':
specifier: workspace:*
- version: link:../cursorless-tutorial
- '@cursorless/node-common':
- specifier: workspace:*
- version: link:../node-common
- '@cursorless/test-case-recorder':
- specifier: workspace:*
- version: link:../test-case-recorder
- '@cursorless/vscode-common':
- specifier: workspace:*
- version: link:../vscode-common
+ version: link:../lib-node-common
glob:
specifier: ^13.0.6
version: 13.0.6
- itertools:
- specifier: ^2.6.0
- version: 2.6.0
+ immutability-helper:
+ specifier: ^3.1.1
+ version: 3.1.1
lodash-es:
specifier: ^4.17.23
version: 4.17.23
- nearley:
- specifier: ^2.20.1
- version: 2.20.1(patch_hash=0db19a2c501b16f37fbd86a94190d4a790184cea1061bf2e07f24eb076d4f2cf)
- semver:
- specifier: ^7.7.4
- version: 7.7.4
- trie-search:
- specifier: ^2.2.1
- version: 2.2.1
- uuid:
- specifier: ^13.0.0
- version: 13.0.0
- vscode-uri:
- specifier: ^3.1.0
- version: 3.1.0
devDependencies:
- '@types/fs-extra':
- specifier: ^11.0.4
- version: 11.0.4
- '@types/js-yaml':
- specifier: ^4.0.9
- version: 4.0.9
'@types/lodash-es':
specifier: ^4.17.12
version: 4.17.12
- '@types/nearley':
- specifier: ^2.11.5
- version: 2.11.5(patch_hash=72ccc6b9fd704c6d457027e12d6e1d005695ab3508558a08c6aaf73fb608ef69)
- '@types/node':
- specifier: ^24.12.0
- version: 24.12.0
- '@types/semver':
- specifier: ^7.7.1
- version: 7.7.1
- '@types/sinon':
- specifier: ^21.0.0
- version: 21.0.0
- '@types/vscode':
- specifier: 1.98.0
- version: 1.98.0
- esbuild:
- specifier: ^0.27.4
- version: 0.27.4
- fast-xml-parser:
- specifier: ^5.5.6
- version: 5.5.6
- fs-extra:
- specifier: ^11.3.4
- version: 11.3.4
- sinon:
- specifier: ^21.0.3
- version: 21.0.3
- tsx:
- specifier: ^4.21.0
- version: 4.21.0
- packages/cursorless-vscode-e2e:
+ packages/lib-tutorial:
dependencies:
- '@cursorless/common':
- specifier: workspace:*
- version: link:../common
- '@cursorless/node-common':
+ '@cursorless/lib-common':
specifier: workspace:*
- version: link:../node-common
- '@cursorless/vscode-common':
+ version: link:../lib-common
+ '@cursorless/lib-engine':
specifier: workspace:*
- version: link:../vscode-common
+ version: link:../lib-engine
immer:
specifier: ^11.1.4
version: 11.1.4
@@ -657,48 +675,25 @@ importers:
specifier: ^4.17.23
version: 4.17.23
devDependencies:
- '@types/chai':
- specifier: ^5.2.3
- version: 5.2.3
- '@types/js-yaml':
- specifier: ^4.0.9
- version: 4.0.9
'@types/lodash-es':
specifier: ^4.17.12
version: 4.17.12
- '@types/mocha':
- specifier: ^10.0.10
- version: 10.0.10
- '@types/semver':
- specifier: ^7.7.1
- version: 7.7.1
- '@types/sinon':
- specifier: ^21.0.0
- version: 21.0.0
+
+ packages/lib-vscode-common:
+ dependencies:
+ '@cursorless/lib-common':
+ specifier: workspace:*
+ version: link:../lib-common
+ devDependencies:
'@types/vscode':
specifier: 1.98.0
version: 1.98.0
- chai:
- specifier: ^6.2.2
- version: 6.2.2
- js-yaml:
- specifier: ^4.1.1
- version: 4.1.1
- mocha:
- specifier: ^11.7.5
- version: 11.7.5
- semver:
- specifier: ^7.7.4
- version: 7.7.4
- sinon:
- specifier: ^21.0.3
- version: 21.0.3
- packages/cursorless-vscode-tutorial-webview:
+ packages/lib-vscode-tutorial-webview:
dependencies:
- '@cursorless/common':
+ '@cursorless/lib-common':
specifier: workspace:*
- version: link:../common
+ version: link:../lib-common
bootstrap:
specifier: ^5.3.8
version: 5.3.8(@popperjs/core@2.11.8)
@@ -716,93 +711,23 @@ importers:
specifier: ^0.2.13
version: 0.2.13(@swc/core@1.15.18)(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(postcss@8.5.8)(sass@1.98.0)(terser@5.46.1)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2)
- packages/meta-updater:
- devDependencies:
- '@cursorless/common':
- specifier: workspace:*
- version: link:../common
- '@pnpm/lockfile-file':
- specifier: ^9.1.3
- version: 9.1.3(@pnpm/logger@1001.0.1)
- '@pnpm/types':
- specifier: ^1001.3.0
- version: 1001.3.0
- '@types/js-yaml':
- specifier: ^4.0.9
- version: 4.0.9
- '@types/lodash-es':
- specifier: ^4.17.12
- version: 4.17.12
- '@types/normalize-path':
- specifier: ^3.0.2
- version: 3.0.2
- js-yaml:
- specifier: ^4.1.1
- version: 4.1.1
- lodash-es:
- specifier: ^4.17.23
- version: 4.17.23
- normalize-path:
- specifier: ^3.0.0
- version: 3.0.0
- type-fest:
- specifier: ^5.4.4
- version: 5.4.4
-
- packages/neovim-common:
+ packages/test-neovim-e2e:
dependencies:
- '@cursorless/common':
+ '@cursorless/lib-common':
specifier: workspace:*
- version: link:../common
- '@cursorless/neovim-registry':
+ version: link:../lib-common
+ '@cursorless/lib-neovim-common':
specifier: workspace:*
- version: link:../neovim-registry
- '@cursorless/node-common':
+ version: link:../lib-neovim-common
+ '@cursorless/lib-neovim-registry':
specifier: workspace:*
- version: link:../node-common
- lodash:
- specifier: ^4.17.23
- version: 4.17.23
- neovim:
- specifier: ^5.4.0
- version: 5.4.0
- uuid:
- specifier: ^13.0.0
- version: 13.0.0
- vscode-uri:
- specifier: ^3.1.0
- version: 3.1.0
- devDependencies:
- '@types/lodash':
- specifier: ^4.17.24
- version: 4.17.24
- '@types/vscode':
- specifier: 1.98.0
- version: 1.98.0
-
- packages/neovim-registry:
- devDependencies:
- neovim:
- specifier: ^5.4.0
- version: 5.4.0
-
- packages/node-common:
- dependencies:
- '@cursorless/common':
+ version: link:../lib-neovim-registry
+ '@cursorless/lib-node-common':
specifier: workspace:*
- version: link:../common
- glob:
- specifier: ^13.0.6
- version: 13.0.6
- immer:
- specifier: ^11.1.4
- version: 11.1.4
- lodash-es:
- specifier: ^4.17.23
- version: 4.17.23
- node-html-parser:
- specifier: ^7.1.0
- version: 7.1.0
+ version: link:../lib-node-common
+ '@cursorless/lib-test-case-recorder':
+ specifier: workspace:*
+ version: link:../lib-test-case-recorder
devDependencies:
'@types/chai':
specifier: ^5.2.3
@@ -810,64 +735,36 @@ importers:
'@types/js-yaml':
specifier: ^4.0.9
version: 4.0.9
- '@types/lodash-es':
- specifier: ^4.17.12
- version: 4.17.12
- chai:
- specifier: ^6.2.2
- version: 6.2.2
+ '@types/lodash':
+ specifier: ^4.17.24
+ version: 4.17.24
+ '@types/sinon':
+ specifier: ^21.0.0
+ version: 21.0.0
js-yaml:
specifier: ^4.1.1
version: 4.1.1
+ neovim:
+ specifier: ^5.4.0
+ version: 5.4.0
+ sinon:
+ specifier: ^21.0.3
+ version: 21.0.3
- packages/sentence-parser:
- devDependencies:
- '@types/mocha':
- specifier: ^10.0.10
- version: 10.0.10
- mocha:
- specifier: ^11.7.5
- version: 11.7.5
-
- packages/test-case-recorder:
- dependencies:
- '@cursorless/common':
- specifier: workspace:*
- version: link:../common
- '@cursorless/cursorless-engine':
- specifier: workspace:*
- version: link:../cursorless-engine
- '@cursorless/node-common':
- specifier: workspace:*
- version: link:../node-common
- glob:
- specifier: ^13.0.6
- version: 13.0.6
- immutability-helper:
- specifier: ^3.1.1
- version: 3.1.1
- lodash-es:
- specifier: ^4.17.23
- version: 4.17.23
- devDependencies:
- '@types/lodash-es':
- specifier: ^4.17.12
- version: 4.17.12
-
- packages/test-harness:
+ packages/test-runner:
dependencies:
- '@cursorless/common':
+ '@cursorless/lib-common':
specifier: workspace:*
- version: link:../common
- '@cursorless/neovim-common':
+ version: link:../lib-common
+ '@cursorless/lib-neovim-common':
specifier: workspace:*
- version: link:../neovim-common
- '@cursorless/neovim-registry':
+ version: link:../lib-neovim-common
+ '@cursorless/lib-neovim-registry':
specifier: workspace:*
- version: link:../neovim-registry
- '@cursorless/node-common':
+ version: link:../lib-neovim-registry
+ '@cursorless/lib-node-common':
specifier: workspace:*
- version: link:../node-common
+ version: link:../lib-node-common
glob:
specifier: ^13.0.6
version: 13.0.6
@@ -906,15 +803,118 @@ importers:
specifier: ^0.26.7
version: 0.26.7
- packages/vscode-common:
+ packages/test-talon-e2e:
dependencies:
- '@cursorless/common':
+ '@cursorless/lib-common':
+ specifier: workspace:*
+ version: link:../lib-common
+ '@cursorless/lib-node-common':
+ specifier: workspace:*
+ version: link:../lib-node-common
+ '@cursorless/lib-talon-core':
+ specifier: workspace:*
+ version: link:../lib-talon-core
+ '@cursorless/lib-test-case-recorder':
specifier: workspace:*
- version: link:../common
+ version: link:../lib-test-case-recorder
devDependencies:
+ '@types/mocha':
+ specifier: ^10.0.10
+ version: 10.0.10
+ esbuild:
+ specifier: ^0.27.4
+ version: 0.27.4
+ mocha:
+ specifier: ^11.7.5
+ version: 11.7.5
+
+ packages/test-vscode-e2e:
+ dependencies:
+ '@cursorless/lib-common':
+ specifier: workspace:*
+ version: link:../lib-common
+ '@cursorless/lib-node-common':
+ specifier: workspace:*
+ version: link:../lib-node-common
+ '@cursorless/lib-vscode-common':
+ specifier: workspace:*
+ version: link:../lib-vscode-common
+ immer:
+ specifier: ^11.1.4
+ version: 11.1.4
+ lodash-es:
+ specifier: ^4.17.23
+ version: 4.17.23
+ devDependencies:
+ '@types/chai':
+ specifier: ^5.2.3
+ version: 5.2.3
+ '@types/js-yaml':
+ specifier: ^4.0.9
+ version: 4.0.9
+ '@types/lodash-es':
+ specifier: ^4.17.12
+ version: 4.17.12
+ '@types/mocha':
+ specifier: ^10.0.10
+ version: 10.0.10
+ '@types/semver':
+ specifier: ^7.7.1
+ version: 7.7.1
+ '@types/sinon':
+ specifier: ^21.0.0
+ version: 21.0.0
'@types/vscode':
specifier: 1.98.0
version: 1.98.0
+ chai:
+ specifier: ^6.2.2
+ version: 6.2.2
+ js-yaml:
+ specifier: ^4.1.1
+ version: 4.1.1
+ mocha:
+ specifier: ^11.7.5
+ version: 11.7.5
+ semver:
+ specifier: ^7.7.4
+ version: 7.7.4
+ sinon:
+ specifier: ^21.0.3
+ version: 21.0.3
+
+ packages/tool-meta-updater:
+ devDependencies:
+ '@cursorless/lib-common':
+ specifier: workspace:*
+ version: link:../lib-common
+ '@pnpm/lockfile-file':
+ specifier: ^9.1.3
+ version: 9.1.3(@pnpm/logger@1001.0.1)
+ '@pnpm/types':
+ specifier: ^1001.3.0
+ version: 1001.3.0
+ '@types/js-yaml':
+ specifier: ^4.0.9
+ version: 4.0.9
+ '@types/lodash-es':
+ specifier: ^4.17.12
+ version: 4.17.12
+ '@types/normalize-path':
+ specifier: ^3.0.2
+ version: 3.0.2
+ js-yaml:
+ specifier: ^4.1.1
+ version: 4.1.1
+ lodash-es:
+ specifier: ^4.17.23
+ version: 4.17.23
+ normalize-path:
+ specifier: ^3.0.0
+ version: 3.0.0
+ type-fest:
+ specifier: ^5.4.4
+ version: 5.4.4
packages:
diff --git a/scripts/build-and-assemble-website.sh b/scripts/build-and-assemble-website.sh
index c111d54099..f933fed30b 100755
--- a/scripts/build-and-assemble-website.sh
+++ b/scripts/build-and-assemble-website.sh
@@ -5,8 +5,8 @@ pnpm install
NODE_OPTIONS="--max-old-space-size=6144" \
pnpm \
- -F 'cursorless-org' \
- -F 'cursorless-org-docs' \
+ -F '@cursorless/app-web' \
+ -F '@cursorless/app-web-docs' \
build
pnpm -r generate-railroad
@@ -14,7 +14,7 @@ pnpm -r generate-railroad
# Merge the root site and the documentation site, placing the documentation site
# under docs/
-root_dir=dist/cursorless-org
+root_dir=dist/app-web
docs_dir="$root_dir/docs"
# Important to remove the root dir first! otherwise we might end up with old removed files from the root dir that are still present in the docs dir, which would be bad since we want to remove old files that are no longer present in the new build.
@@ -22,7 +22,7 @@ rm -rf "$root_dir"
mkdir -p "$root_dir"
mkdir -p "$docs_dir"
-cp -r packages/cursorless-org/out/* "$root_dir"
-cp -r packages/cursorless-org-docs/build/* "$docs_dir"
-cp packages/cursorless-vscode/out/railroad.html "$root_dir/keyboard-modal-railroad.html"
-cp packages/cursorless-engine/out/railroad.html "$root_dir/custom-command-railroad.html"
+cp -r packages/app-web/out/* "$root_dir"
+cp -r packages/app-web-docs/build/* "$docs_dir"
+cp packages/app-vscode/out/railroad.html "$root_dir/keyboard-modal-railroad.html"
+cp packages/lib-engine/out/railroad.html "$root_dir/custom-command-railroad.html"
diff --git a/scripts/deploy-cursorless-nvim.sh b/scripts/deploy-cursorless-nvim.sh
index 188f336218..48fd709089 100755
--- a/scripts/deploy-cursorless-nvim.sh
+++ b/scripts/deploy-cursorless-nvim.sh
@@ -27,8 +27,8 @@ rsync -avhW --no-compress --exclude test --exclude .busted cursorless.nvim/ "$st
# Copy the built .js file
mkdir -p "$staging_dir/node/cursorless-neovim/out"
-cp packages/cursorless-neovim/package.json "$staging_dir/node/cursorless-neovim/"
-cp packages/cursorless-neovim/out/index.cjs "$staging_dir/node/cursorless-neovim/out/"
+cp packages/app-neovim/package.json "$staging_dir/node/cursorless-neovim/"
+cp packages/app-neovim/out/index.cjs "$staging_dir/node/cursorless-neovim/out/"
# Extract commit message and body
commit_message="$(git log -1 --pretty=format:"%s" HEAD)"
diff --git a/scripts/deploy-cursorless-talon.sh b/scripts/deploy-cursorless-talon.sh
index 4f0d443365..8e0dc94f75 100755
--- a/scripts/deploy-cursorless-talon.sh
+++ b/scripts/deploy-cursorless-talon.sh
@@ -37,7 +37,7 @@ git cherry-pick cursorless-talon-staging-previous..cursorless-talon-staging
[[ "$(git rev-parse 'cursorless-talon-main^{tree}')" == "$(git rev-parse 'cursorless-talon-staging^{tree}')" ]]
# Sanity check that cursorless-talon-main is identical to cursorless-talon
-# subdirectory of cursorless-vscode
+# subdirectory of app-vscode
[[ "$(git rev-parse 'cursorless-talon-main^{tree}')" == "$(git rev-parse "${DEPLOY_SHA}:cursorless-talon")" ]]
# Push to cursorless-talon
diff --git a/tsconfig.base.json b/tsconfig.base.json
index 6c3bd800ec..f8d7e54b8d 100644
--- a/tsconfig.base.json
+++ b/tsconfig.base.json
@@ -12,19 +12,19 @@
"isolatedModules": true,
"strict": true,
"paths": {
- "@cursorless/cheatsheet": ["./packages/cheatsheet"],
- "@cursorless/common": ["./packages/common"],
- "@cursorless/cursorless-engine": ["./packages/cursorless-engine"],
- "@cursorless/cursorless-everywhere-talon-core": [
- "./packages/cursorless-everywhere-talon-core"
+ "@cursorless/lib-cheatsheet": ["./packages/lib-cheatsheet"],
+ "@cursorless/lib-common": ["./packages/lib-common"],
+ "@cursorless/lib-engine": ["./packages/lib-engine"],
+ "@cursorless/lib-neovim-common": ["./packages/lib-neovim-common"],
+ "@cursorless/lib-neovim-registry": ["./packages/lib-neovim-registry"],
+ "@cursorless/lib-node-common": ["./packages/lib-node-common"],
+ "@cursorless/lib-sentence-parser": ["./packages/lib-sentence-parser"],
+ "@cursorless/lib-talon-core": ["./packages/lib-talon-core"],
+ "@cursorless/lib-test-case-recorder": [
+ "./packages/lib-test-case-recorder"
],
- "@cursorless/cursorless-tutorial": ["./packages/cursorless-tutorial"],
- "@cursorless/neovim-common": ["./packages/neovim-common"],
- "@cursorless/neovim-registry": ["./packages/neovim-registry"],
- "@cursorless/node-common": ["./packages/node-common"],
- "@cursorless/sentence-parser": ["./packages/sentence-parser"],
- "@cursorless/test-case-recorder": ["./packages/test-case-recorder"],
- "@cursorless/vscode-common": ["./packages/vscode-common"]
+ "@cursorless/lib-tutorial": ["./packages/lib-tutorial"],
+ "@cursorless/lib-vscode-common": ["./packages/lib-vscode-common"]
}
}
}
diff --git a/tsconfig.json b/tsconfig.json
index ccbfd0f96d..ba37720134 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -3,73 +3,73 @@
"include": [],
"references": [
{
- "path": "./packages/cheatsheet"
+ "path": "./packages/app-neovim"
},
{
- "path": "./packages/cheatsheet-local"
+ "path": "./packages/app-talon"
},
{
- "path": "./packages/common"
+ "path": "./packages/app-vscode"
},
{
- "path": "./packages/cursorless-engine"
+ "path": "./packages/app-web"
},
{
- "path": "./packages/cursorless-everywhere-talon"
+ "path": "./packages/app-web-docs"
},
{
- "path": "./packages/cursorless-everywhere-talon-core"
+ "path": "./packages/lib-cheatsheet"
},
{
- "path": "./packages/cursorless-everywhere-talon-e2e"
+ "path": "./packages/lib-cheatsheet-local"
},
{
- "path": "./packages/cursorless-neovim"
+ "path": "./packages/lib-common"
},
{
- "path": "./packages/cursorless-neovim-e2e"
+ "path": "./packages/lib-engine"
},
{
- "path": "./packages/cursorless-org"
+ "path": "./packages/lib-neovim-common"
},
{
- "path": "./packages/cursorless-org-docs"
+ "path": "./packages/lib-neovim-registry"
},
{
- "path": "./packages/cursorless-tutorial"
+ "path": "./packages/lib-node-common"
},
{
- "path": "./packages/cursorless-vscode"
+ "path": "./packages/lib-sentence-parser"
},
{
- "path": "./packages/cursorless-vscode-e2e"
+ "path": "./packages/lib-talon-core"
},
{
- "path": "./packages/cursorless-vscode-tutorial-webview"
+ "path": "./packages/lib-test-case-recorder"
},
{
- "path": "./packages/meta-updater"
+ "path": "./packages/lib-tutorial"
},
{
- "path": "./packages/neovim-common"
+ "path": "./packages/lib-vscode-common"
},
{
- "path": "./packages/neovim-registry"
+ "path": "./packages/lib-vscode-tutorial-webview"
},
{
- "path": "./packages/node-common"
+ "path": "./packages/test-neovim-e2e"
},
{
- "path": "./packages/sentence-parser"
+ "path": "./packages/test-runner"
},
{
- "path": "./packages/test-case-recorder"
+ "path": "./packages/test-talon-e2e"
},
{
- "path": "./packages/test-harness"
+ "path": "./packages/test-vscode-e2e"
},
{
- "path": "./packages/vscode-common"
+ "path": "./packages/tool-meta-updater"
}
]
}