# Zagora > Build type-safe, error-safe functions that never throw. Full TypeScript inference with tuple arguments, sync/async awareness, and typed error handling. ## Docs - [Async Support](/docs/async-support.md): Sync and async procedure inference - [Auto-Callable Mode](/docs/auto-callable.md): Simplified API without .callable() - [Caching & Memoization](/docs/caching.md): Avoid redundant computations - [Context Management](/docs/context.md): Pass shared dependencies to handlers - [Default Values](/docs/default-values.md): Auto-fill missing arguments - [Environment Variables](/docs/env-vars.md): Type-safe env var validation - [Error Type Guards](/docs/error-guards.md): Narrow error types with utilities - [Getting Started](/docs/getting-started.md): Introduction to Zagora - [Handler Options](/docs/handler-options.md): The options object reference - [Input Validation](/docs/input-validation.md): Validate arguments with schemas - [Installation](/docs/installation.md): How to install Zagora - [Never-Throwing Guarantees](/docs/never-throwing.md): Procedures never crash your process - [Output Validation](/docs/output-validation.md): Ensure return values match schemas - [Procedures](/docs/procedures.md): The building blocks of Zagora - [Quick Start](/docs/quick-start.md): Build your first procedure - [Tuple Arguments](/docs/tuple-arguments.md): Natural function signatures with multiple arguments - [Typed Errors](/docs/typed-errors.md): Define structured error responses - [Why Zagora?](/docs/why-zagora.md): The case for type-safe, error-safe functions - [vs neverthrow / Effect.ts](/comparisons/functional-libraries.md): Comparison with functional libraries - [vs Plain TypeScript](/comparisons/plain-typescript.md): Why use Zagora over plain functions - [vs oRPC / tRPC](/comparisons/rpc-frameworks.md): Comparison with RPC frameworks - [vs Standalone Validators](/comparisons/standalone-validators.md): Why use Zagora over Zod/Valibot alone - [Error Types](/api/error-types.md): Error type reference - [Instance Methods](/api/methods.md): Builder API reference - [ZagoraResult Type](/api/result-type.md): Result type reference - [zagora(config)](/api/zagora.md): Create a Zagora instance - [Best Practices](/advanced/best-practices.md): Guidelines for using Zagora effectively - [Building Routers](/advanced/building-routers.md): DIY routing patterns with Zagora - [Generating OpenAPI](/advanced/openapi.md): API documentation from Zagora procedures - [Testing Procedures](/advanced/testing.md): How to test Zagora procedures - [Type Safety Guarantees](/advanced/type-safety.md): How Zagora ensures type correctness