@tarcisiopgs/lisa 1.3.0 → 1.3.1

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 (2) hide show
  1. package/README.md +28 -6
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -15,7 +15,7 @@ Most AI agent loops work like Ralph — they grab an issue, throw it at a model,
15
15
  Lisa is deterministic. She follows a structured pipeline with clear stages (fetch, activate, implement, validate, PR, update) and stops when the work is done. This means:
16
16
 
17
17
  - **Token efficiency** — Each issue gets one focused prompt with full context. No wasted retries, no speculative exploration, no idle polling.
18
- - **Multi-repo awareness** — Lisa detects which repos the agent touched and creates one PR per repo. Monorepos with multiple packages just work.
18
+ - **Multi-repo awareness** — Lisa plans across multiple repos, executes in the correct order (e.g., backend before frontend), and creates one PR per repo.
19
19
  - **Model fallback** — Configure a chain of models (`claude → gemini → opencode`). Transient errors (429, quota, timeout) trigger the next model; non-transient errors stop the chain.
20
20
  - **Workflow integration** — Issues move through your board in real time (Backlog → In Progress → In Review). Your team always knows what's being worked on.
21
21
  - **Self-healing** — Orphan issues (stuck in "In Progress" from interrupted runs) are automatically recovered on startup. Pre-push hook failures trigger the agent to fix and retry.
@@ -76,7 +76,9 @@ lisa run --provider gemini --once
76
76
  | `lisa run --limit N` | Process up to N issues |
77
77
  | `lisa run --dry-run` | Preview without executing |
78
78
  | `lisa run --provider NAME` | Override AI provider |
79
+ | `lisa run --source NAME` | Override issue source (linear, trello) |
79
80
  | `lisa run --label NAME` | Override label filter |
81
+ | `lisa run --github METHOD` | Override GitHub method (cli, token) |
80
82
  | `lisa run --json` | Output as JSON lines |
81
83
  | `lisa run --quiet` | Suppress non-essential output |
82
84
  | `lisa config` | Interactive config wizard |
@@ -99,12 +101,13 @@ All providers use `child_process.spawn` with `sh -c`. Prompts are written to a t
99
101
 
100
102
  ### Fallback Chain
101
103
 
102
- Configure multiple models in the `models` array. Lisa tries them in order — transient errors (429, quota, timeout, network) trigger the next model. Non-transient errors stop the chain immediately.
104
+ Configure a fallback chain in the `models` array. Lisa tries each provider in order — transient errors (429, quota, timeout, network) trigger the next provider. Non-transient errors stop the chain immediately.
103
105
 
104
106
  ```yaml
105
107
  models:
106
108
  - claude
107
109
  - gemini
110
+ - opencode
108
111
  ```
109
112
 
110
113
  If `models` is not set, Lisa uses the single `provider` field.
@@ -119,7 +122,12 @@ The AI agent creates a branch directly in your current checkout, implements the
119
122
 
120
123
  Lisa creates an isolated [git worktree](https://git-scm.com/docs/git-worktree) for each issue under `.worktrees/`. The agent works inside the worktree without touching your main checkout. After the PR is created, the worktree is cleaned up automatically.
121
124
 
122
- In multi-repo workspaces, the agent selects the correct repository, creates the worktree, implements, and writes a `.lisa-manifest.json` with the repo path, branch name, and PR title. Lisa reads the manifest to push and create the PR.
125
+ **Native worktree support** When using Claude Code, Lisa delegates worktree lifecycle directly to the provider via the `--worktree` flag. Lisa auto-detects whether the primary provider supports native worktrees and uses the appropriate mode. Other providers use Lisa-managed worktrees.
126
+
127
+ **Multi-repo workspaces** — When multiple repos are configured, Lisa uses a two-phase flow:
128
+
129
+ 1. **Planning phase** — A planning agent analyzes the issue and produces a `.lisa-plan.json` with ordered steps (one per affected repo), determining which repos need changes and in what order (e.g., backend API before frontend consumer).
130
+ 2. **Execution phase** — Lisa executes each step sequentially, creating one worktree and one PR per repo. Cross-repo context (branch names, PR URLs from previous steps) is passed to each subsequent step so the agent can reference them.
123
131
 
124
132
  Worktree mode is ideal when you want to keep working in the repo while Lisa resolves issues in the background.
125
133
 
@@ -129,9 +137,6 @@ Config lives in `.lisa/config.yaml`. Run `lisa init` to create it interactively.
129
137
 
130
138
  ```yaml
131
139
  provider: claude
132
- models:
133
- - claude
134
- - gemini
135
140
  source: linear
136
141
  workflow: worktree
137
142
 
@@ -151,6 +156,7 @@ repos:
151
156
  - name: my-api
152
157
  path: ./api
153
158
  base_branch: main
159
+ match: "[API]" # route issues whose title starts with "[API]" to this repo
154
160
  - name: my-app
155
161
  path: ./app
156
162
  base_branch: main
@@ -227,6 +233,22 @@ Lisa starts resources before the agent runs, waits for the port to be ready, run
227
233
  - **Signal handling** — SIGINT/SIGTERM gracefully revert the active issue to its previous status before exiting.
228
234
  - **Guardrails** — Failed sessions are logged to `.lisa/guardrails.md` and injected into future prompts so the agent avoids repeating the same mistakes.
229
235
 
236
+ ### Overseer
237
+
238
+ Lisa can detect stuck providers — agents that appear to be running but are making no progress. When enabled, the overseer periodically checks `git status` in the working directory. If no changes are detected within the `stuck_threshold`, the provider process is killed and the error is eligible for fallback to the next model in the chain.
239
+
240
+ ### Test Runner Auto-Detection
241
+
242
+ Lisa auto-detects `vitest` or `jest` in the project's `package.json` dependencies. When a test runner is found, mandatory test instructions are injected into the agent prompt, requiring the agent to write unit tests for new code and run `npm run test` before committing.
243
+
244
+ ### PR Body Formatting
245
+
246
+ Agent-produced PR descriptions are automatically sanitized before creating the pull request: HTML tags are stripped, `*` bullets are normalized to `-`, and wall-of-text (single-line) descriptions are split into bullet points at sentence boundaries. Agents are also instructed to follow a structured markdown template (What / Why / Key changes / Testing).
247
+
248
+ ### Terminal Integration
249
+
250
+ Lisa updates the terminal title to reflect the current activity (fetching, implementing, pushing, cooling down) and plays a bell notification when a session completes. This works in any terminal that supports OSC title sequences.
251
+
230
252
  ## License
231
253
 
232
254
  [MIT](LICENSE)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tarcisiopgs/lisa",
3
- "version": "1.3.0",
3
+ "version": "1.3.1",
4
4
  "description": "Deterministic autonomous issue resolver — structured AI agent loop for Linear/Trello",
5
5
  "license": "MIT",
6
6
  "type": "module",