@codyswann/lisa 2.341.0 → 2.341.1

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.
Files changed (61) hide show
  1. package/README.md +95 -0
  2. package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
  3. package/dist/core/upstream-evidence-manifest.js +2 -1
  4. package/dist/core/upstream-evidence-manifest.js.map +1 -1
  5. package/package.json +1 -1
  6. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  7. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  8. package/plugins/lisa/.codex-plugin/skills/lisa-setup-remote-env/SKILL.md +35 -0
  9. package/plugins/lisa/skills/lisa-setup-remote-env/SKILL.md +35 -0
  10. package/plugins/lisa-agy/plugin.json +1 -1
  11. package/plugins/lisa-agy/skills/lisa-setup-remote-env/SKILL.md +35 -0
  12. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  13. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  14. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  15. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  16. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  17. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  18. package/plugins/lisa-copilot/skills/lisa-setup-remote-env/SKILL.md +35 -0
  19. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  20. package/plugins/lisa-cursor/skills/lisa-setup-remote-env/SKILL.md +35 -0
  21. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  22. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  23. package/plugins/lisa-expo-agy/plugin.json +1 -1
  24. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  25. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  26. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  27. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  28. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  29. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  30. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  31. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  32. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  33. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  34. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  35. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  36. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  37. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  38. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  39. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  40. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  41. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  42. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  43. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  44. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  45. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  46. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  47. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  48. package/plugins/lisa-rails-agy/plugin.json +1 -1
  49. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  50. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  51. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  52. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  53. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  54. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  55. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  56. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  57. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  58. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  59. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  60. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  61. package/plugins/src/base/skills/lisa-setup-remote-env/SKILL.md +35 -0
package/package.json CHANGED
@@ -118,7 +118,7 @@
118
118
  }
119
119
  },
120
120
  "name": "@codyswann/lisa",
121
- "version": "2.341.0",
121
+ "version": "2.341.1",
122
122
  "description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
123
123
  "main": "dist/index.js",
124
124
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "Universal governance — agents, skills, commands, hooks, and rules for all projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "Universal governance: agents, skills, commands, hooks, and rules for all projects.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -236,6 +236,41 @@ What the detector produces is a proposal with `<pin>`, `<release url>` and `<sha
236
236
 
237
237
  The other objections stay true and stay unfixed: most tooling has no credential and most credentials imply no tool, so notes are one signal among four and the weakest of them. They are read *after* npm scripts and MCP servers, and a note alone should be the least persuasive reason to add anything.
238
238
 
239
+ ## One command, four surfaces
240
+
241
+ `lisa environment <surface> --tenant=<name>` configures one surface for one
242
+ tenant. The only difference between them is whether Lisa can execute there:
243
+
244
+ | Surface | What happens | Materializes |
245
+ | --- | --- | --- |
246
+ | `local` | runs here: stores the bootstrap, materializes, installs AWS profiles | on request |
247
+ | `container` | emits an image definition and a `docker run` line | at container start |
248
+ | `claude-web` | emits text for the environment dialog | at setup **and** session start |
249
+ | `codex-cloud` | emits text for the environment settings | at setup |
250
+
251
+ None of it needs a checkout, which is the point: the surfaces most in need of
252
+ configuration are the ones with no repository attached.
253
+
254
+ `--tenant` is required on `local` because that path **writes**. Every namespace
255
+ is a directory under `$XDG_CONFIG_HOME`, so resolving the wrong one puts one
256
+ tenant's credentials where another tenant's sessions read — and on a machine
257
+ serving several, the two would share a store. The named tenant also outranks any
258
+ `.lisa.config.json` in the working directory: someone who typed `--tenant=acme`
259
+ means acme, whichever repository they happen to be standing in.
260
+
261
+ Re-running `environment local` is how a token is **rotated**. It is not an
262
+ installer, so it does not reinstall agents to replace one credential; it reports
263
+ that a bootstrap is already stored and leaves it alone unless `--rotate` says
264
+ otherwise.
265
+
266
+ `workstation` remains the separate question — what binaries does this machine
267
+ have — with no tenant and no credentials.
268
+
269
+ `remote-env --emit=<surface>` still works, and is the older spelling of the same
270
+ thing. It named the machinery rather than the task: from a laptop it reads as
271
+ "prepare the remote environment I am currently in", which is the opposite of
272
+ configuring a cloud environment.
273
+
239
274
  ## Provisioning tiers
240
275
 
241
276
  Preference order, falling back:
@@ -236,6 +236,41 @@ What the detector produces is a proposal with `<pin>`, `<release url>` and `<sha
236
236
 
237
237
  The other objections stay true and stay unfixed: most tooling has no credential and most credentials imply no tool, so notes are one signal among four and the weakest of them. They are read *after* npm scripts and MCP servers, and a note alone should be the least persuasive reason to add anything.
238
238
 
239
+ ## One command, four surfaces
240
+
241
+ `lisa environment <surface> --tenant=<name>` configures one surface for one
242
+ tenant. The only difference between them is whether Lisa can execute there:
243
+
244
+ | Surface | What happens | Materializes |
245
+ | --- | --- | --- |
246
+ | `local` | runs here: stores the bootstrap, materializes, installs AWS profiles | on request |
247
+ | `container` | emits an image definition and a `docker run` line | at container start |
248
+ | `claude-web` | emits text for the environment dialog | at setup **and** session start |
249
+ | `codex-cloud` | emits text for the environment settings | at setup |
250
+
251
+ None of it needs a checkout, which is the point: the surfaces most in need of
252
+ configuration are the ones with no repository attached.
253
+
254
+ `--tenant` is required on `local` because that path **writes**. Every namespace
255
+ is a directory under `$XDG_CONFIG_HOME`, so resolving the wrong one puts one
256
+ tenant's credentials where another tenant's sessions read — and on a machine
257
+ serving several, the two would share a store. The named tenant also outranks any
258
+ `.lisa.config.json` in the working directory: someone who typed `--tenant=acme`
259
+ means acme, whichever repository they happen to be standing in.
260
+
261
+ Re-running `environment local` is how a token is **rotated**. It is not an
262
+ installer, so it does not reinstall agents to replace one credential; it reports
263
+ that a bootstrap is already stored and leaves it alone unless `--rotate` says
264
+ otherwise.
265
+
266
+ `workstation` remains the separate question — what binaries does this machine
267
+ have — with no tenant and no credentials.
268
+
269
+ `remote-env --emit=<surface>` still works, and is the older spelling of the same
270
+ thing. It named the machinery rather than the task: from a laptop it reads as
271
+ "prepare the remote environment I am currently in", which is the opposite of
272
+ configuring a cloud environment.
273
+
239
274
  ## Provisioning tiers
240
275
 
241
276
  Preference order, falling back:
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "Universal governance — agents, skills, commands, hooks, and rules for all projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -236,6 +236,41 @@ What the detector produces is a proposal with `<pin>`, `<release url>` and `<sha
236
236
 
237
237
  The other objections stay true and stay unfixed: most tooling has no credential and most credentials imply no tool, so notes are one signal among four and the weakest of them. They are read *after* npm scripts and MCP servers, and a note alone should be the least persuasive reason to add anything.
238
238
 
239
+ ## One command, four surfaces
240
+
241
+ `lisa environment <surface> --tenant=<name>` configures one surface for one
242
+ tenant. The only difference between them is whether Lisa can execute there:
243
+
244
+ | Surface | What happens | Materializes |
245
+ | --- | --- | --- |
246
+ | `local` | runs here: stores the bootstrap, materializes, installs AWS profiles | on request |
247
+ | `container` | emits an image definition and a `docker run` line | at container start |
248
+ | `claude-web` | emits text for the environment dialog | at setup **and** session start |
249
+ | `codex-cloud` | emits text for the environment settings | at setup |
250
+
251
+ None of it needs a checkout, which is the point: the surfaces most in need of
252
+ configuration are the ones with no repository attached.
253
+
254
+ `--tenant` is required on `local` because that path **writes**. Every namespace
255
+ is a directory under `$XDG_CONFIG_HOME`, so resolving the wrong one puts one
256
+ tenant's credentials where another tenant's sessions read — and on a machine
257
+ serving several, the two would share a store. The named tenant also outranks any
258
+ `.lisa.config.json` in the working directory: someone who typed `--tenant=acme`
259
+ means acme, whichever repository they happen to be standing in.
260
+
261
+ Re-running `environment local` is how a token is **rotated**. It is not an
262
+ installer, so it does not reinstall agents to replace one credential; it reports
263
+ that a bootstrap is already stored and leaves it alone unless `--rotate` says
264
+ otherwise.
265
+
266
+ `workstation` remains the separate question — what binaries does this machine
267
+ have — with no tenant and no credentials.
268
+
269
+ `remote-env --emit=<surface>` still works, and is the older spelling of the same
270
+ thing. It named the machinery rather than the task: from a laptop it reads as
271
+ "prepare the remote environment I am currently in", which is the opposite of
272
+ configuring a cloud environment.
273
+
239
274
  ## Provisioning tiers
240
275
 
241
276
  Preference order, falling back:
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "AWS CDK-specific plugin",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "AWS CDK-specific Lisa plugin.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "AWS CDK-specific plugin",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "AWS CDK-specific plugin",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "AWS CDK-specific plugin",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "Universal governance — agents, skills, commands, hooks, and rules for all projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -236,6 +236,41 @@ What the detector produces is a proposal with `<pin>`, `<release url>` and `<sha
236
236
 
237
237
  The other objections stay true and stay unfixed: most tooling has no credential and most credentials imply no tool, so notes are one signal among four and the weakest of them. They are read *after* npm scripts and MCP servers, and a note alone should be the least persuasive reason to add anything.
238
238
 
239
+ ## One command, four surfaces
240
+
241
+ `lisa environment <surface> --tenant=<name>` configures one surface for one
242
+ tenant. The only difference between them is whether Lisa can execute there:
243
+
244
+ | Surface | What happens | Materializes |
245
+ | --- | --- | --- |
246
+ | `local` | runs here: stores the bootstrap, materializes, installs AWS profiles | on request |
247
+ | `container` | emits an image definition and a `docker run` line | at container start |
248
+ | `claude-web` | emits text for the environment dialog | at setup **and** session start |
249
+ | `codex-cloud` | emits text for the environment settings | at setup |
250
+
251
+ None of it needs a checkout, which is the point: the surfaces most in need of
252
+ configuration are the ones with no repository attached.
253
+
254
+ `--tenant` is required on `local` because that path **writes**. Every namespace
255
+ is a directory under `$XDG_CONFIG_HOME`, so resolving the wrong one puts one
256
+ tenant's credentials where another tenant's sessions read — and on a machine
257
+ serving several, the two would share a store. The named tenant also outranks any
258
+ `.lisa.config.json` in the working directory: someone who typed `--tenant=acme`
259
+ means acme, whichever repository they happen to be standing in.
260
+
261
+ Re-running `environment local` is how a token is **rotated**. It is not an
262
+ installer, so it does not reinstall agents to replace one credential; it reports
263
+ that a bootstrap is already stored and leaves it alone unless `--rotate` says
264
+ otherwise.
265
+
266
+ `workstation` remains the separate question — what binaries does this machine
267
+ have — with no tenant and no credentials.
268
+
269
+ `remote-env --emit=<surface>` still works, and is the older spelling of the same
270
+ thing. It named the machinery rather than the task: from a laptop it reads as
271
+ "prepare the remote environment I am currently in", which is the opposite of
272
+ configuring a cloud environment.
273
+
239
274
  ## Provisioning tiers
240
275
 
241
276
  Preference order, falling back:
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "Universal governance — agents, skills, commands, hooks, and rules for all projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -236,6 +236,41 @@ What the detector produces is a proposal with `<pin>`, `<release url>` and `<sha
236
236
 
237
237
  The other objections stay true and stay unfixed: most tooling has no credential and most credentials imply no tool, so notes are one signal among four and the weakest of them. They are read *after* npm scripts and MCP servers, and a note alone should be the least persuasive reason to add anything.
238
238
 
239
+ ## One command, four surfaces
240
+
241
+ `lisa environment <surface> --tenant=<name>` configures one surface for one
242
+ tenant. The only difference between them is whether Lisa can execute there:
243
+
244
+ | Surface | What happens | Materializes |
245
+ | --- | --- | --- |
246
+ | `local` | runs here: stores the bootstrap, materializes, installs AWS profiles | on request |
247
+ | `container` | emits an image definition and a `docker run` line | at container start |
248
+ | `claude-web` | emits text for the environment dialog | at setup **and** session start |
249
+ | `codex-cloud` | emits text for the environment settings | at setup |
250
+
251
+ None of it needs a checkout, which is the point: the surfaces most in need of
252
+ configuration are the ones with no repository attached.
253
+
254
+ `--tenant` is required on `local` because that path **writes**. Every namespace
255
+ is a directory under `$XDG_CONFIG_HOME`, so resolving the wrong one puts one
256
+ tenant's credentials where another tenant's sessions read — and on a machine
257
+ serving several, the two would share a store. The named tenant also outranks any
258
+ `.lisa.config.json` in the working directory: someone who typed `--tenant=acme`
259
+ means acme, whichever repository they happen to be standing in.
260
+
261
+ Re-running `environment local` is how a token is **rotated**. It is not an
262
+ installer, so it does not reinstall agents to replace one credential; it reports
263
+ that a bootstrap is already stored and leaves it alone unless `--rotate` says
264
+ otherwise.
265
+
266
+ `workstation` remains the separate question — what binaries does this machine
267
+ have — with no tenant and no credentials.
268
+
269
+ `remote-env --emit=<surface>` still works, and is the older spelling of the same
270
+ thing. It named the machinery rather than the task: from a laptop it reads as
271
+ "prepare the remote environment I am currently in", which is the opposite of
272
+ configuring a cloud environment.
273
+
239
274
  ## Provisioning tiers
240
275
 
241
276
  Preference order, falling back:
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "Expo/React Native-specific skills, agents, rules, and MCP servers",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "Expo and React Native-specific skills, agents, rules, and MCP servers.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "Expo/React Native-specific skills, agents, rules, and MCP servers",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "Expo/React Native-specific skills, agents, rules, and MCP servers",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "Expo/React Native-specific skills, agents, rules, and MCP servers",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "Harper/Fabric-specific rules for TypeScript component apps",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "Harper/Fabric-specific Lisa rules for TypeScript component apps.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "Harper/Fabric-specific rules for TypeScript component apps",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "Harper/Fabric-specific rules for TypeScript component apps",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "Harper/Fabric-specific rules for TypeScript component apps",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "NestJS-specific skills (GraphQL, TypeORM) and hooks (migration write-protection)",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "NestJS-specific skills and migration write-protection hooks.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "NestJS-specific skills (GraphQL, TypeORM) and hooks (migration write-protection)",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "NestJS-specific skills (GraphQL, TypeORM) and hooks (migration write-protection)",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "NestJS-specific skills (GraphQL, TypeORM) and hooks (migration write-protection)",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-openclaw",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-openclaw",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, across Claude and Codex.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-openclaw",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-openclaw",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-openclaw",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-phaser",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "Phaser 4 game-development rules for TypeScript projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-phaser",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "Phaser 4 game-development rules for TypeScript projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-phaser",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "Phaser 4 game-development rules for TypeScript projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-phaser",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "Phaser 4 game-development rules for TypeScript projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-phaser",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "Phaser 4 game-development rules for TypeScript projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "Ruby on Rails-specific hooks — RuboCop linting/formatting and ast-grep scanning on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "Ruby on Rails-specific skills and hooks for RuboCop and ast-grep scanning on edit.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "Ruby on Rails-specific hooks — RuboCop linting/formatting and ast-grep scanning on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "Ruby on Rails-specific hooks — RuboCop linting/formatting and ast-grep scanning on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "Ruby on Rails-specific hooks — RuboCop linting/formatting and ast-grep scanning on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "TypeScript-specific hooks — Prettier formatting, ESLint linting, ast-grep scanning, and error-suppression blocking on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "TypeScript-specific hooks for formatting, linting, and ast-grep scanning on edit.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "TypeScript-specific hooks — Prettier formatting, ESLint linting, ast-grep scanning, and error-suppression blocking on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "2.341.0",
3
+ "version": "2.341.1",
4
4
  "description": "TypeScript-specific hooks — Prettier formatting, ESLint linting, ast-grep scanning, and error-suppression blocking on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"