@rsaglobaltech/specgate 0.18.0 → 0.19.1
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 +77 -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 +1 -1
- 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/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/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/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 +5 -1
- package/dist/scripts/cli/commands/config/ConfigSetCommand.js.map +1 -1
- package/dist/scripts/cli/commands/harness/RunCommand.js +73 -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/AdoptCommand.js +9 -3
- package/dist/scripts/cli/commands/project/AdoptCommand.js.map +1 -1
- package/dist/scripts/cli/commands/project/InitProjectCommand.js +8 -5
- 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 +30 -17
- 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 +37 -23
- 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 +59 -44
- 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 +23 -8
- package/dist/scripts/docs/build-site.js.map +1 -1
- package/dist/scripts/docs/components.js +24 -24
- package/dist/scripts/docs/components.js.map +1 -1
- package/dist/scripts/docs/nav.js +8 -18
- 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 +25 -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
|
@@ -0,0 +1,331 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Gato — the cat that keeps the gate.
|
|
4
|
+
*
|
|
5
|
+
* A pet whose state *is* the project's: nothing to feed by hand. It is fed by
|
|
6
|
+
* closing requirements, kept healthy by a green gate, worried by questions
|
|
7
|
+
* nobody has answered, and it grows with the share of the specification that
|
|
8
|
+
* is implemented. Every phrase it says ends where `status` would send you, so
|
|
9
|
+
* it is another way of showing the next step, not a game beside the work.
|
|
10
|
+
*
|
|
11
|
+
* Everything is derived on the spot except two facts no file records: how the
|
|
12
|
+
* last `check` ended, and how many days in a row it has ended green. Those live
|
|
13
|
+
* in `.specgate/pet.json`, which is ignored by git — the pet is yours, not the
|
|
14
|
+
* team's.
|
|
15
|
+
*/
|
|
16
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
19
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
20
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
21
|
+
}
|
|
22
|
+
Object.defineProperty(o, k2, desc);
|
|
23
|
+
}) : (function(o, m, k, k2) {
|
|
24
|
+
if (k2 === undefined) k2 = k;
|
|
25
|
+
o[k2] = m[k];
|
|
26
|
+
}));
|
|
27
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
28
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
29
|
+
}) : function(o, v) {
|
|
30
|
+
o["default"] = v;
|
|
31
|
+
});
|
|
32
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
33
|
+
var ownKeys = function(o) {
|
|
34
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
35
|
+
var ar = [];
|
|
36
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
37
|
+
return ar;
|
|
38
|
+
};
|
|
39
|
+
return ownKeys(o);
|
|
40
|
+
};
|
|
41
|
+
return function (mod) {
|
|
42
|
+
if (mod && mod.__esModule) return mod;
|
|
43
|
+
var result = {};
|
|
44
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
45
|
+
__setModuleDefault(result, mod);
|
|
46
|
+
return result;
|
|
47
|
+
};
|
|
48
|
+
})();
|
|
49
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
|
+
exports.PET_NAME = void 0;
|
|
51
|
+
exports.readPetState = readPetState;
|
|
52
|
+
exports.nextStreak = nextStreak;
|
|
53
|
+
exports.recordCheck = recordCheck;
|
|
54
|
+
exports.petEnabled = petEnabled;
|
|
55
|
+
exports.petView = petView;
|
|
56
|
+
exports.art = art;
|
|
57
|
+
exports.miniPet = miniPet;
|
|
58
|
+
exports.fullPet = fullPet;
|
|
59
|
+
const fs = __importStar(require("node:fs"));
|
|
60
|
+
const path = __importStar(require("node:path"));
|
|
61
|
+
const ui_1 = require("../lib/ui");
|
|
62
|
+
exports.PET_NAME = "Gato";
|
|
63
|
+
const STATE_DIR = ".specgate";
|
|
64
|
+
const STATE_FILE = "pet.json";
|
|
65
|
+
/** Days without a check before the cat falls asleep. */
|
|
66
|
+
const SLEEP_AFTER_DAYS = 7;
|
|
67
|
+
// ── State ─────────────────────────────────────────────────────────────────────
|
|
68
|
+
function readPetState(projectDir) {
|
|
69
|
+
try {
|
|
70
|
+
return JSON.parse(fs.readFileSync(path.join(projectDir, STATE_DIR, STATE_FILE), "utf8"));
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
return {};
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/** A calendar day, local time: a streak is about days you worked, not UTC. */
|
|
77
|
+
function dayOf(d) {
|
|
78
|
+
const p = (n) => String(n).padStart(2, "0");
|
|
79
|
+
return `${d.getFullYear()}-${p(d.getMonth() + 1)}-${p(d.getDate())}`;
|
|
80
|
+
}
|
|
81
|
+
/** The streak after a check that ended `ok` on `now`. */
|
|
82
|
+
function nextStreak(prev, ok, now) {
|
|
83
|
+
const today = dayOf(now);
|
|
84
|
+
if (!ok)
|
|
85
|
+
return { days: 0, lastGreenDay: prev ? prev.lastGreenDay : "" };
|
|
86
|
+
if (prev && prev.lastGreenDay === today)
|
|
87
|
+
return prev;
|
|
88
|
+
const yesterday = dayOf(new Date(now.getTime() - 86_400_000));
|
|
89
|
+
const days = prev && prev.lastGreenDay === yesterday && prev.days > 0 ? prev.days + 1 : 1;
|
|
90
|
+
return { days, lastGreenDay: today };
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* What `check` tells the cat. Best effort: a pet is never a reason for the
|
|
94
|
+
* gate to fail, so any error writing it is swallowed.
|
|
95
|
+
*/
|
|
96
|
+
function recordCheck(projectDir, ok, now = new Date()) {
|
|
97
|
+
try {
|
|
98
|
+
const dir = path.join(projectDir, STATE_DIR);
|
|
99
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
100
|
+
// `.specgate/config.json` is the team's and may be committed; the pet is
|
|
101
|
+
// not. Ignore only the pet, and only once.
|
|
102
|
+
const ignore = path.join(dir, ".gitignore");
|
|
103
|
+
const lines = fs.existsSync(ignore) ? fs.readFileSync(ignore, "utf8") : "";
|
|
104
|
+
if (!/^pet\.json$/m.test(lines)) {
|
|
105
|
+
fs.writeFileSync(ignore, `${lines}${lines && !lines.endsWith("\n") ? "\n" : ""}pet.json\n`);
|
|
106
|
+
}
|
|
107
|
+
const prev = readPetState(projectDir);
|
|
108
|
+
const state = {
|
|
109
|
+
lastCheck: { ok, at: now.toISOString() },
|
|
110
|
+
streak: nextStreak(prev.streak, ok, now),
|
|
111
|
+
};
|
|
112
|
+
fs.writeFileSync(path.join(dir, STATE_FILE), `${JSON.stringify(state, null, 2)}\n`);
|
|
113
|
+
}
|
|
114
|
+
catch {
|
|
115
|
+
/* the gate's verdict stands without the pet */
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
/** Whether the pet shows up in `status`: on, unless `specgate config set pet off`. */
|
|
119
|
+
function petEnabled(projectDir) {
|
|
120
|
+
if (process.env.SPECGATE_PET === "0")
|
|
121
|
+
return false;
|
|
122
|
+
try {
|
|
123
|
+
const cfg = JSON.parse(fs.readFileSync(path.join(projectDir, STATE_DIR, "config.json"), "utf8"));
|
|
124
|
+
return cfg.pet !== "off";
|
|
125
|
+
}
|
|
126
|
+
catch {
|
|
127
|
+
return true;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
function petView(i) {
|
|
131
|
+
const now = i.now || new Date();
|
|
132
|
+
const share = i.total > 0 ? i.done / i.total : 0;
|
|
133
|
+
const last = i.state.lastCheck;
|
|
134
|
+
const daysSinceCheck = last
|
|
135
|
+
? Math.floor((now.getTime() - new Date(last.at).getTime()) / 86_400_000)
|
|
136
|
+
: null;
|
|
137
|
+
const green = last ? last.ok : null;
|
|
138
|
+
// A streak is alive only while its last green day is today or yesterday.
|
|
139
|
+
const lastGreen = i.state.streak ? i.state.streak.lastGreenDay : "";
|
|
140
|
+
const alive = lastGreen === dayOf(now) || lastGreen === dayOf(new Date(now.getTime() - 86_400_000));
|
|
141
|
+
const streak = i.state.streak && green && alive ? i.state.streak.days : 0;
|
|
142
|
+
const stage = i.done === 0 ? "egg" : share >= 1 && green ? "legend" : share >= 0.5 ? "cat" : "kitten";
|
|
143
|
+
// One mood, the most urgent first: a red gate outweighs a hungry cat.
|
|
144
|
+
let mood;
|
|
145
|
+
if (green === false)
|
|
146
|
+
mood = "sick";
|
|
147
|
+
else if (daysSinceCheck !== null && daysSinceCheck >= SLEEP_AFTER_DAYS)
|
|
148
|
+
mood = "sleepy";
|
|
149
|
+
else if (i.waiting > 0)
|
|
150
|
+
mood = "worried";
|
|
151
|
+
else if (green === null)
|
|
152
|
+
mood = "curious";
|
|
153
|
+
else if (i.total - i.done > 0)
|
|
154
|
+
mood = i.readyToClose > 0 ? "content" : "hungry";
|
|
155
|
+
else
|
|
156
|
+
mood = "happy";
|
|
157
|
+
const left = i.total - i.done;
|
|
158
|
+
const reqs = (n) => `${n} requirement${n === 1 ? "" : "s"}`;
|
|
159
|
+
const phrase = stage === "egg" && mood !== "sick"
|
|
160
|
+
? i.total === 0
|
|
161
|
+
? "Still an egg. Give me a first requirement to grow into."
|
|
162
|
+
: "Still an egg. Close your first requirement and I hatch."
|
|
163
|
+
: {
|
|
164
|
+
sick: "The gate is red and I don't feel well. Fix what check reports.",
|
|
165
|
+
sleepy: `Nobody has run the gate for ${daysSinceCheck} days. Wake me with a check.`,
|
|
166
|
+
worried: `${reqs(i.waiting)} ${i.waiting === 1 ? "waits" : "wait"} for an answer, and I can't grow past a question.`,
|
|
167
|
+
curious: "I've never seen the gate run. Show me.",
|
|
168
|
+
content: `${reqs(i.readyToClose)} ${i.readyToClose === 1 ? "has its" : "have their"} test — close one and I eat.`,
|
|
169
|
+
hungry: `${reqs(left)} to go. Feed me a test.`,
|
|
170
|
+
happy: "Every requirement closed and the gate is green. Purr.",
|
|
171
|
+
}[mood];
|
|
172
|
+
return {
|
|
173
|
+
name: exports.PET_NAME,
|
|
174
|
+
stage,
|
|
175
|
+
mood,
|
|
176
|
+
phrase,
|
|
177
|
+
next: mood === "curious" || mood === "sleepy" ? "specgate check" : i.next,
|
|
178
|
+
reason: mood === "curious" || mood === "sleepy"
|
|
179
|
+
? "the gate: the specification, then your tests"
|
|
180
|
+
: i.reason,
|
|
181
|
+
health: green === null ? null : green ? 1 : 0.15,
|
|
182
|
+
fed: share,
|
|
183
|
+
calm: i.total > 0 ? 1 - i.waiting / i.total : 1,
|
|
184
|
+
streak,
|
|
185
|
+
total: i.total,
|
|
186
|
+
done: i.done,
|
|
187
|
+
waiting: i.waiting,
|
|
188
|
+
daysSinceCheck,
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
// ── Drawing ───────────────────────────────────────────────────────────────────
|
|
192
|
+
/** Eyes and mouth for each mood, and the colour the eyes take. */
|
|
193
|
+
const FACE = ui_1.ASCII
|
|
194
|
+
? {
|
|
195
|
+
happy: { eyes: ["^", "^"], mouth: "w", tint: ui_1.c.ok },
|
|
196
|
+
content: { eyes: ["o", "o"], mouth: "u", tint: ui_1.c.ok },
|
|
197
|
+
hungry: { eyes: ["o", "o"], mouth: "o", tint: ui_1.c.warn },
|
|
198
|
+
worried: { eyes: ["O", "O"], mouth: "~", tint: ui_1.c.accent },
|
|
199
|
+
sick: { eyes: ["x", "x"], mouth: "~", tint: ui_1.c.bad },
|
|
200
|
+
sleepy: { eyes: ["-", "-"], mouth: "_", tint: ui_1.c.muted },
|
|
201
|
+
curious: { eyes: ["o", "O"], mouth: "?", tint: ui_1.c.accent },
|
|
202
|
+
}
|
|
203
|
+
: {
|
|
204
|
+
happy: { eyes: ["◕", "◕"], mouth: "ω", tint: ui_1.c.ok },
|
|
205
|
+
content: { eyes: ["•", "•"], mouth: "ᴗ", tint: ui_1.c.ok },
|
|
206
|
+
hungry: { eyes: ["◔", "◔"], mouth: "o", tint: ui_1.c.warn },
|
|
207
|
+
worried: { eyes: ["⊙", "⊙"], mouth: "~", tint: ui_1.c.accent },
|
|
208
|
+
sick: { eyes: ["×", "×"], mouth: "~", tint: ui_1.c.bad },
|
|
209
|
+
sleepy: { eyes: ["‿", "‿"], mouth: "_", tint: ui_1.c.muted },
|
|
210
|
+
curious: { eyes: ["•", "◕"], mouth: "o", tint: ui_1.c.accent },
|
|
211
|
+
};
|
|
212
|
+
const B = (s) => `${ui_1.c.brand}${s}${ui_1.c.reset}`;
|
|
213
|
+
const P = (s) => `${ui_1.c.pink}${s}${ui_1.c.reset}`;
|
|
214
|
+
const M = (s) => `${ui_1.c.muted}${s}${ui_1.c.reset}`;
|
|
215
|
+
/** The drawing for a stage and mood, line by line, coloured. */
|
|
216
|
+
function art(stage, mood) {
|
|
217
|
+
const f = FACE[mood];
|
|
218
|
+
const [l, r] = f.eyes.map((e) => `${f.tint}${e}${ui_1.c.reset}`);
|
|
219
|
+
const mouth = P(f.mouth);
|
|
220
|
+
const zz = mood === "sleepy" ? M(" z Z") : "";
|
|
221
|
+
switch (stage) {
|
|
222
|
+
case "egg": {
|
|
223
|
+
const d = mood === "sick" ? B("╳") : B("◆");
|
|
224
|
+
return [
|
|
225
|
+
B(' .-""-.') + zz,
|
|
226
|
+
B(" / ") + d + B(" ") + d + B(" \\"),
|
|
227
|
+
B(" | ") + d + B(" ") + d + B(" |"),
|
|
228
|
+
B(" \\ ") + d + B(" ") + d + B(" /"),
|
|
229
|
+
B(" '-..-'"),
|
|
230
|
+
];
|
|
231
|
+
}
|
|
232
|
+
case "kitten":
|
|
233
|
+
return [
|
|
234
|
+
B(" /\\_/\\") + zz,
|
|
235
|
+
B(" ( ") + l + " " + r + B(" )"),
|
|
236
|
+
B(" ( ") + M("=") + mouth + M("=") + B(" )"),
|
|
237
|
+
B(' (")(")'),
|
|
238
|
+
];
|
|
239
|
+
default: {
|
|
240
|
+
const crown = stage === "legend" ? [` ${ui_1.c.warn}${ui_1.ASCII ? "^^^" : "♛"}${ui_1.c.reset}`] : [];
|
|
241
|
+
return [
|
|
242
|
+
...crown,
|
|
243
|
+
B(" /\\_____/\\") + zz,
|
|
244
|
+
B(" / ") + l + B(" ") + r + B(" \\"),
|
|
245
|
+
B(" ( ") + M("==") + B(" ") + mouth + B(" ") + M("==") + B(" )"),
|
|
246
|
+
B(" ) ("),
|
|
247
|
+
B(" ( ) ( )"),
|
|
248
|
+
B(" (___)_____(___)"),
|
|
249
|
+
];
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
const STAGE_NAME = {
|
|
254
|
+
egg: "egg",
|
|
255
|
+
kitten: "kitten",
|
|
256
|
+
cat: "cat",
|
|
257
|
+
legend: "legend",
|
|
258
|
+
};
|
|
259
|
+
const MOOD_NAME = {
|
|
260
|
+
happy: "happy",
|
|
261
|
+
content: "content",
|
|
262
|
+
hungry: "hungry",
|
|
263
|
+
worried: "worried",
|
|
264
|
+
sick: "sick",
|
|
265
|
+
sleepy: "asleep",
|
|
266
|
+
curious: "curious",
|
|
267
|
+
};
|
|
268
|
+
/** Lines side by side: the drawing on the left, the text on the right. */
|
|
269
|
+
function beside(left, right, gap) {
|
|
270
|
+
const n = Math.max(left.length, right.length);
|
|
271
|
+
const visible = (s) => [...s.replace(/\x1b\[[0-9;]*m/g, "")].length; // eslint-disable-line no-control-regex
|
|
272
|
+
// The text starts one column, the same for every line, past the widest line
|
|
273
|
+
// of the drawing — whatever the stage.
|
|
274
|
+
const leftWidth = Math.max(0, ...left.map(visible)) + gap;
|
|
275
|
+
let out = "";
|
|
276
|
+
for (let k = 0; k < n; k++) {
|
|
277
|
+
const a = left[k] || "";
|
|
278
|
+
out +=
|
|
279
|
+
` ${a}${" ".repeat(Math.max(0, leftWidth - visible(a)))}${right[k] || ""}`.trimEnd() + "\n";
|
|
280
|
+
}
|
|
281
|
+
return out;
|
|
282
|
+
}
|
|
283
|
+
function gateWords(v) {
|
|
284
|
+
if (v.health === null)
|
|
285
|
+
return M("gate never run");
|
|
286
|
+
return v.health === 1 ? `${ui_1.c.ok}gate green${ui_1.c.reset}` : `${ui_1.c.bad}gate red${ui_1.c.reset}`;
|
|
287
|
+
}
|
|
288
|
+
function streakWords(v) {
|
|
289
|
+
return v.streak > 0
|
|
290
|
+
? `${ui_1.ASCII ? "*" : "🔥"} ${v.streak} day${v.streak === 1 ? "" : "s"} green`
|
|
291
|
+
: "";
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* The few lines at the end of `status`: the cat's face and one sentence.
|
|
295
|
+
* Small on purpose — `status` is the dashboard, the cat a margin note on it.
|
|
296
|
+
*/
|
|
297
|
+
function miniPet(v) {
|
|
298
|
+
// The egg whole, the text beside its middle; any other stage as a kitten's
|
|
299
|
+
// head, which is all a margin note has room for.
|
|
300
|
+
const egg = v.stage === "egg";
|
|
301
|
+
const face = egg ? art("egg", v.mood) : art("kitten", v.mood).slice(0, 3);
|
|
302
|
+
const facts = [`${v.done} of ${v.total} closed`, gateWords(v), streakWords(v)].filter(Boolean);
|
|
303
|
+
const right = [
|
|
304
|
+
`${v.stage === "legend" ? `${ui_1.c.warn}${ui_1.ASCII ? "^" : "♛"}${ui_1.c.reset} ` : ""}${ui_1.c.bold}${v.name}${ui_1.c.reset} ${M(`is ${MOOD_NAME[v.mood]}`)}`,
|
|
305
|
+
facts.join(M(` ${ui_1.sym.bullet} `)),
|
|
306
|
+
`${ui_1.c.italic}${v.phrase}${ui_1.c.reset}`,
|
|
307
|
+
];
|
|
308
|
+
return beside(face, egg ? ["", ...right] : right, 3) + "\n";
|
|
309
|
+
}
|
|
310
|
+
/** `specgate pet`: the whole cat, its four needs, and what to do for it. */
|
|
311
|
+
function fullPet(v) {
|
|
312
|
+
const drawing = art(v.stage, v.mood);
|
|
313
|
+
const bar = (share, label) => share === null ? `${M(ui_1.sym.barEmpty.repeat(20))} ${M(label)}` : progressBar(share, label);
|
|
314
|
+
const right = [
|
|
315
|
+
`${ui_1.c.bold}${v.name}${ui_1.c.reset} ${M(`${STAGE_NAME[v.stage]} · ${MOOD_NAME[v.mood]}`)}`,
|
|
316
|
+
"",
|
|
317
|
+
`${M("health ")} ${bar(v.health, v.health === null ? "the gate has never run" : v.health === 1 ? "gate green" : "gate red")}`,
|
|
318
|
+
`${M("fed ")} ${(0, ui_1.progress)(v.done, v.total, "closed")}`,
|
|
319
|
+
`${M("calm ")} ${bar(v.calm, v.waiting ? `${v.waiting} waiting for an answer` : "no open questions")}`,
|
|
320
|
+
`${M("streak ")} ${v.streak > 0 ? streakWords(v) : M("— a green check starts it")}`,
|
|
321
|
+
];
|
|
322
|
+
const pad = Array(Math.max(0, Math.floor((right.length - drawing.length) / 2))).fill("");
|
|
323
|
+
return beside([...pad, ...drawing], right, 5) + `\n ${ui_1.c.italic}“${v.phrase}”${ui_1.c.reset}\n`;
|
|
324
|
+
}
|
|
325
|
+
function progressBar(share, label) {
|
|
326
|
+
const width = 20;
|
|
327
|
+
const filled = Math.round(Math.max(0, Math.min(1, share)) * width);
|
|
328
|
+
const color = share >= 1 ? ui_1.c.ok : share < 0.34 ? ui_1.c.bad : ui_1.c.brand;
|
|
329
|
+
return `${color}${ui_1.sym.bar.repeat(filled)}${ui_1.c.reset}${M(ui_1.sym.barEmpty.repeat(width - filled))} ${label}`;
|
|
330
|
+
}
|
|
331
|
+
//# sourceMappingURL=pet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pet.js","sourceRoot":"","sources":["../../../scripts/pet/pet.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.PetCommand = void 0;
|
|
5
|
+
const PetCommand_1 = require("./cli/commands/spec/PetCommand");
|
|
6
|
+
Object.defineProperty(exports, "PetCommand", { enumerable: true, get: function () { return PetCommand_1.PetCommand; } });
|
|
7
|
+
if (require.main === module) {
|
|
8
|
+
new PetCommand_1.PetCommand(process.argv.slice(2)).execute();
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=pet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pet.js","sourceRoot":"","sources":["../../scripts/pet.ts"],"names":[],"mappings":";;;;AACA,+DAA4D;AAEnD,2FAFA,uBAAU,OAEA;AAEnB,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,IAAI,uBAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;AAClD,CAAC"}
|
|
@@ -65,7 +65,7 @@ const fs = __importStar(require("node:fs"));
|
|
|
65
65
|
const os = __importStar(require("node:os"));
|
|
66
66
|
const path = __importStar(require("node:path"));
|
|
67
67
|
const node_child_process_1 = require("node:child_process");
|
|
68
|
-
const MARKER_DIR = path.join(os.tmpdir(), "
|
|
68
|
+
const MARKER_DIR = path.join(os.tmpdir(), "specgate-gate-hook");
|
|
69
69
|
/**
|
|
70
70
|
* Has this prompt already been blocked once?
|
|
71
71
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gate-hook.js","sourceRoot":"","sources":["../../../scripts/plugin/gate-hook.ts"],"names":[],"mappings":";;AAEA;;;;;;;;;;;;;;;;;;;;;;GAsBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCH,wCAaC;AAGD,wCASC;AAOD,wBAsBC;AA+BD,oBAWC;AAjID,4CAA8B;AAC9B,4CAA8B;AAC9B,gDAAkC;AAClC,2DAA+C;AAqB/C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"gate-hook.js","sourceRoot":"","sources":["../../../scripts/plugin/gate-hook.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* spec, because a team with Cucumber already writes the `.feature` first and
|
|
13
13
|
* the spec afterwards to explain it.
|
|
14
14
|
*
|
|
15
|
-
* A project overrides either by forking it into `.
|
|
15
|
+
* A project overrides either by forking it into `.specgate/schemas/<name>/schema.yaml`.
|
|
16
16
|
*/
|
|
17
17
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
18
18
|
if (k2 === undefined) k2 = k;
|
|
@@ -57,7 +57,7 @@ exports.resolveSchema = resolveSchema;
|
|
|
57
57
|
exports.listSchemas = listSchemas;
|
|
58
58
|
const fs = __importStar(require("node:fs"));
|
|
59
59
|
const path = __importStar(require("node:path"));
|
|
60
|
-
exports.SCHEMA_DIR = path.join(".
|
|
60
|
+
exports.SCHEMA_DIR = path.join(".specgate", "schemas");
|
|
61
61
|
exports.SCHEMA_FILE = "schema.yaml";
|
|
62
62
|
exports.BUILT_IN = {
|
|
63
63
|
"spec-driven": {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../scripts/schema/registry.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCH,wBAmBC;AAoBD,8BAyCC;AAYD,wCAsDC;AAED,8BAqBC;AAGD,sCAcC;AAED,kCAWC;AAvOD,4CAA8B;AAC9B,gDAAkC;AAErB,QAAA,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../scripts/schema/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -56,34 +56,25 @@ const node_child_process_1 = require("node:child_process");
|
|
|
56
56
|
const command_1 = require("../lib/command");
|
|
57
57
|
const project_root_1 = require("../lib/project-root");
|
|
58
58
|
const EXPAND_SCRIPT = path.join(__dirname, "..", "expand_domain_pack.js");
|
|
59
|
-
const
|
|
60
|
-
const c = {
|
|
61
|
-
reset: COLOR_ENABLED ? "\x1b[0m" : "",
|
|
62
|
-
bold: COLOR_ENABLED ? "\x1b[1m" : "",
|
|
63
|
-
dim: COLOR_ENABLED ? "\x1b[2m" : "",
|
|
64
|
-
red: COLOR_ENABLED ? "\x1b[31m" : "",
|
|
65
|
-
green: COLOR_ENABLED ? "\x1b[32m" : "",
|
|
66
|
-
yellow: COLOR_ENABLED ? "\x1b[33m" : "",
|
|
67
|
-
cyan: COLOR_ENABLED ? "\x1b[36m" : "",
|
|
68
|
-
};
|
|
59
|
+
const ui_1 = require("../lib/ui");
|
|
69
60
|
function usage() {
|
|
70
|
-
process.stdout.write(`\n ${c.bold}${c.cyan}➕ specops add${c.reset} ${c.dim}— add a pack to this project${c.reset}\n\n` +
|
|
71
|
-
` ${c.bold}USAGE${c.reset}\n` +
|
|
72
|
-
` ${c.cyan}specgate specops add${c.reset} --pack-repo <url> --pack-version <tag> --pack <pack-id> [--var K=V]... [--project-dir <path>] [--cache-dir <path>] [--dry-run]\n` +
|
|
73
|
-
` ${c.cyan}specgate specops add${c.reset} --pack-root <path> --pack <pack-id> [--var K=V]... [--project-dir <path>]\n\n` +
|
|
74
|
-
` ${c.bold}OPTIONS${c.reset}\n` +
|
|
75
|
-
` ${c.green}--pack-repo <url>${c.reset} ${c.dim}Git URL of the pack repository.${c.reset}\n` +
|
|
76
|
-
` ${c.green}--pack-version <tag>${c.reset} ${c.dim}Git tag/sha to pin (required with --pack-repo).${c.reset}\n` +
|
|
77
|
-
` ${c.green}--pack-root <path>${c.reset} ${c.dim}Local directory containing packs (alternative to --pack-repo).${c.reset}\n` +
|
|
78
|
-
` ${c.green}--pack <pack-id>${c.reset} ${c.dim}Pack identifier, e.g. parking-management/backend.${c.reset}\n` +
|
|
79
|
-
` ${c.green}--var KEY=VALUE${c.reset} ${c.dim}Template variable (repeatable). Persisted to .specops.lock.${c.reset}\n` +
|
|
80
|
-
` ${c.green}--project-dir <path>${c.reset} ${c.dim}Project root (auto-detected from cwd if omitted).${c.reset}\n` +
|
|
81
|
-
` ${c.green}--cache-dir <path>${c.reset} ${c.dim}Override the remote-pack cache directory.${c.reset}\n` +
|
|
82
|
-
` ${c.green}--dry-run${c.reset} ${c.dim}Print actions without writing.${c.reset}\n` +
|
|
83
|
-
` ${c.green}-h, --help${c.reset} ${c.dim}Show this help.${c.reset}\n\n` +
|
|
84
|
-
` ${c.bold}EXAMPLES${c.reset}\n` +
|
|
85
|
-
` ${c.yellow}$${c.reset} specgate specops add --pack-repo https://github.com/rsaglobaltech/parking-management-specops.git \\\n --pack-version v0.1.0 --pack backend \\\n --var PROJECT_NAME="Smart Parking" --var PROJECT_SLUG=smart-parking --var DOMAIN="parking ops"\n` +
|
|
86
|
-
` ${c.yellow}$${c.reset} specgate specops add --pack-root ./domain-packs --pack billing/backend --var PROJECT_NAME="..." --var PROJECT_SLUG=...\n\n`);
|
|
61
|
+
process.stdout.write(`\n ${ui_1.c.bold}${ui_1.c.cyan}➕ specops add${ui_1.c.reset} ${ui_1.c.dim}— add a pack to this project${ui_1.c.reset}\n\n` +
|
|
62
|
+
` ${ui_1.c.bold}USAGE${ui_1.c.reset}\n` +
|
|
63
|
+
` ${ui_1.c.cyan}specgate specops add${ui_1.c.reset} --pack-repo <url> --pack-version <tag> --pack <pack-id> [--var K=V]... [--project-dir <path>] [--cache-dir <path>] [--dry-run]\n` +
|
|
64
|
+
` ${ui_1.c.cyan}specgate specops add${ui_1.c.reset} --pack-root <path> --pack <pack-id> [--var K=V]... [--project-dir <path>]\n\n` +
|
|
65
|
+
` ${ui_1.c.bold}OPTIONS${ui_1.c.reset}\n` +
|
|
66
|
+
` ${ui_1.c.green}--pack-repo <url>${ui_1.c.reset} ${ui_1.c.dim}Git URL of the pack repository.${ui_1.c.reset}\n` +
|
|
67
|
+
` ${ui_1.c.green}--pack-version <tag>${ui_1.c.reset} ${ui_1.c.dim}Git tag/sha to pin (required with --pack-repo).${ui_1.c.reset}\n` +
|
|
68
|
+
` ${ui_1.c.green}--pack-root <path>${ui_1.c.reset} ${ui_1.c.dim}Local directory containing packs (alternative to --pack-repo).${ui_1.c.reset}\n` +
|
|
69
|
+
` ${ui_1.c.green}--pack <pack-id>${ui_1.c.reset} ${ui_1.c.dim}Pack identifier, e.g. parking-management/backend.${ui_1.c.reset}\n` +
|
|
70
|
+
` ${ui_1.c.green}--var KEY=VALUE${ui_1.c.reset} ${ui_1.c.dim}Template variable (repeatable). Persisted to .specops.lock.${ui_1.c.reset}\n` +
|
|
71
|
+
` ${ui_1.c.green}--project-dir <path>${ui_1.c.reset} ${ui_1.c.dim}Project root (auto-detected from cwd if omitted).${ui_1.c.reset}\n` +
|
|
72
|
+
` ${ui_1.c.green}--cache-dir <path>${ui_1.c.reset} ${ui_1.c.dim}Override the remote-pack cache directory.${ui_1.c.reset}\n` +
|
|
73
|
+
` ${ui_1.c.green}--dry-run${ui_1.c.reset} ${ui_1.c.dim}Print actions without writing.${ui_1.c.reset}\n` +
|
|
74
|
+
` ${ui_1.c.green}-h, --help${ui_1.c.reset} ${ui_1.c.dim}Show this help.${ui_1.c.reset}\n\n` +
|
|
75
|
+
` ${ui_1.c.bold}EXAMPLES${ui_1.c.reset}\n` +
|
|
76
|
+
` ${ui_1.c.yellow}$${ui_1.c.reset} specgate specops add --pack-repo https://github.com/rsaglobaltech/parking-management-specops.git \\\n --pack-version v0.1.0 --pack backend \\\n --var PROJECT_NAME="Smart Parking" --var PROJECT_SLUG=smart-parking --var DOMAIN="parking ops"\n` +
|
|
77
|
+
` ${ui_1.c.yellow}$${ui_1.c.reset} specgate specops add --pack-root ./domain-packs --pack billing/backend --var PROJECT_NAME="..." --var PROJECT_SLUG=...\n\n`);
|
|
87
78
|
}
|
|
88
79
|
function parseArgs(argv) {
|
|
89
80
|
const opts = {
|
|
@@ -129,20 +120,20 @@ class AddCommand extends command_1.BaseCommand {
|
|
|
129
120
|
execute() {
|
|
130
121
|
const opts = parseArgs(this.args);
|
|
131
122
|
if (!opts.pack) {
|
|
132
|
-
process.stderr.write(`${c.red}✖${c.reset} --pack <pack-id> is required.\n`);
|
|
123
|
+
process.stderr.write(`${ui_1.c.red}✖${ui_1.c.reset} --pack <pack-id> is required.\n`);
|
|
133
124
|
usage();
|
|
134
125
|
process.exit(2);
|
|
135
126
|
}
|
|
136
127
|
if (opts.packRepo && opts.packRoot) {
|
|
137
|
-
process.stderr.write(`${c.red}✖${c.reset} Pass either --pack-repo or --pack-root, not both.\n`);
|
|
128
|
+
process.stderr.write(`${ui_1.c.red}✖${ui_1.c.reset} Pass either --pack-repo or --pack-root, not both.\n`);
|
|
138
129
|
process.exit(2);
|
|
139
130
|
}
|
|
140
131
|
if (!opts.packRepo && !opts.packRoot) {
|
|
141
|
-
process.stderr.write(`${c.red}✖${c.reset} Either --pack-repo (with --pack-version) or --pack-root is required.\n`);
|
|
132
|
+
process.stderr.write(`${ui_1.c.red}✖${ui_1.c.reset} Either --pack-repo (with --pack-version) or --pack-root is required.\n`);
|
|
142
133
|
process.exit(2);
|
|
143
134
|
}
|
|
144
135
|
if (opts.packRepo && !opts.packVersion) {
|
|
145
|
-
process.stderr.write(`${c.red}✖${c.reset} --pack-repo requires --pack-version (pin to a git tag or sha).\n`);
|
|
136
|
+
process.stderr.write(`${ui_1.c.red}✖${ui_1.c.reset} --pack-repo requires --pack-version (pin to a git tag or sha).\n`);
|
|
146
137
|
process.exit(2);
|
|
147
138
|
}
|
|
148
139
|
let projectDir;
|
|
@@ -167,7 +158,7 @@ class AddCommand extends command_1.BaseCommand {
|
|
|
167
158
|
expandArgs.push("--var", v);
|
|
168
159
|
if (opts.dryRun)
|
|
169
160
|
expandArgs.push("--dry-run");
|
|
170
|
-
process.stdout.write(`${c.cyan}ℹ${c.reset} Adding ${c.bold}${opts.pack}${c.reset}${opts.packVersion ? ` @ ${c.bold}${opts.packVersion}${c.reset}` : ""} to ${c.dim}${projectDir}${c.reset}\n`);
|
|
161
|
+
process.stdout.write(`${ui_1.c.cyan}ℹ${ui_1.c.reset} Adding ${ui_1.c.bold}${opts.pack}${ui_1.c.reset}${opts.packVersion ? ` @ ${ui_1.c.bold}${opts.packVersion}${ui_1.c.reset}` : ""} to ${ui_1.c.dim}${projectDir}${ui_1.c.reset}\n`);
|
|
171
162
|
const result = (0, node_child_process_1.spawnSync)(process.execPath, [EXPAND_SCRIPT, ...expandArgs], {
|
|
172
163
|
stdio: "inherit",
|
|
173
164
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../../scripts/specops/add.ts"],"names":[],"mappings":";;AACA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../../scripts/specops/add.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,7 +21,7 @@ function readLock(projectDir) {
|
|
|
21
21
|
}
|
|
22
22
|
function upsertPackEntry(lockJson, entry) {
|
|
23
23
|
const lock = lockJson
|
|
24
|
-
? new Lockfile_1.Lockfile(lockJson.specops_version, lockJson.
|
|
24
|
+
? new Lockfile_1.Lockfile(lockJson.specops_version, lockJson.specgate_version, lockJson.packs || [])
|
|
25
25
|
: Lockfile_1.Lockfile.createEmpty();
|
|
26
26
|
lock.upsertPack(entry);
|
|
27
27
|
return lock.toJSON();
|
|
@@ -29,11 +29,11 @@ function upsertPackEntry(lockJson, entry) {
|
|
|
29
29
|
function writeLock(projectDir, lockJson, options = {}) {
|
|
30
30
|
const repo = new DiskLockfileRepository_1.DiskLockfileRepository(projectDir);
|
|
31
31
|
const lock = lockJson
|
|
32
|
-
? new Lockfile_1.Lockfile(lockJson.specops_version, lockJson.
|
|
32
|
+
? new Lockfile_1.Lockfile(lockJson.specops_version, lockJson.specgate_version, lockJson.packs || [])
|
|
33
33
|
: Lockfile_1.Lockfile.createEmpty();
|
|
34
34
|
return repo.writeLock(lock, options);
|
|
35
35
|
}
|
|
36
|
-
function newLock(
|
|
37
|
-
return Lockfile_1.Lockfile.createEmpty(
|
|
36
|
+
function newLock(specgateVersion) {
|
|
37
|
+
return Lockfile_1.Lockfile.createEmpty(specgateVersion).toJSON();
|
|
38
38
|
}
|
|
39
39
|
//# sourceMappingURL=lock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock.js","sourceRoot":"","sources":["../../../scripts/specops/lock.ts"],"names":[],"mappings":";;;AAYA,4BAIC;AAED,0CAOC;AAMD,8BAWC;AAED,0BAEC;AA9CD,0GAAuG;AACvG,sEAA8E;AAE9E;;;;GAIG;AAEU,QAAA,aAAa,GAAG,mBAAQ,CAAC,QAAQ,CAAC;AAClC,QAAA,sBAAsB,GAAG,mBAAQ,CAAC,sBAAsB,CAAC;AAEtE,SAAgB,QAAQ,CAAC,UAAkB;IACzC,MAAM,IAAI,GAAG,IAAI,+CAAsB,CAAC,UAAU,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC7B,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACrC,CAAC;AAED,SAAgB,eAAe,CAAC,QAAa,EAAE,KAAgB;IAC7D,MAAM,IAAI,GAAG,QAAQ;QACnB,CAAC,CAAC,IAAI,mBAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"lock.js","sourceRoot":"","sources":["../../../scripts/specops/lock.ts"],"names":[],"mappings":";;;AAYA,4BAIC;AAED,0CAOC;AAMD,8BAWC;AAED,0BAEC;AA9CD,0GAAuG;AACvG,sEAA8E;AAE9E;;;;GAIG;AAEU,QAAA,aAAa,GAAG,mBAAQ,CAAC,QAAQ,CAAC;AAClC,QAAA,sBAAsB,GAAG,mBAAQ,CAAC,sBAAsB,CAAC;AAEtE,SAAgB,QAAQ,CAAC,UAAkB;IACzC,MAAM,IAAI,GAAG,IAAI,+CAAsB,CAAC,UAAU,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC7B,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACrC,CAAC;AAED,SAAgB,eAAe,CAAC,QAAa,EAAE,KAAgB;IAC7D,MAAM,IAAI,GAAG,QAAQ;QACnB,CAAC,CAAC,IAAI,mBAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;QACzF,CAAC,CAAC,mBAAQ,CAAC,WAAW,EAAE,CAAC;IAE3B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACvB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;AACvB,CAAC;AAMD,SAAgB,SAAS,CACvB,UAAkB,EAClB,QAAa,EACb,UAAwB,EAAE;IAE1B,MAAM,IAAI,GAAG,IAAI,+CAAsB,CAAC,UAAU,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,QAAQ;QACnB,CAAC,CAAC,IAAI,mBAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;QACzF,CAAC,CAAC,mBAAQ,CAAC,WAAW,EAAE,CAAC;IAE3B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC;AAED,SAAgB,OAAO,CAAC,eAAwB;IAC9C,OAAO,mBAAQ,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE,CAAC;AACxD,CAAC"}
|