@tarcisiopgs/lisa 1.28.0 → 1.29.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.
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Lisa
2
2
 
3
3
  <p align="center">
4
- <strong>Label an issue. Walk away. Come back to a PR.</strong>
4
+ <strong>Plan issues. Run agents. Get PRs.</strong>
5
5
  </p>
6
6
 
7
7
  <p align="center">
@@ -15,23 +15,23 @@
15
15
  <img src="assets/demo.gif" alt="Lisa demo" />
16
16
  </p>
17
17
 
18
- Lisa connects your issue tracker to an AI coding agent and delivers pull requests — autonomously. Tag an issue with a label, Lisa picks it up, implements it, opens a PR, and updates your board. No babysitting.
18
+ Lisa connects your issue tracker to an AI coding agent and delivers pull requests — autonomously. Describe a goal, Lisa decomposes it into issues, picks them up, implements each one, opens PRs, and updates your board. No babysitting.
19
19
 
20
20
  ## Quickstart
21
21
 
22
22
  ```bash
23
23
  npm install -g @tarcisiopgs/lisa
24
24
  lisa init # interactive setup wizard
25
- lisa run
25
+ lisa # start the agent loop
26
26
  ```
27
27
 
28
28
  ## How It Works
29
29
 
30
30
  ```
31
- Fetch issue ActivateBuild context → Implement → Push → Open PR → Update board → Next
31
+ PlanCreate issues Fetch → Implement → Push → Open PR → Update board → Next
32
32
  ```
33
33
 
34
- Lisa picks the highest-priority labeled issue, moves it to "In Progress", sends a structured prompt to the AI agent, and monitors execution. The agent works in an isolated git worktree, implements the change, runs tests, and commits. Lisa pushes, opens a PR, moves the ticket to "In Review", and picks up the next one.
34
+ Lisa starts and shows a Kanban board. If the queue is empty, press `n` to plan — describe a goal and the AI brainstorms with you (asking clarifying questions), presents its understanding for your confirmation, then decomposes the goal into atomic issues created directly in your tracker. You can review, edit, reorder, delete, or regenerate the plan with feedback before approving. Press `r` to start processing. Lisa picks the highest-priority labeled issue, moves it to "In Progress", sends a structured prompt to the AI agent, and monitors execution. The agent works in an isolated git worktree, implements the change, runs tests, and commits. Lisa pushes, opens a PR, moves the ticket to "In Review", and picks up the next one.
35
35
 
36
36
  If something fails — pre-push hooks, quota limits, stuck processes — Lisa handles it: retries with error context, falls back to the next model, or kills and moves on.
37
37
 
@@ -39,13 +39,14 @@ If something fails — pre-push hooks, quota limits, stuck processes — Lisa ha
39
39
 
40
40
  - **7 issue trackers** — Linear, GitHub Issues, GitLab Issues, Jira, Trello, Plane, Shortcut
41
41
  - **8 AI agents** — Claude Code, Gemini CLI, GitHub Copilot CLI, Cursor Agent, Aider, Goose, OpenCode, Codex
42
+ - **AI planning** — describe a goal, the AI brainstorms with you, decomposes it into issues with dependencies, created in your tracker
43
+ - **Language-aware** — detects your goal's language (pt/en/es) and generates issues in the same language
42
44
  - **Concurrent execution** — process multiple issues in parallel, each in its own worktree
43
45
  - **Multi-repo** — plans across repos, creates one PR per repo in the correct order
44
46
  - **Model fallback** — chain models; transient errors (429, quota, timeout) auto-switch to the next
45
- - **Real-time TUI** — Kanban board with live provider output, keyboard controls, PR merge detection
47
+ - **Real-time TUI** — Kanban board with live provider output, plan mode, PR merge detection
46
48
  - **Self-healing** — orphan recovery on startup, push failure retry, stuck process detection
47
49
  - **Guardrails** — past failures are injected into future prompts to avoid repeating mistakes
48
- - **AI planning** — `lisa plan` decomposes goals into atomic issues with dependencies, creates them in your tracker
49
50
  - **Project context** — auto-generates `.lisa/context.md` with your stack, conventions, and constraints
50
51
 
51
52
  ## Providers
@@ -83,21 +84,23 @@ provider_options:
83
84
  ## Commands
84
85
 
85
86
  ```bash
86
- lisa run # start the agent loop
87
- lisa run --once # process a single issue
88
- lisa run --once --dry-run # preview config without executing
89
- lisa run --watch # poll for new issues after queue empties
90
- lisa run --concurrency 3 # process 3 issues in parallel
91
- lisa run --issue INT-42 # process a specific issue
92
- lisa run --limit 5 # stop after 5 issues
93
- lisa plan "Add rate limiting" # decompose goal into issues via AI
94
- lisa plan --issue EPIC-123 # decompose existing issue into sub-issues
95
- lisa plan --continue # resume interrupted plan
96
- lisa init # create .lisa/config.yaml interactively
97
- lisa status # show session stats
98
- lisa doctor # diagnose setup issues (config, provider, env, git)
99
- lisa context refresh # regenerate project context
100
- lisa feedback --pr URL # inject PR review feedback into guardrails
87
+ lisa # start the agent loop (Kanban TUI)
88
+ lisa --once # process a single issue
89
+ lisa --once --dry-run # preview config without executing
90
+ lisa --watch # poll for new issues after queue empties
91
+ lisa -c 3 # process 3 issues in parallel
92
+ lisa --issue INT-42 # process a specific issue
93
+ lisa --limit 5 # stop after 5 issues
94
+ lisa plan "Add rate limiting" # brainstorm + decompose goal into issues via AI
95
+ lisa plan --issue EPIC-123 # decompose existing issue into sub-issues
96
+ lisa plan --continue # resume interrupted plan
97
+ lisa plan --no-brainstorm "goal" # skip brainstorming, decompose directly
98
+ lisa plan --yes "goal" # skip confirmations (CI/scripts)
99
+ lisa init # create .lisa/config.yaml interactively
100
+ lisa status # show session stats
101
+ lisa doctor # diagnose setup issues (config, provider, env, git)
102
+ lisa context refresh # regenerate project context
103
+ lisa feedback --pr URL # inject PR review feedback into guardrails
101
104
  ```
102
105
 
103
106
  Append `--json` to any command for machine-readable output. Use `--verbose` / `--quiet` to control log verbosity.
@@ -214,6 +217,18 @@ lifecycle:
214
217
  mode: auto # "auto", "skip" (default), "validate-only"
215
218
  timeout: 30
216
219
 
220
+ proof_of_work:
221
+ enabled: true
222
+ block_on_failure: true # skip PR when validation fails (default: false)
223
+ max_retries: 2 # retry agent on validation failure
224
+ commands:
225
+ - name: lint
226
+ run: pnpm run lint
227
+ - name: typecheck
228
+ run: pnpm run typecheck
229
+ - name: test
230
+ run: pnpm run test
231
+
217
232
  validation:
218
233
  require_acceptance_criteria: true
219
234
  ```
@@ -242,16 +257,16 @@ Acceptance criteria:
242
257
 
243
258
  ## TUI
244
259
 
245
- The real-time Kanban board shows issue progress, streams provider output, and detects PR merges. The sidebar legend updates contextuallyonly the shortcuts active in the current view are shown.
260
+ The real-time Kanban board shows issue progress, streams provider output, and detects PR merges. When the queue is empty, Lisa enters idle mode plan new issues with `n`, then start processing with `r`.
246
261
 
247
262
  **Board view**
248
263
 
249
264
  | Key | Action | Key | Action |
250
265
  |-----|--------|-----|--------|
251
- | `←` `→` | Switch columns | `p` | Pause / resume provider |
252
- | `1` `2` `3` | Jump to column | `k` | Kill current issue |
253
- | `↑` `↓` | Navigate cards | `s` | Skip current issue |
254
- | `↵` | Open detail view | `q` | Quit |
266
+ | `←` `→` | Switch columns | `k` | Kill current issue |
267
+ | `↑` `↓` | Navigate cards | `n` | Open plan mode |
268
+ | `↵` | Open detail view | `r` | Run (from idle) |
269
+ | `p` | Pause / resume | `q` | Quit |
255
270
 
256
271
  **Detail view**
257
272
 
@@ -261,6 +276,18 @@ The real-time Kanban board shows issue progress, streams provider output, and de
261
276
  | `o` | Open PR in browser |
262
277
  | `Esc` | Back to board |
263
278
 
279
+ **Plan mode**
280
+
281
+ | Key | Action |
282
+ |-----|--------|
283
+ | `↵` | Send message / view detail |
284
+ | `e` | Edit issue in $EDITOR |
285
+ | `d` | Delete issue |
286
+ | `a` | Approve and create issues |
287
+ | `Esc` | Cancel / back |
288
+
289
+ In CLI mode, the plan wizard also offers **Regenerate with feedback** — describe what to change and the AI regenerates the entire plan incorporating your feedback.
290
+
264
291
  ## License
265
292
 
266
293
  [MIT](LICENSE)
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  formatError,
4
4
  isGhCliAvailable
5
- } from "./chunk-2TW2MJXF.js";
5
+ } from "./chunk-NMQ6YMBH.js";
6
6
 
7
7
  // src/cli/detection.ts
8
8
  import { execSync } from "child_process";