跳到正文
cccskills
免费在 GitHub 公开

e2e-testing

E2E test conventions — semantic selectors, arrange-steps that prove the process started, runtime markers that cannot match the shell echo, and absolute-path tool invocations. Use when writing or changing a .feature scenario under packages/tests.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(1)

  • SKILL.md2.2 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

E2E Tests

  • Use semantic selectors: Never match on CSS classes (class*="bg-...") in test selectors — classes are styling concerns and break when visual design changes. Use data-testid, data-active, or other semantic data-* attributes instead.

  • A step that starts a process must prove the process started. Typing a command into a PTY and waiting a frame is not an arrangement — it is an unconditional pass. Wait for a marker the process itself prints once it is up (e.g. from a listen callback), and on timeout quote the terminal's own last lines. Otherwise every environmental way the start can fail — EADDRINUSE from a leftover process, a missing tool, a shell still initializing — surfaces much later as a missing UI value and reads as a broken product. In #1982 that cost a CI cycle: the listener never started and the failure said "the Ports section showed []", pointing at the port sensor.

  • A marker you wait for must not appear literally in the command you type. The shell echoes the command line, so a waitForBufferContains("kolu-e2e-listening") matches the echo before the process runs — the same #1982 guard passed against /nonexistent/node. Build the marker at runtime ("kolu-e2e" + "-listening") so only the process's own output can satisfy it, and prove it: point the step at a broken binary and confirm it now fails at the start step, quoting the shell's own error. Any new wait/guard gets that negative test before you trust it.

  • Never depend on a tool being on the PTY's PATH. Run it by absolute path — process.execPath for node. A bare node resolves on every dev box and can fail only on a host where node lives solely in the dev shell, so the difference presents as a phantom product bug on one machine. Whether the shell resolves node is a different question from the one the scenario is asking.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

blog-post

免费

Write a kolu blog post grounded in the real build history — mine the Claude Code session logs behind a feature for the actual story (for large efforts, fan out over the transcripts with an ultracode workflow), draft it in the author's voice, and wire it into the Astro site. Use when asked to write a blog post or engineering essay about something that was built, especially one that should read as a narrative of what actually happened rather than invented marketing copy.

中文简介正在准备中。当前显示原文说明。

juspay/kolu822026年10月21日 更新

ci

免费

Run this repo's CI end-to-end — kolu's policy on top of the odu runner: banned opt-out flags, x86_64-linux pinning, pool upkeep, fail-fast surfacing, e2e timing evidence, and the green-gate. Triggers on "run CI", "drive CI", "re-run the pipeline", "close the red check", "warm the pool". Runner mechanics live in the `/odu` skill.

中文简介正在准备中。当前显示原文说明。

juspay/kolu822026年10月21日 更新

Launch the kolu dev server on two RANDOM free ports so it never collides with the running production `kolu.service`, remember the ports for the rest of the session, and tear down only the dev instance. Load before running the app locally — for evidence capture, driving a live kolu with the chrome-devtools MCP, or any `just dev` you'd otherwise run by hand. Triggers on "run kolu locally", "launch the dev server", "boot kolu", "drive a live kolu", "start the app to screenshot it", or before pointing chrome-devtools at a local kolu.

中文简介正在准备中。当前显示原文说明。

juspay/kolu822026年10月21日 更新

diataxis

免费

Classify, write, and audit documentation per Diátaxis (diataxis.fr) — the four-quadrant method (tutorials · how-to guides · reference · explanation). Encodes the compass as a decision procedure, each quadrant's contract as hard rules, and an executable mixed-mode audit. Project-agnostic; the per-repo doc-location mapping lives in a repo rule of the project's own (kolu: the Kolu overlay below). Use when writing any user-facing doc, structuring a docs site, or auditing existing docs for mixed modes.

中文简介正在准备中。当前显示原文说明。

juspay/kolu822026年10月21日 更新

The Dock's agent-state folds — one fenced source of truth in @kolu/terminal-vocab, the load-bearing order≠colour split, and the one "is something happening" question. Use when editing agentProjection or the canvas dock.

中文简介正在准备中。当前显示原文说明。

juspay/kolu822026年10月21日 更新

evidence

免费

Produce visual PR evidence — a screenshot or video — whenever a change has on-screen impact. Tests are never a substitute; a change can be backend by cause and visible by effect. Capture via the project's e2e harness on a pu box, or by driving a live kolu with the chrome-devtools MCP; host on a GitHub release and post a `## Evidence` comment. Triggers on "post evidence", "screenshot the change", "record a video of this", "show it working", "prove it", or finishing any change whose effect is visible on screen.

中文简介正在准备中。当前显示原文说明。

juspay/kolu822026年10月21日 更新

查看 juspay 的全部技能

报告此技能的问题