@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.
- package/README.md +28 -6
- 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
|
|
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
|
|
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
|
-
|
|
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)
|