From 0c5bb75e1c22cb6dbb52ef6f61dd90b8829dd168 Mon Sep 17 00:00:00 2001
From: MohamedBassem <me@mbassem.com>
Date: Tue, 20 Feb 2024 14:13:45 +0000
Subject: [PATCH] branding: Rename app to Hoarder

---
 .github/workflows/docker.yml                  |  12 +-
 README.md                                     |   2 +-
 docker-compose.yml                            |   1 -
 package.json                                  |  12 +-
 packages/browser-extension/manifest.json      |   4 +-
 packages/db/package.json                      |   2 +-
 packages/shared/package.json                  |   2 +-
 .../web/app/dashboard/bookmarks/layout.tsx    |   2 +-
 .../web/app/dashboard/components/Sidebar.tsx  |   6 +-
 .../web/app/dashboard/tags/[tagName]/page.tsx |   2 +-
 packages/web/app/dashboard/tags/page.tsx      |   2 +-
 packages/web/app/layout.tsx                   |   2 +-
 packages/web/app/signin/page.tsx              |   6 +-
 packages/web/package.json                     |   4 +-
 packages/web/server/api/routers/apiKeys.ts    |   2 +-
 packages/web/server/api/routers/bookmarks.ts  |   4 +-
 packages/web/server/auth.ts                   |   4 +-
 packages/workers/crawler.ts                   |   8 +-
 packages/workers/openai.ts                    |   8 +-
 packages/workers/package.json                 |   6 +-
 yarn.lock                                     | 238 +++++++++---------
 21 files changed, 164 insertions(+), 165 deletions(-)

diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml
index 85adb997..907bb4bc 100644
--- a/.github/workflows/docker.yml
+++ b/.github/workflows/docker.yml
@@ -15,8 +15,8 @@ jobs:
 
       - name: Build image
         run: |
-          docker build . --target workers --tag remember-workers
-          docker build . --target web --tag remember-web
+          docker build . --target workers --tag hoarder-workers
+          docker build . --target web --tag hoarder-web
 
       - name: Log in to registry
         # This is where you will update the PAT to GITHUB_TOKEN
@@ -25,7 +25,7 @@ jobs:
       - name: Push image
         run: |
           OWNER=$(echo ${{github.repository_owner}} | tr '[A-Z]' '[a-z]')
-          docker tag remember-workers ghcr.io/$OWNER/remember-workers:latest
-          docker tag remember-web ghcr.io/$OWNER/remember-web:latest
-          docker push ghcr.io/$OWNER/remember-workers:latest
-          docker push ghcr.io/$OWNER/remember-web:latest
+          docker tag hoarder-workers ghcr.io/$OWNER/hoarder-workers:latest
+          docker tag hoarder-web ghcr.io/$OWNER/hoarder-web:latest
+          docker push ghcr.io/$OWNER/hoarder-workers:latest
+          docker push ghcr.io/$OWNER/hoarder-web:latest
diff --git a/README.md b/README.md
index 71b85fc9..ca06d1d7 100644
--- a/README.md
+++ b/README.md
@@ -1 +1 @@
-# Remember!
+# Hoarder!
diff --git a/docker-compose.yml b/docker-compose.yml
index b94ab9da..ab39a093 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -1,5 +1,4 @@
 version: "3.8"
-name: remember
 services:
   web:
     build:
diff --git a/package.json b/package.json
index be5f485c..9dbb0137 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "$schema": "https://json.schemastore.org/package.json",
-  "name": "remember",
+  "name": "hoarder",
   "version": "0.1.0",
   "private": true,
   "workspaces": [
@@ -10,11 +10,11 @@
     "format": "prettier . --write",
     "format:check": "prettier . --check",
     "lint": "eslint .",
-    "prisma:migrate:dev": "yarn workspace @remember/db prisma migrate dev",
-    "prisma:generate": "yarn workspace @remember/db prisma generate",
-    "workers": "yarn workspace @remember/workers run start",
-    "web": "yarn workspace @remember/web run dev",
-    "studio": "yarn workspace @remember/db prisma studio"
+    "prisma:migrate:dev": "yarn workspace @hoarder/db prisma migrate dev",
+    "prisma:generate": "yarn workspace @hoarder/db prisma generate",
+    "workers": "yarn workspace @hoarder/workers run start",
+    "web": "yarn workspace @hoarder/web run dev",
+    "studio": "yarn workspace @hoarder/db prisma studio"
   },
   "dependencies": {
     "@next/eslint-plugin-next": "^14.1.0",
diff --git a/packages/browser-extension/manifest.json b/packages/browser-extension/manifest.json
index d7930ee8..fe12e3b3 100644
--- a/packages/browser-extension/manifest.json
+++ b/packages/browser-extension/manifest.json
@@ -1,7 +1,7 @@
 {
   "manifest_version": 3,
-  "name": "Remember",
-  "description": "An extension to bookmark links to remember app",
+  "name": "Hoarder",
+  "description": "An extension to bookmark links to hoarder.app",
   "version": "1.0",
   "action": {
     "default_popup": "index.html"
diff --git a/packages/db/package.json b/packages/db/package.json
index 92437cef..59d569b3 100644
--- a/packages/db/package.json
+++ b/packages/db/package.json
@@ -1,6 +1,6 @@
 {
   "$schema": "https://json.schemastore.org/package.json",
-  "name": "@remember/db",
+  "name": "@hoarder/db",
   "version": "0.1.0",
   "private": true,
   "main": "index.ts",
diff --git a/packages/shared/package.json b/packages/shared/package.json
index b75b3ac3..461eb0f8 100644
--- a/packages/shared/package.json
+++ b/packages/shared/package.json
@@ -1,6 +1,6 @@
 {
   "$schema": "https://json.schemastore.org/package.json",
-  "name": "@remember/shared",
+  "name": "@hoarder/shared",
   "version": "0.1.0",
   "private": true,
   "dependencies": {
diff --git a/packages/web/app/dashboard/bookmarks/layout.tsx b/packages/web/app/dashboard/bookmarks/layout.tsx
index 3eb9f44b..85eb1bfd 100644
--- a/packages/web/app/dashboard/bookmarks/layout.tsx
+++ b/packages/web/app/dashboard/bookmarks/layout.tsx
@@ -3,7 +3,7 @@ import AddLink from "./components/AddLink";
 import type { Metadata } from "next";
 
 export const metadata: Metadata = {
-  title: "Remember - Bookmarks",
+  title: "Hoarder - Bookmarks",
 };
 
 export default function BookmarksLayout({
diff --git a/packages/web/app/dashboard/components/Sidebar.tsx b/packages/web/app/dashboard/components/Sidebar.tsx
index 30179166..6cf90121 100644
--- a/packages/web/app/dashboard/components/Sidebar.tsx
+++ b/packages/web/app/dashboard/components/Sidebar.tsx
@@ -1,4 +1,4 @@
-import { Archive, Star, Tag, Home, Brain, Settings } from "lucide-react";
+import { Archive, Star, Tag, Home, PackageOpen, Settings } from "lucide-react";
 import { redirect } from "next/navigation";
 import SidebarItem from "./SidebarItem";
 import { getServerAuthSession } from "@/server/auth";
@@ -15,8 +15,8 @@ export default async function Sidebar() {
     <aside className="flex h-full w-60 flex-col border-r p-4">
       <Link href={"/dashboard/bookmarks"}>
         <div className="mb-5 flex items-center rounded-lg px-1 text-slate-900">
-          <Brain />
-          <span className="ml-2 text-base font-semibold">Remember</span>
+          <PackageOpen />
+          <span className="ml-2 text-base font-semibold">Hoarder</span>
         </div>
       </Link>
       <hr />
diff --git a/packages/web/app/dashboard/tags/[tagName]/page.tsx b/packages/web/app/dashboard/tags/[tagName]/page.tsx
index 81d10127..a95b0f90 100644
--- a/packages/web/app/dashboard/tags/[tagName]/page.tsx
+++ b/packages/web/app/dashboard/tags/[tagName]/page.tsx
@@ -1,5 +1,5 @@
 import { getServerAuthSession } from "@/server/auth";
-import { prisma } from "@remember/db";
+import { prisma } from "@hoarder/db";
 import { notFound, redirect } from "next/navigation";
 import BookmarksGrid from "../../bookmarks/components/BookmarksGrid";
 import { api } from "@/server/api/client";
diff --git a/packages/web/app/dashboard/tags/page.tsx b/packages/web/app/dashboard/tags/page.tsx
index dc0d2ef7..e07d5152 100644
--- a/packages/web/app/dashboard/tags/page.tsx
+++ b/packages/web/app/dashboard/tags/page.tsx
@@ -1,5 +1,5 @@
 import { getServerAuthSession } from "@/server/auth";
-import { prisma } from "@remember/db";
+import { prisma } from "@hoarder/db";
 import Link from "next/link";
 import { redirect } from "next/navigation";
 
diff --git a/packages/web/app/layout.tsx b/packages/web/app/layout.tsx
index f1971b20..d597063b 100644
--- a/packages/web/app/layout.tsx
+++ b/packages/web/app/layout.tsx
@@ -9,7 +9,7 @@ import { ReactQueryDevtools } from "@tanstack/react-query-devtools";
 const inter = Inter({ subsets: ["latin"] });
 
 export const metadata: Metadata = {
-  title: "Remember",
+  title: "Hoarder",
   description: "Your AI powered second brain",
 };
 
diff --git a/packages/web/app/signin/page.tsx b/packages/web/app/signin/page.tsx
index afe63dd3..1556ff2c 100644
--- a/packages/web/app/signin/page.tsx
+++ b/packages/web/app/signin/page.tsx
@@ -1,4 +1,4 @@
-import { Brain } from "lucide-react";
+import { PackageOpen } from "lucide-react";
 import SignInForm from "./components/SignInForm";
 
 export default async function SignInPage() {
@@ -7,9 +7,9 @@ export default async function SignInPage() {
     <div className="flex min-h-screen flex-col items-center justify-center">
       <div className="flex space-x-2">
         <span>
-          <Brain size="30" className="h-full" />
+          <PackageOpen size="30" className="h-full" />
         </span>
-        <span className="text-4xl">Remember</span>
+        <span className="text-4xl">Hoarder</span>
       </div>
       <div className="mt-20 flex w-96 flex-col items-center rounded-xl border border-gray-300 p-20">
         <SignInForm />
diff --git a/packages/web/package.json b/packages/web/package.json
index 8ec38a0b..d1193a34 100644
--- a/packages/web/package.json
+++ b/packages/web/package.json
@@ -1,6 +1,6 @@
 {
   "$schema": "https://json.schemastore.org/package.json",
-  "name": "@remember/web",
+  "name": "@hoarder/web",
   "version": "0.1.0",
   "private": true,
   "scripts": {
@@ -10,6 +10,7 @@
     "lint": "next lint"
   },
   "dependencies": {
+    "@hoarder/db": "0.1.0",
     "@hookform/resolvers": "^3.3.4",
     "@next-auth/prisma-adapter": "^1.0.7",
     "@next/eslint-plugin-next": "^14.1.0",
@@ -19,7 +20,6 @@
     "@radix-ui/react-label": "^2.0.2",
     "@radix-ui/react-slot": "^1.0.2",
     "@radix-ui/react-toast": "^1.1.5",
-    "@remember/db": "0.1.0",
     "@tanstack/react-query": "^5.20.5",
     "@tanstack/react-query-devtools": "^5.21.0",
     "@trpc/client": "11.0.0-next-beta.274",
diff --git a/packages/web/server/api/routers/apiKeys.ts b/packages/web/server/api/routers/apiKeys.ts
index b681d43f..620ca223 100644
--- a/packages/web/server/api/routers/apiKeys.ts
+++ b/packages/web/server/api/routers/apiKeys.ts
@@ -1,6 +1,6 @@
 import { generateApiKey } from "@/server/auth";
 import { authedProcedure, router } from "../trpc";
-import { prisma } from "@remember/db";
+import { prisma } from "@hoarder/db";
 import { z } from "zod";
 
 export const apiKeysAppRouter = router({
diff --git a/packages/web/server/api/routers/bookmarks.ts b/packages/web/server/api/routers/bookmarks.ts
index a77275d9..1a78724d 100644
--- a/packages/web/server/api/routers/bookmarks.ts
+++ b/packages/web/server/api/routers/bookmarks.ts
@@ -9,8 +9,8 @@ import {
   zNewBookmarkRequestSchema,
   zUpdateBookmarksRequestSchema,
 } from "@/lib/types/api/bookmarks";
-import { prisma } from "@remember/db";
-import { LinkCrawlerQueue } from "@remember/shared/queues";
+import { prisma } from "@hoarder/db";
+import { LinkCrawlerQueue } from "@hoarder/shared/queues";
 import { TRPCError, experimental_trpcMiddleware } from "@trpc/server";
 import { User } from "next-auth";
 
diff --git a/packages/web/server/auth.ts b/packages/web/server/auth.ts
index c5a81a2d..b7391848 100644
--- a/packages/web/server/auth.ts
+++ b/packages/web/server/auth.ts
@@ -1,8 +1,8 @@
 import NextAuth, { NextAuthOptions, getServerSession } from "next-auth";
 import { PrismaAdapter } from "@next-auth/prisma-adapter";
 import AuthentikProvider from "next-auth/providers/authentik";
-import serverConfig from "@remember/shared/config";
-import { prisma } from "@remember/db";
+import serverConfig from "@hoarder/shared/config";
+import { prisma } from "@hoarder/db";
 import { DefaultSession } from "next-auth";
 import * as bcrypt from "bcrypt";
 
diff --git a/packages/workers/crawler.ts b/packages/workers/crawler.ts
index 99469105..a4d8d05c 100644
--- a/packages/workers/crawler.ts
+++ b/packages/workers/crawler.ts
@@ -1,16 +1,16 @@
-import logger from "@remember/shared/logger";
+import logger from "@hoarder/shared/logger";
 import {
   LinkCrawlerQueue,
   OpenAIQueue,
   ZCrawlLinkRequest,
   queueConnectionDetails,
   zCrawlLinkRequestSchema,
-} from "@remember/shared/queues";
+} from "@hoarder/shared/queues";
 
 import { Worker } from "bullmq";
 import { Job } from "bullmq";
 
-import { prisma } from "@remember/db";
+import { prisma } from "@hoarder/db";
 
 import { Browser } from "puppeteer";
 import puppeteer from "puppeteer-extra";
@@ -27,7 +27,7 @@ import metascraperTwitter from "metascraper-twitter";
 import metascraperReadability from "metascraper-readability";
 import { Mutex } from "async-mutex";
 import assert from "assert";
-import serverConfig from "@remember/shared/config";
+import serverConfig from "@hoarder/shared/config";
 
 const metascraperParser = metascraper([
   metascraperReadability(),
diff --git a/packages/workers/openai.ts b/packages/workers/openai.ts
index f48efdf5..8972eb66 100644
--- a/packages/workers/openai.ts
+++ b/packages/workers/openai.ts
@@ -1,12 +1,12 @@
-import { prisma, BookmarkedLink } from "@remember/db";
-import logger from "@remember/shared/logger";
-import serverConfig from "@remember/shared/config";
+import { prisma, BookmarkedLink } from "@hoarder/db";
+import logger from "@hoarder/shared/logger";
+import serverConfig from "@hoarder/shared/config";
 import {
   OpenAIQueue,
   ZOpenAIRequest,
   queueConnectionDetails,
   zOpenAIRequestSchema,
-} from "@remember/shared/queues";
+} from "@hoarder/shared/queues";
 import { Job } from "bullmq";
 import OpenAI from "openai";
 import { z } from "zod";
diff --git a/packages/workers/package.json b/packages/workers/package.json
index a12edc0d..48510531 100644
--- a/packages/workers/package.json
+++ b/packages/workers/package.json
@@ -1,11 +1,11 @@
 {
   "$schema": "https://json.schemastore.org/package.json",
-  "name": "@remember/workers",
+  "name": "@hoarder/workers",
   "version": "0.1.0",
   "private": true,
   "dependencies": {
-    "@remember/db": "0.1.0",
-    "@remember/shared": "0.1.0",
+    "@hoarder/db": "0.1.0",
+    "@hoarder/shared": "0.1.0",
     "@tsconfig/node21": "^21.0.1",
     "async-mutex": "^0.4.1",
     "bullmq": "^5.1.9",
diff --git a/yarn.lock b/yarn.lock
index 73e2c171..3f8c6c66 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -588,6 +588,100 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@hoarder/db@npm:0.1.0, @hoarder/db@workspace:packages/db":
+  version: 0.0.0-use.local
+  resolution: "@hoarder/db@workspace:packages/db"
+  dependencies:
+    "@prisma/client": "npm:^5.9.1"
+    prisma: "npm:^5.9.1"
+  languageName: unknown
+  linkType: soft
+
+"@hoarder/shared@npm:0.1.0, @hoarder/shared@workspace:packages/shared":
+  version: 0.0.0-use.local
+  resolution: "@hoarder/shared@workspace:packages/shared"
+  dependencies:
+    winston: "npm:^3.11.0"
+  languageName: unknown
+  linkType: soft
+
+"@hoarder/web@workspace:packages/web":
+  version: 0.0.0-use.local
+  resolution: "@hoarder/web@workspace:packages/web"
+  dependencies:
+    "@hoarder/db": "npm:0.1.0"
+    "@hookform/resolvers": "npm:^3.3.4"
+    "@next-auth/prisma-adapter": "npm:^1.0.7"
+    "@next/eslint-plugin-next": "npm:^14.1.0"
+    "@prisma/client": "npm:^5.9.1"
+    "@radix-ui/react-dialog": "npm:^1.0.5"
+    "@radix-ui/react-dropdown-menu": "npm:^2.0.6"
+    "@radix-ui/react-label": "npm:^2.0.2"
+    "@radix-ui/react-slot": "npm:^1.0.2"
+    "@radix-ui/react-toast": "npm:^1.1.5"
+    "@tanstack/react-query": "npm:^5.20.5"
+    "@tanstack/react-query-devtools": "npm:^5.21.0"
+    "@trpc/client": "npm:11.0.0-next-beta.274"
+    "@trpc/next": "npm:11.0.0-next-beta.274"
+    "@trpc/react-query": "npm:^11.0.0-next-beta.289"
+    "@trpc/server": "npm:11.0.0-next-beta.274"
+    "@types/bcrypt": "npm:^5.0.2"
+    "@types/react": "npm:^18"
+    "@types/react-dom": "npm:^18"
+    autoprefixer: "npm:^10.0.1"
+    bcrypt: "npm:^5.1.1"
+    class-variance-authority: "npm:^0.7.0"
+    clsx: "npm:^2.1.0"
+    install: "npm:^0.13.0"
+    lucide-react: "npm:^0.322.0"
+    next: "npm:14.1.0"
+    next-auth: "npm:^4.24.5"
+    postcss: "npm:^8"
+    prettier: "npm:^3.2.5"
+    react: "npm:^18"
+    react-dom: "npm:^18"
+    react-hook-form: "npm:^7.50.1"
+    server-only: "npm:^0.0.1"
+    superjson: "npm:^2.2.1"
+    tailwind-merge: "npm:^2.2.1"
+    tailwindcss: "npm:^3.3.0"
+    tailwindcss-animate: "npm:^1.0.7"
+    zod: "npm:^3.22.4"
+    zustand: "npm:^4.5.1"
+  languageName: unknown
+  linkType: soft
+
+"@hoarder/workers@workspace:packages/workers":
+  version: 0.0.0-use.local
+  resolution: "@hoarder/workers@workspace:packages/workers"
+  dependencies:
+    "@hoarder/db": "npm:0.1.0"
+    "@hoarder/shared": "npm:0.1.0"
+    "@tsconfig/node21": "npm:^21.0.1"
+    "@types/metascraper": "npm:^5.14.3"
+    async-mutex: "npm:^0.4.1"
+    bullmq: "npm:^5.1.9"
+    dotenv: "npm:^16.4.1"
+    metascraper: "npm:^5.43.4"
+    metascraper-description: "npm:^5.43.4"
+    metascraper-image: "npm:^5.43.4"
+    metascraper-logo: "npm:^5.43.4"
+    metascraper-logo-favicon: "npm:^5.43.4"
+    metascraper-readability: "npm:^5.43.4"
+    metascraper-title: "npm:^5.43.4"
+    metascraper-twitter: "npm:^5.43.4"
+    metascraper-url: "npm:^5.43.4"
+    nodemon: "npm:^3.0.3"
+    openai: "npm:^4.26.1"
+    puppeteer: "npm:^22.0.0"
+    puppeteer-extra: "npm:^3.3.6"
+    puppeteer-extra-plugin-stealth: "npm:^2.11.2"
+    ts-node: "npm:^10.9.2"
+    typescript: "npm:^5"
+    zod: "npm:^3.22.4"
+  languageName: unknown
+  linkType: soft
+
 "@hookform/resolvers@npm:^3.3.4":
   version: 3.3.4
   resolution: "@hookform/resolvers@npm:3.3.4"
@@ -1618,100 +1712,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@remember/db@npm:0.1.0, @remember/db@workspace:packages/db":
-  version: 0.0.0-use.local
-  resolution: "@remember/db@workspace:packages/db"
-  dependencies:
-    "@prisma/client": "npm:^5.9.1"
-    prisma: "npm:^5.9.1"
-  languageName: unknown
-  linkType: soft
-
-"@remember/shared@npm:0.1.0, @remember/shared@workspace:packages/shared":
-  version: 0.0.0-use.local
-  resolution: "@remember/shared@workspace:packages/shared"
-  dependencies:
-    winston: "npm:^3.11.0"
-  languageName: unknown
-  linkType: soft
-
-"@remember/web@workspace:packages/web":
-  version: 0.0.0-use.local
-  resolution: "@remember/web@workspace:packages/web"
-  dependencies:
-    "@hookform/resolvers": "npm:^3.3.4"
-    "@next-auth/prisma-adapter": "npm:^1.0.7"
-    "@next/eslint-plugin-next": "npm:^14.1.0"
-    "@prisma/client": "npm:^5.9.1"
-    "@radix-ui/react-dialog": "npm:^1.0.5"
-    "@radix-ui/react-dropdown-menu": "npm:^2.0.6"
-    "@radix-ui/react-label": "npm:^2.0.2"
-    "@radix-ui/react-slot": "npm:^1.0.2"
-    "@radix-ui/react-toast": "npm:^1.1.5"
-    "@remember/db": "npm:0.1.0"
-    "@tanstack/react-query": "npm:^5.20.5"
-    "@tanstack/react-query-devtools": "npm:^5.21.0"
-    "@trpc/client": "npm:11.0.0-next-beta.274"
-    "@trpc/next": "npm:11.0.0-next-beta.274"
-    "@trpc/react-query": "npm:^11.0.0-next-beta.289"
-    "@trpc/server": "npm:11.0.0-next-beta.274"
-    "@types/bcrypt": "npm:^5.0.2"
-    "@types/react": "npm:^18"
-    "@types/react-dom": "npm:^18"
-    autoprefixer: "npm:^10.0.1"
-    bcrypt: "npm:^5.1.1"
-    class-variance-authority: "npm:^0.7.0"
-    clsx: "npm:^2.1.0"
-    install: "npm:^0.13.0"
-    lucide-react: "npm:^0.322.0"
-    next: "npm:14.1.0"
-    next-auth: "npm:^4.24.5"
-    postcss: "npm:^8"
-    prettier: "npm:^3.2.5"
-    react: "npm:^18"
-    react-dom: "npm:^18"
-    react-hook-form: "npm:^7.50.1"
-    server-only: "npm:^0.0.1"
-    superjson: "npm:^2.2.1"
-    tailwind-merge: "npm:^2.2.1"
-    tailwindcss: "npm:^3.3.0"
-    tailwindcss-animate: "npm:^1.0.7"
-    zod: "npm:^3.22.4"
-    zustand: "npm:^4.5.1"
-  languageName: unknown
-  linkType: soft
-
-"@remember/workers@workspace:packages/workers":
-  version: 0.0.0-use.local
-  resolution: "@remember/workers@workspace:packages/workers"
-  dependencies:
-    "@remember/db": "npm:0.1.0"
-    "@remember/shared": "npm:0.1.0"
-    "@tsconfig/node21": "npm:^21.0.1"
-    "@types/metascraper": "npm:^5.14.3"
-    async-mutex: "npm:^0.4.1"
-    bullmq: "npm:^5.1.9"
-    dotenv: "npm:^16.4.1"
-    metascraper: "npm:^5.43.4"
-    metascraper-description: "npm:^5.43.4"
-    metascraper-image: "npm:^5.43.4"
-    metascraper-logo: "npm:^5.43.4"
-    metascraper-logo-favicon: "npm:^5.43.4"
-    metascraper-readability: "npm:^5.43.4"
-    metascraper-title: "npm:^5.43.4"
-    metascraper-twitter: "npm:^5.43.4"
-    metascraper-url: "npm:^5.43.4"
-    nodemon: "npm:^3.0.3"
-    openai: "npm:^4.26.1"
-    puppeteer: "npm:^22.0.0"
-    puppeteer-extra: "npm:^3.3.6"
-    puppeteer-extra-plugin-stealth: "npm:^2.11.2"
-    ts-node: "npm:^10.9.2"
-    typescript: "npm:^5"
-    zod: "npm:^3.22.4"
-  languageName: unknown
-  linkType: soft
-
 "@remix-run/router@npm:1.15.0":
   version: 1.15.0
   resolution: "@remix-run/router@npm:1.15.0"
@@ -5238,6 +5238,31 @@ __metadata:
   languageName: node
   linkType: hard
 
+"hoarder@workspace:.":
+  version: 0.0.0-use.local
+  resolution: "hoarder@workspace:."
+  dependencies:
+    "@next/eslint-plugin-next": "npm:^14.1.0"
+    "@tanstack/eslint-plugin-query": "npm:^5.20.1"
+    "@types/node": "npm:^20"
+    "@typescript-eslint/eslint-plugin": "npm:^6.21.0"
+    "@typescript-eslint/parser": "npm:^6.21.0"
+    bullmq: "npm:^5.1.9"
+    class-variance-authority: "npm:^0.7.0"
+    es-errors: "npm:^1.3.0"
+    eslint: "npm:^8.56.0"
+    eslint-config-next: "npm:14.1.0"
+    eslint-config-prettier: "npm:^9.1.0"
+    eslint-plugin-react: "npm:^7.33.2"
+    eslint-plugin-react-hooks: "npm:^4.6.0"
+    eslint-plugin-tailwindcss: "npm:^3.14.2"
+    install: "npm:^0.13.0"
+    prettier: "npm:3.2.5"
+    prettier-plugin-tailwindcss: "npm:^0.5.11"
+    typescript: "npm:^5"
+  languageName: unknown
+  linkType: soft
+
 "html-encoding-sniffer@npm:^4.0.0":
   version: 4.0.0
   resolution: "html-encoding-sniffer@npm:4.0.0"
@@ -8124,31 +8149,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"remember@workspace:.":
-  version: 0.0.0-use.local
-  resolution: "remember@workspace:."
-  dependencies:
-    "@next/eslint-plugin-next": "npm:^14.1.0"
-    "@tanstack/eslint-plugin-query": "npm:^5.20.1"
-    "@types/node": "npm:^20"
-    "@typescript-eslint/eslint-plugin": "npm:^6.21.0"
-    "@typescript-eslint/parser": "npm:^6.21.0"
-    bullmq: "npm:^5.1.9"
-    class-variance-authority: "npm:^0.7.0"
-    es-errors: "npm:^1.3.0"
-    eslint: "npm:^8.56.0"
-    eslint-config-next: "npm:14.1.0"
-    eslint-config-prettier: "npm:^9.1.0"
-    eslint-plugin-react: "npm:^7.33.2"
-    eslint-plugin-react-hooks: "npm:^4.6.0"
-    eslint-plugin-tailwindcss: "npm:^3.14.2"
-    install: "npm:^0.13.0"
-    prettier: "npm:3.2.5"
-    prettier-plugin-tailwindcss: "npm:^0.5.11"
-    typescript: "npm:^5"
-  languageName: unknown
-  linkType: soft
-
 "remove-accents@npm:0.5.0":
   version: 0.5.0
   resolution: "remove-accents@npm:0.5.0"