# @opencraft/providence

> An abstraction layer for common web use cases (forms, singletons, lists) for use with reactive state-management backends.

Latest version **0.4.0** (published 2026-05-13) · AGPL-3.0 license · 0 weekly downloads

## Install

```sh
npm install @opencraft/providence
pnpm add @opencraft/providence
yarn add @opencraft/providence
bun add @opencraft/providence
```

## Health

**Score 45/100 (D)** — status: active.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

## Facts

| | |
|---|---|
| Version | 0.4.0 |
| Published | 2026-05-13 |
| First published | 2022-02-16 |
| Weekly downloads | 0 |
| License | AGPL-3.0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 2 |
| Unpacked size | 265.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Fox Piacenti |
| Maintainers | foxyfoxie, xitij2000, bradenmacdonald, tecoholic |
| Keywords | state-management, redux |

## Links

- npm: https://www.npmjs.com/package/@opencraft/providence
- Repository: https://gitlab.com/opencraft/dev/providence
- Issues: https://gitlab.com/opencraft/dev/providence/issues
- npm.io page: https://npm.io/package/@opencraft/providence

## Dependencies (2)

- [uuid](https://npm.io/package/uuid.md) *
- [lodash](https://npm.io/package/lodash.md) *

## Alternatives

- [@reckona/mreact-store](https://npm.io/package/@reckona/mreact-store.md) — 976 weekly downloads
- [regular-state](https://npm.io/package/regular-state.md) — 410 weekly downloads
- [@pacote/flux-actions](https://npm.io/package/@pacote/flux-actions.md) — 65 weekly downloads
- [@pilotlab/lux-debug](https://npm.io/package/@pilotlab/lux-debug.md) — 39 weekly downloads
- [vue-persist-state](https://npm.io/package/vue-persist-state.md) — 19 weekly downloads

## Recent versions

- 0.4.0 (latest) — 2026-05-13
- 0.3.3 — 2024-09-04
- 0.3.2 — 2024-08-22
- 0.3.1 — 2024-08-08
- 0.3.0 — 2023-11-14
- 0.2.1 — 2023-10-25
- 0.2.0-alpha.0 — 2023-09-29
- 0.1.5 — 2022-05-23
- 0.1.4 — 2022-05-13
- 0.1.3 — 2022-04-22
- 0.1.2 — 2022-04-06
- 0.1.1 — 2022-03-29
- 0.1.0 — 2022-03-14
- 0.0.8 — 2022-02-21
- 0.0.7 — 2022-02-21
- … 6 more at https://npm.io/package/@opencraft/providence/versions

## README

# Providence

This is the Eye of Providence state abstraction library. It aims to make state management with tools like Redux and Vuex much easier.

Providence's domain has been mostly supplanted by libraries like [tanstack query](https://tanstack.com/query/latest) and [Formik](https://formik.org/). It is still baseline maintained as a dependency, but no new features or extensions are forthcoming.

## Philosophy

Redux, Vuex, and similar tools are incredibly powerful and allow you to get very specific with your state management and how it's handled. However the advantages of these libraries come at a cost of significant boilerplate. Most apps are CRUD apps that deal with specific lists and objects at remote HTTP endpoints.

Providence is a more opinionated abstraction layer that works on top of these state management libraries with the aim to present interfaces designed to make state management easy in the most common cases. It makes it possible to create code that looks much like normal JavaScript but which performs commits/actions in the upstream state management library.

Best of all, Providence is written in typescript, allowing you to have confidence that the objects you're storing are internally consistent and match your expectations.

## History

Providence is based on the initial state management code written by Fox Danger Piacenti at [Artconomy.com](https://artconomy.com/). [OpenCraft](https://opencraft.com/) has sponsored the lifting of this code out into a state management library that can be consumed by the general public.

## Documentation

[Full documentation is available on ReadTheDocs](https://eye-of-providence.readthedocs.io/en/latest/).

---
_Source: https://npm.io/package/@opencraft/providence · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
