@tonycasey/lisa 2.1.0 → 2.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/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tonycasey/lisa",
3
- "version": "2.1.0",
3
+ "version": "2.2.0",
4
4
  "description": "Long-term memory for AI coding assistants. Automatic context persistence, task tracking, and knowledge capture across coding sessions. Supports Claude Code and OpenCode.",
5
5
  "bin": {
6
6
  "remember": "cli.js",
@@ -53,7 +53,7 @@
53
53
  "commander": "^11.1.0",
54
54
  "execa": "^8.0.1",
55
55
  "fs-extra": "^11.2.0",
56
- "glob": "^10.3.10",
56
+ "glob": "11.1.0",
57
57
  "neo4j-driver": "^6.0.1"
58
58
  }
59
59
  }
@@ -19,7 +19,6 @@ try {
19
19
  }
20
20
 
21
21
  const PROJECT_ROOT = process.cwd();
22
- const PROMPT_SKILL_PATH = path.join(PROJECT_ROOT, '.lisa/skills/prompt/scripts/prompt.js');
23
22
  const DEV_DIR = path.join(PROJECT_ROOT, '.dev');
24
23
 
25
24
  const MCP_ENDPOINT = env.GRAPHITI_ENDPOINT || process.env.GRAPHITI_ENDPOINT || 'http://localhost:8010/mcp/';
@@ -32,7 +31,6 @@ const isZepCloudMode = () => STORAGE_MODE === 'zep-cloud';
32
31
 
33
32
  module.exports = {
34
33
  PROJECT_ROOT,
35
- PROMPT_SKILL_PATH,
36
34
  DEV_DIR,
37
35
  MCP_ENDPOINT,
38
36
  DEFAULT_GROUP_ID,
@@ -1,3 +1,5 @@
1
+ <!-- markdownlint-disable -->
2
+ <!-- noinspection ALL -->
1
3
  # Code Quality Rules & Error Prevention Guide
2
4
 
3
5
  This document outlines the rules and configurations that prevent common errors from creeping into the codebase during development.
@@ -10,14 +10,14 @@
10
10
 
11
11
  After a commit succeeds, run:
12
12
  ```bash
13
- node .lisa/skills/memory/scripts/memory.js add "<summary>" --cache --type milestone
13
+ lisa memory add "<summary>" --cache --type milestone
14
14
  ```
15
15
 
16
16
  ### Step 2: Update Task Status (for tickets)
17
17
 
18
18
  If the commit completes ticket (JIRA-1234), also run:
19
19
  ```bash
20
- node .lisa/skills/tasks/scripts/tasks.js add "JIRA-1234: COMPLETED - <description>" --cache --status done
20
+ lisa tasks add "JIRA-1234: COMPLETED - <description>" --cache --status done
21
21
  ```
22
22
 
23
23
  ### Summary Format
@@ -32,20 +32,20 @@ The summary should be concise and describe:
32
32
  **Feature commit (with Jira ticket):**
33
33
  ```bash
34
34
  # Step 1: Save milestone
35
- node .lisa/skills/memory/scripts/memory.js add "FEATURE: [JIRA-1234] Added Excel brandlist parser with unit tests" --cache --type milestone
35
+ lisa memory add "FEATURE: [JIRA-1234] Added Excel brandlist parser with unit tests" --cache --type milestone
36
36
 
37
37
  # Step 2: Update task status
38
- node .lisa/skills/tasks/scripts/tasks.js add "JIRA-1234: COMPLETED - Excel brandlist parser utility created, PR #XXXX" --cache --status done
38
+ lisa tasks add "JIRA-1234: COMPLETED - Excel brandlist parser utility created, PR #XXXX" --cache --status done
39
39
  ```
40
40
 
41
41
  **Bug fix:**
42
42
  ```bash
43
- node .lisa/skills/memory/scripts/memory.js add "FIX: Resolved race condition in database connection pooling" --cache --type milestone
43
+ lisa memory add "FIX: Resolved race condition in database connection pooling" --cache --type milestone
44
44
  ```
45
45
 
46
46
  **Refactor:**
47
47
  ```bash
48
- node .lisa/skills/memory/scripts/memory.js add "REFACTOR: Migrated API handlers to use clean architecture pattern" --cache --type milestone
48
+ lisa memory add "REFACTOR: Migrated API handlers to use clean architecture pattern" --cache --type milestone
49
49
  ```
50
50
 
51
51
  ### Why This Matters
@@ -105,16 +105,16 @@ When user asks for a retrospective, follow these steps:
105
105
  - Suggests related queries when appropriate
106
106
 
107
107
  ## Output Formatting
108
- - Always prefix Lisa's responses with `👧 lisa >> ` (emoji, space, "lisa >>", space)
108
+ - Always prefix Lisa's responses with `👧 lisa-> ` (emoji, space, "lisa >>", space)
109
109
  - Use this prefix at the start of section headers when presenting data:
110
- - `👧 lisa >> Recent Memories:` for memory listings
111
- - `👧 lisa >> Tasks:` for task listings
112
- - `👧 lisa >> ` for conversational responses
110
+ - `👧 lisa-> Recent Memories:` for memory listings
111
+ - `👧 lisa-> Tasks:` for task listings
112
+ - `👧 lisa-> ` for conversational responses
113
113
  - For memory and task queries, include the storage mode at the end in parentheses:
114
- - Example: `👧 lisa >> Tasks: (neo4j)` or `👧 lisa >> Recent Memories: (zep-cloud)`
114
+ - Example: `👧 lisa-> Tasks: (neo4j)` or `👧 lisa-> Recent Memories: (zep-cloud)`
115
115
  - Example format:
116
116
  ```
117
- 👧 lisa >> Recent Memories: (neo4j)
117
+ 👧 lisa-> Recent Memories: (neo4j)
118
118
  1. **Memory title** (date)
119
119
  - Details here
120
120
  ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tonycasey/lisa",
3
- "version": "2.1.0",
3
+ "version": "2.2.0",
4
4
  "description": "Long-term memory for AI coding assistants. Automatic context persistence, task tracking, and knowledge capture across coding sessions. Supports Claude Code and OpenCode.",
5
5
  "bin": {
6
6
  "lisa": "dist/lib/cli.js",
@@ -35,7 +35,7 @@
35
35
  "scripts": {
36
36
  "build": "tsc -p tsconfig.json",
37
37
  "build:local": "DEPLOY_AGENTS_LOCAL=1 npm run build",
38
- "postbuild": "node scripts/postbuild-copy-templates.js && node scripts/prepare-dist-package.js && node scripts/bundle-hooks.js && node scripts/deploy-agents.js",
38
+ "postbuild": "node scripts/postbuild-copy-templates.js && node scripts/prepare-dist-package.js && node scripts/bundle-hooks.js && node scripts/deploy-lisa.js",
39
39
  "postinstall": "node scripts/postinstall.js",
40
40
  "clean": "rimraf dist",
41
41
  "package": "rm -f *.tgz releases/*.tgz dist/packages/*.tgz && npm run build && mkdir -p releases dist/packages && npm pack && mv *.tgz releases/ && cp releases/*.tgz dist/packages/",
@@ -81,7 +81,7 @@
81
81
  "commander": "^11.1.0",
82
82
  "execa": "^8.0.1",
83
83
  "fs-extra": "^11.2.0",
84
- "glob": "^10.3.10",
84
+ "glob": "11.1.0",
85
85
  "neo4j-driver": "^6.0.1"
86
86
  },
87
87
  "devDependencies": {
@@ -30,6 +30,9 @@ const projectRoot = isInstalledAsDependency
30
30
  const distRoot = path.resolve(__dirname, '..', 'dist');
31
31
  const projectRoot_dist = path.join(distRoot, 'project');
32
32
 
33
+ // Bundled hooks location (hooks are bundled separately from templates)
34
+ const bundledHooksDir = path.join(distRoot, 'hooks');
35
+
33
36
  // Legacy fallback for older builds
34
37
  const templateRoot = path.resolve(__dirname, '..', 'dist', 'templates');
35
38
 
@@ -861,8 +864,13 @@ async function main() {
861
864
  if (await fs.pathExists(claudeSrc)) {
862
865
  await copyTemplates(path.join(claudeSrc, 'settings.json'), path.join(claudeDir, 'settings.json'));
863
866
  await copyTemplates(path.join(claudeSrc, 'config.js'), path.join(claudeDir, 'config.js'));
864
- await copyTemplates(path.join(claudeSrc, 'hooks'), path.join(claudeDir, 'hooks'));
865
- console.log(' ✓ Copied .claude/ hooks and settings');
867
+ console.log(' Copied .claude/ settings');
868
+ }
869
+
870
+ // Copy bundled hooks (hooks are bundled separately and don't include utils folder)
871
+ if (await fs.pathExists(bundledHooksDir)) {
872
+ await copyTemplates(bundledHooksDir, path.join(claudeDir, 'hooks'));
873
+ console.log(' ✓ Copied .claude/hooks/ (bundled)');
866
874
  }
867
875
 
868
876
  // Copy .opencode (plugin)