gentle-pi 0.1.16 → 0.1.17

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gentle-pi",
3
- "version": "0.1.16",
3
+ "version": "0.1.17",
4
4
  "description": "Turn Pi into el Gentleman: a senior-architect development harness with SDD/OpenSpec, subagents, strict TDD evidence, review guardrails, and skill discovery.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -27,8 +27,13 @@
27
27
  "extensions/",
28
28
  "prompts/",
29
29
  "skills/",
30
+ "scripts/",
30
31
  "README.md"
31
32
  ],
33
+ "scripts": {
34
+ "prepack": "node scripts/verify-package-files.mjs",
35
+ "prepublishOnly": "node scripts/verify-package-files.mjs"
36
+ },
32
37
  "pi": {
33
38
  "image": "https://cdn.jsdelivr.net/npm/gentle-pi/assets/gentle-logo-only.png",
34
39
  "extensions": [
@@ -0,0 +1,37 @@
1
+ #!/usr/bin/env node
2
+ import { existsSync, statSync } from "node:fs";
3
+ import { join } from "node:path";
4
+ import { fileURLToPath } from "node:url";
5
+
6
+ const root = join(fileURLToPath(new URL("..", import.meta.url)));
7
+
8
+ const requiredPaths = [
9
+ "assets/agents/sdd-init.md",
10
+ "assets/chains/sdd-plan.chain.md",
11
+ "assets/support/strict-tdd.md",
12
+ "extensions/gentle-ai.ts",
13
+ "extensions/sdd-init.ts",
14
+ "extensions/skill-registry.ts",
15
+ "prompts/gcl.md",
16
+ "prompts/gis.md",
17
+ "prompts/gpr.md",
18
+ "prompts/gwr.md",
19
+ "skills/gentle-ai/SKILL.md",
20
+ "skills/work-unit-commits/SKILL.md",
21
+ ];
22
+
23
+ const missing = requiredPaths.filter((relativePath) => {
24
+ const absolutePath = join(root, relativePath);
25
+ return !existsSync(absolutePath) || !statSync(absolutePath).isFile();
26
+ });
27
+
28
+ if (missing.length > 0) {
29
+ console.error("gentle-pi package is missing required Pi resources:");
30
+ for (const relativePath of missing) {
31
+ console.error(`- ${relativePath}`);
32
+ }
33
+ console.error("\nRefusing to pack/publish an incomplete npm package.");
34
+ process.exit(1);
35
+ }
36
+
37
+ console.log(`gentle-pi package resource check passed (${requiredPaths.length} files).`);