@codewalla_india/openspec 1.3.2 โ†’ 1.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,272 +1,272 @@
1
- <p align="center">
2
- <a href="https://github.com/codewalla-engineering/openspec-upstream-sync">
3
- <picture>
4
- <source srcset="assets/openspec_pixel_dark.svg" media="(prefers-color-scheme: dark)">
5
- <source srcset="assets/openspec_pixel_light.svg" media="(prefers-color-scheme: light)">
6
- <img src="assets/openspec_pixel_light.svg" alt="OpenSpec logo" height="64">
7
- </picture>
8
- </a>
9
-
10
- </p>
11
- <p align="center">Spec-driven development for AI coding assistants.</p>
12
- <p align="center">
13
- <a href="https://github.com/codewalla-engineering/openspec-upstream-sync/actions/workflows/ci.yml"><img alt="CI" src="https://github.com/codewalla-engineering/openspec-upstream-sync/actions/workflows/ci.yml/badge.svg" /></a>
14
- <a href="https://www.npmjs.com/package/@codewalla_india/openspec"><img alt="npm version" src="https://img.shields.io/npm/v/@codewalla_india/openspec?style=flat-square" /></a>
15
- <a href="https://nodejs.org/"><img alt="node version" src="https://img.shields.io/node/v/@codewalla_india/openspec?style=flat-square" /></a>
16
- <a href="./LICENSE"><img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square" /></a>
17
- <a href="https://conventionalcommits.org"><img alt="Conventional Commits" src="https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg?style=flat-square" /></a>
18
- <a href="https://discord.gg/YctCnvvshC"><img alt="Discord" src="https://img.shields.io/badge/Discord-Join%20the%20community-5865F2?logo=discord&logoColor=white&style=flat-square" /></a>
19
- </p>
20
-
21
- <p align="center">
22
- <img src="assets/openspec_dashboard.png" alt="OpenSpec dashboard preview" width="90%">
23
- </p>
24
-
25
- <p align="center">
26
- Follow <a href="https://x.com/0xTab">@0xTab on X</a> for updates ยท Join the <a href="https://discord.gg/YctCnvvshC">OpenSpec Discord</a> for help and questions.
27
- </p>
28
-
29
- <p align="center">
30
- <sub>๐Ÿš€ <strong>New:</strong> <a href="docs/opsx.md">OPSX Workflow</a> โ€” schema-driven, hackable, fluid. Iterate on workflows without code changes.</sub>
31
- </p>
32
-
33
- # OpenSpec
34
-
35
- OpenSpec aligns humans and AI coding assistants with spec-driven development so you agree on what to build before any code is written. **No API keys required.**
36
-
37
- ## ๐ŸŽฏ Why OpenSpec?
38
-
39
- AI coding assistants are powerful but unpredictable when requirements live in chat history. OpenSpec adds a lightweight specification workflow that locks intent before implementation, giving you deterministic, reviewable outputs.
40
-
41
- Key outcomes:
42
- - Human and AI stakeholders agree on specs before work begins
43
- - Structured change folders (proposals, tasks, and spec updates) keep scope explicit and auditable
44
- - Shared visibility into what's proposed, active, or archived
45
- - Works with the AI tools you already use: custom slash commands where supported, context rules everywhere else
46
-
47
- ## ๐ŸŒŸ What's New in v1.8.0
48
-
49
- ### ๐Ÿš€ OPSX Workflow - The New Standard
50
-
51
- **OPSX is now the default workflow for OpenSpec.** It's a fluid, iterative approach that replaces rigid phases with flexible actions you can take anytime.
52
-
53
- **Key improvements:**
54
- - **Schema-driven**: Edit `schema.yaml` and `templates/*.md` to customize workflows without code changes
55
- - **Fluid actions**: Create, implement, update, archive โ€” do any of them anytime
56
- - **Hackable**: Experiment with instructions, test granularly, customize workflows
57
- - **Team-ready**: Create workflows that match how your team actually works
58
-
59
- ```bash
60
- # Quick start with OPSX
61
- openspec init
62
- # Then in your AI chat:
63
- /opsx:explore # Think through ideas
64
- /opsx:propose # Create change with planning artifacts
65
- /opsx:apply # Implement tasks
66
- /opsx:archive # Archive when done
67
- ```
68
-
69
- ### ๐Ÿ†• New AI Tool Integrations
70
-
71
- - **Atlassian Rovo Dev CLI** support (`--tools rovodev`)
72
- - **MiniMax Code** as a global skills-only tool target
73
- - **Enhanced GitHub Copilot** integration with opt-in cloud coding agent files
74
- - **Improved Codex skills** now use the shared `.agents` directory
75
-
76
- ### ๏ฟฝ New Plan Artifact
77
-
78
- - **Mandatory planning artifact** with implementation guidance
79
- - **Code maps** showing files to create, modify, and delete
80
- - **Implementation order** with sequenced steps
81
- - **Test plans** covering unit, integration, and manual testing
82
- - **Risk assessment** with mitigation strategies
83
- - **Dependency chain**: specs โ†’ design โ†’ plan โ†’ tasks
84
-
85
- ### ๐Ÿ”ง Enhanced Features
86
-
87
- - **OPSX Modify Command** (experimental): `/opsx:modify` for revising planning artifacts before implementation
88
- - **Dependency propagation**: Automatic updates to dependent artifacts when modifying
89
- - **Conflict detection**: Identifies conflicts with manual edits before modification
90
- - **Modification history**: Tracks all artifact changes with timestamps
91
-
92
- ### ๏ฟฝ๐Ÿ”ง Enhanced Features
93
-
94
- - **Capability retirement**: Automatically retire capabilities when changes remove their last requirements
95
- - **Multi-language validation**: `openspec validate` now treats English `SHALL`/`MUST` as guidance in normal mode
96
- - **Better task progress**: Counts indented sub-tasks and provides more accurate progress tracking
97
- - **Improved archive guidance**: Better error messages and flag suggestions for non-interactive environments
98
-
99
- ## ๐Ÿ“š How It Works
100
-
101
- ```
102
- โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
103
- โ”‚ Draft Change โ”‚
104
- โ”‚ Proposal โ”‚
105
- โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
106
- โ”‚ share intent with your AI
107
- โ–ผ
108
- โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
109
- โ”‚ Review & Align โ”‚
110
- โ”‚ (edit specs/tasks) โ”‚โ—€โ”€โ”€โ”€โ”€ feedback loop โ”€โ”€โ”€โ”€โ”€โ”€โ”
111
- โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
112
- โ”‚ approved plan โ”‚
113
- โ–ผ โ”‚
114
- โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
115
- โ”‚ Implement Tasks โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
116
- โ”‚ (AI writes code) โ”‚
117
- โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
118
- โ”‚ ship the change
119
- โ–ผ
120
- โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
121
- โ”‚ Archive & Update โ”‚
122
- โ”‚ Specs (source) โ”‚
123
- โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
124
-
125
- 1. Draft a change proposal that captures the spec updates you want
126
- 2. Review the proposal with your AI assistant until everyone agrees
127
- 3. Implement tasks that reference the agreed specs
128
- 4. Archive the change to merge the approved updates back into the source-of-truth specs
129
- ```
130
-
131
- ## ๐Ÿš€ Getting Started
132
-
133
- ### Prerequisites
134
- - **Node.js >= 20.19.0** - Check your version with `node --version`
135
-
136
- ### Step 1: Install the CLI globally
137
-
138
- **Option A: Using npm**
139
- ```bash
140
- npm install -g @codewalla_india/openspec@latest
141
- ```
142
-
143
- Verify installation:
144
- ```bash
145
- openspec --version
146
- ```
147
-
148
- **Option B: Using Nix (NixOS and Nix package manager)**
149
- ```bash
150
- nix run github:codewalla-engineering/openspec-upstream-sync -- init
151
- ```
152
-
153
- Or install to your profile:
154
- ```bash
155
- nix profile install github:codewalla-engineering/openspec-upstream-sync
156
- ```
157
-
158
- ### Step 2: Initialize OpenSpec in your project
159
-
160
- ```bash
161
- cd your-project
162
- openspec init
163
- ```
164
-
165
- This creates:
166
- - `openspec/` directory for your specs and changes
167
- - AI tool integration files (slash commands or skills)
168
- - Optional project configuration (`openspec/config.yaml`)
169
-
170
- ### Step 3: Start using OpenSpec
171
-
172
- **In your AI assistant's chat:**
173
-
174
- ```bash
175
- # Explore an idea (recommended first step)
176
- /opsx:explore
177
-
178
- # Create a new change
179
- /opsx:propose add-dark-mode
180
-
181
- # Implement the tasks
182
- /opsx:apply
183
-
184
- # Archive when complete
185
- /opsx:archive
186
- ```
187
-
188
- ## ๐Ÿ› ๏ธ Supported AI Tools
189
-
190
- OpenSpec integrates with 30+ AI coding assistants. Here are the most popular:
191
-
192
- ### Native Slash Commands
193
- These tools have built-in OpenSpec commands:
194
-
195
- | Tool | Commands |
196
- |------|----------|
197
- | **Claude Code** | `/openspec:proposal`, `/openspec:apply`, `/openspec:archive` |
198
- | **Cursor** | `/openspec-proposal`, `/openspec-apply`, `/openspec:archive` |
199
- | **GitHub Copilot** | `/openspec-proposal`, `/openspec-apply`, `/openspec-archive` |
200
- | **Windsurf** | `/openspec-proposal`, `/openspec-apply`, `/openspec-archive` |
201
- | **Continue** | `/openspec-proposal`, `/openspec-apply`, `/openspec-archive` |
202
- | **Cline** | Workflows in `.clinerules/workflows/` directory |
203
- | **Codex** | `/openspec-proposal`, `/openspec-apply`, `/openspec-archive` (auto-installed) |
204
-
205
- ### AGENTS.md Compatible
206
- These tools automatically read workflow instructions from `openspec/AGENTS.md`:
207
-
208
- | Tools |
209
- |-------|
210
- | Amp โ€ข Jules โ€ข Others |
211
-
212
- For the complete list of supported tools, see [Supported Tools](docs/supported-tools.md).
213
-
214
- ## ๐Ÿ“– Documentation
215
-
216
- ### Start Here
217
- - [Getting Started](docs/getting-started.md) - Install, initialize, and run your first change
218
- - [OPSX Workflow](docs/opsx.md) - The new fluid, schema-driven workflow
219
- - [How Commands Work](docs/how-commands-work.md) - Where to type slash commands vs terminal commands
220
-
221
- ### Core Concepts
222
- - [Core Concepts at a Glance](docs/overview.md) - The mental model on one page
223
- - [Concepts](docs/concepts.md) - In-depth explanation of specs, changes, artifacts
224
- - [Glossary](docs/glossary.md) - Every term defined in one place
225
-
226
- ### Day-to-Day Usage
227
- - [Workflows](docs/workflows.md) - Common patterns and when to reach for each command
228
- - [Examples & Recipes](docs/examples.md) - Full walkthroughs of real changes
229
- - [Writing Good Specs](docs/writing-specs.md) - What strong requirements look like
230
- - [Reviewing Changes](docs/reviewing-changes.md) - The two-minute review pass
231
- - [Commands Reference](docs/commands.md) - Complete reference for all OPSX commands including `/opsx:modify`
232
-
233
- ### Advanced
234
- - [Customization](docs/customization.md) - Project config, custom schemas, shared context
235
- - [Multi-Language](docs/multi-language.md) - Generate artifacts in other languages
236
- - [Stores (beta)](docs/stores-beta/user-guide.md) - Plan across repos and teams
237
-
238
- ### Help
239
- - [FAQ](docs/faq.md) - Quick answers to common questions
240
- - [Troubleshooting](docs/troubleshooting.md) - Concrete fixes for concrete failures
241
- - [Migration Guide](docs/migration-guide.md) - Moving from legacy workflow to OPSX
242
-
243
- ## ๐Ÿ”„ Migration from Legacy Workflow
244
-
245
- If you're using the old OpenSpec workflow, the [Migration Guide](docs/migration-guide.md) explains what changed and how to transition. Your existing work is safe โ€” the migration is non-destructive.
246
-
247
- ## ๐Ÿค Contributing
248
-
249
- We welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines. The most valuable contributions are:
250
-
251
- - Documentation improvements
252
- - Bug fixes
253
- - New AI tool integrations
254
- - Workflow enhancements
255
-
256
- ## ๐Ÿ“„ License
257
-
258
- MIT License - see [LICENSE](LICENSE) file for details
259
-
260
- ## ๐Ÿ†˜ Support
261
-
262
- - **Discord:** [discord.gg/YctCnvvshC](https://discord.gg/YctCnvvshC) for questions, ideas, and help
263
- - **GitHub Issues:** [github.com/codewalla-engineering/openspec-upstream-sync/issues](https://github.com/codewalla-engineering/openspec-upstream-sync/issues) for bugs and feature requests
264
- - **Feedback:** Run `openspec feedback "your message"` to send feedback directly from your terminal
265
-
266
- ## ๐ŸŒŸ Acknowledgments
267
-
268
- Built with โค๏ธ for the AI-assisted development community. Special thanks to all contributors who make OpenSpec better every day.
269
-
270
- ---
271
-
1
+ <p align="center">
2
+ <a href="https://github.com/codewalla-engineering/openspec-upstream-sync">
3
+ <picture>
4
+ <source srcset="assets/openspec_pixel_dark.svg" media="(prefers-color-scheme: dark)">
5
+ <source srcset="assets/openspec_pixel_light.svg" media="(prefers-color-scheme: light)">
6
+ <img src="assets/openspec_pixel_light.svg" alt="OpenSpec logo" height="64">
7
+ </picture>
8
+ </a>
9
+
10
+ </p>
11
+ <p align="center">Spec-driven development for AI coding assistants.</p>
12
+ <p align="center">
13
+ <a href="https://github.com/codewalla-engineering/openspec-upstream-sync/actions/workflows/ci.yml"><img alt="CI" src="https://github.com/codewalla-engineering/openspec-upstream-sync/actions/workflows/ci.yml/badge.svg" /></a>
14
+ <a href="https://www.npmjs.com/package/@codewalla_india/openspec"><img alt="npm version" src="https://img.shields.io/npm/v/@codewalla_india/openspec?style=flat-square" /></a>
15
+ <a href="https://nodejs.org/"><img alt="node version" src="https://img.shields.io/node/v/@codewalla_india/openspec?style=flat-square" /></a>
16
+ <a href="./LICENSE"><img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square" /></a>
17
+ <a href="https://conventionalcommits.org"><img alt="Conventional Commits" src="https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg?style=flat-square" /></a>
18
+ <a href="https://discord.gg/YctCnvvshC"><img alt="Discord" src="https://img.shields.io/badge/Discord-Join%20the%20community-5865F2?logo=discord&logoColor=white&style=flat-square" /></a>
19
+ </p>
20
+
21
+ <p align="center">
22
+ <img src="assets/codewalla_bg.png" alt="OpenSpec dashboard preview" width="90%">
23
+ </p>
24
+
25
+ <p align="center">
26
+ Follow <a href="https://x.com/0xTab">@0xTab on X</a> for updates ยท Join the <a href="https://discord.gg/YctCnvvshC">OpenSpec Discord</a> for help and questions.
27
+ </p>
28
+
29
+ <p align="center">
30
+ <sub>๐Ÿš€ <strong>New:</strong> <a href="docs/opsx.md">OPSX Workflow</a> โ€” schema-driven, hackable, fluid. Iterate on workflows without code changes.</sub>
31
+ </p>
32
+
33
+ # OpenSpec
34
+
35
+ OpenSpec aligns humans and AI coding assistants with spec-driven development so you agree on what to build before any code is written. **No API keys required.**
36
+
37
+ ## ๐ŸŽฏ Why OpenSpec?
38
+
39
+ AI coding assistants are powerful but unpredictable when requirements live in chat history. OpenSpec adds a lightweight specification workflow that locks intent before implementation, giving you deterministic, reviewable outputs.
40
+
41
+ Key outcomes:
42
+ - Human and AI stakeholders agree on specs before work begins
43
+ - Structured change folders (proposals, tasks, and spec updates) keep scope explicit and auditable
44
+ - Shared visibility into what's proposed, active, or archived
45
+ - Works with the AI tools you already use: custom slash commands where supported, context rules everywhere else
46
+
47
+ ## ๐ŸŒŸ What's New in v1.8.0
48
+
49
+ ### ๐Ÿš€ OPSX Workflow - The New Standard
50
+
51
+ **OPSX is now the default workflow for OpenSpec.** It's a fluid, iterative approach that replaces rigid phases with flexible actions you can take anytime.
52
+
53
+ **Key improvements:**
54
+ - **Schema-driven**: Edit `schema.yaml` and `templates/*.md` to customize workflows without code changes
55
+ - **Fluid actions**: Create, implement, update, archive โ€” do any of them anytime
56
+ - **Hackable**: Experiment with instructions, test granularly, customize workflows
57
+ - **Team-ready**: Create workflows that match how your team actually works
58
+
59
+ ```bash
60
+ # Quick start with OPSX
61
+ openspec init
62
+ # Then in your AI chat:
63
+ /opsx:explore # Think through ideas
64
+ /opsx:propose # Create change with planning artifacts
65
+ /opsx:apply # Implement tasks
66
+ /opsx:archive # Archive when done
67
+ ```
68
+
69
+ ### ๐Ÿ†• New AI Tool Integrations
70
+
71
+ - **Atlassian Rovo Dev CLI** support (`--tools rovodev`)
72
+ - **MiniMax Code** as a global skills-only tool target
73
+ - **Enhanced GitHub Copilot** integration with opt-in cloud coding agent files
74
+ - **Improved Codex skills** now use the shared `.agents` directory
75
+
76
+ ### ๏ฟฝ New Plan Artifact
77
+
78
+ - **Mandatory planning artifact** with implementation guidance
79
+ - **Code maps** showing files to create, modify, and delete
80
+ - **Implementation order** with sequenced steps
81
+ - **Test plans** covering unit, integration, and manual testing
82
+ - **Risk assessment** with mitigation strategies
83
+ - **Dependency chain**: specs โ†’ design โ†’ plan โ†’ tasks
84
+
85
+ ### ๐Ÿ”ง Enhanced Features
86
+
87
+ - **OPSX Modify Command** (experimental): `/opsx:modify` for revising planning artifacts before implementation
88
+ - **Dependency propagation**: Automatic updates to dependent artifacts when modifying
89
+ - **Conflict detection**: Identifies conflicts with manual edits before modification
90
+ - **Modification history**: Tracks all artifact changes with timestamps
91
+
92
+ ### ๏ฟฝ๐Ÿ”ง Enhanced Features
93
+
94
+ - **Capability retirement**: Automatically retire capabilities when changes remove their last requirements
95
+ - **Multi-language validation**: `openspec validate` now treats English `SHALL`/`MUST` as guidance in normal mode
96
+ - **Better task progress**: Counts indented sub-tasks and provides more accurate progress tracking
97
+ - **Improved archive guidance**: Better error messages and flag suggestions for non-interactive environments
98
+
99
+ ## ๐Ÿ“š How It Works
100
+
101
+ ```
102
+ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
103
+ โ”‚ Draft Change โ”‚
104
+ โ”‚ Proposal โ”‚
105
+ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
106
+ โ”‚ share intent with your AI
107
+ โ–ผ
108
+ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
109
+ โ”‚ Review & Align โ”‚
110
+ โ”‚ (edit specs/tasks) โ”‚โ—€โ”€โ”€โ”€โ”€ feedback loop โ”€โ”€โ”€โ”€โ”€โ”€โ”
111
+ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
112
+ โ”‚ approved plan โ”‚
113
+ โ–ผ โ”‚
114
+ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
115
+ โ”‚ Implement Tasks โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
116
+ โ”‚ (AI writes code) โ”‚
117
+ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
118
+ โ”‚ ship the change
119
+ โ–ผ
120
+ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
121
+ โ”‚ Archive & Update โ”‚
122
+ โ”‚ Specs (source) โ”‚
123
+ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
124
+
125
+ 1. Draft a change proposal that captures the spec updates you want
126
+ 2. Review the proposal with your AI assistant until everyone agrees
127
+ 3. Implement tasks that reference the agreed specs
128
+ 4. Archive the change to merge the approved updates back into the source-of-truth specs
129
+ ```
130
+
131
+ ## ๐Ÿš€ Getting Started
132
+
133
+ ### Prerequisites
134
+ - **Node.js >= 20.19.0** - Check your version with `node --version`
135
+
136
+ ### Step 1: Install the CLI globally
137
+
138
+ **Option A: Using npm**
139
+ ```bash
140
+ npm install -g @codewalla_india/openspec@latest
141
+ ```
142
+
143
+ Verify installation:
144
+ ```bash
145
+ openspec --version
146
+ ```
147
+
148
+ **Option B: Using Nix (NixOS and Nix package manager)**
149
+ ```bash
150
+ nix run github:codewalla-engineering/openspec-upstream-sync -- init
151
+ ```
152
+
153
+ Or install to your profile:
154
+ ```bash
155
+ nix profile install github:codewalla-engineering/openspec-upstream-sync
156
+ ```
157
+
158
+ ### Step 2: Initialize OpenSpec in your project
159
+
160
+ ```bash
161
+ cd your-project
162
+ openspec init
163
+ ```
164
+
165
+ This creates:
166
+ - `openspec/` directory for your specs and changes
167
+ - AI tool integration files (slash commands or skills)
168
+ - Optional project configuration (`openspec/config.yaml`)
169
+
170
+ ### Step 3: Start using OpenSpec
171
+
172
+ **In your AI assistant's chat:**
173
+
174
+ ```bash
175
+ # Explore an idea (recommended first step)
176
+ /opsx:explore
177
+
178
+ # Create a new change
179
+ /opsx:propose add-dark-mode
180
+
181
+ # Implement the tasks
182
+ /opsx:apply
183
+
184
+ # Archive when complete
185
+ /opsx:archive
186
+ ```
187
+
188
+ ## ๐Ÿ› ๏ธ Supported AI Tools
189
+
190
+ OpenSpec integrates with 30+ AI coding assistants. Here are the most popular:
191
+
192
+ ### Native Slash Commands
193
+ These tools have built-in OpenSpec commands:
194
+
195
+ | Tool | Commands |
196
+ |------|----------|
197
+ | **Claude Code** | `/openspec:proposal`, `/openspec:apply`, `/openspec:archive` |
198
+ | **Cursor** | `/openspec-proposal`, `/openspec-apply`, `/openspec:archive` |
199
+ | **GitHub Copilot** | `/openspec-proposal`, `/openspec-apply`, `/openspec-archive` |
200
+ | **Windsurf** | `/openspec-proposal`, `/openspec-apply`, `/openspec-archive` |
201
+ | **Continue** | `/openspec-proposal`, `/openspec-apply`, `/openspec-archive` |
202
+ | **Cline** | Workflows in `.clinerules/workflows/` directory |
203
+ | **Codex** | `/openspec-proposal`, `/openspec-apply`, `/openspec-archive` (auto-installed) |
204
+
205
+ ### AGENTS.md Compatible
206
+ These tools automatically read workflow instructions from `openspec/AGENTS.md`:
207
+
208
+ | Tools |
209
+ |-------|
210
+ | Amp โ€ข Jules โ€ข Others |
211
+
212
+ For the complete list of supported tools, see [Supported Tools](docs/supported-tools.md).
213
+
214
+ ## ๐Ÿ“– Documentation
215
+
216
+ ### Start Here
217
+ - [Getting Started](docs/getting-started.md) - Install, initialize, and run your first change
218
+ - [OPSX Workflow](docs/opsx.md) - The new fluid, schema-driven workflow
219
+ - [How Commands Work](docs/how-commands-work.md) - Where to type slash commands vs terminal commands
220
+
221
+ ### Core Concepts
222
+ - [Core Concepts at a Glance](docs/overview.md) - The mental model on one page
223
+ - [Concepts](docs/concepts.md) - In-depth explanation of specs, changes, artifacts
224
+ - [Glossary](docs/glossary.md) - Every term defined in one place
225
+
226
+ ### Day-to-Day Usage
227
+ - [Workflows](docs/workflows.md) - Common patterns and when to reach for each command
228
+ - [Examples & Recipes](docs/examples.md) - Full walkthroughs of real changes
229
+ - [Writing Good Specs](docs/writing-specs.md) - What strong requirements look like
230
+ - [Reviewing Changes](docs/reviewing-changes.md) - The two-minute review pass
231
+ - [Commands Reference](docs/commands.md) - Complete reference for all OPSX commands including `/opsx:modify`
232
+
233
+ ### Advanced
234
+ - [Customization](docs/customization.md) - Project config, custom schemas, shared context
235
+ - [Multi-Language](docs/multi-language.md) - Generate artifacts in other languages
236
+ - [Stores (beta)](docs/stores-beta/user-guide.md) - Plan across repos and teams
237
+
238
+ ### Help
239
+ - [FAQ](docs/faq.md) - Quick answers to common questions
240
+ - [Troubleshooting](docs/troubleshooting.md) - Concrete fixes for concrete failures
241
+ - [Migration Guide](docs/migration-guide.md) - Moving from legacy workflow to OPSX
242
+
243
+ ## ๐Ÿ”„ Migration from Legacy Workflow
244
+
245
+ If you're using the old OpenSpec workflow, the [Migration Guide](docs/migration-guide.md) explains what changed and how to transition. Your existing work is safe โ€” the migration is non-destructive.
246
+
247
+ ## ๐Ÿค Contributing
248
+
249
+ We welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines. The most valuable contributions are:
250
+
251
+ - Documentation improvements
252
+ - Bug fixes
253
+ - New AI tool integrations
254
+ - Workflow enhancements
255
+
256
+ ## ๐Ÿ“„ License
257
+
258
+ MIT License - see [LICENSE](LICENSE) file for details
259
+
260
+ ## ๐Ÿ†˜ Support
261
+
262
+ - **Discord:** [discord.gg/YctCnvvshC](https://discord.gg/YctCnvvshC) for questions, ideas, and help
263
+ - **GitHub Issues:** [github.com/codewalla-engineering/openspec-upstream-sync/issues](https://github.com/codewalla-engineering/openspec-upstream-sync/issues) for bugs and feature requests
264
+ - **Feedback:** Run `openspec feedback "your message"` to send feedback directly from your terminal
265
+
266
+ ## ๐ŸŒŸ Acknowledgments
267
+
268
+ Built with โค๏ธ for the AI-assisted development community. Special thanks to all contributors who make OpenSpec better every day.
269
+
270
+ ---
271
+
272
272
  **โšก Powered by OPSX Workflow โ€” the future of spec-driven development**
@@ -11,15 +11,15 @@
11
11
  * @example
12
12
  * ```ts
13
13
  * import { QuizExecutor } from './comprehension-quiz/quiz-executor.js';
14
- * import { generateQuizQuestions } from './comprehension-quiz/question-generator.js';
15
- * import { createProviderWithFallback } from './comprehension-quiz/providers/factory.js';
14
+ * import { QuizQuestionStream, getQuestionCount } from './comprehension-quiz/question-generator.js';
16
15
  *
17
- * // Generate questions
18
- * const questions = await generateQuizQuestions(artifactPaths, 10);
16
+ * // Create on-demand stream โ€” NO questions generated yet
17
+ * const totalQuestions = getQuestionCount(totalArtifactBytes);
18
+ * const stream = await QuizQuestionStream.create(artifactPaths, totalQuestions);
19
19
  *
20
- * // Execute quiz
20
+ * // Execute quiz โ€” one question fetched per answer
21
21
  * const executor = new QuizExecutor();
22
- * const result = await executor.executeQuiz(questions);
22
+ * const result = await executor.executeQuiz(stream, changeName);
23
23
  *
24
24
  * if (result.passed) {
25
25
  * console.log('Quiz passed! Proceeding with implementation.');
@@ -38,5 +38,5 @@ export { LocalProvider } from './providers/local.js';
38
38
  export { fingerprintFile, fingerprintDirectory, fingerprintArtifacts, isPassRecordValid } from './fingerprint.js';
39
39
  export * from './pass-record.js';
40
40
  export { QuizExecutor } from './quiz-executor.js';
41
- export { generateQuizQuestions, generateQuestionsForArtifact, getQuestionCount, calculateQuestionAllocation, } from './question-generator.js';
41
+ export { generateQuizQuestions, generateQuestionsForArtifact, getQuestionCount, calculateQuestionAllocation, QuizQuestionStream, } from './question-generator.js';
42
42
  //# sourceMappingURL=index.d.ts.map
@@ -11,15 +11,15 @@
11
11
  * @example
12
12
  * ```ts
13
13
  * import { QuizExecutor } from './comprehension-quiz/quiz-executor.js';
14
- * import { generateQuizQuestions } from './comprehension-quiz/question-generator.js';
15
- * import { createProviderWithFallback } from './comprehension-quiz/providers/factory.js';
14
+ * import { QuizQuestionStream, getQuestionCount } from './comprehension-quiz/question-generator.js';
16
15
  *
17
- * // Generate questions
18
- * const questions = await generateQuizQuestions(artifactPaths, 10);
16
+ * // Create on-demand stream โ€” NO questions generated yet
17
+ * const totalQuestions = getQuestionCount(totalArtifactBytes);
18
+ * const stream = await QuizQuestionStream.create(artifactPaths, totalQuestions);
19
19
  *
20
- * // Execute quiz
20
+ * // Execute quiz โ€” one question fetched per answer
21
21
  * const executor = new QuizExecutor();
22
- * const result = await executor.executeQuiz(questions);
22
+ * const result = await executor.executeQuiz(stream, changeName);
23
23
  *
24
24
  * if (result.passed) {
25
25
  * console.log('Quiz passed! Proceeding with implementation.');
@@ -43,5 +43,5 @@ export * from './pass-record.js';
43
43
  // Quiz execution
44
44
  export { QuizExecutor } from './quiz-executor.js';
45
45
  // Question generation
46
- export { generateQuizQuestions, generateQuestionsForArtifact, getQuestionCount, calculateQuestionAllocation, } from './question-generator.js';
46
+ export { generateQuizQuestions, generateQuestionsForArtifact, getQuestionCount, calculateQuestionAllocation, QuizQuestionStream, } from './question-generator.js';
47
47
  //# sourceMappingURL=index.js.map
@@ -30,5 +30,6 @@ export declare class AnthropicProvider extends BaseProvider {
30
30
  * @returns Array of generated questions
31
31
  */
32
32
  generateQuestions(artifactContent: string, questionCount: number, artifactType: 'proposal' | 'design' | 'specs' | 'plan' | 'tasks'): Promise<Question[]>;
33
+ generateSingleQuestion(artifactContent: string, artifactType: 'proposal' | 'design' | 'specs' | 'plan' | 'tasks', questionIndex: number, totalQuestions: number, previousQuestionTexts: string[]): Promise<Question>;
33
34
  }
34
35
  //# sourceMappingURL=anthropic.d.ts.map