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.

معلومات المصدر

المستودع
terryyin/tty-assert
آخر نشاط في المصدر
١٢ أبريل ٢٠٢٦ في ٢٢:٤٥
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٠
التفرعات
٠

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
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.
عرض على GitHub