Feature request: TDD, Convention over Configuration, and MVC as default operating modes

Resolved 💬 2 comments Opened May 5, 2026 by jodybrownell Closed Jun 4, 2026

The Ask

Claude Code should default to TDD (Test-Driven Development), Convention over Configuration, and MVC patterns when building software. Not as suggestions — as the default operating mode.

Why This Matters

When I explicitly told Claude to follow TDD, CoD, and MVC, the quality of output went through the roof. The difference was night and day:

Before (default Claude behavior):

  • Builds features first, tests as an afterthought (if at all)
  • Makes arbitrary structural decisions per-feature
  • Mixes concerns freely

After (TDD + CoD + MVC enforced):

  • Test defines what "done" means BEFORE code is written
  • Conventions eliminate decision fatigue — same pattern every time
  • Model (URL/data), View (component), Controller (event handlers) stay cleanly separated
  • Bugs caught at write time, not deploy time
  • Features ship faster because the test proves they work

What This Would Look Like

  1. TDD by default: When asked to build a feature, Claude writes the test first, shows it failing (red), then writes the code to make it pass (green), then refactors. Not "I'll add tests after" — tests first.
  1. Convention over Configuration: When there's an established pattern in the codebase (file naming, component structure, API shape), Claude follows it without asking. New files match existing conventions. No reinventing per-feature.
  1. MVC awareness: Claude separates data (model), presentation (view), and behavior (controller) naturally. URL params as model, components as views, event handlers as controllers. Not mixing data fetching into presentation or UI logic into data layers.

The Evidence

In a single session with these principles enforced:

  • 32 issues closed
  • 15 features shipped
  • 454 i18n keys in sync across 2 languages
  • 500+ E2E tests passing
  • Zero regressions

The quality improvement is not marginal — it is transformative. These should be defaults, not opt-in behaviors.

Current Workaround

Users must explicitly instruct Claude to follow TDD in their CLAUDE.md or conversation. Most users do not know to do this, which means most Claude Code output ships without tests, without conventions, and with mixed concerns.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗