@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/README.md CHANGED
@@ -69,6 +69,101 @@ native Playwright/Maestro regression authority.
69
69
 
70
70
  ## Getting started
71
71
 
72
+ Setup has three layers, and conflating them is the usual mistake:
73
+
74
+ ```
75
+ vault → machine → each repo → each other surface
76
+ ```
77
+
78
+ Two commands do the machine-and-surface work, and **neither needs a checkout** —
79
+ that matters, because the surfaces most in need of setup are the ones with no
80
+ repository attached.
81
+
82
+ | Command | Answers | Scope |
83
+ | --- | --- | --- |
84
+ | `workstation` | what binaries does this machine have | once per machine |
85
+ | `environment <surface>` | which tenant, and where do its credentials go | once per machine, and once per other surface |
86
+
87
+ `environment` runs where Lisa can execute and prints what to paste where it
88
+ cannot:
89
+
90
+ ```
91
+ environment local prepares this machine
92
+ environment container an image definition and a run command
93
+ environment claude-web text for the Claude environment dialog
94
+ environment codex-cloud text for the Codex environment settings
95
+ ```
96
+
97
+ ### 1. The vault, once per tenant
98
+
99
+ Create the secrets, then a **machine account** granted only the projects agents
100
+ may read — that grant is what scopes every headless session. Annotate a secret's
101
+ note with `tool: <name>` where a CLI is implied (`sonar`, `aws`, `gh`); a session
102
+ with no checkout installs exactly what the notes name, and the whole catalogue
103
+ if they name nothing.
104
+
105
+ Issue each place its own access token, at the moment you set that place up. One
106
+ token shared across five places makes any compromise a five-place outage, and
107
+ makes every access in the audit log anonymous.
108
+
109
+ ### 2. The machine
110
+
111
+ ```bash
112
+ npx -y @codyswann/lisa@latest workstation --install --provider=bitwarden
113
+ exec $SHELL -l # ~/.local/bin on PATH
114
+ npx -y @codyswann/lisa@latest environment local --tenant=<name>
115
+ ```
116
+
117
+ Node is the only prerequisite. `workstation` is the one entry point that works
118
+ before any agent or repository exists — invoking a *skill* needs an installed
119
+ agent, and Lisa is a devDependency so it needs a clone; both are what this
120
+ creates.
121
+
122
+ `environment local` prompts for the token, stores it in the OS keychain (a
123
+ `0600` file where there is no keychain), materializes the credentials, and
124
+ installs the per-environment AWS profiles. **Re-run it to rotate** — it is not
125
+ an installer, so it will not reinstall six coding agents to replace one token.
126
+
127
+ `--tenant` is required because every namespace is a directory: guessing would
128
+ put one tenant's credentials where another tenant's sessions read.
129
+
130
+ Then authenticate the things that are *you* rather than the machine account —
131
+ `gh auth login`, `aws configure sso`, and each agent's own login.
132
+
133
+ ### 3. Each repository
134
+
135
+ ```bash
136
+ git clone … && cd …
137
+ npx -y @codyswann/lisa@latest apply # lint, hooks, workflows, agent surfaces
138
+ bun install # postinstall installs the agent plugins
139
+ npx -y @codyswann/lisa@latest sync # then set secrets.namespace
140
+ ```
141
+
142
+ A repository only needs to say *which tenant it belongs to*. The credentials are
143
+ already on the machine.
144
+
145
+ Brownfield repositories then converge — see below.
146
+
147
+ ### 4. Each other surface
148
+
149
+ Cloud environments are account-scoped and shared across every repository, so
150
+ this is once per environment rather than once per repository:
151
+
152
+ ```bash
153
+ npx -y @codyswann/lisa@latest environment claude-web --tenant=<name>
154
+ ```
155
+
156
+ Paste what it prints. Give that environment its **own** access token: those
157
+ dialogs store values in plain text, readable by everyone who can use the
158
+ environment.
159
+
160
+ A repository becomes usable *from* a cloud surface with
161
+ `lisa remote-env --install`, which writes two entrypoints to commit. They are
162
+ inert locally — a container that has just cloned the repository has never seen
163
+ the plugin they came from, so they have to be part of the clone.
164
+
165
+ ---
166
+
72
167
  Install Lisa as a development dependency in each project that uses it:
73
168
 
74
169
  ```bash
@@ -1 +1 @@
1
- {"version":3,"file":"upstream-evidence-manifest.d.ts","sourceRoot":"","sources":["../../src/core/upstream-evidence-manifest.ts"],"names":[],"mappings":"AACA,iFAAiF;AACjF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwqEpE,CAAC;AAEL,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CA6uNjE,CAAC;AAEL,sFAAsF;AACtF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAk6I/D,CAAC"}
1
+ {"version":3,"file":"upstream-evidence-manifest.d.ts","sourceRoot":"","sources":["../../src/core/upstream-evidence-manifest.ts"],"names":[],"mappings":"AACA,iFAAiF;AACjF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwqEpE,CAAC;AAEL,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CA8uNjE,CAAC;AAEL,sFAAsF;AACtF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAk6I/D,CAAC"}
@@ -581,7 +581,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
581
581
  "plugins/src/base/skills/lisa-setup-local-env/scripts/local-env.mjs": "bff68aa66d6d4cd7cb9d0e39be691c6daa232edb097f8a601815432a32cca6a6",
582
582
  "plugins/src/base/skills/lisa-setup-notion/SKILL.md": "f5a1e9290789fd1c33675168d30461fb24a11c98a433ef777c1f536bc2f905ef",
583
583
  "plugins/src/base/skills/lisa-setup-remote-aws/SKILL.md": "80fbf157f9c562c033886c25a99b37356602edd9e61cd2d492f339769ddcf97e",
584
- "plugins/src/base/skills/lisa-setup-remote-env/SKILL.md": "79c5572dfa4c5d37b1fcfbc75a38ca7d1d708258cca761ec946fb7070bc727f4",
584
+ "plugins/src/base/skills/lisa-setup-remote-env/SKILL.md": "7aa1f616440cb262e47881e8b37b701ebd11ad1ea619412aa04c33324770904c",
585
585
  "plugins/src/base/skills/lisa-setup-remote-env/assets/session-start.sh": "cb63d08b14ab7aa2d405e6770e0cf7db5d6588ae1dcb924ea6224b026fcff496",
586
586
  "plugins/src/base/skills/lisa-setup-remote-env/assets/setup.sh": "c30d98a5645f033fc1d3a723043691b9ad997ae5666df539ff6aa19c563431b2",
587
587
  "plugins/src/base/skills/lisa-setup-remote-env/scripts/environment.mjs": "3b9be11691d81a896fc779c37fb6d69e8e7222f95e23f84aa03d4e590f9d9108",
@@ -7315,6 +7315,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
7315
7315
  "tests/unit/core/upstream-attribution-file-safety.test.ts": true,
7316
7316
  "tests/unit/core/upstream-attribution-integrity.test.ts": true,
7317
7317
  "tests/unit/detection/detectors.test.ts": true,
7318
+ "tests/unit/docs/onboarding-walkthrough.test.ts": true,
7318
7319
  "tests/unit/governance-contracts.test.ts": true,
7319
7320
  "tests/unit/health/agentic.test.ts": true,
7320
7321
  "tests/unit/health/consumer.test.ts": true,