← 返回
开发者工具 中文

Quality-Driven Development (QDD)

Quality-driven development with automatic TDD/DDD methodology selection and TRUST 5 quality framework. Use when building features, refactoring code, fixing b...
质量驱动开发,自动选择 TDD/DDD 方法论并使用 TRUST 5 质量框架。适用于功能构建、代码重构、缺陷修复。
kimky1122 kimky1122 来源
开发者工具 clawhub v1.1.0 1 版本 99882.1 Key: 无需
★ 0
Stars
📥 847
下载
💾 13
安装
1
版本
#latest

概述

Quality-Driven Development

Structured development methodology inspired by MoAI-ADK's TRUST 5 framework. Automatically selects TDD or DDD based on project state, enforces quality gates, and produces tested, documented code.

Core Philosophy

> "바이브 코딩의 목적은 빠른 생산성이 아니라 코드 품질이다."

Logging Strategy

All code must include meaningful logs. Logs are the first line of defense for debugging production issues.

Log Levels

LevelPurposeExamples운영(PRD)개발(DEV)
--------------------------:---------::---------:
ERROR예외, 실패, 복구 불가 상황catch 블록, DB 연결 실패, 필수값 누락
WARN예상 밖 상황, 복구 가능fallback 사용, 재시도, deprecated 호출
INFO핵심 흐름만 간결하게API 호출/응답, 상태 변경, 트랜잭션 시작/완료
DEBUG상세 디버깅, 자유롭게함수 진입/종료, 변수값, 조건 분기, 쿼리 파라미터

Log Placement Rules

반드시 로그를 넣어야 하는 곳:

  • API 엔드포인트 진입 (INFO: 요청 파라미터 요약)
  • 외부 서비스 호출 전/후 (INFO: 호출 대상, 응답 상태)
  • 에러/예외 catch 블록 (ERROR: 에러 메시지 + 컨텍스트)
  • 비즈니스 로직 분기점 (DEBUG: 어떤 분기로 갔는지)
  • 상태 변경 (INFO: before → after)
  • 배치/스케줄러 시작/완료 (INFO: 처리 건수, 소요 시간)

로그 작성 원칙:

  • 운영에서 INFO만으로 흐름 추적이 가능해야 한다
  • DEBUG는 부담 없이 자유롭게 — 운영에선 출력 안 됨
  • 민감 정보(비밀번호, 토큰, 개인정보) 절대 로그에 포함 금지
  • 로그 메시지에 컨텍스트 포함 (ID, 파라미터 등) — "처리 실패" ❌ → "주문 처리 실패 [orderId=123, reason=재고부족]"

Workflow

Phase 0: Project Analysis

Before any coding, analyze the project:

  1. Check if test framework exists (jest, vitest, pytest, go test, etc.)
  2. Measure current test coverage (run coverage command if available)
  3. Detect language, framework, and project structure
  4. Identify logging framework (slf4j, winston, pino, logback, print/console.log etc.) — if none exists, recommend and set up one
  5. Select methodology automatically:
Coverage >= 10% OR new project → TDD (default)
Coverage < 10% AND existing project → DDD

Report the analysis result and selected methodology to the user before proceeding.

Phase 1: SPEC Document

Create a SPEC document before implementation:

# SPEC-{ID}: {Title}

## Goal
One sentence describing what this change achieves.

## Acceptance Criteria
- [ ] Criterion 1 (testable)
- [ ] Criterion 2 (testable)
- [ ] Criterion 3 (testable)

## Scope
- **In scope:** What will be changed
- **Out of scope:** What will NOT be changed

## Technical Approach
Brief description of implementation strategy.

## Log Points
Key locations where logs will be added (level + message summary).

## TRUST 5 Checklist
- [ ] **Tested:** All acceptance criteria have corresponding tests
- [ ] **Readable:** Code is self-documenting with clear naming
- [ ] **Unified:** Follows existing project conventions
- [ ] **Secured:** No new vulnerabilities introduced
- [ ] **Trackable:** Changes are documented and linked to this SPEC

Phase 2A: TDD Execution (New Projects / Coverage >= 10%)

Follow RED → GREEN → REFACTOR strictly:

RED — Write failing tests first

  1. Write test for first acceptance criterion
  2. Run test — confirm it FAILS
  3. Report: "🔴 RED: Test written and failing as expected"

GREEN — Minimal implementation

  1. Write minimum code to pass the test
  2. Add appropriate logs at key points (API calls, error handling, state changes)
  3. Run test — confirm it PASSES
  4. Report: "🟢 GREEN: Test passing"

REFACTOR — Clean up

  1. Improve code quality while keeping tests green
  2. Review log quality — ensure levels are correct, messages are clear with context
  3. Run all tests — confirm everything still passes
  4. Report: "♻️ REFACTOR: Code cleaned, all tests green"

Repeat for each acceptance criterion.

Phase 2B: DDD Execution (Existing Projects / Coverage < 10%)

Follow ANALYZE → PRESERVE → IMPROVE:

ANALYZE — Understand existing code

  1. Read existing code and identify dependencies
  2. Map domain boundaries and side effects
  3. Check existing logging — identify gaps where logs are missing
  4. Report: "🔍 ANALYZE: Current behavior documented"

PRESERVE — Capture current behavior

  1. Write characterization tests for existing behavior
  2. Run tests — confirm they pass against current code
  3. Report: "🛡️ PRESERVE: Characterization tests in place"

IMPROVE — Change under test protection

  1. Make changes incrementally
  2. Add/improve logs at changed code paths
  3. Run tests after each change
  4. Report: "📈 IMPROVE: Changes verified by tests"

Phase 3: TRUST 5 Quality Gate

Before declaring work complete, verify all 5 principles:

PrincipleCheckAction
--------------------------
TestedRun full test suiteAll tests pass, coverage maintained or improved
ReadableReview naming, comments, log messagesFix unclear names, ensure log messages have context
UnifiedCheck style consistency, log format consistencyMatch existing patterns (indent, naming, log format)
SecuredSecurity review, log content reviewNo hardcoded secrets, no sensitive data in logs
TrackableDocumentation, log coverageChanges described, key paths have appropriate logs

Only proceed to completion when ALL 5 checks pass.

Phase 4: Completion Report

## ✅ SPEC-{ID} Complete

### Methodology: {TDD|DDD}
### Changes:
- {file1}: {what changed}
- {file2}: {what changed}

### Log Points Added:
- {file1:line}: {level} - {description}
- {file2:line}: {level} - {description}

### Test Results:
- Tests: {passed}/{total}
- Coverage: {before}% → {after}%

### TRUST 5:
- ✅ Tested | ✅ Readable | ✅ Unified | ✅ Secured | ✅ Trackable

Agent Roles

When working on complex tasks, delegate to specialized perspectives:

RoleFocusWhen to Activate
------------------------------
ArchitectSystem design, API contractsNew feature, structural change
BackendAPI, DB, business logicServer-side work
FrontendUI, UX, componentsClient-side work
SecurityVulnerabilities, auth, input validationAuth features, data handling
TesterTest strategy, edge cases, coverageAlways (TRUST 5 - Tested)
PerformanceOptimization, profilingLoad-sensitive features

For each task, identify which roles are relevant and apply their perspective during review.

Reference Guides

TopicReferenceLoad When
-----------------------------
TDD Patternsreferences/tdd-patterns.mdTDD methodology selected
DDD Patternsreferences/ddd-patterns.mdDDD methodology selected
TRUST 5 Detailreferences/trust5-checklist.mdQuality gate phase
Language-specificreferences/lang-{language}.mdLanguage-specific patterns needed

Constraints

MUST DO:

  • Always analyze project before choosing methodology
  • Always create SPEC before coding
  • Always write tests (TDD: before code, DDD: before changes)
  • Always run TRUST 5 gate before completion
  • Report progress at each phase transition
  • Always add meaningful logs with appropriate levels at key code points
  • Always ensure tests are actually executed (not just written) — run the test suite and confirm results before proceeding

MUST NOT:

  • Skip test writing for any reason
  • Write implementation before tests (TDD mode)
  • Modify untested code without characterization tests first (DDD mode)
  • Declare complete without all 5 TRUST checks passing
  • Change code outside the SPEC scope
  • Log sensitive data (passwords, tokens, personal info)
  • Skip logging at error/catch blocks

版本历史

共 1 个版本

  • v1.1.0 当前
    2026-03-29 17:36 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

dev-programming

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 676 📥 325,637
dev-programming

YouTube

byungkyu
使用托管OAuth集成YouTube Data API,支持搜索视频、管理播放列表、获取频道数据及评论互动,适用于用户需要时使用此技能。
★ 142 📥 41,381
dev-programming

Mcporter

steipete
使用 mcporter CLI 直接列出、配置、认证及调用 MCP 服务器/工具(支持 HTTP 或 stdio),涵盖临时服务器、配置编辑及 CLI/类型生成功能。
★ 194 📥 67,401