@yemi33/minions 0.1.2435 → 0.1.2436

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.
@@ -29,6 +29,26 @@ function getRepoHost(project) {
29
29
  return project?.repoHost || 'ado';
30
30
  }
31
31
 
32
+ // W-ms4xyx4z — Minions attribution for generated PR descriptions.
33
+ //
34
+ // Every PR a Minions agent authors must say so in its description, with the
35
+ // visible link text exactly `Minions` pointing at the canonical brand URL. The
36
+ // guidance is host-NEUTRAL by construction: one fragment, reused verbatim by
37
+ // both the GitHub and ADO branches of getPrCreateInstructions and exposed to
38
+ // playbooks that author PRs outside that seam (verify.md's aggregate/E2E PR) as
39
+ // {{pr_attribution_instructions}}. Keeping it single-sourced is what stops the
40
+ // wording — and the link — from drifting per platform.
41
+ const PR_ATTRIBUTION_INSTRUCTION =
42
+ `- Attribution (MANDATORY): the PR description must record that the PR was authored with Minions. ` +
43
+ `Include this line verbatim, on its own line at the end of the description body:\n` +
44
+ ` \`Authored with [Minions](${MINIONS_BRAND_URL}).\`\n` +
45
+ ` The visible link text must be exactly \`Minions\`. Attribute only PRs you author — never edit a ` +
46
+ `human-authored or externally linked PR's description just to add this line.`;
47
+
48
+ function getPrAttributionInstruction() {
49
+ return PR_ATTRIBUTION_INSTRUCTION;
50
+ }
51
+
32
52
  function getPrCreateInstructions(project, config) {
33
53
  const host = getRepoHost(project);
34
54
  const repoId = project?.repositoryId || '';
@@ -50,7 +70,8 @@ function getPrCreateInstructions(project, config) {
50
70
  `- Use --head to specify your feature branch name\n` +
51
71
  (createPrsAsDraft ? `- Open the PR as a DRAFT: include the \`--draft\` flag exactly as shown above (the operator has "Create PRs as draft" enabled)\n` : '') +
52
72
  `- Include a meaningful --title and body file describing the changes\n` +
53
- `- If this PR contains a meaningful VISUAL/UI change (dashboard pages, slim-ux, Settings, work-item/PR/plan views, badges, layout/CSS), proactively capture + EMBED screenshots in the body — BEFORE/AFTER for fixes, AFTER-only for new UI. Publish PNGs as assets on a per-PR prerelease (\`gh release create pr-<num>-visual … --prerelease\`, or \`gh release upload … --clobber\` on re-dispatch) with a per-command \`GH_TOKEN\` for the ${org} account (NEVER \`gh auth switch\`), resolve each \`browser_download_url\`, and reference it as \`![view (after)](url)\`. Never \`git add\` a PNG; skip + record on failure. Full recipe: the "Screenshot handling" section of the PR description audit.`;
73
+ `- If this PR contains a meaningful VISUAL/UI change (dashboard pages, slim-ux, Settings, work-item/PR/plan views, badges, layout/CSS), proactively capture + EMBED screenshots in the body — BEFORE/AFTER for fixes, AFTER-only for new UI. Publish PNGs as assets on a per-PR prerelease (\`gh release create pr-<num>-visual … --prerelease\`, or \`gh release upload … --clobber\` on re-dispatch) with a per-command \`GH_TOKEN\` for the ${org} account (NEVER \`gh auth switch\`), resolve each \`browser_download_url\`, and reference it as \`![view (after)](url)\`. Never \`git add\` a PNG; skip + record on failure. Full recipe: the "Screenshot handling" section of the PR description audit.\n` +
74
+ PR_ATTRIBUTION_INSTRUCTION;
54
75
  }
55
76
  // Default: Azure DevOps — prefer `az` CLI first, ADO REST API as fallback
56
77
  const adoOrg = project?.adoOrg || '';
@@ -65,6 +86,7 @@ function getPrCreateInstructions(project, config) {
65
86
  `- Always set --target-branch to \`${mainBranch}\` (the main branch)\n` +
66
87
  (createPrsAsDraft ? `- Open the PR as a DRAFT: include \`--draft true\` exactly as shown above (the operator has "Create PRs as draft" enabled). For the REST API fallback, set \`"isDraft": true\` in the request body\n` : '') +
67
88
  `- If this PR contains a meaningful VISUAL/UI change (dashboard pages, slim-ux, Settings, work-item/PR/plan views, badges, layout/CSS), proactively capture + EMBED screenshots in the description — BEFORE/AFTER for fixes, AFTER-only for new UI. Upload via \`PUT .../pullRequests/<id>/attachments/<filename>\` with the PNG bytes and reference the returned URL. Save PNGs under \`agents/<id>/screenshots/\` only; never \`git add\` a PNG; skip + record on failure. Full recipe: the "Screenshot handling" section of the PR description audit\n` +
89
+ PR_ATTRIBUTION_INSTRUCTION + `\n` +
68
90
  `\n` +
69
91
  `If \`az\` is unavailable, fall back to the ADO REST API: get a token with \`az account get-access-token --resource 499b84ac-1321-427f-aa17-267ca6975798 --query accessToken -o tsv\` and \`POST .../_apis/git/repositories/${repoId}/pullrequests?api-version=7.1\` (Bearer auth). Do not use \`gh\` for Azure DevOps repositories.`;
70
92
  }
@@ -1152,6 +1174,7 @@ function renderPlaybook(type, vars) {
1152
1174
  ado_shared_rules: repoHost === 'ado' ? '1' : '',
1153
1175
  github_shared_rules: repoHost === 'github' ? '1' : '',
1154
1176
  pr_create_instructions: getPrCreateInstructions(renderProject, config),
1177
+ pr_attribution_instructions: getPrAttributionInstruction(),
1155
1178
  pr_comment_instructions: getPrCommentInstructions(renderProject),
1156
1179
  pr_fetch_instructions: getPrFetchInstructions(renderProject),
1157
1180
  pr_vote_instructions: getPrVoteInstructions(renderProject, config),
@@ -1516,6 +1539,7 @@ module.exports = {
1516
1539
  getRepoHostLabel,
1517
1540
  getRepoHostToolRule,
1518
1541
  getPrCreateInstructions,
1542
+ getPrAttributionInstruction,
1519
1543
  getPrCommentInstructions,
1520
1544
  getPrFetchInstructions,
1521
1545
  getPrVoteInstructions,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.2435",
3
+ "version": "0.1.2436",
4
4
  "description": "Multi-agent AI dev team that runs from ~/.minions/ — five autonomous agents share a single engine, dashboard, and knowledge base",
5
5
  "bin": {
6
6
  "minions": "bin/minions.js"
@@ -53,6 +53,8 @@ Use the template at `{{team_root}}/playbooks/templates/verify-guide.md` and clea
53
53
 
54
54
  For each project with aggregate verification changes, create or update one draft/review PR that combines the plan branches into a single reviewable diff. Reuse an existing `e2e/{{plan_slug}}` branch/PR when present. Include the plan summary, merged PRs, testing guide, and build/test status. Do not auto-complete or merge these PRs.
55
55
 
56
+ {{pr_attribution_instructions}}
57
+
56
58
  Include each E2E PR in the structured completion report so the engine enrolls it in the project PR store. If manual enrollment is needed, use `POST /api/pull-requests/link`; never edit runtime state directly.
57
59
 
58
60
  ## Cross-PR Compatibility Audit