@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.
- package/README.md +95 -0
- package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
- package/dist/core/upstream-evidence-manifest.js +2 -1
- package/dist/core/upstream-evidence-manifest.js.map +1 -1
- package/package.json +1 -1
- package/plugins/lisa/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/skills/lisa-setup-remote-env/SKILL.md +35 -0
- package/plugins/lisa/skills/lisa-setup-remote-env/SKILL.md +35 -0
- package/plugins/lisa-agy/plugin.json +1 -1
- package/plugins/lisa-agy/skills/lisa-setup-remote-env/SKILL.md +35 -0
- package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-agy/plugin.json +1 -1
- package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-copilot/skills/lisa-setup-remote-env/SKILL.md +35 -0
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/skills/lisa-setup-remote-env/SKILL.md +35 -0
- package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-agy/plugin.json +1 -1
- package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-agy/plugin.json +1 -1
- package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-agy/plugin.json +1 -1
- package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-agy/plugin.json +1 -1
- package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-agy/plugin.json +1 -1
- package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-agy/plugin.json +1 -1
- package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-agy/plugin.json +1 -1
- package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
- 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,
|
|
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": "
|
|
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,
|