diff --git a/web/src/lib/i18n/dict.ts b/web/src/lib/i18n/dict.ts
index a8a6ce9..dda97f3 100644
--- a/web/src/lib/i18n/dict.ts
+++ b/web/src/lib/i18n/dict.ts
@@ -1,4 +1,4 @@
-import type { CategoryId } from "../old/categories";
+import type { CategoryId } from "../v1/categories";
export const LOCALES = ["ru", "en"] as const;
export type Locale = (typeof LOCALES)[number];
diff --git a/web/src/lib/i18n/matching.test.ts b/web/src/lib/i18n/matching.test.ts
index cc5ad15..42a0c8f 100644
--- a/web/src/lib/i18n/matching.test.ts
+++ b/web/src/lib/i18n/matching.test.ts
@@ -1,7 +1,7 @@
import { describe, expect, it } from "vitest";
-import { TOOLS } from "../old/registry";
-import { normalizeForSearch, scoreDoc, type SearchDoc } from "./matching";
+import { TOOLS } from "../v1/registry";
import { setLocale } from "./locale.svelte";
+import { normalizeForSearch, scoreDoc, type SearchDoc } from "./matching";
import { toolSearchDoc } from "./tool-strings";
describe("normalizeForSearch", () => {
diff --git a/web/src/lib/i18n/search-coverage.test.ts b/web/src/lib/i18n/search-coverage.test.ts
index dbab1a8..214692b 100644
--- a/web/src/lib/i18n/search-coverage.test.ts
+++ b/web/src/lib/i18n/search-coverage.test.ts
@@ -1,8 +1,7 @@
import { describe, expect, it } from "vitest";
-import { TOOLS } from "../old/registry";
+import { isChainable, TOOLS } from "../v1/registry";
import { normalizeForSearch, scoreDoc } from "./matching";
import { toolSearchDoc } from "./tool-strings";
-import { isChainable } from "../old/registry";
function hits(q: string): string[] {
const nq = normalizeForSearch(q);
diff --git a/web/src/lib/i18n/smoke-i18n.test.ts b/web/src/lib/i18n/smoke-i18n.test.ts
index 1b31e93..e4e11ba 100644
--- a/web/src/lib/i18n/smoke-i18n.test.ts
+++ b/web/src/lib/i18n/smoke-i18n.test.ts
@@ -1,10 +1,10 @@
import { afterEach, describe, expect, it, vi } from "vitest";
-import { setLocale } from "./locale.svelte";
-import { t } from "./t";
+import { TOOLS } from "../v1/registry";
import { LOCALE_TAGS } from "./dict";
+import { setLocale } from "./locale.svelte";
import { normalizeForSearch, scoreDoc } from "./matching";
+import { t } from "./t";
import { toolSearchDoc } from "./tool-strings";
-import { TOOLS } from "../old/registry";
afterEach(() => {
setLocale("ru");
diff --git a/web/src/lib/i18n/tool-strings.ts b/web/src/lib/i18n/tool-strings.ts
index 7f376a2..ffc66ac 100644
--- a/web/src/lib/i18n/tool-strings.ts
+++ b/web/src/lib/i18n/tool-strings.ts
@@ -1,6 +1,6 @@
-import type { ParamDef, ToolEntry } from "$lib/old/registry";
-import type { SearchDoc } from "./matching";
+import type { ParamDef, ToolEntry } from "$lib/v1/registry";
import { getMergedDict } from "./locale.svelte";
+import type { SearchDoc } from "./matching";
import { ru } from "./ru";
/**
diff --git a/web/src/lib/i18n/tools-i18n.test.ts b/web/src/lib/i18n/tools-i18n.test.ts
index a152ed0..42e2fd5 100644
--- a/web/src/lib/i18n/tools-i18n.test.ts
+++ b/web/src/lib/i18n/tools-i18n.test.ts
@@ -1,5 +1,5 @@
import { describe, expect, it } from "vitest";
-import { TOOLS } from "../old/registry";
+import { TOOLS } from "../v1/registry";
import { en } from "./en";
import { ru } from "./ru";
diff --git a/web/src/lib/old/categories.ts b/web/src/lib/v1/categories.ts
similarity index 100%
rename from web/src/lib/old/categories.ts
rename to web/src/lib/v1/categories.ts
diff --git a/web/src/lib/old/components/DownloadButton.svelte b/web/src/lib/v1/components/DownloadButton.svelte
similarity index 95%
rename from web/src/lib/old/components/DownloadButton.svelte
rename to web/src/lib/v1/components/DownloadButton.svelte
index b9d222a..7401814 100644
--- a/web/src/lib/old/components/DownloadButton.svelte
+++ b/web/src/lib/v1/components/DownloadButton.svelte
@@ -1,9 +1,9 @@
diff --git a/web/src/routes/v1/list-tools/+page.svelte b/web/src/routes/v1/list-tools/+page.svelte
index 8e496d9..d25a9e2 100644
--- a/web/src/routes/v1/list-tools/+page.svelte
+++ b/web/src/routes/v1/list-tools/+page.svelte
@@ -1,10 +1,10 @@
diff --git a/web/src/routes/v1/tools/[id]/+page.svelte b/web/src/routes/v1/tools/[id]/+page.svelte
index 73f5478..ed3dafd 100644
--- a/web/src/routes/v1/tools/[id]/+page.svelte
+++ b/web/src/routes/v1/tools/[id]/+page.svelte
@@ -1,8 +1,8 @@