@inventeer.tech/apex 0.2.31

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 (3) hide show
  1. package/README.md +53 -0
  2. package/install.js +76 -0
  3. package/package.json +40 -0
package/README.md ADDED
@@ -0,0 +1,53 @@
1
+ # @inventeer.tech/apex
2
+
3
+ **AI-powered software delivery agent. From task to merged PR across multiple repos.**
4
+
5
+ This is the npm wrapper for the [APEX CLI](https://github.com/Inventeer/apex). It downloads the correct pre-built binary for your platform on install.
6
+
7
+ ## Install
8
+
9
+ ```bash
10
+ npm install -g @inventeer.tech/apex
11
+ ```
12
+
13
+ Supports macOS (x64/arm64), Linux (x64/arm64), and Windows (x64).
14
+
15
+ ## Usage
16
+
17
+ ```bash
18
+ # Authenticate (once per machine)
19
+ apex login
20
+
21
+ # Register your repo
22
+ cd ~/repos/backend && apex init
23
+
24
+ # Index for RAG
25
+ apex index
26
+
27
+ # Launch
28
+ apex
29
+ ```
30
+
31
+ ## What is APEX?
32
+
33
+ APEX takes a developer from a task description to open pull requests across multiple repositories — with full context awareness, episodic memory, and zero configuration files left in your repos.
34
+
35
+ ```
36
+ apex /eng.start TASK-456
37
+ ```
38
+
39
+ The AI fetches the ticket, investigates all workspace repos, proposes a cross-repo plan, and executes it step by step. When you close the terminal, the session is summarized. Next time, APEX resumes in under 500 tokens of overhead.
40
+
41
+ **What runs locally**: the `apex` binary, a native in-process AI runtime engine, and your repos.
42
+ **What lives in the cloud**: codebase RAG, episodic session memory, org config, LLM proxy with context injection.
43
+
44
+ ## Links
45
+
46
+ - [Homepage](https://github.com/Inventeer/apex)
47
+ - [Documentation](https://github.com/Inventeer/apex/tree/main/docs)
48
+ - [Releases](https://github.com/Inventeer/apex-releases/releases)
49
+ - [Issues](https://github.com/Inventeer/apex/issues)
50
+
51
+ ## License
52
+
53
+ MIT
package/install.js ADDED
@@ -0,0 +1,76 @@
1
+ const { execSync } = require("child_process");
2
+ const fs = require("fs");
3
+ const path = require("path");
4
+ const os = require("os");
5
+
6
+ const REPO = "Inventeer/apex-releases";
7
+ const BIN_DIR = path.join(__dirname, "bin");
8
+ const PKG = require("./package.json");
9
+
10
+ function getPlatform() {
11
+ const p = process.platform;
12
+ if (p === "linux") return "linux";
13
+ if (p === "darwin") return "darwin";
14
+ if (p === "win32") return "windows";
15
+ throw new Error("Unsupported platform: " + p);
16
+ }
17
+
18
+ function getArch() {
19
+ const a = process.arch;
20
+ if (a === "x64") return "amd64";
21
+ if (a === "arm64") return "arm64";
22
+ throw new Error("Unsupported arch: " + a);
23
+ }
24
+
25
+ async function main() {
26
+ const platform = getPlatform();
27
+ const arch = getArch();
28
+ const version = PKG.version;
29
+ const ext = platform === "windows" ? ".zip" : ".tar.gz";
30
+ const binaryName = platform === "windows" ? "apex.exe" : "apex";
31
+ const assetName = "apex_" + version + "_" + platform + "_" + arch + ext;
32
+ const url =
33
+ "https://github.com/" +
34
+ REPO +
35
+ "/releases/download/v" +
36
+ version +
37
+ "/" +
38
+ assetName;
39
+
40
+ if (!fs.existsSync(BIN_DIR)) fs.mkdirSync(BIN_DIR, { recursive: true });
41
+
42
+ console.log(
43
+ "Downloading apex v" + version + " (" + platform + "/" + arch + ")...",
44
+ );
45
+
46
+ const tmp = path.join(os.tmpdir(), assetName);
47
+ execSync('curl -fsSL "' + url + '" -o "' + tmp + '"', { stdio: "inherit" });
48
+
49
+ if (ext === ".tar.gz") {
50
+ execSync('tar -xzf "' + tmp + '" -C "' + BIN_DIR + '" apex');
51
+ } else {
52
+ const extractDir = path.join(os.tmpdir(), "apex-extract-" + Date.now());
53
+ fs.mkdirSync(extractDir, { recursive: true });
54
+ execSync(
55
+ 'powershell -Command "Expand-Archive -Force \'' +
56
+ tmp +
57
+ "' '" +
58
+ extractDir +
59
+ "'\"",
60
+ );
61
+ fs.copyFileSync(
62
+ path.join(extractDir, binaryName),
63
+ path.join(BIN_DIR, binaryName),
64
+ );
65
+ fs.rmSync(extractDir, { recursive: true, force: true });
66
+ }
67
+
68
+ fs.chmodSync(path.join(BIN_DIR, binaryName), 0o755);
69
+ fs.rmSync(tmp, { force: true });
70
+ console.log("apex installed successfully.");
71
+ }
72
+
73
+ main().catch((e) => {
74
+ console.error("Installation failed:", e.message);
75
+ process.exit(1);
76
+ });
package/package.json ADDED
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "@inventeer.tech/apex",
3
+ "version": "0.2.31",
4
+ "description": "AI-powered software delivery agent",
5
+ "bin": {
6
+ "apex": "./bin/apex"
7
+ },
8
+ "scripts": {
9
+ "postinstall": "node install.js"
10
+ },
11
+ "os": [
12
+ "linux",
13
+ "darwin",
14
+ "win32"
15
+ ],
16
+ "cpu": [
17
+ "x64",
18
+ "arm64"
19
+ ],
20
+ "engines": {
21
+ "node": ">=14"
22
+ },
23
+ "keywords": [
24
+ "ai",
25
+ "cli",
26
+ "developer-tools",
27
+ "code-agent",
28
+ "pull-request",
29
+ "apex"
30
+ ],
31
+ "homepage": "https://github.com/Inventeer/apex",
32
+ "bugs": {
33
+ "url": "https://github.com/Inventeer/apex/issues"
34
+ },
35
+ "license": "MIT",
36
+ "repository": {
37
+ "type": "git",
38
+ "url": "https://github.com/Inventeer/apex.git"
39
+ }
40
+ }