@rsaglobaltech/specgate 0.18.0 → 0.20.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 +122 -1
- package/bin/specgate.ts +47 -47
- package/dist/bin/specgate.js +47 -46
- package/dist/bin/specgate.js.map +1 -1
- package/dist/packages/core/src/application/ArchiveChangeUseCase.js +1 -1
- package/dist/packages/core/src/application/ArchiveChangeUseCase.js.map +1 -1
- package/dist/packages/core/src/application/ValidateProjectUseCase.js +1 -1
- package/dist/packages/core/src/application/ValidateProjectUseCase.js.map +1 -1
- package/dist/packages/core/src/domain/ChangeTemplates.js +1 -1
- package/dist/packages/core/src/domain/DeltaFeature.js +3 -3
- package/dist/packages/core/src/domain/DeltaFeature.js.map +1 -1
- package/dist/packages/core/src/domain/DerivedMatrix.js +9 -9
- package/dist/packages/core/src/domain/DerivedMatrix.js.map +1 -1
- package/dist/packages/core/src/domain/DoneVerification.js +10 -2
- package/dist/packages/core/src/domain/DoneVerification.js.map +1 -1
- package/dist/packages/core/src/domain/DraftChecklist.js +3 -3
- package/dist/packages/core/src/domain/DraftChecklist.js.map +1 -1
- package/dist/packages/core/src/domain/GherkinTags.js +12 -12
- package/dist/packages/core/src/domain/GherkinTags.js.map +1 -1
- package/dist/packages/core/src/domain/HarnessConfig.js +1 -0
- package/dist/packages/core/src/domain/HarnessConfig.js.map +1 -1
- package/dist/packages/core/src/domain/InboundChange.js +1 -1
- package/dist/packages/core/src/domain/InboundChange.js.map +1 -1
- package/dist/packages/core/src/domain/Language.js +2 -2
- package/dist/packages/core/src/domain/Language.js.map +1 -1
- package/dist/packages/core/src/domain/Lockfile.js +7 -7
- package/dist/packages/core/src/domain/Lockfile.js.map +1 -1
- package/dist/packages/core/src/domain/PackDelta.js +1 -1
- package/dist/packages/core/src/domain/PackDelta.js.map +1 -1
- package/dist/packages/core/src/domain/RequirementGraph.js +2 -2
- package/dist/packages/core/src/domain/SpecParser.js +6 -6
- package/dist/packages/core/src/domain/SpecParser.js.map +1 -1
- package/dist/packages/core/src/domain/TraceMerge.js +4 -4
- package/dist/packages/core/src/domain/TraceMerge.js.map +1 -1
- package/dist/packages/core/src/domain/TraceabilityFormat.js +4 -4
- package/dist/packages/core/src/domain/TraceabilityFormat.js.map +1 -1
- package/dist/packages/core/src/domain/ValueAnnotations.js +8 -8
- package/dist/packages/core/src/domain/ValueAnnotations.js.map +1 -1
- package/dist/packages/core/src/domain/WriteScope.js +3 -3
- package/dist/packages/core/src/domain/WriteScope.js.map +1 -1
- package/dist/packages/core/src/infrastructure/ChangeWorkspace.js +2 -2
- package/dist/packages/core/src/infrastructure/ChangeWorkspace.js.map +1 -1
- package/dist/packages/core/src/infrastructure/ConsoleReporter.js +2 -2
- package/dist/packages/core/src/infrastructure/ConsoleReporter.js.map +1 -1
- package/dist/packages/core/src/infrastructure/DerivedMatrixSources.js +2 -2
- package/dist/packages/core/src/infrastructure/DerivedMatrixSources.js.map +1 -1
- package/dist/packages/core/src/infrastructure/DiskLanguageRepository.js +4 -4
- package/dist/packages/core/src/infrastructure/DiskLanguageRepository.js.map +1 -1
- package/dist/packages/core/src/infrastructure/DiskPackDeltaRepository.js +1 -1
- package/dist/packages/core/src/infrastructure/DiskPackDeltaRepository.js.map +1 -1
- package/dist/packages/core/src/infrastructure/GitContributionStager.js +3 -3
- package/dist/packages/core/src/infrastructure/GitContributionStager.js.map +1 -1
- package/dist/packages/core/src/infrastructure/HarnessConfigFile.js +12 -3
- package/dist/packages/core/src/infrastructure/HarnessConfigFile.js.map +1 -1
- package/dist/packages/core/src/infrastructure/RemotePackResolver.js +5 -5
- package/dist/packages/core/src/infrastructure/RemotePackResolver.js.map +1 -1
- package/dist/packages/core/test/unit/delta-feature.test.js +3 -3
- package/dist/packages/core/test/unit/delta-feature.test.js.map +1 -1
- package/dist/packages/core/test/unit/derived-matrix.test.js +8 -8
- package/dist/packages/core/test/unit/derived-matrix.test.js.map +1 -1
- package/dist/packages/core/test/unit/gherkin-tags.test.js +8 -8
- package/dist/packages/core/test/unit/gherkin-tags.test.js.map +1 -1
- package/dist/packages/core/test/unit/inbound-change.test.js +1 -1
- package/dist/packages/core/test/unit/inbound-change.test.js.map +1 -1
- package/dist/packages/core/test/unit/matrix-dependencies.test.js +5 -5
- package/dist/packages/core/test/unit/matrix-dependencies.test.js.map +1 -1
- package/dist/packages/core/test/unit/new-requirement.test.js +1 -1
- package/dist/packages/core/test/unit/new-requirement.test.js.map +1 -1
- package/dist/packages/core/test/unit/value-annotations.test.js +5 -5
- package/dist/packages/core/test/unit/value-annotations.test.js.map +1 -1
- package/dist/packages/core/test/unit/write-scope-status.test.js +5 -5
- package/dist/packages/core/test/unit/write-scope-status.test.js.map +1 -1
- package/dist/packages/mcp-spec-driven/src/native-tools.js +3 -3
- package/dist/packages/mcp-spec-driven/src/native-tools.js.map +1 -1
- package/dist/packages/mcp-spec-driven/src/server.js +1 -7
- package/dist/packages/mcp-spec-driven/src/server.js.map +1 -1
- package/dist/packages/mcp-spec-driven/src/tools.js +4 -4
- package/dist/packages/mcp-spec-driven/src/tools.js.map +1 -1
- package/dist/scripts/add.js +10 -0
- package/dist/scripts/add.js.map +1 -0
- package/dist/scripts/agents/init.js +26 -47
- package/dist/scripts/agents/init.js.map +1 -1
- package/dist/scripts/alm/cli.js +37 -3
- package/dist/scripts/alm/cli.js.map +1 -1
- package/dist/scripts/alm/providers/index.js +1 -1
- package/dist/scripts/alm/providers/index.js.map +1 -1
- package/dist/scripts/change/instructions.js +2 -2
- package/dist/scripts/change/instructions.js.map +1 -1
- package/dist/scripts/cli/commands/alm/PullCommand.js +1 -1
- package/dist/scripts/cli/commands/alm/PullCommand.js.map +1 -1
- package/dist/scripts/cli/commands/change/ChangeCommand.js +99 -98
- package/dist/scripts/cli/commands/change/ChangeCommand.js.map +1 -1
- package/dist/scripts/cli/commands/config/CiInitCommand.js +6 -4
- package/dist/scripts/cli/commands/config/CiInitCommand.js.map +1 -1
- package/dist/scripts/cli/commands/config/CompletionCommand.js +10 -10
- package/dist/scripts/cli/commands/config/CompletionCommand.js.map +1 -1
- package/dist/scripts/cli/commands/config/ConfigInitCommand.js +11 -19
- package/dist/scripts/cli/commands/config/ConfigInitCommand.js.map +1 -1
- package/dist/scripts/cli/commands/config/ConfigSetCommand.js +24 -11
- package/dist/scripts/cli/commands/config/ConfigSetCommand.js.map +1 -1
- package/dist/scripts/cli/commands/harness/RunCommand.js +94 -38
- package/dist/scripts/cli/commands/harness/RunCommand.js.map +1 -1
- package/dist/scripts/cli/commands/pack/BundlePackCommand.js +36 -2
- package/dist/scripts/cli/commands/pack/BundlePackCommand.js.map +1 -1
- package/dist/scripts/cli/commands/pack/ExpandDomainPackCommand.js +2 -2
- package/dist/scripts/cli/commands/pack/ExpandDomainPackCommand.js.map +1 -1
- package/dist/scripts/cli/commands/pack/InferPackCommand.js +2 -1
- package/dist/scripts/cli/commands/pack/InferPackCommand.js.map +1 -1
- package/dist/scripts/cli/commands/pack/InitPackCommand.js +23 -32
- package/dist/scripts/cli/commands/pack/InitPackCommand.js.map +1 -1
- package/dist/scripts/cli/commands/pack/LintPackCommand.js +4 -3
- package/dist/scripts/cli/commands/pack/LintPackCommand.js.map +1 -1
- package/dist/scripts/cli/commands/project/AddCommand.js +75 -0
- package/dist/scripts/cli/commands/project/AddCommand.js.map +1 -0
- package/dist/scripts/cli/commands/project/AdoptCommand.js +9 -3
- package/dist/scripts/cli/commands/project/AdoptCommand.js.map +1 -1
- package/dist/scripts/cli/commands/project/Forja.js +104 -0
- package/dist/scripts/cli/commands/project/Forja.js.map +1 -0
- package/dist/scripts/cli/commands/project/InitProjectCommand.js +61 -6
- package/dist/scripts/cli/commands/project/InitProjectCommand.js.map +1 -1
- package/dist/scripts/cli/commands/project/OnboardCommand.js +17 -24
- package/dist/scripts/cli/commands/project/OnboardCommand.js.map +1 -1
- package/dist/scripts/cli/commands/project/UpdateCommand.js +23 -43
- package/dist/scripts/cli/commands/project/UpdateCommand.js.map +1 -1
- package/dist/scripts/cli/commands/quality/CheckCommand.js +50 -22
- package/dist/scripts/cli/commands/quality/CheckCommand.js.map +1 -1
- package/dist/scripts/cli/commands/quality/DoctorCommand.js +27 -10
- package/dist/scripts/cli/commands/quality/DoctorCommand.js.map +1 -1
- package/dist/scripts/cli/commands/quality/FixCommand.js +24 -29
- package/dist/scripts/cli/commands/quality/FixCommand.js.map +1 -1
- package/dist/scripts/cli/commands/quality/ReportCommand.js +8 -4
- package/dist/scripts/cli/commands/quality/ReportCommand.js.map +1 -1
- package/dist/scripts/cli/commands/quality/ValidateSpecsCommand.js +69 -16
- package/dist/scripts/cli/commands/quality/ValidateSpecsCommand.js.map +1 -1
- package/dist/scripts/cli/commands/spec/DoneCommand.js +69 -28
- package/dist/scripts/cli/commands/spec/DoneCommand.js.map +1 -1
- package/dist/scripts/cli/commands/spec/DraftCommand.js +166 -81
- package/dist/scripts/cli/commands/spec/DraftCommand.js.map +1 -1
- package/dist/scripts/cli/commands/spec/MatrixCommand.js +24 -27
- package/dist/scripts/cli/commands/spec/MatrixCommand.js.map +1 -1
- package/dist/scripts/cli/commands/spec/NewCommand.js +11 -14
- package/dist/scripts/cli/commands/spec/NewCommand.js.map +1 -1
- package/dist/scripts/cli/commands/spec/PetCommand.js +102 -0
- package/dist/scripts/cli/commands/spec/PetCommand.js.map +1 -0
- package/dist/scripts/cli/commands/spec/PlanCommand.js +34 -39
- package/dist/scripts/cli/commands/spec/PlanCommand.js.map +1 -1
- package/dist/scripts/cli/commands/spec/ReqCommand.js +51 -58
- package/dist/scripts/cli/commands/spec/ReqCommand.js.map +1 -1
- package/dist/scripts/cli/commands/spec/StatusCommand.js +93 -47
- package/dist/scripts/cli/commands/spec/StatusCommand.js.map +1 -1
- package/dist/scripts/cli/commands/spec/StudioCommand.js +16 -24
- package/dist/scripts/cli/commands/spec/StudioCommand.js.map +1 -1
- package/dist/scripts/cli/commands/specops/ContributeCommand.js +24 -32
- package/dist/scripts/cli/commands/specops/ContributeCommand.js.map +1 -1
- package/dist/scripts/cli/commands/specops/DiffCommand.js +3 -2
- package/dist/scripts/cli/commands/specops/DiffCommand.js.map +1 -1
- package/dist/scripts/cli/commands/specops/SyncCommand.js +4 -3
- package/dist/scripts/cli/commands/specops/SyncCommand.js.map +1 -1
- package/dist/scripts/docs/blocks.js +4 -4
- package/dist/scripts/docs/blocks.js.map +1 -1
- package/dist/scripts/docs/build-site.js +104 -9
- package/dist/scripts/docs/build-site.js.map +1 -1
- package/dist/scripts/docs/components.js +30 -25
- package/dist/scripts/docs/components.js.map +1 -1
- package/dist/scripts/docs/nav.js +144 -40
- package/dist/scripts/docs/nav.js.map +1 -1
- package/dist/scripts/docs/record-journey.js +2 -2
- package/dist/scripts/docs/record-journey.js.map +1 -1
- package/dist/scripts/docs/record-terminal.js +12 -12
- package/dist/scripts/docs/record-terminal.js.map +1 -1
- package/dist/scripts/draft/brief-setup.js +4 -0
- package/dist/scripts/draft/brief-setup.js.map +1 -1
- package/dist/scripts/draft/confined-agent.js +19 -0
- package/dist/scripts/draft/confined-agent.js.map +1 -1
- package/dist/scripts/draft/drafting-guide.js +3 -1
- package/dist/scripts/draft/drafting-guide.js.map +1 -1
- package/dist/scripts/gen_mcp_tools.js +4 -4
- package/dist/scripts/gen_mcp_tools.js.map +1 -1
- package/dist/scripts/harness/init.js +25 -16
- package/dist/scripts/harness/init.js.map +1 -1
- package/dist/scripts/harness/report.js +39 -40
- package/dist/scripts/harness/report.js.map +1 -1
- package/dist/scripts/harness/worktree-lock.js +2 -2
- package/dist/scripts/harness/worktree-lock.js.map +1 -1
- package/dist/scripts/lib/command.js +3 -2
- package/dist/scripts/lib/command.js.map +1 -1
- package/dist/scripts/lib/derived-writes.js +1 -1
- package/dist/scripts/lib/diagnostics.js +12 -16
- package/dist/scripts/lib/diagnostics.js.map +1 -1
- package/dist/scripts/lib/placeholders.js +4 -4
- package/dist/scripts/lib/placeholders.js.map +1 -1
- package/dist/scripts/lib/surface.js +45 -14
- package/dist/scripts/lib/surface.js.map +1 -1
- package/dist/scripts/lib/ui.js +356 -0
- package/dist/scripts/lib/ui.js.map +1 -0
- package/dist/scripts/merge-traceability.js +3 -3
- package/dist/scripts/pet/pet.js +331 -0
- package/dist/scripts/pet/pet.js.map +1 -0
- package/dist/scripts/pet.js +10 -0
- package/dist/scripts/pet.js.map +1 -0
- package/dist/scripts/plugin/gate-hook.js +1 -1
- package/dist/scripts/plugin/gate-hook.js.map +1 -1
- package/dist/scripts/schema/registry.js +2 -2
- package/dist/scripts/schema/registry.js.map +1 -1
- package/dist/scripts/specops/add.js +23 -32
- package/dist/scripts/specops/add.js.map +1 -1
- package/dist/scripts/specops/lock.js +4 -4
- package/dist/scripts/specops/lock.js.map +1 -1
- package/dist/scripts/specops/remove.js +15 -24
- package/dist/scripts/specops/remove.js.map +1 -1
- package/package.json +1 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!--
|
|
1
|
+
<!-- specgate:allow-placeholders — release notes quote the {{VAR}} template syntax. -->
|
|
2
2
|
# Changelog
|
|
3
3
|
|
|
4
4
|
Notable changes, newest first. Follows [Keep a Changelog](https://keepachangelog.com/)
|
|
@@ -8,6 +8,127 @@ The release process is in [`docs/release-process.md`](docs/release-process.md).
|
|
|
8
8
|
|
|
9
9
|
## [Unreleased]
|
|
10
10
|
|
|
11
|
+
## [0.20.0] — 2026-10-12
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
|
|
15
|
+
- **One front door for a new application** ([ADR-0033](docs/specs/adr/0033-one-front-door-two-engines.md)).
|
|
16
|
+
`specgate init --forja [<name> <flags…>]` generates a whole application with
|
|
17
|
+
[forja](https://github.com/rsaglobaltech/forja) — a Next.js + Expo monorepo in
|
|
18
|
+
TypeScript, or a Spring Boot / Quarkus API with a web app — which adopts
|
|
19
|
+
Specgate as it installs. In a terminal, plain `init` in an empty folder asks
|
|
20
|
+
first. forja is fetched with `npx` only when chosen, so Specgate keeps zero
|
|
21
|
+
runtime dependencies; `SPECGATE_FORJA_CMD` points at another forja.
|
|
22
|
+
- **`specgate add usecase|entity|port`** in a forja project: the class where the
|
|
23
|
+
architecture expects it, its test and its wiring, through `forja add`; `add
|
|
24
|
+
usecase` also creates the requirement and names it in the test. Outside a forja
|
|
25
|
+
project it says to use `new`. In a forja project, `status` suggests it as the
|
|
26
|
+
next step for a requirement with no code.
|
|
27
|
+
- **`arch_cmd`: your architecture check in the gate** ([ADR-0028](docs/specs/adr/0028-architecture-conformance-is-part-of-the-gate.md), points 1–2).
|
|
28
|
+
`specgate config set arch_cmd "<cmd>"` — ArchUnit, dependency-cruiser,
|
|
29
|
+
import-linter… — and `check`, `done` and the harness gate run it between
|
|
30
|
+
validation and the tests; in the harness a failure goes back to the agent.
|
|
31
|
+
Without it the gate passes as before and says the architecture was not checked.
|
|
32
|
+
- **The documentation site carries forja's documentation**, as the "New project
|
|
33
|
+
(forja)" section, and the landing page shows where Specgate and forja sit in
|
|
34
|
+
the DevOps loop.
|
|
35
|
+
|
|
36
|
+
### Fixed
|
|
37
|
+
|
|
38
|
+
- **Copy did nothing on the documentation site.** The button looked for the code
|
|
39
|
+
inside its own header, found nothing, and gave up silently — on every block of
|
|
40
|
+
every page and the landing page. It copies now; on a terminal block it copies
|
|
41
|
+
the commands without their output; and where the Clipboard API is refused it
|
|
42
|
+
falls back to the browser's copy command.
|
|
43
|
+
|
|
44
|
+
### Changed
|
|
45
|
+
|
|
46
|
+
- **The Start section of the documentation reads as two journeys, not a list.**
|
|
47
|
+
The sidebar has real subsections (Begin · From scratch · Existing project)
|
|
48
|
+
with numbered steps; every journey page opens with a step indicator — where
|
|
49
|
+
you are, what is behind you, how long this step takes — and an "In this
|
|
50
|
+
phase" card; Previous/Next stay inside the journey. Recorded CLI output is
|
|
51
|
+
drawn as a terminal in the CLI's own colours. Getting started is three
|
|
52
|
+
things in order: install, pick your path, learn the daily loop. The landing
|
|
53
|
+
page starts with three commands that work in an empty folder, and its
|
|
54
|
+
journey snippets show 0.19's output.
|
|
55
|
+
|
|
56
|
+
## [0.19.1] — 2026-10-12
|
|
57
|
+
|
|
58
|
+
### Fixed
|
|
59
|
+
|
|
60
|
+
- **On Windows, output to a log or a pipe printed ASCII symbols** (`v` for `✔`),
|
|
61
|
+
as if it were an old console window. Only a console window gets ASCII now;
|
|
62
|
+
a CI log is Unicode text like everywhere else. 0.19.0 was not published to
|
|
63
|
+
npm because its Windows E2E caught this.
|
|
64
|
+
|
|
65
|
+
## [0.19.0] — 2026-10-12
|
|
66
|
+
|
|
67
|
+
### Changed — breaking
|
|
68
|
+
|
|
69
|
+
- **One name everywhere: `csda` is gone** ([ADR-0032](docs/specs/adr/0032-one-name-everywhere.md)).
|
|
70
|
+
The on-disk format, kept under the tool's first name by ADR-0024, is now
|
|
71
|
+
`specgate` too: `<!-- specgate:trace … -->`, `specgate:value`,
|
|
72
|
+
`specgate:allow-placeholders`, `.specgate/`, `SPECGATE_*` environment
|
|
73
|
+
variables, `specgate_change_version` in `change.yaml`, the `specgate-matrix`
|
|
74
|
+
merge driver, and the Maven/Gradle coordinates `com.rsaglobaltech.specgate`.
|
|
75
|
+
The `csda` binary alias and the `csda_*` MCP tool names are removed. There is
|
|
76
|
+
no compatibility layer: a project on the old format fails `validate` with
|
|
77
|
+
`old_format` and the one-line migration to run.
|
|
78
|
+
|
|
79
|
+
### Fixed
|
|
80
|
+
|
|
81
|
+
- **`specgate draft --agent "claude -p"` could never write** (#103): in print
|
|
82
|
+
mode Claude Code has no permission to edit, so it asked "Want to grant
|
|
83
|
+
permission…?", exited, and `draft` reported `draft_no_front_matter`. `draft`
|
|
84
|
+
now adds `--permission-mode acceptEdits` when the command brings no
|
|
85
|
+
permission flag of its own, and says so. An agent that runs and writes
|
|
86
|
+
nothing is told apart from a draft with findings, with the likely cause.
|
|
87
|
+
- **After `draft <module> --agent`, the next step was lost** (#105) at the end of
|
|
88
|
+
the agent's long output. A rule now marks where Specgate takes over, the
|
|
89
|
+
brief's modules show where each stands, and the next steps are numbered —
|
|
90
|
+
review, questions, archive, then the next module or `status`.
|
|
91
|
+
|
|
92
|
+
- **A second `draft <module> --agent` pass redrafted blind** (#107): the agent
|
|
93
|
+
may only edit, so it cannot run the checker, and its prompt carried the guide
|
|
94
|
+
but not the findings. It now gets the open findings, with their fixes. On a
|
|
95
|
+
real run with `claude -p`: 13 findings after the first pass, 0 after the
|
|
96
|
+
second.
|
|
97
|
+
- **Under `--agent`, the agent asked for permission to run `specgate draft`**
|
|
98
|
+
(#106), which Specgate runs itself when the agent finishes. The prompt says so.
|
|
99
|
+
|
|
100
|
+
### Changed
|
|
101
|
+
|
|
102
|
+
- **A new look for the CLI, one design system for every command.** Each
|
|
103
|
+
command opens with `◆ specgate · <command>` and ends with one `Next` block, its
|
|
104
|
+
command alone on a line so it copies clean. `status` and `draft` show progress
|
|
105
|
+
bars; findings read `✖ message` with `fix:` under them; `check` and `done`
|
|
106
|
+
draw one line per stage and print what `validate` and the tests said only
|
|
107
|
+
when they fail. The harness draws one aligned line per attempt and
|
|
108
|
+
requirement, a report with a progress bar, and the branch to review as its
|
|
109
|
+
next step; `harness report` and `harness init` follow the same shapes. One palette (`scripts/lib/ui.ts`) replaces twenty copies:
|
|
110
|
+
truecolor where the terminal has it, 256 or 16 colours where not, none under
|
|
111
|
+
`NO_COLOR` or off a terminal, `FORCE_COLOR` honoured. Symbols are one column
|
|
112
|
+
wide; `SPECGATE_ASCII=1` swaps them for ASCII. Help icons are emoji that
|
|
113
|
+
always take two columns, so the names line up.
|
|
114
|
+
- **`validate` and the pack commands lost `❌ [ERROR]`, `💡 [FIX]`, `ℹ️ [INFO]`,
|
|
115
|
+
`⚠️ [WARN]`** for `✖`, an indented fix, `ℹ` and `▲`. The VS Code extension and
|
|
116
|
+
the pack registry, which read those lines, read both forms.
|
|
117
|
+
|
|
118
|
+
### Added
|
|
119
|
+
|
|
120
|
+
- **Gato, the cat that keeps the gate** (`specgate pet`). A terminal pet whose
|
|
121
|
+
state is the project's: it grows from an egg to a crowned legend as
|
|
122
|
+
requirements close, falls sick on a red `check`, worries over unanswered
|
|
123
|
+
questions, sleeps when the gate has not run for a week, and keeps a streak of
|
|
124
|
+
green days. Whatever it says ends with the command `status` gives. A small
|
|
125
|
+
version sits at the foot of `status` on a terminal — never in a pipe, a log
|
|
126
|
+
or CI — and `specgate config set pet off` hides it.
|
|
127
|
+
|
|
128
|
+
- **A bare `specgate` inside a project shows where it stands** — `status`, with
|
|
129
|
+
its one next command — instead of the list of every command. Outside a
|
|
130
|
+
project it is still the help.
|
|
131
|
+
|
|
11
132
|
## [0.18.0] — 2026-10-11
|
|
12
133
|
|
|
13
134
|
### Added
|
package/bin/specgate.ts
CHANGED
|
@@ -10,6 +10,7 @@ const packageJson = require(path.join(rootDir, "package.json"));
|
|
|
10
10
|
const VERSION: string = packageJson.version || "0.0.0";
|
|
11
11
|
import { ICommand } from "../scripts/lib/command";
|
|
12
12
|
import { SURFACE, helpRows, coreHelpRows, hiddenCommandCount } from "../scripts/lib/surface";
|
|
13
|
+
import { findProjectRoot } from "../scripts/lib/project-root";
|
|
13
14
|
|
|
14
15
|
/** Resolve a registry row's `script` segments to a path under dist/scripts. */
|
|
15
16
|
function resolveScript(segments: string[]): string {
|
|
@@ -18,57 +19,50 @@ function resolveScript(segments: string[]): string {
|
|
|
18
19
|
|
|
19
20
|
// ── Pretty output helpers ─────────────────────────────────────────────────────────
|
|
20
21
|
|
|
21
|
-
|
|
22
|
-
process.stdout.isTTY && process.env.NO_COLOR === undefined && process.env.TERM !== "dumb";
|
|
23
|
-
|
|
24
|
-
const c = {
|
|
25
|
-
reset: COLOR_ENABLED ? "\x1b[0m" : "",
|
|
26
|
-
bold: COLOR_ENABLED ? "\x1b[1m" : "",
|
|
27
|
-
dim: COLOR_ENABLED ? "\x1b[2m" : "",
|
|
28
|
-
red: COLOR_ENABLED ? "\x1b[31m" : "",
|
|
29
|
-
green: COLOR_ENABLED ? "\x1b[32m" : "",
|
|
30
|
-
yellow: COLOR_ENABLED ? "\x1b[33m" : "",
|
|
31
|
-
blue: COLOR_ENABLED ? "\x1b[34m" : "",
|
|
32
|
-
magenta: COLOR_ENABLED ? "\x1b[35m" : "",
|
|
33
|
-
cyan: COLOR_ENABLED ? "\x1b[36m" : "",
|
|
34
|
-
};
|
|
22
|
+
import { c, sym } from "../scripts/lib/ui";
|
|
35
23
|
|
|
36
24
|
function info(msg: string): void {
|
|
37
|
-
process.stdout.write(
|
|
25
|
+
process.stdout.write(` ${c.note}${sym.info}${c.reset} ${msg}\n`);
|
|
38
26
|
}
|
|
39
27
|
|
|
40
28
|
function error(msg: string): void {
|
|
41
|
-
process.stderr.write(
|
|
29
|
+
process.stderr.write(` ${c.bad}${sym.fail}${c.reset} ${msg}\n`);
|
|
42
30
|
}
|
|
43
31
|
|
|
44
32
|
function banner(): string {
|
|
45
33
|
return (
|
|
46
34
|
`\n` +
|
|
47
|
-
` ${c.
|
|
48
|
-
`
|
|
35
|
+
` ${c.brand}${sym.brand}${c.reset} ${c.bold}specgate${c.reset} ${c.muted}v${VERSION}${c.reset}\n` +
|
|
36
|
+
` ${c.muted}Specs as executable contracts — requirements, scenarios and traceability that CI enforces.${c.reset}\n`
|
|
49
37
|
);
|
|
50
38
|
}
|
|
51
39
|
|
|
40
|
+
/** `Every day ────────` — the help's sections, in the same shape as every command's. */
|
|
52
41
|
function section(title: string): string {
|
|
53
|
-
|
|
42
|
+
const rule = sym.line.repeat(Math.max(4, 44 - Array.from(title).length));
|
|
43
|
+
return `\n ${c.bold}${title}${c.reset} ${c.muted}${rule}${c.reset}\n`;
|
|
54
44
|
}
|
|
55
45
|
|
|
46
|
+
/**
|
|
47
|
+
* One command of the help: its icon, its name, what it does. Icons are emoji
|
|
48
|
+
* with default emoji presentation, so every one takes two columns and the
|
|
49
|
+
* names line up (`surface.ts` keeps to that set).
|
|
50
|
+
*/
|
|
56
51
|
function cmd(emoji: string, name: string, summary: string, pad = 16): string {
|
|
57
|
-
// Use Array.from to count code points (emojis with surrogate pairs count as 1)
|
|
58
52
|
const visible = Array.from(name).length;
|
|
59
53
|
const padding = " ".repeat(Math.max(1, pad - visible));
|
|
60
|
-
return ` ${
|
|
54
|
+
return ` ${emoji} ${c.accent}${name}${c.reset}${padding}${c.muted}${summary}${c.reset}\n`;
|
|
61
55
|
}
|
|
62
56
|
|
|
63
57
|
function flag(name: string, summary: string, pad = 18): string {
|
|
64
58
|
const visible = Array.from(name).length;
|
|
65
59
|
const padding = " ".repeat(Math.max(1, pad - visible));
|
|
66
|
-
return ` ${c.
|
|
60
|
+
return ` ${c.accent}${name}${c.reset}${padding}${c.muted}${summary}${c.reset}\n`;
|
|
67
61
|
}
|
|
68
62
|
|
|
69
63
|
function example(line: string, comment?: string): string {
|
|
70
|
-
const prefix = comment ? ` ${c.
|
|
71
|
-
return `${prefix} ${c.
|
|
64
|
+
const prefix = comment ? ` ${c.muted}# ${comment}${c.reset}\n` : "";
|
|
65
|
+
return `${prefix} ${c.muted}$${c.reset} ${line}\n`;
|
|
72
66
|
}
|
|
73
67
|
|
|
74
68
|
/**
|
|
@@ -143,15 +137,14 @@ function renderGroups(groups: any[]): string {
|
|
|
143
137
|
function usageCore() {
|
|
144
138
|
process.stdout.write(
|
|
145
139
|
banner() +
|
|
146
|
-
section("
|
|
147
|
-
` ${c.
|
|
148
|
-
` ${c.dim}Run ‘<command> --help’ for per-command details.${c.reset}\n` +
|
|
140
|
+
section("Usage") +
|
|
141
|
+
` ${c.accent}specgate${c.reset} ${c.bold}<command>${c.reset} [options] ${c.muted}specgate <command> --help for its options${c.reset}\n` +
|
|
149
142
|
renderGroups(coreHelpRows()) +
|
|
150
|
-
section("
|
|
151
|
-
` ${c.
|
|
152
|
-
` ${c.
|
|
153
|
-
` ${c.
|
|
154
|
-
section("
|
|
143
|
+
section("More") +
|
|
144
|
+
` ${c.muted}${hiddenCommandCount()} more commands cover packs, automation, agents and reporting.${c.reset}\n` +
|
|
145
|
+
` ${c.accent}specgate --help --all${c.reset}${c.muted} show every command${c.reset}\n` +
|
|
146
|
+
` ${c.accent}specgate config set profile full${c.reset}${c.muted} make that the default${c.reset}\n` +
|
|
147
|
+
section("Examples") +
|
|
155
148
|
example(`npx @rsaglobaltech/specgate@latest init`, "Existing repo or empty directory") +
|
|
156
149
|
example(`specgate draft`, "Your plan is in docs/brief.md") +
|
|
157
150
|
example(`specgate status`, "Start of day") +
|
|
@@ -161,13 +154,13 @@ function usageCore() {
|
|
|
161
154
|
}
|
|
162
155
|
|
|
163
156
|
/**
|
|
164
|
-
* `core` unless the project says otherwise. Read from .
|
|
157
|
+
* `core` unless the project says otherwise. Read from .specgate/config.json so a
|
|
165
158
|
* team that lives in the full surface is not re-narrowed on every invocation.
|
|
166
159
|
*/
|
|
167
160
|
function helpProfile(): string {
|
|
168
|
-
if (process.env.
|
|
161
|
+
if (process.env.SPECGATE_PROFILE) return process.env.SPECGATE_PROFILE;
|
|
169
162
|
try {
|
|
170
|
-
const raw = fs.readFileSync(path.join(process.cwd(), ".
|
|
163
|
+
const raw = fs.readFileSync(path.join(process.cwd(), ".specgate", "config.json"), "utf8");
|
|
171
164
|
const parsed = JSON.parse(raw);
|
|
172
165
|
if (parsed && typeof parsed.profile === "string") return parsed.profile;
|
|
173
166
|
} catch {
|
|
@@ -177,13 +170,13 @@ function helpProfile(): string {
|
|
|
177
170
|
}
|
|
178
171
|
|
|
179
172
|
function groupUsage(row: any) {
|
|
180
|
-
let out = `\n ${c.bold}specgate ${row.name}${c.reset} <sub-command> [options]\n`;
|
|
181
|
-
out += section("
|
|
173
|
+
let out = `\n ${c.brand}${sym.brand}${c.reset} ${c.bold}specgate ${row.name}${c.reset} <sub-command> [options]\n`;
|
|
174
|
+
out += section("Sub-commands");
|
|
182
175
|
for (const s of row.subcommands) {
|
|
183
176
|
const summary = (s.help && s.help.summary) || (row.help && row.help.summary) || "";
|
|
184
177
|
out += cmd((s.help && s.help.icon) || "·", `${row.name} ${s.name}`, summary, 20);
|
|
185
178
|
}
|
|
186
|
-
out += `\n ${c.
|
|
179
|
+
out += `\n ${c.muted}specgate ${row.name} <sub-command> --help for its own options${c.reset}\n\n`;
|
|
187
180
|
process.stdout.write(out);
|
|
188
181
|
}
|
|
189
182
|
|
|
@@ -196,19 +189,18 @@ function usage(opts?: { all?: boolean }) {
|
|
|
196
189
|
function usageFull() {
|
|
197
190
|
process.stdout.write(
|
|
198
191
|
banner() +
|
|
199
|
-
section("
|
|
200
|
-
` ${c.
|
|
201
|
-
` ${c.dim}Run ‘<command> --help’ for per-command details.${c.reset}\n` +
|
|
192
|
+
section("Usage") +
|
|
193
|
+
` ${c.accent}specgate${c.reset} ${c.bold}<command>${c.reset} [options] ${c.muted}specgate <command> --help for its options${c.reset}\n` +
|
|
202
194
|
renderGroups(helpRows()) +
|
|
203
|
-
section("
|
|
195
|
+
section("Global flags") +
|
|
204
196
|
flag("-h, --help", "Show this help.") +
|
|
205
197
|
flag("-v, --version", "Show CLI version.") +
|
|
206
|
-
section("
|
|
198
|
+
section("Examples") +
|
|
207
199
|
EXAMPLES +
|
|
208
|
-
section("
|
|
209
|
-
` ${c.
|
|
210
|
-
` ${c.
|
|
211
|
-
` ${c.
|
|
200
|
+
section("Learn more") +
|
|
201
|
+
` 📖 ${c.muted}How-to guide ${c.reset}${c.underline}https://github.com/rsaglobaltech/specgate/blob/main/docs/how-to.md${c.reset}\n` +
|
|
202
|
+
` 🌐 ${c.muted}Documentation ${c.reset}${c.underline}https://rsaglobaltech.github.io/specgate/${c.reset}\n` +
|
|
203
|
+
` 🐞 ${c.muted}Report a bug ${c.reset}${c.underline}https://github.com/rsaglobaltech/specgate/issues${c.reset}\n` +
|
|
212
204
|
`\n`
|
|
213
205
|
);
|
|
214
206
|
}
|
|
@@ -248,6 +240,14 @@ export class CreateSpecDrivenAppCommand implements ICommand {
|
|
|
248
240
|
public execute(args: string[] = []): void {
|
|
249
241
|
args = args.length ? args : process.argv.slice(2);
|
|
250
242
|
|
|
243
|
+
// Inside a project, a bare `specgate` answers "where am I, and what next?"
|
|
244
|
+
// — the question people have when they type it — rather than the list of
|
|
245
|
+
// every command (#105). Outside one, the help is the useful answer.
|
|
246
|
+
if (args.length === 0 && findProjectRoot(process.cwd())) {
|
|
247
|
+
process.env.SPECGATE_BARE = "1";
|
|
248
|
+
args = ["status"];
|
|
249
|
+
}
|
|
250
|
+
|
|
251
251
|
if (args.length === 0 || args[0] === "--help" || args[0] === "-h") {
|
|
252
252
|
usage({ all: args.includes("--all") });
|
|
253
253
|
process.exit(0);
|
package/dist/bin/specgate.js
CHANGED
|
@@ -43,51 +43,47 @@ const distScripts = path.join(__dirname, "..", "scripts");
|
|
|
43
43
|
const packageJson = require(path.join(rootDir, "package.json"));
|
|
44
44
|
const VERSION = packageJson.version || "0.0.0";
|
|
45
45
|
const surface_1 = require("../scripts/lib/surface");
|
|
46
|
+
const project_root_1 = require("../scripts/lib/project-root");
|
|
46
47
|
/** Resolve a registry row's `script` segments to a path under dist/scripts. */
|
|
47
48
|
function resolveScript(segments) {
|
|
48
49
|
return path.join(distScripts, ...segments);
|
|
49
50
|
}
|
|
50
51
|
// ── Pretty output helpers ─────────────────────────────────────────────────────────
|
|
51
|
-
const
|
|
52
|
-
const c = {
|
|
53
|
-
reset: COLOR_ENABLED ? "\x1b[0m" : "",
|
|
54
|
-
bold: COLOR_ENABLED ? "\x1b[1m" : "",
|
|
55
|
-
dim: COLOR_ENABLED ? "\x1b[2m" : "",
|
|
56
|
-
red: COLOR_ENABLED ? "\x1b[31m" : "",
|
|
57
|
-
green: COLOR_ENABLED ? "\x1b[32m" : "",
|
|
58
|
-
yellow: COLOR_ENABLED ? "\x1b[33m" : "",
|
|
59
|
-
blue: COLOR_ENABLED ? "\x1b[34m" : "",
|
|
60
|
-
magenta: COLOR_ENABLED ? "\x1b[35m" : "",
|
|
61
|
-
cyan: COLOR_ENABLED ? "\x1b[36m" : "",
|
|
62
|
-
};
|
|
52
|
+
const ui_1 = require("../scripts/lib/ui");
|
|
63
53
|
function info(msg) {
|
|
64
|
-
process.stdout.write(
|
|
54
|
+
process.stdout.write(` ${ui_1.c.note}${ui_1.sym.info}${ui_1.c.reset} ${msg}\n`);
|
|
65
55
|
}
|
|
66
56
|
function error(msg) {
|
|
67
|
-
process.stderr.write(
|
|
57
|
+
process.stderr.write(` ${ui_1.c.bad}${ui_1.sym.fail}${ui_1.c.reset} ${msg}\n`);
|
|
68
58
|
}
|
|
69
59
|
function banner() {
|
|
70
60
|
return (`\n` +
|
|
71
|
-
` ${c.
|
|
72
|
-
`
|
|
61
|
+
` ${ui_1.c.brand}${ui_1.sym.brand}${ui_1.c.reset} ${ui_1.c.bold}specgate${ui_1.c.reset} ${ui_1.c.muted}v${VERSION}${ui_1.c.reset}\n` +
|
|
62
|
+
` ${ui_1.c.muted}Specs as executable contracts — requirements, scenarios and traceability that CI enforces.${ui_1.c.reset}\n`);
|
|
73
63
|
}
|
|
64
|
+
/** `Every day ────────` — the help's sections, in the same shape as every command's. */
|
|
74
65
|
function section(title) {
|
|
75
|
-
|
|
66
|
+
const rule = ui_1.sym.line.repeat(Math.max(4, 44 - Array.from(title).length));
|
|
67
|
+
return `\n ${ui_1.c.bold}${title}${ui_1.c.reset} ${ui_1.c.muted}${rule}${ui_1.c.reset}\n`;
|
|
76
68
|
}
|
|
69
|
+
/**
|
|
70
|
+
* One command of the help: its icon, its name, what it does. Icons are emoji
|
|
71
|
+
* with default emoji presentation, so every one takes two columns and the
|
|
72
|
+
* names line up (`surface.ts` keeps to that set).
|
|
73
|
+
*/
|
|
77
74
|
function cmd(emoji, name, summary, pad = 16) {
|
|
78
|
-
// Use Array.from to count code points (emojis with surrogate pairs count as 1)
|
|
79
75
|
const visible = Array.from(name).length;
|
|
80
76
|
const padding = " ".repeat(Math.max(1, pad - visible));
|
|
81
|
-
return ` ${
|
|
77
|
+
return ` ${emoji} ${ui_1.c.accent}${name}${ui_1.c.reset}${padding}${ui_1.c.muted}${summary}${ui_1.c.reset}\n`;
|
|
82
78
|
}
|
|
83
79
|
function flag(name, summary, pad = 18) {
|
|
84
80
|
const visible = Array.from(name).length;
|
|
85
81
|
const padding = " ".repeat(Math.max(1, pad - visible));
|
|
86
|
-
return ` ${c.
|
|
82
|
+
return ` ${ui_1.c.accent}${name}${ui_1.c.reset}${padding}${ui_1.c.muted}${summary}${ui_1.c.reset}\n`;
|
|
87
83
|
}
|
|
88
84
|
function example(line, comment) {
|
|
89
|
-
const prefix = comment ? ` ${c.
|
|
90
|
-
return `${prefix} ${c.
|
|
85
|
+
const prefix = comment ? ` ${ui_1.c.muted}# ${comment}${ui_1.c.reset}\n` : "";
|
|
86
|
+
return `${prefix} ${ui_1.c.muted}$${ui_1.c.reset} ${line}\n`;
|
|
91
87
|
}
|
|
92
88
|
/**
|
|
93
89
|
* The worked examples of `--help --all`. Prose, not surface: they are chosen
|
|
@@ -124,15 +120,14 @@ function renderGroups(groups) {
|
|
|
124
120
|
}
|
|
125
121
|
function usageCore() {
|
|
126
122
|
process.stdout.write(banner() +
|
|
127
|
-
section("
|
|
128
|
-
` ${c.
|
|
129
|
-
` ${c.dim}Run ‘<command> --help’ for per-command details.${c.reset}\n` +
|
|
123
|
+
section("Usage") +
|
|
124
|
+
` ${ui_1.c.accent}specgate${ui_1.c.reset} ${ui_1.c.bold}<command>${ui_1.c.reset} [options] ${ui_1.c.muted}specgate <command> --help for its options${ui_1.c.reset}\n` +
|
|
130
125
|
renderGroups((0, surface_1.coreHelpRows)()) +
|
|
131
|
-
section("
|
|
132
|
-
` ${c.
|
|
133
|
-
` ${c.
|
|
134
|
-
` ${c.
|
|
135
|
-
section("
|
|
126
|
+
section("More") +
|
|
127
|
+
` ${ui_1.c.muted}${(0, surface_1.hiddenCommandCount)()} more commands cover packs, automation, agents and reporting.${ui_1.c.reset}\n` +
|
|
128
|
+
` ${ui_1.c.accent}specgate --help --all${ui_1.c.reset}${ui_1.c.muted} show every command${ui_1.c.reset}\n` +
|
|
129
|
+
` ${ui_1.c.accent}specgate config set profile full${ui_1.c.reset}${ui_1.c.muted} make that the default${ui_1.c.reset}\n` +
|
|
130
|
+
section("Examples") +
|
|
136
131
|
example(`npx @rsaglobaltech/specgate@latest init`, "Existing repo or empty directory") +
|
|
137
132
|
example(`specgate draft`, "Your plan is in docs/brief.md") +
|
|
138
133
|
example(`specgate status`, "Start of day") +
|
|
@@ -140,14 +135,14 @@ function usageCore() {
|
|
|
140
135
|
"\n");
|
|
141
136
|
}
|
|
142
137
|
/**
|
|
143
|
-
* `core` unless the project says otherwise. Read from .
|
|
138
|
+
* `core` unless the project says otherwise. Read from .specgate/config.json so a
|
|
144
139
|
* team that lives in the full surface is not re-narrowed on every invocation.
|
|
145
140
|
*/
|
|
146
141
|
function helpProfile() {
|
|
147
|
-
if (process.env.
|
|
148
|
-
return process.env.
|
|
142
|
+
if (process.env.SPECGATE_PROFILE)
|
|
143
|
+
return process.env.SPECGATE_PROFILE;
|
|
149
144
|
try {
|
|
150
|
-
const raw = fs.readFileSync(path.join(process.cwd(), ".
|
|
145
|
+
const raw = fs.readFileSync(path.join(process.cwd(), ".specgate", "config.json"), "utf8");
|
|
151
146
|
const parsed = JSON.parse(raw);
|
|
152
147
|
if (parsed && typeof parsed.profile === "string")
|
|
153
148
|
return parsed.profile;
|
|
@@ -158,13 +153,13 @@ function helpProfile() {
|
|
|
158
153
|
return "core";
|
|
159
154
|
}
|
|
160
155
|
function groupUsage(row) {
|
|
161
|
-
let out = `\n ${c.bold}specgate ${row.name}${c.reset} <sub-command> [options]\n`;
|
|
162
|
-
out += section("
|
|
156
|
+
let out = `\n ${ui_1.c.brand}${ui_1.sym.brand}${ui_1.c.reset} ${ui_1.c.bold}specgate ${row.name}${ui_1.c.reset} <sub-command> [options]\n`;
|
|
157
|
+
out += section("Sub-commands");
|
|
163
158
|
for (const s of row.subcommands) {
|
|
164
159
|
const summary = (s.help && s.help.summary) || (row.help && row.help.summary) || "";
|
|
165
160
|
out += cmd((s.help && s.help.icon) || "·", `${row.name} ${s.name}`, summary, 20);
|
|
166
161
|
}
|
|
167
|
-
out += `\n ${c.
|
|
162
|
+
out += `\n ${ui_1.c.muted}specgate ${row.name} <sub-command> --help for its own options${ui_1.c.reset}\n\n`;
|
|
168
163
|
process.stdout.write(out);
|
|
169
164
|
}
|
|
170
165
|
function usage(opts) {
|
|
@@ -176,19 +171,18 @@ function usage(opts) {
|
|
|
176
171
|
}
|
|
177
172
|
function usageFull() {
|
|
178
173
|
process.stdout.write(banner() +
|
|
179
|
-
section("
|
|
180
|
-
` ${c.
|
|
181
|
-
` ${c.dim}Run ‘<command> --help’ for per-command details.${c.reset}\n` +
|
|
174
|
+
section("Usage") +
|
|
175
|
+
` ${ui_1.c.accent}specgate${ui_1.c.reset} ${ui_1.c.bold}<command>${ui_1.c.reset} [options] ${ui_1.c.muted}specgate <command> --help for its options${ui_1.c.reset}\n` +
|
|
182
176
|
renderGroups((0, surface_1.helpRows)()) +
|
|
183
|
-
section("
|
|
177
|
+
section("Global flags") +
|
|
184
178
|
flag("-h, --help", "Show this help.") +
|
|
185
179
|
flag("-v, --version", "Show CLI version.") +
|
|
186
|
-
section("
|
|
180
|
+
section("Examples") +
|
|
187
181
|
EXAMPLES +
|
|
188
|
-
section("
|
|
189
|
-
` ${c.
|
|
190
|
-
` ${c.
|
|
191
|
-
` ${c.
|
|
182
|
+
section("Learn more") +
|
|
183
|
+
` 📖 ${ui_1.c.muted}How-to guide ${ui_1.c.reset}${ui_1.c.underline}https://github.com/rsaglobaltech/specgate/blob/main/docs/how-to.md${ui_1.c.reset}\n` +
|
|
184
|
+
` 🌐 ${ui_1.c.muted}Documentation ${ui_1.c.reset}${ui_1.c.underline}https://rsaglobaltech.github.io/specgate/${ui_1.c.reset}\n` +
|
|
185
|
+
` 🐞 ${ui_1.c.muted}Report a bug ${ui_1.c.reset}${ui_1.c.underline}https://github.com/rsaglobaltech/specgate/issues${ui_1.c.reset}\n` +
|
|
192
186
|
`\n`);
|
|
193
187
|
}
|
|
194
188
|
function ensureExecutable(scriptPath) {
|
|
@@ -219,6 +213,13 @@ function runNodeScript(scriptPath, args) {
|
|
|
219
213
|
class CreateSpecDrivenAppCommand {
|
|
220
214
|
execute(args = []) {
|
|
221
215
|
args = args.length ? args : process.argv.slice(2);
|
|
216
|
+
// Inside a project, a bare `specgate` answers "where am I, and what next?"
|
|
217
|
+
// — the question people have when they type it — rather than the list of
|
|
218
|
+
// every command (#105). Outside one, the help is the useful answer.
|
|
219
|
+
if (args.length === 0 && (0, project_root_1.findProjectRoot)(process.cwd())) {
|
|
220
|
+
process.env.SPECGATE_BARE = "1";
|
|
221
|
+
args = ["status"];
|
|
222
|
+
}
|
|
222
223
|
if (args.length === 0 || args[0] === "--help" || args[0] === "-h") {
|
|
223
224
|
usage({ all: args.includes("--all") });
|
|
224
225
|
process.exit(0);
|
package/dist/bin/specgate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"specgate.js","sourceRoot":"","sources":["../../bin/specgate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"specgate.js","sourceRoot":"","sources":["../../bin/specgate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,uCAAyB;AACzB,2CAA6B;AAC7B,iDAA0C;AAE1C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACpD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;AAC1D,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;AAChE,MAAM,OAAO,GAAW,WAAW,CAAC,OAAO,IAAI,OAAO,CAAC;AAEvD,oDAA6F;AAC7F,8DAA8D;AAE9D,+EAA+E;AAC/E,SAAS,aAAa,CAAC,QAAkB;IACvC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAED,qFAAqF;AAErF,0CAA2C;AAE3C,SAAS,IAAI,CAAC,GAAW;IACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,MAAC,CAAC,IAAI,GAAG,QAAG,CAAC,IAAI,GAAG,MAAC,CAAC,KAAK,KAAK,GAAG,IAAI,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,KAAK,CAAC,GAAW;IACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,MAAC,CAAC,GAAG,GAAG,QAAG,CAAC,IAAI,GAAG,MAAC,CAAC,KAAK,KAAK,GAAG,IAAI,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,MAAM;IACb,OAAO,CACL,IAAI;QACJ,KAAK,MAAC,CAAC,KAAK,GAAG,QAAG,CAAC,KAAK,GAAG,MAAC,CAAC,KAAK,IAAI,MAAC,CAAC,IAAI,WAAW,MAAC,CAAC,KAAK,KAAK,MAAC,CAAC,KAAK,IAAI,OAAO,GAAG,MAAC,CAAC,KAAK,IAAI;QACnG,OAAO,MAAC,CAAC,KAAK,6FAA6F,MAAC,CAAC,KAAK,IAAI,CACvH,CAAC;AACJ,CAAC;AAED,wFAAwF;AACxF,SAAS,OAAO,CAAC,KAAa;IAC5B,MAAM,IAAI,GAAG,QAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACzE,OAAO,OAAO,MAAC,CAAC,IAAI,GAAG,KAAK,GAAG,MAAC,CAAC,KAAK,IAAI,MAAC,CAAC,KAAK,GAAG,IAAI,GAAG,MAAC,CAAC,KAAK,IAAI,CAAC;AACzE,CAAC;AAED;;;;GAIG;AACH,SAAS,GAAG,CAAC,KAAa,EAAE,IAAY,EAAE,OAAe,EAAE,GAAG,GAAG,EAAE;IACjE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IACxC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;IACvD,OAAO,OAAO,KAAK,KAAK,MAAC,CAAC,MAAM,GAAG,IAAI,GAAG,MAAC,CAAC,KAAK,GAAG,OAAO,GAAG,MAAC,CAAC,KAAK,GAAG,OAAO,GAAG,MAAC,CAAC,KAAK,IAAI,CAAC;AAChG,CAAC;AAED,SAAS,IAAI,CAAC,IAAY,EAAE,OAAe,EAAE,GAAG,GAAG,EAAE;IACnD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IACxC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;IACvD,OAAO,OAAO,MAAC,CAAC,MAAM,GAAG,IAAI,GAAG,MAAC,CAAC,KAAK,GAAG,OAAO,GAAG,MAAC,CAAC,KAAK,GAAG,OAAO,GAAG,MAAC,CAAC,KAAK,IAAI,CAAC;AACtF,CAAC;AAED,SAAS,OAAO,CAAC,IAAY,EAAE,OAAgB;IAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,MAAC,CAAC,KAAK,KAAK,OAAO,GAAG,MAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,OAAO,GAAG,MAAM,OAAO,MAAC,CAAC,KAAK,IAAI,MAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC;AACxD,CAAC;AAED;;;GAGG;AACH,MAAM,QAAQ,GACZ,OAAO,CAAC,yCAAyC,EAAE,iCAAiC,CAAC;IACrF,OAAO,CACL,2EAA2E,EAC3E,mCAAmC,CACpC;IACD,OAAO,CACL,oFAAoF,EACpF,2CAA2C,CAC5C;IACD,OAAO,CACL,wEAAwE,EACxE,wBAAwB,CACzB;IACD,OAAO,CACL,iPAAiP,EACjP,oBAAoB,CACrB;IACD,OAAO,CACL,0OAA0O,EAC1O,yCAAyC,CAC1C;IACD,OAAO,CACL,wFAAwF,EACxF,6DAA6D,CAC9D;IACD,OAAO,CACL,8GAA8G,EAC9G,wBAAwB,CACzB;IACD,OAAO,CACL,gFAAgF,EAChF,wCAAwC,CACzC;IACD,OAAO,CACL,8FAA8F,EAC9F,sCAAsC,CACvC;IACD,OAAO,CACL,yDAAyD,EACzD,kDAAkD,CACnD;IACD,OAAO,CACL,6GAA6G,EAC7G,qCAAqC,CACtC,CAAC;AAEJ;;;;;;;;;;;GAWG;AACH,SAAS,YAAY,CAAC,MAAa;IACjC,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC/F,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,MAAM,EAAE;QACN,OAAO,CAAC,OAAO,CAAC;QAChB,OAAO,MAAC,CAAC,MAAM,WAAW,MAAC,CAAC,KAAK,IAAI,MAAC,CAAC,IAAI,YAAY,MAAC,CAAC,KAAK,kBAAkB,MAAC,CAAC,KAAK,6CAA6C,MAAC,CAAC,KAAK,IAAI;QAC/I,YAAY,CAAC,IAAA,sBAAY,GAAE,CAAC;QAC5B,OAAO,CAAC,MAAM,CAAC;QACf,OAAO,MAAC,CAAC,KAAK,GAAG,IAAA,4BAAkB,GAAE,gEAAgE,MAAC,CAAC,KAAK,IAAI;QAChH,OAAO,MAAC,CAAC,MAAM,wBAAwB,MAAC,CAAC,KAAK,GAAG,MAAC,CAAC,KAAK,qCAAqC,MAAC,CAAC,KAAK,IAAI;QACxG,OAAO,MAAC,CAAC,MAAM,mCAAmC,MAAC,CAAC,KAAK,GAAG,MAAC,CAAC,KAAK,6BAA6B,MAAC,CAAC,KAAK,IAAI;QAC3G,OAAO,CAAC,UAAU,CAAC;QACnB,OAAO,CAAC,yCAAyC,EAAE,kCAAkC,CAAC;QACtF,OAAO,CAAC,gBAAgB,EAAE,+BAA+B,CAAC;QAC1D,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC;QAC1C,OAAO,CAAC,gBAAgB,EAAE,uBAAuB,CAAC;QAClD,IAAI,CACP,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW;IAClB,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IACtE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC;QAC1F,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC,OAAO,CAAC;IAC1E,CAAC;IAAC,MAAM,CAAC;QACP,kEAAkE;IACpE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,GAAQ;IAC1B,IAAI,GAAG,GAAG,OAAO,MAAC,CAAC,KAAK,GAAG,QAAG,CAAC,KAAK,GAAG,MAAC,CAAC,KAAK,IAAI,MAAC,CAAC,IAAI,YAAY,GAAG,CAAC,IAAI,GAAG,MAAC,CAAC,KAAK,4BAA4B,CAAC;IACnH,GAAG,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;IAC/B,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACnF,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IACnF,CAAC;IACD,GAAG,IAAI,OAAO,MAAC,CAAC,KAAK,YAAY,GAAG,CAAC,IAAI,6CAA6C,MAAC,CAAC,KAAK,MAAM,CAAC;IACpG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,KAAK,CAAC,IAAwB;IACrC,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,EAAE,CAAC;IACzC,IAAI,WAAW,EAAE,KAAK,MAAM;QAAE,OAAO,SAAS,EAAE,CAAC;IACjD,OAAO,SAAS,EAAE,CAAC;AACrB,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,MAAM,EAAE;QACN,OAAO,CAAC,OAAO,CAAC;QAChB,OAAO,MAAC,CAAC,MAAM,WAAW,MAAC,CAAC,KAAK,IAAI,MAAC,CAAC,IAAI,YAAY,MAAC,CAAC,KAAK,kBAAkB,MAAC,CAAC,KAAK,6CAA6C,MAAC,CAAC,KAAK,IAAI;QAC/I,YAAY,CAAC,IAAA,kBAAQ,GAAE,CAAC;QACxB,OAAO,CAAC,cAAc,CAAC;QACvB,IAAI,CAAC,YAAY,EAAE,iBAAiB,CAAC;QACrC,IAAI,CAAC,eAAe,EAAE,mBAAmB,CAAC;QAC1C,OAAO,CAAC,UAAU,CAAC;QACnB,QAAQ;QACR,OAAO,CAAC,YAAY,CAAC;QACrB,WAAW,MAAC,CAAC,KAAK,kBAAkB,MAAC,CAAC,KAAK,GAAG,MAAC,CAAC,SAAS,qEAAqE,MAAC,CAAC,KAAK,IAAI;QACzI,WAAW,MAAC,CAAC,KAAK,kBAAkB,MAAC,CAAC,KAAK,GAAG,MAAC,CAAC,SAAS,4CAA4C,MAAC,CAAC,KAAK,IAAI;QAChH,WAAW,MAAC,CAAC,KAAK,kBAAkB,MAAC,CAAC,KAAK,GAAG,MAAC,CAAC,SAAS,mDAAmD,MAAC,CAAC,KAAK,IAAI;QACvH,IAAI,CACP,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAkB;IAC1C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,8BAA8B,UAAU,EAAE,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,2EAA2E;AAC3E,qEAAqE;AACrE,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC;AAEzF,SAAS,aAAa,CAAC,UAAkB,EAAE,IAAc;IACvD,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,MAAM,MAAM,GAAG,IAAA,yBAAS,EAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,GAAG,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,EAAE;QAC5E,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,OAAO,CAAC,GAAG;KACjB,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,KAAK,CAAC,6BAA6B,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,KAAK,CAAC,iCAAiC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,MAAa,0BAA0B;IAC9B,OAAO,CAAC,OAAiB,EAAE;QAChC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAElD,2EAA2E;QAC3E,yEAAyE;QACzE,oEAAoE;QACpE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAA,8BAAe,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,GAAG,CAAC;YAChC,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpB,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAClE,KAAK,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAChD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAExB,MAAM,GAAG,GAAG,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,IAAI,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;YACpC,KAAK,EAAE,CAAC;YACR,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,yEAAyE;QACzE,qEAAqE;QACrE,uEAAuE;QACvE,iEAAiE;QACjE,yEAAyE;QACzE,IAAI,GAAG,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;YACjF,UAAU,CAAC,GAAG,CAAC,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,GAAG,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxD,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpE,KAAK,CAAC,WAAW,OAAO,mCAAmC,QAAQ,EAAE,CAAC,CAAC;YACvE,UAAU,CAAC,GAAG,CAAC,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,uEAAuE;QACvE,6EAA6E;QAC7E,IAAI,OAAO,KAAK,MAAM;YAAE,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,IAAI,OAAO,KAAK,UAAU;YAAE,OAAO,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,IAAI,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;YAAE,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAEtF,4EAA4E;QAC5E,8EAA8E;QAC9E,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACzC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACzB,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QAED,yEAAyE;QACzE,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QACzE,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5E,KAAK,CAAC,WAAW,OAAO,iBAAiB,OAAO,IAAI,QAAQ,eAAe,QAAQ,EAAE,CAAC,CAAC;YACvF,KAAK,EAAE,CAAC;YACR,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACzB,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnF,CAAC;CACF;AA5ED,gEA4EC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,WAAqB;IACzC,uEAAuE;IACvE,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAClD,IACE,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QACtC,CAAC,SAAS,KAAK,CAAC,CAAC,IAAI,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,OAAO,CAAC,EAC5D,CAAC;QACD,KAAK,CACH,oGAAoG,CACrG,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC;QAChD,CAAC,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC,CAAC;QACtC,CAAC,CAAC,aAAa,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACvC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzB,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CAAC,YAAsB;IAC9C,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;IACpD,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAEzB,2EAA2E;IAC3E,wEAAwE;IACxE,0EAA0E;IAC1E,+CAA+C;IAC/C,IAAI,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnE,aAAa,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClC,OAAO;IACT,CAAC;IAED,sEAAsE;IACtE,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CACpC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,KAAK,YAAY,GAAG,CAAC,CAAC,CAC/E,CAAC;IACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,KAAK,CAAC,mEAAmE,CAAC,CAAC;QAC3E,KAAK,EAAE,CAAC;QACR,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;QAC7B,UAAU;QACV,cAAc;QACd,oBAAoB;QACpB,uBAAuB;QACvB,gBAAgB;QAChB,mBAAmB;QACnB,gBAAgB;QAChB,QAAQ;QACR,yEAAyE;QACzE,uEAAuE;QACvE,cAAc;KACf,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7F,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,KAAK,CAAC,iCAAiC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClE,KAAK,EAAE,CAAC;QACR,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,aAAa,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AACtC,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,IAAc;IAC3C,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,iEAAiE;YAC/D,8EAA8E;YAC9E,yBAAyB,CAC5B,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACvC,KAAK,CAAC,4EAA4E,CAAC,CAAC;QACpF,KAAK,EAAE,CAAC;QACR,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACpD,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzB,aAAa,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,YAAY,GAChB,OAAO,CAAC,IAAI,KAAK,MAAM;IACvB,CAAC,OAAO,CAAC,IAAI;QACX,CAAC,CAAC,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/E,CAAC,CAAC,KAAK,CAAC,CAAC;AAEb,IAAI,YAAY,EAAE,CAAC;IACjB,IAAI,0BAA0B,EAAE,CAAC,OAAO,EAAE,CAAC;AAC7C,CAAC"}
|
|
@@ -181,7 +181,7 @@ class ArchiveChangeUseCase {
|
|
|
181
181
|
// belongs to the delta; otherwise the scenarios still missing are named.
|
|
182
182
|
if (!modified || bringsFeatures)
|
|
183
183
|
continue;
|
|
184
|
-
const inFile = (0, GherkinTags_1.
|
|
184
|
+
const inFile = (0, GherkinTags_1.specgateTagsIn)(existing).filter((t) => /^@SCN-/.test(t));
|
|
185
185
|
const inDelta = (req.scenarios || [])
|
|
186
186
|
.map((sc) => (sc.id ? `@${sc.id}` : null))
|
|
187
187
|
.filter(Boolean);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArchiveChangeUseCase.js","sourceRoot":"","sources":["../../../../../packages/core/src/application/ArchiveChangeUseCase.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAkC;AAClC,yDAAqF;AACrF,
|
|
1
|
+
{"version":3,"file":"ArchiveChangeUseCase.js","sourceRoot":"","sources":["../../../../../packages/core/src/application/ArchiveChangeUseCase.ts"],"names":[],"mappings":"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"}
|
|
@@ -131,7 +131,7 @@ class ValidateProjectUseCase {
|
|
|
131
131
|
target: requirementId,
|
|
132
132
|
fixLines: [
|
|
133
133
|
"Answer the question that blocks it (the `Answer` column of its change's questions.md),",
|
|
134
|
-
'remove `status="Needs Clarification"` from its `
|
|
134
|
+
'remove `status="Needs Clarification"` from its `specgate:trace`, write its test, then run `done`.',
|
|
135
135
|
],
|
|
136
136
|
});
|
|
137
137
|
}
|