{"id":50893872,"url":"https://github.com/sdux-vault/vault","last_synced_at":"2026-06-18T02:00:58.690Z","repository":{"id":359872940,"uuid":"1241069109","full_name":"sdux-vault/vault","owner":"sdux-vault","description":"SDuX Vault — the platform monorepo powering a framework-agnostic, deterministic state management system. Includes core, addons, devtools, shared utilities, UI components, and companion apps.","archived":false,"fork":false,"pushed_at":"2026-06-17T16:40:55.000Z","size":10326,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-17T16:44:54.792Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sdux-vault.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-16T23:24:25.000Z","updated_at":"2026-06-17T16:20:17.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/sdux-vault/vault","commit_stats":null,"previous_names":["sdux-vault/vault"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sdux-vault/vault","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdux-vault%2Fvault","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdux-vault%2Fvault/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdux-vault%2Fvault/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdux-vault%2Fvault/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sdux-vault","download_url":"https://codeload.github.com/sdux-vault/vault/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdux-vault%2Fvault/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34472826,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-18T02:00:06.871Z","response_time":128,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-15T23:00:25.065Z","updated_at":"2026-06-18T02:00:58.684Z","avatar_url":"https://github.com/sdux-vault.png","language":"TypeScript","funding_links":[],"categories":["State Management"],"sub_categories":["Other State Libraries"],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/sdux-vault/vault/main/apps/docs-app/assets/brand/sdux/brand-landscape.svg\" height=\"100\" alt=\"SDuX Vault\" /\u003e\n\u003c/p\u003e\n\n\u003ch3 align=\"center\"\u003ePlain TypeScript. Zero Magic.\u003c/h3\u003e\n\u003cp align=\"center\"\u003eDeterministic state management for every framework — one pipeline, zero ambiguity.\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.sdux-vault.com\"\u003e\u003cstrong\u003eDocs\u003c/strong\u003e\u003c/a\u003e ·\n  \u003ca href=\"https://www.sdux-vault.com/stackblitz\"\u003e\u003cstrong\u003eLive Examples\u003c/strong\u003e\u003c/a\u003e ·\n  \u003ca href=\"https://www.sdux-vault.com/builder\"\u003e\u003cstrong\u003ePipeline Builder\u003c/strong\u003e\u003c/a\u003e ·\n  \u003ca href=\"https://github.com/sdux-vault/vault/issues\"\u003e\u003cstrong\u003eIssues\u003c/strong\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/license-MIT-blue\" alt=\"License\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/TypeScript-first-3178C6?logo=typescript\u0026logoColor=white\" alt=\"TypeScript\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/frameworks-Angular%20·%20React%20·%20Vue%20·%20Svelte%20·%20Node-333\" alt=\"Frameworks\" /\u003e\n\u003c/p\u003e\n\n---\n\n## What is SDuX Vault?\n\nSDuX Vault is a **framework-agnostic, deterministic state management system** built around a reactive execution pipeline. It replaces the unpredictable sprawl of action/reducer architectures with a single, ordered, traceable pipeline where every transition is explicit and every output is guaranteed.\n\nEach unit of state — called a **FeatureCell** — encapsulates state, pipeline, and lifecycle into a single boundary with built-in handling for persistence, encryption, reducers, caching, and composable behaviors. No actions. No effects ceremony. No dispatch spaghetti.\n\n```typescript\nconst cartCell = new FeatureCell\u003cCartState\u003e({\n  name: 'cart',\n  initialState: { items: [], total: 0, status: 'idle' }\n});\n\ncartCell.replaceState({\n  value: { items: updatedItems, total: computeTotal(items), status: 'ready' }\n});\n```\n\n---\n\n## The Pipeline\n\nSeven stages. One direction. Zero ambiguity.\n\n```\nControllers → Interceptors → Resolve → Filters → Reducers → Taps → Extensions\n```\n\n| Stage            | Purpose                                                                          |\n| ---------------- | -------------------------------------------------------------------------------- |\n| **Controllers**  | Policy-driven governance. Control when, how, and whether execution proceeds.     |\n| **Interceptors** | Guard and transform incoming actions before they reach the pipeline.             |\n| **Resolve**      | Async data resolution. Fetch what you need before state commits.                 |\n| **Filters**      | Conditional execution gates. Skip or continue based on state or action shape.    |\n| **Reducers**     | Pure state transformations. Deterministic computation with zero side effects.    |\n| **Taps**         | Observe committed state without modifying it. Logging, analytics, sync triggers. |\n| **Extensions**   | Post-commit behaviors like persistence and encryption. State remains pure.       |\n\n---\n\n## Why SDuX Vault?\n\n| Capability        | Redux / NgRx            | SDuX Vault                        |\n| ----------------- | ----------------------- | --------------------------------- |\n| State transitions | Action + reducer pairs  | `replaceState()` / `mergeState()` |\n| Execution order   | Unguaranteed middleware | Ordered pipeline stages           |\n| State ownership   | Global store, shared    | FeatureCell — scoped              |\n| Testing           | Mock deps, varied       | act → settle → assert             |\n| Governance        | Custom middleware       | Policy Controllers                |\n| Persistence       | Third-party middleware  | Built-in post-commit              |\n| Boilerplate       | Very high               | Minimal — Builder generates it    |\n\n---\n\n## Core Principles\n\n**Deterministic by design** — Same input. Same pipeline. Same result. Every time.\n\n**FeatureCell ownership** — One feature. One cell. One truth. Clear boundaries, clear lifecycle, clear responsibility.\n\n**Composable behaviors** — Enhance pipeline execution without changing contracts. Add caching, encryption, persistence — all opt-in, all traceable.\n\n**Testing becomes stable** — No flaky tests. No timing hacks. No marble diagrams. Just deterministic queue semantics and clear settlement boundaries.\n\n```typescript\nit('updates cart', async () =\u003e {\n  cartCell.mergeState({ value: mockItems });\n  await vaultSettled('\u003ccart-cell-key\u003e');\n  expect(cartCell.state.total).toBe(42);\n});\n```\n\n---\n\n## Framework Support\n\nPure TypeScript core with first-class bindings for every major framework.\n\n| Framework          | Integration         |\n| ------------------ | ------------------- |\n| **Angular**        | Injectable services |\n| **React**          | Hooks + context     |\n| **Vue**            | Composition API     |\n| **Svelte**         | Stores              |\n| **Node.js**        | Server-side state   |\n| **Any TypeScript** | Zero dependencies   |\n\n---\n\n## Quick Start\n\n### Pipeline Builder\n\nThe fastest path from curiosity to production-ready SDuX Vault. Define your state shape, configure pipeline stages, and get generated type-safe TypeScript — ready to copy or launch directly in StackBlitz.\n\n👉 [**Launch the Pipeline Builder**](https://www.sdux-vault.com/builder)\n\n### Live Examples\n\nExplore real SDuX Vault pipelines in StackBlitz. No install required.\n\n- [Filter \u0026 Reducer Pipeline](https://www.sdux-vault.com/stackblitz/basic-filter-reducer) — Data flows through filters and reducers before becoming state.\n- [Delay Interceptor](https://www.sdux-vault.com/stackblitz/interceptor-delay) — State updates flow through a delay interceptor before committing.\n- [Built-in Debugger](https://www.sdux-vault.com/stackblitz/debugger) — Record, export \u0026 diagnose.\n\n👉 [**View all examples**](https://www.sdux-vault.com/stackblitz)\n\n---\n\n## Enterprise Ready\n\n- **Auditability** — Every state transition is logged and traceable through the pipeline.\n- **Security** — Post-commit encryption extensions protect sensitive state without compromising deterministic purity.\n- **Observability** — Pipeline taps provide built-in telemetry hooks. Connect to any monitoring platform without middleware.\n- **Compliance** — Separate governance from business logic for clearer control evidence.\n- **Migration** — Adopt incrementally by feature domain rather than platform rewrite.\n- **Scale** — Bounded ownership keeps product growth coherent across teams.\n\n👉 [**Enterprise capabilities**](https://www.sdux-vault.com/enterprise)\n\n---\n\n## Documentation\n\n| Resource           | Link                                                            |\n| ------------------ | --------------------------------------------------------------- |\n| Architecture guide | [sdux-vault.com](https://www.sdux-vault.com)                    |\n| Pipeline reference | [Pipeline stages](https://www.sdux-vault.com/architecture)      |\n| Migration playbook | [Migrate from Redux/NgRx](https://www.sdux-vault.com/migration) |\n| API reference      | [Full API docs](https://www.sdux-vault.com/api)                 |\n\n---\n\n## License\n\n[MIT (with SDuX Clarification Notice)](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsdux-vault%2Fvault","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsdux-vault%2Fvault","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsdux-vault%2Fvault/lists"}