@mstar-harness/cli 0.5.0 → 0.5.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.
@@ -4585,13 +4585,35 @@ var codexAdapter = {
4585
4585
  import fs4 from "node:fs";
4586
4586
  import os3 from "node:os";
4587
4587
  import path5 from "node:path";
4588
- var CURSOR_PLUGIN_NAME = "mstar-harness";
4588
+ var CURSOR_PLUGIN_NAME = "morning-star-harness";
4589
4589
  var CURSOR_PLUGIN_MARKER = ".cursor-plugin/plugin.json";
4590
+ var CURSOR_PLUGIN_LINK = ".cursor/plugins/morning-star-harness";
4591
+ var CURSOR_AGENT_SMOKE_NAMES = ["fullstack-dev", "qc-specialist"];
4590
4592
  function globalInstallPath() {
4591
4593
  return path5.join(os3.homedir(), ".cursor", "plugins", "local", CURSOR_PLUGIN_NAME);
4592
4594
  }
4593
4595
  function projectInstallPath() {
4594
- return path5.join(resolveProjectRoot(), ".cursor", "plugins", CURSOR_PLUGIN_NAME);
4596
+ return path5.join(resolveProjectRoot(), CURSOR_PLUGIN_LINK);
4597
+ }
4598
+ function validatePluginAgents() {
4599
+ const errors2 = [];
4600
+ const agentsDir = path5.join(HARNESS_REPO_PATH, "agents");
4601
+ if (!fs4.existsSync(agentsDir)) {
4602
+ errors2.push(`Missing plugin agents directory: ${agentsDir}`);
4603
+ return errors2;
4604
+ }
4605
+ for (const agentName of CURSOR_AGENT_SMOKE_NAMES) {
4606
+ const agentPath = path5.join(agentsDir, `${agentName}.md`);
4607
+ if (!fs4.existsSync(agentPath)) {
4608
+ errors2.push(`Missing plugin agent file: ${agentPath}`);
4609
+ continue;
4610
+ }
4611
+ const content = fs4.readFileSync(agentPath, "utf8");
4612
+ if (!/^---\nname:\s/m.test(content)) {
4613
+ errors2.push(`Plugin agent ${agentName}.md must use Cursor-first frontmatter (name, description, model before OpenCode fields).`);
4614
+ }
4615
+ }
4616
+ return errors2;
4595
4617
  }
4596
4618
  function globalInit(dryRun) {
4597
4619
  const location = globalInstallPath();
@@ -4604,7 +4626,7 @@ function projectInit(dryRun) {
4604
4626
  const location = projectInstallPath();
4605
4627
  const notes = ensureLocalHarnessRepo(dryRun);
4606
4628
  notes.push(ensureSymlink(HARNESS_REPO_PATH, location, dryRun));
4607
- notes.push(...appendGitignore(projectRoot, [".cursor/plugins/mstar-harness"], dryRun));
4629
+ notes.push(...appendGitignore(projectRoot, [CURSOR_PLUGIN_LINK], dryRun));
4608
4630
  return { location, notes };
4609
4631
  }
4610
4632
  function globalDoctor() {
@@ -4615,6 +4637,7 @@ function globalDoctor() {
4615
4637
  if (!fs4.existsSync(marker)) {
4616
4638
  errors2.push(`Missing Cursor plugin marker file: ${marker}`);
4617
4639
  }
4640
+ errors2.push(...validatePluginAgents());
4618
4641
  return { location, errors: errors2 };
4619
4642
  }
4620
4643
  function projectDoctor() {
@@ -4628,9 +4651,10 @@ function projectDoctor() {
4628
4651
  }
4629
4652
  const gitignorePath = path5.join(projectRoot, ".gitignore");
4630
4653
  const gitignore = fs4.existsSync(gitignorePath) ? fs4.readFileSync(gitignorePath, "utf8") : "";
4631
- if (!gitignore.split(/\r?\n/).includes(".cursor/plugins/mstar-harness")) {
4632
- errors2.push("Missing .gitignore entry: .cursor/plugins/mstar-harness");
4654
+ if (!gitignore.split(/\r?\n/).includes(CURSOR_PLUGIN_LINK)) {
4655
+ errors2.push(`Missing .gitignore entry: ${CURSOR_PLUGIN_LINK}`);
4633
4656
  }
4657
+ errors2.push(...validatePluginAgents());
4634
4658
  return { location, errors: errors2 };
4635
4659
  }
4636
4660
  var cursorAdapter = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mstar-harness/cli",
3
- "version": "0.5.0",
3
+ "version": "0.5.1",
4
4
  "description": "Morning Star harness installer CLI (OpenCode, Cursor, Codex).",
5
5
  "license": "MIT",
6
6
  "repository": {