# SKELETON.md Template

> Emitted by `ecl-planner` when `WALKING_SKELETON=true` (Phase 1 + `--mvp` + new project). Records the architectural decisions the rest of the project will build on.

```markdown
# Walking Skeleton — [Project Name]

**Phase:** 1
**Generated:** {ISO date}

## Capability Proven End-to-End

> One sentence: the smallest user-visible capability that exercises the full stack.

Example: "A signed-in user can view their email on a dashboard page served by the deployed app."

## Architectural Decisions

| Decision | Choice | Rationale |
|---|---|---|
| Framework | (e.g., Next.js 15 App Router) | Why this fits the project |
| Data layer | (e.g., Postgres + Drizzle) | Why |
| Auth | (e.g., session cookies + bcrypt) | Why |
| Deployment target | (e.g., Vercel preview) | Why |
| Directory layout | (e.g., feature-folders under src/features/*) | Why |

## Stack Touched in Phase 1

- [ ] Project scaffold (framework, build, lint, test runner)
- [ ] Routing — at least one real route
- [ ] Database — at least one real read AND one real write
- [ ] UI — at least one interactive element wired to the API
- [ ] Deployment — running on dev environment OR documented local full-stack run command

## Out of Scope (Deferred to Later Slices)

> Anything that is *not* in the skeleton. Be explicit — this list prevents future phases from re-litigating Phase 1's minimalism.

- (e.g., password reset, email verification, multi-tenancy)

## Subsequent Slice Plan

Each later phase adds one vertical slice on top of this skeleton without altering its architectural decisions:

- Phase 2: [next user capability]
- Phase 3: [next user capability]
- ...
```
