Skip to content

Commit

Permalink
docs: add an initial readme
Browse files Browse the repository at this point in the history
  • Loading branch information
TylorS committed May 16, 2024
1 parent 52cba20 commit f48332b
Show file tree
Hide file tree
Showing 2 changed files with 103 additions and 5 deletions.
54 changes: 53 additions & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,56 @@ has_children: false
has_toc: false
---

## Work In Progress
<img src="../typed.svg" alt="Typed">

<hr/>

> Join us on [Discord](https://discord.com/invite/kpPHEvkaAv)
Typed is your Effect-native toolkit for building full-stack web applications, with an emphasis on front-end use-cases.

**Runs Everywhere:**

- Client-side rendering
- Server-side Rendering
- Static Rendering
- Web Workers
- Service Workers
- Everywhere you can find Effect.

**Type-safety like you've never experienced:**

Leverage Effect, and the decades of collective knowledge of its maintainers, to streamline the process of creating robust, type-safe web applications. You've never had the TypeScript compiler work this hard for you.

- Type-safe error tracking
- Type-safe dependency tracking
- Type-safe routing
- Type-safe servers and clients end-to-end, including mocks

**Model your user's behavior like the browser:**

`Fx`, shorthand for the plural form of Effect, brings push-based reactive programming to Effect, enabling you to model your user's behavior the same way the browser itself does. Complex user interactions have never been so easy, nor so declarative.

**Built to be tested:**

Backed by Effect, everything is testable by default, but in addition

- Context-Aware Abstractions - `@typed/context` wraps all `effect/*` data structures in context-aware variants and more.
- HTML Template Testing - `@typed/template/Test` contains test tools for testing with HTML
- DOM Template Testing - `@typed/template/Test` also contains test tools for rendering and hydration
- Vitest Integration - `@typed/template/Vitest` wraps `@effect/vitest` to provide resources common to testing `@typed/template` abstractions.

**Backend-for Frontend:**

Building the API servers to support your frontend-applications has never been so powerful.

- Type-safe Open API Specification and Implementation
- Type-safe Client derivation, including mocks powered by `@effect/schema` + `fast-check`
- Type-safe Servier implementation, including mocks powered by `@effect/schema` + `fast-check`
- Deep integration with Typed Template

**Built to last:**

Typed places heavy emphasis on long-term-friendly design patterns, and favors this over _extreme_ performance at all times. Backed by Effect, Dependency Inversion has never been more powerful. Type-safe errors make refactoring a breeze. With `@typed/template` even your event handler's errors will be surfaced within the type system and can be handled using the growing collection of functions from `@typed/Fx`.

Every long-term project reaches a point where the well-worn path doesn't fit your needs. Typed is built with these kinds of custom needs from the start. Typed knows what it knows, and doesn't make assumptions about what exists outside its bounds. Full control is always within reach.
54 changes: 50 additions & 4 deletions readme.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,53 @@
<img src="typed.svg" alt="css-in-readme">
<img src="typed.svg" alt="Typed">

Typed is your Effect-native, push-based reactive programming toolkit with an emphasis on front-end web development and its supporting use-cases.
<hr/>

> This is in a pre-alpha release state for feedback purposes. Do not use in production unless you understand what you're doing.
> Join us on [Discord](https://discord.com/invite/kpPHEvkaAv)
Join us on [Discord](https://discord.com/invite/kpPHEvkaAv)
Typed is your Effect-native toolkit for building full-stack web applications, with an emphasis on front-end use-cases.

**Runs Everywhere:**

- Client-side rendering
- Server-side Rendering
- Static Rendering
- Web Workers
- Service Workers
- Everywhere you can find Effect.

**Type-safety like you've never experienced:**

Leverage Effect, and the decades of collective knowledge of its maintainers, to streamline the process of creating robust, type-safe web applications. You've never had the TypeScript compiler work this hard for you.

- Type-safe error tracking
- Type-safe dependency tracking
- Type-safe routing
- Type-safe servers and clients end-to-end, including mocks

**Model your user's behavior like the browser:**

`Fx`, shorthand for the plural form of Effect, brings push-based reactive programming to Effect, enabling you to model your user's behavior the same way the browser itself does. Complex user interactions have never been so easy, nor so declarative.

**Built to be tested:**

Backed by Effect, everything is testable by default, but in addition

- Context-Aware Abstractions - `@typed/context` wraps all `effect/*` data structures in context-aware variants and more.
- HTML Template Testing - `@typed/template/Test` contains test tools for testing with HTML
- DOM Template Testing - `@typed/template/Test` also contains test tools for rendering and hydration
- Vitest Integration - `@typed/template/Vitest` wraps `@effect/vitest` to provide resources common to testing `@typed/template` abstractions.

**Backend-for Frontend:**

Building the API servers to support your frontend-applications has never been so powerful.

- Type-safe Open API Specification and Implementation
- Type-safe Client derivation, including mocks powered by `@effect/schema` + `fast-check`
- Type-safe Servier implementation, including mocks powered by `@effect/schema` + `fast-check`
- Deep integration with Typed Template

**Built to last:**

Typed places heavy emphasis on long-term-friendly design patterns, and favors this over _extreme_ performance at all times. Backed by Effect, Dependency Inversion has never been more powerful. Type-safe errors make refactoring a breeze. With `@typed/template` even your event handler's errors will be surfaced within the type system and can be handled using the growing collection of functions from `@typed/Fx`.

Every long-term project reaches a point where the well-worn path doesn't fit your needs. Typed is built with these kinds of custom needs from the start. Typed knows what it knows, and doesn't make assumptions about what exists outside its bounds. Full control is always within reach.

0 comments on commit f48332b

Please sign in to comment.