@codyswann/lisa 2.217.8 → 2.219.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.
Files changed (106) hide show
  1. package/all/create-only/.claude/rules/PROJECT_LEARNINGS.md +7 -0
  2. package/dist/core/learnings-contract.d.ts +38 -0
  3. package/dist/core/learnings-contract.d.ts.map +1 -0
  4. package/dist/core/learnings-contract.js +36 -0
  5. package/dist/core/learnings-contract.js.map +1 -0
  6. package/dist/core/learnings-entry.d.ts +9 -0
  7. package/dist/core/learnings-entry.d.ts.map +1 -0
  8. package/dist/core/learnings-entry.js +233 -0
  9. package/dist/core/learnings-entry.js.map +1 -0
  10. package/dist/core/learnings-file-safety.d.ts +23 -0
  11. package/dist/core/learnings-file-safety.d.ts.map +1 -0
  12. package/dist/core/learnings-file-safety.js +84 -0
  13. package/dist/core/learnings-file-safety.js.map +1 -0
  14. package/dist/core/learnings-lock.d.ts +8 -0
  15. package/dist/core/learnings-lock.d.ts.map +1 -0
  16. package/dist/core/learnings-lock.js +227 -0
  17. package/dist/core/learnings-lock.js.map +1 -0
  18. package/dist/core/learnings-writer.d.ts +22 -0
  19. package/dist/core/learnings-writer.d.ts.map +1 -0
  20. package/dist/core/learnings-writer.js +128 -0
  21. package/dist/core/learnings-writer.js.map +1 -0
  22. package/dist/core/learnings.d.ts +4 -0
  23. package/dist/core/learnings.d.ts.map +1 -0
  24. package/dist/core/learnings.js +4 -0
  25. package/dist/core/learnings.js.map +1 -0
  26. package/dist/core/lisa.d.ts +26 -0
  27. package/dist/core/lisa.d.ts.map +1 -1
  28. package/dist/core/lisa.js +82 -8
  29. package/dist/core/lisa.js.map +1 -1
  30. package/dist/core/project-config.d.ts +19 -0
  31. package/dist/core/project-config.d.ts.map +1 -1
  32. package/dist/core/project-config.js +87 -14
  33. package/dist/core/project-config.js.map +1 -1
  34. package/dist/strategies/create-only.d.ts +10 -0
  35. package/dist/strategies/create-only.d.ts.map +1 -1
  36. package/dist/strategies/create-only.js +27 -7
  37. package/dist/strategies/create-only.js.map +1 -1
  38. package/dist/sync/registry.d.ts +0 -12
  39. package/dist/sync/registry.d.ts.map +1 -1
  40. package/dist/sync/registry.js +18 -0
  41. package/dist/sync/registry.js.map +1 -1
  42. package/package.json +2 -1
  43. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  44. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  45. package/plugins/lisa/.codex-plugin/skills/lisa-debrief-apply/SKILL.md +3 -3
  46. package/plugins/lisa/rules/eager/config-resolution.md +9 -0
  47. package/plugins/lisa/rules/reference/config-resolution.md +2 -0
  48. package/plugins/lisa/skills/lisa-debrief-apply/SKILL.md +3 -3
  49. package/plugins/lisa-agy/plugin.json +1 -1
  50. package/plugins/lisa-agy/skills/lisa-debrief-apply/SKILL.md +3 -3
  51. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  52. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  53. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  54. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  55. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  56. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  57. package/plugins/lisa-copilot/rules/eager/config-resolution.md +9 -0
  58. package/plugins/lisa-copilot/rules/reference/config-resolution.md +2 -0
  59. package/plugins/lisa-copilot/skills/lisa-debrief-apply/SKILL.md +3 -3
  60. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  61. package/plugins/lisa-cursor/rules/config-resolution-reference.mdc +2 -0
  62. package/plugins/lisa-cursor/rules/config-resolution.mdc +9 -0
  63. package/plugins/lisa-cursor/skills/lisa-debrief-apply/SKILL.md +3 -3
  64. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  65. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  66. package/plugins/lisa-expo-agy/plugin.json +1 -1
  67. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  68. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  69. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  70. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  71. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  72. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  73. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  74. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  75. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  76. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  77. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  78. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  79. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  80. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  81. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  82. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  83. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  84. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  85. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  86. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  87. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  88. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  89. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  90. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  91. package/plugins/lisa-rails-agy/plugin.json +1 -1
  92. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  93. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  94. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  95. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  96. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  97. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  98. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  99. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  100. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  101. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  102. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  103. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  104. package/plugins/src/base/rules/eager/config-resolution.md +9 -0
  105. package/plugins/src/base/rules/reference/config-resolution.md +2 -0
  106. package/plugins/src/base/skills/lisa-debrief-apply/SKILL.md +3 -3
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "2.217.8",
3
+ "version": "2.219.0",
4
4
  "description": "TypeScript-specific hooks — Prettier formatting, ESLint linting, ast-grep scanning, and error-suppression blocking on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "2.217.8",
3
+ "version": "2.219.0",
4
4
  "description": "TypeScript-specific hooks — Prettier formatting, ESLint linting, ast-grep scanning, and error-suppression blocking on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "2.217.8",
3
+ "version": "2.219.0",
4
4
  "description": "LLM Wiki — a distributable, git-native markdown knowledge base for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "2.217.8",
3
+ "version": "2.219.0",
4
4
  "description": "Distributable LLM Wiki kernel — ingest, query, lint, and maintain a git-native markdown knowledge base across Claude and Codex.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "2.217.8",
3
+ "version": "2.219.0",
4
4
  "description": "LLM Wiki — a distributable, git-native markdown knowledge base for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "2.217.8",
3
+ "version": "2.219.0",
4
4
  "description": "LLM Wiki — a distributable, git-native markdown knowledge base for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "2.217.8",
3
+ "version": "2.219.0",
4
4
  "description": "LLM Wiki — a distributable, git-native markdown knowledge base for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -25,6 +25,15 @@ Project tracker (`jira` / `github` / `linear`) is read from `.lisa.config.json`
25
25
 
26
26
  `repo:<name>` is the canonical label for which repo a work item belongs to. Resolve current-repo identity in this priority order: `.lisa.config.local.json` `repo` → `.lisa.config.json` `repo` → `.lisa.config.json` `github.repo` → `basename -s .git "$(git remote get-url origin)"`. If none resolve, stop with a clear error.
27
27
 
28
+ ## Project rules and learnings
29
+
30
+ Resolve hand-authored project rules from `.lisa.config.json`
31
+ `projectRulesFile`, defaulting to `.claude/rules/PROJECT_RULES.md`. Automated
32
+ learnings never append to that file: they use the separate
33
+ `PROJECT_LEARNINGS.md` sibling derived from the configured rules directory.
34
+ Both writers and budget checks import the executable contract from
35
+ `@codyswann/lisa/learnings`; they must not copy its numeric limits.
36
+
28
37
  ## Env → base branch
29
38
 
30
39
  For implementation work, map the work item's `## Target Backend Environment` to
@@ -33,6 +33,7 @@ fi
33
33
  {
34
34
  "tracker": "jira",
35
35
  "source": "notion",
36
+ "projectRulesFile": ".claude/rules/PROJECT_RULES.md",
36
37
 
37
38
  "atlassian": { "cloudId": "<uuid>", "site": "<host>" },
38
39
  "jira": {
@@ -178,6 +179,7 @@ fi
178
179
  |-------|----------|---------|-------|
179
180
  | `tracker` | **yes** | — | Destination for ticket writes. One of `"jira"`, `"github"`, `"linear"`. Missing → fail with instruction to run the matching `/lisa:setup:*` skill. |
180
181
  | `source` | no | — | Default PRD source for batch skills (`/lisa:intake`) and arg-less single-PRD skills. One of `"notion"`, `"confluence"`, `"linear"`, `"github"`, `"jira"`. Explicit URLs/keys passed to a skill always win over `source`; this is a default, not a lock. |
182
+ | `projectRulesFile` | no | `.claude/rules/PROJECT_RULES.md` | Safe repo-relative Markdown path for hand-authored project rules. The bounded learning writer derives a separate `PROJECT_LEARNINGS.md` sibling in the same directory; there is intentionally no second path setting. |
181
183
  | `usage` | no | — | Optional token/cost pricing metadata consumed by the `usage-accounting` rule. Missing pricing never blocks a lifecycle flow; Lisa records token counts with `estimated_cost: null` when no trustworthy price source is configured. |
182
184
  | `wiki` | no | — | Wiki location for the `wiki-knowledge-source` rule. Omit for a local in-repo wiki (`wiki/`). See **Wiki source** below. |
183
185
 
@@ -18,7 +18,7 @@ A path or URL to a Debrief triage document produced by `lisa-debrief`. The docum
18
18
 
19
19
  1. **Verify the doc exists and parses.** If the file cannot be read or the expected sections are missing, stop and report — do not guess.
20
20
  2. **Confirm dispositions exist.** If every row is unmarked, stop and ask the human to triage first. A pristine doc is a no-op, not an error to silently swallow.
21
- 3. **Identify the destination map.** Read the project's `.lisa.config.json` (or stack defaults) for: edge-case checklist file (default: `plugins/src/base/rules/intent-routing.md`'s Edge Case Brainstorm sub-flow), project-rules file (default: `.claude/rules/PROJECT_RULES.md`), memory directory (per the auto-memory system path), tracker for new tickets.
21
+ 3. **Identify the destination map.** Read the project's `.lisa.config.json` (or stack defaults) for: edge-case checklist file (default: `plugins/src/base/rules/intent-routing.md`'s Edge Case Brainstorm sub-flow), `projectRulesFile` (default: `.claude/rules/PROJECT_RULES.md`), memory directory (per the auto-memory system path), tracker for new tickets.
22
22
 
23
23
  ## Routing rules
24
24
 
@@ -28,9 +28,9 @@ For every row marked **Accept**:
28
28
  |----------|-------------|--------|
29
29
  | Edge case | Edge Case Brainstorm checklist in `intent-routing.md` | Append the new pattern + question to the matching group (Navigation, Data, Failure, Input, Auth, or a new group if none fit). Use the row's `Summary` and `Evidence` link as a citation comment. |
30
30
  | Recurring gotcha | Memory file (`project_*.md`) | Write a new memory entry with `type: project`, structured as: rule, **Why:**, **How to apply:**. Add an index line to `MEMORY.md`. |
31
- | Process friction | Project rules file | Append a one-line guideline to `PROJECT_RULES.md` under an appropriate heading (or create one). |
31
+ | Process friction | Configured project rules file | Append a one-line guideline to the `.lisa.config.json` `projectRulesFile` destination (default `PROJECT_RULES.md`) under an appropriate heading (or create one). |
32
32
  | Tooling gap | Configured tracker | Create a new ticket via `lisa-tracker-write` with `issue_type: Task`, summary derived from the row's `Summary`, description citing the evidence and the originating debrief doc. Label appropriately (`type:tooling`, `lifecycle-improvement`, etc.). |
33
- | Convention drift | `CLAUDE.md` (project) or `PROJECT_RULES.md` | Append the convention as a one-paragraph note under the relevant section. If no relevant section exists, create one. |
33
+ | Convention drift | `CLAUDE.md` for project-wide agent operating instructions; otherwise the configured project rules file for codebase conventions | Append the convention as a one-paragraph note under the relevant section. If no relevant section exists, create one. |
34
34
 
35
35
  For every row marked **Reject** or **Defer**: no action. Defer is a no-op for `apply` but worth surfacing in the run summary — the human may want to revisit at the next debrief.
36
36