@passioncode-ai/passioncode 0.2.56 → 0.2.57

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 CHANGED
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.2.57 - 2026-11-03
4
+
5
+ ### Fixed
6
+
7
+ - A terminal `setup` that declined every offer (PC-91) exits by its checks, 1 when a check still
8
+ fails, whether or not it named a release train (PC-93). Before, naming a train other than the
9
+ saved one made it exit 0 as a plan does, and otherwise it exited by its checks, though in both
10
+ the person changed nothing. A run that only returns a plan (`--dry-run`, or no terminal and no
11
+ `--yes` when it would change something) still exits 0.
12
+
3
13
  ## 0.2.56 - 2026-11-03
4
14
 
5
15
  ### Fixed
@@ -93,7 +93,7 @@ async function setupOrDoctor(cmd, rest) {
93
93
  noOpen: o.flags.has('--no-open'), dryRun: o.flags.has('--dry-run'), repairOnly, online, ask: json ? null : asker(), log, train: o.train,
94
94
  });
95
95
  process.stdout.write(json ? JSON.stringify(r, null, 2) + '\n' : S.render(r, { repairOnly }) + '\n');
96
- return r.planOnly ? 0 : r.ok ? 0 : 1;
96
+ return S.exitCode(r);
97
97
  }
98
98
 
99
99
  async function main(argv) {
package/lib/setup.js CHANGED
@@ -283,6 +283,11 @@ function finish(result, home, checks) {
283
283
  return result;
284
284
  }
285
285
 
286
+ // The exit code of a setup or doctor --fix run. A plan exits 0 (nothing was agreed, nothing ran);
287
+ // a declined run (PC-91) is not a plan but the person's answer, so it exits by its checks like any
288
+ // run that changed nothing (PC-93): 1 when a check still fails, with or without a named train.
289
+ const exitCode = (r) => (r.planOnly && !r.declined ? 0 : r.ok ? 0 : 1);
290
+
286
291
  const DECLINED = 'You declined every offer; nothing was changed. The checks below still stand.';
287
292
  const notTaken = (names) => `Nothing was changed: ${names.join(' and ')} ${names.length > 1 ? 'were' : 'was'} offered and not installed. The checks below still stand.`;
288
293
 
@@ -331,4 +336,4 @@ function render(result, { repairOnly = false } = {}) {
331
336
  return lines.join('\n');
332
337
  }
333
338
 
334
- module.exports = { setup, plan, render };
339
+ module.exports = { setup, plan, render, exitCode };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@passioncode-ai/passioncode",
3
- "version": "0.2.56",
3
+ "version": "0.2.57",
4
4
  "description": "Set up PassionCode.ai on a computer with one command: the apps from their verified releases, their MCP servers for every coding agent and the PassionCode.ai skills. Check and repair it with the same command or `doctor`.",
5
5
  "bin": {
6
6
  "passioncode": "bin/passioncode.js"
@@ -35,7 +35,7 @@
35
35
  "name": "passioncode",
36
36
  "displayName": "PassionCode.ai",
37
37
  "source": "./plugins/passioncode",
38
- "version": "0.2.56",
38
+ "version": "0.2.57",
39
39
  "description": "Set up and check PassionCode.ai on a computer with one command (setting-up-passioncode), the organisation's working rules for every contributor's agent (working-in-passioncode), and a once-a-day check that keeps the PassionCode.ai set current.",
40
40
  "author": {
41
41
  "name": "PassionCode.ai",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "family": "passioncode",
3
- "version": "0.2.56",
3
+ "version": "0.2.57",
4
4
  "release": true,
5
5
  "members": [
6
6
  {
@@ -62,9 +62,9 @@
62
62
  "name": "passioncode",
63
63
  "displayName": "PassionCode.ai",
64
64
  "repo": "passioncode-ai/passioncode",
65
- "ref": "v0.2.56",
65
+ "ref": "v0.2.57",
66
66
  "commit": null,
67
- "version": "0.2.56",
67
+ "version": "0.2.57",
68
68
  "via": "this repository",
69
69
  "skills": [
70
70
  "setting-up-passioncode",
@@ -72,7 +72,7 @@
72
72
  ],
73
73
  "legacyPluginIds": [],
74
74
  "legacyMarketplaces": [],
75
- "contentHash": "sha256:74cc82e781ba9b34e48e223ad2cb87c0e2d512d486cf1a204fbf08a2a95571cc",
75
+ "contentHash": "sha256:30c81a7b07a8f7a83e2f700ac4a3ced780dd08b530c03e114b0b09fd796a5fbb",
76
76
  "description": "Set up and check PassionCode.ai on a computer with one command (setting-up-passioncode), the organisation's working rules for every contributor's agent (working-in-passioncode), and a once-a-day check that keeps the PassionCode.ai set current.",
77
77
  "author": {
78
78
  "name": "PassionCode.ai",
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json",
3
3
  "name": "passioncode",
4
4
  "displayName": "PassionCode.ai",
5
- "version": "0.2.56",
5
+ "version": "0.2.57",
6
6
  "description": "Set up and check PassionCode.ai on a computer with one command (setting-up-passioncode), the organisation's working rules for every contributor's agent (working-in-passioncode), and a once-a-day check at session start that keeps the PassionCode.ai skill set current.",
7
7
  "author": {
8
8
  "name": "PassionCode.ai",