@tmcayden/youtrack-axi 0.1.0 → 0.1.2

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 CHANGED
@@ -35,41 +35,69 @@ npm install -g /path/to/youtrack-axi
35
35
 
36
36
  ## Configuration
37
37
 
38
- Credentials are read in this order:
38
+ Credentials are two values, `YOUTRACK_URL` and `YOUTRACK_TOKEN`. A config file
39
+ is simply a way to set them, so the file and the environment share one set of
40
+ names. Each value is resolved independently, in this order:
39
41
 
40
- 1. `YOUTRACK_URL` / `YOUTRACK_TOKEN` environment variables
41
- 2. `$HARNESS_STATE_ROOT/.timesheet.json` (`youtrack_url`, `youtrack_token`)
42
- 3. `~/.config/youtrack-axi/config.json`
42
+ 1. `YOUTRACK_URL` / `YOUTRACK_TOKEN` in the environment
43
+ 2. the file named by `--config <path>`
44
+ 3. the file named by `YOUTRACK_AXI_CONFIG`
45
+ 4. `~/.config/youtrack-axi/.env` (honours `XDG_CONFIG_HOME`)
43
46
 
44
- `setup` writes the dedicated file only when the shared one is absent, so it never
45
- shadows an existing setup:
47
+ Environment values sit on top so `YOUTRACK_TOKEN` reliably overrides a stored one
48
+ - useful in CI, and when rotating a token. `--config` selects *which file* is
49
+ consulted rather than supplying a value, so the two never compete.
50
+
51
+ A config file is an env file:
52
+
53
+ ```sh
54
+ YOUTRACK_URL="https://example.youtrack.cloud"
55
+ YOUTRACK_TOKEN="perm:..."
56
+ ```
57
+
58
+ `export` prefixes, `#` comments, and single or double quoting all work, so the
59
+ same file can be sourced by a shell. Files are written with mode `0600`, and
60
+ `setup --verify` warns if the one it read is readable by other accounts.
61
+
62
+ A file whose first character is `{` is parsed as JSON instead, accepting `url` /
63
+ `token` or `youtrack_url` / `youtrack_token`. That is there so a file already
64
+ holding other tooling's settings can be named with `--config` without being
65
+ reshaped; new files should use the env format.
46
66
 
47
67
  ```sh
48
68
  youtrack-axi setup --url "https://example.youtrack.cloud" --token "<permanent-token>"
69
+ youtrack-axi setup --config ~/.config/work.env --url "https://..." --token "..."
49
70
  youtrack-axi setup --verify
50
71
  ```
51
72
 
52
- The token is never written to stdout, a log, or a commit. `setup --verify`
53
- confirms it works by naming the authenticated login instead.
73
+ `setup` rewrites only its own two keys, so comments, ordering, and unrelated
74
+ variables in an existing file survive. The token is never written to stdout, a
75
+ log, or a commit; `setup --verify` confirms it works by naming the authenticated
76
+ login instead.
77
+
78
+ A path passed to `--config` or `YOUTRACK_AXI_CONFIG` must exist - a missing file
79
+ is an error, never a silent fallthrough to another source. There is deliberately
80
+ no automatic project-local config file, since a credential file inside a
81
+ repository is easy to commit by accident.
54
82
 
55
83
  ## Commands
56
84
 
57
85
  ```sh
58
86
  youtrack-axi # your open issues
59
- youtrack-axi issues "project: GSE #Unresolved" --limit 20
87
+ youtrack-axi issues "project: PROJ #Unresolved" --limit 20
60
88
  youtrack-axi issues --assignee me --fields Priority,Type
61
- youtrack-axi view GSE-123 [--full]
62
- youtrack-axi create --project GSE --summary "..." [--description "..."]
63
- youtrack-axi comment GSE-123 "..."
64
- youtrack-axi cmd GSE-123 --command "in progress"
65
- youtrack-axi work GSE-123 # read logged time
66
- youtrack-axi work GSE-123 --log 1h30m --date 2026-09-05 --type Development --text "..."
89
+ youtrack-axi view PROJ-123 [--full]
90
+ youtrack-axi create --project PROJ --summary "..." [--description "..."]
91
+ youtrack-axi comment PROJ-123 "..."
92
+ youtrack-axi cmd PROJ-123 --command "in progress"
93
+ youtrack-axi work PROJ-123 # read logged time
94
+ youtrack-axi work PROJ-123 --log 1h30m --date 2026-09-05 --type Development --text "..."
67
95
  youtrack-axi projects
68
- youtrack-axi fields GSE [--full]
96
+ youtrack-axi fields PROJ [--full]
69
97
  ```
70
98
 
71
- Every subcommand takes `--help`. Exit codes are 0 for success including no-ops,
72
- 1 for errors, 2 for usage errors.
99
+ `--help` and `--config` are accepted on every command. Exit codes are 0 for
100
+ success including no-ops, 1 for errors, 2 for usage errors.
73
101
 
74
102
  `cmd` is idempotent: applying a state an issue is already in reports a no-op and
75
103
  exits 0, and any real change is reported as a field-level diff.
package/dist/cli.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { runAxiCli } from "axi-sdk-js";
2
2
  import { renderError, renderOutput } from "./render.js";
3
3
  import { resolveConfig } from "./config.js";
4
- import { renderCommandHelp } from "./flags.js";
4
+ import { configPathFromArgs, renderCommandHelp } from "./flags.js";
5
5
  import { ISSUE_LIST_FIELDS, YouTrackClient } from "./youtrack.js";
6
6
  import { VERSION } from "./version.js";
7
7
  import { DEFAULT_QUERY, issueListBody, issuesSpec, runIssues, runView, viewSpec } from "./commands/issues.js";
@@ -44,8 +44,9 @@ function topLevelHelp() {
44
44
  version: VERSION,
45
45
  commands: SPECS.map((spec) => ({ command: spec.name, usage: spec.usage, description: spec.description })),
46
46
  config: [
47
- "Credentials come from $HARNESS_STATE_ROOT/.timesheet.json, then a dedicated config file",
48
- "YOUTRACK_URL and YOUTRACK_TOKEN override both",
47
+ "YOUTRACK_URL and YOUTRACK_TOKEN win when set",
48
+ "Otherwise: --config <path>, then $YOUTRACK_AXI_CONFIG, then ~/.config/youtrack-axi/config.json",
49
+ "Config files are env files: YOUTRACK_URL=... and YOUTRACK_TOKEN=...",
49
50
  ],
50
51
  help: [
51
52
  "Run `youtrack-axi` with no arguments to see your open issues",
@@ -75,13 +76,9 @@ export async function main() {
75
76
  const spec = SPECS.find((candidate) => candidate.name === command);
76
77
  return spec ? `${renderOutput(renderCommandHelp(spec))}\n` : null;
77
78
  },
78
- // `setup` must run before credentials exist, so context resolution - which
79
- // requires them - is skipped for it and for pure help lookups.
80
- resolveContext: ({ command, args }) => {
81
- if (command === "setup" || args.includes("--help"))
82
- return undefined;
83
- return new YouTrackClient(resolveConfig());
84
- },
79
+ // The client resolves credentials lazily, so `setup` can run before any
80
+ // exist and argument validation always reports before a config error would.
81
+ resolveContext: ({ args }) => new YouTrackClient(() => resolveConfig({ configPath: configPathFromArgs(args) })),
85
82
  renderUnknownCommand: (command) => `${renderError(`Unknown command: ${command}`, "VALIDATION_ERROR", [
86
83
  `Valid commands: ${SPECS.map((spec) => spec.name).join(", ")}`,
87
84
  "Run `youtrack-axi` with no arguments to see your open issues",
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,6 @@ export const projectsSpec = {
7
7
  usage: "projects [--limit <n>]",
8
8
  description: "List the projects this account can see",
9
9
  flags: {
10
- "--help": { kind: "boolean", description: "Show this help" },
11
10
  "--limit": { kind: "string", description: "Maximum projects to return", default: String(DEFAULT_LIMIT) },
12
11
  },
13
12
  examples: ["youtrack-axi projects"],
@@ -41,10 +40,9 @@ export const fieldsSpec = {
41
40
  usage: "fields <SHORT> [--full]",
42
41
  description: "List a project's custom fields and their allowed values",
43
42
  flags: {
44
- "--help": { kind: "boolean", description: "Show this help" },
45
43
  "--full": { kind: "boolean", description: "List every allowed value instead of the first few" },
46
44
  },
47
- examples: ["youtrack-axi fields GSE", "youtrack-axi fields GSE --full"],
45
+ examples: ["youtrack-axi fields PROJ", "youtrack-axi fields PROJ --full"],
48
46
  };
49
47
  export async function runFields(args, client) {
50
48
  const parsed = parseArgs(fieldsSpec, args);
@@ -1 +1 @@
1
- {"version":3,"file":"admin.js","sourceRoot":"","sources":["../../src/commands/admin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin.js","sourceRoot":"","sources":["../../src/commands/admin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EACL,QAAQ,EACR,SAAS,EACT,WAAW,EACX,sBAAsB,EACtB,iBAAiB,GAElB,MAAM,aAAa,CAAC;AAGrB,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAE9B,MAAM,CAAC,MAAM,YAAY,GAAgB;IACvC,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,wBAAwB;IAC/B,WAAW,EAAE,wCAAwC;IACrD,KAAK,EAAE;QACL,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE;KACzG;IACD,QAAQ,EAAE,CAAC,uBAAuB,CAAC;CACpC,CAAC;AAQF,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAc,EAAE,MAAsB;IACtE,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAC7C,sBAAsB,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IAE1E,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAY,gBAAgB,EAAE;QAC7D,MAAM,EAAE,yBAAyB;QACjC,IAAI,EAAE,KAAK;KACZ,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAEnD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO;YACL,QAAQ,EAAE,2CAA2C;YACrD,IAAI,EAAE,CAAC,mEAAmE,CAAC;SAC5E,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,SAAS,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;QAC/E,IAAI,EAAE;YACJ,2FAA2F;YAC3F,oEAAoE;SACrE;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAgB;IACrC,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,yBAAyB;IAChC,WAAW,EAAE,yDAAyD;IACtE,KAAK,EAAE;QACL,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,mDAAmD,EAAE;KAChG;IACD,QAAQ,EAAE,CAAC,0BAA0B,EAAE,iCAAiC,CAAC;CAC1E,CAAC;AAQF,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAc,EAAE,MAAsB;IACpE,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;IACtE,sBAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAExC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAA6C,gBAAgB,EAAE;QAC9F,MAAM,EAAE,cAAc;QACtB,IAAI,EAAE,GAAG;KACV,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7F,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,QAAQ,CAAC,8BAA8B,SAAS,EAAE,EAAE,WAAW,EAAE;YACzE,uDAAuD;SACxD,CAAC,CAAC;IACL,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAuB,kBAAkB,OAAO,CAAC,EAAE,eAAe,EAAE;QACjG,MAAM,EAAE,kEAAkE;QAC1E,IAAI,EAAE,GAAG;KACV,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,MAAM,EAAE,iCAAiC,SAAS,EAAE,EAAE,CAAC;IAClE,CAAC;IAED,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5B,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjF,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;QACnE,IAAI,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM;YAAE,YAAY,GAAG,IAAI,CAAC;QACtD,OAAO;YACL,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE;YACzB,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,IAAI,EAAE;YACzC,QAAQ,EAAE,CAAC,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;YAC/C,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;YACzB,WAAW,EAAE,MAAM,CAAC,MAAM;SAC3B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE;YACJ,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,6BAA6B,SAAS,sCAAsC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvG,uCAAuC,SAAS,iDAAiD;YACjG,sEAAsE;SACvE;KACF,CAAC;AACJ,CAAC"}
@@ -8,7 +8,6 @@ export const issuesSpec = {
8
8
  usage: 'issues ["<query>"] [--project <SHORT>] [--state <state>] [--assignee <login>] [--fields <a,b>] [--limit <n>]',
9
9
  description: "List issues matching a YouTrack query",
10
10
  flags: {
11
- "--help": { kind: "boolean", description: "Show this help" },
12
11
  "--project": { kind: "string", description: "Restrict to a project short name" },
13
12
  "--state": { kind: "string", description: "Restrict to a State value" },
14
13
  "--assignee": { kind: "string", description: "Restrict to an assignee login, or `me`" },
@@ -17,7 +16,7 @@ export const issuesSpec = {
17
16
  },
18
17
  examples: [
19
18
  "youtrack-axi issues",
20
- 'youtrack-axi issues "project: GSE #Unresolved" --limit 20',
19
+ 'youtrack-axi issues "project: PROJ #Unresolved" --limit 20',
21
20
  "youtrack-axi issues --assignee me --state Open --fields Priority,Type",
22
21
  ],
23
22
  };
@@ -79,10 +78,9 @@ export const viewSpec = {
79
78
  usage: "view <ID> [--full]",
80
79
  description: "Show one issue in full detail",
81
80
  flags: {
82
- "--help": { kind: "boolean", description: "Show this help" },
83
81
  "--full": { kind: "boolean", description: "Print the complete description instead of a preview" },
84
82
  },
85
- examples: ["youtrack-axi view GSE-123", "youtrack-axi view GSE-123 --full"],
83
+ examples: ["youtrack-axi view PROJ-123", "youtrack-axi view PROJ-123 --full"],
86
84
  };
87
85
  export async function runView(args, client) {
88
86
  const parsed = parseArgs(viewSpec, args);
@@ -1 +1 @@
1
- {"version":3,"file":"issues.js","sourceRoot":"","sources":["../../src/commands/issues.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"issues.js","sourceRoot":"","sources":["../../src/commands/issues.ts"],"names":[],"mappings":"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"}
@@ -5,14 +5,13 @@ export const createSpec = {
5
5
  usage: 'create --project <SHORT> --summary "<text>" [--description "<text>"]',
6
6
  description: "Create a new issue in a project",
7
7
  flags: {
8
- "--help": { kind: "boolean", description: "Show this help" },
9
- "--project": { kind: "string", description: "Project short name, e.g. GSE" },
8
+ "--project": { kind: "string", description: "Project short name, e.g. PROJ" },
10
9
  "--summary": { kind: "string", description: "Issue summary line" },
11
10
  "--description": { kind: "string", description: "Issue description body" },
12
11
  },
13
12
  examples: [
14
- 'youtrack-axi create --project GSE --summary "Fix map zoom regression"',
15
- 'youtrack-axi create --project GSE --summary "Add audit log" --description "Track who changed what."',
13
+ 'youtrack-axi create --project PROJ --summary "Fix map zoom regression"',
14
+ 'youtrack-axi create --project PROJ --summary "Add audit log" --description "Track who changed what."',
16
15
  ],
17
16
  };
18
17
  export async function runCreate(args, client) {
@@ -40,11 +39,9 @@ export const commentSpec = {
40
39
  name: "comment",
41
40
  usage: 'comment <ID> "<text>"',
42
41
  description: "Add a comment to an issue",
43
- flags: {
44
- "--help": { kind: "boolean", description: "Show this help" },
45
- },
42
+ flags: {},
46
43
  examples: [
47
- 'youtrack-axi comment GSE-123 "Deployed to staging, ready for QA."',
44
+ 'youtrack-axi comment PROJ-123 "Deployed to staging, ready for QA."',
48
45
  ],
49
46
  };
50
47
  export async function runComment(args, client) {
@@ -67,14 +64,13 @@ export const cmdSpec = {
67
64
  usage: 'cmd <ID> --command "<youtrack command>"',
68
65
  description: "Apply a YouTrack command to an issue, such as a state or assignee change",
69
66
  flags: {
70
- "--help": { kind: "boolean", description: "Show this help" },
71
67
  "--command": { kind: "string", description: "YouTrack command string" },
72
68
  "--comment": { kind: "string", description: "Comment to add alongside the command" },
73
69
  },
74
70
  examples: [
75
- 'youtrack-axi cmd GSE-123 --command "in progress"',
76
- 'youtrack-axi cmd GSE-123 --command "for me"',
77
- 'youtrack-axi cmd GSE-123 --command "State Fixed" --comment "Shipped in 2.4.1"',
71
+ 'youtrack-axi cmd PROJ-123 --command "in progress"',
72
+ 'youtrack-axi cmd PROJ-123 --command "for me"',
73
+ 'youtrack-axi cmd PROJ-123 --command "State Fixed" --comment "Shipped in 2.4.1"',
78
74
  ],
79
75
  };
80
76
  const CMD_STATE_FIELDS = "customFields(name,value(name,login))";
@@ -1 +1 @@
1
- {"version":3,"file":"mutate.js","sourceRoot":"","sources":["../../src/commands/mutate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mutate.js","sourceRoot":"","sources":["../../src/commands/mutate.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,14 @@
1
1
  import { AxiError, installSessionStartHooks, sessionStartHookStatus } from "axi-sdk-js";
2
2
  import { collapseHome } from "../render.js";
3
- import { boolFlag, parseArgs, rejectExtraPositionals, requireString } from "../flags.js";
4
- import { resolveConfig, writeDedicatedConfig } from "../config.js";
3
+ import { boolFlag, optionalString, parseArgs, rejectExtraPositionals, requireString, } from "../flags.js";
4
+ import { CONFIG_PATH_ENV, permissionWarning, resolveConfig, writeConfig } from "../config.js";
5
5
  import { YouTrackClient } from "../youtrack.js";
6
6
  const HOOK_MARKER = "youtrack-axi";
7
7
  export const setupSpec = {
8
8
  name: "setup",
9
- usage: 'setup [--url "https://<host>" --token "<permanent-token>"] [--hooks]',
9
+ usage: 'setup [--url "https://<host>" --token "<permanent-token>"] [--config <path>] [--hooks]',
10
10
  description: "Store YouTrack credentials and optionally register the session-start home view",
11
11
  flags: {
12
- "--help": { kind: "boolean", description: "Show this help" },
13
12
  "--url": { kind: "string", description: "YouTrack base URL" },
14
13
  "--token": { kind: "string", description: "YouTrack permanent token" },
15
14
  "--hooks": { kind: "boolean", description: "Register a SessionStart hook for Claude Code, Codex, and OpenCode" },
@@ -17,8 +16,8 @@ export const setupSpec = {
17
16
  },
18
17
  examples: [
19
18
  'youtrack-axi setup --url "https://example.youtrack.cloud" --token "perm:..."',
19
+ 'youtrack-axi setup --config ~/.config/work.env --url "https://example.youtrack.cloud" --token "perm:..."',
20
20
  "youtrack-axi setup --verify",
21
- "youtrack-axi setup --hooks",
22
21
  ],
23
22
  };
24
23
  export async function runSetup(args) {
@@ -26,6 +25,7 @@ export async function runSetup(args) {
26
25
  rejectExtraPositionals(parsed, setupSpec, 0);
27
26
  const wantsHooks = boolFlag(parsed, "--hooks");
28
27
  const wantsVerify = boolFlag(parsed, "--verify");
28
+ const configPath = optionalString(parsed, "--config");
29
29
  const hasUrl = parsed.flags["--url"] !== undefined;
30
30
  const hasToken = parsed.flags["--token"] !== undefined;
31
31
  if (!hasUrl && !hasToken && !wantsHooks && !wantsVerify) {
@@ -38,26 +38,27 @@ export async function runSetup(args) {
38
38
  if (hasUrl || hasToken) {
39
39
  const url = requireString(parsed, setupSpec, "--url");
40
40
  const token = requireString(parsed, setupSpec, "--token");
41
- const result = writeDedicatedConfig(url, token);
42
- output["config"] = result.skipped
43
- ? {
44
- written: "no",
45
- reason: result.reason ?? "",
46
- existing: collapseHome(result.path),
47
- }
48
- : { written: "yes", path: collapseHome(result.path), mode: "0600" };
41
+ const result = writeConfig(url, token, configPath);
42
+ output["config"] = {
43
+ path: collapseHome(result.path),
44
+ action: result.created ? "created" : "updated",
45
+ mode: "0600",
46
+ };
49
47
  }
50
48
  if (wantsHooks) {
51
49
  output["hooks"] = installHooks();
52
50
  }
53
51
  if (wantsVerify || hasUrl || hasToken) {
54
- output["verify"] = await verify();
52
+ output["verify"] = await verify(configPath);
55
53
  }
56
54
  return {
57
55
  ...output,
58
56
  help: [
59
57
  "Run `youtrack-axi` to see your open issues",
60
58
  ...(wantsHooks ? [] : ["Run `youtrack-axi setup --hooks` to show that home view at every session start"]),
59
+ ...(configPath && !process.env[CONFIG_PATH_ENV]
60
+ ? [`Set ${CONFIG_PATH_ENV}=${configPath} so this file is found without passing --config`]
61
+ : []),
61
62
  ],
62
63
  };
63
64
  }
@@ -87,15 +88,17 @@ function describe(state) {
87
88
  return { installed: state.installed ? "yes" : "no", path: collapseHome(state.path) };
88
89
  }
89
90
  /** Confirms the credentials work without ever printing the token itself. */
90
- async function verify() {
91
- const config = resolveConfig();
91
+ async function verify(configPath) {
92
+ const config = resolveConfig({ configPath });
92
93
  const client = new YouTrackClient(config);
93
94
  const me = await client.get("users/me", { fields: "login,name" });
95
+ const warning = permissionWarning(config.source);
94
96
  return {
95
97
  url: config.url,
96
98
  source: collapseHome(config.source),
97
99
  authenticated_as: me.login ?? "",
98
100
  token: "stored, not shown",
101
+ ...(warning ? { warning: collapseHome(warning) } : {}),
99
102
  };
100
103
  }
101
104
  //# sourceMappingURL=setup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,6 @@ export const workSpec = {
8
8
  usage: 'work <ID> [--log <duration> [--date YYYY-MM-DD] [--text "<note>"] [--type <name>]] [--limit <n>]',
9
9
  description: "List logged work on an issue, or log new work against it",
10
10
  flags: {
11
- "--help": { kind: "boolean", description: "Show this help" },
12
11
  "--log": { kind: "string", description: "Duration to log, e.g. 30m, 1h, 1h 30m, 2d, or bare minutes" },
13
12
  "--date": { kind: "string", description: "Work date as YYYY-MM-DD", default: "today" },
14
13
  "--text": { kind: "string", description: "Note describing the work" },
@@ -16,9 +15,9 @@ export const workSpec = {
16
15
  "--limit": { kind: "string", description: "Maximum work items to list", default: String(DEFAULT_LIMIT) },
17
16
  },
18
17
  examples: [
19
- "youtrack-axi work GSE-123",
20
- 'youtrack-axi work GSE-123 --log 1h30m --text "Traced the zoom regression"',
21
- "youtrack-axi work GSE-123 --log 2h --date 2026-09-05 --type Development",
18
+ "youtrack-axi work PROJ-123",
19
+ 'youtrack-axi work PROJ-123 --log 1h30m --text "Traced the zoom regression"',
20
+ "youtrack-axi work PROJ-123 --log 2h --date 2026-09-05 --type Development",
22
21
  ],
23
22
  };
24
23
  export async function runWork(args, client) {
@@ -1 +1 @@
1
- {"version":3,"file":"work.js","sourceRoot":"","sources":["../../src/commands/work.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"work.js","sourceRoot":"","sources":["../../src/commands/work.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EACL,cAAc,EACd,SAAS,EACT,WAAW,EACX,sBAAsB,EACtB,iBAAiB,GAElB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC9G,OAAO,EAAE,gBAAgB,EAAiC,MAAM,gBAAgB,CAAC;AAEjF,MAAM,aAAa,GAAG,EAAE,CAAC;AAEzB,MAAM,CAAC,MAAM,QAAQ,GAAgB;IACnC,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,kGAAkG;IACzG,WAAW,EAAE,0DAA0D;IACvE,KAAK,EAAE;QACL,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4DAA4D,EAAE;QACtG,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE,OAAO,EAAE,OAAO,EAAE;QACtF,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE;QACrE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE;QAClF,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE;KACzG;IACD,QAAQ,EAAE;QACR,4BAA4B;QAC5B,4EAA4E;QAC5E,0EAA0E;KAC3E;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAc,EAAE,MAAsB;IAClE,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACzC,MAAM,EAAE,GAAG,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1D,sBAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE5C,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,KAAK,MAAM,SAAS,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;YACvD,IAAI,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,SAAS,EAAE,CAAC;gBACpD,MAAM,IAAI,QAAQ,CAAC,GAAG,SAAS,iCAAiC,EAAE,kBAAkB,EAAE;oBACpF,kDAAkD,EAAE,aAAa,SAAS,QAAQ;oBAClF,2BAA2B,EAAE,gCAAgC;iBAC9D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,OAAO,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;AACrC,CAAC;AAED,gGAAgG;AAChG,KAAK,UAAU,mBAAmB,CAChC,MAAsB,EACtB,IAAwB;IAExB,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACzC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,GAAG,CAC5B,0CAA0C,EAC1C,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CACjC,CAAC;IACF,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9E,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC;QACf,MAAM,IAAI,QAAQ,CAAC,4BAA4B,IAAI,GAAG,EAAE,kBAAkB,EAAE;YAC1E,gBAAgB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACrE,wCAAwC;SACzC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;AAC1B,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,iBAAiB,CAAC,MAAsB,EAAE,EAAU,EAAE,KAAc;IACjF,IAAI,CAAC,CAAC,KAAK,YAAY,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY;QAAE,OAAO,KAAK,CAAC;IAC9E,MAAM,SAAS,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAA6C,gBAAgB,EAAE;YAC9F,MAAM,EAAE,cAAc;YACtB,IAAI,EAAE,GAAG;SACV,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7F,IAAI,CAAC,OAAO,EAAE,EAAE;YAAE,OAAO,KAAK,CAAC;QAC/B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAC/B,kBAAkB,OAAO,CAAC,EAAE,uBAAuB,EACnD,EAAE,MAAM,EAAE,SAAS,EAAE,CACtB,CAAC;QACF,IAAI,QAAQ,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC/B,OAAO,IAAI,QAAQ,CAAC,4CAA4C,SAAS,EAAE,EAAE,WAAW,EAAE;gBACxF,4DAA4D,SAAS,EAAE;gBACvE,2BAA2B,EAAE,kEAAkE;aAChG,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,QAAQ,CAAC,2CAA2C,SAAS,EAAE,EAAE,YAAY,EAAE;YACxF,uEAAuE,SAAS,EAAE;YAClF,2BAA2B,EAAE,kEAAkE;SAChG,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,mEAAmE;IACrE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,MAAsB,EAAE,EAAU,EAAE,KAAa;IACvE,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,GAAG,CAAa,UAAU,kBAAkB,CAAC,EAAE,CAAC,yBAAyB,EAAE;QACpG,MAAM,EAAE,gBAAgB;QACxB,IAAI,EAAE,KAAK;KACZ,CAAC,CAAC;IAEH,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO;YACL,IAAI,EAAE,0BAA0B,EAAE,EAAE;YACpC,IAAI,EAAE,CAAC,2BAA2B,EAAE,4CAA4C,CAAC;SAClF,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IACxE,OAAO;QACL,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzC,KAAK,EAAE,KAAK,CAAC,MAAM;QACnB,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC;QACzB,IAAI,EAAE,CAAC,2BAA2B,EAAE,0DAA0D,CAAC;KAChG,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,OAAO,CACpB,MAAsB,EACtB,EAAU,EACV,MAAoC;IAEpC,MAAM,QAAQ,GAAG,aAAa,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1F,MAAM,IAAI,GAAG,aAAa,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7E,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEjF,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,CACzB,UAAU,kBAAkB,CAAC,EAAE,CAAC,yBAAyB,EACzD;YACE,QAAQ;YACR,IAAI;YACJ,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1B,EACD,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAC7B,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,iBAAiB,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAa,UAAU,kBAAkB,CAAC,EAAE,CAAC,yBAAyB,EAAE;QACvG,MAAM,EAAE,mBAAmB;QAC3B,IAAI,EAAE,GAAG;KACV,CAAC,CAAC;IAEH,OAAO;QACL,MAAM,EAAE;YACN,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;YAChE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,YAAY,IAAI,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,IAAI,CAAC,CAAC;YACzF,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;YACnC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1B;QACD,WAAW,EAAE,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,EAAE,CAAC,2BAA2B,EAAE,sCAAsC,CAAC;KAC5E,CAAC;AACJ,CAAC"}
package/dist/config.d.ts CHANGED
@@ -3,12 +3,19 @@ export interface Config {
3
3
  token: string;
4
4
  source: string;
5
5
  }
6
- export declare function sharedConfigPath(): string | undefined;
7
- export declare function dedicatedConfigPath(): string;
8
- export declare function resolveConfig(): Config;
6
+ export declare const CONFIG_PATH_ENV = "YOUTRACK_AXI_CONFIG";
7
+ export declare const URL_KEY = "YOUTRACK_URL";
8
+ export declare const TOKEN_KEY = "YOUTRACK_TOKEN";
9
+ export declare function userConfigPath(): string;
10
+ export interface ResolveConfigOptions {
11
+ configPath?: string | undefined;
12
+ }
13
+ export declare function resolveConfig(options?: ResolveConfigOptions): Config;
9
14
  export interface WriteConfigResult {
10
15
  path: string;
11
- skipped: boolean;
12
- reason?: string;
16
+ created: boolean;
13
17
  }
14
- export declare function writeDedicatedConfig(url: string, token: string): WriteConfigResult;
18
+ /** Merges into an existing file so comments and unrelated keys survive. */
19
+ export declare function writeConfig(url: string, token: string, configPath?: string): WriteConfigResult;
20
+ /** A token in a file readable by other accounts is worth saying out loud. */
21
+ export declare function permissionWarning(path: string): string | undefined;
package/dist/config.js CHANGED
@@ -1,59 +1,136 @@
1
- import { readFileSync, writeFileSync, mkdirSync, existsSync } from "node:fs";
1
+ import { readFileSync, writeFileSync, mkdirSync, existsSync, statSync } from "node:fs";
2
2
  import { homedir } from "node:os";
3
3
  import { dirname, join } from "node:path";
4
4
  import { AxiError } from "axi-sdk-js";
5
- export function sharedConfigPath() {
6
- const root = process.env.HARNESS_STATE_ROOT;
7
- return root ? join(root, ".timesheet.json") : undefined;
5
+ import { parseEnvFile, updateEnvFile } from "./dotenv.js";
6
+ export const CONFIG_PATH_ENV = "YOUTRACK_AXI_CONFIG";
7
+ export const URL_KEY = "YOUTRACK_URL";
8
+ export const TOKEN_KEY = "YOUTRACK_TOKEN";
9
+ function configDir() {
10
+ return join(process.env["XDG_CONFIG_HOME"] ?? join(homedir(), ".config"), "youtrack-axi");
8
11
  }
9
- export function dedicatedConfigPath() {
10
- return join(process.env.XDG_CONFIG_HOME ?? join(homedir(), ".config"), "youtrack-axi", "config.json");
12
+ export function userConfigPath() {
13
+ return join(configDir(), ".env");
11
14
  }
12
- function readConfigFile(path) {
13
- if (!path || !existsSync(path))
14
- return undefined;
15
+ /** Read when present so a config written by an earlier version keeps working. */
16
+ function legacyUserConfigPath() {
17
+ return join(configDir(), "config.json");
18
+ }
19
+ /**
20
+ * A credentials file sets the same two variables the environment does. JSON is
21
+ * detected by shape rather than by extension, so a file holding other tooling's
22
+ * settings can still be named with --config.
23
+ */
24
+ function parseConfigFile(path) {
25
+ let raw;
15
26
  try {
16
- const parsed = JSON.parse(readFileSync(path, "utf8"));
17
- return typeof parsed === "object" && parsed !== null ? parsed : undefined;
27
+ raw = readFileSync(path, "utf8");
18
28
  }
19
29
  catch {
20
- throw new AxiError(`Config file at ${path} is not valid JSON`, "CONFIG_ERROR", [
21
- `Repair ${path}, or run \`youtrack-axi setup --url "https://<host>" --token "<token>"\``,
30
+ throw new AxiError(`Cannot read the config file at ${path}`, "VALIDATION_ERROR", [
31
+ "Check the path and that the file is readable",
22
32
  ]);
23
33
  }
34
+ if (raw.trimStart().startsWith("{")) {
35
+ let parsed;
36
+ try {
37
+ parsed = JSON.parse(raw);
38
+ }
39
+ catch {
40
+ throw new AxiError(`Config file at ${path} is not valid JSON`, "VALIDATION_ERROR", [
41
+ `Or write it as an env file: ${URL_KEY}=https://<host>`,
42
+ ]);
43
+ }
44
+ const record = parsed;
45
+ const values = {};
46
+ const take = (target, ...keys) => {
47
+ for (const key of keys) {
48
+ const value = record[key];
49
+ if (typeof value === "string" && value.length > 0) {
50
+ values[target] = value;
51
+ return;
52
+ }
53
+ }
54
+ };
55
+ take(URL_KEY, URL_KEY, "url", "youtrack_url");
56
+ take(TOKEN_KEY, TOKEN_KEY, "token", "youtrack_token");
57
+ return values;
58
+ }
59
+ return parseEnvFile(raw);
24
60
  }
25
- export function resolveConfig() {
26
- const shared = sharedConfigPath();
27
- const candidates = [
28
- { file: readConfigFile(shared), source: shared ?? "shared config" },
29
- { file: readConfigFile(dedicatedConfigPath()), source: dedicatedConfigPath() },
30
- ];
31
- const found = candidates.find((c) => c.file?.youtrack_url && c.file?.youtrack_token);
32
- const url = process.env.YOUTRACK_URL ?? found?.file?.youtrack_url;
33
- const token = process.env.YOUTRACK_TOKEN ?? found?.file?.youtrack_token;
61
+ /** An explicitly named file must exist; an implicit one is allowed to be absent. */
62
+ function readSource(path, explicit) {
63
+ if (!path)
64
+ return undefined;
65
+ if (!existsSync(path)) {
66
+ if (!explicit)
67
+ return undefined;
68
+ throw new AxiError(`No config file at ${path}`, "VALIDATION_ERROR", [
69
+ `Run \`youtrack-axi setup --config "${path}" --url "https://<host>" --token "<permanent-token>"\` to create it`,
70
+ ]);
71
+ }
72
+ return { values: parseConfigFile(path), source: path };
73
+ }
74
+ export function resolveConfig(options = {}) {
75
+ const fileSources = [
76
+ readSource(options.configPath, true),
77
+ readSource(process.env[CONFIG_PATH_ENV], true),
78
+ readSource(userConfigPath(), false),
79
+ readSource(legacyUserConfigPath(), false),
80
+ ].filter((source) => source !== undefined);
81
+ const fromFiles = (key) => {
82
+ for (const { values, source } of fileSources) {
83
+ const value = values[key];
84
+ if (typeof value === "string" && value.length > 0)
85
+ return { value, source };
86
+ }
87
+ return undefined;
88
+ };
89
+ const urlFile = fromFiles(URL_KEY);
90
+ const tokenFile = fromFiles(TOKEN_KEY);
91
+ const url = process.env[URL_KEY] || urlFile?.value;
92
+ const token = process.env[TOKEN_KEY] || tokenFile?.value;
34
93
  if (!url || !token) {
35
94
  const missing = [!url ? "URL" : undefined, !token ? "token" : undefined].filter(Boolean).join(" and ");
36
95
  throw new AxiError(`YouTrack ${missing} not configured`, "CONFIG_ERROR", [
37
- `Run \`youtrack-axi setup --url "https://example.youtrack.cloud" --token "<permanent-token>"\``,
38
- "Or export YOUTRACK_URL and YOUTRACK_TOKEN",
96
+ `Run \`youtrack-axi setup --url "https://<host>" --token "<permanent-token>"\``,
97
+ `Or set ${URL_KEY} and ${TOKEN_KEY}, or point --config or ${CONFIG_PATH_ENV} at an env file setting them`,
39
98
  ]);
40
99
  }
41
- const source = process.env.YOUTRACK_URL || process.env.YOUTRACK_TOKEN ? "environment" : (found?.source ?? "environment");
100
+ const source = process.env[URL_KEY] && process.env[TOKEN_KEY]
101
+ ? "environment"
102
+ : (tokenFile?.source ?? urlFile?.source ?? "environment");
42
103
  return { url: url.replace(/\/+$/, ""), token, source };
43
104
  }
44
- export function writeDedicatedConfig(url, token) {
45
- const shared = readConfigFile(sharedConfigPath());
46
- if (shared?.youtrack_url && shared?.youtrack_token) {
47
- return {
48
- path: sharedConfigPath(),
49
- skipped: true,
50
- reason: "shared config already provides credentials",
51
- };
105
+ /** Merges into an existing file so comments and unrelated keys survive. */
106
+ export function writeConfig(url, token, configPath) {
107
+ const path = configPath ?? userConfigPath();
108
+ const created = !existsSync(path);
109
+ const existing = created ? "" : readFileSync(path, "utf8");
110
+ if (!created && existing.trimStart().startsWith("{")) {
111
+ throw new AxiError(`Refusing to overwrite the JSON config at ${path}`, "VALIDATION_ERROR", [
112
+ `Edit it by hand, or pass --config with a path ending in .env`,
113
+ `Credentials files are env files: ${URL_KEY}=... and ${TOKEN_KEY}=...`,
114
+ ]);
52
115
  }
53
- const path = dedicatedConfigPath();
54
116
  mkdirSync(dirname(path), { recursive: true });
55
- const existing = readConfigFile(path) ?? {};
56
- writeFileSync(path, `${JSON.stringify({ ...existing, youtrack_url: url.replace(/\/+$/, ""), youtrack_token: token }, null, 2)}\n`, { mode: 0o600 });
57
- return { path, skipped: false };
117
+ writeFileSync(path, updateEnvFile(existing, { [URL_KEY]: url.replace(/\/+$/, ""), [TOKEN_KEY]: token }), {
118
+ mode: 0o600,
119
+ });
120
+ return { path, created };
121
+ }
122
+ /** A token in a file readable by other accounts is worth saying out loud. */
123
+ export function permissionWarning(path) {
124
+ if (path === "environment")
125
+ return undefined;
126
+ try {
127
+ const mode = statSync(path).mode & 0o077;
128
+ if (mode === 0)
129
+ return undefined;
130
+ return `${path} is readable by other accounts - run \`chmod 600 ${path}\``;
131
+ }
132
+ catch {
133
+ return undefined;
134
+ }
58
135
  }
59
136
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * A minimal `.env` reader and writer. Only what a credentials file needs:
3
+ * `KEY=value`, optional `export`, `#` comments, and single or double quoting.
4
+ * Writing is line-wise so hand-written comments and ordering survive an update.
5
+ */
6
+ export declare function parseEnvFile(contents: string): Record<string, string>;
7
+ /** Rewrites the given keys in place, appending any that are not already present. */
8
+ export declare function updateEnvFile(contents: string, updates: Record<string, string>): string;
package/dist/dotenv.js ADDED
@@ -0,0 +1,61 @@
1
+ /**
2
+ * A minimal `.env` reader and writer. Only what a credentials file needs:
3
+ * `KEY=value`, optional `export`, `#` comments, and single or double quoting.
4
+ * Writing is line-wise so hand-written comments and ordering survive an update.
5
+ */
6
+ const LINE = /^\s*(?:export\s+)?([A-Za-z_][A-Za-z0-9_]*)\s*=\s*(.*?)\s*$/;
7
+ export function parseEnvFile(contents) {
8
+ const values = {};
9
+ for (const line of contents.split(/\r?\n/)) {
10
+ if (line.trim().length === 0 || line.trimStart().startsWith("#"))
11
+ continue;
12
+ const match = LINE.exec(line);
13
+ if (!match)
14
+ continue;
15
+ const [, key, rawValue] = match;
16
+ values[key] = unquote(rawValue);
17
+ }
18
+ return values;
19
+ }
20
+ function unquote(raw) {
21
+ if (raw.startsWith('"') && raw.endsWith('"') && raw.length >= 2) {
22
+ return raw
23
+ .slice(1, -1)
24
+ .replace(/\\n/g, "\n")
25
+ .replace(/\\r/g, "\r")
26
+ .replace(/\\t/g, "\t")
27
+ .replace(/\\(["\\])/g, "$1");
28
+ }
29
+ if (raw.startsWith("'") && raw.endsWith("'") && raw.length >= 2) {
30
+ return raw.slice(1, -1);
31
+ }
32
+ // An unquoted value ends at an inline comment, which must be preceded by space.
33
+ return raw.replace(/\s+#.*$/, "").trim();
34
+ }
35
+ function quote(value) {
36
+ return `"${value.replace(/([\\"])/g, "\\$1")}"`;
37
+ }
38
+ /** Rewrites the given keys in place, appending any that are not already present. */
39
+ export function updateEnvFile(contents, updates) {
40
+ const remaining = new Map(Object.entries(updates));
41
+ const lines = contents.length === 0 ? [] : contents.split(/\r?\n/);
42
+ const rewritten = lines.map((line) => {
43
+ const match = LINE.exec(line);
44
+ if (!match)
45
+ return line;
46
+ const key = match[1];
47
+ if (!remaining.has(key))
48
+ return line;
49
+ const value = remaining.get(key);
50
+ remaining.delete(key);
51
+ return `${line.trimStart().startsWith("export ") ? "export " : ""}${key}=${quote(value)}`;
52
+ });
53
+ while (rewritten.length > 0 && rewritten[rewritten.length - 1].trim().length === 0) {
54
+ rewritten.pop();
55
+ }
56
+ for (const [key, value] of remaining) {
57
+ rewritten.push(`${key}=${quote(value)}`);
58
+ }
59
+ return `${rewritten.join("\n")}\n`;
60
+ }
61
+ //# sourceMappingURL=dotenv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dotenv.js","sourceRoot":"","sources":["../src/dotenv.ts"],"names":[],"mappings":"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"}
package/dist/flags.d.ts CHANGED
@@ -11,11 +11,22 @@ export interface CommandSpec {
11
11
  flags: Record<string, FlagSpec>;
12
12
  examples: string[];
13
13
  }
14
+ /**
15
+ * Flags accepted by every command. Per AXI, `--help` is universal and a CLI may
16
+ * standardize additional globals; `--config` selects the credential file, which
17
+ * is orthogonal to what any single command does.
18
+ */
19
+ export declare const GLOBAL_FLAGS: Record<string, FlagSpec>;
14
20
  export interface ParsedArgs {
15
21
  positionals: string[];
16
22
  flags: Record<string, string | true>;
17
23
  }
18
24
  export declare function parseArgs(spec: CommandSpec, args: string[]): ParsedArgs;
25
+ /**
26
+ * Read before command dispatch, so credential resolution can happen outside any
27
+ * single command's argument parsing.
28
+ */
29
+ export declare function configPathFromArgs(args: string[]): string | undefined;
19
30
  export declare function requireString(parsed: ParsedArgs, spec: CommandSpec, name: string): string;
20
31
  export declare function optionalString(parsed: ParsedArgs, name: string): string | undefined;
21
32
  export declare function boolFlag(parsed: ParsedArgs, name: string): boolean;
package/dist/flags.js CHANGED
@@ -1,4 +1,13 @@
1
1
  import { AxiError } from "axi-sdk-js";
2
+ /**
3
+ * Flags accepted by every command. Per AXI, `--help` is universal and a CLI may
4
+ * standardize additional globals; `--config` selects the credential file, which
5
+ * is orthogonal to what any single command does.
6
+ */
7
+ export const GLOBAL_FLAGS = {
8
+ "--help": { kind: "boolean", description: "Show this help" },
9
+ "--config": { kind: "string", description: "Path to an env file setting YOUTRACK_URL and YOUTRACK_TOKEN" },
10
+ };
2
11
  /** Flags an agent is likely to guess from other trackers, pointed at the real name. */
3
12
  const RENAMED_FLAGS = {
4
13
  "--title": "--summary",
@@ -24,7 +33,7 @@ export function parseArgs(spec, args) {
24
33
  const eq = arg.indexOf("=");
25
34
  const name = eq === -1 ? arg : arg.slice(0, eq);
26
35
  const inlineValue = eq === -1 ? undefined : arg.slice(eq + 1);
27
- const flag = spec.flags[name];
36
+ const flag = spec.flags[name] ?? GLOBAL_FLAGS[name];
28
37
  if (!flag) {
29
38
  throw unknownFlag(spec, name);
30
39
  }
@@ -49,12 +58,32 @@ export function parseArgs(spec, args) {
49
58
  }
50
59
  function unknownFlag(spec, name) {
51
60
  const renamed = RENAMED_FLAGS[name];
52
- const valid = Object.keys(spec.flags).filter((name) => name !== "--help").join(", ");
61
+ const globals = Object.keys(GLOBAL_FLAGS).join(" and ");
62
+ const valid = Object.keys(spec.flags).join(", ");
53
63
  const suggestions = renamed && spec.flags[renamed]
54
64
  ? [`${name} is not a flag here; use ${renamed} instead`, `Run \`youtrack-axi ${spec.usage}\``]
55
- : [`valid flags for \`${spec.name}\`: ${valid} (--help always allowed)`, `Run \`youtrack-axi ${spec.usage}\``];
65
+ : [
66
+ valid.length > 0
67
+ ? `valid flags for \`${spec.name}\`: ${valid} (${globals} always allowed)`
68
+ : `\`${spec.name}\` takes no flags of its own (${globals} always allowed)`,
69
+ `Run \`youtrack-axi ${spec.usage}\``,
70
+ ];
56
71
  return new AxiError(`Unknown flag ${name} for \`${spec.name}\``, "VALIDATION_ERROR", suggestions);
57
72
  }
73
+ /**
74
+ * Read before command dispatch, so credential resolution can happen outside any
75
+ * single command's argument parsing.
76
+ */
77
+ export function configPathFromArgs(args) {
78
+ for (let i = 0; i < args.length; i++) {
79
+ const arg = args[i];
80
+ if (arg === "--config")
81
+ return args[i + 1];
82
+ if (arg.startsWith("--config="))
83
+ return arg.slice("--config=".length);
84
+ }
85
+ return undefined;
86
+ }
58
87
  export function requireString(parsed, spec, name) {
59
88
  const value = parsed.flags[name];
60
89
  if (typeof value !== "string" || value.length === 0) {
@@ -108,8 +137,6 @@ export function rejectExtraPositionals(parsed, spec, allowed) {
108
137
  export function renderCommandHelp(spec) {
109
138
  const flags = {};
110
139
  for (const [name, flag] of Object.entries(spec.flags)) {
111
- if (name === "--help")
112
- continue;
113
140
  flags[name] = flag.default ? `${flag.description} (default: ${flag.default})` : flag.description;
114
141
  }
115
142
  return {
@@ -117,6 +144,7 @@ export function renderCommandHelp(spec) {
117
144
  description: spec.description,
118
145
  usage: `youtrack-axi ${spec.usage}`,
119
146
  ...(Object.keys(flags).length > 0 ? { flags } : {}),
147
+ globals: Object.fromEntries(Object.entries(GLOBAL_FLAGS).map(([name, flag]) => [name, flag.description])),
120
148
  examples: spec.examples,
121
149
  };
122
150
  }
package/dist/flags.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"flags.js","sourceRoot":"","sources":["../src/flags.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flags.js","sourceRoot":"","sources":["../src/flags.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const VERSION = "0.1.0";
1
+ export declare const VERSION = "0.1.2";
package/dist/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = "0.1.0";
1
+ export const VERSION = "0.1.2";
2
2
  //# sourceMappingURL=version.js.map
@@ -37,8 +37,15 @@ export interface WorkItem {
37
37
  } | null;
38
38
  }
39
39
  export declare class YouTrackClient {
40
- private readonly config;
41
- constructor(config: Config);
40
+ #private;
41
+ private readonly configSource;
42
+ /**
43
+ * Accepts a thunk so credentials are resolved on first use rather than at
44
+ * construction. Argument validation therefore always runs first, and an
45
+ * unknown flag reports itself instead of a missing-config error.
46
+ */
47
+ constructor(configSource: Config | (() => Config));
48
+ private get config();
42
49
  get baseUrl(): string;
43
50
  get<T>(path: string, params?: Record<string, string | number | undefined>): Promise<T>;
44
51
  post<T>(path: string, body: unknown, params?: Record<string, string | number | undefined>): Promise<T>;
package/dist/youtrack.js CHANGED
@@ -1,9 +1,19 @@
1
1
  import { AxiError } from "axi-sdk-js";
2
2
  const REQUEST_TIMEOUT_MS = 30_000;
3
3
  export class YouTrackClient {
4
- config;
5
- constructor(config) {
6
- this.config = config;
4
+ configSource;
5
+ #resolved;
6
+ /**
7
+ * Accepts a thunk so credentials are resolved on first use rather than at
8
+ * construction. Argument validation therefore always runs first, and an
9
+ * unknown flag reports itself instead of a missing-config error.
10
+ */
11
+ constructor(configSource) {
12
+ this.configSource = configSource;
13
+ }
14
+ get config() {
15
+ this.#resolved ??= typeof this.configSource === "function" ? this.configSource() : this.configSource;
16
+ return this.#resolved;
7
17
  }
8
18
  get baseUrl() {
9
19
  return this.config.url;
@@ -1 +1 @@
1
- {"version":3,"file":"youtrack.js","sourceRoot":"","sources":["../src/youtrack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"youtrack.js","sourceRoot":"","sources":["../src/youtrack.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tmcayden/youtrack-axi",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Query, update, and log time against YouTrack issues from the shell",
5
5
  "type": "module",
6
6
  "bin": {