@brandazine/solari 1.0.0-alpha.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/LICENSE +19 -0
- package/README.md +29 -0
- package/bin/solari.mjs +67 -0
- package/package.json +41 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
Copyright (c) 2026 Brandazine. All rights reserved.
|
|
2
|
+
|
|
3
|
+
Permission is granted to download and use the unmodified release artifacts
|
|
4
|
+
distributed through this repository (the "Software") solely to access and
|
|
5
|
+
use the SOLARI service.
|
|
6
|
+
|
|
7
|
+
Redistribution of the Software, modification, decompilation, or use of the
|
|
8
|
+
Software to build a competing service is not permitted without prior
|
|
9
|
+
written permission from Brandazine.
|
|
10
|
+
|
|
11
|
+
Documentation and configuration files in this repository may be copied for
|
|
12
|
+
the purpose of installing and configuring the Software.
|
|
13
|
+
|
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
15
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
16
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
|
17
|
+
BRANDAZINE BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY ARISING
|
|
18
|
+
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
|
19
|
+
DEALINGS IN THE SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# SOLARI CLI
|
|
2
|
+
|
|
3
|
+
[SOLARI](https://solari.brandazine.com) is Brandazine's creator and brand data service. This package installs the `solari` command, which reaches that data from your terminal. Instagram is supported today; more platforms are on the way.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
npm install -g @brandazine/solari
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
`pnpm add -g @brandazine/solari`, `bun add -g @brandazine/solari` and `yarn global add @brandazine/solari` work too. The right prebuilt binary for your machine installs automatically as an optional dependency, so nothing is compiled at install time.
|
|
12
|
+
|
|
13
|
+
## Use
|
|
14
|
+
|
|
15
|
+
```sh
|
|
16
|
+
solari auth login
|
|
17
|
+
solari instagram account search query=nike
|
|
18
|
+
solari instagram content trending region=US limit=10 --json
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
`solari help all` prints a one-page reference of every command and tool. `solari init claude` registers SOLARI with Claude Code.
|
|
22
|
+
|
|
23
|
+
## Update notices
|
|
24
|
+
|
|
25
|
+
`solari` checks once a day for a newer release and mentions it on stderr when you are behind. The notice never appears in `--json` or `--ndjson` output, in CI, or when output is piped. Set `SOLARI_NO_UPDATE_CHECK=1` to turn it off.
|
|
26
|
+
|
|
27
|
+
## Documentation
|
|
28
|
+
|
|
29
|
+
Full documentation, other install methods, and the SOLARI connector for MCP hosts: <https://github.com/brandazine/solari>
|
package/bin/solari.mjs
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { spawnSync } from "node:child_process";
|
|
3
|
+
import { createRequire } from "node:module";
|
|
4
|
+
|
|
5
|
+
const require = createRequire(import.meta.url);
|
|
6
|
+
const PLATFORM_PACKAGES = {
|
|
7
|
+
"darwin-arm64": "@brandazine/solari-darwin-arm64",
|
|
8
|
+
"darwin-x64": "@brandazine/solari-darwin-x64",
|
|
9
|
+
"linux-arm64-glibc": "@brandazine/solari-linux-arm64",
|
|
10
|
+
"linux-x64-glibc": "@brandazine/solari-linux-x64",
|
|
11
|
+
"linux-x64-musl": "@brandazine/solari-linux-x64-musl",
|
|
12
|
+
"win32-x64": "@brandazine/solari-win32-x64",
|
|
13
|
+
"win32-arm64": "@brandazine/solari-win32-arm64"
|
|
14
|
+
};
|
|
15
|
+
const VERSION = "1.0.0-alpha.1";
|
|
16
|
+
|
|
17
|
+
function detectLibc() {
|
|
18
|
+
if (process.platform !== "linux") {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
try {
|
|
22
|
+
const report = process.report?.getReport();
|
|
23
|
+
const header = typeof report === "object" && report !== null ? report.header : undefined;
|
|
24
|
+
return header && header.glibcVersionRuntime ? "glibc" : "musl";
|
|
25
|
+
} catch {
|
|
26
|
+
return "glibc";
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function platformKey() {
|
|
31
|
+
const libc = detectLibc();
|
|
32
|
+
return [process.platform, process.arch, libc].filter(Boolean).join("-");
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
function fail(message) {
|
|
36
|
+
process.stderr.write(`solari: ${message}\n`);
|
|
37
|
+
process.exit(1);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
const key = platformKey();
|
|
41
|
+
const packageName = PLATFORM_PACKAGES[key] ?? PLATFORM_PACKAGES[`${process.platform}-${process.arch}`];
|
|
42
|
+
if (!packageName) {
|
|
43
|
+
fail(
|
|
44
|
+
`no prebuilt binary for ${key}. Supported: ${Object.keys(PLATFORM_PACKAGES).join(", ")}. ` +
|
|
45
|
+
"Download a build from https://github.com/brandazine/solari/releases instead.",
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
const binaryName = process.platform === "win32" ? "solari.exe" : "solari";
|
|
50
|
+
let binaryPath;
|
|
51
|
+
try {
|
|
52
|
+
binaryPath = require.resolve(`${packageName}/bin/${binaryName}`);
|
|
53
|
+
} catch {
|
|
54
|
+
fail(
|
|
55
|
+
`the platform package ${packageName} is missing. It installs automatically as an optional dependency; ` +
|
|
56
|
+
`reinstall without --no-optional, or run: npm install -g ${packageName}@${VERSION}`,
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
const result = spawnSync(binaryPath, process.argv.slice(2), { stdio: "inherit", windowsHide: false });
|
|
61
|
+
if (result.error) {
|
|
62
|
+
fail(`could not run ${binaryPath}: ${result.error.message}`);
|
|
63
|
+
}
|
|
64
|
+
if (result.signal) {
|
|
65
|
+
process.kill(process.pid, result.signal);
|
|
66
|
+
}
|
|
67
|
+
process.exit(result.status ?? 1);
|
package/package.json
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@brandazine/solari",
|
|
3
|
+
"version": "1.0.0-alpha.1",
|
|
4
|
+
"description": "SOLARI creator and brand intelligence from your terminal",
|
|
5
|
+
"homepage": "https://solari.brandazine.com",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/brandazine/solari.git"
|
|
9
|
+
},
|
|
10
|
+
"license": "SEE LICENSE IN LICENSE",
|
|
11
|
+
"type": "module",
|
|
12
|
+
"bin": {
|
|
13
|
+
"solari": "bin/solari.mjs"
|
|
14
|
+
},
|
|
15
|
+
"engines": {
|
|
16
|
+
"node": ">=18.17"
|
|
17
|
+
},
|
|
18
|
+
"files": [
|
|
19
|
+
"bin",
|
|
20
|
+
"LICENSE",
|
|
21
|
+
"README.md"
|
|
22
|
+
],
|
|
23
|
+
"keywords": [
|
|
24
|
+
"solari",
|
|
25
|
+
"instagram",
|
|
26
|
+
"creator",
|
|
27
|
+
"brand",
|
|
28
|
+
"analytics",
|
|
29
|
+
"mcp",
|
|
30
|
+
"cli"
|
|
31
|
+
],
|
|
32
|
+
"optionalDependencies": {
|
|
33
|
+
"@brandazine/solari-darwin-arm64": "1.0.0-alpha.1",
|
|
34
|
+
"@brandazine/solari-darwin-x64": "1.0.0-alpha.1",
|
|
35
|
+
"@brandazine/solari-linux-arm64": "1.0.0-alpha.1",
|
|
36
|
+
"@brandazine/solari-linux-x64": "1.0.0-alpha.1",
|
|
37
|
+
"@brandazine/solari-linux-x64-musl": "1.0.0-alpha.1",
|
|
38
|
+
"@brandazine/solari-win32-x64": "1.0.0-alpha.1",
|
|
39
|
+
"@brandazine/solari-win32-arm64": "1.0.0-alpha.1"
|
|
40
|
+
}
|
|
41
|
+
}
|