@codyswann/lisa 3.23.0 → 3.23.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/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
- package/dist/core/upstream-evidence-manifest.js +20 -69
- package/dist/core/upstream-evidence-manifest.js.map +1 -1
- package/dist/migrations/ensure-quality-caller-scopes.d.ts.map +1 -1
- package/dist/migrations/ensure-quality-caller-scopes.js +1 -2
- package/dist/migrations/ensure-quality-caller-scopes.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-doctor/SKILL.md +3 -5
- package/plugins/lisa/.codex-plugin/skills/lisa-drive-pr-to-merge/SKILL.md +3 -3
- package/plugins/lisa/.codex-plugin/skills/lisa-sync-down/SKILL.md +9 -16
- package/plugins/lisa/rules/reference/config-resolution.md +2 -2
- package/plugins/lisa/skills/lisa-doctor/SKILL.md +3 -5
- package/plugins/lisa/skills/lisa-drive-pr-to-merge/SKILL.md +3 -3
- package/plugins/lisa/skills/lisa-sync-down/SKILL.md +10 -17
- package/plugins/lisa-agy/plugin.json +1 -1
- package/plugins/lisa-agy/skills/lisa-doctor/SKILL.md +3 -5
- package/plugins/lisa-agy/skills/lisa-drive-pr-to-merge/SKILL.md +3 -3
- package/plugins/lisa-agy/skills/lisa-sync-down/SKILL.md +10 -17
- 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/rules/reference/config-resolution.md +2 -2
- package/plugins/lisa-copilot/skills/lisa-doctor/SKILL.md +3 -5
- package/plugins/lisa-copilot/skills/lisa-drive-pr-to-merge/SKILL.md +3 -3
- package/plugins/lisa-copilot/skills/lisa-sync-down/SKILL.md +10 -17
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/rules/config-resolution-reference.mdc +2 -2
- package/plugins/lisa-cursor/skills/lisa-doctor/SKILL.md +3 -5
- package/plugins/lisa-cursor/skills/lisa-drive-pr-to-merge/SKILL.md +3 -3
- package/plugins/lisa-cursor/skills/lisa-sync-down/SKILL.md +10 -17
- 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/rules/reference/config-resolution.md +2 -2
- package/plugins/src/base/skills/lisa-doctor/SKILL.md +3 -5
- package/plugins/src/base/skills/lisa-drive-pr-to-merge/SKILL.md +3 -3
- package/plugins/src/base/skills/lisa-sync-down/SKILL.md +10 -17
- package/rails/deletions.json +6 -1
- package/scripts/detect-stale-workflow-inputs.mjs +7 -7
- package/scripts/generate-upstream-evidence-manifest.mjs +1 -0
- package/scripts/verify-health-deterministic-built.mjs +1 -1
- package/typescript/copy-contents/.husky/commit-msg +4 -1
- package/typescript/copy-contents/.husky/pre-commit +4 -1
- package/typescript/copy-contents/.husky/pre-push +8 -2
- package/typescript/copy-contents/.husky/prepare-commit-msg +4 -1
- package/typescript/deletions.json +14 -1
- package/rails/create-only/.github/workflows/claude-code-review-response.yml +0 -31
- package/rails/create-only/.github/workflows/claude-nightly-code-complexity.yml +0 -22
- package/rails/create-only/.github/workflows/claude-nightly-test-coverage.yml +0 -30
- package/rails/create-only/.github/workflows/claude-nightly-test-improvement.yml +0 -33
- package/rails/create-only/.github/workflows/claude-sync-down-branches.yml +0 -46
- package/scripts/migrate-deploy-order.sh +0 -161
- package/typescript/create-only/.github/workflows/claude-ci-auto-fix.yml +0 -42
- package/typescript/create-only/.github/workflows/claude-code-review-response.yml +0 -31
- package/typescript/create-only/.github/workflows/claude-deploy-auto-fix.yml +0 -39
- package/typescript/create-only/.github/workflows/claude-nightly-code-complexity.yml +0 -24
- package/typescript/create-only/.github/workflows/claude-nightly-test-coverage.yml +0 -31
- package/typescript/create-only/.github/workflows/claude-nightly-test-improvement.yml +0 -34
- package/typescript/create-only/.github/workflows/claude-sync-down-branches.yml +0 -46
- package/typescript/create-only/.github/workflows/claude.yml +0 -37
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "3.23.
|
|
3
|
+
"version": "3.23.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": "3.23.
|
|
3
|
+
"version": "3.23.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": "3.23.
|
|
3
|
+
"version": "3.23.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": "3.23.
|
|
3
|
+
"version": "3.23.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": "3.23.
|
|
3
|
+
"version": "3.23.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"
|
|
@@ -611,8 +611,8 @@ cannot: the relative rank of environments. `deploy.branches` is an unordered map
|
|
|
611
611
|
so without `deploy.order` the rank of a custom env name (`preprod`, `qa`, …) is
|
|
612
612
|
unknowable.
|
|
613
613
|
|
|
614
|
-
The back-sync
|
|
615
|
-
|
|
614
|
+
The Lisa back-sync flow consumes `deploy.order` to derive its source → target
|
|
615
|
+
chain. It walks the order from the
|
|
616
616
|
**highest** environment **down**, mapping each env's branch to the next-lower
|
|
617
617
|
env's branch:
|
|
618
618
|
|
|
@@ -119,11 +119,9 @@ this order:
|
|
|
119
119
|
single distinct branch, so there is nothing to back-sync, the chain is the empty no-op, and
|
|
120
120
|
`deploy.order` is not required. Do not WARN.
|
|
121
121
|
- `WARN` when `deploy.branches` resolves to **more than one distinct** branch but `deploy.order`
|
|
122
|
-
is absent. Config-driven back-sync
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
`claude-sync-down-branches.yml` wrapper. WARN not FAIL because the explicit-chain override is
|
|
126
|
-
a valid configuration.
|
|
122
|
+
is absent. Config-driven back-sync cannot derive a source→target chain without the env
|
|
123
|
+
ranking; the repo must add `deploy.order` (low→high, e.g.
|
|
124
|
+
`["dev","staging","production"]`).
|
|
127
125
|
- `FAIL` when `deploy.order` is present but its env-name set does not exactly match the keys of
|
|
128
126
|
`deploy.branches` (every env in one must appear in the other). A mismatch silently breaks the
|
|
129
127
|
derived chain.
|
|
@@ -58,9 +58,9 @@ Use plain `gh` + `git` so Claude and Codex execute identically.
|
|
|
58
58
|
|
|
59
59
|
## 0. Take the babysitter lease
|
|
60
60
|
|
|
61
|
-
This skill is the branch's owner while it runs. Declare that ownership so
|
|
62
|
-
|
|
63
|
-
|
|
61
|
+
This skill is the branch's owner while it runs. Declare that ownership so any CI
|
|
62
|
+
repair automation stands down instead of pushing competing fixes to the same
|
|
63
|
+
branch (the single-writer rule):
|
|
64
64
|
|
|
65
65
|
```bash
|
|
66
66
|
gh label create "lisa:babysitter-on-duty" \
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: lisa-sync-down
|
|
3
|
-
description: This skill should be used to run a back-sync of an environment branch DOWN the deploy chain on demand — propagating merges (e.g. hotfixes) from a higher environment to every lower one. Given a source environment name or branch (e.g. `production`), it derives the source→target chain from `.lisa.config.json` `deploy.order` + `deploy.branches
|
|
3
|
+
description: This skill should be used to run a back-sync of an environment branch DOWN the deploy chain on demand — propagating merges (e.g. hotfixes) from a higher environment to every lower one. Given a source environment name or branch (e.g. `production`), it derives the source→target chain from `.lisa.config.json` `deploy.order` + `deploy.branches`, then for each downward hop creates a sync branch, merges, resolves conflicts, opens or updates a PR, and enables auto-merge. Runnable by a developer locally or by CI.
|
|
4
4
|
allowed-tools: ["Bash", "Read", "Edit", "Write", "Grep", "Glob"]
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -8,9 +8,7 @@ allowed-tools: ["Bash", "Read", "Edit", "Write", "Grep", "Glob"]
|
|
|
8
8
|
|
|
9
9
|
Back-sync a source environment branch DOWN the deploy chain, one hop at a time,
|
|
10
10
|
all the way to the lowest environment. This is the on-demand, manual-or-CI
|
|
11
|
-
|
|
12
|
-
same logic automatically when a PR is merged. Both derive their chain from the
|
|
13
|
-
same config, so a manual run and an automatic run behave identically.
|
|
11
|
+
entrypoint for applying the config-derived sync chain.
|
|
14
12
|
|
|
15
13
|
Argument (`$ARGUMENTS`): the **source** to start syncing from. Accepts:
|
|
16
14
|
|
|
@@ -156,16 +154,11 @@ needs human conflict resolution.
|
|
|
156
154
|
## Invocation
|
|
157
155
|
|
|
158
156
|
- **Developer:** `/lisa:sync-down production` (or a branch: `/lisa:sync-down main`).
|
|
159
|
-
- **
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
This skill and `reusable-claude-sync-down-branches.yml` are deliberately
|
|
168
|
-
equivalent: same config-derived chain, same merge/conflict strategy, same
|
|
169
|
-
deterministic sync-branch naming, same auto-merge behavior. The Action is the
|
|
170
|
-
automatic (PR-merged) trigger; this skill is the manual/dispatch trigger. Keep
|
|
171
|
-
their chain-derivation and conflict-resolution rules in sync when either changes.
|
|
157
|
+
- **CI:** invoke this skill from the runtime-native automation surface with
|
|
158
|
+
`/lisa:sync-down <env>` when an automatic sync is required.
|
|
159
|
+
|
|
160
|
+
## Contract
|
|
161
|
+
|
|
162
|
+
This skill is the source of truth for back-sync behavior: config-derived chain,
|
|
163
|
+
merge/conflict strategy, deterministic sync-branch naming, and auto-merge
|
|
164
|
+
behavior all live here.
|
package/rails/deletions.json
CHANGED
|
@@ -9,6 +9,11 @@
|
|
|
9
9
|
".claude/skills/plan-lower-code-complexity",
|
|
10
10
|
".claude/skills/plan-reduce-max-lines",
|
|
11
11
|
".claude/skills/plan-reduce-max-lines-per-function",
|
|
12
|
-
".claude/rules/rails-conventions.md"
|
|
12
|
+
".claude/rules/rails-conventions.md",
|
|
13
|
+
".github/workflows/claude-code-review-response.yml",
|
|
14
|
+
".github/workflows/claude-nightly-code-complexity.yml",
|
|
15
|
+
".github/workflows/claude-nightly-test-coverage.yml",
|
|
16
|
+
".github/workflows/claude-nightly-test-improvement.yml",
|
|
17
|
+
".github/workflows/claude-sync-down-branches.yml"
|
|
13
18
|
]
|
|
14
19
|
}
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Deterministic detector for stale reusable-workflow inputs (issue #1423).
|
|
4
4
|
*
|
|
5
|
-
* Context: a caller workflow (e.g. a consumer repo's `.github/workflows/
|
|
5
|
+
* Context: a caller workflow (e.g. a consumer repo's `.github/workflows/example-agent.yml`)
|
|
6
6
|
* invokes one of Lisa's reusable workflows via `uses: <owner>/<repo>/.github/workflows/
|
|
7
7
|
* reusable-*.yml@<ref>` and passes a `with:` block. GitHub hard-fails the run at
|
|
8
8
|
* startup if that `with:` block names an input the reusable workflow's
|
|
9
9
|
* `workflow_call.inputs` no longer declares (e.g. an early-generation caller still
|
|
10
|
-
* passing `package_manager`, which `reusable-
|
|
11
|
-
*
|
|
12
|
-
*
|
|
10
|
+
* passing `package_manager`, which `reusable-example.yml` never declared). Because
|
|
11
|
+
* create-only workflow callers are never overwritten, an affected repo cannot
|
|
12
|
+
* self-heal — the drift has to be found and reported (or migrated) instead.
|
|
13
13
|
*
|
|
14
14
|
* This script scans every workflow file directly under a project's
|
|
15
15
|
* `.github/workflows/` for such callers, resolves each referenced reusable
|
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
* `.github/workflows/`, the source of truth for the current contract), and reports
|
|
18
18
|
* any caller `with:` key absent from the declared set as `stale`.
|
|
19
19
|
*
|
|
20
|
-
* It is intentionally NOT a general YAML parser
|
|
21
|
-
*
|
|
20
|
+
* It is intentionally NOT a general YAML parser. It does targeted,
|
|
21
|
+
* indentation-aware line scanning of the two shapes it cares
|
|
22
22
|
* about (`uses:` + sibling `with:`, and `workflow_call: inputs:`). That is
|
|
23
23
|
* sufficient for Lisa-authored workflow files, which have a stable, predictable
|
|
24
24
|
* structure, and keeps the detector dependency-free (Node built-ins only, no
|
|
@@ -91,7 +91,7 @@ function isDirectory(target) {
|
|
|
91
91
|
* @param {string} contractsRoot - directory holding the current reusable
|
|
92
92
|
* workflow files (basename-addressed).
|
|
93
93
|
* @param {string} reusableFile - basename of the referenced reusable
|
|
94
|
-
* workflow file (e.g. `reusable-
|
|
94
|
+
* workflow file (e.g. `reusable-example.yml`).
|
|
95
95
|
* @returns {string[] | null} declared inputs, or `null` if the contract file
|
|
96
96
|
* isn't present under `contractsRoot` (unresolvable, not necessarily stale).
|
|
97
97
|
*/
|
|
@@ -104,6 +104,7 @@ const tracked = execFileSync("git", ["ls-files", "-z"], {
|
|
|
104
104
|
const explicitlyIncluded = ["scripts/generate-upstream-evidence-manifest.mjs"];
|
|
105
105
|
const publicSurfaceMembers = [...new Set([...tracked, ...explicitlyIncluded])]
|
|
106
106
|
.filter(file => file !== "src/core/upstream-evidence-manifest.ts")
|
|
107
|
+
.filter(file => existsSync(path.join(repoRoot, file)))
|
|
107
108
|
.filter(file => {
|
|
108
109
|
const segments = file.split("/");
|
|
109
110
|
const basename = segments.at(-1) ?? "";
|
|
@@ -278,7 +278,7 @@ try {
|
|
|
278
278
|
"offline starter inspection remains an explicit warning"
|
|
279
279
|
);
|
|
280
280
|
|
|
281
|
-
const callerPath = path.join(project, ".github", "workflows", "
|
|
281
|
+
const callerPath = path.join(project, ".github", "workflows", "ci.yml");
|
|
282
282
|
const callerOriginal = await readFile(callerPath, "utf8");
|
|
283
283
|
await writeFile(
|
|
284
284
|
callerPath,
|
|
@@ -20,7 +20,10 @@ fi
|
|
|
20
20
|
# Get the commit message file path
|
|
21
21
|
COMMIT_MSG_FILE=$1
|
|
22
22
|
|
|
23
|
-
WORK_ITEM_SCRIPT="scripts/lisa-work-item.mjs"
|
|
23
|
+
WORK_ITEM_SCRIPT="node_modules/@codyswann/lisa/all/copy-overwrite/scripts/lisa-work-item.mjs"
|
|
24
|
+
if [ ! -f "$WORK_ITEM_SCRIPT" ]; then
|
|
25
|
+
WORK_ITEM_SCRIPT="scripts/lisa-work-item.mjs"
|
|
26
|
+
fi
|
|
24
27
|
if [ ! -f "$WORK_ITEM_SCRIPT" ]; then
|
|
25
28
|
WORK_ITEM_SCRIPT="all/copy-overwrite/scripts/lisa-work-item.mjs"
|
|
26
29
|
fi
|
|
@@ -76,7 +76,10 @@ fi
|
|
|
76
76
|
# Fail-safe by construction: no coverage file, an empty one, a runner that
|
|
77
77
|
# could not run, or no exact match, all mean the built-in step runs.
|
|
78
78
|
# ---------------------------------------------------------------------------
|
|
79
|
-
GATE_RUNNER="scripts/lisa-run-gates.mjs"
|
|
79
|
+
GATE_RUNNER="node_modules/@codyswann/lisa/all/copy-overwrite/scripts/lisa-run-gates.mjs"
|
|
80
|
+
if [ ! -f "$GATE_RUNNER" ]; then
|
|
81
|
+
GATE_RUNNER="scripts/lisa-run-gates.mjs"
|
|
82
|
+
fi
|
|
80
83
|
if [ ! -f "$GATE_RUNNER" ]; then
|
|
81
84
|
GATE_RUNNER="all/copy-overwrite/scripts/lisa-run-gates.mjs"
|
|
82
85
|
fi
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
# BEGIN: AI GUARDRAILS
|
|
2
2
|
|
|
3
|
-
WORK_ITEM_SCRIPT="scripts/lisa-work-item.mjs"
|
|
3
|
+
WORK_ITEM_SCRIPT="node_modules/@codyswann/lisa/all/copy-overwrite/scripts/lisa-work-item.mjs"
|
|
4
|
+
if [ ! -f "$WORK_ITEM_SCRIPT" ]; then
|
|
5
|
+
WORK_ITEM_SCRIPT="scripts/lisa-work-item.mjs"
|
|
6
|
+
fi
|
|
4
7
|
if [ ! -f "$WORK_ITEM_SCRIPT" ]; then
|
|
5
8
|
WORK_ITEM_SCRIPT="all/copy-overwrite/scripts/lisa-work-item.mjs"
|
|
6
9
|
fi
|
|
@@ -58,7 +61,10 @@ echo "📦 Using package manager: $PACKAGE_MANAGER"
|
|
|
58
61
|
# The project-specific extension slots at the bottom of this file run either
|
|
59
62
|
# way — they are project behaviour, not registry gates.
|
|
60
63
|
# ---------------------------------------------------------------------------
|
|
61
|
-
GATE_RUNNER="scripts/lisa-run-gates.mjs"
|
|
64
|
+
GATE_RUNNER="node_modules/@codyswann/lisa/all/copy-overwrite/scripts/lisa-run-gates.mjs"
|
|
65
|
+
if [ ! -f "$GATE_RUNNER" ]; then
|
|
66
|
+
GATE_RUNNER="scripts/lisa-run-gates.mjs"
|
|
67
|
+
fi
|
|
62
68
|
if [ ! -f "$GATE_RUNNER" ]; then
|
|
63
69
|
GATE_RUNNER="all/copy-overwrite/scripts/lisa-run-gates.mjs"
|
|
64
70
|
fi
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
# BEGIN: AI GUARDRAILS
|
|
2
2
|
|
|
3
|
-
WORK_ITEM_SCRIPT="scripts/lisa-work-item.mjs"
|
|
3
|
+
WORK_ITEM_SCRIPT="node_modules/@codyswann/lisa/all/copy-overwrite/scripts/lisa-work-item.mjs"
|
|
4
|
+
if [ ! -f "$WORK_ITEM_SCRIPT" ]; then
|
|
5
|
+
WORK_ITEM_SCRIPT="scripts/lisa-work-item.mjs"
|
|
6
|
+
fi
|
|
4
7
|
if [ ! -f "$WORK_ITEM_SCRIPT" ]; then
|
|
5
8
|
WORK_ITEM_SCRIPT="all/copy-overwrite/scripts/lisa-work-item.mjs"
|
|
6
9
|
fi
|
|
@@ -33,7 +33,20 @@
|
|
|
33
33
|
".github/workflows/reusable-claude-nightly-code-complexity.yml",
|
|
34
34
|
".github/workflows/reusable-claude-nightly-test-coverage.yml",
|
|
35
35
|
".github/workflows/reusable-claude-nightly-test-improvement.yml",
|
|
36
|
-
".github/workflows/load-test.yml"
|
|
36
|
+
".github/workflows/load-test.yml",
|
|
37
|
+
".github/workflows/claude-ci-auto-fix.yml",
|
|
38
|
+
".github/workflows/claude-code-review-response.yml",
|
|
39
|
+
".github/workflows/claude-deploy-auto-fix.yml",
|
|
40
|
+
".github/workflows/claude-nightly-code-complexity.yml",
|
|
41
|
+
".github/workflows/claude-nightly-test-coverage.yml",
|
|
42
|
+
".github/workflows/claude-nightly-test-improvement.yml",
|
|
43
|
+
".github/workflows/claude-sync-down-branches.yml",
|
|
44
|
+
".github/workflows/claude.yml",
|
|
45
|
+
".github/workflows/reusable-claude-sync-down-branches.yml",
|
|
46
|
+
".github/workflows/reusable-claude-nightly-code-complexity-rails.yml",
|
|
47
|
+
".github/workflows/reusable-claude-nightly-jira-triage.yml",
|
|
48
|
+
".github/workflows/reusable-claude-nightly-test-coverage-rails.yml",
|
|
49
|
+
".github/workflows/reusable-claude-nightly-test-improvement-rails.yml"
|
|
37
50
|
],
|
|
38
51
|
"keep": []
|
|
39
52
|
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
# Seeded by Lisa on first setup — this file is YOURS.
|
|
2
|
-
# Lisa will not overwrite it. (copy-overwrite assets ARE replaced each run.)
|
|
3
|
-
# You can customize this file — Lisa will not overwrite it.
|
|
4
|
-
|
|
5
|
-
name: Claude Code Review Response
|
|
6
|
-
|
|
7
|
-
on:
|
|
8
|
-
pull_request_review:
|
|
9
|
-
types: [submitted]
|
|
10
|
-
|
|
11
|
-
permissions:
|
|
12
|
-
actions: write
|
|
13
|
-
checks: write
|
|
14
|
-
contents: write
|
|
15
|
-
issues: write
|
|
16
|
-
pull-requests: write
|
|
17
|
-
id-token: write
|
|
18
|
-
|
|
19
|
-
jobs:
|
|
20
|
-
respond-to-review:
|
|
21
|
-
uses: CodySwannGT/lisa/.github/workflows/reusable-claude-code-review-response.yml@main
|
|
22
|
-
with:
|
|
23
|
-
review_user_login: ${{ github.event.review.user.login }}
|
|
24
|
-
pr_user_login: ${{ github.event.pull_request.user.login }}
|
|
25
|
-
pr_head_ref: ${{ github.event.pull_request.head.ref }}
|
|
26
|
-
pr_number: ${{ github.event.pull_request.number }}
|
|
27
|
-
repo_owner: ${{ github.repository_owner }}
|
|
28
|
-
repo_name: ${{ github.event.repository.name }}
|
|
29
|
-
package_manager: 'none'
|
|
30
|
-
secrets:
|
|
31
|
-
CLAUDE_CODE_OAUTH_TOKEN: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
|