Skip to content

Commit b3a0e33

Browse files
committed
Address twelfth review: type annotations, version examples, streaming docs, requires
- Fix workflow_search type annotations (str | None) - PUBLISHING.md: speckit_version >=0.15.0 → >=0.6.1 - Document that exit_code is captured and referenceable by later steps - Mark requires as declared-but-not-enforced (planned enhancement) - Note full stdout/stderr capture as planned enhancement
1 parent e80dc90 commit b3a0e33

5 files changed

Lines changed: 19 additions & 4 deletions

File tree

src/specify_cli/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4537,8 +4537,8 @@ def workflow_remove(
45374537

45384538
@workflow_app.command("search")
45394539
def workflow_search(
4540-
query: str = typer.Argument(None, help="Search query"),
4541-
tag: str = typer.Option(None, "--tag", help="Filter by tag"),
4540+
query: str | None = typer.Argument(None, help="Search query"),
4541+
tag: str | None = typer.Option(None, "--tag", help="Filter by tag"),
45424542
):
45434543
"""Search workflow catalogs."""
45444544
from .workflows.catalog import WorkflowCatalog, WorkflowCatalogError

src/specify_cli/workflows/engine.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@ def __init__(self, data: dict[str, Any], source_path: Path | None = None) -> Non
4545
self.default_model: str | None = workflow.get("model")
4646
self.default_options: dict[str, Any] = workflow.get("options", {})
4747

48-
# Requirements
48+
# Requirements (declared but not yet enforced at runtime;
49+
# enforcement is a planned enhancement)
4950
self.requires: dict[str, Any] = data.get("requires", {})
5051

5152
# Inputs

src/specify_cli/workflows/steps/command/__init__.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,13 @@ class CommandStep(StepBase):
1717
the integration's directory on disk. This step tells the CLI to
1818
execute the command by name (e.g. ``/speckit.specify`` or
1919
``/speckit-specify``) rather than reading the file contents.
20+
21+
.. note::
22+
23+
CLI output is streamed to the terminal for live progress.
24+
``output.exit_code`` is always captured and can be referenced
25+
by later steps (e.g. ``{{ steps.specify.output.exit_code }}``).
26+
Full ``stdout``/``stderr`` capture is a planned enhancement.
2027
"""
2128

2229
type_key = "command"

src/specify_cli/workflows/steps/prompt/__init__.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,13 @@ class PromptStep(StepBase):
1919
directly to the CLI. This is useful for ad-hoc instructions
2020
that don't map to a registered command.
2121
22+
.. note::
23+
24+
CLI output is streamed to the terminal for live progress.
25+
``output.exit_code`` is always captured and can be referenced
26+
by later steps. Full response text capture is a planned
27+
enhancement.
28+
2229
Example YAML::
2330
2431
- id: review-security

workflows/PUBLISHING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ workflow:
5757
model: "claude-sonnet-4-20250514" # Default model (optional)
5858

5959
requires:
60-
speckit_version: ">=0.15.0"
60+
speckit_version: ">=0.6.1"
6161
integrations:
6262
any: ["claude", "gemini"] # At least one required
6363

0 commit comments

Comments
 (0)