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.
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/.codebuddy-plugin/plugin.json +10 -0
- package/.codex-plugin/plugin.json +2 -2
- package/.kimi-plugin/plugin.json +1 -1
- package/CHANGELOG.md +14 -0
- package/INSTALL.md +24 -4
- package/INSTALL.zh-CN.md +22 -4
- package/README.md +15 -13
- package/README.zh-CN.md +10 -13
- package/adapters/claude/.claude-plugin/marketplace.json +1 -1
- package/adapters/claude/.claude-plugin/plugin.json +1 -1
- package/adapters/claude/bin/release-skill.bundle.mjs +1 -1
- package/adapters/codex/.codex-plugin/plugin.json +2 -2
- package/adapters/codex/bin/release-skill.bundle.mjs +1 -1
- package/adapters/kimi/.kimi-plugin/plugin.json +1 -1
- package/adapters/kimi/bin/release-skill.bundle.mjs +1 -1
- package/adapters/workbuddy/.codebuddy-plugin/plugin.json +10 -0
- package/adapters/workbuddy/bin/release-skill.bundle.mjs +85363 -0
- package/adapters/workbuddy/bin/release-skill.mjs +54 -0
- package/adapters/workbuddy/native/safe-write/binding.gyp +41 -0
- package/adapters/workbuddy/native/safe-write/prebuilds/darwin-arm64/safe_write.node +0 -0
- package/adapters/workbuddy/native/safe-write/prebuilds.json +24 -0
- package/adapters/workbuddy/native/safe-write/src/safe_write.cc +2032 -0
- package/adapters/workbuddy/schemas/.render-manifest.json +37 -0
- package/adapters/workbuddy/schemas/approval-record.schema.json +115 -0
- package/adapters/workbuddy/schemas/artifact-lock.schema.json +111 -0
- package/adapters/workbuddy/schemas/artifact-plan.schema.json +52 -0
- package/adapters/workbuddy/schemas/artifact-policy.schema.json +76 -0
- package/adapters/workbuddy/schemas/evidence-event.schema.json +89 -0
- package/adapters/workbuddy/schemas/release-plan.schema.json +882 -0
- package/adapters/workbuddy/schemas/release-project.schema.json +909 -0
- package/adapters/workbuddy/schemas/release-run.schema.json +343 -0
- package/adapters/workbuddy/skills/release-assess/SKILL.md +51 -0
- package/adapters/workbuddy/skills/release-help/SKILL.md +77 -0
- package/adapters/workbuddy/skills/release-prepare/SKILL.md +92 -0
- package/adapters/workbuddy/skills/release-publish/SKILL.md +57 -0
- package/adapters/workbuddy/skills/release-reconcile/SKILL.md +73 -0
- package/adapters/workbuddy/skills/release-setup/SKILL.md +95 -0
- package/adapters/workbuddy/skills/release-verify/SKILL.md +70 -0
- package/bin/release-skill.bundle.mjs +1 -1
- package/package.json +2 -1
- package/references/06-adapter-contract.md +1 -1
- package/scripts/sync-public-files.mjs +21 -2
- 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
|
+
}
|
|
Binary file
|
|
@@ -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
|
+
}
|