@codyswann/lisa 2.330.0 → 2.330.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/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +3 -15
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/standards-proof-cmd.d.ts +22 -0
- package/dist/cli/standards-proof-cmd.d.ts.map +1 -1
- package/dist/cli/standards-proof-cmd.js +18 -0
- package/dist/cli/standards-proof-cmd.js.map +1 -1
- package/dist/cli/workstation-cmd.d.ts +91 -0
- package/dist/cli/workstation-cmd.d.ts.map +1 -0
- package/dist/cli/workstation-cmd.js +127 -0
- package/dist/cli/workstation-cmd.js.map +1 -0
- package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
- package/dist/core/upstream-evidence-manifest.js +4 -2
- package/dist/core/upstream-evidence-manifest.js.map +1 -1
- package/package.json +1 -1
- package/plugins/lisa/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/skills/lisa-setup-workstation/SKILL.md +27 -6
- package/plugins/lisa/commands/setup/workstation.md +2 -0
- package/plugins/lisa/skills/lisa-setup-workstation/SKILL.md +27 -6
- package/plugins/lisa-agy/commands/lisa/setup/workstation.md +2 -0
- package/plugins/lisa-agy/plugin.json +1 -1
- package/plugins/lisa-agy/skills/lisa-setup-workstation/SKILL.md +27 -6
- package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-agy/plugin.json +1 -1
- package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-copilot/commands/lisa/setup/workstation.md +2 -0
- package/plugins/lisa-copilot/skills/lisa-setup-workstation/SKILL.md +27 -6
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/commands/lisa/setup/workstation.md +2 -0
- package/plugins/lisa-cursor/skills/lisa-setup-workstation/SKILL.md +27 -6
- package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-agy/plugin.json +1 -1
- package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-agy/plugin.json +1 -1
- package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-agy/plugin.json +1 -1
- package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-agy/plugin.json +1 -1
- package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-agy/plugin.json +1 -1
- package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-agy/plugin.json +1 -1
- package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-agy/plugin.json +1 -1
- package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/src/base/commands/setup/workstation.md +2 -0
- package/plugins/src/base/skills/lisa-setup-workstation/SKILL.md +27 -6
package/dist/cli/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAEL,iBAAiB,EAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAyB,MAAM,iBAAiB,CAAC;AAEtE,OAAO,EACL,UAAU,EACV,eAAe,EACf,eAAe,EAEhB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAEL,eAAe,EAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAEL,iBAAiB,EAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAyB,MAAM,iBAAiB,CAAC;AAEtE,OAAO,EACL,UAAU,EACV,eAAe,EACf,eAAe,EAEhB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAEL,eAAe,EAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,OAAO,EAEL,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,OAAO,EAAuB,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAqB,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI9C;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,6EAA6E;IAC7E,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAC1B,kEAAkE;IAClE,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,4DAA4D;IAC5D,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,wCAAwC;IACxC,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,yDAAyD;IACzD,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,qCAAqC;IACrC,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,4EAA4E;IAC5E,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,2EAA2E;IAC3E,OAAO,EAAE,OAAO,OAAO,CAAC;IACxB,8DAA8D;IAC9D,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,iEAAiE;IACjE,uBAAuB,EAAE,OAAO,uBAAuB,CAAC;IACxD,sEAAsE;IACtE,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,uDAAuD;IACvD,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,qEAAqE;IACrE,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;IAClD,iEAAiE;IACjE,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,4EAA4E;IAC5E,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,kEAAkE;IAClE,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,gFAAgF;IAChF,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,0EAA0E;IAC1E,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;CAC/C;AAsND;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,YAAY,GAAE,OAAO,CAAC,mBAAmB,CAAM,GAC9C,OAAO,CAgET;AAED,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/cli/index.js
CHANGED
|
@@ -12,13 +12,14 @@ import { DEFAULT_SETUP_PROJECT_DEPENDENCIES, runSetupProject, } from "./setup-pr
|
|
|
12
12
|
import { runSetupWiki } from "./setup-wiki.js";
|
|
13
13
|
import { addSharedOptions } from "./shared-options.js";
|
|
14
14
|
import { SETUP_TYPES } from "./starters.js";
|
|
15
|
-
import { runStandardsProofCli } from "./standards-proof-cmd.js";
|
|
15
|
+
import { addStandardsProofCommand, runStandardsProofCli, } from "./standards-proof-cmd.js";
|
|
16
16
|
import { runSync } from "./sync-cmd.js";
|
|
17
17
|
import { runUi } from "./ui-cmd.js";
|
|
18
18
|
import { runUpdate } from "./update-cmd.js";
|
|
19
19
|
import { runUpdateCheck } from "./update-check.js";
|
|
20
20
|
import { addUpdateCheckHook } from "./update-check-hook.js";
|
|
21
21
|
import { runVersion } from "./version-cmd.js";
|
|
22
|
+
import { addWorkstationCommand } from "./workstation-cmd.js";
|
|
22
23
|
import { getPackageVersion } from "./version.js";
|
|
23
24
|
const DEFAULT_DEPENDENCIES = {
|
|
24
25
|
runApply,
|
|
@@ -117,20 +118,6 @@ function addHealthCommand(program, deps) {
|
|
|
117
118
|
await deps.runHealthCli(targetPath, options);
|
|
118
119
|
});
|
|
119
120
|
}
|
|
120
|
-
/**
|
|
121
|
-
* Register the explicit, mutating standards proof command.
|
|
122
|
-
* @param program - Commander program to mutate
|
|
123
|
-
* @param deps - Program dependencies
|
|
124
|
-
*/
|
|
125
|
-
function addStandardsProofCommand(program, deps) {
|
|
126
|
-
program
|
|
127
|
-
.command("standards-proof")
|
|
128
|
-
.description("Run all applicable Lisa standards checks and prove the current Git artifact")
|
|
129
|
-
.argument("[path]", PATH_ARG_DESCRIPTION)
|
|
130
|
-
.action(async (targetPath) => {
|
|
131
|
-
await deps.runStandardsProofCli(targetPath);
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
121
|
/**
|
|
135
122
|
* Register CLI maintenance commands that do not run the root update warning.
|
|
136
123
|
* @param program - Commander program to mutate
|
|
@@ -154,6 +141,7 @@ function addMaintenanceCommands(program, deps) {
|
|
|
154
141
|
process.exitCode = code;
|
|
155
142
|
}
|
|
156
143
|
});
|
|
144
|
+
addWorkstationCommand(program);
|
|
157
145
|
addDoctorCommand(program, deps);
|
|
158
146
|
addHealthCommand(program, deps);
|
|
159
147
|
addStandardsProofCommand(program, deps);
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAEL,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAyB,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACL,UAAU,EACV,eAAe,EACf,eAAe,GAEhB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EACL,kCAAkC,EAClC,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAmB,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAEL,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAyB,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACL,UAAU,EACV,eAAe,EACf,eAAe,GAEhB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EACL,kCAAkC,EAClC,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAmB,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACL,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,OAAO,EAAuB,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAqB,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AA8CjD,MAAM,oBAAoB,GAAwB;IAChD,QAAQ;IACR,eAAe;IACf,YAAY;IACZ,UAAU;IACV,SAAS;IACT,SAAS;IACT,iBAAiB;IACjB,OAAO;IACP,KAAK;IACL,uBAAuB;IACvB,eAAe;IACf,YAAY;IACZ,oBAAoB;IACpB,UAAU;IACV,eAAe;IACf,eAAe;IACf,cAAc;IACd,kBAAkB;CACnB,CAAC;AAEF,0EAA0E;AAC1E,MAAM,oBAAoB,GAAG,2CAA2C,CAAC;AAEzE;;;;GAIG;AACH,SAAS,eAAe,CAAC,OAAgB,EAAE,IAAyB;IAClE,MAAM,IAAI,GAAG,OAAO;SACjB,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,uDAAuD,CAAC,CAAC;IACxE,IAAI;SACD,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CACV,mEAAmE,CACpE;SACA,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;SACxC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC;SAC7B,MAAM,CACL,KAAK,EAAE,UAA8B,EAAE,OAA2B,EAAE,EAAE;QACpE,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAChE,CAAC,CACF,CAAC;IACJ,IAAI;SACD,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CACV,gEAAgE,CACjE;SACA,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;SACxC,cAAc,CAAC,oBAAoB,EAAE,kCAAkC,CAAC;SACxE,cAAc,CAAC,sBAAsB,EAAE,8BAA8B,CAAC;SACtE,cAAc,CACb,oBAAoB,EACpB,8DAA8D,CAC/D;SACA,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC;SACrC,MAAM,CAAC,qBAAqB,EAAE,2BAA2B,CAAC;SAC1D,MAAM,CAAC,QAAQ,EAAE,oCAAoC,CAAC;SACtD,MAAM,CAAC,KAAK,EAAE,UAA8B,EAAE,OAAuB,EAAE,EAAE;QACxE,IACE,CAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAW,CAAC,QAAQ,CACrD,OAAO,CAAC,QAAQ,CACjB,EACD,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IACL,IAAI;SACD,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,2DAA2D,CAAC;SACxE,QAAQ,CAAC,YAAY,EAAE,sCAAsC,CAAC;SAC9D,MAAM,CAAC,eAAe,EAAE,+CAA+C,CAAC;SACxE,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,OAAiC,EAAE,EAAE;QACpE,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,OAAgB,EAAE,IAAyB;IACnE,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,kDAAkD,CAAC;SAC/D,QAAQ,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC7C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC;SAC7B,MAAM,CAAC,WAAW,EAAE,qBAAqB,CAAC;SAC1C,MAAM,CACL,aAAa,EACb,iGAAiG,CAClG;SACA,MAAM,CAAC,KAAK,EAAE,UAA8B,EAAE,OAAO,EAAE,EAAE;QACxD,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,OAAgB,EAAE,IAAyB;IACnE,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CACV,+DAA+D,CAChE;SACA,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;SACxC,MAAM,CACL,mBAAmB,EACnB,kEAAkE,CACnE;SACA,MAAM,CACL,sBAAsB,EACtB,4DAA4D,CAC7D;SACA,MAAM,CACL,KAAK,EAAE,UAA8B,EAAE,OAAyB,EAAE,EAAE;QAClE,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC,CACF,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,SAAS,sBAAsB,CAC7B,OAAgB,EAChB,IAAyB;IAEzB,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,6BAA6B,CAAC;SAC1C,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CACV,0EAA0E,CAC3E;SACA,MAAM,CAAC,OAAO,EAAE,8CAA8C,CAAC;SAC/D,MAAM,CAAC,KAAK,EAAE,OAA0B,EAAE,EAAE;QAC3C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACf,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC1B,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAChC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAChC,wBAAwB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAExC,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CACV,6FAA6F,CAC9F;SACA,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;SACxC,MAAM,CAAC,WAAW,EAAE,0CAA0C,CAAC;SAC/D,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,KAAK,EAAE,UAA8B,EAAE,OAAuB,EAAE,EAAE;QACxE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACrD,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACf,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC1B,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,IAAI,CAAC;SACb,WAAW,CACV,0EAA0E,CAC3E;SACA,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;SACxC,MAAM,CAAC,eAAe,EAAE,mBAAmB,EAAE,MAAM,CAAC;SACpD,MAAM,CAAC,WAAW,EAAE,iCAAiC,CAAC;SACtD,MAAM,CAAC,KAAK,EAAE,UAA8B,EAAE,OAAqB,EAAE,EAAE;QACtE,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEL,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC/B,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAE/B,OAAO;SACJ,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CACV,6FAA6F,CAC9F;SACA,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;SACxC,MAAM,CAAC,SAAS,EAAE,wDAAwD,CAAC;SAC3E,MAAM,CACL,KAAK,EACH,UAA8B,EAC9B,OAA8B,EAC9B,EAAE;QACF,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC,CACF,CAAC;IAEJ,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,aAAa,CAC3B,eAA6C,EAAE;IAE/C,MAAM,IAAI,GAAwB;QAChC,GAAG,oBAAoB;QACvB,GAAG,YAAY;KAChB,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,MAAM,CAAC;SACZ,WAAW,CACV,0FAA0F,CAC3F;SACA,OAAO,CAAC,iBAAiB,EAAE,CAAC;SAC5B,MAAM,CAAC,mBAAmB,EAAE,mCAAmC,CAAC,CAAC;IAEpE,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAElC,0EAA0E;IAC1E,4EAA4E;IAC5E,8EAA8E;IAC9E,0EAA0E;IAC1E,uEAAuE;IACvE,gBAAgB,CACd,OAAO;SACJ,OAAO,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;SACrC,WAAW,CAAC,0DAA0D,CAAC;SACvE,QAAQ,CAAC,eAAe,EAAE,+BAA+B,CAAC,CAC9D,CAAC,MAAM,CAAC,KAAK,EAAE,WAA+B,EAAE,OAAmB,EAAE,EAAE;QACtE,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,gBAAgB,CACd,OAAO;SACJ,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,uDAAuD,CAAC;SACpE,cAAc,CACb,eAAe,EACf,iBAAiB,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAC3C;SACA,QAAQ,CAAC,eAAe,EAAE,8CAA8C,CAAC,CAC7E,CAAC,MAAM,CACN,KAAK,EACH,WAA+B,EAC/B,OAAuC,EACvC,EAAE;QACF,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,OAAO,EAAE;YAC/C,GAAG,kCAAkC;YACrC,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC;IACL,CAAC,CACF,CAAC;IAEF,gBAAgB,CACd,OAAO;SACJ,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CAAC,0DAA0D,CAAC;SACvE,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAC5C,CAAC,MAAM,CAAC,KAAK,EAAE,WAA+B,EAAE,OAAmB,EAAE,EAAE;QACtE,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAEtC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -1,7 +1,29 @@
|
|
|
1
|
+
import type { Command } from "commander";
|
|
1
2
|
/**
|
|
2
3
|
* Run every applicable standards command and publish a current proof.
|
|
3
4
|
* @param projectPath - Optional project path
|
|
4
5
|
* @param cwd - Injectable process working directory
|
|
5
6
|
*/
|
|
6
7
|
export declare function runStandardsProofCli(projectPath: string | undefined, cwd?: string): Promise<void>;
|
|
8
|
+
/**
|
|
9
|
+
* The only dependency this registration needs, structurally.
|
|
10
|
+
*
|
|
11
|
+
* Declared here rather than importing `ProgramDependencies` from the program
|
|
12
|
+
* module, which would import this one back.
|
|
13
|
+
*/
|
|
14
|
+
interface StandardsProofCommandDeps {
|
|
15
|
+
/** Runs every standards command and writes freshness-bound proof. */
|
|
16
|
+
readonly runStandardsProofCli: typeof runStandardsProofCli;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Register the explicit, mutating standards proof command.
|
|
20
|
+
*
|
|
21
|
+
* Lives beside its command rather than in the program module, matching
|
|
22
|
+
* `addGateCommands` — registration is part of the command, and keeping it here
|
|
23
|
+
* is what stops the program file growing without bound.
|
|
24
|
+
* @param program Commander program to mutate.
|
|
25
|
+
* @param deps Program dependencies.
|
|
26
|
+
*/
|
|
27
|
+
export declare function addStandardsProofCommand(program: Command, deps: StandardsProofCommandDeps): void;
|
|
28
|
+
export {};
|
|
7
29
|
//# sourceMappingURL=standards-proof-cmd.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-proof-cmd.d.ts","sourceRoot":"","sources":["../../src/cli/standards-proof-cmd.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"standards-proof-cmd.d.ts","sourceRoot":"","sources":["../../src/cli/standards-proof-cmd.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAMf;AAED;;;;;GAKG;AACH,UAAU,yBAAyB;IACjC,qEAAqE;IACrE,QAAQ,CAAC,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;CAC5D;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,yBAAyB,GAC9B,IAAI,CAUN"}
|
|
@@ -11,4 +11,22 @@ export async function runStandardsProofCli(projectPath, cwd = process.cwd()) {
|
|
|
11
11
|
const proof = await captureStandardsProof(root);
|
|
12
12
|
process.stdout.write(`standards-proof: PASS ${proof.repository.identity}@${proof.repository.head} (${proof.results.length} checks)\n`);
|
|
13
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* Register the explicit, mutating standards proof command.
|
|
16
|
+
*
|
|
17
|
+
* Lives beside its command rather than in the program module, matching
|
|
18
|
+
* `addGateCommands` — registration is part of the command, and keeping it here
|
|
19
|
+
* is what stops the program file growing without bound.
|
|
20
|
+
* @param program Commander program to mutate.
|
|
21
|
+
* @param deps Program dependencies.
|
|
22
|
+
*/
|
|
23
|
+
export function addStandardsProofCommand(program, deps) {
|
|
24
|
+
program
|
|
25
|
+
.command("standards-proof")
|
|
26
|
+
.description("Run all applicable Lisa standards checks and prove the current Git artifact")
|
|
27
|
+
.argument("[path]", "Project path (default: current directory)")
|
|
28
|
+
.action(async (targetPath) => {
|
|
29
|
+
await deps.runStandardsProofCli(targetPath);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
14
32
|
//# sourceMappingURL=standards-proof-cmd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-proof-cmd.js","sourceRoot":"","sources":["../../src/cli/standards-proof-cmd.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"standards-proof-cmd.js","sourceRoot":"","sources":["../../src/cli/standards-proof-cmd.ts"],"names":[],"mappings":"AAEA,oEAAoE;AACpE,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,WAA+B,EAC/B,MAAc,OAAO,CAAC,GAAG,EAAE;IAE3B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,IAAI,GAAG,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAChD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,yBAAyB,KAAK,CAAC,UAAU,CAAC,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM,YAAY,CACjH,CAAC;AACJ,CAAC;AAaD;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAgB,EAChB,IAA+B;IAE/B,OAAO;SACJ,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CACV,6EAA6E,CAC9E;SACA,QAAQ,CAAC,QAAQ,EAAE,2CAA2C,CAAC;SAC/D,MAAM,CAAC,KAAK,EAAE,UAA8B,EAAE,EAAE;QAC/C,MAAM,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI entry point for the workstation bootstrap.
|
|
3
|
+
*
|
|
4
|
+
* `lisa-setup-workstation` exists to prepare a machine that has no coding agent
|
|
5
|
+
* and no checkout. As a skill it could only be reached by typing a slash command
|
|
6
|
+
* into an agent — and Lisa ships as a devDependency, so it does not exist until
|
|
7
|
+
* a repo is cloned and its dependencies installed.
|
|
8
|
+
*
|
|
9
|
+
* Both of those are precisely the state the skill is supposed to CREATE. The
|
|
10
|
+
* bootstrap was unreachable in the one scenario it was designed for.
|
|
11
|
+
*
|
|
12
|
+
* This is the way in that presumes nothing:
|
|
13
|
+
*
|
|
14
|
+
* npx -y `@codyswann/lisa@latest` workstation --install --provider=bitwarden
|
|
15
|
+
*
|
|
16
|
+
* npx resolves the package into its own cache, so no repository is involved and
|
|
17
|
+
* no agent has to exist yet. The skill stays as the surface for people who
|
|
18
|
+
* already have an agent; this is for people who do not.
|
|
19
|
+
* @module cli/workstation-cmd
|
|
20
|
+
*/
|
|
21
|
+
import type { Command } from "commander";
|
|
22
|
+
/**
|
|
23
|
+
* The only dependency this command needs, structurally.
|
|
24
|
+
*
|
|
25
|
+
* Declared here rather than importing `ProgramDependencies` from the program
|
|
26
|
+
* module, which imports this one — a cycle for the sake of a single field.
|
|
27
|
+
*/
|
|
28
|
+
interface WorkstationCommandDeps {
|
|
29
|
+
/** Runs the bootstrap and returns its exit code. */
|
|
30
|
+
readonly runWorkstation: (flags: readonly string[]) => number;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Register `lisa workstation`.
|
|
34
|
+
*
|
|
35
|
+
* Kept out of the program module so registering it does not push that file past
|
|
36
|
+
* its size limits — the same reason `addGateCommands` lives beside its own
|
|
37
|
+
* command rather than in the middle of the program.
|
|
38
|
+
* @param program Commander program to mutate.
|
|
39
|
+
* @param deps Program dependencies.
|
|
40
|
+
*/
|
|
41
|
+
export declare function addWorkstationCommand(program: Command, deps?: WorkstationCommandDeps): void;
|
|
42
|
+
/**
|
|
43
|
+
* Everything the operator typed after the subcommand name.
|
|
44
|
+
*
|
|
45
|
+
* Taken from argv because the flags are the bootstrap script's vocabulary, not
|
|
46
|
+
* commander's, and forwarding them verbatim is what keeps the CLI and the skill
|
|
47
|
+
* from drifting into two dialects.
|
|
48
|
+
*
|
|
49
|
+
* Searched from index 2 so a project path that happens to be named
|
|
50
|
+
* `workstation` cannot be mistaken for the subcommand.
|
|
51
|
+
* @param argv Full process argv.
|
|
52
|
+
* @param name Subcommand name.
|
|
53
|
+
* @returns Forwarded flags, empty when the subcommand is absent.
|
|
54
|
+
*/
|
|
55
|
+
export declare function flagsAfterCommand(argv: readonly string[], name?: string): string[];
|
|
56
|
+
/** Injectable seams so the command is testable without provisioning anything. */
|
|
57
|
+
export interface WorkstationDeps {
|
|
58
|
+
/** Resolve the installed package root. */
|
|
59
|
+
readonly installPath?: () => string;
|
|
60
|
+
/** Run the script. */
|
|
61
|
+
readonly run?: (command: string, args: string[]) => {
|
|
62
|
+
status: number | null;
|
|
63
|
+
};
|
|
64
|
+
/** Report a problem. */
|
|
65
|
+
readonly error?: (message: string) => void;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Locate the bootstrap script inside the installed package.
|
|
69
|
+
*
|
|
70
|
+
* Resolved from the MODULE's own location rather than the working directory:
|
|
71
|
+
* under npx the cwd is wherever the operator happens to be standing, and is
|
|
72
|
+
* frequently not a project at all — which is the entire point of this command.
|
|
73
|
+
* @param installPath Package root.
|
|
74
|
+
* @returns Absolute path to the script.
|
|
75
|
+
* @throws {Error} When the package is incomplete.
|
|
76
|
+
*/
|
|
77
|
+
export declare function resolveWorkstationScript(installPath?: string): string;
|
|
78
|
+
/**
|
|
79
|
+
* Run the workstation bootstrap, passing every flag through untouched.
|
|
80
|
+
*
|
|
81
|
+
* Flags are forwarded rather than re-declared. Restating `--install`,
|
|
82
|
+
* `--agents`, `--provider` and the rest here would give the CLI and the skill
|
|
83
|
+
* two vocabularies to keep in step, and the one nobody runs is the one that
|
|
84
|
+
* drifts.
|
|
85
|
+
* @param flags Arguments for the script.
|
|
86
|
+
* @param deps Injected seams.
|
|
87
|
+
* @returns Process exit code.
|
|
88
|
+
*/
|
|
89
|
+
export declare function runWorkstation(flags?: readonly string[], deps?: WorkstationDeps): number;
|
|
90
|
+
export {};
|
|
91
|
+
//# sourceMappingURL=workstation-cmd.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workstation-cmd.d.ts","sourceRoot":"","sources":["../../src/cli/workstation-cmd.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAMH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC;;;;;GAKG;AACH,UAAU,sBAAsB;IAC9B,oDAAoD;IACpD,QAAQ,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,KAAK,MAAM,CAAC;CAC/D;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,OAAO,EAChB,IAAI,GAAE,sBAA2C,GAChD,IAAI,CAuBN;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,IAAI,SAAgB,GACnB,MAAM,EAAE,CAGV;AAaD,iFAAiF;AACjF,MAAM,WAAW,eAAe;IAC9B,0CAA0C;IAC1C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,MAAM,CAAC;IACpC,sBAAsB;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK;QAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAC9E,wBAAwB;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,GAAE,MAA4B,GACxC,MAAM,CAUR;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAC5B,KAAK,GAAE,SAAS,MAAM,EAAO,EAC7B,IAAI,GAAE,eAAoB,GACzB,MAAM,CA2BR"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI entry point for the workstation bootstrap.
|
|
3
|
+
*
|
|
4
|
+
* `lisa-setup-workstation` exists to prepare a machine that has no coding agent
|
|
5
|
+
* and no checkout. As a skill it could only be reached by typing a slash command
|
|
6
|
+
* into an agent — and Lisa ships as a devDependency, so it does not exist until
|
|
7
|
+
* a repo is cloned and its dependencies installed.
|
|
8
|
+
*
|
|
9
|
+
* Both of those are precisely the state the skill is supposed to CREATE. The
|
|
10
|
+
* bootstrap was unreachable in the one scenario it was designed for.
|
|
11
|
+
*
|
|
12
|
+
* This is the way in that presumes nothing:
|
|
13
|
+
*
|
|
14
|
+
* npx -y `@codyswann/lisa@latest` workstation --install --provider=bitwarden
|
|
15
|
+
*
|
|
16
|
+
* npx resolves the package into its own cache, so no repository is involved and
|
|
17
|
+
* no agent has to exist yet. The skill stays as the surface for people who
|
|
18
|
+
* already have an agent; this is for people who do not.
|
|
19
|
+
* @module cli/workstation-cmd
|
|
20
|
+
*/
|
|
21
|
+
import { spawnSync } from "node:child_process";
|
|
22
|
+
import { existsSync } from "node:fs";
|
|
23
|
+
import path from "node:path";
|
|
24
|
+
import { getCliInstallPath } from "./version-cmd.js";
|
|
25
|
+
/**
|
|
26
|
+
* Register `lisa workstation`.
|
|
27
|
+
*
|
|
28
|
+
* Kept out of the program module so registering it does not push that file past
|
|
29
|
+
* its size limits — the same reason `addGateCommands` lives beside its own
|
|
30
|
+
* command rather than in the middle of the program.
|
|
31
|
+
* @param program Commander program to mutate.
|
|
32
|
+
* @param deps Program dependencies.
|
|
33
|
+
*/
|
|
34
|
+
export function addWorkstationCommand(program, deps = { runWorkstation }) {
|
|
35
|
+
program
|
|
36
|
+
.command("workstation")
|
|
37
|
+
.description("Prepare this machine to run coding agents — before any repo exists. " +
|
|
38
|
+
"Detects installed agents, asks which credential manager to use, and " +
|
|
39
|
+
"installs what is missing. Needs no checkout and no agent: run it with " +
|
|
40
|
+
"'npx -y @codyswann/lisa@latest workstation --install'.")
|
|
41
|
+
// Flags belong to the bootstrap script, not to commander. Re-declaring them
|
|
42
|
+
// here would give the CLI and the skill two vocabularies to keep in step.
|
|
43
|
+
//
|
|
44
|
+
// Read straight off argv rather than via passThroughOptions, which
|
|
45
|
+
// commander only permits once the PARENT enables positional options — a
|
|
46
|
+
// global parsing change affecting every other command, to serve one.
|
|
47
|
+
.allowUnknownOption(true)
|
|
48
|
+
.argument("[flags...]", "flags forwarded to the bootstrap")
|
|
49
|
+
.action(() => {
|
|
50
|
+
const code = deps.runWorkstation(flagsAfterCommand(process.argv));
|
|
51
|
+
if (code !== 0) {
|
|
52
|
+
process.exitCode = code;
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Everything the operator typed after the subcommand name.
|
|
58
|
+
*
|
|
59
|
+
* Taken from argv because the flags are the bootstrap script's vocabulary, not
|
|
60
|
+
* commander's, and forwarding them verbatim is what keeps the CLI and the skill
|
|
61
|
+
* from drifting into two dialects.
|
|
62
|
+
*
|
|
63
|
+
* Searched from index 2 so a project path that happens to be named
|
|
64
|
+
* `workstation` cannot be mistaken for the subcommand.
|
|
65
|
+
* @param argv Full process argv.
|
|
66
|
+
* @param name Subcommand name.
|
|
67
|
+
* @returns Forwarded flags, empty when the subcommand is absent.
|
|
68
|
+
*/
|
|
69
|
+
export function flagsAfterCommand(argv, name = "workstation") {
|
|
70
|
+
const at = argv.indexOf(name, 2);
|
|
71
|
+
return at === -1 ? [] : argv.slice(at + 1);
|
|
72
|
+
}
|
|
73
|
+
/** Where the bootstrap script sits inside the published package. */
|
|
74
|
+
const SCRIPT_RELATIVE = path.join("plugins", "src", "base", "skills", "lisa-setup-workstation", "scripts", "cli.mjs");
|
|
75
|
+
/**
|
|
76
|
+
* Locate the bootstrap script inside the installed package.
|
|
77
|
+
*
|
|
78
|
+
* Resolved from the MODULE's own location rather than the working directory:
|
|
79
|
+
* under npx the cwd is wherever the operator happens to be standing, and is
|
|
80
|
+
* frequently not a project at all — which is the entire point of this command.
|
|
81
|
+
* @param installPath Package root.
|
|
82
|
+
* @returns Absolute path to the script.
|
|
83
|
+
* @throws {Error} When the package is incomplete.
|
|
84
|
+
*/
|
|
85
|
+
export function resolveWorkstationScript(installPath = getCliInstallPath()) {
|
|
86
|
+
const script = path.join(installPath, SCRIPT_RELATIVE);
|
|
87
|
+
if (!existsSync(script)) {
|
|
88
|
+
throw new Error(`cannot find the workstation script at ${script}.\n` +
|
|
89
|
+
`This means the installed Lisa package is incomplete — reinstall, or ` +
|
|
90
|
+
`run a newer version with 'npx -y @codyswann/lisa@latest workstation'.`);
|
|
91
|
+
}
|
|
92
|
+
return script;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Run the workstation bootstrap, passing every flag through untouched.
|
|
96
|
+
*
|
|
97
|
+
* Flags are forwarded rather than re-declared. Restating `--install`,
|
|
98
|
+
* `--agents`, `--provider` and the rest here would give the CLI and the skill
|
|
99
|
+
* two vocabularies to keep in step, and the one nobody runs is the one that
|
|
100
|
+
* drifts.
|
|
101
|
+
* @param flags Arguments for the script.
|
|
102
|
+
* @param deps Injected seams.
|
|
103
|
+
* @returns Process exit code.
|
|
104
|
+
*/
|
|
105
|
+
export function runWorkstation(flags = [], deps = {}) {
|
|
106
|
+
const report = deps.error ?? ((message) => process.stderr.write(message));
|
|
107
|
+
const located = (() => {
|
|
108
|
+
try {
|
|
109
|
+
return resolveWorkstationScript((deps.installPath ?? getCliInstallPath)());
|
|
110
|
+
}
|
|
111
|
+
catch (error) {
|
|
112
|
+
report(`${error.message}\n`);
|
|
113
|
+
return null;
|
|
114
|
+
}
|
|
115
|
+
})();
|
|
116
|
+
if (located === null)
|
|
117
|
+
return 1;
|
|
118
|
+
const run = deps.run ??
|
|
119
|
+
((command, args) => spawnSync(command, args, { stdio: "inherit" }));
|
|
120
|
+
// Spawned rather than imported: the script is plain ESM with no build step,
|
|
121
|
+
// and running it as its own process keeps the interactive prompt attached to
|
|
122
|
+
// the real terminal — a credential-manager question read through a bundler's
|
|
123
|
+
// stdio is how a bootstrap ends up hanging with nothing on screen.
|
|
124
|
+
const result = run(process.execPath, [located, ...flags]);
|
|
125
|
+
return result.status ?? 1;
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=workstation-cmd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workstation-cmd.js","sourceRoot":"","sources":["../../src/cli/workstation-cmd.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upstream-evidence-manifest.d.ts","sourceRoot":"","sources":["../../src/core/upstream-evidence-manifest.ts"],"names":[],"mappings":"AACA,iFAAiF;AACjF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA0pEpE,CAAC;AAEL,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"upstream-evidence-manifest.d.ts","sourceRoot":"","sources":["../../src/core/upstream-evidence-manifest.ts"],"names":[],"mappings":"AACA,iFAAiF;AACjF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA0pEpE,CAAC;AAEL,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAyqNjE,CAAC;AAEL,sFAAsF;AACtF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAk6I/D,CAAC"}
|
|
@@ -285,7 +285,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
|
|
|
285
285
|
"plugins/src/base/commands/setup/notion.md": "2d705679db0dbb6c77728592a020430a529af9d0ef24ac7c434969d590d9f5a6",
|
|
286
286
|
"plugins/src/base/commands/setup/remote-env.md": "b1e8ec93bc660cc5ccf9e4c74a3a7bb6c94d5ff06c75f150479991fa1d564f2d",
|
|
287
287
|
"plugins/src/base/commands/setup/sonar.md": "1d2e94fd9f21988ce6d4be2ce4268b8c0bb020eb7cd7baf8ca65def7d8a4f5bc",
|
|
288
|
-
"plugins/src/base/commands/setup/workstation.md": "
|
|
288
|
+
"plugins/src/base/commands/setup/workstation.md": "57ea736ded92d97c6914dde5354f631532cca46ddefc9bd9cdf89edd6d08dd9f",
|
|
289
289
|
"plugins/src/base/commands/sync-down.md": "4e974cb9745a4fd680f4a55f859d31fa8cf3cb28afa739b40a2e1a99de31e034",
|
|
290
290
|
"plugins/src/base/commands/tear-down-automations.md": "969f28850326f0ceab5c09763266c60265951db30e88c738d2425ff82f088aac",
|
|
291
291
|
"plugins/src/base/commands/track.md": "ae655031c3698f9bf449c4b9d8654cfab2586ca82164a710ae3f66be37c831fb",
|
|
@@ -582,7 +582,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
|
|
|
582
582
|
"plugins/src/base/skills/lisa-setup-remote-env/scripts/toolchain.mjs": "cb98159f9432ce0c4f93a8b5386c61fc1b7d3a299bbb041d6bd005b790291277",
|
|
583
583
|
"plugins/src/base/skills/lisa-setup-remote-env/scripts/verify-remote-env.mjs": "82bc2a27a0a5afb2ff413a88365c619fd7f0eaada5de3ccabf2000938f0607a4",
|
|
584
584
|
"plugins/src/base/skills/lisa-setup-sonar/SKILL.md": "53fbd8acce4b5e47e88195a7b90d5be424fa6ef7ad872f52c50467c690664c3b",
|
|
585
|
-
"plugins/src/base/skills/lisa-setup-workstation/SKILL.md": "
|
|
585
|
+
"plugins/src/base/skills/lisa-setup-workstation/SKILL.md": "4bc4413bbe381ab97e2aa10eaeda574f8113f69e6eb5f5a6e625c04f1dff1ad5",
|
|
586
586
|
"plugins/src/base/skills/lisa-setup-workstation/scripts/catalogue.mjs": "3fa13e7e2885aa5f3b4efdd12fc87958494a57d8bfeb81ab8489558592780b90",
|
|
587
587
|
"plugins/src/base/skills/lisa-setup-workstation/scripts/cli.mjs": "cb64e501a6e8bf0b12fd865aa0be3407f54c5a08537a36dc71d2ead4764f5da0",
|
|
588
588
|
"plugins/src/base/skills/lisa-setup-workstation/scripts/workstation.mjs": "8f9d066bb4c60095831c9549af89f9a8d49cc2bcadf37189982d276ad9270759",
|
|
@@ -6780,6 +6780,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
|
|
|
6780
6780
|
"src/cli/update-cmd.ts": true,
|
|
6781
6781
|
"src/cli/version-cmd.ts": true,
|
|
6782
6782
|
"src/cli/version.ts": true,
|
|
6783
|
+
"src/cli/workstation-cmd.ts": true,
|
|
6783
6784
|
"src/codex/agent-installer.ts": true,
|
|
6784
6785
|
"src/codex/agent-transformer.ts": true,
|
|
6785
6786
|
"src/codex/agents-md-installer.ts": true,
|
|
@@ -7171,6 +7172,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
|
|
|
7171
7172
|
"tests/unit/cli/update-check.test.ts": true,
|
|
7172
7173
|
"tests/unit/cli/update-cmd.test.ts": true,
|
|
7173
7174
|
"tests/unit/cli/version-cmd.test.ts": true,
|
|
7175
|
+
"tests/unit/cli/workstation-cmd.test.ts": true,
|
|
7174
7176
|
"tests/unit/codex/agent-installer.test.ts": true,
|
|
7175
7177
|
"tests/unit/codex/agent-transformer.test.ts": true,
|
|
7176
7178
|
"tests/unit/codex/agents-md-installer.test.ts": true,
|