@codyswann/lisa 1.0.5 â 1.0.9
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/all/copy-overwrite/.claude/commands/project/add-test-coverage.md +34 -35
- package/all/copy-overwrite/.claude/commands/project/archive.md +2 -1
- package/all/copy-overwrite/.claude/commands/project/bootstrap.md +26 -31
- package/all/copy-overwrite/.claude/commands/project/debrief.md +30 -35
- package/all/copy-overwrite/.claude/commands/project/execute.md +37 -19
- package/all/copy-overwrite/.claude/commands/project/fix-linter-error.md +40 -61
- package/all/copy-overwrite/.claude/commands/project/implement.md +9 -9
- package/all/copy-overwrite/.claude/commands/project/lower-code-complexity.md +42 -30
- package/all/copy-overwrite/.claude/commands/project/plan.md +32 -12
- package/all/copy-overwrite/.claude/commands/project/reduce-max-lines-per-function.md +35 -46
- package/all/copy-overwrite/.claude/commands/project/reduce-max-lines.md +33 -46
- package/all/copy-overwrite/.claude/commands/project/research.md +25 -0
- package/all/copy-overwrite/.claude/commands/project/review.md +30 -20
- package/all/copy-overwrite/.claude/commands/project/setup.md +51 -15
- package/all/copy-overwrite/.claude/commands/project/verify.md +26 -54
- package/all/copy-overwrite/.claude/commands/pull-request/review.md +62 -20
- package/all/copy-overwrite/.claude/settings.json +1 -1
- package/all/copy-overwrite/HUMAN.md +0 -12
- package/cdk/copy-overwrite/.github/workflows/deploy.yml +1 -1
- package/expo/copy-overwrite/.github/workflows/lighthouse.yml +17 -0
- package/expo/copy-overwrite/knip.json +2 -0
- package/nestjs/copy-overwrite/.github/workflows/deploy.yml +1 -1
- package/package.json +4 -1
- package/typescript/copy-overwrite/.github/workflows/quality.yml +46 -0
- package/all/copy-overwrite/.claude/commands/project/complete-task.md +0 -59
|
@@ -54,6 +54,23 @@ jobs:
|
|
|
54
54
|
bun install --frozen-lockfile
|
|
55
55
|
fi
|
|
56
56
|
|
|
57
|
+
- name: đ Copy amplify file (if exists)
|
|
58
|
+
run: |
|
|
59
|
+
ENV="${{ inputs.target_branch }}"
|
|
60
|
+
if [ "$ENV" == "staging" ]; then
|
|
61
|
+
SOURCE_FILE="staging.aws-exports.js"
|
|
62
|
+
elif [ "$ENV" == "dev" ]; then
|
|
63
|
+
SOURCE_FILE="dev.aws-exports.js"
|
|
64
|
+
else
|
|
65
|
+
SOURCE_FILE="prod.aws-exports.js"
|
|
66
|
+
fi
|
|
67
|
+
if [ -f "$SOURCE_FILE" ]; then
|
|
68
|
+
cp "$SOURCE_FILE" aws-exports.js
|
|
69
|
+
echo "Copied $SOURCE_FILE to aws-exports.js"
|
|
70
|
+
else
|
|
71
|
+
echo "Skipping: $SOURCE_FILE does not exist"
|
|
72
|
+
fi
|
|
73
|
+
|
|
57
74
|
- name: đī¸ Build web export
|
|
58
75
|
run: ${{ inputs.package_manager }} run export:web
|
|
59
76
|
env:
|
|
@@ -55,6 +55,8 @@
|
|
|
55
55
|
],
|
|
56
56
|
"ignoreBinaries": ["audit", "ast-grep", "maestro", "eas", "source-map-explorer"],
|
|
57
57
|
"ignoreDependencies": [
|
|
58
|
+
"@react-native-community/netinfo",
|
|
59
|
+
"aws-exports",
|
|
58
60
|
"@babel/core",
|
|
59
61
|
"@babel/plugin-proposal-export-namespace-from",
|
|
60
62
|
"@commitlint/cli",
|
|
@@ -62,7 +62,7 @@ jobs:
|
|
|
62
62
|
needs: [determine_environment]
|
|
63
63
|
with:
|
|
64
64
|
environment: ${{ needs.determine_environment.outputs.environment }}
|
|
65
|
-
release_strategy: '
|
|
65
|
+
release_strategy: 'standard-version'
|
|
66
66
|
skip_jobs: 'test:e2e,test:unit,test:integration,test'
|
|
67
67
|
# require_approval: ${{ needs.determine_environment.outputs.environment == 'main' }}
|
|
68
68
|
# require_signatures: ${{ needs.determine_environment.outputs.environment == 'main' }}
|
package/package.json
CHANGED
|
@@ -18,6 +18,9 @@
|
|
|
18
18
|
"dev": "tsx src/index.ts",
|
|
19
19
|
"test:watch": "vitest",
|
|
20
20
|
"update-node-version": "tsx scripts/update-node-version.ts",
|
|
21
|
+
"cleanup:amplify-branches": "bash scripts/cleanup-amplify-branches.sh",
|
|
22
|
+
"cleanup:github-branches": "bash scripts/cleanup-github-branches.sh",
|
|
23
|
+
"setup:deploy-key": "bash scripts/setup-deploy-key.sh",
|
|
21
24
|
"lint:slow": "eslint . --config eslint.slow.config.ts --quiet",
|
|
22
25
|
"knip": "knip",
|
|
23
26
|
"knip:fix": "knip --fix",
|
|
@@ -75,7 +78,7 @@
|
|
|
75
78
|
"@ast-grep/cli"
|
|
76
79
|
],
|
|
77
80
|
"name": "@codyswann/lisa",
|
|
78
|
-
"version": "1.0.
|
|
81
|
+
"version": "1.0.9",
|
|
79
82
|
"description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
|
|
80
83
|
"main": "dist/index.js",
|
|
81
84
|
"bin": {
|
|
@@ -1041,12 +1041,58 @@ jobs:
|
|
|
1041
1041
|
|
|
1042
1042
|
- name: đ SonarCloud Scan
|
|
1043
1043
|
if: steps.check_sonar.outputs.has_token == 'true'
|
|
1044
|
+
id: sonar_scan
|
|
1044
1045
|
uses: SonarSource/sonarqube-scan-action@v6.0.0
|
|
1045
1046
|
env:
|
|
1046
1047
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
1047
1048
|
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
|
|
1048
1049
|
with:
|
|
1049
1050
|
args: -Dsonar.qualitygate.wait=true
|
|
1051
|
+
continue-on-error: true
|
|
1052
|
+
|
|
1053
|
+
- name: đ Validate SonarCloud results
|
|
1054
|
+
if: steps.check_sonar.outputs.has_token == 'true'
|
|
1055
|
+
env:
|
|
1056
|
+
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
|
|
1057
|
+
run: |
|
|
1058
|
+
OUTCOME="${{ steps.sonar_scan.outcome }}"
|
|
1059
|
+
|
|
1060
|
+
if [ "$OUTCOME" = "success" ]; then
|
|
1061
|
+
echo "â
SonarCloud scan and quality gate passed"
|
|
1062
|
+
exit 0
|
|
1063
|
+
fi
|
|
1064
|
+
|
|
1065
|
+
if [ "$OUTCOME" = "failure" ]; then
|
|
1066
|
+
REPORT_FILE=".scannerwork/report-task.txt"
|
|
1067
|
+
|
|
1068
|
+
if [ ! -f "$REPORT_FILE" ]; then
|
|
1069
|
+
echo "::error::SonarCloud scan failed and report-task.txt is missing; failing build."
|
|
1070
|
+
exit 1
|
|
1071
|
+
fi
|
|
1072
|
+
|
|
1073
|
+
# Extract serverUrl and ceTaskId from report-task.txt (key=value format)
|
|
1074
|
+
SERVER_URL=$(grep -E '^serverUrl=' "$REPORT_FILE" | cut -d= -f2-)
|
|
1075
|
+
CE_TASK_ID=$(grep -E '^ceTaskId=' "$REPORT_FILE" | cut -d= -f2-)
|
|
1076
|
+
|
|
1077
|
+
if [ -z "$SERVER_URL" ] || [ -z "$CE_TASK_ID" ]; then
|
|
1078
|
+
echo "::error::Could not extract serverUrl or ceTaskId from report-task.txt; failing build."
|
|
1079
|
+
exit 1
|
|
1080
|
+
fi
|
|
1081
|
+
|
|
1082
|
+
# Query SonarCloud CE task API to get the actual error message
|
|
1083
|
+
TASK_JSON=$(curl -s -u "$SONAR_TOKEN:" "$SERVER_URL/api/ce/task?id=$CE_TASK_ID")
|
|
1084
|
+
ERROR_MSG=$(echo "$TASK_JSON" | jq -r '.task.errorMessage // ""')
|
|
1085
|
+
|
|
1086
|
+
# Only allow line-limit quota errors to pass
|
|
1087
|
+
if echo "$ERROR_MSG" | grep -qi "maximum allowed lines limit"; then
|
|
1088
|
+
echo "::warning::SonarCloud scan failed due to organization line-limit quota; not blocking build."
|
|
1089
|
+
echo "âšī¸ Contact your SonarCloud organization admin to increase or manage line limits."
|
|
1090
|
+
exit 0
|
|
1091
|
+
fi
|
|
1092
|
+
|
|
1093
|
+
echo "::error::SonarCloud scan failed: $ERROR_MSG"
|
|
1094
|
+
exit 1
|
|
1095
|
+
fi
|
|
1050
1096
|
|
|
1051
1097
|
- name: đ SonarCloud Scan Skipped
|
|
1052
1098
|
if: steps.check_sonar.outputs.has_token != 'true'
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Complete a single task within a project using a subagent with fresh context
|
|
3
|
-
argument-hint: <task-file>
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
1. Read $ARGUMENTS without offset or limit
|
|
7
|
-
2. Follow the instructions literally and specifically
|
|
8
|
-
|
|
9
|
-
## Verification Requirements
|
|
10
|
-
|
|
11
|
-
**CRITICAL**: Before marking ANY task as complete:
|
|
12
|
-
|
|
13
|
-
### For JSON Tasks (`.json` files)
|
|
14
|
-
|
|
15
|
-
If the task file is JSON and contains `metadata.verification`:
|
|
16
|
-
|
|
17
|
-
1. **Extract verification data**:
|
|
18
|
-
```json
|
|
19
|
-
{
|
|
20
|
-
"metadata": {
|
|
21
|
-
"verification": {
|
|
22
|
-
"type": "manual-check",
|
|
23
|
-
"command": "the command to run",
|
|
24
|
-
"expected": "description of expected output"
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
2. **Run the verification command** using Bash tool
|
|
31
|
-
3. **Compare output to expected** - Verify the output matches the `expected` description
|
|
32
|
-
4. **Only mark complete if verification passes**
|
|
33
|
-
|
|
34
|
-
### For Markdown Tasks (`.md` files)
|
|
35
|
-
|
|
36
|
-
If the task has a "## Verification" section with "### Proof Command":
|
|
37
|
-
|
|
38
|
-
1. **Extract the Proof Command** from the markdown
|
|
39
|
-
2. **Run the command** using Bash tool
|
|
40
|
-
3. **Compare output to Expected Output** section
|
|
41
|
-
4. **Only mark complete if verification passes**
|
|
42
|
-
|
|
43
|
-
### Verification Rules
|
|
44
|
-
|
|
45
|
-
1. **`manual-check` verification type** - These require actual execution, not just configuration review:
|
|
46
|
-
- If the check requires Docker and Docker is unavailable â Task is **BLOCKED**, not complete
|
|
47
|
-
- If the check requires external services â Actually test against them
|
|
48
|
-
- If the check requires running a command â Run the command and verify output
|
|
49
|
-
2. **Never assume configuration is correct** - Always empirically verify by running the actual tool/service
|
|
50
|
-
3. **If verification cannot be performed**:
|
|
51
|
-
- Do NOT mark the task as complete
|
|
52
|
-
- Document the blocker in findings.md
|
|
53
|
-
- Mark the task status as "blocked: <reason>"
|
|
54
|
-
4. **If verification fails**:
|
|
55
|
-
- Do NOT mark the task as complete
|
|
56
|
-
- Fix the issue and re-run verification
|
|
57
|
-
- Only mark complete when verification passes
|
|
58
|
-
|
|
59
|
-
The rule "Never make assumptions about whether something worked. Test it empirically to confirm" applies especially to verification tasks.
|