diff --git a/apps/web/src/routes/+page.svelte b/apps/web/src/routes/+page.svelte
index b812f89db..6d2083eec 100644
--- a/apps/web/src/routes/+page.svelte
+++ b/apps/web/src/routes/+page.svelte
@@ -1,12 +1,12 @@
DB Demo
diff --git a/packages/ui/src/components/accordion/accordion-content.svelte b/packages/ui/src/components/atom/accordion/accordion-content.svelte
similarity index 95%
rename from packages/ui/src/components/accordion/accordion-content.svelte
rename to packages/ui/src/components/atom/accordion/accordion-content.svelte
index ee54b2c3c..1ed2392ce 100644
--- a/packages/ui/src/components/accordion/accordion-content.svelte
+++ b/packages/ui/src/components/atom/accordion/accordion-content.svelte
@@ -3,7 +3,7 @@
import type { Snippet } from 'svelte'
import { slide } from 'svelte/transition'
- import { cn } from '../../utils'
+ import { cn } from '../../../utils.js'
type $$Props = AccordionPrimitive.ContentProps
diff --git a/packages/ui/src/components/accordion/accordion-item.svelte b/packages/ui/src/components/atom/accordion/accordion-item.svelte
similarity index 92%
rename from packages/ui/src/components/accordion/accordion-item.svelte
rename to packages/ui/src/components/atom/accordion/accordion-item.svelte
index 07131739e..57c10f5d6 100644
--- a/packages/ui/src/components/accordion/accordion-item.svelte
+++ b/packages/ui/src/components/atom/accordion/accordion-item.svelte
@@ -2,7 +2,7 @@
import { Accordion as AccordionPrimitive } from 'bits-ui'
import type { Snippet } from 'svelte'
- import { cn } from '../../utils'
+ import { cn } from '../../../utils.js'
type $$Props = AccordionPrimitive.ItemProps
diff --git a/packages/ui/src/components/accordion/accordion-trigger.svelte b/packages/ui/src/components/atom/accordion/accordion-trigger.svelte
similarity index 95%
rename from packages/ui/src/components/accordion/accordion-trigger.svelte
rename to packages/ui/src/components/atom/accordion/accordion-trigger.svelte
index 8d5cec5e6..7705c3437 100644
--- a/packages/ui/src/components/accordion/accordion-trigger.svelte
+++ b/packages/ui/src/components/atom/accordion/accordion-trigger.svelte
@@ -3,7 +3,7 @@
import { ChevronDown } from 'lucide-svelte'
import type { Snippet } from 'svelte'
- import { cn } from '../../utils'
+ import { cn } from '../../../utils.js'
type $$Props = AccordionPrimitive.TriggerProps
type $$Events = AccordionPrimitive.TriggerEvents
diff --git a/packages/ui/src/components/accordion/accordion.stories.svelte b/packages/ui/src/components/atom/accordion/accordion.stories.svelte
similarity index 100%
rename from packages/ui/src/components/accordion/accordion.stories.svelte
rename to packages/ui/src/components/atom/accordion/accordion.stories.svelte
diff --git a/packages/ui/src/components/accordion/index.ts b/packages/ui/src/components/atom/accordion/index.ts
similarity index 100%
rename from packages/ui/src/components/accordion/index.ts
rename to packages/ui/src/components/atom/accordion/index.ts
diff --git a/packages/ui/src/components/button/button.stories.svelte b/packages/ui/src/components/atom/button/button.stories.svelte
similarity index 100%
rename from packages/ui/src/components/button/button.stories.svelte
rename to packages/ui/src/components/atom/button/button.stories.svelte
diff --git a/packages/ui/src/components/button/button.svelte b/packages/ui/src/components/atom/button/button.svelte
similarity index 95%
rename from packages/ui/src/components/button/button.svelte
rename to packages/ui/src/components/atom/button/button.svelte
index 06a8afe2d..cb0f1a994 100644
--- a/packages/ui/src/components/button/button.svelte
+++ b/packages/ui/src/components/atom/button/button.svelte
@@ -2,7 +2,7 @@
import { Button as ButtonPrimitive } from 'bits-ui'
import type { Snippet } from 'svelte'
- import { cn } from '../../utils'
+ import { cn } from '../../../utils.js'
import { buttonVariants, type Events, type Props } from './index.js'
type $$Props = Props
diff --git a/packages/ui/src/components/button/index.ts b/packages/ui/src/components/atom/button/index.ts
similarity index 100%
rename from packages/ui/src/components/button/index.ts
rename to packages/ui/src/components/atom/button/index.ts
diff --git a/packages/ui/src/components/checkbox/checkbox.stories.svelte b/packages/ui/src/components/atom/checkbox/checkbox.stories.svelte
similarity index 100%
rename from packages/ui/src/components/checkbox/checkbox.stories.svelte
rename to packages/ui/src/components/atom/checkbox/checkbox.stories.svelte
diff --git a/packages/ui/src/components/checkbox/checkbox.svelte b/packages/ui/src/components/atom/checkbox/checkbox.svelte
similarity index 97%
rename from packages/ui/src/components/checkbox/checkbox.svelte
rename to packages/ui/src/components/atom/checkbox/checkbox.svelte
index 5cdb2d1fb..407dea688 100644
--- a/packages/ui/src/components/checkbox/checkbox.svelte
+++ b/packages/ui/src/components/atom/checkbox/checkbox.svelte
@@ -2,7 +2,7 @@
import { Checkbox as CheckboxPrimitive, Label } from 'bits-ui'
import { Check } from 'lucide-svelte'
- import { cn } from '../../utils'
+ import { cn } from '../../../utils.js'
type $$Props = CheckboxPrimitive.Props & {
label?: string | undefined | null
diff --git a/packages/ui/src/components/checkbox/index.ts b/packages/ui/src/components/atom/checkbox/index.ts
similarity index 100%
rename from packages/ui/src/components/checkbox/index.ts
rename to packages/ui/src/components/atom/checkbox/index.ts
diff --git a/packages/ui/src/components/chip/chip.stories.svelte b/packages/ui/src/components/atom/chip/chip.stories.svelte
similarity index 100%
rename from packages/ui/src/components/chip/chip.stories.svelte
rename to packages/ui/src/components/atom/chip/chip.stories.svelte
diff --git a/packages/ui/src/components/chip/chip.svelte b/packages/ui/src/components/atom/chip/chip.svelte
similarity index 94%
rename from packages/ui/src/components/chip/chip.svelte
rename to packages/ui/src/components/atom/chip/chip.svelte
index 58b5f98c7..4bf6ce8a3 100644
--- a/packages/ui/src/components/chip/chip.svelte
+++ b/packages/ui/src/components/atom/chip/chip.svelte
@@ -2,7 +2,7 @@
import { X } from 'lucide-svelte'
import type { Snippet } from 'svelte'
- import { cn } from '../../utils.js'
+ import { cn } from '../../../utils.js'
import { chipVariants } from './index.js'
interface Props {
diff --git a/packages/ui/src/components/chip/index.ts b/packages/ui/src/components/atom/chip/index.ts
similarity index 100%
rename from packages/ui/src/components/chip/index.ts
rename to packages/ui/src/components/atom/chip/index.ts
diff --git a/packages/ui/src/components/day-chip/day-chip.stories.svelte b/packages/ui/src/components/atom/day-chip/day-chip.stories.svelte
similarity index 100%
rename from packages/ui/src/components/day-chip/day-chip.stories.svelte
rename to packages/ui/src/components/atom/day-chip/day-chip.stories.svelte
diff --git a/packages/ui/src/components/day-chip/day-chip.svelte b/packages/ui/src/components/atom/day-chip/day-chip.svelte
similarity index 89%
rename from packages/ui/src/components/day-chip/day-chip.svelte
rename to packages/ui/src/components/atom/day-chip/day-chip.svelte
index 8e7c257fb..12ba346ab 100644
--- a/packages/ui/src/components/day-chip/day-chip.svelte
+++ b/packages/ui/src/components/atom/day-chip/day-chip.svelte
@@ -1,6 +1,6 @@