@codyswann/lisa 1.0.9 → 1.2.0
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 +19 -0
- package/all/copy-overwrite/.claude/commands/tasks/load.md +28 -3
- package/all/copy-overwrite/.claude/commands/tasks/sync.md +37 -12
- package/all/copy-overwrite/.claude/hooks/sync-tasks.sh +12 -3
- package/all/copy-overwrite/.claude/skills/prompt-complexity-scorer/SKILL.md +14 -0
- package/all/create-only/.lisaignore +7 -0
- package/dist/core/config.d.ts +1 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +1 -0
- package/dist/core/config.js.map +1 -1
- package/dist/core/lisa.d.ts +10 -10
- package/dist/core/lisa.d.ts.map +1 -1
- package/dist/core/lisa.js +69 -32
- package/dist/core/lisa.js.map +1 -1
- package/dist/utils/ignore-patterns.d.ts +20 -0
- package/dist/utils/ignore-patterns.d.ts.map +1 -0
- package/dist/utils/ignore-patterns.js +82 -0
- package/dist/utils/ignore-patterns.js.map +1 -0
- package/package.json +15 -13
- package/typescript/copy-overwrite/.github/workflows/release.yml +3 -12
- package/typescript/merge/package.json +2 -1
package/README.md
CHANGED
|
@@ -786,6 +786,25 @@ Create `.claude/settings.local.json` for machine-specific overrides:
|
|
|
786
786
|
|
|
787
787
|
This file should be in `.gitignore`.
|
|
788
788
|
|
|
789
|
+
### Ignoring Files (.lisaignore)
|
|
790
|
+
|
|
791
|
+
Create a `.lisaignore` file in your project root to skip specific files from Lisa's management. This is useful when you have custom configurations that shouldn't be overwritten.
|
|
792
|
+
|
|
793
|
+
```bash
|
|
794
|
+
# Ignore specific files
|
|
795
|
+
eslint.config.mjs
|
|
796
|
+
.prettierrc.json
|
|
797
|
+
|
|
798
|
+
# Ignore entire directories
|
|
799
|
+
.claude/hooks/
|
|
800
|
+
|
|
801
|
+
# Use glob patterns
|
|
802
|
+
*.example.json
|
|
803
|
+
**/*.custom.ts
|
|
804
|
+
```
|
|
805
|
+
|
|
806
|
+
Lisa will skip any files matching these patterns during apply operations. The ignored file count appears in the summary output.
|
|
807
|
+
|
|
789
808
|
## Troubleshooting
|
|
790
809
|
|
|
791
810
|
### Common Issues
|
|
@@ -8,18 +8,35 @@ allowed-tools: Read, Bash, TaskCreate, TaskUpdate, TaskList
|
|
|
8
8
|
|
|
9
9
|
Load tasks from `projects/$ARGUMENTS/tasks/` into the current Claude Code session.
|
|
10
10
|
|
|
11
|
+
Tasks are stored in session subdirectories to preserve history across `/clear` commands:
|
|
12
|
+
```
|
|
13
|
+
projects/$ARGUMENTS/tasks/
|
|
14
|
+
├── {session-1-uuid}/
|
|
15
|
+
│ ├── 1.json
|
|
16
|
+
│ └── 2.json
|
|
17
|
+
└── {session-2-uuid}/
|
|
18
|
+
├── 1.json
|
|
19
|
+
└── 2.json
|
|
20
|
+
```
|
|
21
|
+
|
|
11
22
|
## Process
|
|
12
23
|
|
|
13
24
|
### Step 1: Validate Project
|
|
14
25
|
|
|
15
|
-
Check if the project exists:
|
|
26
|
+
Check if the project exists and has task files:
|
|
16
27
|
|
|
17
28
|
```bash
|
|
18
|
-
|
|
29
|
+
find projects/$ARGUMENTS/tasks -name "*.json" 2>/dev/null | head -5
|
|
19
30
|
```
|
|
20
31
|
|
|
21
32
|
If no task files exist, report: "No tasks found in projects/$ARGUMENTS/tasks/"
|
|
22
33
|
|
|
34
|
+
List available sessions:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
ls -dt projects/$ARGUMENTS/tasks/*/ 2>/dev/null | head -10
|
|
38
|
+
```
|
|
39
|
+
|
|
23
40
|
### Step 2: Set Active Project
|
|
24
41
|
|
|
25
42
|
Create the active project marker:
|
|
@@ -32,7 +49,13 @@ This ensures any new tasks created will sync back to this project.
|
|
|
32
49
|
|
|
33
50
|
### Step 3: Load Tasks
|
|
34
51
|
|
|
35
|
-
|
|
52
|
+
Find and load all task JSON files from ALL session directories:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
find projects/$ARGUMENTS/tasks -name "*.json" -type f
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
For each JSON file found:
|
|
36
59
|
|
|
37
60
|
1. Read the task JSON file
|
|
38
61
|
2. Use TaskCreate to recreate the task with:
|
|
@@ -48,6 +71,7 @@ After loading all tasks, report:
|
|
|
48
71
|
|
|
49
72
|
```
|
|
50
73
|
Loaded X tasks from projects/$ARGUMENTS/tasks/
|
|
74
|
+
- Sessions found: N
|
|
51
75
|
- Pending: Y
|
|
52
76
|
- Completed: Z
|
|
53
77
|
|
|
@@ -59,5 +83,6 @@ New tasks will automatically sync to this project.
|
|
|
59
83
|
|
|
60
84
|
- Tasks are recreated with new IDs in the current session
|
|
61
85
|
- The original task IDs from the project are not preserved
|
|
86
|
+
- Tasks from ALL sessions are loaded (full history)
|
|
62
87
|
- Task dependencies (blocks/blockedBy) are NOT currently preserved across load/sync cycles
|
|
63
88
|
- Use TaskList to see the loaded tasks
|
|
@@ -6,7 +6,10 @@ allowed-tools: Read, Write, Bash, TaskList, TaskGet
|
|
|
6
6
|
|
|
7
7
|
# Sync Tasks to Project
|
|
8
8
|
|
|
9
|
-
Sync all tasks from the current session to `projects/$ARGUMENTS/tasks/`.
|
|
9
|
+
Sync all tasks from the current session to `projects/$ARGUMENTS/tasks/{session-id}/`.
|
|
10
|
+
|
|
11
|
+
This command is for manual syncing when you started work without setting an active project.
|
|
12
|
+
Once synced, the automatic hook will handle future task updates.
|
|
10
13
|
|
|
11
14
|
## Process
|
|
12
15
|
|
|
@@ -26,7 +29,23 @@ If yes, create the project structure:
|
|
|
26
29
|
mkdir -p projects/$ARGUMENTS/tasks
|
|
27
30
|
```
|
|
28
31
|
|
|
29
|
-
### Step 2:
|
|
32
|
+
### Step 2: Determine Session ID
|
|
33
|
+
|
|
34
|
+
Find the current session by looking for the most recently modified task directory:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
ls -dt ~/.claude/tasks/*/ 2>/dev/null | head -1 | xargs basename
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
If no session found, use a timestamp-based identifier:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
echo "manual-$(date +%Y%m%d-%H%M%S)"
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Store the session ID for use in subsequent steps.
|
|
47
|
+
|
|
48
|
+
### Step 3: Set Active Project
|
|
30
49
|
|
|
31
50
|
Create/update the active project marker:
|
|
32
51
|
|
|
@@ -34,16 +53,22 @@ Create/update the active project marker:
|
|
|
34
53
|
echo "$ARGUMENTS" > .claude-active-project
|
|
35
54
|
```
|
|
36
55
|
|
|
37
|
-
### Step
|
|
56
|
+
### Step 4: Get Current Tasks
|
|
38
57
|
|
|
39
58
|
Use TaskList to get all tasks in the current session.
|
|
40
59
|
|
|
41
|
-
### Step
|
|
60
|
+
### Step 5: Sync Each Task
|
|
42
61
|
|
|
43
62
|
For each task from TaskList:
|
|
44
63
|
|
|
45
64
|
1. Use TaskGet to get full task details
|
|
46
|
-
2. Create
|
|
65
|
+
2. Create the session directory:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
mkdir -p projects/$ARGUMENTS/tasks/{session-id}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
3. Create a JSON file with the task data:
|
|
47
72
|
|
|
48
73
|
```json
|
|
49
74
|
{
|
|
@@ -57,18 +82,18 @@ For each task from TaskList:
|
|
|
57
82
|
}
|
|
58
83
|
```
|
|
59
84
|
|
|
60
|
-
|
|
85
|
+
4. Write to `projects/$ARGUMENTS/tasks/{session-id}/<id>.json`
|
|
61
86
|
|
|
62
|
-
### Step
|
|
87
|
+
### Step 6: Stage for Git
|
|
63
88
|
|
|
64
89
|
```bash
|
|
65
|
-
git add projects/$ARGUMENTS/tasks/*.json
|
|
90
|
+
git add projects/$ARGUMENTS/tasks/{session-id}/*.json
|
|
66
91
|
```
|
|
67
92
|
|
|
68
|
-
### Step
|
|
93
|
+
### Step 7: Report
|
|
69
94
|
|
|
70
95
|
```
|
|
71
|
-
Synced X tasks to projects/$ARGUMENTS/tasks/
|
|
96
|
+
Synced X tasks to projects/$ARGUMENTS/tasks/{session-id}/
|
|
72
97
|
- Pending: Y
|
|
73
98
|
- In Progress: Z
|
|
74
99
|
- Completed: W
|
|
@@ -80,5 +105,5 @@ Files staged for commit. Run /git:commit when ready.
|
|
|
80
105
|
|
|
81
106
|
- This command manually syncs all current tasks to a project
|
|
82
107
|
- Use this when you started work without a project context
|
|
83
|
-
- After syncing, the active project is set so future tasks auto-sync
|
|
84
|
-
-
|
|
108
|
+
- After syncing, the active project is set so future tasks auto-sync via the hook
|
|
109
|
+
- Each sync creates a new session directory to preserve history
|
|
@@ -4,7 +4,10 @@
|
|
|
4
4
|
#
|
|
5
5
|
# This hook is triggered on PostToolUse for TaskCreate and TaskUpdate.
|
|
6
6
|
# It reads the task metadata to determine the project and syncs
|
|
7
|
-
# task JSON files to ./projects/{project}/tasks/
|
|
7
|
+
# task JSON files to ./projects/{project}/tasks/{session-id}/
|
|
8
|
+
#
|
|
9
|
+
# This session-based structure preserves task history across /clear commands,
|
|
10
|
+
# preventing overwrites when new sessions create tasks with the same IDs.
|
|
8
11
|
#
|
|
9
12
|
# Input (via stdin): JSON with tool_name, tool_input, tool_output
|
|
10
13
|
#
|
|
@@ -82,8 +85,14 @@ if [[ -z "$TASK_FILE" || ! -f "$TASK_FILE" ]]; then
|
|
|
82
85
|
exit 0
|
|
83
86
|
fi
|
|
84
87
|
|
|
85
|
-
#
|
|
86
|
-
|
|
88
|
+
# Require session ID for proper history tracking
|
|
89
|
+
if [[ -z "$SESSION_ID" ]]; then
|
|
90
|
+
echo "Warning: No session_id available, skipping sync" >&2
|
|
91
|
+
exit 0
|
|
92
|
+
fi
|
|
93
|
+
|
|
94
|
+
# Ensure project tasks directory exists (includes session ID for history preservation)
|
|
95
|
+
PROJECT_TASKS_DIR="./projects/${PROJECT}/tasks/${SESSION_ID}"
|
|
87
96
|
mkdir -p "$PROJECT_TASKS_DIR"
|
|
88
97
|
|
|
89
98
|
# Copy task file to project directory
|
|
@@ -8,6 +8,20 @@ model: haiku
|
|
|
8
8
|
|
|
9
9
|
This skill evaluates user prompts to determine if they require planning before implementation.
|
|
10
10
|
|
|
11
|
+
## Skip Evaluation
|
|
12
|
+
|
|
13
|
+
**Do not evaluate** prompts that are explicit slash command invocations. If the user's prompt starts with `/`, they are already invoking a workflow and no complexity scoring is needed.
|
|
14
|
+
|
|
15
|
+
Examples of prompts to **skip** (just execute the command):
|
|
16
|
+
- `/project:bootstrap @specs/add-auth.md`
|
|
17
|
+
- `/git:commit`
|
|
18
|
+
- `/project:implement @projects/2026-01-26-feature`
|
|
19
|
+
|
|
20
|
+
Examples of prompts to **evaluate**:
|
|
21
|
+
- "Add WebSocket support to this project"
|
|
22
|
+
- "Make the app faster"
|
|
23
|
+
- "Refactor the authentication system"
|
|
24
|
+
|
|
11
25
|
## Scoring Criteria
|
|
12
26
|
|
|
13
27
|
Score each prompt on a 1-10 scale based on these factors:
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Lisa Ignore File
|
|
2
|
+
# Add patterns here to skip files from Lisa's management
|
|
3
|
+
# Supports gitignore-style syntax:
|
|
4
|
+
# - Lines starting with # are comments
|
|
5
|
+
# - Exact file names: eslint.config.mjs
|
|
6
|
+
# - Directory patterns: .claude/hooks/
|
|
7
|
+
# - Glob patterns: *.example.json, **/*.custom.ts
|
package/dist/core/config.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,YAAY,GACpB,gBAAgB,GAChB,eAAe,GACf,aAAa,GACb,OAAO,CAAC;AAEZ;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB,YAAY,GACZ,MAAM,GACN,QAAQ,GACR,KAAK,GACL,aAAa,CAAC;AAElB;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAC3C,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC,CAO/B,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,WAAW,EAM3C,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,YAAY,EAKzC,CAAC;AAEX;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,+DAA+D;IAC/D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,4CAA4C;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEzB,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B,4DAA4D;IAC5D,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,UAAU,GAAG,WAAW,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,MAAM,EACX,QAAQ,GACR,SAAS,GACT,aAAa,GACb,UAAU,GACV,QAAQ,GACR,SAAS,CAAC;IACd,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,6CAA6C;IAC7C,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,aAAa,EAAE,SAAS,WAAW,EAAE,CAAC;IAC/C,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,iBAAiB,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,YAAY,GACpB,gBAAgB,GAChB,eAAe,GACf,aAAa,GACb,OAAO,CAAC;AAEZ;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB,YAAY,GACZ,MAAM,GACN,QAAQ,GACR,KAAK,GACL,aAAa,CAAC;AAElB;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAC3C,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC,CAO/B,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,WAAW,EAM3C,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,YAAY,EAKzC,CAAC;AAEX;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,+DAA+D;IAC/D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,4CAA4C;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEzB,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B,4DAA4D;IAC5D,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,UAAU,GAAG,WAAW,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,MAAM,EACX,QAAQ,GACR,SAAS,GACT,aAAa,GACb,UAAU,GACV,QAAQ,GACR,SAAS,CAAC;IACd,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,6CAA6C;IAC7C,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,aAAa,EAAE,SAAS,WAAW,EAAE,CAAC;IAC/C,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,iBAAiB,CAUzD"}
|
package/dist/core/config.js
CHANGED
package/dist/core/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAmBA;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAE/B;IACF,IAAI,EAAE,YAAY;IAClB,MAAM,EAAE,YAAY;IACpB,GAAG,EAAE,YAAY;IACjB,aAAa,EAAE,YAAY;IAC3B,UAAU,EAAE,SAAS;CACb,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA2B;IACxD,YAAY;IACZ,aAAa;IACb,MAAM;IACN,QAAQ;IACR,KAAK;CACG,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAA4B;IACtD,gBAAgB;IAChB,eAAe;IACf,aAAa;IACb,OAAO;CACC,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAmBA;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAE/B;IACF,IAAI,EAAE,YAAY;IAClB,MAAM,EAAE,YAAY;IACpB,GAAG,EAAE,YAAY;IACjB,aAAa,EAAE,YAAY;IAC3B,UAAU,EAAE,SAAS;CACb,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA2B;IACxD,YAAY;IACZ,aAAa;IACb,MAAM;IACN,QAAQ;IACR,KAAK;CACG,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAA4B;IACtD,gBAAgB;IAChB,eAAe;IACf,aAAa;IACb,OAAO;CACC,CAAC;AA2EX;;;GAGG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO;QACL,MAAM,EAAE,CAAC;QACT,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,CAAC;QACd,QAAQ,EAAE,CAAC;QACX,MAAM,EAAE,CAAC;QACT,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;KACX,CAAC;AACJ,CAAC"}
|
package/dist/core/lisa.d.ts
CHANGED
|
@@ -26,17 +26,9 @@ export declare class Lisa {
|
|
|
26
26
|
private readonly deps;
|
|
27
27
|
private counters;
|
|
28
28
|
private detectedTypes;
|
|
29
|
+
private ignorePatterns;
|
|
29
30
|
private readonly separator;
|
|
30
|
-
private readonly
|
|
31
|
-
private readonly dryRunSkipMsg;
|
|
32
|
-
private readonly dryRunPromptMsg;
|
|
33
|
-
private readonly dryRunAppendMsg;
|
|
34
|
-
private readonly dryRunMergeMsg;
|
|
35
|
-
private readonly copyMsg;
|
|
36
|
-
private readonly skipMsg;
|
|
37
|
-
private readonly promptMsg;
|
|
38
|
-
private readonly appendMsg;
|
|
39
|
-
private readonly mergeMsg;
|
|
31
|
+
private readonly lisaignoreSuffix;
|
|
40
32
|
/**
|
|
41
33
|
* Initialize Lisa orchestrator
|
|
42
34
|
* @param config - Configuration for the apply/uninstall operation
|
|
@@ -174,6 +166,14 @@ export declare class Lisa {
|
|
|
174
166
|
* Print summary header with mode
|
|
175
167
|
*/
|
|
176
168
|
private printSummaryHeader;
|
|
169
|
+
/**
|
|
170
|
+
* Print a single stat line with color
|
|
171
|
+
* @param label - Stat label
|
|
172
|
+
* @param value - Stat value
|
|
173
|
+
* @param color - Color function from picocolors
|
|
174
|
+
* @param suffix - Optional suffix after the count
|
|
175
|
+
*/
|
|
176
|
+
private printStatLine;
|
|
177
177
|
/**
|
|
178
178
|
* Print summary statistics
|
|
179
179
|
*/
|
package/dist/core/lisa.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lisa.d.ts","sourceRoot":"","sources":["../../src/core/lisa.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAMzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAwB,MAAM,wBAAwB,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"lisa.d.ts","sourceRoot":"","sources":["../../src/core/lisa.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAMzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAwB,MAAM,wBAAwB,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAM9D,OAAO,KAAK,EAIV,UAAU,EACV,UAAU,EAGX,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAiB,MAAM,eAAe,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,eAAe,EAAE,gBAAgB,CAAC;IAC3C,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC;IACvC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC;CAClC;AAED;;GAEG;AACH,qBAAa,IAAI;IAgBb,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAhBvB,OAAO,CAAC,QAAQ,CAA8C;IAC9D,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,cAAc,CAGpB;IACF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8C;IACxE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IAEpD;;;;OAIG;gBAEgB,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,gBAAgB;IAGzC;;OAEG;YACW,YAAY;IAS1B;;OAEG;YACW,WAAW;IAUzB;;OAEG;YACW,qBAAqB;IAyBnC;;OAEG;YACW,gBAAgB;IAoB9B;;;OAGG;YACW,oBAAoB;IAqBlC;;;OAGG;YACW,qBAAqB;IAqCnC;;;OAGG;YACW,QAAQ;IAStB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAWxB;;;;OAIG;YACW,gBAAgB;IAqB9B;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,UAAU,CAAC;IAiBlC;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC;IAKrC;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC;IA+EtC;;;;;;;OAOG;YACW,YAAY;IAoC1B;;;;OAIG;YACW,uBAAuB;IAUrC;;;OAGG;YACW,kBAAkB;IAahC;;;;;;OAMG;YACW,gBAAgB;IA2D9B;;;;;;OAMG;YACW,qBAAqB;IAyBnC;;;;OAIG;YACW,QAAQ;IAatB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAqBtB;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAKlB;;;OAGG;IACH,OAAO,CAAC,SAAS;IAqCjB;;OAEG;YACW,mBAAmB;IAajC;;OAEG;YACW,gBAAgB;IA0B9B;;OAEG;IACH,OAAO,CAAC,WAAW;IA4BnB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAgB1B;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAYrB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA6EzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAazB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAgB7B;;OAEG;IACH,OAAO,CAAC,YAAY;IAOpB;;OAEG;YACW,sBAAsB;CA+BrC"}
|
package/dist/core/lisa.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/* eslint-disable max-lines -- Main orchestrator class with apply/uninstall/validate operations */
|
|
2
2
|
import * as fse from "fs-extra";
|
|
3
|
-
import { readdir, rmdir, stat } from "node:fs/promises";
|
|
3
|
+
import { readdir, readFile, rmdir, stat } from "node:fs/promises";
|
|
4
4
|
import * as path from "node:path";
|
|
5
5
|
import pc from "picocolors";
|
|
6
6
|
import { DestinationNotDirectoryError, DestinationNotFoundError, UserAbortedError, } from "../errors/index.js";
|
|
7
7
|
import { listFilesRecursive } from "../utils/file-operations.js";
|
|
8
|
+
import { loadIgnorePatterns, } from "../utils/ignore-patterns.js";
|
|
8
9
|
import { COPY_STRATEGIES, createInitialCounters } from "./config.js";
|
|
9
10
|
/**
|
|
10
11
|
* Main Lisa orchestrator
|
|
@@ -14,17 +15,12 @@ export class Lisa {
|
|
|
14
15
|
deps;
|
|
15
16
|
counters = createInitialCounters();
|
|
16
17
|
detectedTypes = [];
|
|
18
|
+
ignorePatterns = {
|
|
19
|
+
patterns: [],
|
|
20
|
+
shouldIgnore: () => false,
|
|
21
|
+
};
|
|
17
22
|
separator = "========================================";
|
|
18
|
-
|
|
19
|
-
dryRunSkipMsg = "Would skip:";
|
|
20
|
-
dryRunPromptMsg = "Would prompt:";
|
|
21
|
-
dryRunAppendMsg = "Would append:";
|
|
22
|
-
dryRunMergeMsg = "Would merge:";
|
|
23
|
-
copyMsg = "Copied:";
|
|
24
|
-
skipMsg = "Skipped:";
|
|
25
|
-
promptMsg = "Overwritten:";
|
|
26
|
-
appendMsg = "Appended:";
|
|
27
|
-
mergeMsg = "Merged:";
|
|
23
|
+
lisaignoreSuffix = "(.lisaignore)";
|
|
28
24
|
/**
|
|
29
25
|
* Initialize Lisa orchestrator
|
|
30
26
|
* @param config - Configuration for the apply/uninstall operation
|
|
@@ -60,6 +56,11 @@ export class Lisa {
|
|
|
60
56
|
*/
|
|
61
57
|
async processConfigurations() {
|
|
62
58
|
const { logger } = this.deps;
|
|
59
|
+
// Load ignore patterns from destination project
|
|
60
|
+
this.ignorePatterns = await loadIgnorePatterns(this.config.destDir);
|
|
61
|
+
if (this.ignorePatterns.patterns.length > 0) {
|
|
62
|
+
logger.info(`Loaded .lisaignore with ${this.ignorePatterns.patterns.length} pattern(s)`);
|
|
63
|
+
}
|
|
63
64
|
logger.info("Processing common configurations (all/)...");
|
|
64
65
|
await this.processProjectType("all");
|
|
65
66
|
for (const type of this.detectedTypes) {
|
|
@@ -95,7 +96,7 @@ export class Lisa {
|
|
|
95
96
|
async processDeletionsFile(deletionsPath) {
|
|
96
97
|
const { logger } = this.deps;
|
|
97
98
|
try {
|
|
98
|
-
const content = await
|
|
99
|
+
const content = await readFile(deletionsPath, "utf-8");
|
|
99
100
|
const deletions = JSON.parse(content);
|
|
100
101
|
if (!Array.isArray(deletions.paths)) {
|
|
101
102
|
logger.warn(`Invalid deletions.json format: paths must be an array`);
|
|
@@ -357,7 +358,23 @@ export class Lisa {
|
|
|
357
358
|
* @param strategy.apply Apply function
|
|
358
359
|
*/
|
|
359
360
|
async processDirectory(srcDir, strategy) {
|
|
360
|
-
const
|
|
361
|
+
const { logger } = this.deps;
|
|
362
|
+
const allFiles = await listFilesRecursive(srcDir);
|
|
363
|
+
// Filter out ignored files
|
|
364
|
+
const files = allFiles.filter(srcFile => {
|
|
365
|
+
const relativePath = path.relative(srcDir, srcFile);
|
|
366
|
+
if (this.ignorePatterns.shouldIgnore(relativePath)) {
|
|
367
|
+
this.counters.ignored++;
|
|
368
|
+
if (this.config.dryRun) {
|
|
369
|
+
logger.dry(`Would skip (ignored): ${relativePath}`);
|
|
370
|
+
}
|
|
371
|
+
else {
|
|
372
|
+
logger.info(`Ignored: ${relativePath}`);
|
|
373
|
+
}
|
|
374
|
+
return false;
|
|
375
|
+
}
|
|
376
|
+
return true;
|
|
377
|
+
});
|
|
361
378
|
const context = {
|
|
362
379
|
config: this.config,
|
|
363
380
|
recordFile: (relativePath, strat) => {
|
|
@@ -558,34 +575,54 @@ export class Lisa {
|
|
|
558
575
|
console.log(pc.green(this.separator));
|
|
559
576
|
console.log("");
|
|
560
577
|
}
|
|
578
|
+
/**
|
|
579
|
+
* Print a single stat line with color
|
|
580
|
+
* @param label - Stat label
|
|
581
|
+
* @param value - Stat value
|
|
582
|
+
* @param color - Color function from picocolors
|
|
583
|
+
* @param suffix - Optional suffix after the count
|
|
584
|
+
*/
|
|
585
|
+
printStatLine(label, value, color, suffix = "") {
|
|
586
|
+
const suffixText = suffix ? ` ${suffix}` : "";
|
|
587
|
+
console.log(` ${color(label)} ${String(value).padStart(3)} files${suffixText}`);
|
|
588
|
+
}
|
|
561
589
|
/**
|
|
562
590
|
* Print summary statistics
|
|
563
591
|
*/
|
|
564
592
|
printSummaryStats() {
|
|
565
|
-
const { copied, skipped, overwritten, appended, merged, deleted } = this.counters;
|
|
593
|
+
const { copied, skipped, overwritten, appended, merged, deleted, ignored } = this.counters;
|
|
566
594
|
if (this.config.validateOnly) {
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
595
|
+
this.printStatLine("Compatible files: ", copied, pc.green);
|
|
596
|
+
this.printStatLine("Already present: ", skipped, pc.blue);
|
|
597
|
+
this.printStatLine("Would conflict: ", overwritten, pc.yellow);
|
|
598
|
+
this.printStatLine("Would append: ", appended, pc.blue);
|
|
599
|
+
this.printStatLine("Would merge: ", merged, pc.green);
|
|
600
|
+
this.printStatLine("Would delete: ", deleted, pc.red);
|
|
601
|
+
if (ignored > 0) {
|
|
602
|
+
this.printStatLine("Ignored: ", ignored, pc.magenta, this.lisaignoreSuffix);
|
|
603
|
+
}
|
|
573
604
|
}
|
|
574
605
|
else if (this.config.dryRun) {
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
606
|
+
this.printStatLine("Would copy: ", copied, pc.green);
|
|
607
|
+
this.printStatLine("Would skip: ", skipped, pc.blue, "(identical or create-only)");
|
|
608
|
+
this.printStatLine("Would prompt: ", overwritten, pc.yellow, "(differ)");
|
|
609
|
+
this.printStatLine("Would append: ", appended, pc.blue, "(copy-contents)");
|
|
610
|
+
this.printStatLine("Would merge: ", merged, pc.green, "(JSON)");
|
|
611
|
+
this.printStatLine("Would delete: ", deleted, pc.red);
|
|
612
|
+
if (ignored > 0) {
|
|
613
|
+
this.printStatLine("Would ignore: ", ignored, pc.magenta, this.lisaignoreSuffix);
|
|
614
|
+
}
|
|
581
615
|
}
|
|
582
616
|
else {
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
617
|
+
this.printStatLine("Copied: ", copied, pc.green);
|
|
618
|
+
this.printStatLine("Skipped: ", skipped, pc.blue, "(identical or create-only)");
|
|
619
|
+
this.printStatLine("Overwritten:", overwritten, pc.yellow, "(user approved)");
|
|
620
|
+
this.printStatLine("Appended: ", appended, pc.blue, "(copy-contents)");
|
|
621
|
+
this.printStatLine("Merged: ", merged, pc.green, "(JSON merged)");
|
|
622
|
+
this.printStatLine("Deleted: ", deleted, pc.red);
|
|
623
|
+
if (ignored > 0) {
|
|
624
|
+
this.printStatLine("Ignored: ", ignored, pc.magenta, this.lisaignoreSuffix);
|
|
625
|
+
}
|
|
589
626
|
}
|
|
590
627
|
}
|
|
591
628
|
/**
|
package/dist/core/lisa.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lisa.js","sourceRoot":"","sources":["../../src/core/lisa.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lisa.js","sourceRoot":"","sources":["../../src/core/lisa.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Name of the ignore file that projects can use to skip Lisa files
|
|
3
|
+
*/
|
|
4
|
+
export declare const LISAIGNORE_FILENAME = ".lisaignore";
|
|
5
|
+
/**
|
|
6
|
+
* Parsed ignore patterns from a .lisaignore file
|
|
7
|
+
*/
|
|
8
|
+
export interface IgnorePatterns {
|
|
9
|
+
/** Raw patterns from the file */
|
|
10
|
+
readonly patterns: readonly string[];
|
|
11
|
+
/** Check if a relative path should be ignored */
|
|
12
|
+
readonly shouldIgnore: (relativePath: string) => boolean;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Load and parse .lisaignore file from a project directory
|
|
16
|
+
* @param projectDir - Path to the project directory
|
|
17
|
+
* @returns Parsed ignore patterns, or empty patterns if file doesn't exist
|
|
18
|
+
*/
|
|
19
|
+
export declare function loadIgnorePatterns(projectDir: string): Promise<IgnorePatterns>;
|
|
20
|
+
//# sourceMappingURL=ignore-patterns.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ignore-patterns.d.ts","sourceRoot":"","sources":["../../src/utils/ignore-patterns.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,eAAO,MAAM,mBAAmB,gBAAgB,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,iCAAiC;IACjC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,iDAAiD;IACjD,QAAQ,CAAC,YAAY,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;CAC1D;AAsED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,CAAC,CAkBzB"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { readFile } from "node:fs/promises";
|
|
2
|
+
import * as path from "node:path";
|
|
3
|
+
import { minimatch } from "minimatch";
|
|
4
|
+
import { pathExists } from "./file-operations.js";
|
|
5
|
+
/**
|
|
6
|
+
* Name of the ignore file that projects can use to skip Lisa files
|
|
7
|
+
*/
|
|
8
|
+
export const LISAIGNORE_FILENAME = ".lisaignore";
|
|
9
|
+
/**
|
|
10
|
+
* Parse a .lisaignore file content into patterns
|
|
11
|
+
* Supports gitignore-style syntax:
|
|
12
|
+
* - Lines starting with # are comments
|
|
13
|
+
* - Empty lines are ignored
|
|
14
|
+
* - Patterns are matched against relative paths
|
|
15
|
+
* - Directory patterns end with /
|
|
16
|
+
* @param content - Raw content of the .lisaignore file
|
|
17
|
+
* @returns Array of parsed patterns
|
|
18
|
+
*/
|
|
19
|
+
function parseIgnorePatterns(content) {
|
|
20
|
+
return content
|
|
21
|
+
.split("\n")
|
|
22
|
+
.map(line => line.trim())
|
|
23
|
+
.filter(line => line.length > 0 && !line.startsWith("#"));
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Check if a relative path matches any of the ignore patterns
|
|
27
|
+
* @param relativePath - Path relative to project root
|
|
28
|
+
* @param patterns - Array of gitignore-style patterns
|
|
29
|
+
* @returns True if the path should be ignored
|
|
30
|
+
*/
|
|
31
|
+
function matchesAnyPattern(relativePath, patterns) {
|
|
32
|
+
// Normalize path separators
|
|
33
|
+
const normalizedPath = relativePath.replace(/\\/g, "/");
|
|
34
|
+
return patterns.some(pattern => {
|
|
35
|
+
// Handle directory patterns (ending with /)
|
|
36
|
+
if (pattern.endsWith("/")) {
|
|
37
|
+
const dirPattern = pattern.slice(0, -1);
|
|
38
|
+
return (normalizedPath.startsWith(`${dirPattern}/`) ||
|
|
39
|
+
normalizedPath === dirPattern);
|
|
40
|
+
}
|
|
41
|
+
// Handle exact match
|
|
42
|
+
if (normalizedPath === pattern) {
|
|
43
|
+
return true;
|
|
44
|
+
}
|
|
45
|
+
// Handle glob patterns
|
|
46
|
+
if (minimatch(normalizedPath, pattern, { dot: true })) {
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
// Handle patterns that should match anywhere in path
|
|
50
|
+
if (!pattern.includes("/")) {
|
|
51
|
+
// Pattern without slashes matches any path segment
|
|
52
|
+
const segments = normalizedPath.split("/");
|
|
53
|
+
return segments.some(segment => minimatch(segment, pattern, { dot: true }));
|
|
54
|
+
}
|
|
55
|
+
// Handle patterns starting with **/ (match anywhere)
|
|
56
|
+
if (pattern.startsWith("**/")) {
|
|
57
|
+
return minimatch(normalizedPath, pattern, { dot: true });
|
|
58
|
+
}
|
|
59
|
+
return false;
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Load and parse .lisaignore file from a project directory
|
|
64
|
+
* @param projectDir - Path to the project directory
|
|
65
|
+
* @returns Parsed ignore patterns, or empty patterns if file doesn't exist
|
|
66
|
+
*/
|
|
67
|
+
export async function loadIgnorePatterns(projectDir) {
|
|
68
|
+
const ignorePath = path.join(projectDir, LISAIGNORE_FILENAME);
|
|
69
|
+
if (!(await pathExists(ignorePath))) {
|
|
70
|
+
return {
|
|
71
|
+
patterns: [],
|
|
72
|
+
shouldIgnore: () => false,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
const content = await readFile(ignorePath, "utf-8");
|
|
76
|
+
const patterns = parseIgnorePatterns(content);
|
|
77
|
+
return {
|
|
78
|
+
patterns,
|
|
79
|
+
shouldIgnore: (relativePath) => matchesAnyPattern(relativePath, patterns),
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=ignore-patterns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ignore-patterns.js","sourceRoot":"","sources":["../../src/utils/ignore-patterns.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -24,41 +24,42 @@
|
|
|
24
24
|
"lint:slow": "eslint . --config eslint.slow.config.ts --quiet",
|
|
25
25
|
"knip": "knip",
|
|
26
26
|
"knip:fix": "knip --fix",
|
|
27
|
-
"sg:scan": "ast-grep scan"
|
|
27
|
+
"sg:scan": "ast-grep scan",
|
|
28
|
+
"lisa:update": "npx @codyswann/lisa ."
|
|
28
29
|
},
|
|
29
30
|
"devDependencies": {
|
|
31
|
+
"@ast-grep/cli": "^0.40.4",
|
|
30
32
|
"@commitlint/cli": "^20.3.1",
|
|
31
33
|
"@commitlint/config-conventional": "^20.3.1",
|
|
32
34
|
"@eslint-community/eslint-plugin-eslint-comments": "^4.5.0",
|
|
33
35
|
"@eslint/eslintrc": "^3.2.0",
|
|
34
36
|
"@eslint/js": "^9.39.0",
|
|
37
|
+
"@types/fs-extra": "^11.0.0",
|
|
38
|
+
"@types/lodash.merge": "^4.6.0",
|
|
39
|
+
"@types/node": "^22.0.0",
|
|
40
|
+
"@vitest/coverage-v8": "^3.0.0",
|
|
35
41
|
"commitizen": "^4.3.0",
|
|
36
42
|
"cz-conventional-changelog": "^3.3.0",
|
|
37
43
|
"eslint": "^9.39.0",
|
|
38
44
|
"eslint-config-prettier": "^10.0.0",
|
|
45
|
+
"eslint-import-resolver-typescript": "^4.4.4",
|
|
39
46
|
"eslint-plugin-code-organization": "file:./eslint-plugin-code-organization",
|
|
40
47
|
"eslint-plugin-functional": "^9.0.0",
|
|
48
|
+
"eslint-plugin-import": "^2.32.0",
|
|
41
49
|
"eslint-plugin-jsdoc": "^61.5.0",
|
|
42
50
|
"eslint-plugin-prettier": "^5.5.0",
|
|
43
51
|
"eslint-plugin-sonarjs": "^3.0.0",
|
|
44
52
|
"husky": "^8.0.0",
|
|
53
|
+
"jiti": "^2.4.0",
|
|
45
54
|
"jscodeshift": "0.15.2",
|
|
55
|
+
"knip": "^5.82.0",
|
|
46
56
|
"lint-staged": "^16.2.7",
|
|
47
57
|
"prettier": "^3.3.3",
|
|
48
58
|
"standard-version": "^9.5.0",
|
|
59
|
+
"tsx": "^4.0.0",
|
|
49
60
|
"typescript": "~5.7.0",
|
|
50
61
|
"typescript-eslint": "^8.0.0",
|
|
51
|
-
"
|
|
52
|
-
"@types/lodash.merge": "^4.6.0",
|
|
53
|
-
"@types/node": "^22.0.0",
|
|
54
|
-
"@vitest/coverage-v8": "^3.0.0",
|
|
55
|
-
"tsx": "^4.0.0",
|
|
56
|
-
"vitest": "^3.0.0",
|
|
57
|
-
"eslint-import-resolver-typescript": "^4.4.4",
|
|
58
|
-
"eslint-plugin-import": "^2.32.0",
|
|
59
|
-
"jiti": "^2.4.0",
|
|
60
|
-
"knip": "^5.82.0",
|
|
61
|
-
"@ast-grep/cli": "^0.40.4"
|
|
62
|
+
"vitest": "^3.0.0"
|
|
62
63
|
},
|
|
63
64
|
"engines": {
|
|
64
65
|
"npm": "please-use-bun",
|
|
@@ -78,7 +79,7 @@
|
|
|
78
79
|
"@ast-grep/cli"
|
|
79
80
|
],
|
|
80
81
|
"name": "@codyswann/lisa",
|
|
81
|
-
"version": "1.0
|
|
82
|
+
"version": "1.2.0",
|
|
82
83
|
"description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
|
|
83
84
|
"main": "dist/index.js",
|
|
84
85
|
"bin": {
|
|
@@ -106,6 +107,7 @@
|
|
|
106
107
|
"commander": "^12.0.0",
|
|
107
108
|
"fs-extra": "^11.0.0",
|
|
108
109
|
"lodash.merge": "^4.6.2",
|
|
110
|
+
"minimatch": "^10.1.1",
|
|
109
111
|
"picocolors": "^1.0.0"
|
|
110
112
|
},
|
|
111
113
|
"files": [
|
|
@@ -213,18 +213,9 @@ jobs:
|
|
|
213
213
|
SKIP_REASON="PR merge from environment branch detected"
|
|
214
214
|
fi
|
|
215
215
|
|
|
216
|
-
# Pattern 3
|
|
217
|
-
#
|
|
218
|
-
|
|
219
|
-
if [ "$PARENT_COUNT" -gt 2 ]; then
|
|
220
|
-
# This is a merge commit, check if parent branches are environment branches
|
|
221
|
-
PARENT_BRANCHES=$(git log -1 --pretty=%P | xargs -n1 git branch -a --contains 2>/dev/null | grep -E "($ENV_BRANCHES)" | head -2)
|
|
222
|
-
PARENT_ENV_COUNT=$(echo "$PARENT_BRANCHES" | grep -cE "($ENV_BRANCHES)" || true)
|
|
223
|
-
if [ "$PARENT_ENV_COUNT" -ge 2 ]; then
|
|
224
|
-
IS_PROMOTION=true
|
|
225
|
-
SKIP_REASON="Merge between environment branches detected"
|
|
226
|
-
fi
|
|
227
|
-
fi
|
|
216
|
+
# Note: Pattern 3 (checking parent branches) was removed because it caused false positives.
|
|
217
|
+
# After merging a feature branch into main, `git branch -a --contains` shows main for BOTH
|
|
218
|
+
# parents since main now contains both commits. Patterns 1 and 2 are sufficient.
|
|
228
219
|
|
|
229
220
|
echo "is_promotion=$IS_PROMOTION" >> $GITHUB_OUTPUT
|
|
230
221
|
echo "skip_reason=$SKIP_REASON" >> $GITHUB_OUTPUT
|
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
"update-node-version": "tsx scripts/update-node-version.ts",
|
|
17
17
|
"knip": "knip",
|
|
18
18
|
"knip:fix": "knip --fix",
|
|
19
|
-
"sg:scan": "ast-grep scan"
|
|
19
|
+
"sg:scan": "ast-grep scan",
|
|
20
|
+
"lisa:update": "npx @codyswann/lisa ."
|
|
20
21
|
},
|
|
21
22
|
"devDependencies": {
|
|
22
23
|
"@commitlint/cli": "^20.3.1",
|