Skip to content

Commit 735fa84

Browse files
gcw_xsdtlYdIopencode (glm-5.1)
authored andcommitted
feat(profile): add 'all' profile preset for installing all workflows
Add a third profile option 'all' alongside 'core' and 'custom': - openspec init --profile all installs all 11 workflows - openspec config profile all preset shortcut - deriveProfileFromWorkflowSelection returns 'all' when all workflows selected - Migration sets 'all' profile when all workflows are already installed - Interactive picker auto-derives 'all' when all 11 workflows are checked Source changes: Profile type, Zod schemas, getProfileWorkflows, resolveProfileOverride, migration logic, config command presets, workspace skill state schemas, CLI descriptions, completions. Test additions: profile resolution, init --profile all, config schema validation, deriveProfileFromWorkflowSelection, config profile preset, migration to 'all', global-config round-trip. Docs updates: cli.md, commands.md, getting-started.md, workflows.md, migration-guide.md, supported-tools.md, CHANGELOG.md, spec.md. 🤖‍ AI[100%] 👌 AI Adopted[100%] 🧑 Human[0%] Co-authored-by: opencode (glm-5.1) <ai@local>
1 parent 1b06fdd commit 735fa84

25 files changed

Lines changed: 176 additions & 32 deletions

AGENTS.md

Whitespace-only changes.

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@
8282

8383
- [#747](https://github.com/Fission-AI/OpenSpec/pull/747) [`1e94443`](https://github.com/Fission-AI/OpenSpec/commit/1e94443a3551b228eecbc89e95d96d3b9600a192) Thanks [@TabishB](https://github.com/TabishB)! - ### New Features
8484

85-
- **Profile system** — Choose between `core` (4 essential workflows) and `custom` (pick any subset) profiles to control which skills get installed. Manage profiles with the new `openspec config profile` command
85+
- **Profile system** — Choose between `core` (5 essential workflows), `all` (all 11 workflows), and `custom` (pick any subset) profiles to control which skills get installed. Manage profiles with the new `openspec config profile` command
8686
- **Propose workflow** — New one-step workflow creates a complete change proposal with design, specs, and tasks from a single request — no need to run `new` then `ff` separately
8787
- **AI tool auto-detection**`openspec init` now scans your project for existing tool directories (`.claude/`, `.cursor/`, etc.) and pre-selects detected tools
8888
- **Pi (pi.dev) support** — Pi coding agent is now a supported tool with prompt and skill generation

docs/cli.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ openspec init [path] [options]
103103
|--------|-------------|
104104
| `--tools <list>` | Configure AI tools non-interactively. Use `all`, `none`, or comma-separated list |
105105
| `--force` | Auto-cleanup legacy files without prompting |
106-
| `--profile <profile>` | Override global profile for this init run (`core` or `custom`) |
106+
| `--profile <profile>` | Override global profile for this init run (`core`, `custom`, or `all`) |
107107

108108
`--profile custom` uses whatever workflows are currently selected in global config (`openspec config profile`).
109109

@@ -1189,6 +1189,9 @@ openspec config profile
11891189

11901190
# Fast preset: switch workflows to core (keeps delivery mode)
11911191
openspec config profile core
1192+
1193+
# Fast preset: install all workflows (keeps delivery mode)
1194+
openspec config profile all
11921195
```
11931196

11941197
`openspec config profile` starts with a current-state summary, then lets you choose:

docs/commands.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ For workflow patterns and when to use each command, see [Workflows](workflows.md
1616
| `/opsx:sync` | Merge delta specs into main specs |
1717
| `/opsx:archive` | Archive a completed change |
1818

19-
### Expanded Workflow Commands (custom workflow selection)
19+
### Expanded Workflow Commands (`custom` or `all` profile)
2020

2121
| Command | Purpose |
2222
|---------|---------|
@@ -27,7 +27,7 @@ For workflow patterns and when to use each command, see [Workflows](workflows.md
2727
| `/opsx:bulk-archive` | Archive multiple changes at once |
2828
| `/opsx:onboard` | Guided tutorial through the complete workflow |
2929

30-
The default global profile is `core`. To enable expanded workflow commands, run `openspec config profile`, select workflows, then run `openspec update` in your project.
30+
The default global profile is `core`. To enable all expanded workflow commands, run `openspec config profile all` and then `openspec update`. To pick a custom subset, run `openspec config profile` (interactive), select workflows, then `openspec update`.
3131

3232
---
3333

docs/getting-started.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@ OpenSpec helps you and your AI coding assistant agree on what to build before an
1212
/opsx:propose ──► /opsx:apply ──► /opsx:sync ──► /opsx:archive
1313
```
1414

15-
**Expanded path (custom workflow selection):**
15+
**Expanded path (all or custom profile):**
1616

1717
```text
1818
/opsx:new ──► /opsx:ff or /opsx:continue ──► /opsx:apply ──► /opsx:verify ──► /opsx:archive
1919
```
2020

21-
The default global profile is `core`, which includes `propose`, `explore`, `apply`, `sync`, and `archive`. You can enable the expanded workflow commands with `openspec config profile` and then `openspec update`.
21+
The default global profile is `core`, which includes `propose`, `explore`, `apply`, `sync`, and `archive`. You can enable all expanded workflow commands with `openspec config profile all`, or pick a custom subset with `openspec config profile`, then `openspec update`.
2222

2323
## What OpenSpec Creates
2424

docs/migration-guide.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ Don't worry about getting it perfect. We're still learning what works best here,
8585
Both `openspec init` and `openspec update` detect legacy files and guide you through the same cleanup process. Use whichever fits your situation:
8686

8787
- New installs default to profile `core` (`propose`, `explore`, `apply`, `sync`, `archive`).
88-
- Migrated installs preserve your previously installed workflows by writing a `custom` profile when needed.
88+
- Migrated installs preserve your previously installed workflows: if all 11 workflows are installed, you'll get the `all` profile; otherwise a `custom` profile with your detected workflows.
8989

9090
### Using `openspec init`
9191

@@ -289,7 +289,7 @@ Command availability is profile-dependent:
289289
| `/opsx:apply` | Implement tasks from tasks.md |
290290
| `/opsx:archive` | Finalize and archive the change |
291291

292-
**Expanded workflow (custom selection):**
292+
**Expanded workflow (all or custom profile):**
293293

294294
| Command | Purpose |
295295
|---------|---------|

docs/supported-tools.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,9 @@ openspec init --profile core
8282
OpenSpec installs workflow artifacts based on selected workflows:
8383

8484
- **Core profile (default):** `propose`, `explore`, `apply`, `sync`, `archive`
85-
- **Custom selection:** any subset of all workflow IDs:
85+
- **All profile:** all 11 workflow IDs:
8686
`propose`, `explore`, `new`, `continue`, `apply`, `ff`, `sync`, `archive`, `bulk-archive`, `verify`, `onboard`
87+
- **Custom selection:** any subset of all workflow IDs
8788

8889
In other words, skill/command counts are profile-dependent and delivery-dependent, not fixed.
8990

docs/workflows.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,12 +45,12 @@ Typical flow:
4545
/opsx:propose ──► /opsx:apply ──► /opsx:sync ──► /opsx:archive
4646
```
4747

48-
### Expanded/Full Workflow (custom selection)
48+
### Expanded/Full Workflow (all or custom profile)
4949

5050
If you want explicit scaffold-and-build commands (`/opsx:new`, `/opsx:continue`, `/opsx:ff`, `/opsx:verify`, `/opsx:bulk-archive`, `/opsx:onboard`), enable them with:
5151

5252
```bash
53-
openspec config profile
53+
openspec config profile all
5454
openspec update
5555
```
5656

openspec/specs/cli-config/spec.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ The `openspec config profile` command SHALL provide an action-first interactive
176176
- **WHEN** user runs `openspec config profile` in an interactive terminal
177177
- **THEN** display a current-state header with:
178178
- current delivery value
179-
- workflow count with profile label (core or custom)
179+
- workflow count with profile label (core, custom, or all)
180180

181181
#### Scenario: Action-first menu offers skippable paths
182182

src/cli/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ program
118118
.description('Initialize OpenSpec in your project')
119119
.option('--tools <tools>', toolsOptionDescription)
120120
.option('--force', 'Auto-cleanup legacy files without prompting')
121-
.option('--profile <profile>', 'Override global config profile (core or custom)')
121+
.option('--profile <profile>', 'Override global config profile (core, custom, or all)')
122122
.action(async (targetPath = '.', options?: { tools?: string; force?: boolean; profile?: string }) => {
123123
try {
124124
// Validate that the path is a valid directory

0 commit comments

Comments
 (0)