@sightmap/sightkick 0.0.0

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/README.md ADDED
@@ -0,0 +1,15 @@
1
+ # @sightmap/sightkick
2
+
3
+ The **sightkick** CLI: compile a `webmcp.tools.yaml` + a sightmap `.sightmap/`
4
+ corpus into WebMCP tool IR, and install the sightkick agent skills.
5
+
6
+ Ships as a native binary (no Go toolchain required). `npm install` pulls in only
7
+ the `@sightmap/sightkick-<os>-<arch>` package matching your platform; the
8
+ `sightkick` launcher execs it.
9
+
10
+ ```sh
11
+ npx @sightmap/sightkick build <corpus-dir> -o tools.ir.json
12
+ npx @sightmap/sightkick skills install # -> ~/.agents/skills
13
+ ```
14
+
15
+ See <https://github.com/sightmap/sightkick>.
@@ -0,0 +1,47 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ // Locate the platform-specific binary shipped by the matching optional
4
+ // dependency (@sightmap/sightkick-<os>-<arch>) and exec it. npm installs only
5
+ // the one package matching the host's os/cpu, so there is no download and no
6
+ // install script — the binary is already on disk after `npm install`.
7
+
8
+ const path = require("node:path");
9
+ const { spawnSync } = require("node:child_process");
10
+
11
+ const key = `${process.platform}-${process.arch}`;
12
+ const pkgName = `@sightmap/sightkick-${key}`;
13
+ const binaryName = process.platform === "win32" ? "sightkick.exe" : "sightkick";
14
+
15
+ function resolveBinary() {
16
+ // Resolve via the package's package.json (always resolvable, unlike an
17
+ // extensionless binary path), then join the binary next to it.
18
+ try {
19
+ const pkgJson = require.resolve(`${pkgName}/package.json`);
20
+ return path.join(path.dirname(pkgJson), binaryName);
21
+ } catch (_) {
22
+ return null;
23
+ }
24
+ }
25
+
26
+ const binary = resolveBinary();
27
+ if (!binary) {
28
+ console.error(
29
+ `sightkick: no prebuilt binary found for ${key}.\n` +
30
+ `Expected the optional dependency ${pkgName}. This usually means either:\n` +
31
+ ` - your platform/arch is unsupported — see https://github.com/sightmap/sightkick/releases\n` +
32
+ ` - optional dependencies were skipped (e.g. --no-optional / --omit=optional), or a\n` +
33
+ ` known npm bug left it out. Try: npm install --force @sightmap/sightkick`
34
+ );
35
+ process.exit(1);
36
+ }
37
+
38
+ const result = spawnSync(binary, process.argv.slice(2), { stdio: "inherit" });
39
+ if (result.error) {
40
+ if (result.error.code === "ENOENT") {
41
+ console.error(`sightkick: binary not found at ${binary}`);
42
+ } else {
43
+ console.error("sightkick:", result.error.message);
44
+ }
45
+ process.exit(1);
46
+ }
47
+ process.exit(result.status ?? 1);
package/package.json ADDED
@@ -0,0 +1,44 @@
1
+ {
2
+ "name": "@sightmap/sightkick",
3
+ "version": "0.0.0",
4
+ "description": "sightkick — compile a webmcp.tools.yaml + sightmap corpus into WebMCP tool IR, and install the sightkick agent skills (native binary, no Go toolchain required)",
5
+ "license": "MIT",
6
+ "homepage": "https://sightmap.org",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/sightmap/sightkick.git"
10
+ },
11
+ "bugs": {
12
+ "url": "https://github.com/sightmap/sightkick/issues"
13
+ },
14
+ "keywords": [
15
+ "sightkick",
16
+ "sightmap",
17
+ "webmcp",
18
+ "agent",
19
+ "cli",
20
+ "yaml"
21
+ ],
22
+ "engines": {
23
+ "node": ">=18"
24
+ },
25
+ "bin": {
26
+ "sightkick": "bin/sightkick.js"
27
+ },
28
+ "files": [
29
+ "bin/",
30
+ "README.md",
31
+ "skills/"
32
+ ],
33
+ "optionalDependencies": {
34
+ "@sightmap/sightkick-darwin-arm64": "0.0.0",
35
+ "@sightmap/sightkick-darwin-x64": "0.0.0",
36
+ "@sightmap/sightkick-linux-arm64": "0.0.0",
37
+ "@sightmap/sightkick-linux-x64": "0.0.0",
38
+ "@sightmap/sightkick-win32-arm64": "0.0.0",
39
+ "@sightmap/sightkick-win32-x64": "0.0.0"
40
+ },
41
+ "publishConfig": {
42
+ "access": "public"
43
+ }
44
+ }