@curdx/flow 3.3.2 → 3.4.0

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/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  All notable changes to `@curdx/flow` are documented here. Format follows [Keep a Changelog](https://keepachangelog.com/) and the project follows [Semantic Versioning](https://semver.org/).
4
4
 
5
+ ## 3.4.0 — 2026-04-27
6
+
7
+ ### Added
8
+
9
+ - **`ralph-specum` is now a bundled plugin** — spec-driven development with autonomous task-by-task execution (research → requirements → design → tasks → implement, plus epic triage). Originally authored by [tzachbon](https://github.com/tzachbon/smart-ralph); ralph-specum v4.9.1 has been migrated into this repository as the canonical home and is no longer tracked against upstream. MIT license and authorship are preserved at `plugins/ralph-specum/LICENSE` and `plugins/ralph-specum/NOTICE.md`.
10
+ - **curdx-flow itself is now a Claude Code marketplace** — the repo ships `.claude-plugin/marketplace.json` so Claude CLI can install bundled plugins via `claude plugin marketplace add curdx/curdx-flow` + `claude plugin install ralph-specum@curdx-flow`. The flow installer wires this up automatically; users just run `npx @curdx/flow install` and ralph-specum is pre-checked in the multiselect along with the other not-installed items.
11
+
12
+ ### Notes
13
+
14
+ - If you previously installed ralph-specum from the upstream `tzachbon/smart-ralph` marketplace, run `claude plugin uninstall ralph-specum@smart-ralph` before installing this version to avoid a name collision. Going forward, only the `ralph-specum@curdx-flow` build is maintained.
15
+ - Plugin files are not shipped in the npm tarball (`package.json` `files` is unchanged: `["dist", "CHANGELOG.md"]`). They live in the GitHub repo and are pulled by Claude CLI when the marketplace is added — so a `git push` of this repo must precede `npm publish` for a new release to be installable.
16
+
5
17
  ## 3.3.2 — 2026-04-27
6
18
 
7
19
  ### Fixed
package/README.md CHANGED
@@ -31,9 +31,12 @@ npx @curdx/flow --lang en # override language
31
31
  | `claude-mem` | plugin | `thedotmack/claude-mem` |
32
32
  | `chrome-devtools-mcp` | plugin | `ChromeDevTools/chrome-devtools-mcp` |
33
33
  | `frontend-design` | plugin | `claude-plugins-official` (built-in) |
34
+ | `ralph-specum` | plugin | bundled in this repo — spec-driven dev with autonomous task execution (originally [tzachbon/smart-ralph](https://github.com/tzachbon/smart-ralph), MIT) |
34
35
  | `sequential-thinking` | mcp | `@modelcontextprotocol/server-sequential-thinking` |
35
36
  | `context7` | mcp | HTTP — `https://mcp.context7.com/mcp` (optional API key) |
36
37
 
38
+ > If you previously installed ralph-specum from `tzachbon/smart-ralph`, run `claude plugin uninstall ralph-specum@smart-ralph` before installing this version. Only the `ralph-specum@curdx-flow` build is maintained going forward.
39
+
37
40
  ## What it writes to your filesystem
38
41
 
39
42
  After every successful `install` / `update` / `uninstall`, flow keeps a short managed block in your global `~/.claude/CLAUDE.md` so Claude Code knows at session start which tools are installed and when to use them. The block looks like:
package/dist/index.mjs CHANGED
@@ -518,6 +518,35 @@ var frontendDesign = {
518
518
  };
519
519
  var frontend_design_default = frontendDesign;
520
520
 
521
+ // src/registry/plugins/ralph-specum.ts
522
+ var PLUGIN_ID5 = "ralph-specum@curdx-flow";
523
+ var PLUGIN_NAME3 = "ralph-specum";
524
+ var MARKETPLACE_NAME4 = "curdx-flow";
525
+ var MARKETPLACE_SOURCE4 = "curdx/curdx-flow";
526
+ var ralphSpecum = {
527
+ id: "ralph-specum",
528
+ name: "ralph-specum",
529
+ description: "curdx-flow (originally tzachbon/smart-ralph) \u2014 spec-driven dev with autonomous task execution",
530
+ type: "plugin",
531
+ slashNamespace: "/ralph-specum:*",
532
+ whenToUse: "for spec-driven multi-task work \u2014 research \u2192 requirements \u2192 design \u2192 tasks \u2192 autonomous execution per task. Use when starting a feature that benefits from upfront spec; skip for one-shot fixes or simple edits.",
533
+ marketplaces: () => [MARKETPLACE_NAME4],
534
+ isInstalled: () => isPluginInstalled(PLUGIN_ID5),
535
+ installedVersion: async () => {
536
+ const p10 = await findPlugin(PLUGIN_ID5);
537
+ const v = p10?.version;
538
+ return v && v !== "unknown" ? v : null;
539
+ },
540
+ latestVersion: () => getMarketplacePluginVersion(MARKETPLACE_NAME4, PLUGIN_NAME3),
541
+ install: async (ctx) => {
542
+ await ensureMarketplace(MARKETPLACE_NAME4, MARKETPLACE_SOURCE4, ctx);
543
+ await installPluginById(PLUGIN_ID5, ctx);
544
+ },
545
+ uninstall: (ctx) => uninstallPluginById(PLUGIN_ID5, ctx),
546
+ update: (ctx) => updatePluginById(PLUGIN_ID5, ctx)
547
+ };
548
+ var ralph_specum_default = ralphSpecum;
549
+
521
550
  // src/registry/mcps/sequential-thinking.ts
522
551
  var MCP_NAME = "sequential-thinking";
523
552
  var sequentialThinking = {
@@ -615,6 +644,7 @@ var PKGS = [
615
644
  claude_mem_default,
616
645
  chrome_devtools_mcp_default,
617
646
  frontend_design_default,
647
+ ralph_specum_default,
618
648
  sequential_thinking_default,
619
649
  context7_default
620
650
  ];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@curdx/flow",
3
- "version": "3.3.2",
3
+ "version": "3.4.0",
4
4
  "description": "Interactive installer for Claude Code plugins and MCP servers",
5
5
  "type": "module",
6
6
  "bin": "./dist/index.mjs",