Skip to main content

run-pre-commit-checks

Run the mandatory pre-commit checks before committing code. Includes lint, type checking, and unit tests. MUST be run before every commit.

الانتقال إلى التثبيت

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

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

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

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

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

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

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
run-pre-commit-checks
description
Run the mandatory pre-commit checks before committing code. Includes lint, type checking, and unit tests. MUST be run before every commit.
argument-hint
--fix to auto-fix lint issues
kind
workflow
category
dev/testing
status
active
tags
["checks","commit","dev","pre","run","testing"]
related_skills
["debug-failing-test","run-e2e-tests","run-integration-tests","run-smoke-tests"]
# Run Pre-Commit Checks This skill defines the mandatory checks that must pass before any commit. ## When to Use - **ALWAYS** before committing code changes - After fixing reviewer or Copilot review comments - Before pushing changes - When the maintainer agent requests pre-commit validation ## Required Checks All three checks must pass before committing: ### 1. Lint Check (Required) ```powershell npm run lint ``` **What it checks:** - ESLint rules defined in `eslint.config.mjs` - TypeScript-specific linting rules - Import ordering and unused imports - Code style consistency **To auto-fix issues:** ```powershell npm run lint -- --fix ``` ### 2. Type Check (Required) ```powershell npm run compile-tests ``` **What it checks:** - TypeScript type errors - Missing imports - Type mismatches - Strict null checks **Output location:** `out/` directory (not used for production) ### 3. Unit Tests (Required) ```powershell npm run unittest ``` **What it checks:** - All unit tests in `src/test/` pass - Tests run with Mocha framework - Uses configuration from `build/.mocha.unittests.json` ## Full Pre-Commit Workflow ```powershell # Run all checks in sequence npm run lint npm run compile-tests npm run unittest # If all pass, commit git add -A git commit -m "feat: your change description (Fixes #N)" ``` ## Common Failures and Fixes ### ESLint Errors | Error | Fix | | ------------------------------------ | ------------------------------------------------------ | | `@typescript-eslint/no-unused-vars` | Remove unused variable or prefix with `_` | | `import/order` | Run `npm run lint -- --fix` | | `@typescript-eslint/no-explicit-any` | Add proper type annotation | | `no-console` | Use `traceLog`/`traceVerbose` instead of `console.log` | ### Type Errors | Error | Fix | | -------------------------------------- | --------------------------------------- | | `TS2339: Property does not exist` | Check property name or add type guard | | `TS2345: Argument type not assignable` | Check function parameter types | | `TS2322: Type not assignable` | Add type assertion or fix type mismatch | | `TS18048: possibly undefined` | Add null check or use optional chaining | ### Test Failures 1. Read the test failure message carefully 2. Check if you changed behavior that tests depend on 3. Update tests if behavior change is intentional 4. Fix code if behavior change is unintentional ## Integration with Review Process The maintainer agent workflow requires: ``` Code Change → Reviewer Agent → Pre-Commit Checks → Commit ↓ Fix Issues → Re-run Reviewer → Pre-Commit Checks ``` **Never skip pre-commit checks.** They catch: - Type errors that would break the extension - Style inconsistencies - Regressions in existing functionality ## Automation Note These checks should also be run: - By CI on every PR (automated) - After addressing review comments (manual trigger) - Before merging (automated by CI) The hooks system can automate running lint after file edits (see `.github/hooks/`).
عرض على GitHub