Skip to content

Commit 6a42fa0

Browse files
committed
docs: update features section
1 parent 27d61d4 commit 6a42fa0

File tree

1 file changed

+18
-8
lines changed

1 file changed

+18
-8
lines changed

apps/web/pages/index.mdx

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ import { HomePage } from 'vocs/components';
1414
<HomePage.Buttons>
1515
<HomePage.Button href="/docs/getting-started" variant="accent">Get Started</HomePage.Button>
1616
<HomePage.Button href="https://github.com/tunnckoCore/zagora/tree/feat/docs">GitHub</HomePage.Button>
17+
<HomePage.Button href="https://zagora.wgw.lol/llms-full.txt">Agents Ready</HomePage.Button>
18+
<HomePage.Button href="https://zagora.wgw.lol/llms.txt">llms.txt</HomePage.Button>
1719
</HomePage.Buttons>
1820
</HomePage.Root>
1921

@@ -63,37 +65,45 @@ if (result.ok) {
6365

6466
## Features
6567

66-
### Minimal & Standards-Based
68+
### Unmatched Robustness
6769

68-
Zagora is lightweight with zero bloat, built entirely on StandardSchema for universal validation. This means you can use Zod, Valibot, ArkType, or any compliant validator. No lock-in, just the tools you already know and love.
70+
Zagora achieves 100% test coverage, ensuring every aspect of the library is rigorously tested for reliability and correctness. Complementing this, it includes **dedicated type tests** that utilize `expectType` to verify TypeScript types at compile time. Together, these provide robust guarantees that both the compile-time and runtime systems match, delivering confidence of another level.
71+
72+
### Minimal and Standards-Based
73+
74+
Zagora is lightweight with zero dependencies and bloat, built entirely on [StandardSchema](https://standardschema.dev) for universal validation. This means you can use Zod, Valibot, ArkType, or any compliant validator. No lock-in, just the tools you already know and love.
6975

7076
### Never-Throwing Execution
7177

72-
Every function returns a predictable `{ ok, data, error }` resultexceptions are eliminated completely. Your process never crashes from unhandled errors, similar to Effect.ts or neverthrow. This gives you total control and deterministic error handling across your entire codebase.
78+
Every function returns a predictable `{ ok, data, error }` result -- exceptions are eliminated completely. Your process never crashes from unhandled errors, similar to Effect.ts or neverthrow. This gives you total control and deterministic error handling across your entire codebase.
7379

74-
### Typed Error System
80+
### Typed Errors System
7581

7682
Define error schemas upfront and get strongly-typed error helpers inside your handlers. Each error kind is validated at runtime and fully typed at compile-time. You'll never see `try/catch` blocks or guess error shapes again.
7783

7884
### Full Type Inference
7985

8086
Complete TypeScript inference across inputs, outputs, errors, context, defaults, and optionals. Even JavaScript consumers get full autocomplete and IntelliSense support. The type system has been battle-tested with dedicated type-level tests.
8187

82-
### Tuple Arguments Support
88+
### Multiple Arguments Support
8389

8490
Define multiple function arguments using schema tuples with per-argument validation and defaults. Call your functions naturally like `fn('Alice', 25)` instead of `fn({ name: 'Alice', age: 25 })`. This creates a familiar API that feels like native TypeScript functions.
8591

86-
### Sync & Async Awareness
92+
### Granular Diagnostics
93+
94+
Zagora supports compile-time reporting for each argument through TypeScript in IDEs and CLIs, catching potential errors before runtime. This diagnostic capability operates at every level, from schema validation to handler invocationm, to context, to environment variables. Developers receive immediate, precise feedback on argument mismatches, improving code reliability and productivity.
95+
96+
### Sync & Async Awareness at every level
8797

88-
Zagora dynamically infers whether procedures are sync or async based on handler and schema behavior. Sync handlers return `Result`, async handlers return `Promise<Result>`no forced async everywhere. This is impossible with oRPC/tRPC where everything is always async.
98+
Zagora dynamically infers whether procedures are sync or async based on handler and schema behavior. Sync handlers return `Result`, async handlers return `Promise<Result>` -- no forced async everywhere. This is impossible with oRPC/tRPC where everything is always async.
8999

90100
### Built-in Caching
91101

92102
Add memoization to any procedure with a simple cache adapter. Cache keys include input, schemas, and handler body for intelligent invalidation. Works with both sync and async cache implementations seamlessly.
93103

94104
### Just Pure Functions
95105

96-
Zagora produces regular TypeScript functionsno special clients, routers, or network glue required. Export your procedures directly and call them like any other function. Perfect for building type-safe libraries, SDKs, and internal tooling.
106+
Zagora produces regular TypeScript functions -- no special clients, routers, or network glue required. Export your procedures directly and call them like any other function. Perfect for building type-safe libraries, SDKs, and internal tooling.
97107

98108
### Env Vars Validation
99109

0 commit comments

Comments
 (0)