Some checks are pending
HVAC Plugin CI/CD Pipeline / Security Analysis (push) Waiting to run
HVAC Plugin CI/CD Pipeline / Code Quality & Standards (push) Waiting to run
HVAC Plugin CI/CD Pipeline / Unit Tests (push) Waiting to run
HVAC Plugin CI/CD Pipeline / Integration Tests (push) Waiting to run
HVAC Plugin CI/CD Pipeline / Deploy to Staging (push) Blocked by required conditions
HVAC Plugin CI/CD Pipeline / Deploy to Production (push) Blocked by required conditions
HVAC Plugin CI/CD Pipeline / Notification (push) Blocked by required conditions
Security Monitoring & Compliance / Dependency Vulnerability Scan (push) Waiting to run
Security Monitoring & Compliance / Secrets & Credential Scan (push) Waiting to run
Security Monitoring & Compliance / WordPress Security Analysis (push) Waiting to run
Security Monitoring & Compliance / Static Code Security Analysis (push) Waiting to run
Security Monitoring & Compliance / Security Compliance Validation (push) Waiting to run
Security Monitoring & Compliance / Security Summary Report (push) Blocked by required conditions
Security Monitoring & Compliance / Security Team Notification (push) Blocked by required conditions
Updated .claude/settings.local.json with additional read permissions for accessing .claude directory and agents. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
188 lines
No EOL
17 KiB
JSON
188 lines
No EOL
17 KiB
JSON
{
|
|
"$schema": "https://json.schemastore.org/claude-code-settings.json",
|
|
"permissions": {
|
|
"allow": [
|
|
"Bash(find:*)",
|
|
"Bash(chmod:*)",
|
|
"Bash(ls:*)",
|
|
"Bash(cat:*)",
|
|
"Bash(grep:*)",
|
|
"Bash(rg:*)",
|
|
"Bash(sed:*)",
|
|
"Bash(touch:*)",
|
|
"Bash(mkdir:*)",
|
|
"Bash(cp:*)",
|
|
"Bash(mv:*)",
|
|
"Bash(rm:*)",
|
|
"Bash(echo:*)",
|
|
"Bash(source:*)",
|
|
"Bash(curl:*)",
|
|
"Bash(ssh:*)",
|
|
"Bash(sshpass:*)",
|
|
"Bash(rsync:*)",
|
|
"Bash(zip:*)",
|
|
"Bash(unzip:*)",
|
|
"Bash(tar:*)",
|
|
"Bash(node:*)",
|
|
"Bash(npm:*)",
|
|
"Bash(npx:*)",
|
|
"Bash(php:*)",
|
|
"Bash(composer:*)",
|
|
"Bash(mysql:*)",
|
|
"Bash(wp:*)",
|
|
"Bash(wp-cli.phar:*)",
|
|
"Bash(python3:*)",
|
|
"Bash(expect:*)",
|
|
"Bash(timeout:*)",
|
|
"Bash(pkill:*)",
|
|
"Bash(xvfb-run:*)",
|
|
"Bash(git:*)",
|
|
"Bash(scripts/*)",
|
|
"Bash(bin/*)",
|
|
"Bash(./scripts/*)",
|
|
"Bash(./bin/*)",
|
|
"Bash(UPSKILL_STAGING_URL=*)",
|
|
"Bash(STAGING_ADMIN_USER=*)",
|
|
"Bash(DISPLAY=*)",
|
|
"WebFetch(domain:upskill-staging.measurequick.com)",
|
|
"WebFetch(domain:upskillhvac.com)",
|
|
"WebFetch(domain:theeventscalendar.com)",
|
|
"WebFetch(domain:docs.theeventscalendar.com)",
|
|
"WebFetch(domain:wpastra.com)",
|
|
"WebFetch(domain:developers.wpastra.com)",
|
|
"WebFetch(domain:intercom.help)",
|
|
"WebFetch(domain:www.zoho.com)",
|
|
"mcp__zen__secaudit",
|
|
"mcp__zen__codereview",
|
|
"mcp__zen__debug",
|
|
"mcp__zen__refactor",
|
|
"mcp__zen__challenge",
|
|
"mcp__zen__consensus",
|
|
"mcp__zen__listmodels",
|
|
"mcp__zen__analyze",
|
|
"mcp__zen__precommit",
|
|
"mcp__zen-mcp__challenge",
|
|
"mcp__zen-mcp__thinkdeep",
|
|
"mcp__zen-mcp__debug",
|
|
"mcp__zen-mcp__planner",
|
|
"mcp__zen-mcp__chat",
|
|
"mcp__zen-mcp__testgen",
|
|
"mcp__sequential-thinking__sequentialthinking",
|
|
"mcp__sequential-thinking__sequentialthinking_tools",
|
|
"mcp__playwright__browser_navigate",
|
|
"mcp__playwright__browser_type",
|
|
"mcp__playwright__browser_click",
|
|
"mcp__playwright__browser_evaluate",
|
|
"mcp__playwright__browser_snapshot",
|
|
"mcp__playwright__browser_close",
|
|
"mcp__playwright__browser_resize",
|
|
"mcp__playwright__browser_take_screenshot",
|
|
"mcp__playwright__browser_install",
|
|
"mcp__playwright__browser_console_messages",
|
|
"mcp__playwright__browser_wait_for",
|
|
"mcp__git__git_diff",
|
|
"mcp__git__git_status",
|
|
"mcp__git__git_add",
|
|
"mcp__git__git_commit",
|
|
"mcp__git__git_set_working_dir",
|
|
"mcp__fetch__fetch",
|
|
"mcp__playwright__browser_press_key",
|
|
"Bash(bin/seed-comprehensive-events.sh:*)",
|
|
"Bash(scripts/deploy.sh:*)",
|
|
"Bash(DISPLAY=:0 node test-tec-v5-validated.js)",
|
|
"Bash(DISPLAY=:0 node test-final-edit-workflow.js)",
|
|
"Bash(DISPLAY=:0 node test-simple-tec-access.js)",
|
|
"Bash(DISPLAY=:0 node test-custom-event-edit.js)",
|
|
"mcp__zen-mcp__codereview",
|
|
"mcp__zen-mcp__consensus",
|
|
"Bash(DISPLAY=:0 node test-custom-edit-with-login.js)",
|
|
"Bash(DISPLAY=:0 XAUTHORITY=/run/user/1000/.mutter-Xwaylandauth.90WDB3 node test-custom-edit-with-login.js)",
|
|
"Bash(DISPLAY=:0 XAUTHORITY=/run/user/1000/.mutter-Xwaylandauth.90WDB3 node test-template-debug.js)",
|
|
"Bash(DISPLAY=:0 XAUTHORITY=/run/user/1000/.mutter-Xwaylandauth.90WDB3 node test-login-and-edit.js)",
|
|
"Bash(export DISPLAY=:0)",
|
|
"Bash(export XAUTHORITY=/run/user/1000/.mutter-Xwaylandauth.90WDB3)",
|
|
"Bash(UPSKILL_STAGING_URL=\"https://upskill-staging.measurequick.com\" wp --url=$UPSKILL_STAGING_URL --ssh=root@upskill-staging.measurequick.com post get 6177 --field=post_name,post_parent,post_type)",
|
|
"Bash(DISPLAY=:0 XAUTHORITY=/run/user/1000/.mutter-Xwaylandauth.90WDB3 node test-direct-access.js)",
|
|
"Bash(DISPLAY=:0 XAUTHORITY=/run/user/1000/.mutter-Xwaylandauth.90WDB3 node test-create-and-edit-event.js)",
|
|
"Bash(bin/pre-deployment-check.sh:*)",
|
|
"Bash(UPSKILL_PROD_URL=\"https://upskillhvac.com\" wp-cli.phar --url=$UPSKILL_PROD_URL --ssh=benr@146.190.76.204 post list --post_type=page --search=\"Edit Event\" --fields=ID,post_title,post_status)",
|
|
"Bash(scripts/fix-production-issues.sh:*)",
|
|
"Bash(UPSKILL_STAGING_URL=\"https://upskill-staging.measurequick.com\" wp-cli.phar --url=$UPSKILL_STAGING_URL --ssh=root@upskill-staging.measurequick.com user create devAdmin dev.admin@upskillhvac.com --role=hvac_trainer --user_pass=DevAdmin2025!)",
|
|
"mcp__zen-mcp__analyze",
|
|
"mcp__zen-mcp__secaudit",
|
|
"WebSearch",
|
|
"Bash(UPSKILL_STAGING_URL=\"https://upskill-staging.measurequick.com\" wp-cli.phar --url=$UPSKILL_STAGING_URL --ssh=root@upskill-staging.measurequick.com post list --post_type=page --search=dashboard --fields=ID,post_title,post_name,post_status)",
|
|
"Bash(UPSKILL_STAGING_URL=\"https://upskill-staging.measurequick.com\" wp-cli.phar --url=$UPSKILL_STAGING_URL --ssh=root@upskill-staging.measurequick.com user list --role=hvac_master_trainer --fields=ID,user_login,user_email,display_name)",
|
|
"Bash(UPSKILL_STAGING_URL=\"https://upskill-staging.measurequick.com\" STAGING_ADMIN_USER=root wp-cli.phar --path=/var/www/html --url=$UPSKILL_STAGING_URL --ssh=root@upskill-staging.measurequick.com user create devMaster dev.master@upskillhvac.com --role=hvac_master_trainer --user_pass=DevMaster2025! --display_name=\"Dev Master Trainer\")",
|
|
"Bash(DISPLAY=:0 XAUTHORITY=/run/user/1000/.mutter-Xwaylandauth.90WDB3 node test-master-trainer-pages.js)",
|
|
"Bash(DISPLAY=:0 XAUTHORITY=/run/user/1000/.mutter-Xwaylandauth.90WDB3 node test-master-trainer-verification.js)",
|
|
"Bash(UPSKILL_STAGING_URL=\"https://upskill-staging.measurequick.com\" wp-cli.phar --url=$UPSKILL_STAGING_URL --ssh=root@upskill-staging.measurequick.com post list --post_type=page --search=\"master-trainer\" --fields=ID,post_title,post_name,post_status)",
|
|
"Bash(UPSKILL_STAGING_URL=\"https://upskill-staging.measurequick.com\" wp --url=$UPSKILL_STAGING_URL --ssh=root@upskill-staging.measurequick.com post list --post_type=page --search=\"master\" --fields=ID,post_title,post_name,post_status)",
|
|
"Bash(DISPLAY=:0 XAUTHORITY=/run/user/1000/.mutter-Xwaylandauth.90WDB3 node test-master-trainer-debug.js)",
|
|
"Bash(DISPLAY=:0 XAUTHORITY=/run/user/1000/.mutter-Xwaylandauth.90WDB3 node test-page-source-debug.js)",
|
|
"Bash(DISPLAY=:0 XAUTHORITY=/run/user/1000/.mutter-Xwaylandauth.90WDB3 node test-logged-in-master.js)",
|
|
"Bash(DISPLAY=:0 XAUTHORITY=/run/user/1000/.mutter-Xwaylandauth.90WDB3 node test-master-nav-colors.js)",
|
|
"Read(//tmp/playwright-mcp-output/2025-08-23T02-04-04.729Z/**)",
|
|
"Read(//tmp/playwright-mcp-output/2025-08-23T02-33-36.058Z/**)",
|
|
"Bash(DISPLAY=:0 XAUTHORITY=/run/user/1000/.mutter-Xwaylandauth.90WDB3 node test-safari-fix.js)",
|
|
"Bash(who)",
|
|
"Bash(DISPLAY=:0 XAUTHORITY=/run/user/1000/.mutter-Xwaylandauth.90WDB3 node test-hvac-comprehensive-e2e.js)",
|
|
"Bash(DISPLAY=:0 XAUTHORITY=/run/user/1000/.mutter-Xwaylandauth.90WDB3 HEADLESS=false node test-hvac-comprehensive-e2e.js)",
|
|
"mcp__playwright__browser_select_option",
|
|
"Bash(scripts/verify-plugin-fixes.sh:*)",
|
|
"Read(//tmp/playwright-mcp-output/2025-08-24T02-48-35.660Z/**)",
|
|
"Read(//tmp/playwright-mcp-output/2025-08-24T05-54-43.212Z/**)",
|
|
"Read(//tmp/playwright-mcp-output/2025-08-24T06-09-48.600Z/**)",
|
|
"Bash(DISPLAY=:0 XAUTHORITY=/run/user/1000/.mutter-Xwaylandauth.90WDB3 node test-master-trainer-e2e.js)",
|
|
"mcp__playwright__browser_hover",
|
|
"Read(//tmp/playwright-mcp-output/2025-08-24T12-48-33.126Z/**)",
|
|
"Read(//tmp/playwright-mcp-output/2025-08-24T14-11-17.944Z/**)",
|
|
"Bash(scp:*)",
|
|
"Bash(UPSKILL_STAGING_URL=\"https://upskill-staging.measurequick.com\" wp --url=$UPSKILL_STAGING_URL --ssh=root@upskill-staging.measurequick.com plugin deactivate hvac-community-events)",
|
|
"Bash(scripts/pre-deployment-check.sh:*)",
|
|
"Bash(UPSKILL_STAGING_URL=\"https://upskill-staging.measurequick.com\" wp --url=$UPSKILL_STAGING_URL --ssh=root@upskill-staging.measurequick.com post list --post_type=page --search=\"venue\" --fields=ID,post_title,post_name,post_content)",
|
|
"Bash(UPSKILL_STAGING_URL=\"https://upskill-staging.measurequick.com\" wp-cli.phar --url=$UPSKILL_STAGING_URL --ssh=root@upskill-staging.measurequick.com post list --post_type=page --search=\"venue\" --fields=ID,post_title,post_name,post_content)",
|
|
"Bash(DISPLAY=:0 XAUTHORITY=/run/user/1000/.mutter-Xwaylandauth.90WDB3 node test-final-verification.js)",
|
|
"Read(//tmp/playwright-mcp-output/2025-08-25T16-02-52.589Z/**)",
|
|
"Read(//tmp/playwright-mcp-output/2025-08-25T16-06-24.416Z/**)",
|
|
"Bash(scripts/force-page-content-fix.sh:*)",
|
|
"Bash(scripts/fix-page-templates.sh:*)",
|
|
"Read(//tmp/playwright-mcp-output/2025-08-25T16-24-24.085Z/**)",
|
|
"Bash(UPSKILL_STAGING_URL=\"https://upskill-staging.measurequick.com\" wp-cli.phar --url=$UPSKILL_STAGING_URL --ssh=root@upskill-staging.measurequick.com user create testTrainer2025 test.trainer2025@example.com --role=hvac_trainer --user_pass=TestPass2025! --display_name=\"Test Trainer 2025\")",
|
|
"Bash(DISPLAY=:0 XAUTHORITY=/run/user/1000/.mutter-Xwaylandauth.90WDB3 node -e \"\nconst { chromium } = require(''playwright'');\n(async () => {\n const browser = await chromium.launch({ headless: false });\n const page = await browser.newPage();\n await page.goto(''https://upskill-staging.measurequick.com/trainer/dashboard/'');\n await page.waitForTimeout(3000);\n console.log(''Page title:'', await page.title());\n console.log(''Page loaded'');\n await browser.close();\n})();\n\")",
|
|
"Bash(wget:*)",
|
|
"Bash(docker-compose:*)",
|
|
"Bash(docker compose:*)",
|
|
"Bash(UPSKILL_STAGING_URL=\"https://upskill-staging.measurequick.com\" wp-cli.phar --url=$UPSKILL_STAGING_URL --ssh=root@upskill-staging.measurequick.com plugin list --status=active --fields=name,title,version)",
|
|
"Bash(UPSKILL_STAGING_URL=\"https://upskill-staging.measurequick.com\" wp --url=$UPSKILL_STAGING_URL --ssh=root@upskill-staging.measurequick.com plugin list --status=active --fields=name,title,version)",
|
|
"Bash(sudo mv:*)",
|
|
"Bash(docker exec:*)",
|
|
"Bash(HEADLESS=true BASE_URL=http://localhost:8080 node test-master-trainer-e2e.js)",
|
|
"Bash(DISPLAY=:0 XAUTHORITY=/run/user/1000/.mutter-Xwaylandauth.90WDB3 HEADLESS=true BASE_URL=http://localhost:8080 node test-master-trainer-e2e.js)",
|
|
"Bash(DISPLAY=:0 XAUTHORITY=/run/user/1000/.mutter-Xwaylandauth.U8VEB3 node test-master-trainer-e2e.js)",
|
|
"Bash(DISPLAY=:0 XAUTHORITY=/run/user/1000/.mutter-Xwaylandauth.U8VEB3 node -e \"\nconst { chromium } = require(''playwright'');\n(async () => {\n console.log(''🔐 Testing Basic Authentication...'');\n const browser = await chromium.launch({ headless: false });\n const page = await browser.newPage();\n \n await page.goto(''https://upskill-staging.measurequick.com/training-login/'');\n await page.waitForLoadState(''networkidle'');\n \n console.log(''Page title:'', await page.title());\n console.log(''URL:'', page.url());\n \n try {\n await page.fill(''#username'', ''test_trainer'');\n await page.fill(''#password'', ''TestTrainer123!'');\n await page.click(''button[type=\"\"submit\"\"]'');\n \n await page.waitForURL(''**/trainer/dashboard/**'', { timeout: 15000 });\n console.log(''✅ Authentication test PASSED'');\n console.log(''Dashboard URL:'', page.url());\n } catch (e) {\n console.log(''❌ Authentication test FAILED:'', e.message);\n console.log(''Current URL:'', page.url());\n \n // Try alternative account\n try {\n await page.goto(''https://upskill-staging.measurequick.com/training-login/'');\n await page.fill(''#username'', ''JoeMedosch@gmail.com'');\n await page.fill(''#password'', ''JoeTrainer2025@'');\n await page.click(''button[type=\"\"submit\"\"]'');\n await page.waitForURL(''**/trainer/**'', { timeout: 15000 });\n console.log(''✅ Authentication with alternative account PASSED'');\n } catch (e2) {\n console.log(''❌ Alternative authentication also failed:'', e2.message);\n }\n }\n \n await browser.close();\n})();\n\")",
|
|
"mcp__zen-mcp__precommit",
|
|
"Bash(DISPLAY=:0 XAUTHORITY=/run/user/1000/.mutter-Xwaylandauth.U8VEB3 node -e \"\nconst { chromium } = require(''playwright'');\n(async () => {\n console.log(''🔍 Testing Find Trainer Filter Functionality...'');\n const browser = await chromium.launch({ headless: false });\n const page = await browser.newPage();\n \n try {\n // Navigate to find trainer page\n console.log(''📍 Navigating to find trainer page...'');\n await page.goto(''https://upskill-staging.measurequick.com/find-a-trainer/'');\n await page.waitForLoadState(''networkidle'');\n \n console.log(''✅ Page loaded:'', await page.title());\n \n // Wait for JavaScript to initialize\n console.log(''⏳ Waiting for JavaScript to initialize...'');\n await page.waitForTimeout(3000);\n \n // Check if filter buttons exist\n const filterButtons = await page.locator(''.hvac-filter-btn'').count();\n console.log(''🔘 Filter buttons found:'', filterButtons);\n \n if (filterButtons > 0) {\n // Try clicking the State filter button\n console.log(''🖱️ Clicking State / Province filter button...'');\n await page.locator(''.hvac-filter-btn[data-filter=\"\"state\"\"]'').click();\n \n // Wait to see if modal appears\n await page.waitForTimeout(2000);\n \n // Check if modal is visible\n const modalVisible = await page.locator(''#hvac-filter-modal'').isVisible();\n console.log(''👀 Modal visible after click:'', modalVisible);\n \n if (modalVisible) {\n console.log(''✅ SUCCESS: Filter modal is working!'');\n \n // Check modal content\n const modalTitle = await page.locator(''.hvac-filter-modal-title'').textContent();\n const optionCount = await page.locator(''.hvac-filter-option'').count();\n console.log(''📋 Modal title:'', modalTitle);\n console.log(''📝 Filter options count:'', optionCount);\n \n // Take screenshot of working modal\n await page.screenshot({ path: ''/tmp/filter-modal-working.png'' });\n console.log(''📸 Screenshot saved: /tmp/filter-modal-working.png'');\n } else {\n console.log(''❌ FAILED: Filter modal is not visible'');\n \n // Debug what''s happening\n const modalExists = await page.locator(''#hvac-filter-modal'').count();\n const modalClasses = await page.locator(''#hvac-filter-modal'').getAttribute(''class'');\n console.log(''🔍 Modal exists:'', modalExists);\n console.log(''🎨 Modal classes:'', modalClasses);\n \n // Check console errors\n const messages = await page.evaluate(() => {\n return window.console.logs || ''No console logs captured'';\n });\n \n await page.screenshot({ path: ''/tmp/filter-modal-failed.png'' });\n console.log(''📸 Debug screenshot saved: /tmp/filter-modal-failed.png'');\n }\n } else {\n console.log(''❌ No filter buttons found on page'');\n }\n \n } catch (error) {\n console.log(''💥 Error during test:'', error.message);\n }\n \n await page.waitForTimeout(5000); // Keep browser open for manual inspection\n await browser.close();\n console.log(''🏁 Test complete'');\n})();\n\")",
|
|
"Bash(HEADLESS=true BASE_URL=http://localhost:8080 node test-organizer-functionality.js)",
|
|
"Bash(DISPLAY=:0 XAUTHORITY=/run/user/1000/.mutter-Xwaylandauth.U8VEB3 node test-certification-system.js)",
|
|
"Bash(DISPLAY=:0 XAUTHORITY=/run/user/1000/.mutter-Xwaylandauth.U8VEB3 node test-certification-display.js)",
|
|
"Bash(HEADLESS=true BASE_URL=http://localhost:8080 node test-certification-display.js)",
|
|
"Bash(DISPLAY=:0 XAUTHORITY=/run/user/1000/.mutter-Xwaylandauth.U8VEB3 node test-certification-system-comprehensive.js)",
|
|
"Bash(SEED_METHOD=wp-cli BASE_URL=http://localhost:8080 node seed-certification-data-reliable.js)",
|
|
"Bash(BASE_URL=http://localhost:8080 node seed-certification-data-simple.js)",
|
|
"Bash(HEADLESS=true BASE_URL=https://upskill-staging.measurequick.com node test-certification-system-comprehensive.js)",
|
|
"Bash(HEADLESS=true BASE_URL=http://localhost:8080 node test-certification-system-comprehensive.js)",
|
|
"Bash(./seed-certification-wp-cli.sh:*)",
|
|
"Bash(HEADLESS=true BASE_URL=https://upskill-event-manager-staging.upskilldev.com node test-find-trainer-fixes.js)",
|
|
"Bash(HEADLESS=true BASE_URL=https://upskill-staging.measurequick.com node test-find-trainer-fixes.js)",
|
|
"Read(/home/ben/.claude/**)",
|
|
"Read(/home/ben/.claude/agents/**)",
|
|
"Read(/home/ben/.claude/agents/**)"
|
|
],
|
|
"deny": [],
|
|
"additionalDirectories": [
|
|
"/tmp"
|
|
]
|
|
},
|
|
"enableAllProjectMcpServers": true
|
|
} |