Skip to main content

bug-fixing

Fix bugs with a test-first workflow. Use when the user reports a bug, asks to fix a defect, or describes unexpected behavior. Triggers on: bug, fix, defect, broken, regression, not working, unexpected behavior.

Datos de origen

Repositorio
terryyin/tty-assert
Última actividad en el origen
12 de abril de 2026 a las 22:45
Idioma detectado de SKILL.md
inglés
Estrellas
0
Forks
0

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
name
bug-fixing
description
Fix bugs with a test-first workflow. Use when the user reports a bug, asks to fix a defect, or describes unexpected behavior. Triggers on: bug, fix, defect, broken, regression, not working, unexpected behavior.
# Bug-Fixing Workflow ## 0. Locate the bug Identify which surface fails: **managed session**, **waitForTextInSurface**, **replay**, **PTY buffer**, **diagnostics**, etc. ## 1. Choose test level - If the bug is **pure library logic** (replay, matching, messages), add or extend a **`tests/*.test.ts`** case that drives **`startManagedTtySession`**, **`waitForTextInSurface`**, or another appropriate **entry point**. - If the bug only shows up in a **downstream** project (e.g. Cypress task wiring), fix may belong in **this repo** (API/diagnostics) **and** the consumer; still add a **tty-assert** test if the contract is wrong here. ## 2. Write a failing test that reproduces the bug - **Minimum test** — one test (or the smallest addition) that covers the bug. - **Assert observable output** — assertion result, thrown message, diagnostic text — not private fields. - **Prefer expected-vs-actual** — `expect(actual).toEqual(expected)` or substring checks that show **what** broke. - **Guard against false positives** — the test must fail when the bug is present. - **Prefer updating over adding** — if an existing test should have caught this, strengthen that test. ## 3. Confirm the failure - **Run** `pnpm test` and verify the **new** behavior fails. - Confirm the failure is for the **right reason** (not missing `canvas`, wrong fixture path, etc.). - If the message is unclear, **improve the assertion** before fixing production code. ## 4. Fix the bug - Implement the **smallest** change that makes the test pass. - Remove debug-only code. ## 5. Confirm green - Run the **new** test and related tests in the same file / area. - Run **`pnpm lint`**. ## 6. Refactor - If tests overlap, simplify; keep one clear story per behavior.
Ver en GitHub