neuvikon 0.1.0 → 0.2.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 +2 -0
- package/dist/index.mjs +17 -1
- package/package.json +7 -1
package/README.md
CHANGED
|
@@ -72,6 +72,7 @@ always exits 0 — a token count is never worth interrupting someone's work.
|
|
|
72
72
|
| `~/.neuvikon/config.json` | Token and deployment URL, `0600` |
|
|
73
73
|
| `.neuvikon-session` | Which ticket this directory is tracking. Git-ignored by `init` |
|
|
74
74
|
| `NEUVIKON_URL` | Point at a self-hosted deployment. `--url` does the same per command |
|
|
75
|
+
| `NEUVIKON_TOKEN` | Use this token instead of logging in — for CI and anywhere a browser cannot open |
|
|
75
76
|
|
|
76
77
|
## Develop
|
|
77
78
|
|
|
@@ -82,3 +83,4 @@ pnpm typecheck
|
|
|
82
83
|
```
|
|
83
84
|
|
|
84
85
|
No runtime dependencies, so `npx neuvikon` stays a fast cold start.
|
|
86
|
+
# neuvikon-cli
|
package/dist/index.mjs
CHANGED
|
@@ -149,10 +149,26 @@ function isInstalled(root) {
|
|
|
149
149
|
* installed copy of this CLI hardcodes whatever ships here, and a dev
|
|
150
150
|
* deployment can be reset out from under them.
|
|
151
151
|
*/
|
|
152
|
-
const DEFAULT_SITE_URL = process.env.NEUVIKON_URL ?? "https://
|
|
152
|
+
const DEFAULT_SITE_URL = process.env.NEUVIKON_URL ?? "https://flexible-bird-801.eu-west-1.convex.site";
|
|
153
153
|
const CONFIG_DIR = join(homedir(), ".neuvikon");
|
|
154
154
|
const CONFIG_PATH = join(CONFIG_DIR, "config.json");
|
|
155
|
+
/**
|
|
156
|
+
* Somewhere a browser cannot open — CI, a container, a remote box — there is no
|
|
157
|
+
* way to complete a device login, so a token handed in through the environment
|
|
158
|
+
* stands in for one. It wins over the config file: an explicit env var is the
|
|
159
|
+
* more specific instruction.
|
|
160
|
+
*/
|
|
161
|
+
function credentialsFromEnv() {
|
|
162
|
+
const token = process.env.NEUVIKON_TOKEN;
|
|
163
|
+
if (!token) return null;
|
|
164
|
+
return {
|
|
165
|
+
token,
|
|
166
|
+
url: DEFAULT_SITE_URL
|
|
167
|
+
};
|
|
168
|
+
}
|
|
155
169
|
function readCredentials() {
|
|
170
|
+
const fromEnv = credentialsFromEnv();
|
|
171
|
+
if (fromEnv) return fromEnv;
|
|
156
172
|
let raw;
|
|
157
173
|
try {
|
|
158
174
|
raw = readFileSync(CONFIG_PATH, "utf8");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "neuvikon",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Tell Neuvikon which ticket your coding agent is working on.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"neuvikon",
|
|
@@ -10,6 +10,11 @@
|
|
|
10
10
|
"ticket"
|
|
11
11
|
],
|
|
12
12
|
"homepage": "https://neuvikon.com",
|
|
13
|
+
"repository": {
|
|
14
|
+
"type": "git",
|
|
15
|
+
"url": "git+https://github.com/ogulcan-neuvikon/neuvikon-cli.git"
|
|
16
|
+
},
|
|
17
|
+
"bugs": "https://github.com/ogulcan-neuvikon/neuvikon-cli/issues",
|
|
13
18
|
"author": "Neuvikon <neuvikon@gmail.com>",
|
|
14
19
|
"license": "MIT",
|
|
15
20
|
"type": "module",
|
|
@@ -24,6 +29,7 @@
|
|
|
24
29
|
"engines": {
|
|
25
30
|
"node": ">=20"
|
|
26
31
|
},
|
|
32
|
+
"packageManager": "pnpm@11.8.0",
|
|
27
33
|
"scripts": {
|
|
28
34
|
"build": "tsdown",
|
|
29
35
|
"dev": "tsdown --watch",
|