The notion of vibe coding has been present in AI-assisted programming practice for years, even before it was explicitly named. Developers were already engaging in conversational, flow-oriented interactions with Large Language Models, rapidly accepting generated code and prioritizing momentum over detailed inspection. The term “vibe coding” was later popularized by Karpathy as an experience-driven, improvisational form of coding enabled by increasingly capable language models [1].
As vibe coding spread, discussions quickly moved beyond definition toward questions of quality, reliability, and responsibility. While first vibe coders emphasized speed, creativity, and flow, critics raised concerns about hidden defects, limited input coverage, loss of intent, and declining maintainability. Conceptual analyses frame vibe coding as a reconfiguration of intent mediation, where cognitive labor is redistributed and expertise shifts toward collaborative orchestration between humans and AI systems [2]. In this work, we intentionally enter this ongoing conversation. We propose a compact set of six Vibe Coding Principles, distilled from forum discussions, empirical studies, and our prior work on vibe coding in educational settings [3]. The proposed principles are:
  1. Responsible Vibe Coding Principle
  2. Tool-Aware Vibe Coding Principle
  3. Specification-First Principle
  4. Plan-Guide-Verify Principle
  5. Rule of Principle-Guided Prompts
  6. Definition of Done Principle
Each principle addresses a specific tension inherent in vibe coding. The Responsible Vibe Coding Principle emphasizes that responsibility for correctness, safety, and consequences remains with the human developer, including responsible use of energy-intensive AI tools. The Tool-Aware Vibe Coding Principle recognizes that vibe coding is inseparable from its tooling environment and that different tools actively shape reasoning, feedback loops, and trust. The Specification-First Principle responds directly to challenges of intent mediation by asserting that explicit specification must precede generation. The Plan-Guide-Verify Principle captures the iterative rhythm of vibe coding while embedding verification as a first-class activity rather than an afterthought, mitigating risks of false confidence identified in prior studies [4]. The Rule of Principle-Guided Prompts introduces disciplined prompting as a normative constraint, ensuring that prompts themselves reflect established software engineering principles such as SOLID. Finally, the Definition of Done Principle reframes completion criteria in AI-assisted development, emphasizing contracts, pre- and post-conditions, invariants, and independently meaningful tests.
We do not claim that this list is final or universally accepted. Instead, we view it as a contribution toward consolidation. Our goal is to help vibe coding mature from an ad hoc practice into a recognizable practice within the Principles–Patterns–Practices (PPP) framework of software engineering. We hope that our work provides a starting point for stabilization and invite further debate and refinement.
References
[1] A. Karpathy (2025). Vibe Coding. Post on X (formerly Twitter), https://x.com/karpathy/status/1886192184808149383, 02.02.2025.
[2] C. Meske et al. (2025). Vibe Coding as a Reconfiguration of Intent Mediation in Software Development: Definition, Implications, and Research Agenda. IEEE Access, vol. 13, pp. 213242-213259, doi: 10.1109/ACCESS.2025.3645466.
[3] G. Kusper and Cs. Szabó (2025). Vibe Coding in Education. 2025 International Conference on Emerging eLearning Technologies and Applications (ICETA), Stary Smokovec, Slovakia, pp. 506-511, doi: 10.1109/ICETA67772.2025.11280285.
[4] A. Sarkar, and I. Drosos (2025). Vibe coding: programming through conversation with artificial intelligence. arXiv:2506.23253.