@owlmeans/state 0.1.7 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -80,3 +80,20 @@ const DEFAULT_ID = '_default' // conventional ID for single-item resources
80
80
 
81
81
  - [`@owlmeans/resource`](../resource) — `Resource<T>` interface implemented by StateResource
82
82
  - [`@owlmeans/client`](../client) — `useStoreModel` / `useStoreList` React hooks for state resources
83
+
84
+ <!-- owlmeans:agent-guidance:start -->
85
+ ## Agent guidance
86
+
87
+ This package ships embedded Claude Code skills and GitHub Copilot instructions under
88
+ `agent-meta/`. After installing your `@owlmeans/*` packages, run the OwlMeans
89
+ agent-skills installer to place them into your project's native locations
90
+ (`.claude/skills/` and `.github/instructions/`):
91
+
92
+ ```sh
93
+ npx @owlmeans/agent-skills
94
+ ```
95
+
96
+ The embedded files are version-matched to this package release. Do not edit them
97
+ directly — they are regenerated on each publish. To contribute guidance edits,
98
+ open a PR against the source monorepo.
99
+ <!-- owlmeans:agent-guidance:end -->
@@ -0,0 +1,33 @@
1
+ ---
2
+ description: "How to use @owlmeans/state — appendStateResource() to register a state resource on a context, then ctx.getStateResource(alias) to read/write typed application state."
3
+ applyTo: "**/*.ts, **/*.tsx"
4
+ ---
5
+ <!-- AUTO-GENERATED — do not edit. Regenerate via sync-agent-meta. -->
6
+
7
+ # @owlmeans/state
8
+
9
+ **Layer:** Core
10
+ **Install:** `"@owlmeans/state": "^0.1.9"` in `dependencies`
11
+
12
+ ## Key Exports
13
+
14
+ | Export | Description |
15
+ |--------|-------------|
16
+ | `appendStateResource<C, T>(context, alias)` | Register a state resource on the context |
17
+ | `StateResource<T>` types | Typed state container interface |
18
+ | Errors | Typed state errors |
19
+ | Constants | Default state aliases |
20
+
21
+ ## Usage
22
+
23
+ ```typescript
24
+ import { appendStateResource } from '@owlmeans/state'
25
+
26
+ export const VIB_PROJECT_STATE = 'vib-project-state'
27
+ appendStateResource<C, T>(context, VIB_PROJECT_STATE)
28
+ context.projectStore = () => context.getStateResource(VIB_PROJECT_STATE)
29
+ ```
30
+
31
+ ## Depends On
32
+
33
+ - `@owlmeans/resource`, `@owlmeans/context`, `@owlmeans/error`, `@owlmeans/i18n`
@@ -0,0 +1,23 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "package": "@owlmeans/state",
4
+ "version": "0.1.9",
5
+ "generatedAt": "2026-06-14T13:34:06.130Z",
6
+ "canonicalRepo": "https://github.com/owlmeans/common",
7
+ "entries": [
8
+ {
9
+ "kind": "skill",
10
+ "name": "state",
11
+ "category": "package-specific",
12
+ "file": "skills/state/SKILL.md",
13
+ "canonicalPath": ".claude/skills/state/SKILL.md"
14
+ },
15
+ {
16
+ "kind": "instruction",
17
+ "name": "state",
18
+ "category": "package-specific",
19
+ "file": "instructions/state.instructions.md",
20
+ "canonicalPath": ".github/instructions/state.instructions.md"
21
+ }
22
+ ]
23
+ }
@@ -0,0 +1,47 @@
1
+ ---
2
+ name: state
3
+ description: How to use @owlmeans/state — appendStateResource() to register a state resource on a context, then ctx.getStateResource(alias) to read/write typed application state. Auto-invoked when importing state primitives.
4
+ user-invocable: false
5
+ ---
6
+ <!-- AUTO-GENERATED — do not edit. Regenerate via sync-agent-meta. -->
7
+
8
+ # @owlmeans/state
9
+
10
+ **Layer:** Core
11
+ **Install:** `"@owlmeans/state": "^0.1.9"` in `dependencies`
12
+
13
+ ## Key Exports
14
+
15
+ | Export | Description |
16
+ |--------|-------------|
17
+ | `appendStateResource<C, T>(context, alias)` | Register a state resource on the context |
18
+ | `StateResource<T>` types | Typed state container interface |
19
+ | Errors | Typed state errors |
20
+ | Constants | Default state aliases |
21
+
22
+ ## Usage
23
+
24
+ Append a state resource at context construction time, expose a typed accessor:
25
+
26
+ ```typescript
27
+ import { appendStateResource } from '@owlmeans/state'
28
+
29
+ export const VIB_PROJECT_STATE = 'vib-project-state'
30
+
31
+ export const makeContext = <C extends Config, T extends Context<C>>(cfg: C): T => {
32
+ const context = makeBasicContext<C, T>(cfg)
33
+ appendStateResource<C, T>(context, VIB_PROJECT_STATE)
34
+ context.projectStore = () => context.getStateResource(VIB_PROJECT_STATE)
35
+ return context
36
+ }
37
+
38
+ // Later, in a component or handler:
39
+ const store = ctx.projectStore()
40
+ const current = await store.get('current')
41
+ ```
42
+
43
+ ## Depends On
44
+
45
+ - `@owlmeans/resource` — `StateResource` extends `Resource`
46
+ - `@owlmeans/context` — for `getStateResource`
47
+ - `@owlmeans/error`, `@owlmeans/i18n`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@owlmeans/state",
3
- "version": "0.1.7",
3
+ "version": "0.1.9",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -21,8 +21,8 @@
21
21
  }
22
22
  },
23
23
  "dependencies": {
24
- "@owlmeans/context": "^0.1.7",
25
- "@owlmeans/resource": "^0.1.7"
24
+ "@owlmeans/context": "^0.1.9",
25
+ "@owlmeans/resource": "^0.1.9"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@owlmeans/dep-config": "workspace:*",