@eyeauras/youtrack-cli 0.7.0 → 0.7.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.
Files changed (3) hide show
  1. package/README.md +25 -20
  2. package/dist/src/cli.js +1 -1
  3. package/package.json +17 -10
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  The scoped package provides the `youtrack-cli` command:
4
4
 
5
- Agents use the [shared YouTrack workflow](https://github.com/iXab3r/EyeAuras.CliFactory/blob/main/docs/practices/youtrack-agent-workflow.md):
5
+ Agents use the [shared YouTrack workflow](docs/agent-workflow.md):
6
6
  our executable is primary; the separate Python `yt.exe` is an explicit fallback.
7
7
  The guide covers field selection, paging and preserving tracker/profile ownership.
8
8
 
@@ -20,9 +20,9 @@ On Windows, Core now stores DPAPI CurrentUser encrypted files under the selected
20
20
  AppData `secrets/` directory. Credential Manager is no longer used or migrated. Sign in again
21
21
  for each profile and reimport auxiliary secrets. Existing profiles and permissions remain.
22
22
 
23
- Licensed under MIT. See the [release guide](https://github.com/iXab3r/EyeAuras.CliFactory/blob/main/docs/npm-release.md).
23
+ Licensed under MIT. See the [release guide](docs/release.md).
24
24
 
25
- YouTrack uses the same `@eyeauras/cli-factory` workspace as TeamCity. The CLI
25
+ YouTrack consumes the exact published `@eyeauras/cli-factory` version declared in package.json. The CLI
26
26
  provides standard profiles/auth/permissions and 118 REST operations: 98 ReadOnly and 20 Update.
27
27
  Five workflow leaves reuse those operations instead of adding REST operations: issue and article
28
28
  attachment download, article export, and `issues batch validate/apply`. There are 121 service
@@ -73,10 +73,10 @@ complete issue selection. There are no old aliases or array-returning modes. Pro
73
73
  credentials need no reconfiguration and existing user files are untouched.
74
74
 
75
75
  ```powershell
76
- npm run youtrack -- project list --page-size 3 --profile youtrack-dev
77
- npm run youtrack -- issues list --query "project: DEMO #Unresolved" --profile youtrack-dev
78
- npm run youtrack -- issues get DEMO-1 --fields "id,summary,description" --profile youtrack-dev
79
- npm run youtrack -- issues comments list DEMO-1 --page-size 3 --profile youtrack-dev
76
+ npm start -- project list --page-size 3 --profile youtrack-dev
77
+ npm start -- issues list --query "project: DEMO #Unresolved" --profile youtrack-dev
78
+ npm start -- issues get DEMO-1 --fields "id,summary,description" --profile youtrack-dev
79
+ npm start -- issues comments list DEMO-1 --page-size 3 --profile youtrack-dev
80
80
  ```
81
81
 
82
82
  Handlers return domain values for human, `--json` and persistent `--json-rpc` output.
@@ -130,13 +130,13 @@ Build from the repository root with `npm run build`, then use your current termi
130
130
  the normal CLI pipeline; no wrapper or auxiliary terminal window is required:
131
131
 
132
132
  ```powershell
133
- npm run youtrack -- profile configure youtrack-dev
133
+ npm start -- profile configure youtrack-dev
134
134
  ```
135
135
 
136
136
  Only if this terminal can see the existing configured profile, resume token login without changing it:
137
137
 
138
138
  ```powershell
139
- npm run youtrack -- auth login --profile youtrack-dev
139
+ npm start -- auth login --profile youtrack-dev
140
140
  ```
141
141
 
142
142
  If login reports a missing profile, run `profile configure` first in that same terminal; do not assume
@@ -160,7 +160,7 @@ credential namespace is separate from TeamCity and every YouTrack profile is iso
160
160
  For automation, supply token input from a trusted secret source on stdin:
161
161
 
162
162
  ```powershell
163
- npm run youtrack -- auth login --profile youtrack-dev --token-stdin
163
+ npm start -- auth login --profile youtrack-dev --token-stdin
164
164
  ```
165
165
 
166
166
  The factory selects a new candidate from explicit `--token-stdin`, then `YOUTRACK_TOKEN`,
@@ -205,7 +205,7 @@ and value selectors inside the write; the CLI performs no catalog reads or ID re
205
205
  `$type` is never inferred and nothing is cached.
206
206
 
207
207
  ```powershell
208
- npm run youtrack -- issues create --profile youtrack-dev --body '{"project":{"shortName":"DEMO"},"summary":"Example","customFields":[{"$type":"SingleEnumIssueCustomField","name":"Priority","value":{"name":"Major"}}]}'
208
+ npm start -- issues create --profile youtrack-dev --body '{"project":{"shortName":"DEMO"},"summary":"Example","customFields":[{"$type":"SingleEnumIssueCustomField","name":"Priority","value":{"name":"Major"}}]}'
209
209
  ```
210
210
 
211
211
  Every narrative write also accepts a UTF-8 file for its text field: `--description-file` (issue
@@ -219,19 +219,19 @@ local size ceiling, and stdin is not used because JSON-RPC owns it.
219
219
  For Windows **CMD**, replace the example project ID before deliberately running a write:
220
220
 
221
221
  ```cmd
222
- npm run youtrack -- issues create --body "{\"project\":{\"id\":\"PROJECT_ID\"},\"summary\":\"Example issue\"}" --profile youtrack-dev
222
+ npm start -- issues create --body "{\"project\":{\"id\":\"PROJECT_ID\"},\"summary\":\"Example issue\"}" --profile youtrack-dev
223
223
  ```
224
224
 
225
225
  The equivalent **PowerShell 7** command uses ordinary single quotes around JSON:
226
226
 
227
227
  ```powershell
228
- npm run youtrack -- issues create --body '{"project":{"id":"PROJECT_ID"},"summary":"Example issue"}' --profile youtrack-dev
228
+ npm start -- issues create --body '{"project":{"id":"PROJECT_ID"},"summary":"Example issue"}' --profile youtrack-dev
229
229
  ```
230
230
 
231
231
  Windows **PowerShell 5.1** requires escaping the inner quotes through the npm/CMD pipeline:
232
232
 
233
233
  ```powershell
234
- npm run youtrack -- issues create --body '{\"project\":{\"id\":\"PROJECT_ID\"},\"summary\":\"Example issue\"}' --profile youtrack-dev
234
+ npm start -- issues create --body '{\"project\":{\"id\":\"PROJECT_ID\"},\"summary\":\"Example issue\"}' --profile youtrack-dev
235
235
  ```
236
236
 
237
237
  Updates return `id,idReadable,summary,updated`; comment creation returns the same finite fields
@@ -364,9 +364,9 @@ It supports `--fields` for the response. No implicit file discovery is provided,
364
364
  grants permissions.
365
365
 
366
366
  ```powershell
367
- npm run youtrack -- issues attachments download DEMO-1 1-1 --profile youtrack-dev
368
- npm run youtrack -- issues attachments download DEMO-1 1-1 --output report.txt --max-bytes 1048576 --profile youtrack-dev
369
- npm run youtrack -- article attachment download KB-A-1 7-1 --profile youtrack-dev
367
+ npm start -- issues attachments download DEMO-1 1-1 --profile youtrack-dev
368
+ npm start -- issues attachments download DEMO-1 1-1 --output report.txt --max-bytes 1048576 --profile youtrack-dev
369
+ npm start -- article attachment download KB-A-1 7-1 --profile youtrack-dev
370
370
  ```
371
371
 
372
372
  Issue and article attachment downloads first read the exact attachment's fixed metadata, then request only
@@ -427,7 +427,7 @@ a `CliError` carrying `.result`.
427
427
 
428
428
  This is a breaking change: scripts that previously relied on exit 0 plus `status: incomplete`
429
429
  must now handle the failure path and read the same summary from the appropriate surface.
430
- See the [0.6.1 release notes](../../CHANGELOG.md#061).
430
+ See the [0.6.1 release notes](https://github.com/iXab3r/EyeAuras.CliFactory/blob/6b226682ef762dd49bd1c9d7eb8e7bf18e80acc8/CHANGELOG.md#061).
431
431
 
432
432
  `--failed-rows <path.json>` saves the `failed` and `unattempted` rows
433
433
  as a manifest at the requested path relative to the invocation working directory for deliberate resubmission; `uncertain` rows are left out and must
@@ -459,7 +459,7 @@ Not provided:
459
459
  After configuring a profile, explicitly run:
460
460
 
461
461
  ```powershell
462
- npm run test:integration --workspace @eyeauras/youtrack-cli -- --profile youtrack-dev
462
+ npm run test:integration -- --profile youtrack-dev
463
463
  ```
464
464
 
465
465
  The explicit local proof uses twenty-four fixed ReadOnly rows through the compiled CLI, named profile
@@ -477,10 +477,15 @@ are not availability evidence, and failed prerequisites still fail the overall p
477
477
  writes, automatic pagination or further resource discovery occur. CI and arbitrary URL/token/
478
478
  command arguments are refused; inherited `YOUTRACK_TOKEN` is removed case-insensitively.
479
479
  The shared Core proof invoker keeps the 30-second timeout and separate 64-KiB stdout/stderr bounds;
480
- see the [shared CI and process contract](../../docs/testing.md).
480
+ see the [shared CI and process contract](https://github.com/iXab3r/EyeAuras.CliFactory/blob/bf79b80636bcdd790bbd6c25648842ae5213f267/docs/testing.md).
481
481
  Do not run it in CI or add it to generic test commands. A failed proof requires local
482
482
  configuration/TLS/permission investigation; its payloads are deliberately not logged.
483
483
 
484
484
  `npm test` builds and runs deterministic offline tests, including MSW against the actual
485
485
  client and declaration, synthetic profile/credential isolation, JSON-RPC and proof safety.
486
486
  Tests inject `AppArguments` rather than redirecting the user's data directories.
487
+
488
+ ## Source development
489
+
490
+ `npm ci`, `npm test`, and `npm run test:package` build and test this repository independently.
491
+ See [release and Core adoption gates](docs/release.md) and [migration provenance](docs/migration.md).
package/dist/src/cli.js CHANGED
@@ -40,7 +40,7 @@ export function createYouTrackCli(runtime) {
40
40
  name: "youtrack-cli",
41
41
  description: "AI-friendly access to YouTrack",
42
42
  examples: [...issueExamples.slice(0, 3), "article get KB-A-7", "project list"],
43
- version: "0.7.0",
43
+ version: "0.7.1",
44
44
  applicationId: "youtrack-cli",
45
45
  permissions: {},
46
46
  profile: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eyeauras/youtrack-cli",
3
- "version": "0.7.0",
3
+ "version": "0.7.1",
4
4
  "description": "AI-friendly YouTrack CLI built with AI CLI Factory.",
5
5
  "type": "module",
6
6
  "main": "./dist/src/index.js",
@@ -12,29 +12,35 @@
12
12
  "build": "tsc --project tsconfig.json",
13
13
  "start": "node dist/src/bin.js",
14
14
  "test:compiled": "node --test dist/tests/*.test.js",
15
- "pretest:integration": "npm run build --workspace @eyeauras/cli-factory && npm run build",
15
+ "pretest:integration": "npm run build",
16
16
  "test:integration": "node dist/integration-tests/profile-proof.js",
17
- "prepack": "npm run build"
17
+ "prepack": "npm run build",
18
+ "test": "npm run build && npm run test:compiled",
19
+ "check": "npm test",
20
+ "test:package": "node scripts/test-package.mjs",
21
+ "test:registry": "node scripts/test-package.mjs --registry",
22
+ "test:release": "node --test scripts/test-release.mjs"
18
23
  },
19
24
  "engines": {
20
25
  "node": ">=22"
21
26
  },
22
27
  "dependencies": {
23
- "@eyeauras/cli-factory": "0.7.0",
28
+ "@eyeauras/cli-factory": "0.7.1",
24
29
  "csv-parse": "^7.0.3"
25
30
  },
26
31
  "devDependencies": {
27
- "msw": "^2.11.0"
32
+ "msw": "^2.11.0",
33
+ "@types/node": "^24.0.0",
34
+ "typescript": "^7.0.2"
28
35
  },
29
36
  "license": "MIT",
30
37
  "repository": {
31
38
  "type": "git",
32
- "url": "git+https://github.com/iXab3r/EyeAuras.CliFactory.git",
33
- "directory": "integrations/youtrack"
39
+ "url": "git+https://github.com/iXab3r/youtrack-cli.git"
34
40
  },
35
- "homepage": "https://github.com/iXab3r/EyeAuras.CliFactory/tree/main/integrations/youtrack",
41
+ "homepage": "https://github.com/iXab3r/youtrack-cli",
36
42
  "bugs": {
37
- "url": "https://github.com/iXab3r/EyeAuras.CliFactory/issues"
43
+ "url": "https://github.com/iXab3r/youtrack-cli/issues"
38
44
  },
39
45
  "publishConfig": {
40
46
  "access": "public",
@@ -42,5 +48,6 @@
42
48
  },
43
49
  "files": [
44
50
  "dist/src"
45
- ]
51
+ ],
52
+ "packageManager": "npm@11.20.0"
46
53
  }