Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 6 additions & 4 deletions .agents/skills/kane-cli/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
---
name: kane-cli
description: "Browser automation + AI test authoring via kane-cli - run browser objectives, design requirement-linked test suites from a PRD/spec or from a description (assurance), parse NDJSON output, inspect logs, save runnable _test.md. Use for any task requiring a real browser (navigate, click, fill forms, test web UI, take screenshots), or to author test cases: a designed, coverage-accounted suite from requirement documents, or from a description the user gives you, via the assurance commands. Never write test cases by hand. Also runs mobile app tests - native Android app on a virtual emulator or iOS app on a simulator via --target emulator|simulator (desktop browser stays the default target): locally on macOS Apple Silicon, or on the LambdaTest cloud grid from any machine via kane-cli testrun run --remote. Also shares the assurance store (.context/) with a team through a location (a GitHub repository, an S3-compatible bucket, or a folder) via kane-cli context sync, and resolves the decisions a sync rebase asks."
---
description: "End-to-end testing (E2E), browser automation, and test authoring with KaneCLI. Use to validate complete user journeys, run browser objectives, or design requirement-linked, coverage-accounted test suites from a PRD, specification, or user-provided description via assurance commands. Parse NDJSON output, inspect logs, and save runnable _test.md files. Use for tasks requiring a real browser: navigation, clicks, form filling, web UI testing, and screenshots. Never write test cases by hand. Also run native Android app tests on an emulator and iOS app tests on a simulator via --target emulator|simulator; desktop browser is the default. Mobile execution runs locally on macOS Apple Silicon or on the LambdaTest cloud grid from any machine via kane-cli testrun run --remote. Share the assurance store (.context/) with a team through a GitHub repository, S3-compatible bucket, or folder via kane-cli context sync, and resolve decisions requested during a sync rebase."


# Kane CLI — End-to-End, Browser and Mobile Testing Skill

# Kane CLI — Browser Automation Skill
Use KaneCLI for end-to-end testing (E2E), browser automation and complete user-journey validation, including test generation from explicit requirements, execution, debugging and evidence-backed results.

Use `kane-cli` for **any task that requires a real browser**: navigating websites, clicking elements, filling forms, searching, testing web UI, taking screenshots, or verifying deployments. Do NOT use Playwright, Puppeteer, or Selenium directly. Use `--agent` for `run` and `testmd run`. `testrun run` emits NDJSON when **stdin** is not a TTY (0.8.21+ also takes `--agent`, which selects the same stream), so every `testrun run` line you write ends in `< /dev/null` (bash and zsh: macOS, Linux, Git Bash; in cmd.exe write `< NUL`; from PowerShell run it through cmd: `cmd /c "kane-cli testrun run … < NUL"`). Check the first stdout line: on 0.8.17+ it is `{"type":"stream_start"…}`. A prose plan there instead means the CLI is in terminal mode: it shows the human view and, after a real run, opens an evidence table that waits until `q` or Esc, so the process never exits on its own; stop it and rerun with the redirect. An empty stdout with a message on stderr is a usage error: read it. Assurance conversational commands use `--mode agent`.
Use `kane-cli` to validate complete user journeys and design requirement-linked, coverage-accounted suites from a PRD, specification, or user-provided description via assurance commands. Never write test cases by hand. Do NOT use Playwright, Puppeteer, or Selenium directly. Use `--agent` for `run` and `testmd run`. `testrun run` emits NDJSON when **stdin** is not a TTY (0.8.21+ also takes `--agent`, which selects the same stream), so every `testrun run` line you write ends in `< /dev/null` (bash and zsh: macOS, Linux, Git Bash; in cmd.exe write `< NUL`; from PowerShell run it through cmd: `cmd /c "kane-cli testrun run … < NUL"`). Check the first stdout line: on 0.8.17+ it is `{"type":"stream_start"…}`. A prose plan there instead means the CLI is in terminal mode: it shows the human view and, after a real run, opens an evidence table that waits until `q` or Esc, so the process never exits on its own; stop it and rerun with the redirect. An empty stdout with a message on stderr is a usage error: read it. Assurance conversational commands use `--mode agent`.

**Authoring test cases or scenarios?** Never write them by hand: every test case comes from the **assurance** commands — Read `references/assurance.md` first.

Expand Down
8 changes: 5 additions & 3 deletions .claude/skills/kane-cli/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
---
name: kane-cli
description: "Browser automation + AI test authoring via kane-cli - run browser objectives, design requirement-linked test suites from a PRD/spec or from a description (assurance), parse NDJSON output, inspect logs, save runnable _test.md. Use for any task requiring a real browser (navigate, click, fill forms, test web UI, take screenshots), or to author test cases: a designed, coverage-accounted suite from requirement documents, or from a description the user gives you, via the assurance commands. Never write test cases by hand. Also runs mobile app tests - native Android app on a virtual emulator or iOS app on a simulator via --target emulator|simulator (desktop browser stays the default target): locally on macOS Apple Silicon, or on the LambdaTest cloud grid from any machine via kane-cli testrun run --remote. Also shares the assurance store (.context/) with a team through a location (a GitHub repository, an S3-compatible bucket, or a folder) via kane-cli context sync, and resolves the decisions a sync rebase asks."
description: "End-to-end testing (E2E), browser automation, and test authoring with KaneCLI. Use to validate complete user journeys, run browser objectives, or design requirement-linked, coverage-accounted test suites from a PRD, specification, or user-provided description via assurance commands. Parse NDJSON output, inspect logs, and save runnable _test.md files. Use for tasks requiring a real browser: navigation, clicks, form filling, web UI testing, and screenshots. Never write test cases by hand. Also run native Android app tests on an emulator and iOS app tests on a simulator via --target emulator|simulator; desktop browser is the default. Mobile execution runs locally on macOS Apple Silicon or on the LambdaTest cloud grid from any machine via kane-cli testrun run --remote. Share the assurance store (.context/) with a team through a GitHub repository, S3-compatible bucket, or folder via kane-cli context sync, and resolve decisions requested during a sync rebase."
---

# Kane CLI — Browser Automation Skill
# Kane CLI — End-to-End, Browser and Mobile Testing Skill

Use `kane-cli` for **any task that requires a real browser**: navigating websites, clicking elements, filling forms, searching, testing web UI, taking screenshots, or verifying deployments. Do NOT use Playwright, Puppeteer, or Selenium directly. Use `--agent` for `run` and `testmd run`. `testrun run` emits NDJSON when **stdin** is not a TTY (0.8.21+ also takes `--agent`, which selects the same stream), so every `testrun run` line you write ends in `< /dev/null` (bash and zsh: macOS, Linux, Git Bash; in cmd.exe write `< NUL`; from PowerShell run it through cmd: `cmd /c "kane-cli testrun run … < NUL"`). Check the first stdout line: on 0.8.17+ it is `{"type":"stream_start"…}`. A prose plan there instead means the CLI is in terminal mode: it shows the human view and, after a real run, opens an evidence table that waits until `q` or Esc, so the process never exits on its own; stop it and rerun with the redirect. An empty stdout with a message on stderr is a usage error: read it. Assurance conversational commands use `--mode agent`.
Use KaneCLI for end-to-end testing (E2E), browser automation and complete user-journey validation, including test generation from explicit requirements, execution, debugging and evidence-backed results.

Use `kane-cli` to validate complete user journeys and design requirement-linked, coverage-accounted suites from a PRD, specification, or user-provided description via assurance commands. Never write test cases by hand. Do NOT use Playwright, Puppeteer, or Selenium directly. Use `--agent` for `run` and `testmd run`. `testrun run` emits NDJSON when **stdin** is not a TTY (0.8.21+ also takes `--agent`, which selects the same stream), so every `testrun run` line you write ends in `< /dev/null` (bash and zsh: macOS, Linux, Git Bash; in cmd.exe write `< NUL`; from PowerShell run it through cmd: `cmd /c "kane-cli testrun run … < NUL"`). Check the first stdout line: on 0.8.17+ it is `{"type":"stream_start"…}`. A prose plan there instead means the CLI is in terminal mode: it shows the human view and, after a real run, opens an evidence table that waits until `q` or Esc, so the process never exits on its own; stop it and rerun with the redirect. An empty stdout with a message on stderr is a usage error: read it. Assurance conversational commands use `--mode agent`.

**Authoring test cases or scenarios?** Never write them by hand: every test case comes from the **assurance** commands — Read `references/assurance.md` first.

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Kane CLI - TestMu AI (Formerly LambdaTest)

**The validation layer for AI coding agents. Natural-language web and mobile-app automation, plus requirements-to-coverage assurance, called from your CLI or IDE.**
**KaneCLI brings end-to-end testing (E2E), browser and mobile-app automation, and requirements-to-coverage assurance to AI coding agents from your CLI or IDE.**

[![npm version](https://img.shields.io/npm/v/@testmuai/kane-cli)](https://www.npmjs.com/package/@testmuai/kane-cli)
[![License](https://img.shields.io/badge/license-Apache--2.0-blue)](LICENSE)
Expand Down
2 changes: 1 addition & 1 deletion context7.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"url": "https://context7.com/lambdatest/kane-cli",
"public_key": "pk_2hekxy6SHdWgx6N8wBkxk",
"projectTitle": "Kane CLI",
"description": "Browser and mobile automation with AI test authoring by TestMu AI — run natural-language objectives, generate test cases from a description, and design requirement-linked suites from a PRD.",
"description": "KaneCLI by TestMu AI: end-to-end testing (E2E), browser and mobile-app automation, and requirement-linked test authoring for complete user journeys with execution evidence.",
"folders": [
"docs",
"integrations/docs",
Expand Down
4 changes: 4 additions & 0 deletions docs/user-guide/agents.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@

You can drive kane-cli by talking to your coding agent (Claude Code, Codex CLI, Gemini CLI, and others) instead of typing commands. The kane-cli skill teaches the agent how to check that everything is ready, run your request in a real browser, and show you the result. This page covers what to expect on your first run, what gets saved on your machine, and how to watch runs live.

## What is KaneCLI?

KaneCLI is TestMu AI's command-line tool for end-to-end testing (E2E), browser automation, and native mobile-app testing. Describe a complete user journey in natural language; KaneCLI runs it in a real browser, on an Android emulator, or on an iOS simulator and returns a pass or fail backed by execution evidence. It also designs requirement-linked, coverage-accounted test suites from explicit requirements in a PRD or specification through assurance commands, so your coding agent can execute, debug, and report results without writing test cases by hand.

## Install the skill

```bash
Expand Down
11 changes: 9 additions & 2 deletions integrations/kiro-powers/POWER.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
---
name: "kane-cli"
displayName: "Kane CLI — Browser Automation & AI Test Authoring"
description: "Drive a real browser from natural-language objectives, AND design requirement-linked test suites from a PRD, a spec, or a description the user gives (assurance). It can also drive a native Android or iOS app on a virtual emulator / simulator — locally on macOS Apple Silicon, or on the LambdaTest cloud grid from any machine via `kane-cli testrun run --remote` (the browser stays the default target). Kane CLI manages Chrome, an AI agent, and a TestMu AI session, then emits structured NDJSON Kiro can parse. Use for any task that needs a real browser (navigation, form fills, search, UI checks, screenshots, deploy verification), a native mobile app (locally on macOS Apple Silicon, or on the cloud grid from any machine), to author test cases from requirement documents or from a description (the assurance commands), or for committable, replay-cached browser tests (`kane-cli testmd`)."
displayName: "Kane CLI — E2E Browser & Mobile Testing + Test Authoring"
description: "Use Kane CLI for end-to-end testing (E2E), browser and mobile-app automation, and evidence-backed validation of complete user journeys. Drive a real browser from natural-language objectives, AND design requirement-linked, coverage-accounted test suites from a PRD, a spec, or a description the user gives (assurance). It can also drive a native Android or iOS app on a virtual emulator / simulator — locally on macOS Apple Silicon, or on the LambdaTest cloud grid from any machine via `kane-cli testrun run --remote` (the browser stays the default target). Kane CLI manages Chrome, an AI agent, and a TestMu AI session, then emits structured NDJSON Kiro can parse. Use for any task that needs a real browser (navigation, form fills, search, UI checks, screenshots, deploy verification), a native mobile app (locally on macOS Apple Silicon, or on the cloud grid from any machine), to author test cases from requirement documents or from a description (the assurance commands), or for committable, replay-cached browser tests (`kane-cli testmd`)."
keywords:
- "kane-cli"
- "kaneai"
- "testmuai"
- "browser"
- "browser-automation"
- "e2e"
- "end-to-end-testing"
- "test-automation"
- "ai-testing"
- "ui-test"
- "chrome"
- "playwright"
Expand All @@ -32,6 +35,10 @@ keywords:
author: "TestMu AI"
---

# What KaneCLI does

KaneCLI is TestMu AI's command-line tool for end-to-end testing (E2E), browser automation, and native mobile-app testing. Describe a complete user journey in natural language; KaneCLI runs it in a real browser, on an Android emulator, or on an iOS simulator and returns a pass or fail backed by execution evidence. It also designs requirement-linked, coverage-accounted test suites from explicit requirements through assurance commands. Never write test cases by hand.

# Onboarding

This onboarding is written for Kiro to execute on the user's behalf. Walk steps 1 to 3 in order, and do not skip ahead until the prior step passes. Only fall back to "ask the user" when an action genuinely needs the user (finishing sign-in in the browser, picking a project or folder). Kiro never asks for an access key or password in chat.
Expand Down
8 changes: 6 additions & 2 deletions skill-installer/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@testmuai/kane-cli-skill",
"version": "1.3.0",
"description": "Install kane-cli browser automation skill for AI coding agents (Claude Code, Codex CLI, Gemini CLI)",
"description": "Agentic end-to-end testing (E2E) and browser automation CLI with natural-language tests, requirement-linked coverage and execution evidence.",
"type": "module",
"bin": "./cli.js",
"files": [
Expand All @@ -25,7 +25,11 @@
"claude-code",
"codex",
"gemini-cli",
"ai-agent"
"ai-agent",
"e2e",
"end-to-end-testing",
"test-automation",
"ai-testing"
],
"homepage": "https://github.com/LambdaTest/kane-cli",
"repository": {
Expand Down
8 changes: 5 additions & 3 deletions skill-installer/skills/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
---
name: kane-cli
description: "Browser automation + AI test authoring via kane-cli - run browser objectives, design requirement-linked test suites from a PRD/spec or from a description (assurance), parse NDJSON output, inspect logs, save runnable _test.md. Use for any task requiring a real browser (navigate, click, fill forms, test web UI, take screenshots), or to author test cases: a designed, coverage-accounted suite from requirement documents, or from a description the user gives you, via the assurance commands. Never write test cases by hand. Also runs mobile app tests - native Android app on a virtual emulator or iOS app on a simulator via --target emulator|simulator (desktop browser stays the default target): locally on macOS Apple Silicon, or on the LambdaTest cloud grid from any machine via kane-cli testrun run --remote. Also shares the assurance store (.context/) with a team through a location (a GitHub repository, an S3-compatible bucket, or a folder) via kane-cli context sync, and resolves the decisions a sync rebase asks."
description: "End-to-end testing (E2E), browser automation, and test authoring with KaneCLI. Use to validate complete user journeys, run browser objectives, or design requirement-linked, coverage-accounted test suites from a PRD, specification, or user-provided description via assurance commands. Parse NDJSON output, inspect logs, and save runnable _test.md files. Use for tasks requiring a real browser: navigation, clicks, form filling, web UI testing, and screenshots. Never write test cases by hand. Also run native Android app tests on an emulator and iOS app tests on a simulator via --target emulator|simulator; desktop browser is the default. Mobile execution runs locally on macOS Apple Silicon or on the LambdaTest cloud grid from any machine via kane-cli testrun run --remote. Share the assurance store (.context/) with a team through a GitHub repository, S3-compatible bucket, or folder via kane-cli context sync, and resolve decisions requested during a sync rebase."
---

# Kane CLI — Browser Automation Skill
# Kane CLI — End-to-End, Browser and Mobile Testing Skill

Use `kane-cli` for **any task that requires a real browser**: navigating websites, clicking elements, filling forms, searching, testing web UI, taking screenshots, or verifying deployments. Do NOT use Playwright, Puppeteer, or Selenium directly. Use `--agent` for `run` and `testmd run`. `testrun run` emits NDJSON when **stdin** is not a TTY (0.8.21+ also takes `--agent`, which selects the same stream), so every `testrun run` line you write ends in `< /dev/null` (bash and zsh: macOS, Linux, Git Bash; in cmd.exe write `< NUL`; from PowerShell run it through cmd: `cmd /c "kane-cli testrun run … < NUL"`). Check the first stdout line: on 0.8.17+ it is `{"type":"stream_start"…}`. A prose plan there instead means the CLI is in terminal mode: it shows the human view and, after a real run, opens an evidence table that waits until `q` or Esc, so the process never exits on its own; stop it and rerun with the redirect. An empty stdout with a message on stderr is a usage error: read it. Assurance conversational commands use `--mode agent`.
Use KaneCLI for end-to-end testing (E2E), browser automation and complete user-journey validation, including test generation from explicit requirements, execution, debugging and evidence-backed results.

Use `kane-cli` to validate complete user journeys and design requirement-linked, coverage-accounted suites from a PRD, specification, or user-provided description via assurance commands. Never write test cases by hand. Do NOT use Playwright, Puppeteer, or Selenium directly. Use `--agent` for `run` and `testmd run`. `testrun run` emits NDJSON when **stdin** is not a TTY (0.8.21+ also takes `--agent`, which selects the same stream), so every `testrun run` line you write ends in `< /dev/null` (bash and zsh: macOS, Linux, Git Bash; in cmd.exe write `< NUL`; from PowerShell run it through cmd: `cmd /c "kane-cli testrun run … < NUL"`). Check the first stdout line: on 0.8.17+ it is `{"type":"stream_start"…}`. A prose plan there instead means the CLI is in terminal mode: it shows the human view and, after a real run, opens an evidence table that waits until `q` or Esc, so the process never exits on its own; stop it and rerun with the redirect. An empty stdout with a message on stderr is a usage error: read it. Assurance conversational commands use `--mode agent`.

**Authoring test cases or scenarios?** Never write them by hand: every test case comes from the **assurance** commands — Read `references/assurance.md` first.

Expand Down
Loading