.claude/skills/lisa-integration-test/SKILL.md
This skill should be used when integration testing Lisa against a downstream project. It applies Lisa templates, verifies the project still builds, and if anything breaks, fixes the templates upstream in Lisa and retries until the project passes all checks.
npx skillsauth add codyswanngt/lisa lisa-integration-testInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Apply Lisa templates to a downstream project and verify it works end-to-end. If anything breaks, fix the upstream templates in Lisa and retry until the project passes all checks.
This must be run FROM the Lisa repository directory.
src/core/lisa.ts)src/core/lisa.ts$ARGUMENTS. If not provided, ask the user.package.json (Node/Bun/TypeScript projects)Gemfile or config/application.rb (Rails projects)git -C <project-path> status --porcelain
Before applying Lisa, record the project's current state:
git -C <project-path> log --oneline -1 to note the current HEADgit -C <project-path> branch --show-currentRun from the Lisa directory:
bun run dev <project-path>
If Lisa fails, report the error and stop.
Run git -C <project-path> status --short to see what Lisa modified.
If nothing changed, report "Lisa applied cleanly with no changes" and stop.
Run the project's verification commands in order. Stop at the first failure:
cd <project-path> && bun run typecheck (or npm run typecheck based on package manager)cd <project-path> && bun run lint (or equivalent)cd <project-path> && bun run test (or equivalent)Determine the package manager by checking which lockfile exists:
bun.lockb → bunpnpm-lock.yaml → pnpmyarn.lock → yarnpackage-lock.json → npmIf any verification step fails:
*.local.* files (project-specific override needed), fix it in the project and go to Step 6bbun run typecheck && bun run lint && bun run testtsconfig.local.json, eslint.config.local.ts, vitest.config.local.ts, jest.config.local.ts)Once all verification passes:
git -C <project-path> add <changed-files>chore: apply Lisa <version> templatesOutput a summary:
## Lisa Integration Test: PASSED
**Project:** <project-path>
**Lisa version:** <version>
**Branch:** <branch>
### Changes Applied
- <list of changed files>
### Verification
- Typecheck: PASSED
- Lint: PASSED
- Tests: PASSED
### Upstream Fixes (if any)
- <list of Lisa template fixes made>
### Commits
- <project-commit-hash> chore: apply Lisa <version> templates
- <lisa-commit-hash> fix: <description> (if upstream fixes were needed)
tsconfig.local.json, eslint.config.local.ts, etc.tools
Configure the official SonarQube plugin + MCP as Lisa's single Sonar substrate across every supported coding agent. Installs/updates the SonarQube CLI, authenticates (browser login on a dev machine, or SONARQUBE_CLI_TOKEN headless), selects the Test Manager target, runs `sonar integrate <agent>` for each supported agent (Claude, Codex, Cursor, Copilot, Antigravity) and wires the MCP for OpenCode, then writes only non-secret policy to .lisa.config.json. Separate from the CI SonarCloud scan gate, which is unchanged.
tools
Configure the official SonarQube plugin + MCP as Lisa's single Sonar substrate across every supported coding agent. Installs/updates the SonarQube CLI, authenticates (browser login on a dev machine, or SONARQUBE_CLI_TOKEN headless), selects the Test Manager target, runs `sonar integrate <agent>` for each supported agent (Claude, Codex, Cursor, Copilot, Antigravity) and wires the MCP for OpenCode, then writes only non-secret policy to .lisa.config.json. Separate from the CI SonarCloud scan gate, which is unchanged.
tools
Configure the official SonarQube plugin + MCP as Lisa's single Sonar substrate across every supported coding agent. Installs/updates the SonarQube CLI, authenticates (browser login on a dev machine, or SONARQUBE_CLI_TOKEN headless), selects the Test Manager target, runs `sonar integrate <agent>` for each supported agent (Claude, Codex, Cursor, Copilot, Antigravity) and wires the MCP for OpenCode, then writes only non-secret policy to .lisa.config.json. Separate from the CI SonarCloud scan gate, which is unchanged.
tools
Configure the official SonarQube plugin + MCP as Lisa's single Sonar substrate across every supported coding agent. Installs/updates the SonarQube CLI, authenticates (browser login on a dev machine, or SONARQUBE_CLI_TOKEN headless), selects the Test Manager target, runs `sonar integrate <agent>` for each supported agent (Claude, Codex, Cursor, Copilot, Antigravity) and wires the MCP for OpenCode, then writes only non-secret policy to .lisa.config.json. Separate from the CI SonarCloud scan gate, which is unchanged.