release-skill 0.2.0 → 0.2.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.
Files changed (45) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/.codebuddy-plugin/plugin.json +10 -0
  4. package/.codex-plugin/plugin.json +2 -2
  5. package/.kimi-plugin/plugin.json +1 -1
  6. package/CHANGELOG.md +14 -0
  7. package/INSTALL.md +24 -4
  8. package/INSTALL.zh-CN.md +22 -4
  9. package/README.md +15 -13
  10. package/README.zh-CN.md +10 -13
  11. package/adapters/claude/.claude-plugin/marketplace.json +1 -1
  12. package/adapters/claude/.claude-plugin/plugin.json +1 -1
  13. package/adapters/claude/bin/release-skill.bundle.mjs +1 -1
  14. package/adapters/codex/.codex-plugin/plugin.json +2 -2
  15. package/adapters/codex/bin/release-skill.bundle.mjs +1 -1
  16. package/adapters/kimi/.kimi-plugin/plugin.json +1 -1
  17. package/adapters/kimi/bin/release-skill.bundle.mjs +1 -1
  18. package/adapters/workbuddy/.codebuddy-plugin/plugin.json +10 -0
  19. package/adapters/workbuddy/bin/release-skill.bundle.mjs +85363 -0
  20. package/adapters/workbuddy/bin/release-skill.mjs +54 -0
  21. package/adapters/workbuddy/native/safe-write/binding.gyp +41 -0
  22. package/adapters/workbuddy/native/safe-write/prebuilds/darwin-arm64/safe_write.node +0 -0
  23. package/adapters/workbuddy/native/safe-write/prebuilds.json +24 -0
  24. package/adapters/workbuddy/native/safe-write/src/safe_write.cc +2032 -0
  25. package/adapters/workbuddy/schemas/.render-manifest.json +37 -0
  26. package/adapters/workbuddy/schemas/approval-record.schema.json +115 -0
  27. package/adapters/workbuddy/schemas/artifact-lock.schema.json +111 -0
  28. package/adapters/workbuddy/schemas/artifact-plan.schema.json +52 -0
  29. package/adapters/workbuddy/schemas/artifact-policy.schema.json +76 -0
  30. package/adapters/workbuddy/schemas/evidence-event.schema.json +89 -0
  31. package/adapters/workbuddy/schemas/release-plan.schema.json +882 -0
  32. package/adapters/workbuddy/schemas/release-project.schema.json +909 -0
  33. package/adapters/workbuddy/schemas/release-run.schema.json +343 -0
  34. package/adapters/workbuddy/skills/release-assess/SKILL.md +51 -0
  35. package/adapters/workbuddy/skills/release-help/SKILL.md +77 -0
  36. package/adapters/workbuddy/skills/release-prepare/SKILL.md +92 -0
  37. package/adapters/workbuddy/skills/release-publish/SKILL.md +57 -0
  38. package/adapters/workbuddy/skills/release-reconcile/SKILL.md +73 -0
  39. package/adapters/workbuddy/skills/release-setup/SKILL.md +95 -0
  40. package/adapters/workbuddy/skills/release-verify/SKILL.md +70 -0
  41. package/bin/release-skill.bundle.mjs +1 -1
  42. package/package.json +2 -1
  43. package/references/06-adapter-contract.md +1 -1
  44. package/scripts/sync-public-files.mjs +21 -2
  45. package/src/producers/build-adapters.mjs +38 -4
@@ -0,0 +1,54 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * release-skill CLI entry point.
4
+ *
5
+ * Loads the self-contained bundle (release-skill.bundle.mjs) which runs
6
+ * without node_modules. Fails closed with a clear error when the bundle
7
+ * is missing — never falls back to source CLI in installed state.
8
+ */
9
+
10
+ import { stat } from 'node:fs/promises';
11
+ import { dirname, join } from 'node:path';
12
+ import { fileURLToPath } from 'node:url';
13
+
14
+ const __dirname = dirname(fileURLToPath(import.meta.url));
15
+ const bundlePath = join(__dirname, 'release-skill.bundle.mjs');
16
+
17
+ let bundleExists = false;
18
+ try {
19
+ const st = await stat(bundlePath);
20
+ bundleExists = st.isFile();
21
+ } catch {
22
+ // Bundle does not exist.
23
+ }
24
+
25
+ if (!bundleExists) {
26
+ // Fail closed with static text only: never interpolate bundlePath (or any
27
+ // other machine-specific value) so a copied/installed launcher cannot leak
28
+ // absolute paths, usernames, or host layout on stdout/stderr. This branch
29
+ // is self-contained by design — it must not import src/* or rely on the
30
+ // missing bundle's redaction helpers.
31
+ console.error(
32
+ `Error: release-skill bundle not found (release-skill.bundle.mjs).\n` +
33
+ `The self-contained bundle is required for installed-plugin execution.\n` +
34
+ `Reinstall the plugin, or run 'node scripts/build-bundle.mjs' in a source checkout to rebuild it.`,
35
+ );
36
+ process.exit(1);
37
+ }
38
+
39
+ // The bundle owns the command lifecycle: its entry awaits command completion
40
+ // and exits with the real business exit code (success, business errors,
41
+ // handled async rejections, unknown commands). The launcher only guards the
42
+ // load itself: if the bundle cannot be evaluated (corrupt or incompatible
43
+ // build), fail closed with static text only — module-load failures carry
44
+ // absolute paths in their messages, so the failure is never interpolated.
45
+ try {
46
+ await import(bundlePath);
47
+ } catch {
48
+ console.error(
49
+ `Error: release-skill bundle failed to load (release-skill.bundle.mjs).\n` +
50
+ `The self-contained bundle is required for installed-plugin execution.\n` +
51
+ `Reinstall the plugin, or run 'node scripts/build-bundle.mjs' in a source checkout to rebuild it.`,
52
+ );
53
+ process.exit(1);
54
+ }
@@ -0,0 +1,41 @@
1
+ {
2
+ "variables": {
3
+ "test_seam%": "0"
4
+ },
5
+ "targets": [
6
+ {
7
+ "target_name": "safe_write",
8
+ "sources": ["src/safe_write.cc"],
9
+ "include_dirs": [],
10
+ "cflags!": ["-fno-exceptions"],
11
+ "cflags_cc!": ["-fno-exceptions"],
12
+ "cflags_cc": ["-std=c++20"],
13
+ "defines": ["NAPI_VERSION=9"],
14
+ "conditions": [
15
+ [
16
+ "test_seam==1",
17
+ {
18
+ "defines": ["SAFE_WRITE_TEST_SEAM=1"]
19
+ }
20
+ ],
21
+ [
22
+ "OS=='mac'",
23
+ {
24
+ "xcode_settings": {
25
+ "GCC_ENABLE_CPP_EXCEPTIONS": "YES",
26
+ "CLANG_CXX_LANGUAGE_STANDARD": "c++20",
27
+ "MACOSX_DEPLOYMENT_TARGET": "11.0",
28
+ "GCC_GENERATE_DEBUGGING_SYMBOLS": "NO"
29
+ }
30
+ }
31
+ ],
32
+ [
33
+ "OS=='linux'",
34
+ {
35
+ "cflags_cc": ["-std=c++20"]
36
+ }
37
+ ]
38
+ ]
39
+ }
40
+ ]
41
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "comment": "Registered Node-API prebuilds. Each entry is loaded only after path, file identity, exports, and SHA-256 verification.",
3
+ "prebuilds": {
4
+ "darwin-arm64": {
5
+ "path": "prebuilds/darwin-arm64/safe_write.node",
6
+ "sha256": "f5ffc367a1c49fed812dc430246cd8b07fb722653cc9738acabcedb17d6bab67",
7
+ "exports": [
8
+ "openRoot",
9
+ "openDir",
10
+ "readEntry",
11
+ "readFile",
12
+ "createTemp",
13
+ "rename",
14
+ "abortTemp",
15
+ "mkdir",
16
+ "rmdir",
17
+ "unlink",
18
+ "chmod",
19
+ "fsync",
20
+ "close"
21
+ ]
22
+ }
23
+ }
24
+ }