specrails-core 4.0.5 โ†’ 4.0.7

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
@@ -5,7 +5,7 @@
5
5
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
6
  [![npm downloads](https://img.shields.io/npm/dw/specrails-core.svg)](https://www.npmjs.com/package/specrails-core)
7
7
  [![Claude Code](https://img.shields.io/badge/Built%20for-Claude%20Code-blueviolet)](https://docs.anthropic.com/en/docs/claude-code)
8
- [![Codex](https://img.shields.io/badge/Built%20for-OpenAI%20Codex-412991)](https://github.com/openai/codex)
8
+ [![Codex โ€” Coming Soon](https://img.shields.io/badge/OpenAI%20Codex-Coming%20Soon%20(in%20lab)-lightgrey)](https://github.com/openai/codex)
9
9
 
10
10
  **Your agentic development team. From idea to production code.**
11
11
 
@@ -16,7 +16,9 @@ npx specrails-core@latest init # install into the current repo
16
16
  /specrails:enrich # optional: deep codebase analysis
17
17
  ```
18
18
 
19
- > **Requirements:** [Claude Code](https://docs.anthropic.com/en/docs/claude-code) or [Codex CLI](https://github.com/openai/codex) (one of them), git, Node 18+.
19
+ > **Requirements:** [Claude Code](https://docs.anthropic.com/en/docs/claude-code), git, Node 18+.
20
+ >
21
+ > **๐Ÿงช Codex (OpenAI) support โ€” Coming Soon:** We are testing Codex integration in our lab. Installation is disabled for now, but the feature will be available shortly. Follow the repo for updates.
20
22
 
21
23
  ---
22
24
 
@@ -217,7 +219,8 @@ Each persona scores features 0โ€“5. Features are ranked by score / effort ratio.
217
219
 
218
220
  | Tool | Required | Purpose |
219
221
  |------|----------|---------|
220
- | **Claude Code** or **Codex CLI** | Yes (one of them) | AI agent runtime |
222
+ | **Claude Code** | Yes | AI agent runtime |
223
+ | **Codex CLI** _(coming soon โ€” in lab)_ | ๐Ÿงช Not yet | OpenAI Codex support is being tested in our lab and will be available shortly. |
221
224
  | **git** | Yes | Repository detection |
222
225
  | **Node 18+** | Yes | Needed for `npx specrails-core@latest init` |
223
226
  | **GitHub CLI** (`gh`) | Optional | Backlog sync to GitHub Issues, PR creation. Not needed with local tickets. |
@@ -268,10 +271,10 @@ Not simultaneously for the same project โ€” backlog commands use one active prov
268
271
  A full `/specrails:implement` cycle for one feature typically costs a few dollars in Claude API usage. The sr-product-manager uses Opus; all other agents use Sonnet or Haiku.
269
272
 
270
273
  **Does it work with private repos?**
271
- Yes. Everything runs locally through Claude Code (or Codex). No external services beyond the model API.
274
+ Yes. Everything runs locally through Claude Code. No external services beyond the model API.
272
275
 
273
276
  **How do I use specrails with Codex?**
274
- Same install path: `npx specrails-core@latest init --root-dir .`. The TUI detects Codex and adjusts the agent configuration. See [docs/user-docs/getting-started-codex.md](./docs/user-docs/getting-started-codex.md).
277
+ ๐Ÿงช **Coming Soon โ€” in lab.** OpenAI Codex support is currently being tested in our lab and will be available shortly. The install path will remain the same (`npx specrails-core@latest init --root-dir .`) โ€” the installer will detect Codex and adjust the agent configuration automatically. See [docs/user-docs/getting-started-codex.md](./docs/user-docs/getting-started-codex.md) for the preview documentation.
275
278
 
276
279
  ---
277
280
 
package/VERSION CHANGED
@@ -1 +1 @@
1
- 3.3.0
1
+ 4.0.5
@@ -185,9 +185,20 @@ async function run() {
185
185
  const specrailsDir = resolve(rootDir, '.specrails');
186
186
 
187
187
  // Auto-yes: write defaults and exit (no TUI needed)
188
+ //
189
+ // Codex (OpenAI) support is currently being tested in our lab ("Coming Soon").
190
+ // If only Codex is detected, bail out instead of silently picking it โ€” Claude
191
+ // Code is the only runtime we can install for today.
188
192
  if (autoYes) {
189
193
  const { hasClaude, hasCodex } = detectProvider();
190
- const provider = hasCodex && !hasClaude ? 'codex' : 'claude';
194
+ if (!hasClaude && hasCodex) {
195
+ console.error('');
196
+ console.error(' โš  Only Codex detected โ€” Codex (OpenAI) support is coming soon (in lab).');
197
+ console.error(' Please install Claude Code to continue: https://claude.ai/download');
198
+ console.error('');
199
+ process.exit(1);
200
+ }
201
+ const provider = 'claude';
191
202
  writeDefaultConfig(specrailsDir, provider);
192
203
  console.log(` โœ“ Default config written to .specrails/install-config.yaml`);
193
204
  console.log(` โœ“ Provider: ${provider}, Tier: full, Agents: ${DEFAULT_SELECTED.size}/${ALL_AGENT_IDS.length}, Preset: balanced\n`);
@@ -217,6 +228,10 @@ async function run() {
217
228
  console.log(banner.join('\n'));
218
229
 
219
230
  // โ”€โ”€ Step 1: Provider โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
231
+ //
232
+ // Codex (OpenAI) is still being tested in our lab ("Coming Soon"). Until the
233
+ // feature ships, the TUI exposes only Claude Code as a runtime โ€” Codex shows
234
+ // as a disabled "Coming Soon" option so users can see it's on the roadmap.
220
235
 
221
236
  const { hasClaude, hasCodex } = detectProvider();
222
237
  let provider;
@@ -226,12 +241,16 @@ async function run() {
226
241
  message: 'Which AI provider will you use?',
227
242
  choices: [
228
243
  { value: 'claude', name: 'Claude Code (recommended)' },
229
- { value: 'codex', name: 'Codex' },
244
+ { value: 'codex', name: 'Codex โ€” Coming Soon (in lab)', disabled: '๐Ÿงช coming soon' },
230
245
  ],
231
246
  });
232
247
  } else if (hasCodex) {
233
- provider = 'codex';
234
- console.log(' โ†’ Provider: codex (auto-detected)\n');
248
+ exitFullscreen();
249
+ console.error('');
250
+ console.error(' โš  Only Codex detected โ€” Codex (OpenAI) support is coming soon (in lab).');
251
+ console.error(' Please install Claude Code to continue: https://claude.ai/download');
252
+ console.error('');
253
+ process.exit(1);
235
254
  } else {
236
255
  provider = 'claude';
237
256
  if (hasClaude) {
@@ -1,5 +1,7 @@
1
1
  # Deployment
2
2
 
3
+ > **๐Ÿงช Codex (OpenAI) Support โ€” Coming Soon (in Lab).** Any Codex-specific option or step below describes the planned behaviour. Codex installation is currently disabled; the installer will guide you to Claude Code instead.
4
+
3
5
  SpecRails runs locally โ€” no cloud infrastructure required. Choose the setup that fits your workflow.
4
6
 
5
7
  ## Options at a glance
@@ -15,6 +15,8 @@ You need:
15
15
  - **Git** โ€” your project must be a git repository
16
16
  - **[Claude Code](https://claude.ai/claude-code)** โ€” Anthropic's CLI tool
17
17
 
18
+ > **๐Ÿงช Codex (OpenAI) Support โ€” Coming Soon (in Lab).** OpenAI Codex integration is currently being tested in our lab. The installer will only install with Claude Code for now โ€” Codex support will ship shortly.
19
+
18
20
  Optional (recommended):
19
21
 
20
22
  - **[GitHub CLI](https://cli.github.com/)** (`gh`) โ€” for automatic PR creation and issue tracking
@@ -2,15 +2,19 @@
2
2
 
3
3
  This guide covers the complete installation process in detail. For the quick version, see [Getting Started](getting-started.md).
4
4
 
5
+ > ## ๐Ÿงช Codex (OpenAI) Support โ€” Coming Soon (in Lab)
6
+ >
7
+ > OpenAI Codex integration is currently being **tested in our lab** and **cannot be installed yet**. The installer will refuse any attempt to install with `--provider codex` and will guide you to use Claude Code instead. Codex-specific sections below describe the **planned behaviour** and will be activated when the feature ships.
8
+
5
9
  ## Installation methods
6
10
 
7
- SpecRails supports three distribution channels:
11
+ SpecRails supports two distribution channels today, with a third coming soon:
8
12
 
9
13
  | Method | Command | Best for |
10
14
  |--------|---------|----------|
11
15
  | **Claude Code plugin** (recommended) | `claude plugin install sr` | Most projects โ€” no Node.js required, auto-updates |
12
- | **Claude Code scaffold** | `npx specrails-core@latest init` | Full offline control, Codex users, custom agent edits |
13
- | **Codex project** | `npx specrails-core@latest init` | OpenAI Codex CLI users |
16
+ | **Claude Code scaffold** | `npx specrails-core@latest init` | Full offline control, custom agent edits |
17
+ | **Codex project** ๐Ÿงช _Coming Soon (in lab)_ | `npx specrails-core@latest init` | OpenAI Codex CLI users (not yet available) |
14
18
 
15
19
  ---
16
20
 
@@ -74,17 +74,19 @@ The scaffold copies the full agent+command set into `.claude/` โ€” you own and v
74
74
 
75
75
  **Best for:** Teams that want to version the agent prompts themselves, or projects that need full offline control.
76
76
 
77
- ### 3. Codex project
77
+ ### 3. Codex project ๐Ÿงช _Coming Soon (in Lab)_
78
+
79
+ > **Codex installation is not yet available.** OpenAI Codex integration is being tested in our lab and will ship shortly. The block below describes the **planned behaviour** for when the feature is released.
78
80
 
79
81
  ```bash
80
- npx specrails-core@latest init --root-dir . # same as scaffold
82
+ npx specrails-core@latest init --root-dir . # same as scaffold (Codex path โ€” not yet available)
81
83
  codex # open Codex
82
84
  /specrails:enrich # configure
83
85
  ```
84
86
 
85
- Codex does not support the Claude Code plugin system. Use the scaffold method.
87
+ Codex does not support the Claude Code plugin system. When Codex support ships, use the scaffold method.
86
88
 
87
- **Best for:** OpenAI Codex CLI users.
89
+ **Best for (when available):** OpenAI Codex CLI users.
88
90
 
89
91
  ## The `/specrails:enrich` wizard
90
92
 
@@ -1,6 +1,8 @@
1
1
  # CLI Reference
2
2
 
3
- SpecRails commands are implemented as Skills (`SKILL.md` format) and run in both Claude Code and Codex. The command syntax is identical on both platforms.
3
+ > **๐Ÿงช Codex (OpenAI) Support โ€” Coming Soon (in Lab).** Codex-specific sections below describe the planned behaviour. Codex installation is currently disabled โ€” only Claude Code is available today.
4
+
5
+ SpecRails commands are implemented as Skills (`SKILL.md` format) and are designed to run in both Claude Code and Codex. The command syntax is identical on both platforms. Today only the Claude Code runtime is available; Codex support is being tested in our lab and will ship shortly.
4
6
 
5
7
  **Platform support key used in this reference:**
6
8
 
@@ -1,6 +1,10 @@
1
1
  # Codex vs Claude Code
2
2
 
3
- SpecRails supports both **OpenAI Codex** and **Anthropic Claude Code** as AI agent runtimes. This page explains the differences so you can choose the right setup for your team.
3
+ > # ๐Ÿงช Codex Support โ€” Coming Soon (in Lab)
4
+ >
5
+ > OpenAI Codex integration is currently being **tested in our lab** and is not available for installation. The installer only accepts Claude Code at this time. This document describes the planned behaviour and will be activated when the feature ships.
6
+
7
+ SpecRails supports **Anthropic Claude Code** as an AI agent runtime, with **OpenAI Codex** support coming soon. This page explains the differences so you can choose the right setup for your team when Codex ships.
4
8
 
5
9
  ---
6
10
 
@@ -1,8 +1,12 @@
1
1
  # Getting Started with SpecRails + Codex
2
2
 
3
- This guide gets you running SpecRails using OpenAI Codex as your AI agent. If you are using Claude Code instead, see the [standard installation guide](installation.md).
3
+ > # ๐Ÿงช Coming Soon โ€” Currently in Lab
4
+ >
5
+ > **OpenAI Codex support is being tested in our lab and is not yet available for installation.** The installer will refuse to install Codex and will ask you to use Claude Code. This document describes the planned behaviour and will be activated when the feature ships.
6
+ >
7
+ > **Current status:** Preview / documentation only. For now, use [Claude Code](https://claude.ai/download) โ€” see the [standard installation guide](installation.md).
4
8
 
5
- > **Beta**: Codex support is available in SpecRails 1.x as a beta feature. Core Skills work out of the box. See [Codex vs Claude Code](codex-vs-claude-code.md) for what is and is not supported.
9
+ This guide gets you running SpecRails using OpenAI Codex as your AI agent. If you are using Claude Code instead, see the [standard installation guide](installation.md).
6
10
 
7
11
  ---
8
12
 
@@ -2,7 +2,11 @@
2
2
 
3
3
  Install SpecRails into any git repository in two steps: install, then run `/specrails:enrich` inside your AI CLI.
4
4
 
5
- SpecRails supports both **Claude Code** and **OpenAI Codex**. The installer detects which CLI you have and configures accordingly. See [Codex vs Claude Code](codex-vs-claude-code.md) for a feature comparison.
5
+ > ## ๐Ÿงช Codex (OpenAI) Support โ€” Coming Soon (in Lab)
6
+ >
7
+ > OpenAI Codex integration is currently being **tested in our lab** and **cannot be installed yet**. The installer will refuse any attempt to install with `--provider codex` and will guide you to use Claude Code. Codex-specific sections below describe the **planned behaviour** for when the feature ships.
8
+
9
+ SpecRails supports **Claude Code** today, with **OpenAI Codex** coming soon. The installer detects which CLI you have and configures accordingly. See [Codex vs Claude Code](codex-vs-claude-code.md) for a feature comparison of the upcoming Codex support.
6
10
 
7
11
  > **Looking for the comprehensive reference?** See [Installation & Setup](../installation.md) for full wizard phase details and advanced configuration.
8
12
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Get SpecRails running in your project in under 10 minutes.
4
4
 
5
- > **Using OpenAI Codex?** See the [Codex getting started guide](getting-started-codex.md) โ€” setup is slightly different.
5
+ > **๐Ÿงช Using OpenAI Codex? โ€” Coming Soon (in Lab).** Codex support is currently being tested in our lab and is not yet available for installation. The installer will refuse Codex installs and guide you to Claude Code. See the [Codex getting started guide](getting-started-codex.md) for a preview of the planned setup.
6
6
 
7
7
  ## Before you begin
8
8
 
package/install.sh CHANGED
@@ -69,11 +69,18 @@ while [[ $# -gt 0 ]]; do
69
69
  ;;
70
70
  --provider)
71
71
  if [[ -z "${2:-}" ]]; then
72
- echo "Error: --provider requires a value (claude or codex)." >&2
72
+ echo "Error: --provider requires a value (claude)." >&2
73
73
  exit 1
74
74
  fi
75
- if [[ "$2" != "claude" && "$2" != "codex" ]]; then
76
- echo "Error: --provider value must be 'claude' or 'codex', got: $2" >&2
75
+ if [[ "$2" == "codex" ]]; then
76
+ echo "" >&2
77
+ echo " โš  Codex (OpenAI) support: Coming Soon" >&2
78
+ echo " Currently being tested in our lab. Please use --provider claude for now." >&2
79
+ echo "" >&2
80
+ exit 1
81
+ fi
82
+ if [[ "$2" != "claude" ]]; then
83
+ echo "Error: --provider value must be 'claude', got: $2" >&2
77
84
  exit 1
78
85
  fi
79
86
  CLI_PROVIDER="$2"
@@ -108,7 +115,7 @@ while [[ $# -gt 0 ]]; do
108
115
  ;;
109
116
  *)
110
117
  echo "Unknown argument: $1" >&2
111
- echo "Usage: install.sh [--root-dir <path>] [--yes|-y] [--provider <claude|codex>] [--from-config [<path>]] [--agent-teams] [--quick] [--hub-json]" >&2
118
+ echo "Usage: install.sh [--root-dir <path>] [--yes|-y] [--provider <claude>] [--from-config [<path>]] [--agent-teams] [--quick] [--hub-json]" >&2
112
119
  exit 1
113
120
  ;;
114
121
  esac
@@ -308,8 +315,12 @@ if [[ "$FROM_CONFIG" == true ]]; then
308
315
  if [[ -z "$_cfg_provider" ]]; then
309
316
  fail "Invalid config: missing required 'provider' field"
310
317
  _config_errors=$(( _config_errors + 1 ))
311
- elif [[ "$_cfg_provider" != "claude" && "$_cfg_provider" != "codex" ]]; then
312
- fail "Invalid config: unsupported provider '$_cfg_provider' (expected: claude or codex)"
318
+ elif [[ "$_cfg_provider" == "codex" ]]; then
319
+ fail "Codex (OpenAI) support is coming soon โ€” currently being tested in our lab."
320
+ fail "Please edit install-config.yaml and set: provider: claude"
321
+ _config_errors=$(( _config_errors + 1 ))
322
+ elif [[ "$_cfg_provider" != "claude" ]]; then
323
+ fail "Invalid config: unsupported provider '$_cfg_provider' (expected: claude)"
313
324
  _config_errors=$(( _config_errors + 1 ))
314
325
  fi
315
326
  if [[ "$_cfg_has_agents" -eq 0 ]]; then
@@ -368,42 +379,26 @@ if [[ "$FROM_CONFIG" != true ]]; then
368
379
  # --provider flag was set explicitly โ€” skip interactive detection
369
380
  ok "Provider: $CLI_PROVIDER (--provider flag)"
370
381
  elif [ "$HAS_CLAUDE" = true ] && [ "$HAS_CODEX" = true ]; then
371
- echo ""
372
- echo -e " ${BOLD}Both Claude Code and Codex detected.${NC}"
373
- if [ "$AUTO_YES" = true ]; then
374
- CLI_PROVIDER="claude"
375
- info "Auto-selected Claude Code (--yes flag active)"
376
- else
377
- echo ""
378
- echo " Which provider would you like to use?"
379
- echo " 1) Claude Code (claude) โ†’ output to .claude/"
380
- echo " 2) Codex (codex) โ†’ output to .codex/"
381
- echo ""
382
- read -p " Select provider (1 or 2, default: 1): " PROVIDER_CHOICE || PROVIDER_CHOICE="1"
383
- PROVIDER_CHOICE="${PROVIDER_CHOICE:-1}"
384
- if [[ "$PROVIDER_CHOICE" == "2" ]]; then
385
- CLI_PROVIDER="codex"
386
- else
387
- CLI_PROVIDER="claude"
388
- fi
389
- fi
382
+ CLI_PROVIDER="claude"
383
+ info "Claude Code and Codex both detected โ€” Codex support coming soon (in lab), using Claude Code."
390
384
  ok "Provider: $CLI_PROVIDER"
391
385
  elif [ "$HAS_CLAUDE" = true ]; then
392
386
  CLI_PROVIDER="claude"
393
387
  CLAUDE_VERSION=$(claude --version 2>/dev/null || echo "unknown")
394
388
  ok "Claude Code CLI: $CLAUDE_VERSION"
395
389
  elif [ "$HAS_CODEX" = true ]; then
396
- CLI_PROVIDER="codex"
397
- CODEX_VERSION=$(codex --version 2>/dev/null || echo "unknown")
398
- ok "Codex CLI: $CODEX_VERSION"
390
+ fail "Only Codex detected โ€” Codex (OpenAI) support is coming soon (currently in our lab)."
391
+ echo ""
392
+ echo " Please install Claude Code to continue: https://claude.ai/download"
393
+ exit 1
399
394
  elif [[ "$SKIP_PREREQS" == "1" ]]; then
400
395
  CLI_PROVIDER="claude"
401
396
  warn "No AI CLI found (skipped โ€” SPECRAILS_SKIP_PREREQS=1)"
402
397
  else
403
- fail "No AI CLI found (claude or codex)."
398
+ fail "No AI CLI found (claude)."
404
399
  echo ""
405
400
  echo " Install Claude Code: https://claude.ai/download"
406
- echo " Install Codex: https://github.com/openai/codex"
401
+ echo " Codex (OpenAI) support: coming soon โ€” currently in our lab."
407
402
  exit 1
408
403
  fi
409
404
  fi
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specrails-core",
3
- "version": "4.0.5",
3
+ "version": "4.0.7",
4
4
  "description": "AI agent workflow system for Claude Code โ€” installs 12 specialized agents, orchestration commands, and persona-driven product discovery into any repository",
5
5
  "bin": {
6
6
  "specrails-core": "bin/specrails-core.js"
@@ -555,6 +555,24 @@ For each entry in `DEVELOPER_ROUTING`, launch the assigned developer agent using
555
555
 
556
556
  Wait for all developers to complete.
557
557
 
558
+ **Summary timing (multi-feature mode):** When running multiple background developer agents, individual `task_notification` completions MUST NOT trigger a final Phase 3b summary. As each agent completes, emit only a brief one-line acknowledgment:
559
+ ```
560
+ [phase-3b] Developer for <feature> โœ“ (<N> tool uses, <duration>)
561
+ ```
562
+ Only after the LAST background agent sends its completion notification, emit the consolidated summary:
563
+ ```
564
+ ## Phase 3b Complete
565
+
566
+ | Feature | Agent | Tool uses | Duration |
567
+ |---------|-------|-----------|----------|
568
+ | <feature-a> | sr-developer | 64 | 8m 02s |
569
+ | <feature-b> | sr-developer | 50 | 7m 35s |
570
+
571
+ All N developers complete. Proceeding to Phase 3c.
572
+ ```
573
+
574
+ This prevents stale "still waiting" text from appearing as the terminal result when the job completes.
575
+
558
576
  **Pipeline state:** update `developer` โ†’ `done`. Also update `implemented_files` in the state file with the complete list of files created or modified by the developer agent(s). If developer failed: update `developer` โ†’ `failed` with error context `"<agent-id> failed: <exit code or error description>"`.
559
577
 
560
578
  ## Phase 3c: Write Tests