Skip to content

Commit 715ff51

Browse files
committed
docs(readme): restructure for clarity - focus on AI alignment benefits and quick wins
1 parent f6913b7 commit 715ff51

File tree

1 file changed

+62
-115
lines changed

1 file changed

+62
-115
lines changed

README.md

Lines changed: 62 additions & 115 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,15 @@ OpenSpec turns specifications into living documentation that drives development.
2121
- **Clear Workflow** - Know what's proposed, what's built, and what's archived
2222
- **Team Alignment** - Everyone sees the same requirements and changes
2323

24+
## What You Get
25+
26+
- **Better AI Code Generation** - Create specs first, get the code you actually want
27+
- **Alignment with AI** - Your AI assistant understands exactly what to build through clear specifications
28+
- **Plan Before You Build** - Clarify features and requirements before implementation
29+
- **Team Clarity** - Everyone reviews specs, not code changes
30+
- **No API Keys** - Works with your existing AI tools (Claude Code, Cursor) by adding context rules
31+
- **Track Progress** - See what changes are proposed, in progress, or completed
32+
2433
## How It Works
2534

2635
```
@@ -40,12 +49,6 @@ OpenSpec turns specifications into living documentation that drives development.
4049
4. ARCHIVE preserves completed changes after deployment
4150
```
4251

43-
## Overview
44-
45-
- Specs are the current truth stored in `openspec/specs/<capability>/spec.md`.
46-
- Changes are proposals stored in `openspec/changes/<name>/` with delta-formatted spec updates.
47-
- The CLI favors verb-first commands: `list`, `show`, `validate`, `diff`, `archive`.
48-
4952
## Installation
5053

5154
### Prerequisites
@@ -83,57 +86,30 @@ openspec init
8386
# └── README.md # AI instructions
8487
```
8588

86-
### 2. Create Your First Change Proposal
87-
88-
After initialization, tell your AI assistant (Claude Code, Cursor, etc.):
89+
### 2. Create Your First Change
8990

90-
```markdown
91-
// Step 1: Create the change proposal
92-
"I want to add user authentication with JWT tokens.
93-
Please create an OpenSpec change proposal for this feature"
94-
95-
// Your AI will:
96-
// 1. Create openspec/changes/add-user-auth/
97-
// 2. Write proposal.md explaining why and what
98-
// 3. Create design.md with technical decisions (optional)
99-
// 4. Generate spec deltas showing what's being added
100-
// 5. Create tasks.md with implementation checklist
101-
102-
// Step 2: Review the proposal
103-
// Look at the generated files and ensure they match your vision
104-
// Make any adjustments needed to the proposal or specs
105-
106-
// Step 3: When ready, implement the change
107-
"The proposal looks good. Let's implement the user authentication
108-
change following the tasks in openspec/changes/add-user-auth/tasks.md"
109-
110-
// AI will then work through each task systematically,
111-
// marking them complete as it implements the feature
112-
```
113-
114-
### 3. AI-Driven Development Workflow
91+
Jump straight into creating a change proposal with your AI assistant:
11592

11693
```markdown
117-
// When starting a new feature:
118-
You: "I need to add two-factor authentication to our auth system"
119-
120-
AI: "I'll create an OpenSpec change proposal for 2FA. Let me first
121-
check the current auth specs..."
122-
*reads openspec/specs/user-auth/spec.md*
123-
*creates openspec/changes/add-2fa/ with:*
124-
- proposal.md (why and impact)
125-
- tasks.md (implementation checklist)
126-
- design.md (technical decisions)
127-
- specs/user-auth/spec.md (ADDED requirements)
128-
129-
You: "Great, let's implement it"
130-
131-
AI: "Following the tasks in openspec/changes/add-2fa/tasks.md:
132-
Task 1.1: Create OTP model..."
133-
*implements each task, marking complete*
94+
// Quick win - Add a simple new feature:
95+
You: "I want to add a user profile API endpoint.
96+
Please create an OpenSpec change proposal for this."
97+
98+
AI: "I'll create an OpenSpec change proposal for the user profile API..."
99+
*Creates openspec/changes/add-user-profile-api/ with:*
100+
- proposal.md (why this feature is needed)
101+
- tasks.md (implementation checklist)
102+
- design.md (API design decisions)
103+
- specs/user-profile/spec.md (new requirements)
104+
105+
You: "The proposal looks good. Let's implement it."
106+
107+
AI: "Following the tasks in openspec/changes/add-user-profile-api/tasks.md:
108+
Task 1.1: Create user profile model..."
109+
*Implements each task systematically*
134110
```
135111

136-
### 4. Track and Complete Changes
112+
### 3. Track Your Work
137113

138114
```bash
139115
# View active changes (what's being worked on)
@@ -150,12 +126,18 @@ openspec archive add-2fa
150126
# This moves the change to archive/ and updates specs/
151127
```
152128

153-
### Key Points
129+
## Common Commands
154130

155-
- **You don't write spec files manually** - Your AI assistant creates them
156-
- **Specs are living documentation** - They evolve with your code
157-
- **Changes are proposals** - They show what will be modified before implementation
158-
- **AI follows the specs** - Ensuring consistent, documented development
131+
```bash
132+
# Most used:
133+
openspec list # See what changes you're working on
134+
openspec archive <change> # Mark a change as complete after deployment
135+
136+
# Also useful:
137+
openspec diff <change> # See what specs will change
138+
openspec validate <change> # Check formatting before committing
139+
openspec show <change> # View change details
140+
```
159141

160142
## Example: How AI Creates OpenSpec Files
161143

@@ -226,77 +208,42 @@ The system MUST require a second factor during login.
226208

227209
**Important:** You don't create these files manually. Your AI assistant generates them based on your requirements and the existing codebase.
228210

229-
### Understanding Delta Format
211+
## Understanding OpenSpec Files
230212

231-
Deltas describe how specifications change using operation headers:
213+
### Delta Format
232214

233-
- **`## ADDED Requirements`** - New capabilities being introduced
234-
- **`## MODIFIED Requirements`** - Changes to existing behavior (include the complete modified text)
235-
- **`## REMOVED Requirements`** - Features being deprecated (include reason and migration path)
236-
- **`## RENAMED Requirements`** - Simple name changes
215+
Deltas are "patches" that show how specs change:
237216

238-
Each delta operation contains complete requirement blocks that will be merged into the main spec. Think of deltas as "patches" that transform your current specifications into the desired state.
217+
- **`## ADDED Requirements`** - New capabilities
218+
- **`## MODIFIED Requirements`** - Changed behavior (include complete updated text)
219+
- **`## REMOVED Requirements`** - Deprecated features
239220

240-
**Critical formatting rules:**
241-
- Use `### Requirement: <name>` for requirement headers
242-
- Every requirement MUST include at least one `#### Scenario:` block
243-
- Use SHALL/MUST in ADDED/MODIFIED requirement text
244-
- MODIFIED sections must contain the complete updated requirement, not just the changes
221+
**Format requirements:**
222+
- Use `### Requirement: <name>` for headers
223+
- Every requirement needs at least one `#### Scenario:` block
224+
- Use SHALL/MUST in requirement text
245225

246226

247-
## AI Integration
227+
## Why OpenSpec Works
248228

249-
OpenSpec is built for AI-driven development. Your AI assistant creates and manages all specs and changes.
250-
251-
### The AI Workflow
252-
253-
1. **You describe what you want** - "Add user authentication" or "Improve performance"
254-
2. **AI creates the change proposal** - Generates proposal.md, tasks.md, and spec deltas
255-
3. **AI implements following specs** - Works through tasks.md systematically
256-
4. **You deploy and archive** - Once deployed, archive the change to update specs
257-
258-
### How Your AI Assistant Works with OpenSpec
259-
260-
```markdown
261-
// Starting a new feature:
262-
You: "Add password reset functionality"
263-
264-
AI: "I'll create an OpenSpec change proposal. Let me check the current auth specs first..."
265-
*Runs: openspec list --specs*
266-
*Reads: openspec/specs/auth/spec.md*
267-
*Creates: openspec/changes/add-password-reset/*
268-
269-
// AI automatically:
270-
- Checks existing specs to understand current state
271-
- Creates properly structured change proposals
272-
- Generates spec deltas showing what's being added/modified
273-
- Implements code following the tasks checklist
274-
- Validates changes with openspec validate
275-
```
276-
277-
### Setting Up Your AI Assistant
278-
279-
```bash
280-
# After running 'openspec init', your AI is configured
281-
# The init command:
282-
# 1. Asks which AI tool you use (Claude Code, Cursor, etc.)
283-
# 2. Creates the appropriate configuration files
284-
# 3. Sets up AI-specific instructions
285-
286-
# To update AI configurations later:
287-
openspec update
288-
```
229+
OpenSpec creates **alignment** between you and your AI coding assistant:
289230

231+
1. **You describe** what you want to build
232+
2. **AI creates specs** before writing any code
233+
3. **You review and adjust** the specifications
234+
4. **AI implements** exactly what was specified
235+
5. **Everyone understands** what's being built through clear specs
290236

291-
## Comparison with Kiro.dev
237+
No API keys needed - OpenSpec works by adding context rules to your existing AI tools (Claude Code, Cursor, etc.).
292238

293-
The key difference between OpenSpec and Kiro is **change management**:
294239

295-
- **OpenSpec**: Groups all changes for a feature in one place (`openspec/changes/feature-name/`). You can see exactly what specs, tasks, and code need to be modified for a single feature.
240+
## How OpenSpec Compares
296241

297-
- **Kiro**: Changes affect multiple specs and create tasks across different folders. When implementing a feature that touches multiple capabilities, it's harder to track what needs to be done to complete that specific feature.
242+
### vs. Kiro.dev
243+
OpenSpec groups all changes for a feature in one place (`openspec/changes/feature-name/`), making it easy to track what needs to be done. Kiro spreads changes across multiple spec folders, making feature tracking harder.
298244

299-
This makes OpenSpec better for tracking feature completion and understanding the full scope of changes.
245+
### vs. No Specs
246+
Without specs, AI coding assistants generate code based on vague prompts, often missing requirements or adding unwanted features. OpenSpec ensures alignment before any code is written.
300247

301248
## Team Adoption
302249

0 commit comments

Comments
 (0)