搜索

PythonReactSEOPDF
GitHub Skill

quality-strict

Quality (Strict) skill for the ikigai project

mgreenly☆ 1 仓库 Stars0 仓库 Forks

安装与使用

请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。

查看来源 ↗使用指南

技能说明

Quality (Strict)

Description

Strict testing, coverage, and quality requirements for coverage phase. 90% is mandatory.

Pre-Commit Requirements

BEFORE creating ANY commit (mandatory, no exceptions):

  1. make fmt - Format code
  2. make check - ALL tests pass (100%)
  3. make lint - ALL complexity/file size checks pass
  4. make check-coverage - ALL metrics (lines, functions, branches) at 90.0%
  5. make check-dynamic - ALL sanitizer checks pass (ASan, UBSan, TSan)

If ANY check fails: fix ALL issues, re-run ALL checks, repeat until everything passes.

Never commit with ANY known issue - even "pre-existing" or "in another file".

Test Execution

By Default: Tests run in parallel, with 24 parallel tests on this machine.

  • MAKE_JOBS=24 - up to 24 concurrent tests
  • PARALLEL=1 - all 4 check-dynamic subtargets in parallel

When you need clear debug output (serialize execution):

PARALLEL=0 MAKE_JOBS=1 make check
PARALLEL=0 MAKE_JOBS=1 make check-valgrind

Best practice: Test individual files during development, run full suite before commits.

Example:

make build/tests/unit/array/basic_test && ./build/tests/unit/array/basic_test

Build Modes

make BUILD={debug|release|sanitize|tsan|coverage}
  • debug - Development builds with symbols
  • release - Optimized production builds
  • sanitize - Address and undefined behavior sanitizers
  • tsan - Thread sanitizer
  • coverage - Code coverage analysis

Quality Gates

  • Use make check to verify tests while working on code changes
  • Use make lint && make check-coverage before commits - 90% coverage is MANDATORY
  • CRITICAL: Never run multiple make commands simultaneously. Different targets use incompatible compiler flags and will corrupt the build.

Coverage Phase Mindset

  • Every uncovered line is a bug waiting to happen
  • Every untested branch is a failure mode you haven't verified
  • LCOV exclusions are a last resort, not a shortcut
  • Zero tolerance for coverage gaps

使用示例

查看来源仓库中的使用示例与配置说明。

查看来源 ↗

来源历史

收录时间
2026-01-20
索引更新时间
2026-01-26
Branch
main

收录与同步日期属于本站记录。源码修改历史请查看来源仓库。

GitHub ↗

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!