github / github/spec-kit

[Extension]: Add Roullout

未关闭
#4,528 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
author-awaiting extension-submission triage-nice-to-have validation-failed
主要语言
Python
星标
137k
派生
12.3k
平均合并
2 天 12 小时
30 天内合并 PR
159

描述

### Extension ID

rollout

### Extension Name

Rollout

### Version

v0.1.2

### Description

Progressive-delivery capability for Spec-Driven Development: teaches agents to recognize feature-flag / canary delivery candidates and fold a concrete rollout strategy into specs, plans, tasks, and implementation.

### Author

Fyloss

### Repository URL

https://github.com/Fyloss/spec-kit-rollout

### Download URL

https://github.com/Fyloss/spec-kit-rollout/archive/refs/tags/v0.1.2.zip

### License

MIT

### Homepage (optional)

https://github.com/Fyloss/spec-kit-rollout

### Documentation URL (optional)

https://github.com/Fyloss/spec-kit-rollout/tree/master/docs/

### Changelog URL (optional)

https://github.com/Fyloss/spec-kit-rollout/blob/master/CHANGELOG.md

### Required Spec Kit Version

>=0.12.0

### Required Tools (optional)

```markdown
- Selected provider MCP server (e.g: Launchdarkly)
```

### Number of Commands

9

### Number of Hooks (optional)

7

### Tags

feature-flags, progressive-delivery, canary-release, rollout, mcp, launchdarkly, release-management

### Key Features

- Automatic rollout detection – Injects progressive-delivery doctrine at each Spec Kit phase (specify → clarify → plan → tasks → analyze → checklist → implement)
- Zero new commands – All functionality integrates into existing Spec Kit workflow via before_* hooks
- Self-gating hooks – Each phase checks for a rollout marker in spec.md; skips if not needed
- LaunchDarkly provider (V1) – Native support for LaunchDarkly feature flags
- MCP integration – One-time /speckit.rollout.connect setup wires LaunchDarkly MCP server

### Testing Checklist

- [x] Extension installs successfully via download URL
- [x] All commands execute without errors
- [x] Documentation is complete and accurate
- [x] No security vulnerabilities identified
- [x] Tested on at least one real project

### Submission Requirements

- [x] Valid `extension.yml` manifest included
- [x] README.md with installation and usage instructions
- [x] LICENSE file included
- [x] GitHub release created with version tag
- [x] All command files exist and are properly formatted
- [x] Extension ID follows naming conventions (lowercase-with-hyphens)

### Testing Details

- Install the extension with `specify extension add rollout` in a Spec Kit project → confirm it installs and validates cleanly, with all commands and hooks registered.
- Run `/speckit.rollout.config` with a LaunchDarkly MCP server already registered in your client → confirm you're walked through provider/project/environment selection and end up with a written config block, with no MCP command or credential stored anywhere.
- Run `/speckit.specify Add a dark mode toggle in settings, controlled by a feature flag` → check that `spec.md` gets a `## Delivery Considerations` section naming a candidate boolean flag (e.g. `dark-mode-enabled`).
- Run `/speckit.plan` on the dark-mode spec → check that `plan.md` gets a `## Delivery Strategy` section (flag name, phased rollout, targeting, telemetry gates, rollback conditions).
- Run `/speckit.tasks` → check that `tasks.md` gets concrete rollout tasks, including one to create the `dark-mode-enabled` flag in LaunchDarkly, plus configuring environments/targeting, integrating the SDK, adding telemetry, and defining rollback.
- Run `/speckit.implement` on the dark-mode feature with an MCP server registered and configured → confirm the `dark-mode-enabled` flag creation task is executed and the flag now exists in your LaunchDarkly project (check the LaunchDarkly dashboard or ask the agent to read the flag status back).

### Example Usage

```markdown
- Install the extension with `specify extension add rollout` in a Spec Kit project → confirm it installs and validates cleanly, with all commands and hooks registered.
- Run `/speckit.rollout.config` with a LaunchDarkly MCP server already registered in your client → confirm you're walked through provider/project/environment selection and end up with a written config block, with no MCP command or credential stored anywhere.
- Run `/speckit.specify Add a dark mode toggle in settings, controlled by a feature flag` → check that `spec.md` gets a `## Delivery Considerations` section naming a candidate boolean flag (e.g. `dark-mode-enabled`).
- Run `/speckit.plan` on the dark-mode spec → check that `plan.md` gets a `## Delivery Strategy` section (flag name, phased rollout, targeting, telemetry gates, rollback conditions).
- Run `/speckit.implement` on the dark-mode feature with an MCP server registered and configured → confirm the `dark-mode-enabled` flag creation task is executed and the flag now exists in your LaunchDarkly project (check the LaunchDarkly dashboard or ask the agent to read the flag status back).
```

### Proposed Catalog Entry

```json
{
"rollout": {
"name": "Rollout",
"id": "rollout",
"description": "Progressive-delivery capability for Spec-Driven Development: teaches agents to recognize feature-flag / canary delivery candidates and fold a concrete rollout strategy into spec kit workflow",
"author": "Fyloss",
"version": "0.1.2",
"download_url": "https://github.com/Fyloss/spec-kit-rollout/archive/refs/tags/v0.1.2.zip",
"repository": "https://github.com/Fyloss/spec-kit-rollout",
"homepage": "https://github.com/Fyloss/spec-kit-rollout",
"license": "MIT",
"requires": {
"speckit_version": ">=0.12.0"
},
"provides": {
"commands": 9
},
"tags": ["feature-flags", "progressive-delivery", "canary-release", "rollout", "mcp", "launchdarkly", "release-management"],
"verified": false,
"downloads": 0,
"stars": 0,
"created_at": "2026-07-07T00:00:00Z",
"updated_at": "2026-09-11T00:00:00Z"
}
}
```

### Additional Context

_No response_

贡献指南

打开贡献指南

调研方向

Start by locating the extension catalog and its existing entry format, then compare it with the proposed Rollout catalog entry and the extension.yml manifest mentioned here. Validate the catalog change by running `specify extension add rollout` and confirming the commands and hooks register cleanly; done means the Rollout entry is present and installation succeeds.

由索引模型根据 Issue 内容生成。

评估

领域
tooling
Issue 类型
功能
难度
3/5
预计耗时
1-2 天
活跃度
活跃
描述清晰度
基本清楚
新手友好度
65/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。