@codyswann/lisa 2.119.1 → 2.121.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 (781) hide show
  1. package/.claude-plugin/marketplace.json +18 -0
  2. package/dist/agy/agents-md-installer.d.ts +24 -0
  3. package/dist/agy/agents-md-installer.d.ts.map +1 -0
  4. package/dist/agy/agents-md-installer.js +126 -0
  5. package/dist/agy/agents-md-installer.js.map +1 -0
  6. package/dist/agy/mcp-installer.d.ts +84 -0
  7. package/dist/agy/mcp-installer.d.ts.map +1 -0
  8. package/dist/agy/mcp-installer.js +134 -0
  9. package/dist/agy/mcp-installer.js.map +1 -0
  10. package/dist/agy/plugin-installer.d.ts +21 -0
  11. package/dist/agy/plugin-installer.d.ts.map +1 -0
  12. package/dist/agy/plugin-installer.js +84 -0
  13. package/dist/agy/plugin-installer.js.map +1 -0
  14. package/dist/claude/claude-md-installer.d.ts +18 -0
  15. package/dist/claude/claude-md-installer.d.ts.map +1 -0
  16. package/dist/claude/claude-md-installer.js +62 -0
  17. package/dist/claude/claude-md-installer.js.map +1 -0
  18. package/dist/codex/lisa-plugin-detection.d.ts +69 -0
  19. package/dist/codex/lisa-plugin-detection.d.ts.map +1 -0
  20. package/dist/codex/lisa-plugin-detection.js +135 -0
  21. package/dist/codex/lisa-plugin-detection.js.map +1 -0
  22. package/dist/copilot/copilot-instructions-installer.d.ts +18 -0
  23. package/dist/copilot/copilot-instructions-installer.d.ts.map +1 -0
  24. package/dist/copilot/copilot-instructions-installer.js +61 -0
  25. package/dist/copilot/copilot-instructions-installer.js.map +1 -0
  26. package/dist/copilot/plugin-installer.d.ts +29 -0
  27. package/dist/copilot/plugin-installer.d.ts.map +1 -0
  28. package/dist/copilot/plugin-installer.js +140 -0
  29. package/dist/copilot/plugin-installer.js.map +1 -0
  30. package/dist/core/config.d.ts +8 -4
  31. package/dist/core/config.d.ts.map +1 -1
  32. package/dist/core/config.js +4 -0
  33. package/dist/core/config.js.map +1 -1
  34. package/dist/core/lisa.d.ts +35 -0
  35. package/dist/core/lisa.d.ts.map +1 -1
  36. package/dist/core/lisa.js +93 -0
  37. package/dist/core/lisa.js.map +1 -1
  38. package/package.json +1 -1
  39. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  40. package/plugins/lisa/.codex-plugin/hooks/block-no-verify.sh +37 -0
  41. package/plugins/lisa/.codex-plugin/hooks/inject-flow-context.sh +12 -0
  42. package/plugins/lisa/.codex-plugin/hooks/inject-rules.sh +33 -0
  43. package/plugins/lisa/.codex-plugin/hooks/install-pkgs.sh +69 -0
  44. package/plugins/lisa/.codex-plugin/hooks/notify-ntfy.sh +183 -0
  45. package/plugins/lisa/.codex-plugin/hooks/setup-jira-cli.sh +51 -0
  46. package/plugins/lisa/.codex-plugin/hooks.json +75 -0
  47. package/plugins/lisa/.codex-plugin/plugin.json +2 -1
  48. package/plugins/lisa-agy/agents/architecture-specialist.md +47 -0
  49. package/plugins/lisa-agy/agents/bug-fixer.md +39 -0
  50. package/plugins/lisa-agy/agents/builder.md +40 -0
  51. package/plugins/lisa-agy/agents/confluence-prd-intake.md +65 -0
  52. package/plugins/lisa-agy/agents/debug-specialist.md +114 -0
  53. package/plugins/lisa-agy/agents/git-history-analyzer.md +183 -0
  54. package/plugins/lisa-agy/agents/github-agent.md +148 -0
  55. package/plugins/lisa-agy/agents/github-build-intake.md +64 -0
  56. package/plugins/lisa-agy/agents/github-prd-intake.md +66 -0
  57. package/plugins/lisa-agy/agents/jira-agent.md +129 -0
  58. package/plugins/lisa-agy/agents/jira-build-intake.md +64 -0
  59. package/plugins/lisa-agy/agents/learner.md +43 -0
  60. package/plugins/lisa-agy/agents/learnings-synthesizer.md +135 -0
  61. package/plugins/lisa-agy/agents/linear-agent.md +134 -0
  62. package/plugins/lisa-agy/agents/linear-build-intake.md +64 -0
  63. package/plugins/lisa-agy/agents/linear-prd-intake.md +66 -0
  64. package/plugins/lisa-agy/agents/notion-prd-intake.md +63 -0
  65. package/plugins/lisa-agy/agents/performance-specialist.md +85 -0
  66. package/plugins/lisa-agy/agents/pr-mining-specialist.md +85 -0
  67. package/plugins/lisa-agy/agents/product-specialist.md +63 -0
  68. package/plugins/lisa-agy/agents/quality-specialist.md +56 -0
  69. package/plugins/lisa-agy/agents/security-specialist.md +51 -0
  70. package/plugins/lisa-agy/agents/skill-evaluator.md +245 -0
  71. package/plugins/lisa-agy/agents/spec-conformance-specialist.md +49 -0
  72. package/plugins/lisa-agy/agents/test-specialist.md +49 -0
  73. package/plugins/lisa-agy/agents/tracker-mining-specialist.md +85 -0
  74. package/plugins/lisa-agy/agents/verification-specialist.md +135 -0
  75. package/plugins/lisa-agy/commands/automation-status.md +12 -0
  76. package/plugins/lisa-agy/commands/codify-verification.md +6 -0
  77. package/plugins/lisa-agy/commands/debrief/apply.md +6 -0
  78. package/plugins/lisa-agy/commands/debrief.md +6 -0
  79. package/plugins/lisa-agy/commands/doctor.md +6 -0
  80. package/plugins/lisa-agy/commands/fix/linter-error.md +7 -0
  81. package/plugins/lisa-agy/commands/git/commit.md +7 -0
  82. package/plugins/lisa-agy/commands/git/prune.md +6 -0
  83. package/plugins/lisa-agy/commands/git/submit-pr.md +7 -0
  84. package/plugins/lisa-agy/commands/implement.md +6 -0
  85. package/plugins/lisa-agy/commands/improve/code-complexity.md +6 -0
  86. package/plugins/lisa-agy/commands/improve/max-lines-per-function.md +7 -0
  87. package/plugins/lisa-agy/commands/improve/max-lines.md +7 -0
  88. package/plugins/lisa-agy/commands/improve/test-coverage.md +7 -0
  89. package/plugins/lisa-agy/commands/improve/tests.md +7 -0
  90. package/plugins/lisa-agy/commands/intake-explain.md +31 -0
  91. package/plugins/lisa-agy/commands/intake.md +6 -0
  92. package/plugins/lisa-agy/commands/monitor.md +6 -0
  93. package/plugins/lisa-agy/commands/plan.md +6 -0
  94. package/plugins/lisa-agy/commands/plugin-sync-explain.md +8 -0
  95. package/plugins/lisa-agy/commands/product-walkthrough.md +7 -0
  96. package/plugins/lisa-agy/commands/project-ideation.md +6 -0
  97. package/plugins/lisa-agy/commands/pull-request/review.md +7 -0
  98. package/plugins/lisa-agy/commands/queue-status.md +34 -0
  99. package/plugins/lisa-agy/commands/repair-intake.md +6 -0
  100. package/plugins/lisa-agy/commands/research.md +6 -0
  101. package/plugins/lisa-agy/commands/review/local.md +6 -0
  102. package/plugins/lisa-agy/commands/security/zap-scan.md +6 -0
  103. package/plugins/lisa-agy/commands/setup/atlassian.md +7 -0
  104. package/plugins/lisa-agy/commands/setup/confluence.md +7 -0
  105. package/plugins/lisa-agy/commands/setup/github.md +7 -0
  106. package/plugins/lisa-agy/commands/setup/jira.md +7 -0
  107. package/plugins/lisa-agy/commands/setup/linear.md +7 -0
  108. package/plugins/lisa-agy/commands/setup/notion.md +7 -0
  109. package/plugins/lisa-agy/commands/setup-automations.md +6 -0
  110. package/plugins/lisa-agy/commands/tear-down-automations.md +6 -0
  111. package/plugins/lisa-agy/commands/verify-prd.md +6 -0
  112. package/plugins/lisa-agy/commands/verify.md +6 -0
  113. package/plugins/lisa-agy/commands/wiki/install.md +7 -0
  114. package/plugins/lisa-agy/plugin.json +8 -0
  115. package/plugins/lisa-agy/scripts/automation-status-claude-adapter.mjs +672 -0
  116. package/plugins/lisa-agy/scripts/automation-status-codex-adapter.mjs +697 -0
  117. package/plugins/lisa-agy/scripts/automation-status-contract-drift.mjs +392 -0
  118. package/plugins/lisa-agy/scripts/automation-status-expected-fleet.mjs +319 -0
  119. package/plugins/lisa-agy/scripts/automation-status-report.mjs +170 -0
  120. package/plugins/lisa-agy/scripts/doctor-report.mjs +143 -0
  121. package/plugins/lisa-agy/scripts/plugin-sync-explain.mjs +512 -0
  122. package/plugins/lisa-agy/scripts/project-ideation-idempotency-harness.mjs +319 -0
  123. package/plugins/lisa-agy/scripts/queue-contract-resolution.mjs +453 -0
  124. package/plugins/lisa-agy/scripts/queue-health-classification.mjs +157 -0
  125. package/plugins/lisa-agy/scripts/queue-status-build-readers.mjs +509 -0
  126. package/plugins/lisa-agy/scripts/queue-status-prd-readers.mjs +452 -0
  127. package/plugins/lisa-agy/skills/acceptance-criteria/SKILL.md +71 -0
  128. package/plugins/lisa-agy/skills/agent-design-best-practices/SKILL.md +219 -0
  129. package/plugins/lisa-agy/skills/atlassian-access/SKILL.md +293 -0
  130. package/plugins/lisa-agy/skills/automation-status/SKILL.md +111 -0
  131. package/plugins/lisa-agy/skills/bug-triage/SKILL.md +23 -0
  132. package/plugins/lisa-agy/skills/codebase-research/SKILL.md +87 -0
  133. package/plugins/lisa-agy/skills/codify-verification/SKILL.md +152 -0
  134. package/plugins/lisa-agy/skills/confluence-prd-intake/SKILL.md +417 -0
  135. package/plugins/lisa-agy/skills/confluence-to-tracker/SKILL.md +360 -0
  136. package/plugins/lisa-agy/skills/confluence-write-prd/SKILL.md +109 -0
  137. package/plugins/lisa-agy/skills/debrief/SKILL.md +94 -0
  138. package/plugins/lisa-agy/skills/debrief-apply/SKILL.md +63 -0
  139. package/plugins/lisa-agy/skills/doctor/SKILL.md +317 -0
  140. package/plugins/lisa-agy/skills/epic-triage/SKILL.md +28 -0
  141. package/plugins/lisa-agy/skills/fix-linter-error/SKILL.md +45 -0
  142. package/plugins/lisa-agy/skills/git-commit/SKILL.md +48 -0
  143. package/plugins/lisa-agy/skills/git-prune/SKILL.md +35 -0
  144. package/plugins/lisa-agy/skills/git-submit-pr/SKILL.md +105 -0
  145. package/plugins/lisa-agy/skills/github-add-journey/SKILL.md +115 -0
  146. package/plugins/lisa-agy/skills/github-build-intake/SKILL.md +377 -0
  147. package/plugins/lisa-agy/skills/github-create/SKILL.md +101 -0
  148. package/plugins/lisa-agy/skills/github-evidence/SKILL.md +110 -0
  149. package/plugins/lisa-agy/skills/github-journey/SKILL.md +121 -0
  150. package/plugins/lisa-agy/skills/github-prd-intake/SKILL.md +432 -0
  151. package/plugins/lisa-agy/skills/github-project-v2/SKILL.md +227 -0
  152. package/plugins/lisa-agy/skills/github-read-issue/SKILL.md +248 -0
  153. package/plugins/lisa-agy/skills/github-sync/SKILL.md +119 -0
  154. package/plugins/lisa-agy/skills/github-to-tracker/SKILL.md +345 -0
  155. package/plugins/lisa-agy/skills/github-validate-issue/SKILL.md +331 -0
  156. package/plugins/lisa-agy/skills/github-verify/SKILL.md +29 -0
  157. package/plugins/lisa-agy/skills/github-write-issue/SKILL.md +339 -0
  158. package/plugins/lisa-agy/skills/github-write-prd/SKILL.md +157 -0
  159. package/plugins/lisa-agy/skills/implement/SKILL.md +145 -0
  160. package/plugins/lisa-agy/skills/improve-code-complexity/SKILL.md +44 -0
  161. package/plugins/lisa-agy/skills/improve-max-lines/SKILL.md +45 -0
  162. package/plugins/lisa-agy/skills/improve-max-lines-per-function/SKILL.md +46 -0
  163. package/plugins/lisa-agy/skills/improve-test-coverage/SKILL.md +44 -0
  164. package/plugins/lisa-agy/skills/improve-tests/SKILL.md +47 -0
  165. package/plugins/lisa-agy/skills/intake/SKILL.md +132 -0
  166. package/plugins/lisa-agy/skills/intake-explain/SKILL.md +279 -0
  167. package/plugins/lisa-agy/skills/jira-add-journey/SKILL.md +121 -0
  168. package/plugins/lisa-agy/skills/jira-build-intake/SKILL.md +286 -0
  169. package/plugins/lisa-agy/skills/jira-create/SKILL.md +154 -0
  170. package/plugins/lisa-agy/skills/jira-evidence/SKILL.md +90 -0
  171. package/plugins/lisa-agy/skills/jira-evidence/scripts/post-evidence.sh +163 -0
  172. package/plugins/lisa-agy/skills/jira-journey/SKILL.md +127 -0
  173. package/plugins/lisa-agy/skills/jira-journey/scripts/generate-templates.py +233 -0
  174. package/plugins/lisa-agy/skills/jira-journey/scripts/parse-plan.py +368 -0
  175. package/plugins/lisa-agy/skills/jira-read-ticket/SKILL.md +198 -0
  176. package/plugins/lisa-agy/skills/jira-read-ticket/scripts/download-attachment.sh +110 -0
  177. package/plugins/lisa-agy/skills/jira-sync/SKILL.md +95 -0
  178. package/plugins/lisa-agy/skills/jira-validate-ticket/SKILL.md +318 -0
  179. package/plugins/lisa-agy/skills/jira-verify/SKILL.md +30 -0
  180. package/plugins/lisa-agy/skills/jira-write-ticket/SKILL.md +265 -0
  181. package/plugins/lisa-agy/skills/jsdoc-best-practices/SKILL.md +432 -0
  182. package/plugins/lisa-agy/skills/linear-add-journey/SKILL.md +105 -0
  183. package/plugins/lisa-agy/skills/linear-build-intake/SKILL.md +283 -0
  184. package/plugins/lisa-agy/skills/linear-create/SKILL.md +146 -0
  185. package/plugins/lisa-agy/skills/linear-evidence/SKILL.md +103 -0
  186. package/plugins/lisa-agy/skills/linear-journey/SKILL.md +134 -0
  187. package/plugins/lisa-agy/skills/linear-prd-intake/SKILL.md +383 -0
  188. package/plugins/lisa-agy/skills/linear-read-issue/SKILL.md +200 -0
  189. package/plugins/lisa-agy/skills/linear-sync/SKILL.md +114 -0
  190. package/plugins/lisa-agy/skills/linear-to-tracker/SKILL.md +342 -0
  191. package/plugins/lisa-agy/skills/linear-validate-issue/SKILL.md +313 -0
  192. package/plugins/lisa-agy/skills/linear-verify/SKILL.md +51 -0
  193. package/plugins/lisa-agy/skills/linear-write-issue/SKILL.md +292 -0
  194. package/plugins/lisa-agy/skills/linear-write-prd/SKILL.md +96 -0
  195. package/plugins/lisa-agy/skills/lisa-review-implementation/SKILL.md +209 -0
  196. package/plugins/lisa-agy/skills/monitor/SKILL.md +48 -0
  197. package/plugins/lisa-agy/skills/nightly-add-test-coverage/SKILL.md +40 -0
  198. package/plugins/lisa-agy/skills/nightly-improve-tests/SKILL.md +29 -0
  199. package/plugins/lisa-agy/skills/nightly-lower-code-complexity/SKILL.md +28 -0
  200. package/plugins/lisa-agy/skills/notion-access/SKILL.md +226 -0
  201. package/plugins/lisa-agy/skills/notion-prd-intake/SKILL.md +360 -0
  202. package/plugins/lisa-agy/skills/notion-to-tracker/SKILL.md +357 -0
  203. package/plugins/lisa-agy/skills/notion-write-prd/SKILL.md +109 -0
  204. package/plugins/lisa-agy/skills/performance-review/SKILL.md +94 -0
  205. package/plugins/lisa-agy/skills/plan/SKILL.md +60 -0
  206. package/plugins/lisa-agy/skills/plugin-sync-explain/SKILL.md +53 -0
  207. package/plugins/lisa-agy/skills/prd-backlink/SKILL.md +265 -0
  208. package/plugins/lisa-agy/skills/prd-source-write/SKILL.md +101 -0
  209. package/plugins/lisa-agy/skills/prd-ticket-coverage/SKILL.md +170 -0
  210. package/plugins/lisa-agy/skills/product-walkthrough/SKILL.md +129 -0
  211. package/plugins/lisa-agy/skills/project-ideation/SKILL.md +315 -0
  212. package/plugins/lisa-agy/skills/project-ideation/examples/evidence-card-format.md +21 -0
  213. package/plugins/lisa-agy/skills/project-ideation/examples/host-project-only.md +22 -0
  214. package/plugins/lisa-agy/skills/project-ideation/examples/idempotency-verification-harness.md +57 -0
  215. package/plugins/lisa-agy/skills/project-ideation/examples/public-external-inspiration.md +22 -0
  216. package/plugins/lisa-agy/skills/project-ideation/examples/unavailable-data-rejection.md +22 -0
  217. package/plugins/lisa-agy/skills/pull-request-review/SKILL.md +68 -0
  218. package/plugins/lisa-agy/skills/quality-review/SKILL.md +54 -0
  219. package/plugins/lisa-agy/skills/queue-status/SKILL.md +133 -0
  220. package/plugins/lisa-agy/skills/repair-intake/SKILL.md +584 -0
  221. package/plugins/lisa-agy/skills/reproduce-bug/SKILL.md +96 -0
  222. package/plugins/lisa-agy/skills/research/SKILL.md +68 -0
  223. package/plugins/lisa-agy/skills/review-local/SKILL.md +88 -0
  224. package/plugins/lisa-agy/skills/root-cause-analysis/SKILL.md +155 -0
  225. package/plugins/lisa-agy/skills/security-review/SKILL.md +57 -0
  226. package/plugins/lisa-agy/skills/security-zap-scan/SKILL.md +33 -0
  227. package/plugins/lisa-agy/skills/setup-atlassian/SKILL.md +347 -0
  228. package/plugins/lisa-agy/skills/setup-automations/SKILL.md +99 -0
  229. package/plugins/lisa-agy/skills/setup-confluence/SKILL.md +254 -0
  230. package/plugins/lisa-agy/skills/setup-github/SKILL.md +268 -0
  231. package/plugins/lisa-agy/skills/setup-jira/SKILL.md +198 -0
  232. package/plugins/lisa-agy/skills/setup-linear/SKILL.md +251 -0
  233. package/plugins/lisa-agy/skills/setup-notion/SKILL.md +316 -0
  234. package/plugins/lisa-agy/skills/spec-conformance/SKILL.md +159 -0
  235. package/plugins/lisa-agy/skills/task-decomposition/SKILL.md +127 -0
  236. package/plugins/lisa-agy/skills/task-triage/SKILL.md +23 -0
  237. package/plugins/lisa-agy/skills/tdd-implementation/SKILL.md +83 -0
  238. package/plugins/lisa-agy/skills/tear-down-automations/SKILL.md +34 -0
  239. package/plugins/lisa-agy/skills/test-strategy/SKILL.md +63 -0
  240. package/plugins/lisa-agy/skills/ticket-triage/SKILL.md +182 -0
  241. package/plugins/lisa-agy/skills/tracker-add-journey/SKILL.md +26 -0
  242. package/plugins/lisa-agy/skills/tracker-build-intake/SKILL.md +64 -0
  243. package/plugins/lisa-agy/skills/tracker-create/SKILL.md +26 -0
  244. package/plugins/lisa-agy/skills/tracker-evidence/SKILL.md +52 -0
  245. package/plugins/lisa-agy/skills/tracker-journey/SKILL.md +26 -0
  246. package/plugins/lisa-agy/skills/tracker-read/SKILL.md +27 -0
  247. package/plugins/lisa-agy/skills/tracker-source-artifacts/SKILL.md +107 -0
  248. package/plugins/lisa-agy/skills/tracker-sync/SKILL.md +51 -0
  249. package/plugins/lisa-agy/skills/tracker-validate/SKILL.md +36 -0
  250. package/plugins/lisa-agy/skills/tracker-verify/SKILL.md +27 -0
  251. package/plugins/lisa-agy/skills/tracker-write/SKILL.md +53 -0
  252. package/plugins/lisa-agy/skills/usage-accounting/SKILL.md +170 -0
  253. package/plugins/lisa-agy/skills/verification-lifecycle/SKILL.md +339 -0
  254. package/plugins/lisa-agy/skills/verify/SKILL.md +49 -0
  255. package/plugins/lisa-agy/skills/verify-prd/SKILL.md +392 -0
  256. package/plugins/lisa-agy/skills/wiki-install/SKILL.md +101 -0
  257. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  258. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  259. package/plugins/lisa-copilot/.claude-plugin/plugin.json +72 -0
  260. package/plugins/lisa-copilot/agents/architecture-specialist.agent.md +47 -0
  261. package/plugins/lisa-copilot/agents/bug-fixer.agent.md +39 -0
  262. package/plugins/lisa-copilot/agents/builder.agent.md +40 -0
  263. package/plugins/lisa-copilot/agents/confluence-prd-intake.agent.md +65 -0
  264. package/plugins/lisa-copilot/agents/debug-specialist.agent.md +114 -0
  265. package/plugins/lisa-copilot/agents/git-history-analyzer.agent.md +183 -0
  266. package/plugins/lisa-copilot/agents/github-agent.agent.md +148 -0
  267. package/plugins/lisa-copilot/agents/github-build-intake.agent.md +64 -0
  268. package/plugins/lisa-copilot/agents/github-prd-intake.agent.md +66 -0
  269. package/plugins/lisa-copilot/agents/jira-agent.agent.md +129 -0
  270. package/plugins/lisa-copilot/agents/jira-build-intake.agent.md +64 -0
  271. package/plugins/lisa-copilot/agents/learner.agent.md +43 -0
  272. package/plugins/lisa-copilot/agents/learnings-synthesizer.agent.md +135 -0
  273. package/plugins/lisa-copilot/agents/linear-agent.agent.md +134 -0
  274. package/plugins/lisa-copilot/agents/linear-build-intake.agent.md +64 -0
  275. package/plugins/lisa-copilot/agents/linear-prd-intake.agent.md +66 -0
  276. package/plugins/lisa-copilot/agents/notion-prd-intake.agent.md +63 -0
  277. package/plugins/lisa-copilot/agents/performance-specialist.agent.md +85 -0
  278. package/plugins/lisa-copilot/agents/pr-mining-specialist.agent.md +85 -0
  279. package/plugins/lisa-copilot/agents/product-specialist.agent.md +63 -0
  280. package/plugins/lisa-copilot/agents/quality-specialist.agent.md +56 -0
  281. package/plugins/lisa-copilot/agents/security-specialist.agent.md +51 -0
  282. package/plugins/lisa-copilot/agents/skill-evaluator.agent.md +245 -0
  283. package/plugins/lisa-copilot/agents/spec-conformance-specialist.agent.md +49 -0
  284. package/plugins/lisa-copilot/agents/test-specialist.agent.md +49 -0
  285. package/plugins/lisa-copilot/agents/tracker-mining-specialist.agent.md +85 -0
  286. package/plugins/lisa-copilot/agents/verification-specialist.agent.md +135 -0
  287. package/plugins/lisa-copilot/commands/automation-status.md +12 -0
  288. package/plugins/lisa-copilot/commands/codify-verification.md +6 -0
  289. package/plugins/lisa-copilot/commands/debrief/apply.md +6 -0
  290. package/plugins/lisa-copilot/commands/debrief.md +6 -0
  291. package/plugins/lisa-copilot/commands/doctor.md +6 -0
  292. package/plugins/lisa-copilot/commands/fix/linter-error.md +7 -0
  293. package/plugins/lisa-copilot/commands/git/commit.md +7 -0
  294. package/plugins/lisa-copilot/commands/git/prune.md +6 -0
  295. package/plugins/lisa-copilot/commands/git/submit-pr.md +7 -0
  296. package/plugins/lisa-copilot/commands/implement.md +6 -0
  297. package/plugins/lisa-copilot/commands/improve/code-complexity.md +6 -0
  298. package/plugins/lisa-copilot/commands/improve/max-lines-per-function.md +7 -0
  299. package/plugins/lisa-copilot/commands/improve/max-lines.md +7 -0
  300. package/plugins/lisa-copilot/commands/improve/test-coverage.md +7 -0
  301. package/plugins/lisa-copilot/commands/improve/tests.md +7 -0
  302. package/plugins/lisa-copilot/commands/intake-explain.md +31 -0
  303. package/plugins/lisa-copilot/commands/intake.md +6 -0
  304. package/plugins/lisa-copilot/commands/monitor.md +6 -0
  305. package/plugins/lisa-copilot/commands/plan.md +6 -0
  306. package/plugins/lisa-copilot/commands/plugin-sync-explain.md +8 -0
  307. package/plugins/lisa-copilot/commands/product-walkthrough.md +7 -0
  308. package/plugins/lisa-copilot/commands/project-ideation.md +6 -0
  309. package/plugins/lisa-copilot/commands/pull-request/review.md +7 -0
  310. package/plugins/lisa-copilot/commands/queue-status.md +34 -0
  311. package/plugins/lisa-copilot/commands/repair-intake.md +6 -0
  312. package/plugins/lisa-copilot/commands/research.md +6 -0
  313. package/plugins/lisa-copilot/commands/review/local.md +6 -0
  314. package/plugins/lisa-copilot/commands/security/zap-scan.md +6 -0
  315. package/plugins/lisa-copilot/commands/setup/atlassian.md +7 -0
  316. package/plugins/lisa-copilot/commands/setup/confluence.md +7 -0
  317. package/plugins/lisa-copilot/commands/setup/github.md +7 -0
  318. package/plugins/lisa-copilot/commands/setup/jira.md +7 -0
  319. package/plugins/lisa-copilot/commands/setup/linear.md +7 -0
  320. package/plugins/lisa-copilot/commands/setup/notion.md +7 -0
  321. package/plugins/lisa-copilot/commands/setup-automations.md +6 -0
  322. package/plugins/lisa-copilot/commands/tear-down-automations.md +6 -0
  323. package/plugins/lisa-copilot/commands/verify-prd.md +6 -0
  324. package/plugins/lisa-copilot/commands/verify.md +6 -0
  325. package/plugins/lisa-copilot/commands/wiki/install.md +7 -0
  326. package/plugins/lisa-copilot/hooks/block-no-verify.sh +37 -0
  327. package/plugins/lisa-copilot/hooks/inject-rules.sh +33 -0
  328. package/plugins/lisa-copilot/hooks/install-pkgs.sh +69 -0
  329. package/plugins/lisa-copilot/hooks/notify-ntfy.sh +183 -0
  330. package/plugins/lisa-copilot/hooks/setup-jira-cli.sh +51 -0
  331. package/plugins/lisa-copilot/rules/eager/base-rules.md +70 -0
  332. package/plugins/lisa-copilot/rules/eager/coding-philosophy.md +27 -0
  333. package/plugins/lisa-copilot/rules/eager/config-resolution.md +28 -0
  334. package/plugins/lisa-copilot/rules/eager/documentation-source-paths.md +13 -0
  335. package/plugins/lisa-copilot/rules/eager/empirical-inquiry.md +22 -0
  336. package/plugins/lisa-copilot/rules/eager/intent-routing.md +18 -0
  337. package/plugins/lisa-copilot/rules/eager/leaf-only-lifecycle.md +39 -0
  338. package/plugins/lisa-copilot/rules/eager/prd-lifecycle-rollup.md +31 -0
  339. package/plugins/lisa-copilot/rules/eager/repo-scope-split.md +39 -0
  340. package/plugins/lisa-copilot/rules/eager/security-audit-handling.md +29 -0
  341. package/plugins/lisa-copilot/rules/eager/usage-accounting.md +28 -0
  342. package/plugins/lisa-copilot/rules/eager/verification.md +21 -0
  343. package/plugins/lisa-copilot/rules/eager/wiki-knowledge-source.md +16 -0
  344. package/plugins/lisa-copilot/rules/reference/base-rules.md +133 -0
  345. package/plugins/lisa-copilot/rules/reference/coding-philosophy.md +428 -0
  346. package/plugins/lisa-copilot/rules/reference/config-resolution.md +691 -0
  347. package/plugins/lisa-copilot/rules/reference/documentation-source-paths.md +13 -0
  348. package/plugins/lisa-copilot/rules/reference/empirical-inquiry.md +27 -0
  349. package/plugins/lisa-copilot/rules/reference/intent-routing.md +407 -0
  350. package/plugins/lisa-copilot/rules/reference/leaf-only-lifecycle.md +120 -0
  351. package/plugins/lisa-copilot/rules/reference/prd-lifecycle-rollup.md +156 -0
  352. package/plugins/lisa-copilot/rules/reference/repo-scope-split.md +58 -0
  353. package/plugins/lisa-copilot/rules/reference/security-audit-handling.md +30 -0
  354. package/plugins/lisa-copilot/rules/reference/usage-accounting.md +144 -0
  355. package/plugins/lisa-copilot/rules/reference/verification.md +124 -0
  356. package/plugins/lisa-copilot/rules/reference/wiki-knowledge-source.md +14 -0
  357. package/plugins/lisa-copilot/scripts/automation-status-claude-adapter.mjs +672 -0
  358. package/plugins/lisa-copilot/scripts/automation-status-codex-adapter.mjs +697 -0
  359. package/plugins/lisa-copilot/scripts/automation-status-contract-drift.mjs +392 -0
  360. package/plugins/lisa-copilot/scripts/automation-status-expected-fleet.mjs +319 -0
  361. package/plugins/lisa-copilot/scripts/automation-status-report.mjs +170 -0
  362. package/plugins/lisa-copilot/scripts/doctor-report.mjs +143 -0
  363. package/plugins/lisa-copilot/scripts/plugin-sync-explain.mjs +512 -0
  364. package/plugins/lisa-copilot/scripts/project-ideation-idempotency-harness.mjs +319 -0
  365. package/plugins/lisa-copilot/scripts/queue-contract-resolution.mjs +453 -0
  366. package/plugins/lisa-copilot/scripts/queue-health-classification.mjs +157 -0
  367. package/plugins/lisa-copilot/scripts/queue-status-build-readers.mjs +509 -0
  368. package/plugins/lisa-copilot/scripts/queue-status-prd-readers.mjs +452 -0
  369. package/plugins/lisa-copilot/skills/acceptance-criteria/SKILL.md +71 -0
  370. package/plugins/lisa-copilot/skills/agent-design-best-practices/SKILL.md +219 -0
  371. package/plugins/lisa-copilot/skills/atlassian-access/SKILL.md +293 -0
  372. package/plugins/lisa-copilot/skills/automation-status/SKILL.md +111 -0
  373. package/plugins/lisa-copilot/skills/bug-triage/SKILL.md +23 -0
  374. package/plugins/lisa-copilot/skills/codebase-research/SKILL.md +87 -0
  375. package/plugins/lisa-copilot/skills/codify-verification/SKILL.md +152 -0
  376. package/plugins/lisa-copilot/skills/confluence-prd-intake/SKILL.md +417 -0
  377. package/plugins/lisa-copilot/skills/confluence-to-tracker/SKILL.md +360 -0
  378. package/plugins/lisa-copilot/skills/confluence-write-prd/SKILL.md +109 -0
  379. package/plugins/lisa-copilot/skills/debrief/SKILL.md +94 -0
  380. package/plugins/lisa-copilot/skills/debrief-apply/SKILL.md +63 -0
  381. package/plugins/lisa-copilot/skills/doctor/SKILL.md +317 -0
  382. package/plugins/lisa-copilot/skills/epic-triage/SKILL.md +28 -0
  383. package/plugins/lisa-copilot/skills/fix-linter-error/SKILL.md +45 -0
  384. package/plugins/lisa-copilot/skills/git-commit/SKILL.md +48 -0
  385. package/plugins/lisa-copilot/skills/git-prune/SKILL.md +35 -0
  386. package/plugins/lisa-copilot/skills/git-submit-pr/SKILL.md +105 -0
  387. package/plugins/lisa-copilot/skills/github-add-journey/SKILL.md +115 -0
  388. package/plugins/lisa-copilot/skills/github-build-intake/SKILL.md +377 -0
  389. package/plugins/lisa-copilot/skills/github-create/SKILL.md +101 -0
  390. package/plugins/lisa-copilot/skills/github-evidence/SKILL.md +110 -0
  391. package/plugins/lisa-copilot/skills/github-journey/SKILL.md +121 -0
  392. package/plugins/lisa-copilot/skills/github-prd-intake/SKILL.md +432 -0
  393. package/plugins/lisa-copilot/skills/github-project-v2/SKILL.md +227 -0
  394. package/plugins/lisa-copilot/skills/github-read-issue/SKILL.md +248 -0
  395. package/plugins/lisa-copilot/skills/github-sync/SKILL.md +119 -0
  396. package/plugins/lisa-copilot/skills/github-to-tracker/SKILL.md +345 -0
  397. package/plugins/lisa-copilot/skills/github-validate-issue/SKILL.md +331 -0
  398. package/plugins/lisa-copilot/skills/github-verify/SKILL.md +29 -0
  399. package/plugins/lisa-copilot/skills/github-write-issue/SKILL.md +339 -0
  400. package/plugins/lisa-copilot/skills/github-write-prd/SKILL.md +157 -0
  401. package/plugins/lisa-copilot/skills/implement/SKILL.md +145 -0
  402. package/plugins/lisa-copilot/skills/improve-code-complexity/SKILL.md +44 -0
  403. package/plugins/lisa-copilot/skills/improve-max-lines/SKILL.md +45 -0
  404. package/plugins/lisa-copilot/skills/improve-max-lines-per-function/SKILL.md +46 -0
  405. package/plugins/lisa-copilot/skills/improve-test-coverage/SKILL.md +44 -0
  406. package/plugins/lisa-copilot/skills/improve-tests/SKILL.md +47 -0
  407. package/plugins/lisa-copilot/skills/intake/SKILL.md +132 -0
  408. package/plugins/lisa-copilot/skills/intake-explain/SKILL.md +279 -0
  409. package/plugins/lisa-copilot/skills/jira-add-journey/SKILL.md +121 -0
  410. package/plugins/lisa-copilot/skills/jira-build-intake/SKILL.md +286 -0
  411. package/plugins/lisa-copilot/skills/jira-create/SKILL.md +154 -0
  412. package/plugins/lisa-copilot/skills/jira-evidence/SKILL.md +90 -0
  413. package/plugins/lisa-copilot/skills/jira-evidence/scripts/post-evidence.sh +163 -0
  414. package/plugins/lisa-copilot/skills/jira-journey/SKILL.md +127 -0
  415. package/plugins/lisa-copilot/skills/jira-journey/scripts/generate-templates.py +233 -0
  416. package/plugins/lisa-copilot/skills/jira-journey/scripts/parse-plan.py +368 -0
  417. package/plugins/lisa-copilot/skills/jira-read-ticket/SKILL.md +198 -0
  418. package/plugins/lisa-copilot/skills/jira-read-ticket/scripts/download-attachment.sh +110 -0
  419. package/plugins/lisa-copilot/skills/jira-sync/SKILL.md +95 -0
  420. package/plugins/lisa-copilot/skills/jira-validate-ticket/SKILL.md +318 -0
  421. package/plugins/lisa-copilot/skills/jira-verify/SKILL.md +30 -0
  422. package/plugins/lisa-copilot/skills/jira-write-ticket/SKILL.md +265 -0
  423. package/plugins/lisa-copilot/skills/jsdoc-best-practices/SKILL.md +432 -0
  424. package/plugins/lisa-copilot/skills/linear-add-journey/SKILL.md +105 -0
  425. package/plugins/lisa-copilot/skills/linear-build-intake/SKILL.md +283 -0
  426. package/plugins/lisa-copilot/skills/linear-create/SKILL.md +146 -0
  427. package/plugins/lisa-copilot/skills/linear-evidence/SKILL.md +103 -0
  428. package/plugins/lisa-copilot/skills/linear-journey/SKILL.md +134 -0
  429. package/plugins/lisa-copilot/skills/linear-prd-intake/SKILL.md +383 -0
  430. package/plugins/lisa-copilot/skills/linear-read-issue/SKILL.md +200 -0
  431. package/plugins/lisa-copilot/skills/linear-sync/SKILL.md +114 -0
  432. package/plugins/lisa-copilot/skills/linear-to-tracker/SKILL.md +342 -0
  433. package/plugins/lisa-copilot/skills/linear-validate-issue/SKILL.md +313 -0
  434. package/plugins/lisa-copilot/skills/linear-verify/SKILL.md +51 -0
  435. package/plugins/lisa-copilot/skills/linear-write-issue/SKILL.md +292 -0
  436. package/plugins/lisa-copilot/skills/linear-write-prd/SKILL.md +96 -0
  437. package/plugins/lisa-copilot/skills/lisa-review-implementation/SKILL.md +209 -0
  438. package/plugins/lisa-copilot/skills/monitor/SKILL.md +48 -0
  439. package/plugins/lisa-copilot/skills/nightly-add-test-coverage/SKILL.md +40 -0
  440. package/plugins/lisa-copilot/skills/nightly-improve-tests/SKILL.md +29 -0
  441. package/plugins/lisa-copilot/skills/nightly-lower-code-complexity/SKILL.md +28 -0
  442. package/plugins/lisa-copilot/skills/notion-access/SKILL.md +226 -0
  443. package/plugins/lisa-copilot/skills/notion-prd-intake/SKILL.md +360 -0
  444. package/plugins/lisa-copilot/skills/notion-to-tracker/SKILL.md +357 -0
  445. package/plugins/lisa-copilot/skills/notion-write-prd/SKILL.md +109 -0
  446. package/plugins/lisa-copilot/skills/performance-review/SKILL.md +94 -0
  447. package/plugins/lisa-copilot/skills/plan/SKILL.md +60 -0
  448. package/plugins/lisa-copilot/skills/plugin-sync-explain/SKILL.md +53 -0
  449. package/plugins/lisa-copilot/skills/prd-backlink/SKILL.md +265 -0
  450. package/plugins/lisa-copilot/skills/prd-source-write/SKILL.md +101 -0
  451. package/plugins/lisa-copilot/skills/prd-ticket-coverage/SKILL.md +170 -0
  452. package/plugins/lisa-copilot/skills/product-walkthrough/SKILL.md +129 -0
  453. package/plugins/lisa-copilot/skills/project-ideation/SKILL.md +315 -0
  454. package/plugins/lisa-copilot/skills/project-ideation/examples/evidence-card-format.md +21 -0
  455. package/plugins/lisa-copilot/skills/project-ideation/examples/host-project-only.md +22 -0
  456. package/plugins/lisa-copilot/skills/project-ideation/examples/idempotency-verification-harness.md +57 -0
  457. package/plugins/lisa-copilot/skills/project-ideation/examples/public-external-inspiration.md +22 -0
  458. package/plugins/lisa-copilot/skills/project-ideation/examples/unavailable-data-rejection.md +22 -0
  459. package/plugins/lisa-copilot/skills/pull-request-review/SKILL.md +68 -0
  460. package/plugins/lisa-copilot/skills/quality-review/SKILL.md +54 -0
  461. package/plugins/lisa-copilot/skills/queue-status/SKILL.md +133 -0
  462. package/plugins/lisa-copilot/skills/repair-intake/SKILL.md +584 -0
  463. package/plugins/lisa-copilot/skills/reproduce-bug/SKILL.md +96 -0
  464. package/plugins/lisa-copilot/skills/research/SKILL.md +68 -0
  465. package/plugins/lisa-copilot/skills/review-local/SKILL.md +88 -0
  466. package/plugins/lisa-copilot/skills/root-cause-analysis/SKILL.md +155 -0
  467. package/plugins/lisa-copilot/skills/security-review/SKILL.md +57 -0
  468. package/plugins/lisa-copilot/skills/security-zap-scan/SKILL.md +33 -0
  469. package/plugins/lisa-copilot/skills/setup-atlassian/SKILL.md +347 -0
  470. package/plugins/lisa-copilot/skills/setup-automations/SKILL.md +99 -0
  471. package/plugins/lisa-copilot/skills/setup-confluence/SKILL.md +254 -0
  472. package/plugins/lisa-copilot/skills/setup-github/SKILL.md +268 -0
  473. package/plugins/lisa-copilot/skills/setup-jira/SKILL.md +198 -0
  474. package/plugins/lisa-copilot/skills/setup-linear/SKILL.md +251 -0
  475. package/plugins/lisa-copilot/skills/setup-notion/SKILL.md +316 -0
  476. package/plugins/lisa-copilot/skills/spec-conformance/SKILL.md +159 -0
  477. package/plugins/lisa-copilot/skills/task-decomposition/SKILL.md +127 -0
  478. package/plugins/lisa-copilot/skills/task-triage/SKILL.md +23 -0
  479. package/plugins/lisa-copilot/skills/tdd-implementation/SKILL.md +83 -0
  480. package/plugins/lisa-copilot/skills/tear-down-automations/SKILL.md +34 -0
  481. package/plugins/lisa-copilot/skills/test-strategy/SKILL.md +63 -0
  482. package/plugins/lisa-copilot/skills/ticket-triage/SKILL.md +182 -0
  483. package/plugins/lisa-copilot/skills/tracker-add-journey/SKILL.md +26 -0
  484. package/plugins/lisa-copilot/skills/tracker-build-intake/SKILL.md +64 -0
  485. package/plugins/lisa-copilot/skills/tracker-create/SKILL.md +26 -0
  486. package/plugins/lisa-copilot/skills/tracker-evidence/SKILL.md +52 -0
  487. package/plugins/lisa-copilot/skills/tracker-journey/SKILL.md +26 -0
  488. package/plugins/lisa-copilot/skills/tracker-read/SKILL.md +27 -0
  489. package/plugins/lisa-copilot/skills/tracker-source-artifacts/SKILL.md +107 -0
  490. package/plugins/lisa-copilot/skills/tracker-sync/SKILL.md +51 -0
  491. package/plugins/lisa-copilot/skills/tracker-validate/SKILL.md +36 -0
  492. package/plugins/lisa-copilot/skills/tracker-verify/SKILL.md +27 -0
  493. package/plugins/lisa-copilot/skills/tracker-write/SKILL.md +53 -0
  494. package/plugins/lisa-copilot/skills/usage-accounting/SKILL.md +170 -0
  495. package/plugins/lisa-copilot/skills/verification-lifecycle/SKILL.md +339 -0
  496. package/plugins/lisa-copilot/skills/verify/SKILL.md +49 -0
  497. package/plugins/lisa-copilot/skills/verify-prd/SKILL.md +392 -0
  498. package/plugins/lisa-copilot/skills/wiki-install/SKILL.md +101 -0
  499. package/plugins/lisa-cursor/.claude-plugin/plugin.json +52 -0
  500. package/plugins/lisa-cursor/agents/architecture-specialist.md +47 -0
  501. package/plugins/lisa-cursor/agents/bug-fixer.md +39 -0
  502. package/plugins/lisa-cursor/agents/builder.md +40 -0
  503. package/plugins/lisa-cursor/agents/confluence-prd-intake.md +65 -0
  504. package/plugins/lisa-cursor/agents/debug-specialist.md +114 -0
  505. package/plugins/lisa-cursor/agents/git-history-analyzer.md +183 -0
  506. package/plugins/lisa-cursor/agents/github-agent.md +148 -0
  507. package/plugins/lisa-cursor/agents/github-build-intake.md +64 -0
  508. package/plugins/lisa-cursor/agents/github-prd-intake.md +66 -0
  509. package/plugins/lisa-cursor/agents/jira-agent.md +129 -0
  510. package/plugins/lisa-cursor/agents/jira-build-intake.md +64 -0
  511. package/plugins/lisa-cursor/agents/learner.md +43 -0
  512. package/plugins/lisa-cursor/agents/learnings-synthesizer.md +135 -0
  513. package/plugins/lisa-cursor/agents/linear-agent.md +134 -0
  514. package/plugins/lisa-cursor/agents/linear-build-intake.md +64 -0
  515. package/plugins/lisa-cursor/agents/linear-prd-intake.md +66 -0
  516. package/plugins/lisa-cursor/agents/notion-prd-intake.md +63 -0
  517. package/plugins/lisa-cursor/agents/performance-specialist.md +85 -0
  518. package/plugins/lisa-cursor/agents/pr-mining-specialist.md +85 -0
  519. package/plugins/lisa-cursor/agents/product-specialist.md +63 -0
  520. package/plugins/lisa-cursor/agents/quality-specialist.md +56 -0
  521. package/plugins/lisa-cursor/agents/security-specialist.md +51 -0
  522. package/plugins/lisa-cursor/agents/skill-evaluator.md +245 -0
  523. package/plugins/lisa-cursor/agents/spec-conformance-specialist.md +49 -0
  524. package/plugins/lisa-cursor/agents/test-specialist.md +49 -0
  525. package/plugins/lisa-cursor/agents/tracker-mining-specialist.md +85 -0
  526. package/plugins/lisa-cursor/agents/verification-specialist.md +135 -0
  527. package/plugins/lisa-cursor/commands/automation-status.md +12 -0
  528. package/plugins/lisa-cursor/commands/codify-verification.md +6 -0
  529. package/plugins/lisa-cursor/commands/debrief/apply.md +6 -0
  530. package/plugins/lisa-cursor/commands/debrief.md +6 -0
  531. package/plugins/lisa-cursor/commands/doctor.md +6 -0
  532. package/plugins/lisa-cursor/commands/fix/linter-error.md +7 -0
  533. package/plugins/lisa-cursor/commands/git/commit.md +7 -0
  534. package/plugins/lisa-cursor/commands/git/prune.md +6 -0
  535. package/plugins/lisa-cursor/commands/git/submit-pr.md +7 -0
  536. package/plugins/lisa-cursor/commands/implement.md +6 -0
  537. package/plugins/lisa-cursor/commands/improve/code-complexity.md +6 -0
  538. package/plugins/lisa-cursor/commands/improve/max-lines-per-function.md +7 -0
  539. package/plugins/lisa-cursor/commands/improve/max-lines.md +7 -0
  540. package/plugins/lisa-cursor/commands/improve/test-coverage.md +7 -0
  541. package/plugins/lisa-cursor/commands/improve/tests.md +7 -0
  542. package/plugins/lisa-cursor/commands/intake-explain.md +31 -0
  543. package/plugins/lisa-cursor/commands/intake.md +6 -0
  544. package/plugins/lisa-cursor/commands/monitor.md +6 -0
  545. package/plugins/lisa-cursor/commands/plan.md +6 -0
  546. package/plugins/lisa-cursor/commands/plugin-sync-explain.md +8 -0
  547. package/plugins/lisa-cursor/commands/product-walkthrough.md +7 -0
  548. package/plugins/lisa-cursor/commands/project-ideation.md +6 -0
  549. package/plugins/lisa-cursor/commands/pull-request/review.md +7 -0
  550. package/plugins/lisa-cursor/commands/queue-status.md +34 -0
  551. package/plugins/lisa-cursor/commands/repair-intake.md +6 -0
  552. package/plugins/lisa-cursor/commands/research.md +6 -0
  553. package/plugins/lisa-cursor/commands/review/local.md +6 -0
  554. package/plugins/lisa-cursor/commands/security/zap-scan.md +6 -0
  555. package/plugins/lisa-cursor/commands/setup/atlassian.md +7 -0
  556. package/plugins/lisa-cursor/commands/setup/confluence.md +7 -0
  557. package/plugins/lisa-cursor/commands/setup/github.md +7 -0
  558. package/plugins/lisa-cursor/commands/setup/jira.md +7 -0
  559. package/plugins/lisa-cursor/commands/setup/linear.md +7 -0
  560. package/plugins/lisa-cursor/commands/setup/notion.md +7 -0
  561. package/plugins/lisa-cursor/commands/setup-automations.md +6 -0
  562. package/plugins/lisa-cursor/commands/tear-down-automations.md +6 -0
  563. package/plugins/lisa-cursor/commands/verify-prd.md +6 -0
  564. package/plugins/lisa-cursor/commands/verify.md +6 -0
  565. package/plugins/lisa-cursor/commands/wiki/install.md +7 -0
  566. package/plugins/lisa-cursor/hooks/block-no-verify.sh +37 -0
  567. package/plugins/lisa-cursor/hooks/install-pkgs.sh +69 -0
  568. package/plugins/lisa-cursor/hooks/notify-ntfy.sh +183 -0
  569. package/plugins/lisa-cursor/hooks/setup-jira-cli.sh +51 -0
  570. package/plugins/lisa-cursor/rules/eager/base-rules.md +70 -0
  571. package/plugins/lisa-cursor/rules/eager/coding-philosophy.md +27 -0
  572. package/plugins/lisa-cursor/rules/eager/config-resolution.md +28 -0
  573. package/plugins/lisa-cursor/rules/eager/documentation-source-paths.md +13 -0
  574. package/plugins/lisa-cursor/rules/eager/empirical-inquiry.md +22 -0
  575. package/plugins/lisa-cursor/rules/eager/intent-routing.md +18 -0
  576. package/plugins/lisa-cursor/rules/eager/leaf-only-lifecycle.md +39 -0
  577. package/plugins/lisa-cursor/rules/eager/prd-lifecycle-rollup.md +31 -0
  578. package/plugins/lisa-cursor/rules/eager/repo-scope-split.md +39 -0
  579. package/plugins/lisa-cursor/rules/eager/security-audit-handling.md +29 -0
  580. package/plugins/lisa-cursor/rules/eager/usage-accounting.md +28 -0
  581. package/plugins/lisa-cursor/rules/eager/verification.md +21 -0
  582. package/plugins/lisa-cursor/rules/eager/wiki-knowledge-source.md +16 -0
  583. package/plugins/lisa-cursor/rules/reference/base-rules.md +133 -0
  584. package/plugins/lisa-cursor/rules/reference/coding-philosophy.md +428 -0
  585. package/plugins/lisa-cursor/rules/reference/config-resolution.md +691 -0
  586. package/plugins/lisa-cursor/rules/reference/documentation-source-paths.md +13 -0
  587. package/plugins/lisa-cursor/rules/reference/empirical-inquiry.md +27 -0
  588. package/plugins/lisa-cursor/rules/reference/intent-routing.md +407 -0
  589. package/plugins/lisa-cursor/rules/reference/leaf-only-lifecycle.md +120 -0
  590. package/plugins/lisa-cursor/rules/reference/prd-lifecycle-rollup.md +156 -0
  591. package/plugins/lisa-cursor/rules/reference/repo-scope-split.md +58 -0
  592. package/plugins/lisa-cursor/rules/reference/security-audit-handling.md +30 -0
  593. package/plugins/lisa-cursor/rules/reference/usage-accounting.md +144 -0
  594. package/plugins/lisa-cursor/rules/reference/verification.md +124 -0
  595. package/plugins/lisa-cursor/rules/reference/wiki-knowledge-source.md +14 -0
  596. package/plugins/lisa-cursor/scripts/automation-status-claude-adapter.mjs +672 -0
  597. package/plugins/lisa-cursor/scripts/automation-status-codex-adapter.mjs +697 -0
  598. package/plugins/lisa-cursor/scripts/automation-status-contract-drift.mjs +392 -0
  599. package/plugins/lisa-cursor/scripts/automation-status-expected-fleet.mjs +319 -0
  600. package/plugins/lisa-cursor/scripts/automation-status-report.mjs +170 -0
  601. package/plugins/lisa-cursor/scripts/doctor-report.mjs +143 -0
  602. package/plugins/lisa-cursor/scripts/plugin-sync-explain.mjs +512 -0
  603. package/plugins/lisa-cursor/scripts/project-ideation-idempotency-harness.mjs +319 -0
  604. package/plugins/lisa-cursor/scripts/queue-contract-resolution.mjs +453 -0
  605. package/plugins/lisa-cursor/scripts/queue-health-classification.mjs +157 -0
  606. package/plugins/lisa-cursor/scripts/queue-status-build-readers.mjs +509 -0
  607. package/plugins/lisa-cursor/scripts/queue-status-prd-readers.mjs +452 -0
  608. package/plugins/lisa-cursor/skills/acceptance-criteria/SKILL.md +71 -0
  609. package/plugins/lisa-cursor/skills/agent-design-best-practices/SKILL.md +219 -0
  610. package/plugins/lisa-cursor/skills/atlassian-access/SKILL.md +293 -0
  611. package/plugins/lisa-cursor/skills/automation-status/SKILL.md +111 -0
  612. package/plugins/lisa-cursor/skills/bug-triage/SKILL.md +23 -0
  613. package/plugins/lisa-cursor/skills/codebase-research/SKILL.md +87 -0
  614. package/plugins/lisa-cursor/skills/codify-verification/SKILL.md +152 -0
  615. package/plugins/lisa-cursor/skills/confluence-prd-intake/SKILL.md +417 -0
  616. package/plugins/lisa-cursor/skills/confluence-to-tracker/SKILL.md +360 -0
  617. package/plugins/lisa-cursor/skills/confluence-write-prd/SKILL.md +109 -0
  618. package/plugins/lisa-cursor/skills/debrief/SKILL.md +94 -0
  619. package/plugins/lisa-cursor/skills/debrief-apply/SKILL.md +63 -0
  620. package/plugins/lisa-cursor/skills/doctor/SKILL.md +317 -0
  621. package/plugins/lisa-cursor/skills/epic-triage/SKILL.md +28 -0
  622. package/plugins/lisa-cursor/skills/fix-linter-error/SKILL.md +45 -0
  623. package/plugins/lisa-cursor/skills/git-commit/SKILL.md +48 -0
  624. package/plugins/lisa-cursor/skills/git-prune/SKILL.md +35 -0
  625. package/plugins/lisa-cursor/skills/git-submit-pr/SKILL.md +105 -0
  626. package/plugins/lisa-cursor/skills/github-add-journey/SKILL.md +115 -0
  627. package/plugins/lisa-cursor/skills/github-build-intake/SKILL.md +377 -0
  628. package/plugins/lisa-cursor/skills/github-create/SKILL.md +101 -0
  629. package/plugins/lisa-cursor/skills/github-evidence/SKILL.md +110 -0
  630. package/plugins/lisa-cursor/skills/github-journey/SKILL.md +121 -0
  631. package/plugins/lisa-cursor/skills/github-prd-intake/SKILL.md +432 -0
  632. package/plugins/lisa-cursor/skills/github-project-v2/SKILL.md +227 -0
  633. package/plugins/lisa-cursor/skills/github-read-issue/SKILL.md +248 -0
  634. package/plugins/lisa-cursor/skills/github-sync/SKILL.md +119 -0
  635. package/plugins/lisa-cursor/skills/github-to-tracker/SKILL.md +345 -0
  636. package/plugins/lisa-cursor/skills/github-validate-issue/SKILL.md +331 -0
  637. package/plugins/lisa-cursor/skills/github-verify/SKILL.md +29 -0
  638. package/plugins/lisa-cursor/skills/github-write-issue/SKILL.md +339 -0
  639. package/plugins/lisa-cursor/skills/github-write-prd/SKILL.md +157 -0
  640. package/plugins/lisa-cursor/skills/implement/SKILL.md +145 -0
  641. package/plugins/lisa-cursor/skills/improve-code-complexity/SKILL.md +44 -0
  642. package/plugins/lisa-cursor/skills/improve-max-lines/SKILL.md +45 -0
  643. package/plugins/lisa-cursor/skills/improve-max-lines-per-function/SKILL.md +46 -0
  644. package/plugins/lisa-cursor/skills/improve-test-coverage/SKILL.md +44 -0
  645. package/plugins/lisa-cursor/skills/improve-tests/SKILL.md +47 -0
  646. package/plugins/lisa-cursor/skills/intake/SKILL.md +132 -0
  647. package/plugins/lisa-cursor/skills/intake-explain/SKILL.md +279 -0
  648. package/plugins/lisa-cursor/skills/jira-add-journey/SKILL.md +121 -0
  649. package/plugins/lisa-cursor/skills/jira-build-intake/SKILL.md +286 -0
  650. package/plugins/lisa-cursor/skills/jira-create/SKILL.md +154 -0
  651. package/plugins/lisa-cursor/skills/jira-evidence/SKILL.md +90 -0
  652. package/plugins/lisa-cursor/skills/jira-evidence/scripts/post-evidence.sh +163 -0
  653. package/plugins/lisa-cursor/skills/jira-journey/SKILL.md +127 -0
  654. package/plugins/lisa-cursor/skills/jira-journey/scripts/generate-templates.py +233 -0
  655. package/plugins/lisa-cursor/skills/jira-journey/scripts/parse-plan.py +368 -0
  656. package/plugins/lisa-cursor/skills/jira-read-ticket/SKILL.md +198 -0
  657. package/plugins/lisa-cursor/skills/jira-read-ticket/scripts/download-attachment.sh +110 -0
  658. package/plugins/lisa-cursor/skills/jira-sync/SKILL.md +95 -0
  659. package/plugins/lisa-cursor/skills/jira-validate-ticket/SKILL.md +318 -0
  660. package/plugins/lisa-cursor/skills/jira-verify/SKILL.md +30 -0
  661. package/plugins/lisa-cursor/skills/jira-write-ticket/SKILL.md +265 -0
  662. package/plugins/lisa-cursor/skills/jsdoc-best-practices/SKILL.md +432 -0
  663. package/plugins/lisa-cursor/skills/linear-add-journey/SKILL.md +105 -0
  664. package/plugins/lisa-cursor/skills/linear-build-intake/SKILL.md +283 -0
  665. package/plugins/lisa-cursor/skills/linear-create/SKILL.md +146 -0
  666. package/plugins/lisa-cursor/skills/linear-evidence/SKILL.md +103 -0
  667. package/plugins/lisa-cursor/skills/linear-journey/SKILL.md +134 -0
  668. package/plugins/lisa-cursor/skills/linear-prd-intake/SKILL.md +383 -0
  669. package/plugins/lisa-cursor/skills/linear-read-issue/SKILL.md +200 -0
  670. package/plugins/lisa-cursor/skills/linear-sync/SKILL.md +114 -0
  671. package/plugins/lisa-cursor/skills/linear-to-tracker/SKILL.md +342 -0
  672. package/plugins/lisa-cursor/skills/linear-validate-issue/SKILL.md +313 -0
  673. package/plugins/lisa-cursor/skills/linear-verify/SKILL.md +51 -0
  674. package/plugins/lisa-cursor/skills/linear-write-issue/SKILL.md +292 -0
  675. package/plugins/lisa-cursor/skills/linear-write-prd/SKILL.md +96 -0
  676. package/plugins/lisa-cursor/skills/lisa-review-implementation/SKILL.md +209 -0
  677. package/plugins/lisa-cursor/skills/monitor/SKILL.md +48 -0
  678. package/plugins/lisa-cursor/skills/nightly-add-test-coverage/SKILL.md +40 -0
  679. package/plugins/lisa-cursor/skills/nightly-improve-tests/SKILL.md +29 -0
  680. package/plugins/lisa-cursor/skills/nightly-lower-code-complexity/SKILL.md +28 -0
  681. package/plugins/lisa-cursor/skills/notion-access/SKILL.md +226 -0
  682. package/plugins/lisa-cursor/skills/notion-prd-intake/SKILL.md +360 -0
  683. package/plugins/lisa-cursor/skills/notion-to-tracker/SKILL.md +357 -0
  684. package/plugins/lisa-cursor/skills/notion-write-prd/SKILL.md +109 -0
  685. package/plugins/lisa-cursor/skills/performance-review/SKILL.md +94 -0
  686. package/plugins/lisa-cursor/skills/plan/SKILL.md +60 -0
  687. package/plugins/lisa-cursor/skills/plugin-sync-explain/SKILL.md +53 -0
  688. package/plugins/lisa-cursor/skills/prd-backlink/SKILL.md +265 -0
  689. package/plugins/lisa-cursor/skills/prd-source-write/SKILL.md +101 -0
  690. package/plugins/lisa-cursor/skills/prd-ticket-coverage/SKILL.md +170 -0
  691. package/plugins/lisa-cursor/skills/product-walkthrough/SKILL.md +129 -0
  692. package/plugins/lisa-cursor/skills/project-ideation/SKILL.md +315 -0
  693. package/plugins/lisa-cursor/skills/project-ideation/examples/evidence-card-format.md +21 -0
  694. package/plugins/lisa-cursor/skills/project-ideation/examples/host-project-only.md +22 -0
  695. package/plugins/lisa-cursor/skills/project-ideation/examples/idempotency-verification-harness.md +57 -0
  696. package/plugins/lisa-cursor/skills/project-ideation/examples/public-external-inspiration.md +22 -0
  697. package/plugins/lisa-cursor/skills/project-ideation/examples/unavailable-data-rejection.md +22 -0
  698. package/plugins/lisa-cursor/skills/pull-request-review/SKILL.md +68 -0
  699. package/plugins/lisa-cursor/skills/quality-review/SKILL.md +54 -0
  700. package/plugins/lisa-cursor/skills/queue-status/SKILL.md +133 -0
  701. package/plugins/lisa-cursor/skills/repair-intake/SKILL.md +584 -0
  702. package/plugins/lisa-cursor/skills/reproduce-bug/SKILL.md +96 -0
  703. package/plugins/lisa-cursor/skills/research/SKILL.md +68 -0
  704. package/plugins/lisa-cursor/skills/review-local/SKILL.md +88 -0
  705. package/plugins/lisa-cursor/skills/root-cause-analysis/SKILL.md +155 -0
  706. package/plugins/lisa-cursor/skills/security-review/SKILL.md +57 -0
  707. package/plugins/lisa-cursor/skills/security-zap-scan/SKILL.md +33 -0
  708. package/plugins/lisa-cursor/skills/setup-atlassian/SKILL.md +347 -0
  709. package/plugins/lisa-cursor/skills/setup-automations/SKILL.md +99 -0
  710. package/plugins/lisa-cursor/skills/setup-confluence/SKILL.md +254 -0
  711. package/plugins/lisa-cursor/skills/setup-github/SKILL.md +268 -0
  712. package/plugins/lisa-cursor/skills/setup-jira/SKILL.md +198 -0
  713. package/plugins/lisa-cursor/skills/setup-linear/SKILL.md +251 -0
  714. package/plugins/lisa-cursor/skills/setup-notion/SKILL.md +316 -0
  715. package/plugins/lisa-cursor/skills/spec-conformance/SKILL.md +159 -0
  716. package/plugins/lisa-cursor/skills/task-decomposition/SKILL.md +127 -0
  717. package/plugins/lisa-cursor/skills/task-triage/SKILL.md +23 -0
  718. package/plugins/lisa-cursor/skills/tdd-implementation/SKILL.md +83 -0
  719. package/plugins/lisa-cursor/skills/tear-down-automations/SKILL.md +34 -0
  720. package/plugins/lisa-cursor/skills/test-strategy/SKILL.md +63 -0
  721. package/plugins/lisa-cursor/skills/ticket-triage/SKILL.md +182 -0
  722. package/plugins/lisa-cursor/skills/tracker-add-journey/SKILL.md +26 -0
  723. package/plugins/lisa-cursor/skills/tracker-build-intake/SKILL.md +64 -0
  724. package/plugins/lisa-cursor/skills/tracker-create/SKILL.md +26 -0
  725. package/plugins/lisa-cursor/skills/tracker-evidence/SKILL.md +52 -0
  726. package/plugins/lisa-cursor/skills/tracker-journey/SKILL.md +26 -0
  727. package/plugins/lisa-cursor/skills/tracker-read/SKILL.md +27 -0
  728. package/plugins/lisa-cursor/skills/tracker-source-artifacts/SKILL.md +107 -0
  729. package/plugins/lisa-cursor/skills/tracker-sync/SKILL.md +51 -0
  730. package/plugins/lisa-cursor/skills/tracker-validate/SKILL.md +36 -0
  731. package/plugins/lisa-cursor/skills/tracker-verify/SKILL.md +27 -0
  732. package/plugins/lisa-cursor/skills/tracker-write/SKILL.md +53 -0
  733. package/plugins/lisa-cursor/skills/usage-accounting/SKILL.md +170 -0
  734. package/plugins/lisa-cursor/skills/verification-lifecycle/SKILL.md +339 -0
  735. package/plugins/lisa-cursor/skills/verify/SKILL.md +49 -0
  736. package/plugins/lisa-cursor/skills/verify-prd/SKILL.md +392 -0
  737. package/plugins/lisa-cursor/skills/wiki-install/SKILL.md +101 -0
  738. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  739. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  740. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  741. package/plugins/lisa-harper-fabric/.codex-plugin/hooks/inject-rules.sh +16 -0
  742. package/plugins/lisa-harper-fabric/.codex-plugin/hooks.json +26 -0
  743. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +2 -1
  744. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  745. package/plugins/lisa-nestjs/.codex-plugin/hooks/block-migration-edits.sh +60 -0
  746. package/plugins/lisa-nestjs/.codex-plugin/hooks.json +15 -0
  747. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +2 -1
  748. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  749. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  750. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  751. package/plugins/lisa-rails/.codex-plugin/hooks/inject-rules.sh +22 -0
  752. package/plugins/lisa-rails/.codex-plugin/hooks/rubocop-on-edit.sh +78 -0
  753. package/plugins/lisa-rails/.codex-plugin/hooks/sg-scan-on-edit.sh +74 -0
  754. package/plugins/lisa-rails/.codex-plugin/hooks.json +41 -0
  755. package/plugins/lisa-rails/.codex-plugin/plugin.json +2 -1
  756. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  757. package/plugins/lisa-typescript/.codex-plugin/hooks/block-suppress-directives.sh +73 -0
  758. package/plugins/lisa-typescript/.codex-plugin/hooks/format-on-edit.sh +79 -0
  759. package/plugins/lisa-typescript/.codex-plugin/hooks/lint-on-edit.sh +134 -0
  760. package/plugins/lisa-typescript/.codex-plugin/hooks/sg-scan-on-edit.sh +71 -0
  761. package/plugins/lisa-typescript/.codex-plugin/hooks.json +34 -0
  762. package/plugins/lisa-typescript/.codex-plugin/plugin.json +2 -1
  763. package/plugins/lisa-typescript/hooks/format-on-edit.sh +5 -3
  764. package/plugins/lisa-typescript/hooks/lint-on-edit.sh +5 -2
  765. package/plugins/lisa-typescript/hooks/sg-scan-on-edit.sh +5 -2
  766. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  767. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  768. package/plugins/src/typescript/hooks/format-on-edit.sh +5 -3
  769. package/plugins/src/typescript/hooks/lint-on-edit.sh +5 -2
  770. package/plugins/src/typescript/hooks/sg-scan-on-edit.sh +5 -2
  771. package/scripts/build-plugins.sh +24 -0
  772. package/scripts/generate-agy-plugin-artifacts.mjs +168 -0
  773. package/scripts/generate-codex-plugin-artifacts.mjs +170 -12
  774. package/scripts/generate-copilot-plugin-artifacts.mjs +230 -0
  775. package/scripts/generate-cursor-plugin-artifacts.mjs +173 -0
  776. package/scripts/internal-agy-skill-policy.json +3 -0
  777. package/scripts/internal-copilot-runtime-probe.json +7 -0
  778. package/scripts/internal-copilot-skill-policy.json +3 -0
  779. package/scripts/internal-cursor-skill-policy.json +3 -0
  780. package/scripts/lib/per-agent-hook-filter.mjs +249 -0
  781. package/scripts/probes/wave3-verification.sh +106 -0
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Default Lisa marketplace plugin reference inside `~/.codex/config.toml`.
3
+ *
4
+ * ⚠ The exact slug Codex stores depends on how Codex normalizes the
5
+ * marketplace name passed to `codex plugin install lisa@CodySwannGT/lisa`.
6
+ * The dash form (`CodySwannGT-lisa`) matches Codex's plugin cache directory
7
+ * naming convention (`~/.codex/plugins/cache/CodySwannGT-lisa/...`) but the
8
+ * slash form (`CodySwannGT/lisa`) is what users type. Until empirically
9
+ * verified by running the canonical install and reading the resulting TOML
10
+ * key, callers can pass either shape via the `pluginKey` parameter.
11
+ *
12
+ * The {@link isLisaInstalledAsCodexPlugin} helper tries the dash form by
13
+ * default; downstream wiring (when this helper is consumed) should call it
14
+ * with both shapes via {@link isLisaInstalledUnderAnyCanonicalKey} once that
15
+ * variant is added.
16
+ */
17
+ export declare const DEFAULT_LISA_PLUGIN_KEY = "lisa@CodySwannGT-lisa";
18
+ /** Alternative canonical key shape using slash separator. */
19
+ export declare const SLASH_LISA_PLUGIN_KEY = "lisa@CodySwannGT/lisa";
20
+ /**
21
+ * Detect whether either canonical Lisa plugin key shape is enabled.
22
+ *
23
+ * Until the exact Codex storage key shape is empirically pinned, callers
24
+ * that need a definitive yes/no answer should use this helper rather than
25
+ * the single-key {@link isLisaInstalledAsCodexPlugin}.
26
+ *
27
+ * @returns True when either dash-form or slash-form key is enabled.
28
+ */
29
+ export declare function isLisaInstalledUnderAnyCanonicalKey(): Promise<boolean>;
30
+ /**
31
+ * Resolve the path to `~/.codex/config.toml`.
32
+ *
33
+ * Does not consult `$CODEX_HOME` — this detection runs from `lisa apply`
34
+ * (a build-tooling context, not an end-user shell) where the caller's
35
+ * environment may not reflect the user's Codex install location. If
36
+ * downstream Lisa flows need `$CODEX_HOME`-aware resolution, they can
37
+ * pass an absolute path to {@link tomlHasEnabledPlugin} directly after
38
+ * reading the file themselves.
39
+ *
40
+ * @returns Absolute path to `~/.codex/config.toml` (whether it exists or not).
41
+ */
42
+ export declare function codexConfigPath(): string;
43
+ /**
44
+ * Test whether the given config.toml body declares the Lisa plugin as enabled.
45
+ *
46
+ * Looks for a heading of the form `[plugins."<pluginKey>"]` followed by an
47
+ * `enabled = true` line within the section. Implementation is intentionally
48
+ * simple-text rather than a full TOML parse to avoid pulling a TOML dependency
49
+ * into a hot detection path; a stricter parse can replace this if false
50
+ * positives appear in practice.
51
+ *
52
+ * @param tomlBody - Contents of config.toml.
53
+ * @param pluginKey - The plugin key string (e.g. "lisa@CodySwannGT-lisa").
54
+ * @returns True when an enabled-true entry for the plugin key is present.
55
+ */
56
+ export declare function tomlHasEnabledPlugin(tomlBody: string, pluginKey?: string): boolean;
57
+ /**
58
+ * Detect whether Lisa is currently installed and enabled as a Codex plugin.
59
+ *
60
+ * Read-only; safe to call from inside any installer's preflight gate. Returns
61
+ * false on any error (missing file, parse failure, IO error) so the caller
62
+ * defaults to running its per-project install path.
63
+ *
64
+ * @param pluginKey - The plugin key to look for. Defaults to the canonical
65
+ * Lisa marketplace ref.
66
+ * @returns True when the plugin is enabled in `~/.codex/config.toml`.
67
+ */
68
+ export declare function isLisaInstalledAsCodexPlugin(pluginKey?: string): Promise<boolean>;
69
+ //# sourceMappingURL=lisa-plugin-detection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lisa-plugin-detection.d.ts","sourceRoot":"","sources":["../../src/codex/lisa-plugin-detection.ts"],"names":[],"mappings":"AAuBA;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,uBAAuB,0BAA0B,CAAC;AAE/D,6DAA6D;AAC7D,eAAO,MAAM,qBAAqB,0BAA0B,CAAC;AAE7D;;;;;;;;GAQG;AACH,wBAAsB,mCAAmC,IAAI,OAAO,CAAC,OAAO,CAAC,CAI5E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,SAAS,GAAE,MAAgC,GAC1C,OAAO,CAwBT;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,4BAA4B,CAChD,SAAS,GAAE,MAAgC,GAC1C,OAAO,CAAC,OAAO,CAAC,CASlB"}
@@ -0,0 +1,135 @@
1
+ /**
2
+ * Detect whether Lisa is installed as a Codex plugin (via marketplace).
3
+ *
4
+ * Per `wiki/decisions/2026-05-28-codex-skills-canonical-path.md` and Wave 2
5
+ * fan-out spec §src/codex/, when Lisa is installed via the Codex plugin
6
+ * marketplace the per-project skills and hooks installers should no-op (the
7
+ * plugin payload delivers the same components). When Lisa is NOT installed
8
+ * as a plugin, the per-project installers continue to run as the fallback
9
+ * delivery path.
10
+ *
11
+ * Detection: read `~/.codex/config.toml` (honoring `$CODEX_HOME` if set) and
12
+ * check for a `[plugins."lisa@CodySwannGT-lisa"]` table with `enabled = true`.
13
+ *
14
+ * This is a best-effort detection. If the config file is missing, malformed,
15
+ * or unreadable, the function returns `false` (fall through to per-project
16
+ * install).
17
+ * @module codex/lisa-plugin-detection
18
+ */
19
+ import { readFile } from "node:fs/promises";
20
+ import { existsSync } from "node:fs";
21
+ import * as os from "node:os";
22
+ import * as path from "node:path";
23
+ /**
24
+ * Default Lisa marketplace plugin reference inside `~/.codex/config.toml`.
25
+ *
26
+ * ⚠ The exact slug Codex stores depends on how Codex normalizes the
27
+ * marketplace name passed to `codex plugin install lisa@CodySwannGT/lisa`.
28
+ * The dash form (`CodySwannGT-lisa`) matches Codex's plugin cache directory
29
+ * naming convention (`~/.codex/plugins/cache/CodySwannGT-lisa/...`) but the
30
+ * slash form (`CodySwannGT/lisa`) is what users type. Until empirically
31
+ * verified by running the canonical install and reading the resulting TOML
32
+ * key, callers can pass either shape via the `pluginKey` parameter.
33
+ *
34
+ * The {@link isLisaInstalledAsCodexPlugin} helper tries the dash form by
35
+ * default; downstream wiring (when this helper is consumed) should call it
36
+ * with both shapes via {@link isLisaInstalledUnderAnyCanonicalKey} once that
37
+ * variant is added.
38
+ */
39
+ export const DEFAULT_LISA_PLUGIN_KEY = "lisa@CodySwannGT-lisa";
40
+ /** Alternative canonical key shape using slash separator. */
41
+ export const SLASH_LISA_PLUGIN_KEY = "lisa@CodySwannGT/lisa";
42
+ /**
43
+ * Detect whether either canonical Lisa plugin key shape is enabled.
44
+ *
45
+ * Until the exact Codex storage key shape is empirically pinned, callers
46
+ * that need a definitive yes/no answer should use this helper rather than
47
+ * the single-key {@link isLisaInstalledAsCodexPlugin}.
48
+ *
49
+ * @returns True when either dash-form or slash-form key is enabled.
50
+ */
51
+ export async function isLisaInstalledUnderAnyCanonicalKey() {
52
+ if (await isLisaInstalledAsCodexPlugin(DEFAULT_LISA_PLUGIN_KEY))
53
+ return true;
54
+ if (await isLisaInstalledAsCodexPlugin(SLASH_LISA_PLUGIN_KEY))
55
+ return true;
56
+ return false;
57
+ }
58
+ /**
59
+ * Resolve the path to `~/.codex/config.toml`.
60
+ *
61
+ * Does not consult `$CODEX_HOME` — this detection runs from `lisa apply`
62
+ * (a build-tooling context, not an end-user shell) where the caller's
63
+ * environment may not reflect the user's Codex install location. If
64
+ * downstream Lisa flows need `$CODEX_HOME`-aware resolution, they can
65
+ * pass an absolute path to {@link tomlHasEnabledPlugin} directly after
66
+ * reading the file themselves.
67
+ *
68
+ * @returns Absolute path to `~/.codex/config.toml` (whether it exists or not).
69
+ */
70
+ export function codexConfigPath() {
71
+ return path.join(os.homedir(), ".codex", "config.toml");
72
+ }
73
+ /**
74
+ * Test whether the given config.toml body declares the Lisa plugin as enabled.
75
+ *
76
+ * Looks for a heading of the form `[plugins."<pluginKey>"]` followed by an
77
+ * `enabled = true` line within the section. Implementation is intentionally
78
+ * simple-text rather than a full TOML parse to avoid pulling a TOML dependency
79
+ * into a hot detection path; a stricter parse can replace this if false
80
+ * positives appear in practice.
81
+ *
82
+ * @param tomlBody - Contents of config.toml.
83
+ * @param pluginKey - The plugin key string (e.g. "lisa@CodySwannGT-lisa").
84
+ * @returns True when an enabled-true entry for the plugin key is present.
85
+ */
86
+ export function tomlHasEnabledPlugin(tomlBody, pluginKey = DEFAULT_LISA_PLUGIN_KEY) {
87
+ // Line-by-line scan instead of multiline regex — keeps the matcher trivially
88
+ // linear in input length and avoids sonarjs/slow-regex warnings.
89
+ const expectedHeader = `[plugins."${pluginKey}"]`;
90
+ const lines = tomlBody.split("\n");
91
+ const stripTrailingComment = (line) => {
92
+ const hashIdx = line.indexOf("#");
93
+ return (hashIdx === -1 ? line : line.slice(0, hashIdx)).trim();
94
+ };
95
+ const headerIndex = lines.findIndex(line => stripTrailingComment(line) === expectedHeader);
96
+ if (headerIndex === -1)
97
+ return false;
98
+ // Walk forward until the next section header (a line starting with "[") or EOF.
99
+ // Tolerate whitespace around `enabled = true`, tabs, and trailing comments
100
+ // (canonical Codex emitter uses `enabled = true` but TOML accepts variants).
101
+ const tail = lines.slice(headerIndex + 1);
102
+ const enabledTruePattern = /^enabled\s{0,4}=\s{0,4}true$/;
103
+ for (const raw of tail) {
104
+ const line = stripTrailingComment(raw);
105
+ if (line.startsWith("["))
106
+ return false; // next section reached without enabled
107
+ if (enabledTruePattern.test(line))
108
+ return true;
109
+ }
110
+ return false;
111
+ }
112
+ /**
113
+ * Detect whether Lisa is currently installed and enabled as a Codex plugin.
114
+ *
115
+ * Read-only; safe to call from inside any installer's preflight gate. Returns
116
+ * false on any error (missing file, parse failure, IO error) so the caller
117
+ * defaults to running its per-project install path.
118
+ *
119
+ * @param pluginKey - The plugin key to look for. Defaults to the canonical
120
+ * Lisa marketplace ref.
121
+ * @returns True when the plugin is enabled in `~/.codex/config.toml`.
122
+ */
123
+ export async function isLisaInstalledAsCodexPlugin(pluginKey = DEFAULT_LISA_PLUGIN_KEY) {
124
+ const configPath = codexConfigPath();
125
+ if (!existsSync(configPath))
126
+ return false;
127
+ try {
128
+ const body = await readFile(configPath, "utf8");
129
+ return tomlHasEnabledPlugin(body, pluginKey);
130
+ }
131
+ catch {
132
+ return false;
133
+ }
134
+ }
135
+ //# sourceMappingURL=lisa-plugin-detection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lisa-plugin-detection.js","sourceRoot":"","sources":["../../src/codex/lisa-plugin-detection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /** Relative path of Copilot's instruction file inside a host project. */
2
+ export declare const COPILOT_INSTRUCTIONS_RELATIVE_PATH: string;
3
+ /** Result of the Copilot instructions install pass. */
4
+ export interface CopilotInstructionsInstallResult {
5
+ /** True when Lisa created the file (false when it already existed). */
6
+ readonly created: boolean;
7
+ /** Path written, relative to the host project root (or undefined on no-op). */
8
+ readonly relativePath: string | undefined;
9
+ }
10
+ /**
11
+ * Write a starter `.github/copilot-instructions.md` at the host project root,
12
+ * but only if the file doesn't already exist.
13
+ *
14
+ * @param destDir - Absolute path to the host project root.
15
+ * @returns Result describing whether a file was created.
16
+ */
17
+ export declare function installCopilotInstructions(destDir: string): Promise<CopilotInstructionsInstallResult>;
18
+ //# sourceMappingURL=copilot-instructions-installer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copilot-instructions-installer.d.ts","sourceRoot":"","sources":["../../src/copilot/copilot-instructions-installer.ts"],"names":[],"mappings":"AAmBA,yEAAyE;AACzE,eAAO,MAAM,kCAAkC,QAG9C,CAAC;AAEF,uDAAuD;AACvD,MAAM,WAAW,gCAAgC;IAC/C,uEAAuE;IACvE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,+EAA+E;IAC/E,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3C;AA2BD;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,gCAAgC,CAAC,CAQ3C"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Write Lisa's `.github/copilot-instructions.md` template for Copilot host
3
+ * projects.
4
+ *
5
+ * Verified-by-run (2026-05-28): `copilot init` creates a `.github/` directory
6
+ * and is documented to write `.github/copilot-instructions.md` containing
7
+ * project-specific guidance Copilot auto-loads at session start.
8
+ *
9
+ * The installer mirrors `src/codex/agents-md-installer.ts`'s create-only
10
+ * semantics — Lisa never overwrites a host-authored
11
+ * `.github/copilot-instructions.md`. The Lisa template is short and points
12
+ * downstream at the canonical rule sources (Lisa plugin's `rules/eager/`
13
+ * directory, surfaced by the Copilot variant's bundled rules).
14
+ * @module copilot/copilot-instructions-installer
15
+ */
16
+ import { mkdir, writeFile } from "node:fs/promises";
17
+ import { existsSync } from "node:fs";
18
+ import * as path from "node:path";
19
+ /** Relative path of Copilot's instruction file inside a host project. */
20
+ export const COPILOT_INSTRUCTIONS_RELATIVE_PATH = path.join(".github", "copilot-instructions.md");
21
+ const TEMPLATE = `# Copilot Instructions
22
+
23
+ GitHub Copilot CLI auto-loads this file at session start as repository-specific
24
+ guidance.
25
+
26
+ Lisa governance is active in this project. Lisa's eager rules ship via the
27
+ \`lisa-copilot\` plugin (see
28
+ [CodySwannGT/lisa](https://github.com/CodySwannGT/lisa)) and Copilot loads them
29
+ through the plugin's bundled \`rules/\` directory plus the \`SessionStart\` hook
30
+ \`inject-rules.sh\` (the same polyfill Lisa uses on Claude and Codex when the
31
+ agent does not auto-load rules from a plugin).
32
+
33
+ This file is the place to add project-specific guidance that Lisa's universal
34
+ rules do not cover. It is create-only from Lisa's perspective — re-running
35
+ \`lisa apply\` will never overwrite host-authored guidance here.
36
+
37
+ Reference paths Copilot reads natively at session start:
38
+
39
+ - \`.github/copilot-instructions.md\` (this file)
40
+ - \`AGENTS.md\` at project root, when present
41
+ - \`CLAUDE.md\` at project root, when present (Copilot cross-reads)
42
+
43
+ Add custom guidance below this line:
44
+ `;
45
+ /**
46
+ * Write a starter `.github/copilot-instructions.md` at the host project root,
47
+ * but only if the file doesn't already exist.
48
+ *
49
+ * @param destDir - Absolute path to the host project root.
50
+ * @returns Result describing whether a file was created.
51
+ */
52
+ export async function installCopilotInstructions(destDir) {
53
+ const filePath = path.join(destDir, COPILOT_INSTRUCTIONS_RELATIVE_PATH);
54
+ if (existsSync(filePath)) {
55
+ return { created: false, relativePath: undefined };
56
+ }
57
+ await mkdir(path.dirname(filePath), { recursive: true });
58
+ await writeFile(filePath, TEMPLATE, "utf8");
59
+ return { created: true, relativePath: COPILOT_INSTRUCTIONS_RELATIVE_PATH };
60
+ }
61
+ //# sourceMappingURL=copilot-instructions-installer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copilot-instructions-installer.js","sourceRoot":"","sources":["../../src/copilot/copilot-instructions-installer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,yEAAyE;AACzE,MAAM,CAAC,MAAM,kCAAkC,GAAG,IAAI,CAAC,IAAI,CACzD,SAAS,EACT,yBAAyB,CAC1B,CAAC;AAUF,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;CAuBhB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,OAAe;IAEf,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,kCAAkC,CAAC,CAAC;IACxE,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;IACrD,CAAC;IACD,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,MAAM,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,kCAAkC,EAAE,CAAC;AAC7E,CAAC"}
@@ -0,0 +1,29 @@
1
+ /** Result of the Copilot plugin install pass. */
2
+ export interface CopilotPluginInstallResult {
3
+ /** True when copilot was on PATH and an install was attempted. */
4
+ readonly attempted: boolean;
5
+ /** True when the install command exited 0. False on any error. */
6
+ readonly installed: boolean;
7
+ /** Which install path was used: "marketplace" or "local". */
8
+ readonly via: "marketplace" | "local" | undefined;
9
+ /** Resolved source argument passed to `copilot plugin install`. */
10
+ readonly source: string | undefined;
11
+ /** Error message captured on failure, or undefined on success/no-op. */
12
+ readonly error: string | undefined;
13
+ }
14
+ /**
15
+ * Install Lisa's Copilot plugin variant.
16
+ *
17
+ * Tries the marketplace path first (forward-compatible with the
18
+ * marketplace.json `pluginRoot` doubling fix from Wave 2 spec step 8). On
19
+ * marketplace failure (including the "plugin source directory not found"
20
+ * error caused by today's marketplace shape), falls back to local-path
21
+ * install against `plugins/lisa-copilot/` from the Lisa package.
22
+ *
23
+ * @param lisaPluginRoot - Absolute path to Lisa's `plugins/` directory.
24
+ * @param marketplaceRef - Marketplace install ref, defaulting to
25
+ * "lisa@CodySwannGT/lisa".
26
+ * @returns Install result.
27
+ */
28
+ export declare function installCopilotPlugin(lisaPluginRoot: string, marketplaceRef?: string): Promise<CopilotPluginInstallResult>;
29
+ //# sourceMappingURL=plugin-installer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-installer.d.ts","sourceRoot":"","sources":["../../src/copilot/plugin-installer.ts"],"names":[],"mappings":"AAgCA,iDAAiD;AACjD,MAAM,WAAW,0BAA0B;IACzC,kEAAkE;IAClE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,kEAAkE;IAClE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,6DAA6D;IAC7D,QAAQ,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,GAAG,SAAS,CAAC;IAClD,mEAAmE;IACnE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,wEAAwE;IACxE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AA4ED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,oBAAoB,CACxC,cAAc,EAAE,MAAM,EACtB,cAAc,GAAE,MAAgC,GAC/C,OAAO,CAAC,0BAA0B,CAAC,CAyBrC"}
@@ -0,0 +1,140 @@
1
+ /**
2
+ * Detect `copilot` (GitHub Copilot CLI) and install Lisa's Copilot plugin
3
+ * variant.
4
+ *
5
+ * Two distribution paths are supported (in priority order):
6
+ *
7
+ * 1. Marketplace install via `copilot plugin install lisa@CodySwannGT/lisa`.
8
+ * This is the documented forward path. As of 2026-05-28 it fails because
9
+ * Lisa's `.claude-plugin/marketplace.json` `pluginRoot: "./plugins"` and
10
+ * each plugin's `source: "./plugins/lisa"` double-up to `plugins/plugins/lisa`
11
+ * under Copilot's marketplace cache. The marketplace.json fix is gated on
12
+ * empirical verification (Wave 2 spec step 8); when the fix lands this
13
+ * installer's marketplace path becomes usable.
14
+ *
15
+ * 2. Local-path install via `copilot plugin install <plugins/lisa-copilot>`.
16
+ * Currently emits a deprecation warning ("only plugin@marketplace installs
17
+ * will be supported in a future release") but works. Lisa uses this as
18
+ * the fallback while the marketplace fix is in-flight.
19
+ *
20
+ * Detection rule: `copilot` must be on `$PATH`. If absent, no-op.
21
+ *
22
+ * Idempotence rule: Copilot's plugin install handles its own state; re-running
23
+ * against the same source updates the installed-plugins entry without erroring.
24
+ * @module copilot/plugin-installer
25
+ */
26
+ import { exec } from "node:child_process";
27
+ import { promisify } from "node:util";
28
+ import { existsSync } from "node:fs";
29
+ import * as path from "node:path";
30
+ const execAsync = promisify(exec);
31
+ /**
32
+ * Detect whether `copilot` is on PATH.
33
+ *
34
+ * @returns True when copilot is callable.
35
+ */
36
+ async function detectCopilot() {
37
+ try {
38
+ await execAsync("command -v copilot");
39
+ return true;
40
+ }
41
+ catch {
42
+ return false;
43
+ }
44
+ }
45
+ /**
46
+ * Try the marketplace install path. Returns the install result.
47
+ *
48
+ * @param marketplaceRef - e.g. "lisa@CodySwannGT/lisa".
49
+ * @returns Result describing whether the install succeeded.
50
+ */
51
+ async function tryMarketplaceInstall(marketplaceRef) {
52
+ try {
53
+ await execAsync(`copilot plugin install ${JSON.stringify(marketplaceRef)}`);
54
+ return {
55
+ attempted: true,
56
+ installed: true,
57
+ via: "marketplace",
58
+ source: marketplaceRef,
59
+ error: undefined,
60
+ };
61
+ }
62
+ catch (err) {
63
+ const message = err instanceof Error ? err.message : String(err);
64
+ return {
65
+ attempted: true,
66
+ installed: false,
67
+ via: "marketplace",
68
+ source: marketplaceRef,
69
+ error: message,
70
+ };
71
+ }
72
+ }
73
+ /**
74
+ * Try the local-path install path against Lisa's Copilot variant.
75
+ *
76
+ * @param localPath - Absolute path to plugins/lisa-copilot/.
77
+ * @returns Result describing whether the install succeeded.
78
+ */
79
+ async function tryLocalInstall(localPath) {
80
+ try {
81
+ await execAsync(`copilot plugin install ${JSON.stringify(localPath)}`);
82
+ return {
83
+ attempted: true,
84
+ installed: true,
85
+ via: "local",
86
+ source: localPath,
87
+ error: undefined,
88
+ };
89
+ }
90
+ catch (err) {
91
+ const message = err instanceof Error ? err.message : String(err);
92
+ return {
93
+ attempted: true,
94
+ installed: false,
95
+ via: "local",
96
+ source: localPath,
97
+ error: message,
98
+ };
99
+ }
100
+ }
101
+ /**
102
+ * Install Lisa's Copilot plugin variant.
103
+ *
104
+ * Tries the marketplace path first (forward-compatible with the
105
+ * marketplace.json `pluginRoot` doubling fix from Wave 2 spec step 8). On
106
+ * marketplace failure (including the "plugin source directory not found"
107
+ * error caused by today's marketplace shape), falls back to local-path
108
+ * install against `plugins/lisa-copilot/` from the Lisa package.
109
+ *
110
+ * @param lisaPluginRoot - Absolute path to Lisa's `plugins/` directory.
111
+ * @param marketplaceRef - Marketplace install ref, defaulting to
112
+ * "lisa@CodySwannGT/lisa".
113
+ * @returns Install result.
114
+ */
115
+ export async function installCopilotPlugin(lisaPluginRoot, marketplaceRef = "lisa@CodySwannGT/lisa") {
116
+ if (!(await detectCopilot())) {
117
+ return {
118
+ attempted: false,
119
+ installed: false,
120
+ via: undefined,
121
+ source: undefined,
122
+ error: undefined,
123
+ };
124
+ }
125
+ const marketplaceResult = await tryMarketplaceInstall(marketplaceRef);
126
+ if (marketplaceResult.installed)
127
+ return marketplaceResult;
128
+ const localPath = path.join(lisaPluginRoot, "lisa-copilot");
129
+ if (!existsSync(path.join(localPath, ".claude-plugin", "plugin.json"))) {
130
+ return {
131
+ attempted: true,
132
+ installed: false,
133
+ via: "local",
134
+ source: localPath,
135
+ error: `Lisa Copilot variant not found at ${localPath}/.claude-plugin/plugin.json — run \`bun run build:plugins\` first`,
136
+ };
137
+ }
138
+ return tryLocalInstall(localPath);
139
+ }
140
+ //# sourceMappingURL=plugin-installer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-installer.js","sourceRoot":"","sources":["../../src/copilot/plugin-installer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAgBlC;;;;GAIG;AACH,KAAK,UAAU,aAAa;IAC1B,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,oBAAoB,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,qBAAqB,CAClC,cAAsB;IAEtB,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,0BAA0B,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAC5E,OAAO;YACL,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,IAAI;YACf,GAAG,EAAE,aAAa;YAClB,MAAM,EAAE,cAAc;YACtB,KAAK,EAAE,SAAS;SACjB,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO;YACL,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,KAAK;YAChB,GAAG,EAAE,aAAa;YAClB,MAAM,EAAE,cAAc;YACtB,KAAK,EAAE,OAAO;SACf,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,eAAe,CAC5B,SAAiB;IAEjB,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,0BAA0B,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACvE,OAAO;YACL,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,IAAI;YACf,GAAG,EAAE,OAAO;YACZ,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,SAAS;SACjB,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO;YACL,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,KAAK;YAChB,GAAG,EAAE,OAAO;YACZ,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,OAAO;SACf,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,cAAsB,EACtB,iBAAyB,uBAAuB;IAEhD,IAAI,CAAC,CAAC,MAAM,aAAa,EAAE,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,SAAS,EAAE,KAAK;YAChB,GAAG,EAAE,SAAS;YACd,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,SAAS;SACjB,CAAC;IACJ,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,qBAAqB,CAAC,cAAc,CAAC,CAAC;IACtE,IAAI,iBAAiB,CAAC,SAAS;QAAE,OAAO,iBAAiB,CAAC;IAE1D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IAC5D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;QACvE,OAAO;YACL,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,KAAK;YAChB,GAAG,EAAE,OAAO;YACZ,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,qCAAqC,SAAS,mEAAmE;SACzH,CAAC;IACJ,CAAC;IACD,OAAO,eAAe,CAAC,SAAS,CAAC,CAAC;AACpC,CAAC"}
@@ -21,11 +21,15 @@ export declare const COPY_STRATEGIES: readonly CopyStrategy[];
21
21
  /**
22
22
  * Target harness(es) for emitted artifacts.
23
23
  *
24
- * - "claude": emit Claude Code artifacts (.claude/, .claude-plugin/, etc.)
25
- * - "codex": emit OpenAI Codex CLI artifacts (.codex/, .codex-plugin/, .agents/, AGENTS.md)
26
- * - "both": emit both, so a project can use either harness
24
+ * - "claude": emit Claude Code artifacts (.claude/, .claude-plugin/, CLAUDE.md)
25
+ * - "codex": emit OpenAI Codex CLI artifacts (.codex/, .codex-plugin/, .agents/, AGENTS.md)
26
+ * - "cursor": emit Cursor artifacts (Cursor reads .claude-plugin/ natively; no per-project files)
27
+ * - "agy": emit Antigravity artifacts (~/.gemini/config/mcp_config.json + AGENTS.md with baked rules)
28
+ * - "copilot": emit GitHub Copilot artifacts (.github/copilot-instructions.md + plugin install)
29
+ * - "both": emit both Claude and Codex (back-compat — predates the per-agent expansion)
30
+ * - "fleet": emit for every supported agent (Claude + Codex + Cursor + agy + Copilot)
27
31
  */
28
- export type Harness = "claude" | "codex" | "both";
32
+ export type Harness = "claude" | "codex" | "cursor" | "agy" | "copilot" | "both" | "fleet";
29
33
  /**
30
34
  * All valid harness values, in canonical order
31
35
  */
@@ -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,GACP,cAAc,GACd,cAAc,CAAC;AAEnB;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB,YAAY,GACZ,MAAM,GACN,QAAQ,GACR,KAAK,GACL,eAAe,GACf,aAAa,GACb,OAAO,CAAC;AAEZ;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAC3C,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC,CAS/B,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,WAAW,EAQ3C,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,YAAY,EAOzC,CAAC;AAEX;;;;;;GAMG;AACH,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,OAAO,EAInC,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,OAAkB,CAAC;AAEjD;;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;IAE/B,gFAAgF;IAChF,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAE/B,uEAAuE;IACvE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,UAAU,CAAC;AAEjD;;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;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,6CAA6C;IAC7C,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,oEAAoE;IACpE,QAAQ,CAAC,IAAI,CAAC,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,CAYzD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
@@ -39,7 +39,11 @@ export const COPY_STRATEGIES = [
39
39
  export const HARNESS_VALUES = [
40
40
  "claude",
41
41
  "codex",
42
+ "cursor",
43
+ "agy",
44
+ "copilot",
42
45
  "both",
46
+ "fleet",
43
47
  ];
44
48
  /**
45
49
  * Default harness when none is configured (backward compatibility — existing
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAuBA;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAE/B;IACF,IAAI,EAAE,YAAY;IAClB,MAAM,EAAE,YAAY;IACpB,GAAG,EAAE,YAAY;IACjB,eAAe,EAAE,YAAY;IAC7B,aAAa,EAAE,YAAY;IAC3B,UAAU,EAAE,SAAS;IACrB,KAAK,EAAE,SAAS;CACR,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA2B;IACxD,YAAY;IACZ,aAAa;IACb,eAAe;IACf,MAAM;IACN,QAAQ;IACR,KAAK;IACL,OAAO;CACC,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAA4B;IACtD,gBAAgB;IAChB,eAAe;IACf,aAAa;IACb,OAAO;IACP,cAAc;IACd,cAAc;CACN,CAAC;AAWX;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAuB;IAChD,QAAQ;IACR,OAAO;IACP,MAAM;CACE,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAY,QAAQ,CAAC;AAqFjD;;;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;QACV,iBAAiB,EAAE,CAAC;QACpB,iBAAiB,EAAE,CAAC;KACrB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAuBA;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAE/B;IACF,IAAI,EAAE,YAAY;IAClB,MAAM,EAAE,YAAY;IACpB,GAAG,EAAE,YAAY;IACjB,eAAe,EAAE,YAAY;IAC7B,aAAa,EAAE,YAAY;IAC3B,UAAU,EAAE,SAAS;IACrB,KAAK,EAAE,SAAS;CACR,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA2B;IACxD,YAAY;IACZ,aAAa;IACb,eAAe;IACf,MAAM;IACN,QAAQ;IACR,KAAK;IACL,OAAO;CACC,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAA4B;IACtD,gBAAgB;IAChB,eAAe;IACf,aAAa;IACb,OAAO;IACP,cAAc;IACd,cAAc;CACN,CAAC;AAsBX;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAuB;IAChD,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,KAAK;IACL,SAAS;IACT,MAAM;IACN,OAAO;CACC,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAY,QAAQ,CAAC;AAqFjD;;;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;QACV,iBAAiB,EAAE,CAAC;QACpB,iBAAiB,EAAE,CAAC;KACrB,CAAC;AACJ,CAAC"}
@@ -251,6 +251,41 @@ export declare class Lisa {
251
251
  * entries without touching host customizations.
252
252
  */
253
253
  private processCodexEmit;
254
+ /**
255
+ * Emit Claude-Code-targeted artifacts when the harness includes Claude.
256
+ *
257
+ * Claude's primary distribution is the GitHub marketplace; the only
258
+ * per-project artifact Lisa writes is a starter CLAUDE.md template the
259
+ * host owns from creation onward. Skipped in dry-run mode and on harness
260
+ * modes that don't include Claude.
261
+ */
262
+ private processClaudeEmit;
263
+ /**
264
+ * Emit Antigravity-targeted artifacts when the harness includes agy.
265
+ *
266
+ * Three per-project actions:
267
+ * 1. `agy plugin install` Lisa's Pattern B variant from
268
+ * `plugins/lisa-agy/` (when agy is on PATH).
269
+ * 2. Bake Lisa's eager rules into AGENTS.md (Bake polyfill — agy plugin
270
+ * hooks don't fire in -p mode so SessionStart-hook injection isn't
271
+ * available).
272
+ *
273
+ * MCP install is intentionally NOT dispatched here — Lisa's base plugin
274
+ * does not currently bundle MCP servers, so there is nothing to translate.
275
+ * When Lisa ships MCP servers in the future, wire `installAgyMcpConfig`
276
+ * here with the source MCP server map.
277
+ */
278
+ private processAgyEmit;
279
+ /**
280
+ * Emit GitHub-Copilot-targeted artifacts when the harness includes copilot.
281
+ *
282
+ * Two per-project actions:
283
+ * 1. `copilot plugin install lisa@CodySwannGT/lisa` (with local-path
284
+ * fallback when the marketplace path fails — currently does, pending
285
+ * the marketplace.json pluginRoot fix gated on Wave 2 spec step 8).
286
+ * 2. Create-only write of `.github/copilot-instructions.md`.
287
+ */
288
+ private processCopilotEmit;
254
289
  /**
255
290
  * Schedule a reconciliation re-run when Lisa is invoked as a package-manager
256
291
  * lifecycle script. Works around the fact that `bun add` (and similar
@@ -1 +1 @@
1
- {"version":3,"file":"lisa.d.ts","sourceRoot":"","sources":["../../src/core/lisa.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lisa.d.ts","sourceRoot":"","sources":["../../src/core/lisa.ts"],"names":[],"mappings":"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"}