@codyswann/lisa 2.188.1 → 2.188.2

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 (53) hide show
  1. package/README.md +74 -158
  2. package/cdk/create-only/.github/workflows/ci.yml +10 -7
  3. package/package.json +1 -1
  4. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  5. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  6. package/plugins/lisa-agy/plugin.json +1 -1
  7. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  8. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  9. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  10. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  11. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  12. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  13. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  14. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  15. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  16. package/plugins/lisa-expo-agy/plugin.json +1 -1
  17. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  18. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  19. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  20. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  21. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  22. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  23. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  24. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  25. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  26. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  27. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  28. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  29. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  30. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  31. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  32. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  33. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  34. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  35. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  36. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  37. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  38. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  39. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  40. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  41. package/plugins/lisa-rails-agy/plugin.json +1 -1
  42. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  43. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  44. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  45. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  46. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  47. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  48. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  49. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  50. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  51. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  52. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  53. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
package/README.md CHANGED
@@ -1,209 +1,125 @@
1
1
  # Lisa
2
2
 
3
- Lisa is a governance layer for AI-assisted software development. It ensures that AI agents whether running on a developer's machine or in CI/CDfollow the same standards, workflows, and quality gates.
3
+ Lisa is governance-as-code for AI-assisted software development. It makes one set of standards, workflows, and quality gates apply identically whether the work is done by a human, by an AI agent on a laptop, or by an automated job in CI — and it distributes those standards to every project as a versioned dependency.
4
4
 
5
- ## What Lisa Does
5
+ > **How to read this README**
6
+ >
7
+ > Lisa changes frequently, so this file stays deliberately conceptual. It teaches the mental model, which is stable, and avoids the specifics that drift — exact command names, flags, file paths, supported stacks, and version-dependent behavior. Wherever you need a current, concrete answer, you'll find a **Prompt for your coding agent**: a question to ask Claude Code (or whichever agent you use) that reads the live repository and answers from source.
8
+ >
9
+ > - **Humans** — paste the prompt into your agent instead of trusting a hard-coded list that may be stale.
10
+ > - **Agents** — treat these prompts as instructions. Prefer discovering the current answer from the repository over asserting it from memory, and verify against source before stating it as fact. That habit is the same one Lisa enforces on all work: *prove it, don't assume it.*
6
11
 
7
- ### Intent Routing
12
+ ## What Lisa is
8
13
 
9
- When a request comes in (from a human, a JIRA ticket, or a scheduled job), Lisa classifies it and routes it to the appropriate **flow**. Flows are ordered sequences of specialized agents, each with a defined role.
14
+ Lisa wears three faces from a single package:
10
15
 
11
- A request to fix a bug routes to a different flow than a request to build a feature or reduce code complexity. The routing is automatic based on context, but can be overridden explicitly via slash commands.
16
+ - **A standards engine.** It applies a curated set of configs, CI workflows, git hooks, and project rules into a target repository and keeps them current as the package updates.
17
+ - **An operating system for coding agents.** It ships the skills, commands, agent roles, rules, and hooks that define *how* an AI agent investigates, builds, reviews, ships, and verifies work — and it delivers that same content to several different agent runtimes from one source.
18
+ - **A configuration library.** Projects can consume Lisa's linting, testing, and TypeScript presets directly, per technology stack, without adopting the rest.
12
19
 
13
- ### Flows and Agents
20
+ All three are versioned together, so "how we build software here" upgrades by bumping one dependency.
14
21
 
15
- A flow is a pipeline. Each step in the pipeline is an **agent** — a scoped AI with specific tools and instructions. One agent investigates git history, another reproduces bugs, another writes code, another verifies the result.
22
+ > **Prompt for your coding agent**
23
+ > "Give me a one-paragraph tour of this repository's top-level layout: where the apply/template engine lives, where the agent plugin content is authored, and where the shared config presets are exported. Read the source and cite paths."
16
24
 
17
- Behind the scenes, agents delegate domain-specific work to reusable instruction sets that are loaded automatically when a command runs. The same logic that triages a JIRA ticket interactively is the same logic invoked by the nightly triage workflow — you don't need to know which one is running.
25
+ ## Core principles
18
26
 
19
- Flows can nest. A build flow includes a verification sub-flow, which includes a ship sub-flow. This composition keeps each flow focused while enabling complex end-to-end workflows.
27
+ These are the durable ideas. Everything concrete descends from them.
20
28
 
21
- ### Quality Gates
29
+ **Single source, many destinations.** Agent instructions are authored once and compiled into runtime-specific artifacts and into each project. You never hand-edit the generated output — you edit the source and rebuild.
22
30
 
23
- Lisa enforces quality through layered gates:
31
+ > **Prompt for your coding agent**
32
+ > "In this repo, which directory is the source of truth for plugin/agent content, which directories are generated artifacts, and what command rebuilds them? Show me the guard that fails CI if the artifacts drift from source."
24
33
 
25
- - **Rules** are loaded into every AI session automatically. They define coding standards, architectural patterns, and behavioral expectations. The AI follows them because they're part of its context.
26
- - **Git hooks** are hard stops. Pre-commit hooks run linting, formatting, and type checking. Pre-push hooks run tests, coverage checks, security audits, and dead code detection. Nothing ships without passing.
27
- - **Claude hooks** bridge AI actions to project tooling — ensuring that when the AI commits, pushes, or creates a PR, the project's quality infrastructure runs.
34
+ **Location-agnostic.** The same rules and gates hold on a developer's workstation, in a scheduled improvement job, and in a CI workflow reacting to a PR. Only the plumbing adapts local integrations versus REST in CI — the standards do not.
28
35
 
29
- ### Location Agnostic
36
+ **Layered quality gates.** Rules load into every agent session as context; git hooks are hard stops on commit and push; agent hooks bridge an agent's actions to the project's real tooling so linting, tests, and checks actually run.
30
37
 
31
- The same rules, workflows, and quality gates apply everywhere:
38
+ > **Prompt for your coding agent**
39
+ > "List the quality gates that would run against a change in this project — session rules, git hooks, and agent hooks — and for each, tell me whether it blocks or only warns, and how you can tell from the code."
32
40
 
33
- - On a developer's workstation running Claude Code interactively
34
- - In a GitHub Action running a nightly improvement job
35
- - In a CI workflow responding to a PR review comment
41
+ **Evidence-based verification.** A task is not "done" because an agent says so. Lisa requires work to be proven with reproducible, empirical evidence — the change is exercised, the behavior observed, the proof attached to the ticket and the PR — and it enforces this with gates that are not meant to be bypassed. If you take one idea from Lisa, take this one.
36
42
 
37
- The orchestration adapts to context — using MCP integrations locally and REST APIs in CI — but the standards don't change.
43
+ > **Prompt for your coding agent**
44
+ > "Walk me through how this project verifies that a change actually works before it is considered complete. What evidence is required, where is it recorded, and which gate refuses to let unverified work ship?"
38
45
 
39
- ### Template Governance
46
+ **Governed templates.** Every file Lisa distributes carries a governance intent: some are enforced and overwritten on every update, some are seeded once and then owned by the project, and some are merged so the project and Lisa both contribute. Knowing which is which tells you what you can safely edit.
40
47
 
41
- Lisa distributes its standards to downstream projects as templates. When a project installs Lisa, it receives:
48
+ > **Prompt for your coding agent**
49
+ > "For the file I want to change in my project, is it enforced by Lisa (overwritten on update), created-once (mine to edit), or merged? Read the template source and explain what will happen to my edits on the next Lisa update."
42
50
 
43
- - Linting, formatting, and type checking configurations
44
- - Test and coverage infrastructure
45
- - CI/CD workflows
46
- - Git hooks
47
- - AI agent definitions and project rules
51
+ **One repository per unit of work.** Planning artifacts may span repositories, but anything actually built and shipped targets exactly one repository. This keeps ownership and review unambiguous.
48
52
 
49
- Templates follow governance rules: some files are overwritten on every update (enforced standards), some are created once and left alone (project customization), and some are merged (shared defaults with project additions).
53
+ ## Getting started
50
54
 
51
- ## Quick Start
55
+ Install once, then create a new project or adopt Lisa into an existing one:
52
56
 
53
57
  ```bash
54
58
  npm install -g @codyswann/lisa
55
- lisa setup-project --type rails my-app
56
- cd my-app
57
59
  ```
58
60
 
59
- To add Lisa to an existing project instead, run:
61
+ The supported stacks, setup flags, and exact invocation evolve as the project grows, so ask for the current set rather than copying a list that may have moved on:
60
62
 
61
- ```bash
62
- lisa apply /path/to/project
63
- ```
64
-
65
- The historical positional form still works for backwards compatibility:
66
-
67
- ```bash
68
- lisa /path/to/project
69
- ```
70
-
71
- ## Working With Lisa
72
-
73
- Lisa exposes a small global CLI for project setup plus slash commands for the work lifecycle. Everything underneath — agents, sub-flows, and the supporting libraries that power each step — happens automatically.
74
-
75
- ### Global CLI
76
-
77
- Install Lisa once and use the explicit setup commands for new or existing projects:
78
-
79
- ```bash
80
- npm install -g @codyswann/lisa
81
- lisa setup-project --type rails my-app
82
- lisa setup-wiki
83
- lisa apply /path/to/project
84
- ```
85
-
86
- Supported starter-backed setup types are `rails`, `typescript`, `expo`, `nestjs`, `cdk`, `wiki`, and `harper-wiki`. `setup-project --type wiki` creates a wiki-first repository; `setup-wiki` adds or repairs an embedded `wiki/` in the current project.
87
-
88
- Maintenance commands are intentionally small:
89
-
90
- ```bash
91
- lisa doctor [path]
92
- lisa version
93
- lisa update
94
- ```
95
-
96
- `lisa version` reports the installed package version, latest npm version, install path, and default harness. `lisa update` prints the package-manager update command and only runs it when `--yes` is supplied. Normal commands perform a non-fatal npm update check unless `--no-update-check` or `LISA_SKIP_UPDATE_CHECK=1` is set.
97
-
98
- ### Lisa Workflow Commands
99
-
100
- Run these in Claude Code or the supported harness for the project.
101
-
102
- ### The Lifecycle
103
-
104
- A piece of work moves through five stages. Each stage has one command.
105
-
106
- | Stage | Command | What it does |
107
- | --- | --- | --- |
108
- | Research | `/lisa:research <problem>` | Investigates the codebase and problem space, then produces a PRD ready for planning. |
109
- | Plan | `/lisa:plan <PRD>` | Decomposes a PRD into ordered work items in your tracker (JIRA, GitHub Issues, or Linear). |
110
- | Implement | `/lisa:implement <ticket>` | Takes one work item from spec to shipped: assembles an agent team, runs the build, opens a PR, handles review, merges. |
111
- | Verify | `/lisa:verify` | Commits, pushes, opens a PR, monitors deploy, and verifies behavior in the target environment. Folded into `/lisa:implement` but available standalone. |
112
- | Debrief | `/lisa:debrief <epic>` | After shipping, mines tickets and PRs to surface edge cases, gotchas, and friction. Produces a triage doc; `/lisa:debrief:apply` persists accepted learnings. |
113
-
114
- Most users only ever call `/lisa:research`, `/lisa:plan`, and `/lisa:implement`. The rest run automatically as sub-flows.
115
-
116
- ### Batch and Scheduled Work
117
-
118
- | Command | What it does |
119
- | --- | --- |
120
- | `/lisa:intake <queue-url>` | Scans a Ready queue (Notion PRD database, JIRA project, GitHub repo, Linear team, Confluence space) and dispatches each item through the right lifecycle command. Designed as the cron target for unattended runs. |
121
- | `/lisa:intake-explain <item-ref>` | Read-only per-item diagnosis for PRD or build work. Reports the lifecycle role, verdict, decisive intake or repair gate, and smallest next action before an operator chooses `/lisa:intake`, `/lisa:repair-intake`, blocker cleanup, decomposition, or product follow-up. |
122
- | `/lisa:queue-status [queue=prd|queue=build]` | Read-only queue inspection for the current repo. Distinguishes idle vs misconfigured queues, highlights the most actionable item, and points operators to `/lisa:intake`, `/lisa:repair-intake`, `/lisa:automation-status`, or `/lisa:verify-prd`. |
123
- | `/lisa:repair-intake <queue-url>` | Read/write recovery scan for blocked, stale, or inconsistent queue state when normal intake is not the right next move. |
124
- | `/lisa:automation-status` | Read-only inspection of the repo's expected Lisa automation fleet so operators can distinguish empty queues from stale, drifted, or failing scheduler jobs. |
125
- | `/lisa:verify-prd <prd>` | Initiative-level acceptance pass for shipped PRDs. Verifies the shipped surface against the PRD and reopens to ticketed with fix work on failure. |
126
-
127
- PRD intake records generated work with native hierarchy where the source and tracker support it, and with a durable generated-work fallback everywhere else. The vendor matrix for GitHub, Linear, JIRA/Atlassian, Confluence, Notion, and cross-vendor queues lives in `plugins/src/base/rules/prd-lifecycle-rollup.md`.
128
-
129
- ### Optional GitHub Project Coordination
130
-
131
- GitHub Projects are an optional coordination layer for GitHub-backed Lisa flows, not the lifecycle source of truth. Real GitHub Issues and Pull Requests still carry the durable labels, comments, hierarchy, dependencies, and review state; Project membership just gives you a cross-repo view over that work.
63
+ > **Prompt for your coding agent**
64
+ > "Using the installed `lisa` CLI, show me how to (a) scaffold a new project and (b) apply Lisa to an existing one. List the project types it supports right now and the flags each command accepts — read `lisa --help` and the CLI source, don't guess."
132
65
 
133
- Use `/lisa:setup-github` to scaffold `github.projects.v2` in `.lisa.config.json`, then `/lisa:doctor` to verify namespace and access before operators rely on it. In v1, `github.projects.v2.owner.slug` must match `github.org`. `required: false` is the default best-effort mode: repository-local issue and PR writes still succeed if Project membership cannot be added. `required: true` upgrades the same failure into a blocking readiness error.
66
+ ## The work lifecycle
134
67
 
135
- This does not relax Lisa's single-repo leaf rule. PRDs, Epics, Stories, and Spikes may coordinate work across repositories, but every build-ready Task, Bug, Sub-task, or Improvement must still target exactly one repository, carry exactly one `repo:<name>` marker, and be claimed only by that repository's intake lane.
68
+ Lisa organizes a piece of work as a pipeline of specialized agent roles. Conceptually it moves through five stages:
136
69
 
137
- ### Maintenance and Operations
70
+ 1. **Understand** — investigate the codebase and the problem, produce a spec or PRD.
71
+ 2. **Plan** — decompose the spec into ordered work items in your tracker.
72
+ 3. **Build** — take one item from spec to a merged PR: a team of agents implements, reviews, and ships it.
73
+ 4. **Prove** — deploy, verify the behavior in the target environment with real evidence, and turn a passing manual check into a regression test.
74
+ 5. **Learn** — after shipping, mine the work for edge cases and friction and fold accepted learnings back into the standards.
138
75
 
139
- | Command | What it does |
140
- | --- | --- |
141
- | `/lisa:monitor [environment]` | Checks application health, logs, error rates, and performance for the named environment. |
142
- | `/lisa:product-walkthrough <route>` | Walks the live product through a real browser to ground PRD or ticket reasoning in current behavior. |
143
- | `/lisa:codify-verification <type> <what>` | Converts a passing manual verification into a regression test in the appropriate framework (Playwright, integration test, benchmark). Runs automatically after `/lisa:verify`. |
144
- | `/lisa:review:local` | Reviews local branch changes against `main`. |
145
- | `/lisa:pull-request:review <pr-url>` | Pulls down review comments on a PR and implements the valid ones. |
146
- | `/lisa:security:zap-scan` | Runs an OWASP ZAP baseline scan against the local app. |
76
+ Most people invoke only the first stages explicitly; the rest run as nested sub-flows. The same logic runs whether you trigger it by hand or a scheduled job triggers it unattended.
147
77
 
148
- ### Targeted Improvements
78
+ > **Prompt for your coding agent**
79
+ > "List the current Lisa lifecycle commands for this project — understand, plan, build, verify, debrief — with their exact names and arguments, and note any that run automatically as sub-steps. Read the installed commands, don't answer from memory."
149
80
 
150
- These commands tighten a specific quality threshold and fix every violation in one pass — useful for incremental hardening or nightly jobs.
81
+ ### Unattended and batch work
151
82
 
152
- | Command | What it does |
153
- | --- | --- |
154
- | `/lisa:improve:test-coverage <pct>` | Raises coverage to the target percentage by adding tests for uncovered code. |
155
- | `/lisa:improve:tests <target>` | Strengthens weak, brittle, or poorly-written tests. |
156
- | `/lisa:improve:code-complexity` | Lowers the cognitive-complexity threshold by 2 and fixes resulting violations. |
157
- | `/lisa:improve:max-lines <n>` | Reduces the max-file-lines threshold and fixes violations. |
158
- | `/lisa:improve:max-lines-per-function <n>` | Reduces the max-lines-per-function threshold and fixes violations. |
159
- | `/lisa:fix:linter-error <rule> [...]` | Fixes every violation of one or more ESLint rules across the codebase. |
83
+ Lisa can watch a queue of ready work and dispatch each item through the lifecycle on its own, which is what makes it usable as a scheduled operator. It can also recover queues that are stuck and report whether the automation fleet is healthy.
160
84
 
161
- ### Git Helpers
85
+ > **Prompt for your coding agent**
86
+ > "Which commands let this Lisa scan a work queue, dispatch ready items, repair stuck ones, and report on scheduled-automation health? Show me how I'd point one at my queue and what it expects in configuration."
162
87
 
163
- | Command | What it does |
164
- | --- | --- |
165
- | `/lisa:git:commit [hint]` | Creates conventional commits from the current changes. |
166
- | `/lisa:git:submit-pr [hint]` | Pushes and opens or updates a PR. |
167
- | `/lisa:git:prune` | Prunes local branches whose remotes have been deleted. |
88
+ ## Working across trackers and sources
168
89
 
169
- ### Talking to Lisa in Plain English
90
+ Lisa is deliberately vendor-neutral. The lifecycle runs the same whether your tickets live in one tracker or another and whether your product specs originate in one document tool or another — a thin dispatch layer selects the right integration from configuration, so the workflow you learn transfers.
170
91
 
171
- You don't have to remember any of this. Tell Claude what you want and the right command will run:
92
+ > **Prompt for your coding agent**
93
+ > "Which issue trackers and which PRD/spec sources does this Lisa support today, and which config keys select them? Read the vendor dispatch layer and the setup skills, then show me a minimal configuration for my combination."
172
94
 
173
- > "I have JIRA ticket PROJ-1234. Research, plan, and implement it."
174
- > "Walk through the checkout flow and tell me what's broken."
175
- > "Get test coverage to 90%."
95
+ ## The in-repository knowledge base
176
96
 
177
- > Ask Claude: "What commands are available?" for the full list at any time.
97
+ Lisa keeps a durable, markdown knowledge base inside the repo as the long-lived memory for architecture, workflows, decisions, and history — separate from the fast-moving code. It can ingest commits, PRs, design docs, and notes into that base and answer questions from it.
178
98
 
179
- ## Lisa LLM Wiki
99
+ > **Prompt for your coding agent**
100
+ > "Where is this repo's knowledge base, what should I read first to orient myself, and how do I ask you to ingest recent changes into it? List the current entry points."
180
101
 
181
- Lisa keeps an in-repository LLM Wiki under `wiki/`. It is the durable markdown knowledge base for Lisa architecture, workflows, skills, commands, templates, quality gates, git history, and ingestion notes.
102
+ A downstream project can add the same knowledge base on demand rather than receiving it by default.
182
103
 
183
- Start with:
104
+ > **Prompt for your coding agent**
105
+ > "Does my project have Lisa's knowledge base enabled? If not, walk me through enabling and bootstrapping it using whatever the current install and setup commands are."
184
106
 
185
- - `wiki/start-here.md` for orientation.
186
- - `wiki/index.md` for the maintained map.
187
- - `wiki/documentation/` for canonical Lisa documentation moved from root docs/spec files.
188
- - `wiki/projects/registry.md` for the monorepo registry.
189
- - `wiki/log.md` for ingestion history.
190
- - `wiki/sources/` for provenance.
107
+ ## Extending or contributing to Lisa
191
108
 
192
- Sample questions:
109
+ If you're changing Lisa itself: author agent content and templates at their source, never in generated output, and rebuild so the distributed artifacts regenerate. Lisa applies its own standards to itself, so the same gates that guard downstream projects guard this one — including the requirement to prove your change works.
193
110
 
194
- - What are Lisa's main architecture layers?
195
- - How do rules, skills, hooks, commands, and CI quality gates work together?
196
- - Which template strategies does Lisa use?
197
- - What changed in recent merged PRs?
198
- - What should a new contributor read first?
111
+ > **Prompt for your coding agent**
112
+ > "I want to add or change a skill, rule, hook, or agent in Lisa. Show me the source location, the build step, what I must commit alongside it, and the CI check that fails if I edit a generated artifact directly. Then check my change against those rules before I commit."
199
113
 
200
- Useful ingestion requests:
114
+ ## Just ask
201
115
 
202
- - Ingest the latest repository commits and merged PRs.
203
- - Ingest this design plan into the Lisa wiki.
204
- - Ingest these meeting notes.
205
- - Update the architecture overview from recent source changes.
116
+ You don't need to memorize any of this. Describe the outcome you want and let Lisa route it:
206
117
 
207
- ### Adding a wiki to a downstream project
118
+ > "I have a ticket in our tracker — research it, plan it, and implement it."
119
+ >
120
+ > "Walk the checkout flow in a real browser and tell me what's broken."
121
+ >
122
+ > "Get test coverage on this module to 90% and prove it."
208
123
 
209
- The wiki kernel ships as a separate plugin (`lisa-wiki`) that is `AVAILABLE` but not enabled by default. To bootstrap it in a project that already has Lisa installed, run `/lisa:wiki:install` (Claude) or `$lisa-wiki-install` (Codex). This shipped-with-base command flips `lisa-wiki@lisa` to enabled in `.claude/settings.json` and verifies the Codex skill overlay is current — but does not scaffold the wiki itself. After reload, follow up with `/setup:wiki` (Claude) or `$lisa-wiki-setup` (Codex) to create `wiki/` from `wiki/lisa-wiki.config.json`.
124
+ > **Prompt for your coding agent**
125
+ > "What can Lisa do in this project right now? List the available commands grouped by purpose, and flag anything that needs configuration I haven't set up yet."
@@ -48,22 +48,25 @@ jobs:
48
48
 
49
49
  echo "environment=$TARGET_ENV" >> $GITHUB_OUTPUT
50
50
 
51
- # Map to CDK environment name
51
+ # Map to CDK environment name.
52
+ # Set your per-environment AWS account IDs as repository or environment
53
+ # secrets: AWS_ACCOUNT_ID_PRODUCTION / AWS_ACCOUNT_ID_STAGING / AWS_ACCOUNT_ID_DEV.
54
+ # The deploy role name defaults to DeployServiceRole; change it below if yours differs.
52
55
  case $TARGET_ENV in
53
56
  production)
54
57
  echo "cdk_env=production" >> $GITHUB_OUTPUT
55
- echo "aws_account_id=017820663592" >> $GITHUB_OUTPUT
56
- echo "role_arn=arn:aws:iam::017820663592:role/DeployServiceRole" >> $GITHUB_OUTPUT
58
+ echo "aws_account_id=${{ secrets.AWS_ACCOUNT_ID_PRODUCTION }}" >> $GITHUB_OUTPUT
59
+ echo "role_arn=arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID_PRODUCTION }}:role/DeployServiceRole" >> $GITHUB_OUTPUT
57
60
  ;;
58
61
  staging)
59
62
  echo "cdk_env=staging" >> $GITHUB_OUTPUT
60
- echo "aws_account_id=017820663537" >> $GITHUB_OUTPUT
61
- echo "role_arn=arn:aws:iam::017820663537:role/DeployServiceRole" >> $GITHUB_OUTPUT
63
+ echo "aws_account_id=${{ secrets.AWS_ACCOUNT_ID_STAGING }}" >> $GITHUB_OUTPUT
64
+ echo "role_arn=arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID_STAGING }}:role/DeployServiceRole" >> $GITHUB_OUTPUT
62
65
  ;;
63
66
  dev|*)
64
67
  echo "cdk_env=dev" >> $GITHUB_OUTPUT
65
- echo "aws_account_id=017820663466" >> $GITHUB_OUTPUT
66
- echo "role_arn=arn:aws:iam::017820663466:role/DeployServiceRole" >> $GITHUB_OUTPUT
68
+ echo "aws_account_id=${{ secrets.AWS_ACCOUNT_ID_DEV }}" >> $GITHUB_OUTPUT
69
+ echo "role_arn=arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID_DEV }}:role/DeployServiceRole" >> $GITHUB_OUTPUT
67
70
  ;;
68
71
  esac
69
72
 
package/package.json CHANGED
@@ -93,7 +93,7 @@
93
93
  "ws": ">=8.20.1"
94
94
  },
95
95
  "name": "@codyswann/lisa",
96
- "version": "2.188.1",
96
+ "version": "2.188.2",
97
97
  "description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
98
98
  "main": "dist/index.js",
99
99
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "Universal governance — agents, skills, commands, hooks, and rules for all projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "Universal governance: agents, skills, commands, hooks, and rules for all projects.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "Universal governance — agents, skills, commands, hooks, and rules for all projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "AWS CDK-specific plugin",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "AWS CDK-specific Lisa plugin.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "AWS CDK-specific plugin",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "AWS CDK-specific plugin",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "AWS CDK-specific plugin",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "Universal governance — agents, skills, commands, hooks, and rules for all projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "Universal governance — agents, skills, commands, hooks, and rules for all projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "Expo/React Native-specific skills, agents, rules, and MCP servers",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "Expo and React Native-specific skills, agents, rules, and MCP servers.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "Expo/React Native-specific skills, agents, rules, and MCP servers",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "Expo/React Native-specific skills, agents, rules, and MCP servers",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "Expo/React Native-specific skills, agents, rules, and MCP servers",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "Harper/Fabric-specific rules for TypeScript component apps",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "Harper/Fabric-specific Lisa rules for TypeScript component apps.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "Harper/Fabric-specific rules for TypeScript component apps",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "Harper/Fabric-specific rules for TypeScript component apps",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "Harper/Fabric-specific rules for TypeScript component apps",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "NestJS-specific skills (GraphQL, TypeORM) and hooks (migration write-protection)",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "NestJS-specific skills and migration write-protection hooks.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "NestJS-specific skills (GraphQL, TypeORM) and hooks (migration write-protection)",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "NestJS-specific skills (GraphQL, TypeORM) and hooks (migration write-protection)",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "NestJS-specific skills (GraphQL, TypeORM) and hooks (migration write-protection)",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-openclaw",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-openclaw",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, across Claude and Codex.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-openclaw",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-openclaw",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-openclaw",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-phaser",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "Phaser 4 game-development rules for TypeScript projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-phaser",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "Phaser 4 game-development rules for TypeScript projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-phaser",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "Phaser 4 game-development rules for TypeScript projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-phaser",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "Phaser 4 game-development rules for TypeScript projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-phaser",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "Phaser 4 game-development rules for TypeScript projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "Ruby on Rails-specific hooks — RuboCop linting/formatting and ast-grep scanning on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "Ruby on Rails-specific skills and hooks for RuboCop and ast-grep scanning on edit.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "Ruby on Rails-specific hooks — RuboCop linting/formatting and ast-grep scanning on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "Ruby on Rails-specific hooks — RuboCop linting/formatting and ast-grep scanning on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "Ruby on Rails-specific hooks — RuboCop linting/formatting and ast-grep scanning on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
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.188.1",
3
+ "version": "2.188.2",
4
4
  "description": "TypeScript-specific hooks for formatting, linting, and ast-grep scanning on edit.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "2.188.1",
3
+ "version": "2.188.2",
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.188.1",
3
+ "version": "2.188.2",
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.188.1",
3
+ "version": "2.188.2",
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.188.1",
3
+ "version": "2.188.2",
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.188.1",
3
+ "version": "2.188.2",
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.188.1",
3
+ "version": "2.188.2",
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.188.1",
3
+ "version": "2.188.2",
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.188.1",
3
+ "version": "2.188.2",
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"