# GitHub Spec-Kit

#### What is Spec-Driven Development?

Spec-Driven Development (SDD) is a software engineering methodology designed for the era of AI-assisted programming. Instead of relying on ad-hoc conversational prompting—often referred to as "vibe coding"—SDD enforces a rigorous, step-by-step pipeline. In SDD, you dictate the behavior, architecture, and constraints of your software in plain-text markdown files before any code is generated. AI agents then read these specifications to reliably generate, review, and test the implementation.

#### Core Philosophy: Specs as Executable Scaffolding

In traditional workflows, documentation is an afterthought. In SDD, the documentation *is* the application's scaffolding. The core philosophy is that AI coding agents perform best when provided with crystal-clear, deterministic context. By treating specifications as executable contracts rather than passive wikis, you eliminate ambiguity, reduce AI hallucinations, and create a permanent, human-readable source of truth for both developers and machines.

***


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://shankar-lab.gitbook.io/mylearning/github-spec-kit.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
