快速开始

从意图开始。其余一切都是选择。

1

选择状态

选择与现实匹配的状态。

选择一个

seed        "我有一个想法,但没有具体的东西"
exploring   "我有一个方向,但需要验证"
clarified   "我完全清楚要构建什么"
提示:seedexploring 开始。过早标为 clarified 只会让你构建错误的东西。
2

创建 INTENT.md

INTENT.md 放在项目根目录。填写对应的模板。

用于 seed 或 exploring:

# INTENT — [Project Name]

> status: seed

## Why

Problem: [Who is suffering, and how?]
Hypothesis: [What do you think will fix it? It's OK to be wrong.]
Validation: [How will you know if the hypothesis is right?]

## What

[Leave empty if seed. Write what you want to verify if exploring.]

- [ ] [Feature 1 — one line]
- [ ] [Feature 2 — one line]

## Not

[Write whatever comes to mind. Add (?) if unsure.]

- [e.g., No mobile app for now]
- [e.g., Never send user data to third parties]

## Learnings

[Empty for now. You'll fill this as you explore.]

用于 clarified:

# INTENT — [Project Name]

> status: clarified

## Why

Problem: [Who is suffering, and how?]
Goal: [What does success look like?]
Metric: [How do you measure it? Use numbers.]
Customer quote: [What would a happy user tell a friend? One sentence.]

## What

- [ ] [Feature 1 — one line]
- [ ] [Feature 2 — one line]
- [ ] [Feature 3 — one line]

User flow:
1. User does [A]
2. System does [B]
3. Result: [C]

Edge cases:
- [Case 1]
- [Case 2]

## Not

- Forbidden: [Hard security/ethical lines]
- Tech constraints: [e.g., no `any` types, TypeScript only]
- Out of scope: [What we're explicitly not building]
- Quality bar: [e.g., response time under 200ms]

## Learnings

- [Date] [What you tried] — [What you learned]
3

探索、记录、更新

Intent 不是静态的。实验,然后更新它。

在 Learnings 中记录每一个有价值的结果:

## Learnings

- [2026-04-01] Built prototype v1 — users ignored the dashboard, went straight to export
- [2026-04-03] Interviewed 5 SMBs — the real pain is invoice tracking, not analytics
- [2026-04-05] Found existing tool X — covers 80% of what we planned. Pivot to the 20% gap.

然后更新 Why / What / Not。

提示:如果一条 learning 没有改变 Why / What / Not 中的任何内容,它可能还不重要。
4

变更状态

当证据支持时推进。当证据不支持时终止。

状态转换

seedexploring
  当:你开始第一个实验时。

exploringclarified
  当:Why/What/Not 都已确信地填写完毕。没有 (?) 标记。

any statekilled
  当:证据表明这不值得构建,
        或者现有方案已经覆盖了它。
  操作:在 Learnings 中记录原因。这是宝贵的知识。
5

交给 AI

一旦意图达到 clarifiedINTENT.md 就是 AI 所需的全部上下文。

如果你使用 Claude Code,将 Not 中的约束移入 CLAUDE.md

# CLAUDE.md

## Intent Constraints
- TypeScript only, no `any` types
- Never modify user data without explicit confirmation
- Response time under 200ms for all API endpoints

让 AI 派生任务、编写代码、审查和部署。当现实发生变化时更新意图。

就是这样。保持 INTENT.md 最新。其余一切都是选择。
English 한국어 日本語