@open-mercato/cache 0.6.3-develop.3810.1.ad92c339f5 → 0.6.3-develop.3811.1.be22750402
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/AGENTS.md +20 -4
- package/package.json +1 -1
package/AGENTS.md
CHANGED
|
@@ -10,13 +10,29 @@ Use `@open-mercato/cache` for all caching needs. MUST NOT use raw Redis, SQLite,
|
|
|
10
10
|
| SQLite | Use for single-server production deployments | `CACHE_STRATEGY=sqlite` |
|
|
11
11
|
| Redis | Use for multi-server production with shared cache | `CACHE_STRATEGY=redis` |
|
|
12
12
|
|
|
13
|
-
##
|
|
13
|
+
## Always
|
|
14
14
|
|
|
15
15
|
1. **MUST resolve via DI** — always use `container.resolve('cacheService')`, never instantiate cache directly
|
|
16
16
|
2. **MUST scope to tenant** — include `tenantId` in cache keys or use `runWithCacheTenant()` for automatic scoping
|
|
17
|
-
3. **MUST
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
3. **MUST use tag-based invalidation** for CRUD side effects — tag entries so related data can be invalidated together
|
|
18
|
+
|
|
19
|
+
## Ask First
|
|
20
|
+
|
|
21
|
+
- Ask before adding a new cache backend, changing default strategy selection, or caching data whose sensitivity is unclear.
|
|
22
|
+
- Ask before changing invalidation semantics that could affect multiple modules or tenants.
|
|
23
|
+
|
|
24
|
+
## Never
|
|
25
|
+
|
|
26
|
+
- Never instantiate cache clients directly; all cache access goes through the cache service abstraction.
|
|
27
|
+
- Never use raw Redis or SQLite clients from module code.
|
|
28
|
+
- Never cache sensitive data (passwords, tokens, PII) without encryption.
|
|
29
|
+
|
|
30
|
+
## Validation Commands
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
yarn workspace @open-mercato/cache test
|
|
34
|
+
yarn workspace @open-mercato/cache build
|
|
35
|
+
```
|
|
20
36
|
|
|
21
37
|
## Tag-Based Invalidation
|
|
22
38
|
|
package/package.json
CHANGED