atlarix 14.52.4 → 15.0.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 +66 -0
- package/bin/atlarix.js +72 -0
- package/dist-headless/AGENTS.md +4 -0
- package/dist-headless/atlarix-headless.mjs +15690 -12078
- package/dist-headless/models-snapshot.json.gz +0 -0
- package/package.json +41 -14
package/README.md
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Atlarix CLI — an AI coding agent in your terminal
|
|
2
|
+
|
|
3
|
+
Atlarix is an AI coding agent by [NorahLabs](https://norahlabs.com). The CLI is the same agent
|
|
4
|
+
as the [Atlarix desktop app](https://atlarix.dev), in your terminal: it reads your project,
|
|
5
|
+
plans, edits files with a diff you approve, runs commands in a sandbox, and reviews and debugs
|
|
6
|
+
code. Your sessions, models, API keys, MCP servers and automations are shared with the app.
|
|
7
|
+
|
|
8
|
+
```sh
|
|
9
|
+
npm i -g atlarix
|
|
10
|
+
atlarix
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Other ways to install: `curl -fsSL https://atlarix.dev/install | sh` (macOS, Linux),
|
|
14
|
+
`irm https://atlarix.dev/install.ps1 | iex` (Windows), `brew install amariahak/atlarix/atlarix`,
|
|
15
|
+
or winget. The CLI updates itself.
|
|
16
|
+
|
|
17
|
+
## What it does
|
|
18
|
+
|
|
19
|
+
- **Works in any folder.** Run `atlarix` in a project and ask: "fix the failing test",
|
|
20
|
+
"explain the auth flow", "add a health endpoint".
|
|
21
|
+
- **Five work modes.** Build, Explore, Plan, Debug and Review (shift+tab switches).
|
|
22
|
+
- **Any model.** Atlarix Auto and the Atlarix Core models, your own API key for any provider
|
|
23
|
+
(OpenAI, Anthropic, Google, DeepSeek, OpenRouter and more), or a local model with Ollama or
|
|
24
|
+
LM Studio.
|
|
25
|
+
- **Nothing changes without you.** File edits show a diff to approve; shell commands run in a
|
|
26
|
+
per-OS sandbox.
|
|
27
|
+
- **Sub-agents and background work.** Hand independent tasks to sub-agents; follow and stop
|
|
28
|
+
background commands from the strip above the prompt box.
|
|
29
|
+
- **Relics.** Ask for a report, plan or design as a shareable page.
|
|
30
|
+
- **Batch mode for CI.** `atlarix run --prompt "…"` runs one task unattended and exits; it is
|
|
31
|
+
what powers the [Atlarix cloud agent](https://atlarix.dev/cloud-agent) in GitHub Actions.
|
|
32
|
+
|
|
33
|
+
## Sign in
|
|
34
|
+
|
|
35
|
+
`atlarix` opens your browser to sign in; `atlarix login --device` signs in from a machine
|
|
36
|
+
without one. Your own API key or a local model works without an Atlarix account.
|
|
37
|
+
|
|
38
|
+
## FAQ
|
|
39
|
+
|
|
40
|
+
**What is the Atlarix CLI?** An AI coding agent in your terminal. Run `atlarix` in a project
|
|
41
|
+
folder and it plans, builds, reviews and tests code with you; `atlarix run` does one task
|
|
42
|
+
unattended, for CI and scripts. It is the same agent as the Atlarix desktop app.
|
|
43
|
+
|
|
44
|
+
**Which models does it work with?** Any: Atlarix Auto (picks the model for each kind of step),
|
|
45
|
+
an Atlarix Core model, your own API key (Anthropic, OpenAI, DeepSeek, OpenRouter and many
|
|
46
|
+
more), or a local model through Ollama or LM Studio.
|
|
47
|
+
|
|
48
|
+
**Is it free?** Yes. You pay only for Atlarix-hosted models; your own key and local models cost
|
|
49
|
+
nothing on Atlarix's side.
|
|
50
|
+
|
|
51
|
+
**Does it share anything with the desktop app?** Its sessions, models, API keys, MCP servers and
|
|
52
|
+
automations, so you can start in one and continue in the other.
|
|
53
|
+
|
|
54
|
+
**Can it work while my computer is off?** That is the [Atlarix cloud agent](https://atlarix.dev/cloud-agent):
|
|
55
|
+
ask from Slack or the web, and it runs in your repository's own GitHub Actions and opens a
|
|
56
|
+
pull request.
|
|
57
|
+
|
|
58
|
+
## Links
|
|
59
|
+
|
|
60
|
+
- Product page: https://atlarix.dev/cli
|
|
61
|
+
- Docs: https://atlarix.dev/docs
|
|
62
|
+
- Changelog: https://atlarix.dev/changelog
|
|
63
|
+
- Pricing: https://atlarix.dev/pricing
|
|
64
|
+
- Issues: https://github.com/AmariahAK/atlarix-releases/issues
|
|
65
|
+
|
|
66
|
+
Atlarix is proprietary software by NorahLabs (Nairobi, Kenya).
|
package/bin/atlarix.js
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* `atlarix` from npm. Runs this platform's compiled CLI — the interactive
|
|
4
|
+
* terminal app, the same binary as the curl / Homebrew / winget installs — from
|
|
5
|
+
* its `atlarix-<os>-<arch>` package (an optional dependency, so npm installs
|
|
6
|
+
* only the one that fits).
|
|
7
|
+
*
|
|
8
|
+
* With no matching package (an unusual platform, or `--no-optional`), it runs
|
|
9
|
+
* the bundled Node build instead: the batch agent (`atlarix run …`) that CI,
|
|
10
|
+
* the cloud agent and benchmarks use. So `npx atlarix run …` works everywhere.
|
|
11
|
+
*/
|
|
12
|
+
import { spawnSync } from "node:child_process";
|
|
13
|
+
import { createRequire } from "node:module";
|
|
14
|
+
import { fileURLToPath } from "node:url";
|
|
15
|
+
import path from "node:path";
|
|
16
|
+
|
|
17
|
+
const require = createRequire(import.meta.url);
|
|
18
|
+
|
|
19
|
+
function isMusl() {
|
|
20
|
+
if (process.platform !== "linux") return false;
|
|
21
|
+
try {
|
|
22
|
+
return !process.report?.getReport()?.header?.glibcVersionRuntime;
|
|
23
|
+
} catch {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
const os = process.platform === "win32" ? "windows" : process.platform;
|
|
29
|
+
const name = `atlarix-${os}-${process.arch}${isMusl() ? "-musl" : ""}`;
|
|
30
|
+
const exe = process.platform === "win32" ? "atlarix.exe" : "atlarix";
|
|
31
|
+
|
|
32
|
+
let binary = null;
|
|
33
|
+
try {
|
|
34
|
+
binary = require.resolve(`${name}/bin/${exe}`);
|
|
35
|
+
} catch {
|
|
36
|
+
/* not installed for this platform */
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
if (binary) {
|
|
40
|
+
const r = spawnSync(binary, process.argv.slice(2), { stdio: "inherit" });
|
|
41
|
+
if (r.error) {
|
|
42
|
+
console.error(`atlarix: could not start ${binary}: ${r.error.message}`);
|
|
43
|
+
process.exit(1);
|
|
44
|
+
}
|
|
45
|
+
if (r.signal) process.kill(process.pid, r.signal);
|
|
46
|
+
process.exit(r.status ?? 1);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
const batch = process.argv.slice(2).some((a) => a === "run" || a.startsWith("--prompt") || a === "--version" || a === "-v");
|
|
50
|
+
if (!batch) {
|
|
51
|
+
console.error(
|
|
52
|
+
`atlarix: the interactive CLI isn't installed for ${os}-${process.arch} (package ${name}).\n` +
|
|
53
|
+
"Install it from https://atlarix.dev/install, or reinstall without --no-optional.\n" +
|
|
54
|
+
"Scripts and CI can still use `atlarix run --prompt …`.",
|
|
55
|
+
);
|
|
56
|
+
process.exit(1);
|
|
57
|
+
}
|
|
58
|
+
// The Node build needs better-sqlite3, which is NOT a dependency of this
|
|
59
|
+
// package: every platform with a prebuilt CLI (all seven we publish) never
|
|
60
|
+
// reaches this line, and carrying it cost everyone 40 packages and a native
|
|
61
|
+
// download on `npm install -g atlarix` (2026-10-04). The rare platform without
|
|
62
|
+
// one installs it beside atlarix, where Node's lookup finds it.
|
|
63
|
+
try {
|
|
64
|
+
require.resolve("better-sqlite3");
|
|
65
|
+
} catch {
|
|
66
|
+
console.error(
|
|
67
|
+
`atlarix: no prebuilt CLI for ${os}-${process.arch}, and the Node fallback needs better-sqlite3.\n` +
|
|
68
|
+
"Install it beside atlarix: npm install -g better-sqlite3",
|
|
69
|
+
);
|
|
70
|
+
process.exit(1);
|
|
71
|
+
}
|
|
72
|
+
await import(path.join(path.dirname(fileURLToPath(import.meta.url)), "..", "dist-headless", "atlarix-headless.mjs"));
|
package/dist-headless/AGENTS.md
CHANGED
|
@@ -47,6 +47,10 @@ Atlarix renders these inline as collapsible cards — put the visual in the same
|
|
|
47
47
|
- **Graph** — ` ```graph ` fence: `{ "title"?: string, "nodes": [{ "id", "name" }], "edges": [{ "source", "target" }] }` for flows / architecture / dependencies (edge ids must exist on nodes; no coordinates).
|
|
48
48
|
- **Markmap** — ` ```markmap ` fence: markdown headings + bullets with one root `#` title, for hierarchies / outlines.
|
|
49
49
|
|
|
50
|
+
## Relics
|
|
51
|
+
|
|
52
|
+
A **relic** (the `relic` tool) is a self-contained web page to SHARE, not a file of the project: a design to agree on before building, an explainer, a report. Reach for one when a page shows it better than chat does; one relic per thing, updated in place with its `id`. Tell the user the link or path it returns. Never put secrets in one.
|
|
53
|
+
|
|
50
54
|
## Browsers
|
|
51
55
|
|
|
52
56
|
- `browser` and `browser_inspect` drive the user's own browser (Chrome, Edge or Brave) through the Atlarix extension, in Atlarix's own tab group — never the tab the user is on. Open the app you are building at its localhost dev-server URL there, act, then check `browser_inspect` mode:"console" (it shows entries since your last navigate) to confirm nothing threw.
|