본문으로 건너뛰기
cccskills
무료GitHub에 공개

qa

Use after code changes, before releases, or when testing features - runs the right level of QA based on what changed

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구Docker
설치 방법 보기

포함된 파일(1)

  • SKILL.md5.0 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

QA Testing

What did you change? Start here.

ChangeTest levelCommand
Bug fix, refactor, small featureUnitmake test
Feature, UI, big changeUnit + E2Emake test then make test-e2e
Visual / UI verificationAgent-browsermake dev + agent-browser
Install script, matcha, infraVM installmultipass VM
ReleaseAll of the aboveSee release checklist

Level 1: Unit Tests (~3 seconds)

make test

Run after every change. No excuses.


Level 2: E2E Tests (~5 minutes)

# CRITICAL: Kill any running dev server first — E2E uses its own database
lsof -ti :3000 | xargs kill -9 2>/dev/null
make test-e2e

Playwright tests that run onboarding, create websites, check dashboards, ingest events. Run after features or big changes.


Level 3: Visual QA with agent-browser

For verifying UI rendering, checking that data displays correctly, or testing flows that E2E doesn't cover.

Setup (one-time)

npm i -g agent-browser
agent-browser install

Start dev server

make dev    # MUST use make dev (Go + Vite together)

Dev credentials

  • Email: admin@example.com
  • Password: password
  • Created by make db-seed

Login

agent-browser open "http://localhost:3000/login"
agent-browser snapshot -i
agent-browser fill @e1 "admin@example.com"
agent-browser fill @e3 "password"
agent-browser click @e4

Navigate and verify

agent-browser snapshot -i           # list interactive elements with refs
agent-browser click @e11            # click element by ref
agent-browser scroll down 1000      # scroll to find sections
agent-browser screenshot            # capture page as PNG
agent-browser get url               # check current URL

Generate real browser events

# The /_demo page includes the tracking script — fires real pageviews
agent-browser open "http://localhost:3000/_demo"

# Wait for event processing (~10s), then check dashboard

Key pages to verify

PageHow to reachWhat to check
Admin home/adminWebsite list loads
DashboardClick arrow (→) on a websiteCharts, stats, time range
Browsers tabScroll to Device Analytics, click "Browsers"Browser names (Brave, Edge, etc.)
SettingsClick "Settings" in navForms save, flash messages
EventsClick "Events" tab on dashboardEvent list, sessions view

Important

  • Always make dev — make watch-go alone won't render Inertia pages
  • Click through the UI — don't force navigation with open after login (breaks Inertia state)
  • /_demo for real events — sends actual Sec-CH-UA headers from the browser
  • Dev database: storage/fusionaly-development.db

Level 4: VM Install Test

Only needed when changing: install script, matcha, Docker setup, or release infrastructure.

Create fresh VM

multipass delete fusionaly-test --purge 2>/dev/null || true
multipass launch 24.04 --name fusionaly-test --cpus 2 --memory 2G --disk 10G

Run install

multipass exec fusionaly-test -- bash -c '
sudo apt-get update -qq && sudo apt-get install -y -qq expect

cat > /tmp/run_install.exp << '\''EXPECTSCRIPT'\''
#!/usr/bin/expect -f
set timeout 300
spawn sudo bash -c "curl -fsSL https://fusionaly.com/install | bash"
expect "Enter your domain name"
send "test.local\r"
expect "Proceed with this configuration"
send "Y\r"
expect eof
EXPECTSCRIPT

expect /tmp/run_install.exp
'

Verify

multipass exec fusionaly-test -- bash -c '
echo "=== Containers ===" && sudo docker ps
echo "=== Version ===" && fusionaly version
echo "=== Health ===" && curl -s http://172.18.0.2:8080/_health
'

Browser test via tunnel

VM_IP=$(multipass info fusionaly-test | grep IPv4 | awk '{print $2}')
ssh -L 8080:172.18.0.2:8080 ubuntu@$VM_IP
# Open http://localhost:8080/setup

Cleanup

multipass delete fusionaly-test --purge

Release Checklist

Before tagging a release:

  • make test passes
  • make test-e2e passes (kill dev server first!)
  • Visual QA: dashboard loads, browser stats correct, events ingesting
  • VM install test (if install/infra changed)
  • Pro: update OSS submodule, build, test

Common Issues

IssueCauseFix
E2E fails "Setup already complete"Dev server running (wrong DB)lsof -ti :3000 | xargs kill -9
agent-browser login doesn't workVite not runningUse make dev, not make watch-go
Dashboard shows JSON errorNavigated directly after forced POSTStart fresh browser, click through UI
/_demo events not appearingProcessing job hasn't run yetWait ~10 seconds, check ingested_events table
VM can't reach appDocker internal networkUse SSH tunnel to 172.18.0.2:8080

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

connect

무료

Use when the user wants to connect, set up, or configure Fusionaly in their AI client, or when the fusionaly MCP tools are missing. Verifies the Fusionaly URL and agent key, then adds the MCP server to Claude Code, Codex, Cursor, Gemini CLI, or another client.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

karloscodes/fusionaly-oss152026년 10월 19일 업데이트

fusionaly

무료

Use when user asks about website analytics, traffic, visitors, page views, referrers, or mentions "fusionaly". Queries Fusionaly analytics via SQL API.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

karloscodes/fusionaly-oss152026년 10월 19일 업데이트

fusionaly

무료

Use when the user asks about website analytics, traffic, visitors, page views, referrers, conversions, goals, or mentions "fusionaly". Answers from a self-hosted Fusionaly instance through its MCP tools (or its SQL API), in plain English with numbers.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

karloscodes/fusionaly-oss152026년 10월 19일 업데이트

Use ONLY when explicitly invoked. Puts Fusionaly on a Linux server you reach over SSH with a key. Optionally creates a Hetzner server and the Cloudflare DNS record. The user runs the one interactive install command; the agent prepares and checks everything around it.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

karloscodes/fusionaly-oss152026년 10월 19일 업데이트

tech

무료

Use when writing or reviewing Go code in fusionaly-oss — adding routes, handlers, domain contexts, background jobs, the manager CLI, wiring the app, or writing tests. Covers the cartridge framework, matcha for the manager, Phoenix Contexts, lifecycle/shutdown, and the test conventions.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

karloscodes/fusionaly-oss152026년 10월 19일 업데이트

karloscodes의 스킬 모두 보기

이 스킬의 문제 신고