fatima

Welcome to Fatima

A user guide for SDK generation and local-first secret management.

Fatima is a local-first environment and secrets toolkit. It loads variables from configured providers, validates them, generates SDK files for your runtime, and manages encrypted project secrets in a local Vault.

Read this documentation in order if you are new to Fatima. Use the reference sections later when you need a specific CLI command, provider, crate, or JavaScript API.

What Fatima solves

Modern projects often spread configuration across .env files, shell variables, hosted platforms, secret managers, and application code. Fatima gives you one local workflow for three jobs:

  1. Load environment variables from configured providers.
  2. Validate and expose those variables through generated SDK files.
  3. Store project secrets locally in an encrypted Vault when you do not want to depend on a cloud secret manager.

Main capabilities

CapabilityWhat you use it for
SDK generationGenerate TypeScript, JavaScript, or Python files that read validated environment variables.
ProvidersLoad variables from .env files, the current process, Fatima Vault, Vercel, or Infisical.
ModelsValidate variables as strings, numbers, URLs, booleans, JSON values, tokens, and more.
CLIRun commands with loaded variables, generate SDK files, print secrets, validate configuration, and open the Vault UI.
Core libraryUse Fatima directly from Rust applications.
JavaScript packageUse Fatima from Node.js through the published WebAssembly-powered package.
VaultManage local encrypted secrets with password access and scoped user keys.

Start with Installation, then read Overview and Part 1 - Guides. The later parts are references for concepts, Vault, CLI, providers, validation, Rust crates, and JavaScript/WASM.