Skip to content

feat(scaffold): ship qulib v0.7.0 — scaffoldTests core + CypressE2EAdapter + qulib_scaffold_tests MCP tool#78

Merged
TapeshN merged 2 commits into
mainfrom
qulib/ship-v0.7.0
May 30, 2026
Merged

feat(scaffold): ship qulib v0.7.0 — scaffoldTests core + CypressE2EAdapter + qulib_scaffold_tests MCP tool#78
TapeshN merged 2 commits into
mainfrom
qulib/ship-v0.7.0

Conversation

@TapeshN
Copy link
Copy Markdown
Owner

@TapeshN TapeshN commented May 30, 2026

Summary

  • scaffoldTests(url, options?) added to @qulib/core — crawls a URL via analyzeApp, renders NeutralScenario[] through the adapter layer, and returns GeneratedTest[] + ProjectConfig (ready-to-write cypress.config.ts/playwright.config.ts, package.json deps, and support files). Supports cypress-e2e (default) and playwright frameworks.
  • CypressE2EAdapter.render() fully implemented — all 10 TestStep action types handled: navigate, click, type, assert-visible, assert-hidden, assert-text, assert-disabled, assert-count, wait, api-call.
  • qulib_scaffold_tests MCP tool registered — agents can pass a URL and receive generatedTests + projectConfig to write a test repo directly, no manual test-writing required.
  • Version bumped to 0.7.0 across @qulib/core, @qulib/mcp, and @qulib/core peer dep alignment in mcp.

Test plan

  • npm run build — clean TypeScript compile, no errors
  • npm test — 118/118 pass (108 core + 10 MCP)
  • IP blocklist grep — zero matches against $TAP_CORE_BLOCKLIST
  • Manual smoke: qulib_scaffold_tests via MCP host (post-merge, pre-publish)
  • npm publish — user to run from main after merge (@qulib/core first, then @qulib/mcp)

Not in this PR

  • qulib scaffold CLI command (Q2)
  • LLM-as-judge eval for scaffold quality (Q2)
  • v0.7.1 baseline save/load/monitor (Q3)

🤖 Generated with Claude Code

TapeshN and others added 2 commits May 30, 2026 03:35
…caffold_tests MCP tool

Implements scaffoldTests() in packages/core — crawls a URL via analyzeApp, renders
NeutralScenarios through the adapter layer, and returns GeneratedTest[] + ProjectConfig
(cypress.config.ts or playwright.config.ts).

CypressE2EAdapter.render() now handles all 10 TestStep action types: navigate, click,
type, assert-visible, assert-hidden, assert-text, assert-disabled, assert-count, wait,
api-call.

qulib_scaffold_tests MCP tool registered in packages/mcp — accepts url + optional
framework + maxPagesToScan, returns generatedTests + projectConfig so an agent can write
the files directly to a repo.

Exports added to packages/core/src/index.ts: scaffoldTests, ScaffoldOptions, ScaffoldResult,
ProjectConfig.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Bump @qulib/core and @qulib/mcp to 0.7.0.
Align @qulib/core peer dep in mcp/package.json to 0.7.0.
Promote [Unreleased] CHANGELOG entry to [0.7.0] — 2026-05-30.
Refresh package-lock.json.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@TapeshN TapeshN marked this pull request as ready for review May 30, 2026 08:01
@TapeshN TapeshN merged commit ee7dcf3 into main May 30, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant