AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证AI-assisted Playwright test generation and evidence workflow
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
AI-powered Playwright test generation platform for developers, automation engineers, and SDETs.
PlaywrightGen helps teams generate production-ready Playwright tests from prompts, components, HTML snippets, API descriptions, and page URLs.查看完整 README ↗Playwright tests written from your real page, run until they pass, and kept as evidence a person approved.
Live at playwrightgen.com.
Writing a Playwright test is no longer the hard part — every editor has an assistant that will do it. What none of them keep is the thing an audit, a release decision or a customer actually asks for: which behaviour was agreed, by whom, at which version, and what the last run proved. That record is what this product is.
Two ways in, one chain.
The free tools need no account. Say what to test, paste a public URL, and PlaywrightGen reads the page, writes a test from its real accessibility tree, runs it in a remote browser, and fixes the failing step until it passes. You get working code and the run that proves it, signed so the evidence survives if you later bring it into a workspace. Nothing durable is claimed until you do.
The workspace turns that into a record:
[pwg:...] marker in the test title is what ties a
result to the approved version it is evidence for.Every claim on that chain names its source. A requirement with no passing test says so; a run that was skipped says it proved nothing; a report that was bounded says how much it did not cover.
npm run evals grades each prompt
deterministically against structured output and compares the run with a
hand-blessed baseline.PlaywrightGen is an MCP server, so Claude Code, Cursor or Copilot can read the approved intent instead of guessing: sixteen tools covering requirements, test cases, approved automation, recent failures, writing and proving a test on a live page, and proposing drafts for review. An agent gets exactly the rights of the person whose token it used.
npm install
npm run dev
Then npm run test:run for the suite, npm run typecheck, npm run lint,
and npm run build. Integration tests need TEST_DATABASE_URL pointing at a
database used for nothing else; they refuse anything that looks like
production.
Built with Next.js, TypeScript, PostgreSQL (Prisma), Clerk, Tailwind, Playwright, OpenAI and Stripe.
Runtime:
DATABASE_URL — PostgreSQL for the application.DIRECT_URL — optional direct connection preferred by migration commands.TEST_DATABASE_URL — a separate database for integration tests. It never
falls back to either of the above.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY, CLERK_SECRET_KEY,
CLERK_WEBHOOK_SIGNING_SECRETOPENAI_API_KEY — server-only. Per-surface model overrides exist, for
example OPENAI_REQUIREMENT_REVIEW_MODEL and
OPENAI_FAILURE_ANALYSIS_MODEL.UPSTASH_REDIS_REST_URL, UPSTASH_REDIS_REST_TOKEN — the per-minute and
per-day AI allowances.RUNNER_INGEST_SECRET — signs live-run receipts, so a receipt proves a run
of that exact code.BROWSERLESS_API_KEY — the remote browser the free tools and proving use.EXAMPLE_EVIDENCE_PROJECT_ID — optional: the one project whose evidence is
published publicly at /proof/example.GitHub integration (separate values per environment):
GITHUB_APP_ID, GITHUB_APP_PRIVATE_KEY, GITHUB_APP_SLUG,
GITHUB_APP_CLIENT_ID, GITHUB_APP_CLIENT_SECRET, GITHUB_WEBHOOK_SECRETGITHUB_SETUP_STATE_SECRET — at least 32 characters, distinct from every
other secret.NEXT_PUBLIC_APP_URL — the exact origin the GitHub callback returns to.The App is held to a permission ceiling, checked on every installation and
refused if exceeded: metadata: read, contents: read and write,
pull_requests: read and write, issues: read. Contents write is what
opens a pull request with approved test code; pull-requests write is what
leaves the evidence note on it; issues read is what drafts a requirement from
a ticket. User and installation tokens are transient and are never logged or
stored.
Clerk webhooks go to /api/webhooks/clerk with
CLERK_WEBHOOK_SIGNING_SECRET set locally and in the deployment, subscribed
to:
user.created, user.updated, user.deletedorganization.created, organization.updated, organization.deletedorganizationMembership.created, organizationMembership.updated,
organizationMembership.deletedLocal webhook delivery needs a secure tunnel to the local application. Never put a webhook secret in documentation or source control.
Reconcile one Clerk organization, dry-run by default:
npm run clerk:reconcile -- --organization-id org_example
# or
npm run clerk:reconcile -- --slug workspace-slug
Add --apply after reading the dry-run counts. It never sweeps every
organization.
Database:
npm run prisma:format
npm run prisma:validate
npm run prisma:generate
npm run prisma:migrate:dev
npm run test:database
Never commit credentials, secrets, .env or .env.local. Never point a
development migration or reset command at production.
docs/ROADMAP.md — what shipped, what is next, and what was deliberately
not done.docs/DECISIONS.md — architecture decisions, each with its reason.docs/ARCHITECTURE.md, docs/PRODUCTION_READINESS.md — the shape of the
system and the gates before a production deploy.examples/ci-proof — a disposable repository that proves the CI loop end to
end.