@tarcisiopgs/lisa 1.10.0 → 1.12.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
@@ -149,6 +149,7 @@ export JIRA_API_TOKEN="" # Atlassian API token
149
149
  | `lisa run` | Run the agent loop |
150
150
  | `lisa run --once` | Process a single issue |
151
151
  | `lisa run --once --dry-run` | **Recommended first step** — preview config without executing |
152
+ | `lisa run --watch` / `-w` | Keep running after queue empties — poll every 60s for new issues |
152
153
  | `lisa run --issue ID` | Process a specific issue by identifier or URL |
153
154
  | `lisa run --limit N` | Process up to N issues |
154
155
  | `lisa run --concurrency N` / `-c N` | Process up to N issues in parallel (default: 1) |
@@ -389,6 +390,29 @@ validation:
389
390
 
390
391
  > **Note:** The `needs-spec` label must exist in your issue tracker before Lisa can apply it. Create it manually if it does not exist — Lisa will log a warning if the label is missing.
391
392
 
393
+ ### Infrastructure Auto-Discovery
394
+
395
+ Lisa auto-discovers Docker Compose services in each repository and starts them before handing control to the agent. If a `docker-compose.yml` / `compose.yml` is present, Lisa reads port mappings and starts the services, waiting for each port to become ready.
396
+
397
+ **Dynamic port allocation** prevents collisions when multiple Lisa instances run in parallel. Add `port_range` and `port_env_var` to any discovered or manually configured resource:
398
+
399
+ ```yaml
400
+ repos:
401
+ - path: api
402
+ # lifecycle config is resolved by auto-discovery (docker-compose.yml)
403
+ # port_range and port_env_var can be set via manual config override
404
+ ```
405
+
406
+ When `port_range` is set, Lisa scans ports `check_port` through `check_port + port_range - 1` and picks the first free one. The chosen port is injected into the resource process via `port_env_var` and is available to `setup` commands and the agent environment.
407
+
408
+ | Field | Type | Description |
409
+ |---|---|---|
410
+ | `check_port` | `number` | Preferred (base) port |
411
+ | `port_range` | `number` (optional) | How many ports to scan from `check_port` |
412
+ | `port_env_var` | `string` (optional) | Env var name to inject the allocated port (e.g. `DATABASE_PORT`) |
413
+
414
+ If no free port is found within the range, Lisa logs a clear error and aborts the session.
415
+
392
416
  ### Auto-Detection
393
417
 
394
418
  Lisa auto-detects `vitest` or `jest` from `package.json` dependencies and injects the correct test command into the agent prompt. It also detects the package manager from lockfiles (`bun.lockb`/`bun.lock` → `bun`, `pnpm-lock.yaml` → `pnpm`, `yarn.lock` → `yarn`, otherwise `npm`).