@codyswann/lisa 2.141.1 → 2.141.2
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/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/skills/analyze-claude-remote/SKILL.md +18 -5
- package/plugins/lisa/skills/generate-claude-remote-build-script/SKILL.md +9 -5
- package/plugins/lisa-agy/plugin.json +1 -1
- package/plugins/lisa-agy/skills/analyze-claude-remote/SKILL.md +18 -5
- package/plugins/lisa-agy/skills/generate-claude-remote-build-script/SKILL.md +9 -5
- 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/analyze-claude-remote/SKILL.md +18 -5
- package/plugins/lisa-copilot/skills/generate-claude-remote-build-script/SKILL.md +9 -5
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/skills/analyze-claude-remote/SKILL.md +18 -5
- package/plugins/lisa-cursor/skills/generate-claude-remote-build-script/SKILL.md +9 -5
- 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-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/analyze-claude-remote/SKILL.md +18 -5
- package/plugins/src/base/skills/generate-claude-remote-build-script/SKILL.md +9 -5
- package/scripts/claude-remote-setup.sh +4 -6
package/package.json
CHANGED
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
"lodash": ">=4.18.1"
|
|
85
85
|
},
|
|
86
86
|
"name": "@codyswann/lisa",
|
|
87
|
-
"version": "2.141.
|
|
87
|
+
"version": "2.141.2",
|
|
88
88
|
"description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
|
|
89
89
|
"main": "dist/index.js",
|
|
90
90
|
"exports": {
|
|
@@ -84,9 +84,19 @@ Group the findings as:
|
|
|
84
84
|
`secrets.*`/`env:` in CI, and config-referenced tokens. Group by integration (GitHub, AWS,
|
|
85
85
|
Atlassian/JIRA/Confluence, Notion, Linear, Anthropic, notifications, feature flags, other).
|
|
86
86
|
Cross-reference `.lisa.config.json` `tracker`/`source` to mark which credentials are **active**
|
|
87
|
-
for this repo vs **dormant** (`OPTIONAL`).
|
|
88
|
-
|
|
89
|
-
|
|
87
|
+
for this repo vs **dormant** (`OPTIONAL`). Distinguish *where* each var must be set, because the
|
|
88
|
+
answer differs and getting it wrong sends the user to do redundant work:
|
|
89
|
+
|
|
90
|
+
- **Committed `.claude/settings.json` `env` flags** (e.g. `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS`,
|
|
91
|
+
`ENABLE_LSP_TOOL`, `BASH_*`) — this file is repo-committed, so it reaches the cloud and Claude
|
|
92
|
+
Code applies its `env` block when it launches. These are **already provided — no action**.
|
|
93
|
+
Surface them as `OK` (cite the file), not `REQUIRED`. Do **not** tell the user to re-enter them
|
|
94
|
+
in the environment UI; a duplicate there only risks drifting from the committed value. The lone
|
|
95
|
+
caveat: the setup script runs *before* Claude Code launches, so it cannot see these — flag any
|
|
96
|
+
that the **setup script itself** would need (rare) as needing a UI value too.
|
|
97
|
+
- **Secrets** (tokens/keys) — cannot be committed, so the committed `settings.json` can't carry
|
|
98
|
+
them. These are the only vars that genuinely **must be set in the environment-variables UI**.
|
|
99
|
+
Mark active-integration secrets `REQUIRED`; dormant ones `OPTIONAL`.
|
|
90
100
|
|
|
91
101
|
4a. **Tracker / PRD-source credentials** — this is the load-bearing part of the audit and must be
|
|
92
102
|
driven by config, not by what the scan happens to find. Resolve the active integrations first:
|
|
@@ -199,7 +209,10 @@ checklist of the secrets the user must set in the routine's environment for the
|
|
|
199
209
|
`tracker`/`source` (from group 4a). One block per active integration, each with its env-var name(s),
|
|
200
210
|
an `Acquire:` URL, and an `Access:` scope line, plus a one-line note that the environment UI is where
|
|
201
211
|
these are set (the generated build script only emits a names-only template, never values). If both
|
|
202
|
-
`tracker` and `source` resolve to the same vendor (e.g. both
|
|
212
|
+
`tracker` and `source` resolve to the same vendor (e.g. both GitHub), render it once. List **only
|
|
213
|
+
secrets** here — do not include the committed `.claude/settings.json` `env` flags; close the
|
|
214
|
+
subsection with a one-line reminder that those flags are already provided by the committed file and
|
|
215
|
+
need no UI entry.
|
|
203
216
|
|
|
204
217
|
End with a fenced, machine-readable inventory block (also printed when `--json` is passed) so
|
|
205
218
|
`/lisa:generate-claude-remote-build-script` can consume it without re-deriving everything. Secret
|
|
@@ -216,7 +229,7 @@ so the generator can render acquisition comments into its template:
|
|
|
216
229
|
"tracker": "github",
|
|
217
230
|
"source": "github",
|
|
218
231
|
"env": [
|
|
219
|
-
{ "name": "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS", "required":
|
|
232
|
+
{ "name": "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS", "required": false, "secret": false, "providedBy": "settings.json", "uiAction": "none", "reason": "committed in .claude/settings.json env — applied automatically; do not re-enter in the UI" },
|
|
220
233
|
{
|
|
221
234
|
"name": "GH_TOKEN", "required": true, "secret": true, "integration": "github",
|
|
222
235
|
"reason": "active tracker+source; gh scripts gate on gh auth status",
|
|
@@ -51,9 +51,12 @@ tracker/source, plus the host project's own package manager and tooling — not
|
|
|
51
51
|
3. **Emit the environment-variable template.** Write a commented block listing every `env` entry
|
|
52
52
|
from the inventory grouped by integration, marked `REQUIRED`/`OPTIONAL` and `secret`/`plain`,
|
|
53
53
|
with the reason. **Never write real secret values** — only names and placeholders, because the
|
|
54
|
-
environment config is visible to anyone who can edit it.
|
|
55
|
-
`.claude/settings.json`
|
|
56
|
-
|
|
54
|
+
environment config is visible to anyone who can edit it. Entries flagged `providedBy: settings.json`
|
|
55
|
+
(the committed `.claude/settings.json` `env` flags, e.g. `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS`) are
|
|
56
|
+
**already applied from the committed file** — list them under an `# Already provided by committed
|
|
57
|
+
.claude/settings.json — no UI entry needed` heading, not as values to set. The "set in the
|
|
58
|
+
environment UI" template is for **secrets only**. For every secret entry that carries
|
|
59
|
+
`acquireUrl`/`accessScope`/`headlessSubstrate` (the
|
|
57
60
|
active tracker/source credentials from the analysis's group 4a), render those as comment lines
|
|
58
61
|
directly above the name — `# Acquire: <url>` and `# Access: <scope>` — so the user knows exactly
|
|
59
62
|
where to get the token and what permissions it needs. Emit only the **env-var form** of the name
|
|
@@ -83,8 +86,9 @@ shape, not a fixed payload):
|
|
|
83
86
|
#
|
|
84
87
|
# GAPS this script cannot fix (configure separately):
|
|
85
88
|
# - <gaps from analysis, e.g. auto-memory is machine-local and not synced to cloud routines>
|
|
86
|
-
#
|
|
87
|
-
# - CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS
|
|
89
|
+
# Already provided by committed .claude/settings.json (applied automatically — no UI entry needed):
|
|
90
|
+
# - CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS, ENABLE_LSP_TOOL, BASH_DEFAULT_TIMEOUT_MS, BASH_MAX_TIMEOUT_MS
|
|
91
|
+
# SECRETS to set in the environment config (names only — set real values there, not here):
|
|
88
92
|
# # --- credentials for the active tracker/source (set in the environment UI) ---
|
|
89
93
|
# # Acquire: https://github.com/settings/personal-access-tokens
|
|
90
94
|
# # Access: fine-grained PAT on target repo: Contents R/W, Issues R/W, Pull requests R/W, Metadata R
|
|
@@ -84,9 +84,19 @@ Group the findings as:
|
|
|
84
84
|
`secrets.*`/`env:` in CI, and config-referenced tokens. Group by integration (GitHub, AWS,
|
|
85
85
|
Atlassian/JIRA/Confluence, Notion, Linear, Anthropic, notifications, feature flags, other).
|
|
86
86
|
Cross-reference `.lisa.config.json` `tracker`/`source` to mark which credentials are **active**
|
|
87
|
-
for this repo vs **dormant** (`OPTIONAL`).
|
|
88
|
-
|
|
89
|
-
|
|
87
|
+
for this repo vs **dormant** (`OPTIONAL`). Distinguish *where* each var must be set, because the
|
|
88
|
+
answer differs and getting it wrong sends the user to do redundant work:
|
|
89
|
+
|
|
90
|
+
- **Committed `.claude/settings.json` `env` flags** (e.g. `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS`,
|
|
91
|
+
`ENABLE_LSP_TOOL`, `BASH_*`) — this file is repo-committed, so it reaches the cloud and Claude
|
|
92
|
+
Code applies its `env` block when it launches. These are **already provided — no action**.
|
|
93
|
+
Surface them as `OK` (cite the file), not `REQUIRED`. Do **not** tell the user to re-enter them
|
|
94
|
+
in the environment UI; a duplicate there only risks drifting from the committed value. The lone
|
|
95
|
+
caveat: the setup script runs *before* Claude Code launches, so it cannot see these — flag any
|
|
96
|
+
that the **setup script itself** would need (rare) as needing a UI value too.
|
|
97
|
+
- **Secrets** (tokens/keys) — cannot be committed, so the committed `settings.json` can't carry
|
|
98
|
+
them. These are the only vars that genuinely **must be set in the environment-variables UI**.
|
|
99
|
+
Mark active-integration secrets `REQUIRED`; dormant ones `OPTIONAL`.
|
|
90
100
|
|
|
91
101
|
4a. **Tracker / PRD-source credentials** — this is the load-bearing part of the audit and must be
|
|
92
102
|
driven by config, not by what the scan happens to find. Resolve the active integrations first:
|
|
@@ -199,7 +209,10 @@ checklist of the secrets the user must set in the routine's environment for the
|
|
|
199
209
|
`tracker`/`source` (from group 4a). One block per active integration, each with its env-var name(s),
|
|
200
210
|
an `Acquire:` URL, and an `Access:` scope line, plus a one-line note that the environment UI is where
|
|
201
211
|
these are set (the generated build script only emits a names-only template, never values). If both
|
|
202
|
-
`tracker` and `source` resolve to the same vendor (e.g. both
|
|
212
|
+
`tracker` and `source` resolve to the same vendor (e.g. both GitHub), render it once. List **only
|
|
213
|
+
secrets** here — do not include the committed `.claude/settings.json` `env` flags; close the
|
|
214
|
+
subsection with a one-line reminder that those flags are already provided by the committed file and
|
|
215
|
+
need no UI entry.
|
|
203
216
|
|
|
204
217
|
End with a fenced, machine-readable inventory block (also printed when `--json` is passed) so
|
|
205
218
|
`/lisa:generate-claude-remote-build-script` can consume it without re-deriving everything. Secret
|
|
@@ -216,7 +229,7 @@ so the generator can render acquisition comments into its template:
|
|
|
216
229
|
"tracker": "github",
|
|
217
230
|
"source": "github",
|
|
218
231
|
"env": [
|
|
219
|
-
{ "name": "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS", "required":
|
|
232
|
+
{ "name": "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS", "required": false, "secret": false, "providedBy": "settings.json", "uiAction": "none", "reason": "committed in .claude/settings.json env — applied automatically; do not re-enter in the UI" },
|
|
220
233
|
{
|
|
221
234
|
"name": "GH_TOKEN", "required": true, "secret": true, "integration": "github",
|
|
222
235
|
"reason": "active tracker+source; gh scripts gate on gh auth status",
|
|
@@ -51,9 +51,12 @@ tracker/source, plus the host project's own package manager and tooling — not
|
|
|
51
51
|
3. **Emit the environment-variable template.** Write a commented block listing every `env` entry
|
|
52
52
|
from the inventory grouped by integration, marked `REQUIRED`/`OPTIONAL` and `secret`/`plain`,
|
|
53
53
|
with the reason. **Never write real secret values** — only names and placeholders, because the
|
|
54
|
-
environment config is visible to anyone who can edit it.
|
|
55
|
-
`.claude/settings.json`
|
|
56
|
-
|
|
54
|
+
environment config is visible to anyone who can edit it. Entries flagged `providedBy: settings.json`
|
|
55
|
+
(the committed `.claude/settings.json` `env` flags, e.g. `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS`) are
|
|
56
|
+
**already applied from the committed file** — list them under an `# Already provided by committed
|
|
57
|
+
.claude/settings.json — no UI entry needed` heading, not as values to set. The "set in the
|
|
58
|
+
environment UI" template is for **secrets only**. For every secret entry that carries
|
|
59
|
+
`acquireUrl`/`accessScope`/`headlessSubstrate` (the
|
|
57
60
|
active tracker/source credentials from the analysis's group 4a), render those as comment lines
|
|
58
61
|
directly above the name — `# Acquire: <url>` and `# Access: <scope>` — so the user knows exactly
|
|
59
62
|
where to get the token and what permissions it needs. Emit only the **env-var form** of the name
|
|
@@ -83,8 +86,9 @@ shape, not a fixed payload):
|
|
|
83
86
|
#
|
|
84
87
|
# GAPS this script cannot fix (configure separately):
|
|
85
88
|
# - <gaps from analysis, e.g. auto-memory is machine-local and not synced to cloud routines>
|
|
86
|
-
#
|
|
87
|
-
# - CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS
|
|
89
|
+
# Already provided by committed .claude/settings.json (applied automatically — no UI entry needed):
|
|
90
|
+
# - CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS, ENABLE_LSP_TOOL, BASH_DEFAULT_TIMEOUT_MS, BASH_MAX_TIMEOUT_MS
|
|
91
|
+
# SECRETS to set in the environment config (names only — set real values there, not here):
|
|
88
92
|
# # --- credentials for the active tracker/source (set in the environment UI) ---
|
|
89
93
|
# # Acquire: https://github.com/settings/personal-access-tokens
|
|
90
94
|
# # Access: fine-grained PAT on target repo: Contents R/W, Issues R/W, Pull requests R/W, Metadata R
|
|
@@ -84,9 +84,19 @@ Group the findings as:
|
|
|
84
84
|
`secrets.*`/`env:` in CI, and config-referenced tokens. Group by integration (GitHub, AWS,
|
|
85
85
|
Atlassian/JIRA/Confluence, Notion, Linear, Anthropic, notifications, feature flags, other).
|
|
86
86
|
Cross-reference `.lisa.config.json` `tracker`/`source` to mark which credentials are **active**
|
|
87
|
-
for this repo vs **dormant** (`OPTIONAL`).
|
|
88
|
-
|
|
89
|
-
|
|
87
|
+
for this repo vs **dormant** (`OPTIONAL`). Distinguish *where* each var must be set, because the
|
|
88
|
+
answer differs and getting it wrong sends the user to do redundant work:
|
|
89
|
+
|
|
90
|
+
- **Committed `.claude/settings.json` `env` flags** (e.g. `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS`,
|
|
91
|
+
`ENABLE_LSP_TOOL`, `BASH_*`) — this file is repo-committed, so it reaches the cloud and Claude
|
|
92
|
+
Code applies its `env` block when it launches. These are **already provided — no action**.
|
|
93
|
+
Surface them as `OK` (cite the file), not `REQUIRED`. Do **not** tell the user to re-enter them
|
|
94
|
+
in the environment UI; a duplicate there only risks drifting from the committed value. The lone
|
|
95
|
+
caveat: the setup script runs *before* Claude Code launches, so it cannot see these — flag any
|
|
96
|
+
that the **setup script itself** would need (rare) as needing a UI value too.
|
|
97
|
+
- **Secrets** (tokens/keys) — cannot be committed, so the committed `settings.json` can't carry
|
|
98
|
+
them. These are the only vars that genuinely **must be set in the environment-variables UI**.
|
|
99
|
+
Mark active-integration secrets `REQUIRED`; dormant ones `OPTIONAL`.
|
|
90
100
|
|
|
91
101
|
4a. **Tracker / PRD-source credentials** — this is the load-bearing part of the audit and must be
|
|
92
102
|
driven by config, not by what the scan happens to find. Resolve the active integrations first:
|
|
@@ -199,7 +209,10 @@ checklist of the secrets the user must set in the routine's environment for the
|
|
|
199
209
|
`tracker`/`source` (from group 4a). One block per active integration, each with its env-var name(s),
|
|
200
210
|
an `Acquire:` URL, and an `Access:` scope line, plus a one-line note that the environment UI is where
|
|
201
211
|
these are set (the generated build script only emits a names-only template, never values). If both
|
|
202
|
-
`tracker` and `source` resolve to the same vendor (e.g. both
|
|
212
|
+
`tracker` and `source` resolve to the same vendor (e.g. both GitHub), render it once. List **only
|
|
213
|
+
secrets** here — do not include the committed `.claude/settings.json` `env` flags; close the
|
|
214
|
+
subsection with a one-line reminder that those flags are already provided by the committed file and
|
|
215
|
+
need no UI entry.
|
|
203
216
|
|
|
204
217
|
End with a fenced, machine-readable inventory block (also printed when `--json` is passed) so
|
|
205
218
|
`/lisa:generate-claude-remote-build-script` can consume it without re-deriving everything. Secret
|
|
@@ -216,7 +229,7 @@ so the generator can render acquisition comments into its template:
|
|
|
216
229
|
"tracker": "github",
|
|
217
230
|
"source": "github",
|
|
218
231
|
"env": [
|
|
219
|
-
{ "name": "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS", "required":
|
|
232
|
+
{ "name": "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS", "required": false, "secret": false, "providedBy": "settings.json", "uiAction": "none", "reason": "committed in .claude/settings.json env — applied automatically; do not re-enter in the UI" },
|
|
220
233
|
{
|
|
221
234
|
"name": "GH_TOKEN", "required": true, "secret": true, "integration": "github",
|
|
222
235
|
"reason": "active tracker+source; gh scripts gate on gh auth status",
|
|
@@ -51,9 +51,12 @@ tracker/source, plus the host project's own package manager and tooling — not
|
|
|
51
51
|
3. **Emit the environment-variable template.** Write a commented block listing every `env` entry
|
|
52
52
|
from the inventory grouped by integration, marked `REQUIRED`/`OPTIONAL` and `secret`/`plain`,
|
|
53
53
|
with the reason. **Never write real secret values** — only names and placeholders, because the
|
|
54
|
-
environment config is visible to anyone who can edit it.
|
|
55
|
-
`.claude/settings.json`
|
|
56
|
-
|
|
54
|
+
environment config is visible to anyone who can edit it. Entries flagged `providedBy: settings.json`
|
|
55
|
+
(the committed `.claude/settings.json` `env` flags, e.g. `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS`) are
|
|
56
|
+
**already applied from the committed file** — list them under an `# Already provided by committed
|
|
57
|
+
.claude/settings.json — no UI entry needed` heading, not as values to set. The "set in the
|
|
58
|
+
environment UI" template is for **secrets only**. For every secret entry that carries
|
|
59
|
+
`acquireUrl`/`accessScope`/`headlessSubstrate` (the
|
|
57
60
|
active tracker/source credentials from the analysis's group 4a), render those as comment lines
|
|
58
61
|
directly above the name — `# Acquire: <url>` and `# Access: <scope>` — so the user knows exactly
|
|
59
62
|
where to get the token and what permissions it needs. Emit only the **env-var form** of the name
|
|
@@ -83,8 +86,9 @@ shape, not a fixed payload):
|
|
|
83
86
|
#
|
|
84
87
|
# GAPS this script cannot fix (configure separately):
|
|
85
88
|
# - <gaps from analysis, e.g. auto-memory is machine-local and not synced to cloud routines>
|
|
86
|
-
#
|
|
87
|
-
# - CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS
|
|
89
|
+
# Already provided by committed .claude/settings.json (applied automatically — no UI entry needed):
|
|
90
|
+
# - CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS, ENABLE_LSP_TOOL, BASH_DEFAULT_TIMEOUT_MS, BASH_MAX_TIMEOUT_MS
|
|
91
|
+
# SECRETS to set in the environment config (names only — set real values there, not here):
|
|
88
92
|
# # --- credentials for the active tracker/source (set in the environment UI) ---
|
|
89
93
|
# # Acquire: https://github.com/settings/personal-access-tokens
|
|
90
94
|
# # Access: fine-grained PAT on target repo: Contents R/W, Issues R/W, Pull requests R/W, Metadata R
|
|
@@ -84,9 +84,19 @@ Group the findings as:
|
|
|
84
84
|
`secrets.*`/`env:` in CI, and config-referenced tokens. Group by integration (GitHub, AWS,
|
|
85
85
|
Atlassian/JIRA/Confluence, Notion, Linear, Anthropic, notifications, feature flags, other).
|
|
86
86
|
Cross-reference `.lisa.config.json` `tracker`/`source` to mark which credentials are **active**
|
|
87
|
-
for this repo vs **dormant** (`OPTIONAL`).
|
|
88
|
-
|
|
89
|
-
|
|
87
|
+
for this repo vs **dormant** (`OPTIONAL`). Distinguish *where* each var must be set, because the
|
|
88
|
+
answer differs and getting it wrong sends the user to do redundant work:
|
|
89
|
+
|
|
90
|
+
- **Committed `.claude/settings.json` `env` flags** (e.g. `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS`,
|
|
91
|
+
`ENABLE_LSP_TOOL`, `BASH_*`) — this file is repo-committed, so it reaches the cloud and Claude
|
|
92
|
+
Code applies its `env` block when it launches. These are **already provided — no action**.
|
|
93
|
+
Surface them as `OK` (cite the file), not `REQUIRED`. Do **not** tell the user to re-enter them
|
|
94
|
+
in the environment UI; a duplicate there only risks drifting from the committed value. The lone
|
|
95
|
+
caveat: the setup script runs *before* Claude Code launches, so it cannot see these — flag any
|
|
96
|
+
that the **setup script itself** would need (rare) as needing a UI value too.
|
|
97
|
+
- **Secrets** (tokens/keys) — cannot be committed, so the committed `settings.json` can't carry
|
|
98
|
+
them. These are the only vars that genuinely **must be set in the environment-variables UI**.
|
|
99
|
+
Mark active-integration secrets `REQUIRED`; dormant ones `OPTIONAL`.
|
|
90
100
|
|
|
91
101
|
4a. **Tracker / PRD-source credentials** — this is the load-bearing part of the audit and must be
|
|
92
102
|
driven by config, not by what the scan happens to find. Resolve the active integrations first:
|
|
@@ -199,7 +209,10 @@ checklist of the secrets the user must set in the routine's environment for the
|
|
|
199
209
|
`tracker`/`source` (from group 4a). One block per active integration, each with its env-var name(s),
|
|
200
210
|
an `Acquire:` URL, and an `Access:` scope line, plus a one-line note that the environment UI is where
|
|
201
211
|
these are set (the generated build script only emits a names-only template, never values). If both
|
|
202
|
-
`tracker` and `source` resolve to the same vendor (e.g. both
|
|
212
|
+
`tracker` and `source` resolve to the same vendor (e.g. both GitHub), render it once. List **only
|
|
213
|
+
secrets** here — do not include the committed `.claude/settings.json` `env` flags; close the
|
|
214
|
+
subsection with a one-line reminder that those flags are already provided by the committed file and
|
|
215
|
+
need no UI entry.
|
|
203
216
|
|
|
204
217
|
End with a fenced, machine-readable inventory block (also printed when `--json` is passed) so
|
|
205
218
|
`/lisa:generate-claude-remote-build-script` can consume it without re-deriving everything. Secret
|
|
@@ -216,7 +229,7 @@ so the generator can render acquisition comments into its template:
|
|
|
216
229
|
"tracker": "github",
|
|
217
230
|
"source": "github",
|
|
218
231
|
"env": [
|
|
219
|
-
{ "name": "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS", "required":
|
|
232
|
+
{ "name": "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS", "required": false, "secret": false, "providedBy": "settings.json", "uiAction": "none", "reason": "committed in .claude/settings.json env — applied automatically; do not re-enter in the UI" },
|
|
220
233
|
{
|
|
221
234
|
"name": "GH_TOKEN", "required": true, "secret": true, "integration": "github",
|
|
222
235
|
"reason": "active tracker+source; gh scripts gate on gh auth status",
|
|
@@ -51,9 +51,12 @@ tracker/source, plus the host project's own package manager and tooling — not
|
|
|
51
51
|
3. **Emit the environment-variable template.** Write a commented block listing every `env` entry
|
|
52
52
|
from the inventory grouped by integration, marked `REQUIRED`/`OPTIONAL` and `secret`/`plain`,
|
|
53
53
|
with the reason. **Never write real secret values** — only names and placeholders, because the
|
|
54
|
-
environment config is visible to anyone who can edit it.
|
|
55
|
-
`.claude/settings.json`
|
|
56
|
-
|
|
54
|
+
environment config is visible to anyone who can edit it. Entries flagged `providedBy: settings.json`
|
|
55
|
+
(the committed `.claude/settings.json` `env` flags, e.g. `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS`) are
|
|
56
|
+
**already applied from the committed file** — list them under an `# Already provided by committed
|
|
57
|
+
.claude/settings.json — no UI entry needed` heading, not as values to set. The "set in the
|
|
58
|
+
environment UI" template is for **secrets only**. For every secret entry that carries
|
|
59
|
+
`acquireUrl`/`accessScope`/`headlessSubstrate` (the
|
|
57
60
|
active tracker/source credentials from the analysis's group 4a), render those as comment lines
|
|
58
61
|
directly above the name — `# Acquire: <url>` and `# Access: <scope>` — so the user knows exactly
|
|
59
62
|
where to get the token and what permissions it needs. Emit only the **env-var form** of the name
|
|
@@ -83,8 +86,9 @@ shape, not a fixed payload):
|
|
|
83
86
|
#
|
|
84
87
|
# GAPS this script cannot fix (configure separately):
|
|
85
88
|
# - <gaps from analysis, e.g. auto-memory is machine-local and not synced to cloud routines>
|
|
86
|
-
#
|
|
87
|
-
# - CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS
|
|
89
|
+
# Already provided by committed .claude/settings.json (applied automatically — no UI entry needed):
|
|
90
|
+
# - CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS, ENABLE_LSP_TOOL, BASH_DEFAULT_TIMEOUT_MS, BASH_MAX_TIMEOUT_MS
|
|
91
|
+
# SECRETS to set in the environment config (names only — set real values there, not here):
|
|
88
92
|
# # --- credentials for the active tracker/source (set in the environment UI) ---
|
|
89
93
|
# # Acquire: https://github.com/settings/personal-access-tokens
|
|
90
94
|
# # Access: fine-grained PAT on target repo: Contents R/W, Issues R/W, Pull requests R/W, Metadata R
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "2.141.
|
|
3
|
+
"version": "2.141.2",
|
|
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.141.
|
|
3
|
+
"version": "2.141.2",
|
|
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.141.
|
|
3
|
+
"version": "2.141.2",
|
|
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.141.
|
|
3
|
+
"version": "2.141.2",
|
|
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.141.
|
|
3
|
+
"version": "2.141.2",
|
|
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"
|
|
@@ -84,9 +84,19 @@ Group the findings as:
|
|
|
84
84
|
`secrets.*`/`env:` in CI, and config-referenced tokens. Group by integration (GitHub, AWS,
|
|
85
85
|
Atlassian/JIRA/Confluence, Notion, Linear, Anthropic, notifications, feature flags, other).
|
|
86
86
|
Cross-reference `.lisa.config.json` `tracker`/`source` to mark which credentials are **active**
|
|
87
|
-
for this repo vs **dormant** (`OPTIONAL`).
|
|
88
|
-
|
|
89
|
-
|
|
87
|
+
for this repo vs **dormant** (`OPTIONAL`). Distinguish *where* each var must be set, because the
|
|
88
|
+
answer differs and getting it wrong sends the user to do redundant work:
|
|
89
|
+
|
|
90
|
+
- **Committed `.claude/settings.json` `env` flags** (e.g. `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS`,
|
|
91
|
+
`ENABLE_LSP_TOOL`, `BASH_*`) — this file is repo-committed, so it reaches the cloud and Claude
|
|
92
|
+
Code applies its `env` block when it launches. These are **already provided — no action**.
|
|
93
|
+
Surface them as `OK` (cite the file), not `REQUIRED`. Do **not** tell the user to re-enter them
|
|
94
|
+
in the environment UI; a duplicate there only risks drifting from the committed value. The lone
|
|
95
|
+
caveat: the setup script runs *before* Claude Code launches, so it cannot see these — flag any
|
|
96
|
+
that the **setup script itself** would need (rare) as needing a UI value too.
|
|
97
|
+
- **Secrets** (tokens/keys) — cannot be committed, so the committed `settings.json` can't carry
|
|
98
|
+
them. These are the only vars that genuinely **must be set in the environment-variables UI**.
|
|
99
|
+
Mark active-integration secrets `REQUIRED`; dormant ones `OPTIONAL`.
|
|
90
100
|
|
|
91
101
|
4a. **Tracker / PRD-source credentials** — this is the load-bearing part of the audit and must be
|
|
92
102
|
driven by config, not by what the scan happens to find. Resolve the active integrations first:
|
|
@@ -199,7 +209,10 @@ checklist of the secrets the user must set in the routine's environment for the
|
|
|
199
209
|
`tracker`/`source` (from group 4a). One block per active integration, each with its env-var name(s),
|
|
200
210
|
an `Acquire:` URL, and an `Access:` scope line, plus a one-line note that the environment UI is where
|
|
201
211
|
these are set (the generated build script only emits a names-only template, never values). If both
|
|
202
|
-
`tracker` and `source` resolve to the same vendor (e.g. both
|
|
212
|
+
`tracker` and `source` resolve to the same vendor (e.g. both GitHub), render it once. List **only
|
|
213
|
+
secrets** here — do not include the committed `.claude/settings.json` `env` flags; close the
|
|
214
|
+
subsection with a one-line reminder that those flags are already provided by the committed file and
|
|
215
|
+
need no UI entry.
|
|
203
216
|
|
|
204
217
|
End with a fenced, machine-readable inventory block (also printed when `--json` is passed) so
|
|
205
218
|
`/lisa:generate-claude-remote-build-script` can consume it without re-deriving everything. Secret
|
|
@@ -216,7 +229,7 @@ so the generator can render acquisition comments into its template:
|
|
|
216
229
|
"tracker": "github",
|
|
217
230
|
"source": "github",
|
|
218
231
|
"env": [
|
|
219
|
-
{ "name": "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS", "required":
|
|
232
|
+
{ "name": "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS", "required": false, "secret": false, "providedBy": "settings.json", "uiAction": "none", "reason": "committed in .claude/settings.json env — applied automatically; do not re-enter in the UI" },
|
|
220
233
|
{
|
|
221
234
|
"name": "GH_TOKEN", "required": true, "secret": true, "integration": "github",
|
|
222
235
|
"reason": "active tracker+source; gh scripts gate on gh auth status",
|
|
@@ -51,9 +51,12 @@ tracker/source, plus the host project's own package manager and tooling — not
|
|
|
51
51
|
3. **Emit the environment-variable template.** Write a commented block listing every `env` entry
|
|
52
52
|
from the inventory grouped by integration, marked `REQUIRED`/`OPTIONAL` and `secret`/`plain`,
|
|
53
53
|
with the reason. **Never write real secret values** — only names and placeholders, because the
|
|
54
|
-
environment config is visible to anyone who can edit it.
|
|
55
|
-
`.claude/settings.json`
|
|
56
|
-
|
|
54
|
+
environment config is visible to anyone who can edit it. Entries flagged `providedBy: settings.json`
|
|
55
|
+
(the committed `.claude/settings.json` `env` flags, e.g. `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS`) are
|
|
56
|
+
**already applied from the committed file** — list them under an `# Already provided by committed
|
|
57
|
+
.claude/settings.json — no UI entry needed` heading, not as values to set. The "set in the
|
|
58
|
+
environment UI" template is for **secrets only**. For every secret entry that carries
|
|
59
|
+
`acquireUrl`/`accessScope`/`headlessSubstrate` (the
|
|
57
60
|
active tracker/source credentials from the analysis's group 4a), render those as comment lines
|
|
58
61
|
directly above the name — `# Acquire: <url>` and `# Access: <scope>` — so the user knows exactly
|
|
59
62
|
where to get the token and what permissions it needs. Emit only the **env-var form** of the name
|
|
@@ -83,8 +86,9 @@ shape, not a fixed payload):
|
|
|
83
86
|
#
|
|
84
87
|
# GAPS this script cannot fix (configure separately):
|
|
85
88
|
# - <gaps from analysis, e.g. auto-memory is machine-local and not synced to cloud routines>
|
|
86
|
-
#
|
|
87
|
-
# - CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS
|
|
89
|
+
# Already provided by committed .claude/settings.json (applied automatically — no UI entry needed):
|
|
90
|
+
# - CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS, ENABLE_LSP_TOOL, BASH_DEFAULT_TIMEOUT_MS, BASH_MAX_TIMEOUT_MS
|
|
91
|
+
# SECRETS to set in the environment config (names only — set real values there, not here):
|
|
88
92
|
# # --- credentials for the active tracker/source (set in the environment UI) ---
|
|
89
93
|
# # Acquire: https://github.com/settings/personal-access-tokens
|
|
90
94
|
# # Access: fine-grained PAT on target repo: Contents R/W, Issues R/W, Pull requests R/W, Metadata R
|
|
@@ -13,12 +13,10 @@
|
|
|
13
13
|
# - linear-server MCP is OAuth (browser) → unusable headless. Dormant here (tracker=github);
|
|
14
14
|
# if you switch to Linear, use LINEAR_API_KEY + Linear GraphQL instead.
|
|
15
15
|
#
|
|
16
|
-
#
|
|
17
|
-
#
|
|
18
|
-
#
|
|
19
|
-
#
|
|
20
|
-
# - BASH_DEFAULT_TIMEOUT_MS=1800000
|
|
21
|
-
# - BASH_MAX_TIMEOUT_MS=7200000
|
|
16
|
+
# Already provided by committed .claude/settings.json env (applied automatically — do NOT re-enter in the UI):
|
|
17
|
+
# - CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS, ENABLE_LSP_TOOL, BASH_DEFAULT_TIMEOUT_MS, BASH_MAX_TIMEOUT_MS
|
|
18
|
+
#
|
|
19
|
+
# SECRETS to set in the environment config (names only — set real values in the UI, NOT here):
|
|
22
20
|
# Credentials for the active tracker/source (tracker=github, source=github):
|
|
23
21
|
# # Acquire: https://github.com/settings/personal-access-tokens
|
|
24
22
|
# # Access: fine-grained PAT on CodySwannGT/lisa — Contents R/W, Issues R/W,
|