https://github.com/ehmpathy/declastruct
Add declarative control to any resource constructs. Declare, plan, and apply within an observable pit-of-success.
https://github.com/ehmpathy/declastruct
Last synced: 5 months ago
JSON representation
Add declarative control to any resource constructs. Declare, plan, and apply within an observable pit-of-success.
- Host: GitHub
- URL: https://github.com/ehmpathy/declastruct
- Owner: ehmpathy
- License: mit
- Created: 2025-06-24T21:56:52.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-06-24T22:00:42.000Z (7 months ago)
- Last Synced: 2025-08-09T04:32:36.606Z (5 months ago)
- Language: TypeScript
- Size: 390 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- Changelog: changelog.md
- License: LICENSE
Awesome Lists containing this project
README
# declastruct


Add declarative control to any resource constructs. Declare, plan, and apply within an observable pit-of-success.
Declare the structures you want. Plan to see the changes required. Apply to make it so 🪄
# benefits
- no dedicated state required
- looks at the source of truth directly
- leverages unique keys of resources to understand remote state automatically and eliminate the middleman
- no new language syntax required
- no awkward new-language limitations
- reuse your existing domain language to manage your resources
# features
- flexible resource references
- eliminate primary-key constraint; enable declaration of resources via unique-key references
- eliminate single-key constraint; enable usage of whichever key is accessible
- declarative resource structures
- manage resource states declaratively
- declarative persistence structures
- standard shape for any operation for interaction with resources
- plug and play handlers of resources (interface w/ many remote state stores for the same resource via prebuilt providers)
- declarative instructions
- declare desired state
- plan changes required to get to desired state
- apply changes to get to desired state
# install
```sh
npm install -s declastruct
```
# use
### `declare`
### `plan`
### `apply`
# todo
swap to domain-objects.Refs