orchestrai 0.1.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/README.md ADDED
@@ -0,0 +1,51 @@
1
+ # orchestrai
2
+
3
+ Run [OrchestrAI](https://github.com/Muhamad-Yussuf/devops-mcp-server) — a local, terminal-oriented multi-agent DevOps orchestration prototype — with nothing pre-installed:
4
+
5
+ ```
6
+ npx orchestrai --project /path/to/your/project
7
+ ```
8
+
9
+ or, with Bun:
10
+
11
+ ```
12
+ bunx orchestrai --project /path/to/your/project
13
+ ```
14
+
15
+ No Bun, no clone, no separate download step — the right platform binary installs automatically as part of this package (an optional dependency scoped to your OS/architecture), and this command just runs it.
16
+
17
+ ## Supported platforms
18
+
19
+ | Platform | Package |
20
+ |---|---|
21
+ | Windows x64 | `orchestrai-win32-x64` |
22
+ | Linux x64 | `orchestrai-linux-x64` |
23
+ | macOS Apple Silicon (arm64) | `orchestrai-darwin-arm64` |
24
+
25
+ macOS Intel (x64) isn't published yet. If `npx`/`bunx` reports no build for your platform, that's why — build from source instead (see the main repository).
26
+
27
+ ### macOS: unsigned binary
28
+
29
+ The macOS build isn't code-signed or notarized. On first run, macOS Gatekeeper will likely refuse to open it. Clear that with:
30
+
31
+ ```
32
+ xattr -d com.apple.quarantine "$(which orchestrai)"
33
+ ```
34
+
35
+ (or the equivalent path npm installed it under) before running it again.
36
+
37
+ ## Usage
38
+
39
+ ```
40
+ orchestrai # start everything, interactively in a real terminal
41
+ orchestrai init # interactive setup wizard, run once per project
42
+ orchestrai --project "/path/to/app"
43
+ orchestrai --only devops-agent
44
+ orchestrai --help
45
+ ```
46
+
47
+ See the [main repository](https://github.com/Muhamad-Yussuf/devops-mcp-server) for full documentation.
48
+
49
+ ## Reproducibility
50
+
51
+ Each published version of this package corresponds to a specific, immutable build — pinning a version (`npx orchestrai@1.2.3`) always resolves the identical binary, not a rolling "latest."
@@ -0,0 +1,82 @@
1
+ #!/usr/bin/env node
2
+ // specs/032-npm-package-distribution/spec.md
3
+ //
4
+ // Dispatcher npm's "bin" field points at. The real binary is NOT
5
+ // downloaded at runtime — it's installed by npm itself, as one of three
6
+ // mutually-exclusive optionalDependencies (orchestrai-win32-x64,
7
+ // orchestrai-linux-x64, orchestrai-darwin-arm64), each restricted to its
8
+ // own platform via package.json's "os"/"cpu" fields, so exactly one of
9
+ // them physically lands in node_modules on any given install. This is
10
+ // the same pattern esbuild/swc/turbo use, and it sidesteps needing any
11
+ // download/checksum code at runtime at all — npm's own registry already
12
+ // verifies each tarball's integrity during install.
13
+ //
14
+ // (An earlier design in this same checkpoint instead downloaded the
15
+ // binary from this repository's GitHub Releases at first run. Reworked
16
+ // away from that: this repository is private, so an unauthenticated
17
+ // bunx/npx invocation on a machine with no repo access could never reach
18
+ // GitHub's Releases API or asset-download endpoints — confirmed live via
19
+ // plain unauthenticated curl returning 404 on both. Publishing the binary
20
+ // through npm's own registry has no dependency on GitHub repo visibility
21
+ // at all.)
22
+
23
+ "use strict"
24
+
25
+ const path = require("path")
26
+ const { spawnSync } = require("child_process")
27
+
28
+ // One fixed platform package per supported platform+arch — mirrors
29
+ // npm-package/*/package.json's own "os"/"cpu" restrictions exactly.
30
+ const PLATFORM_PACKAGES = {
31
+ "win32-x64": { pkg: "orchestrai-win32-x64", bin: "orchestrai.exe" },
32
+ "linux-x64": { pkg: "orchestrai-linux-x64", bin: "orchestrai" },
33
+ "darwin-arm64": { pkg: "orchestrai-darwin-arm64", bin: "orchestrai-macos-arm64" },
34
+ }
35
+
36
+ function platformKey() {
37
+ return `${process.platform}-${process.arch}`
38
+ }
39
+
40
+ function resolveBinaryPath() {
41
+ const entry = PLATFORM_PACKAGES[platformKey()]
42
+ if (!entry) {
43
+ throw new Error(
44
+ `No orchestrai build is published for ${platformKey()}. ` +
45
+ `Supported: ${Object.keys(PLATFORM_PACKAGES).join(", ")}. ` +
46
+ `See https://github.com/Muhamad-Yussuf/devops-mcp-server#readme for building from source instead.`,
47
+ )
48
+ }
49
+ try {
50
+ // require.resolve() walks node_modules exactly the way `require()`
51
+ // would — correct whether this dispatcher is itself inside
52
+ // node_modules/orchestrai/bin/ (the real installed case) or run
53
+ // directly from a workspace/monorepo layout during local testing.
54
+ return require.resolve(path.join(entry.pkg, "bin", entry.bin))
55
+ } catch {
56
+ throw new Error(
57
+ `The "${entry.pkg}" optional dependency isn't installed. ` +
58
+ `This usually means the install ran with --no-optional or ` +
59
+ `--ignore-scripts, or npm's platform detection didn't select it. ` +
60
+ `Try reinstalling without those flags.`,
61
+ )
62
+ }
63
+ }
64
+
65
+ function main() {
66
+ let binPath
67
+ try {
68
+ binPath = resolveBinaryPath()
69
+ } catch (err) {
70
+ console.error(`orchestrai: ${err.message}`)
71
+ process.exit(1)
72
+ }
73
+
74
+ const result = spawnSync(binPath, process.argv.slice(2), { stdio: "inherit" })
75
+ if (result.error) {
76
+ console.error(`orchestrai: failed to launch the platform binary: ${result.error.message}`)
77
+ process.exit(1)
78
+ }
79
+ process.exit(result.status === null ? 1 : result.status)
80
+ }
81
+
82
+ main()
package/package.json ADDED
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "orchestrai",
3
+ "version": "0.1.1",
4
+ "description": "OrchestrAI — run the standalone orchestrai binary via bunx/npx with nothing pre-installed. The right platform binary is installed automatically as an optional dependency; no network download at runtime.",
5
+ "license": "MIT",
6
+ "bin": {
7
+ "orchestrai": "bin/orchestrai.js"
8
+ },
9
+ "files": [
10
+ "bin/",
11
+ "README.md"
12
+ ],
13
+ "optionalDependencies": {
14
+ "orchestrai-win32-x64": "0.1.1",
15
+ "orchestrai-linux-x64": "0.1.1",
16
+ "orchestrai-darwin-arm64": "0.1.1"
17
+ },
18
+ "engines": {
19
+ "node": ">=18"
20
+ },
21
+ "repository": {
22
+ "type": "git",
23
+ "url": "git+https://github.com/Muhamad-Yussuf/devops-mcp-server.git"
24
+ }
25
+ }