diff --git a/apps/docs/astro.config.ts b/apps/docs/astro.config.ts
index 83ab87b7..dadbffaf 100644
--- a/apps/docs/astro.config.ts
+++ b/apps/docs/astro.config.ts
@@ -17,7 +17,7 @@ export default defineConfig({
{
label: "ReactJs",
icon: "seti:react",
- link: "/react/",
+ link: "react/",
id: "react",
items: [
{
@@ -39,7 +39,7 @@ export default defineConfig({
{
label: "SolidJs",
icon: "seti:sublime",
- link: "/solid/",
+ link: "solid/",
id: "solid",
items: [
{
@@ -61,7 +61,7 @@ export default defineConfig({
{
label: "Backend",
icon: "bars",
- link: "/backend/",
+ link: "backend/",
id: "backend",
items: [
{
@@ -83,7 +83,7 @@ export default defineConfig({
{
label: "Universal",
icon: "puzzle",
- link: "/universal/",
+ link: "universal/",
id: "universal",
items: [
{
diff --git a/apps/docs/src/content/docs/backend/getting-started.md b/apps/docs/src/content/docs/backend/getting-started.md
index 11709fec..6d97ed2b 100644
--- a/apps/docs/src/content/docs/backend/getting-started.md
+++ b/apps/docs/src/content/docs/backend/getting-started.md
@@ -514,9 +514,9 @@ You should see:
Now that you have the basics set up, explore the specific packages:
-- [Node Better Auth](/backend/packages/node-better-auth/) - Learn authentication patterns
-- [Node Auth App](/backend/packages/node-auth-app/) - Explore the complete auth service
-- [Backend Reference](/backend/reference/) - Dive into the API documentation
+- [Node Better Auth](backend/packages/node-better-auth/) - Learn authentication patterns
+- [Node Auth App](backend/packages/node-auth-app/) - Explore the complete auth service
+- [Backend Reference](backend/reference/) - Dive into the API documentation
## Common Patterns
diff --git a/apps/docs/src/content/docs/backend/index.mdx b/apps/docs/src/content/docs/backend/index.mdx
index 19a788cb..778502c9 100644
--- a/apps/docs/src/content/docs/backend/index.mdx
+++ b/apps/docs/src/content/docs/backend/index.mdx
@@ -15,13 +15,13 @@ Effectify provides powerful Node.js backend integrations that combine the robust
Effect integration with better-auth for Node.js applications. Provides type-safe authentication with Effect's error handling and composability.
- [Learn more →](/backend/packages/node-better-auth/)
+ [Learn more →](backend/packages/node-better-auth/)
Complete authentication server application built with Effect, better-auth, and modern Node.js patterns. Ready-to-deploy auth service.
- [Learn more →](/backend/packages/node-auth-app/)
+ [Learn more →](backend/packages/node-auth-app/)
@@ -32,7 +32,7 @@ Ready to start building backend services with Effectify? Check out our getting s
Get up and running with Effectify in your Node.js backend application in minutes.
- [Get Started →](/backend/getting-started/)
+ [Get Started →](backend/getting-started/)
## Key Features
diff --git a/apps/docs/src/content/docs/backend/installation.md b/apps/docs/src/content/docs/backend/installation.md
index 982e2d13..833ba284 100644
--- a/apps/docs/src/content/docs/backend/installation.md
+++ b/apps/docs/src/content/docs/backend/installation.md
@@ -181,9 +181,7 @@ export class UsersController {
@Get(":id")
async getUser(@Param("id") id: string) {
- return this.effectService.runEffect(
- UserService.getById(id),
- )
+ return this.effectService.runEffect(UserService.getById(id))
}
}
```
@@ -206,7 +204,10 @@ import { Context, Effect, Layer } from "effect"
export class DatabaseService extends Context.Tag("DatabaseService")<
DatabaseService,
{
- readonly query: (sql: string, params?: any[]) => Effect.Effect
+ readonly query: (
+ sql: string,
+ params?: any[],
+ ) => Effect.Effect
}
>() {}
@@ -224,7 +225,10 @@ const makeDatabaseService = Effect.gen(function*() {
}
})
-export const DatabaseServiceLive = Layer.effect(DatabaseService, makeDatabaseService)
+export const DatabaseServiceLive = Layer.effect(
+ DatabaseService,
+ makeDatabaseService,
+)
```
### SQLite with better-sqlite3
@@ -243,8 +247,14 @@ import { Context, Effect, Layer } from "effect"
export class SqliteService extends Context.Tag("SqliteService")<
SqliteService,
{
- readonly query: (sql: string, params?: any[]) => Effect.Effect
- readonly run: (sql: string, params?: any[]) => Effect.Effect
+ readonly query: (
+ sql: string,
+ params?: any[],
+ ) => Effect.Effect
+ readonly run: (
+ sql: string,
+ params?: any[],
+ ) => Effect.Effect
}
>() {}
@@ -420,16 +430,14 @@ export class EnvService extends Context.Tag("EnvService")<
>() {}
export const loadEnvConfig = Effect.gen(function*() {
- const requiredEnvVars = [
- "DATABASE_URL",
- "BETTER_AUTH_SECRET",
- "JWT_SECRET",
- ]
+ const requiredEnvVars = ["DATABASE_URL", "BETTER_AUTH_SECRET", "JWT_SECRET"]
// Validate required environment variables
for (const envVar of requiredEnvVars) {
if (!process.env[envVar]) {
- yield* Effect.fail(new Error(`Missing required environment variable: ${envVar}`))
+ yield* Effect.fail(
+ new Error(`Missing required environment variable: ${envVar}`),
+ )
}
}
@@ -565,10 +573,10 @@ testRoutes.get("/db-test", (req, res) => {
## Next Steps
-- [Getting Started Guide](/backend/getting-started/) - Learn the basics
-- [Node Better Auth](/backend/packages/node-better-auth/) - Explore authentication
-- [Node Auth App](/backend/packages/node-auth-app/) - Complete auth service
-- [Backend Reference](/backend/reference/) - API documentation
+- [Getting Started Guide](backend/getting-started/) - Learn the basics
+- [Node Better Auth](backend/packages/node-better-auth/) - Explore authentication
+- [Node Auth App](backend/packages/node-auth-app/) - Complete auth service
+- [Backend Reference](backend/reference/) - API documentation
## Troubleshooting
diff --git a/apps/docs/src/content/docs/index.mdx b/apps/docs/src/content/docs/index.mdx
index 5c76c8a3..c7a059e9 100644
--- a/apps/docs/src/content/docs/index.mdx
+++ b/apps/docs/src/content/docs/index.mdx
@@ -18,7 +18,7 @@ hero:
file: ../../assets/houston.webp
actions:
- text: Get Started
- link: /react/getting-started/
+ link: react/getting-started/
icon: right-arrow
- text: View on GitHub
link: https://github.com/devx-op/effectify
@@ -31,7 +31,7 @@ banner:
to follow along with development.
---
-import { Card, CardGrid } from '@astrojs/starlight/components';
+import { Card, CardGrid } from "@astrojs/starlight/components";
## What is Effectify?
@@ -43,37 +43,42 @@ Effectify is a comprehensive suite of packages that brings the power of [Effect]
Effect integration with TanStack Query, comprehensive UI components, and real-time chat functionality for React applications.
- [Explore React packages →](/react/)
-
-
- Reactive Effect integration optimized for SolidJS's fine-grained reactivity system with UI components and chat features.
+ [Explore React packages →](react/)
+
+
+ Reactive Effect integration optimized for SolidJS's fine-grained reactivity system with UI components and chat features.
- [Explore SolidJS packages →](/solid/)
-
-
- Authentication services, better-auth integration, and complete backend solutions built with Effect.
+ [Explore SolidJS packages →](solid/)
+
+
+ Authentication services, better-auth integration, and complete backend solutions built with Effect.
- [Explore Backend packages →](/backend/)
-
-
- Shared domain logic, types, and business rules that work across all platforms and frameworks.
+ [Explore Backend packages →](backend/)
+
+
+ Shared domain logic, types, and business rules that work across all platforms and frameworks.
+
+ [Explore Universal packages →](universal/)
+
- [Explore Universal packages →](/universal/)
-
## Key Features
### Type Safety First
+
Every package is built with TypeScript and Effect's powerful type system, providing compile-time guarantees and excellent IDE support.
### Composable Architecture
+
Build complex applications from simple, composable parts using Effect's functional programming patterns.
### Error Handling
+
Robust error handling with Effect's error management system, making your applications more reliable and easier to debug.
### Cross-Platform Consistency
+
Share business logic and types across React, SolidJS, and Node.js applications for consistent behavior.
## Quick Start
@@ -86,22 +91,23 @@ Choose your platform to get started:
npm install @effectify/react-query @tanstack/react-query effect
```
- [React Quick Start →](/react/getting-started/)
-
-
- ```bash
- npm install @effectify/solid-query @tanstack/solid-query effect
- ```
+ [React Quick Start →](react/getting-started/)
+
+
+ ```bash
+ npm install @effectify/solid-query @tanstack/solid-query effect
+ ```
- [SolidJS Quick Start →](/solid/getting-started/)
-
-
- ```bash
- npm install @effectify/node-better-auth better-auth effect
- ```
+ [SolidJS Quick Start →](solid/getting-started/)
+
+
+ ```bash
+ npm install @effectify/node-better-auth better-auth effect
+ ```
+
+ [Backend Quick Start →](backend/getting-started/)
+
- [Backend Quick Start →](/backend/getting-started/)
-
## Example Applications
@@ -119,18 +125,19 @@ Explore complete example applications built with Effectify:
View source code, report issues, and contribute to the project.
- [Visit GitHub →](https://github.com/devx-op/effectify)
-
-
- Join the community discussions, ask questions, and share your projects.
+ [Visit GitHub →](https://github.com/devx-op/effectify)
+
+
+ Join the community discussions, ask questions, and share your projects.
+
+ [Join Discussions →](https://github.com/devx-op/effectify/discussions)
+
+
+ Connect with the broader Effect community for support and collaboration.
- [Join Discussions →](https://github.com/devx-op/effectify/discussions)
-
-
- Connect with the broader Effect community for support and collaboration.
+ [Join Discord →](https://discord.gg/effect-ts)
+
- [Join Discord →](https://discord.gg/effect-ts)
-
## Deployment Verification
diff --git a/apps/docs/src/content/docs/react/getting-started.md b/apps/docs/src/content/docs/react/getting-started.md
index 93199cc1..3bcab9c6 100644
--- a/apps/docs/src/content/docs/react/getting-started.md
+++ b/apps/docs/src/content/docs/react/getting-started.md
@@ -124,9 +124,9 @@ export function UserProfile({ userId }: UserProfileProps) {
Now that you have the basics set up, explore the specific packages:
-- [React Query Integration](/react/packages/react-query/) - Learn advanced patterns for data fetching
-- [UI Components](/react/packages/react-ui/) - Explore the component library
-- [Chat Components](/react/packages/chat-react/) - Add real-time features
+- [React Query Integration](react/packages/react-query/) - Learn advanced patterns for data fetching
+- [UI Components](react/packages/react-ui/) - Explore the component library
+- [Chat Components](react/packages/chat-react/) - Add real-time features
## Common Patterns
diff --git a/apps/docs/src/content/docs/react/index.mdx b/apps/docs/src/content/docs/react/index.mdx
index 2ac124c9..9f73a993 100644
--- a/apps/docs/src/content/docs/react/index.mdx
+++ b/apps/docs/src/content/docs/react/index.mdx
@@ -15,19 +15,19 @@ Effectify provides powerful React integrations that combine the type-safety and
Effect integration with TanStack Query for React applications. Provides type-safe data fetching with Effect's error handling.
- [Learn more →](/react/packages/react-query/)
+ [Learn more →](react/packages/react-query/)
A comprehensive UI component library built with React, Radix UI, and Tailwind CSS. Includes forms, layouts, and interactive components.
- [Learn more →](/react/packages/react-ui/)
+ [Learn more →](react/packages/react-ui/)
Real-time chat components and services for React applications. Built with Effect for robust state management and error handling.
- [Learn more →](/react/packages/chat-react/)
+ [Learn more →](react/packages/chat-react/)
@@ -38,7 +38,7 @@ Ready to start building with Effectify and React? Check out our getting started
Get up and running with Effectify in your React application in minutes.
- [Get Started →](/react/getting-started/)
+ [Get Started →](react/getting-started/)
## Key Features
diff --git a/apps/docs/src/content/docs/react/installation.md b/apps/docs/src/content/docs/react/installation.md
index 7009290e..0573cd5c 100644
--- a/apps/docs/src/content/docs/react/installation.md
+++ b/apps/docs/src/content/docs/react/installation.md
@@ -241,6 +241,6 @@ If you see "Effectify is working!" rendered, your installation is successful!
## Next Steps
-- [Getting Started Guide](/react/getting-started/) - Learn the basics
-- [React Query Package](/react/packages/react-query/) - Explore data fetching patterns
-- [UI Components](/react/packages/react-ui/) - Browse available components
+- [Getting Started Guide](react/getting-started/) - Learn the basics
+- [React Query Package](react/packages/react-query/) - Explore data fetching patterns
+- [UI Components](react/packages/react-ui/) - Browse available components
diff --git a/apps/docs/src/content/docs/solid/getting-started.md b/apps/docs/src/content/docs/solid/getting-started.md
index 60659604..bcabf48c 100644
--- a/apps/docs/src/content/docs/solid/getting-started.md
+++ b/apps/docs/src/content/docs/solid/getting-started.md
@@ -289,9 +289,9 @@ function UserDashboard(props: { userId: number }) {
Now that you have the basics set up, explore the specific packages:
-- [Solid Query Integration](/solid/packages/solid-query/) - Learn advanced patterns for data fetching
-- [UI Components](/solid/packages/solid-ui/) - Explore the component library
-- [Chat Components](/solid/packages/chat-solid/) - Add real-time features
+- [Solid Query Integration](solid/packages/solid-query/) - Learn advanced patterns for data fetching
+- [UI Components](solid/packages/solid-ui/) - Explore the component library
+- [Chat Components](solid/packages/chat-solid/) - Add real-time features
## Common Patterns
diff --git a/apps/docs/src/content/docs/solid/index.mdx b/apps/docs/src/content/docs/solid/index.mdx
index 2a13a003..25256754 100644
--- a/apps/docs/src/content/docs/solid/index.mdx
+++ b/apps/docs/src/content/docs/solid/index.mdx
@@ -15,19 +15,19 @@ Effectify provides powerful SolidJS integrations that combine the reactive natur
Effect integration with TanStack Query for SolidJS applications. Provides type-safe data fetching with Effect's error handling and SolidJS reactivity.
- [Learn more →](/solid/packages/solid-query/)
+ [Learn more →](solid/packages/solid-query/)
A comprehensive UI component library built with SolidJS, Kobalte, and Tailwind CSS. Includes forms, layouts, and interactive components optimized for SolidJS.
- [Learn more →](/solid/packages/solid-ui/)
+ [Learn more →](solid/packages/solid-ui/)
Real-time chat components and services for SolidJS applications. Built with Effect for robust state management and SolidJS for reactive UI updates.
- [Learn more →](/solid/packages/chat-solid/)
+ [Learn more →](solid/packages/chat-solid/)
@@ -38,7 +38,7 @@ Ready to start building with Effectify and SolidJS? Check out our getting starte
Get up and running with Effectify in your SolidJS application in minutes.
- [Get Started →](/solid/getting-started/)
+ [Get Started →](solid/getting-started/)
## Key Features
diff --git a/apps/docs/src/content/docs/solid/installation.md b/apps/docs/src/content/docs/solid/installation.md
index ec968eac..1bbb02ff 100644
--- a/apps/docs/src/content/docs/solid/installation.md
+++ b/apps/docs/src/content/docs/solid/installation.md
@@ -383,10 +383,10 @@ function App() {
## Next Steps
-- [Getting Started Guide](/solid/getting-started/) - Learn the basics
-- [Solid Query Package](/solid/packages/solid-query/) - Explore data fetching patterns
-- [UI Components](/solid/packages/solid-ui/) - Browse available components
-- [Chat Components](/solid/packages/chat-solid/) - Add real-time features
+- [Getting Started Guide](solid/getting-started/) - Learn the basics
+- [Solid Query Package](solid/packages/solid-query/) - Explore data fetching patterns
+- [UI Components](solid/packages/solid-ui/) - Browse available components
+- [Chat Components](solid/packages/chat-solid/) - Add real-time features
## Troubleshooting
diff --git a/apps/docs/src/content/docs/universal/getting-started.md b/apps/docs/src/content/docs/universal/getting-started.md
index 8cf0912f..63c058ba 100644
--- a/apps/docs/src/content/docs/universal/getting-started.md
+++ b/apps/docs/src/content/docs/universal/getting-started.md
@@ -527,9 +527,9 @@ app.post("/users", (req, res) => {
Now that you understand the core concepts, explore the specific universal packages:
-- [Chat Domain](/universal/packages/chat-domain/) - Learn chat domain logic
-- [Shared Types](/universal/packages/shared-types/) - Explore common types
-- [Universal Concepts](/universal/concepts/) - Dive deeper into patterns
+- [Chat Domain](universal/packages/chat-domain/) - Learn chat domain logic
+- [Shared Types](universal/packages/shared-types/) - Explore common types
+- [Universal Concepts](universal/concepts/) - Dive deeper into patterns
## Best Practices
diff --git a/apps/docs/src/content/docs/universal/index.mdx b/apps/docs/src/content/docs/universal/index.mdx
index aefcf763..4c43754f 100644
--- a/apps/docs/src/content/docs/universal/index.mdx
+++ b/apps/docs/src/content/docs/universal/index.mdx
@@ -15,13 +15,13 @@ Effectify's universal packages provide shared functionality, types, and domain l
Domain logic and business rules for chat functionality. Provides pure, framework-agnostic chat operations built with Effect.
- [Learn more →](/universal/packages/chat-domain/)
+ [Learn more →](universal/packages/chat-domain/)
Common TypeScript types and interfaces shared across all Effectify packages. Ensures type consistency throughout your application.
- [Learn more →](/universal/packages/shared-types/)
+ [Learn more →](universal/packages/shared-types/)
@@ -32,7 +32,7 @@ Ready to understand the universal concepts that power Effectify? Check out our g
Learn the core concepts and patterns used across all Effectify packages.
- [Get Started →](/universal/getting-started/)
+ [Get Started →](universal/getting-started/)
## Core Principles