+
{tabs.map((tab) => {
const isActive = tab.id === activeTabId;
return (
diff --git a/opencode.json b/opencode.json
new file mode 100644
index 0000000..4aaf86f
--- /dev/null
+++ b/opencode.json
@@ -0,0 +1,101 @@
+{
+ "$schema": "https://opencode.ai/config.json",
+ "mcp": {
+ "playwright-test": {
+ "type": "local",
+ "command": [
+ "npx",
+ "playwright",
+ "run-test-mcp-server"
+ ],
+ "enabled": true
+ }
+ },
+ "tools": {
+ "playwright*": false
+ },
+ "agent": {
+ "playwright-test-generator": {
+ "description": "Use this agent when you need to create automated browser tests using Playwright",
+ "mode": "subagent",
+ "prompt": "{file:.opencode/prompts/playwright-test-generator.md}",
+ "tools": {
+ "ls": true,
+ "glob": true,
+ "grep": true,
+ "read": true,
+ "playwright-test*browser_click": true,
+ "playwright-test*browser_drag": true,
+ "playwright-test*browser_evaluate": true,
+ "playwright-test*browser_file_upload": true,
+ "playwright-test*browser_handle_dialog": true,
+ "playwright-test*browser_hover": true,
+ "playwright-test*browser_navigate": true,
+ "playwright-test*browser_press_key": true,
+ "playwright-test*browser_select_option": true,
+ "playwright-test*browser_snapshot": true,
+ "playwright-test*browser_type": true,
+ "playwright-test*browser_verify_element_visible": true,
+ "playwright-test*browser_verify_list_visible": true,
+ "playwright-test*browser_verify_text_visible": true,
+ "playwright-test*browser_verify_value": true,
+ "playwright-test*browser_wait_for": true,
+ "playwright-test*generator_read_log": true,
+ "playwright-test*generator_setup_page": true,
+ "playwright-test*generator_write_test": true
+ }
+ },
+ "playwright-test-healer": {
+ "description": "Use this agent when you need to debug and fix failing Playwright tests",
+ "mode": "subagent",
+ "prompt": "{file:.opencode/prompts/playwright-test-healer.md}",
+ "tools": {
+ "ls": true,
+ "glob": true,
+ "grep": true,
+ "read": true,
+ "edit": true,
+ "write": true,
+ "playwright-test*browser_console_messages": true,
+ "playwright-test*browser_evaluate": true,
+ "playwright-test*browser_generate_locator": true,
+ "playwright-test*browser_network_requests": true,
+ "playwright-test*browser_snapshot": true,
+ "playwright-test*test_debug": true,
+ "playwright-test*test_list": true,
+ "playwright-test*test_run": true
+ }
+ },
+ "playwright-test-planner": {
+ "description": "Use this agent when you need to create comprehensive test plan for a web application or website",
+ "mode": "subagent",
+ "prompt": "{file:.opencode/prompts/playwright-test-planner.md}",
+ "tools": {
+ "ls": true,
+ "glob": true,
+ "grep": true,
+ "read": true,
+ "playwright-test*browser_click": true,
+ "playwright-test*browser_close": true,
+ "playwright-test*browser_console_messages": true,
+ "playwright-test*browser_drag": true,
+ "playwright-test*browser_evaluate": true,
+ "playwright-test*browser_file_upload": true,
+ "playwright-test*browser_handle_dialog": true,
+ "playwright-test*browser_hover": true,
+ "playwright-test*browser_navigate": true,
+ "playwright-test*browser_navigate_back": true,
+ "playwright-test*browser_network_requests": true,
+ "playwright-test*browser_press_key": true,
+ "playwright-test*browser_run_code": true,
+ "playwright-test*browser_select_option": true,
+ "playwright-test*browser_snapshot": true,
+ "playwright-test*browser_take_screenshot": true,
+ "playwright-test*browser_type": true,
+ "playwright-test*browser_wait_for": true,
+ "playwright-test*planner_setup_page": true,
+ "playwright-test*planner_save_plan": true
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/seed.spec.ts b/seed.spec.ts
new file mode 100644
index 0000000..ef5ce4c
--- /dev/null
+++ b/seed.spec.ts
@@ -0,0 +1,7 @@
+import { test, expect } from '@playwright/test';
+
+test.describe('Test group', () => {
+ test('seed', async ({ page }) => {
+ // generate code here.
+ });
+});
diff --git a/specs/README.md b/specs/README.md
new file mode 100644
index 0000000..48a788b
--- /dev/null
+++ b/specs/README.md
@@ -0,0 +1,3 @@
+# Specs
+
+This is a directory for test plans.