@kolatts/pncli 5.1.0 → 5.3.0

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.
@@ -2,11 +2,11 @@
2
2
  import {
3
3
  HttpClient,
4
4
  createHttpClient
5
- } from "./chunk-FAMJPKO4.js";
5
+ } from "./chunk-2J2HAFKO.js";
6
6
  import "./chunk-BOFSNQQ2.js";
7
7
  import "./chunk-HRNOAQDN.js";
8
8
  export {
9
9
  HttpClient,
10
10
  createHttpClient
11
11
  };
12
- //# sourceMappingURL=http-TAINU2LF.js.map
12
+ //# sourceMappingURL=http-V7PZD7LE.js.map
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@kolatts/pncli",
3
- "version": "5.1.0",
4
- "description": "The Paperwork Nightmare CLI — structured JSON access to Jira, Bitbucket, GitHub, Confluence, Azure DevOps, SonarQube, Jenkins, and more, built for AI coding agents. One command does what three meetings couldn't.",
3
+ "version": "5.3.0",
4
+ "description": "The Paperwork Nightmare CLI — structured JSON access to Jira, Bitbucket, GitHub, Confluence, Azure DevOps, SonarQube, Jenkins, and more, built for AI coding agents. Connectivity without MCP.",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "pncli": "./dist/cli.js"
@@ -107,7 +107,7 @@ Each service has its own file in this skill with the config keys and example val
107
107
  | Split.IO | `splitio.md` | Feature flag discovery, targeting updates, Change Requests |
108
108
  | Figma | `figma.md` | Design files, comments, version history |
109
109
  | Alation | `alation.md` | Data catalog metadata (data sources, schemas, tables, columns), search, Document Hubs |
110
- | Skills Marketplace | `marketplace.md` | Install org-internal skills |
110
+ | Skills Marketplace | `marketplace.md` | Org plugins and shipped AGENTS.md / CLAUDE.md from git marketplaces |
111
111
 
112
112
  ## Installing skills
113
113
 
@@ -115,7 +115,7 @@ The skills bundled with pncli install into a repo with `pncli skills install` (d
115
115
 
116
116
  Installed skills are a copy — after upgrading pncli, re-run `pncli skills install` to refresh them. `skills list` and `skills status` warn when the installed copy came from a different pncli version.
117
117
 
118
- Org-internal skills come from a git-hosted marketplace: `pncli skills marketplace setup <git-clone-url>` registers one, and `pncli skills marketplace sync` keeps everything installed from it current. `pncli skills status` and `pncli skills locations` show what is installed and where. The full workflow is in the `marketplace.md` file that ships inside the installed skill.
118
+ Org-internal plugins come from a git-hosted marketplace: `pncli skills marketplace add <git-clone-url> --all-agents` registers one and installs every plugin into all three agent hosts, and `pncli skills marketplace sync --marketplace all --all-agents` keeps them current. A marketplace can also ship an `instructions/AGENTS.md` and `instructions/CLAUDE.md`; `add` and `sync` merge those into each agent's user-level instructions file (`~/.codex/AGENTS.md`, `~/.copilot/copilot-instructions.md`, `~/.claude/CLAUDE.md`) as a marked block that leaves your own content untouched — `pncli skills marketplace instructions list|install|remove` manages them. `pncli skills status`, `pncli skills locations`, and `pncli doctor` show what is installed and where. The full workflow is in the `marketplace.md` file that ships inside the installed skill, and `pncli skills marketplace --help` summarises it.
119
119
 
120
120
  ## Setup walkthrough
121
121
 
@@ -1,6 +1,14 @@
1
1
  # Skills Marketplace
2
2
 
3
- Enables installing org-internal Claude Code or GitHub Copilot skills from one or more private git-hosted marketplace repositories.
3
+ Enables installing org-internal skills — and org-wide `AGENTS.md` / `CLAUDE.md` instructions — for Codex, GitHub Copilot, and Claude Code from one or more private git-hosted marketplace repositories.
4
+
5
+ **Quick start (every agent host at once):**
6
+ ```
7
+ pncli skills marketplace add <git-clone-url> --all-agents
8
+ pncli skills marketplace sync --all-agents # later, to refresh what's installed
9
+ ```
10
+
11
+ `pncli skills marketplace --help` prints the whole workflow; `pncli doctor` reports registered marketplaces and tells you when nothing has been installed from them yet.
4
12
 
5
13
  ## Add a marketplace
6
14
 
@@ -8,11 +16,13 @@ Enables installing org-internal Claude Code or GitHub Copilot skills from one or
8
16
  pncli skills marketplace add <git-clone-url> [local-path]
9
17
  ```
10
18
 
11
- Use `--branch main` if the default branch is `main` instead of `master`. Use `--name` to give the marketplace a short, human-friendly identifier (defaults to the repo name). This clones the repo to `local-path` (default: `~/.agents/marketplaces/<repo-name>`), registers it in your pncli global config, and installs all of its plugins.
19
+ Use `--branch main` if the default branch is `main` instead of `master`. Use `--name` to give the marketplace a short, human-friendly identifier (defaults to the repo name). This clones the repo to `local-path` (default: `~/.agents/marketplaces/<repo-name>`), registers it in your pncli global config, installs all of its plugins, and applies any instructions it ships (see **Shipped instructions** below; `--no-instructions` skips that step).
20
+
21
+ Plugins install at user scope for one agent host — `--agent codex` (the default, `~/.agents/skills`), `--agent github-copilot`, or `--claude`. Pass `--all-agents` to install into all three in one run; the JSON output then lists a `targets` array with one entry per host instead of the flat `plugins` / `target` keys.
12
22
 
13
23
  **Example:**
14
24
  ```
15
- pncli skills marketplace add https://bitbucket.imagile.dev/scm/ai/skills.git --name internal-ai
25
+ pncli skills marketplace add https://bitbucket.imagile.dev/scm/ai/skills.git --name internal-ai --all-agents
16
26
  ```
17
27
 
18
28
  You can register as many marketplaces as you like — just run `add` again with a different URL. `marketplace setup` is kept as an alias of `add` for backward compatibility.
@@ -32,17 +42,26 @@ pncli skills marketplace plugins <name>
32
42
 
33
43
  ## Sync (pull + install)
34
44
 
35
- Install to `~/.agents/skills` (Codex / GitHub Copilot — the default):
45
+ With no plugin, no `--marketplace`, and no `--force`, `sync` is shorthand for `--marketplace all --installed-only`: it pulls every registered marketplace and refreshes only the plugins already installed, without prompting. This is the common case — running it regularly keeps what you already have current.
46
+
47
+ Refresh everything already installed, to `~/.agents/skills` (Codex / GitHub Copilot — the default):
36
48
  ```
37
49
  pncli skills marketplace sync
38
50
  ```
39
51
 
40
- Install to `~/.claude/skills` (Claude Code):
52
+ Refresh everything already installed, to `~/.claude/skills` (Claude Code):
41
53
  ```
42
54
  pncli skills marketplace sync --claude
43
55
  ```
44
56
 
45
- With a single registered marketplace, `sync` just prompts you to pick a plugin (or pass one explicitly). With more than one marketplace registered, it first prompts you to pick a marketplace — if you pick the wrong plugin from the wrong marketplace, choose "← Back to marketplace selection" to reselect rather than restarting the command.
57
+ Refresh everything already installed, to every agent host at once:
58
+ ```
59
+ pncli skills marketplace sync --all-agents
60
+ ```
61
+
62
+ To install a plugin you don't have yet, or to browse what's available, pass `--force`, a plugin name, or `--marketplace <name>` — any of those opts back into the interactive picker instead of the "installed only" shorthand above.
63
+
64
+ With a single registered marketplace, `sync --force` just prompts you to pick a plugin (or pass one explicitly). With more than one marketplace registered, it first prompts you to pick a marketplace — if you pick the wrong plugin from the wrong marketplace, choose "← Back to marketplace selection" to reselect rather than restarting the command.
46
65
 
47
66
  Pass a plugin name to skip the interactive plugin picker:
48
67
  ```
@@ -54,28 +73,60 @@ Pass `--marketplace <name>` to skip the interactive marketplace picker:
54
73
  pncli skills marketplace sync my-plugin --marketplace internal-ai
55
74
  ```
56
75
 
57
- Install every plugin from one marketplace:
76
+ Install every plugin from one marketplace, including ones you haven't installed yet:
58
77
  ```
59
78
  pncli skills marketplace sync all --marketplace internal-ai
60
79
  ```
61
80
 
62
- Sync every plugin from every registered marketplace in one shot:
81
+ Install every plugin from every registered marketplace, including new ones, in one shot:
63
82
  ```
64
83
  pncli skills marketplace sync --marketplace all
65
84
  ```
66
85
 
67
- `sync` skips reinstalling when a marketplace has no new upstream changes (single-plugin and `all` installs alike). Pass `--force` to reinstall anyway.
86
+ `sync` skips reinstalling into a target that already has everything you asked for when the marketplace has no new upstream changes. A target that is *missing* something — a second agent host you just added with `--all-agents`, or a plugin that is not installed there yet — gets the missing plugins installed regardless, so you never need `--force` just to reach a new location. Pass `--force` to reinstall everything anyway (and, with no plugin or `--marketplace` given, to get the interactive picker instead of the installed-only shorthand). With several targets the JSON output nests per-host results under `targets`; a single target keeps the flat `plugins` / `target` shape.
68
87
 
69
- ### Update what you already have, without picking up new plugins
88
+ Routine progress is one line per target on stderr; add the global `--verbose` flag to see every skill's source and destination path.
70
89
 
71
- By default an `all` sync installs every plugin the marketplace offers, including ones added upstream since you last synced. Pass `--installed-only` to update just the plugins already on disk:
90
+ ### Picking up newly-added plugins
91
+
92
+ The bare `sync` shorthand (and any `--marketplace all --installed-only` you type explicitly) only refreshes plugins already on disk — it does not install plugins added upstream since you last synced. To pick those up, run an interactive `sync --force`, name the plugin directly, or drop `--installed-only` from an explicit `--marketplace all` sync:
72
93
 
73
94
  ```
74
- pncli skills marketplace sync --marketplace all --installed-only
95
+ pncli skills marketplace sync --marketplace all
75
96
  ```
76
97
 
77
98
  Plugins are matched by the marketplace name recorded at install time, falling back to the clone URL — so a marketplace you have since renamed still resolves. Disabled plugins count as installed and are refreshed in place, staying disabled. If a marketplace has no installed plugins at all, it is reported as `skipped` with `installedOnly: true` rather than silently installing everything.
78
99
 
100
+ ## Shipped instructions (`AGENTS.md` / `CLAUDE.md`)
101
+
102
+ A marketplace can distribute org-wide agent instructions alongside its plugins. Put them in an `instructions/` directory at the marketplace root:
103
+
104
+ ```
105
+ instructions/AGENTS.md # for Codex and GitHub Copilot
106
+ instructions/CLAUDE.md # for Claude Code
107
+ ```
108
+
109
+ Ship one or both. Each agent host takes its preferred file and falls back to the other, so a marketplace that ships only `AGENTS.md` still reaches Claude Code. pncli merges the file into the agent's **user-level** instructions file:
110
+
111
+ | Agent | User-level file |
112
+ |---|---|
113
+ | `codex` | `~/.codex/AGENTS.md` (or `$CODEX_HOME/AGENTS.md`) |
114
+ | `github-copilot` | `~/.copilot/copilot-instructions.md` (or `$COPILOT_HOME/…`) |
115
+ | `claude-code` | `~/.claude/CLAUDE.md` (or `$CLAUDE_CONFIG_DIR/CLAUDE.md`) |
116
+
117
+ The content lands as a **managed block** delimited by `<!-- pncli:instructions marketplace="<name>" begin -->` / `end` comments. Everything else in the file — your own personal instructions — is left exactly as it was: the block is appended on first install, replaced in place on every later sync, and stripped cleanly on remove. Each marketplace gets its own block, so several can coexist. Do not edit inside the markers; the next sync overwrites them.
118
+
119
+ `marketplace add` and `marketplace sync` apply instructions automatically for the agent hosts they target (`--no-instructions` opts out). To manage them directly:
120
+
121
+ ```
122
+ pncli skills marketplace instructions list # who ships what, installed/current per agent
123
+ pncli skills marketplace instructions install --all-agents # apply or refresh every marketplace's instructions
124
+ pncli skills marketplace instructions install --marketplace internal-ai --claude
125
+ pncli skills marketplace instructions remove internal-ai --all-agents
126
+ ```
127
+
128
+ `list` reports, per marketplace and agent, `installed` and `upToDate` (false when the marketplace's file has changed since the block was written, or when it no longer ships one). `remove` accepts a marketplace name even after the marketplace has been unregistered, so a stale block can always be cleaned up.
129
+
79
130
  ## Enable / disable installed plugins
80
131
 
81
132
  Temporarily switch a plugin's skills off without deleting them (no re-download needed to switch back on):
@@ -100,6 +151,8 @@ pncli skills marketplace manage
100
151
  It loops through a menu until you're done:
101
152
 
102
153
  - **Toggle plugins on/off** — a checkbox list of every installed plugin, grouped under its marketplace, with skill counts (checked = enabled). The selection you leave on submit becomes the desired state.
154
+ - **Sync every marketplace** — pulls each registered marketplace and refreshes its plugins in the target (same as `marketplace sync --marketplace all`).
155
+ - **Apply shipped AGENTS.md / CLAUDE.md** — shown when a registered marketplace ships instructions; merges them into the target agent's user-level file.
103
156
  - **Add a marketplace** — prompts for the clone URL and a name, then clones, registers, and installs its plugins (same as `marketplace add`).
104
157
  - **Remove a marketplace** — pick one to unregister (the local clone is kept on disk).
105
158
 
@@ -161,3 +214,5 @@ The marketplace repo should contain either:
161
214
  - Or a `plugins/` directory where each subdirectory is a plugin
162
215
 
163
216
  Each plugin directory should have a `skills/` subdirectory containing skill directories (each with a `SKILL.md`).
217
+
218
+ Optionally, an `instructions/` directory at the root with `AGENTS.md` and/or `CLAUDE.md` — see **Shipped instructions** above. A `CLAUDE.md` or `AGENTS.md` at the repo root is *not* distributed; that one is treated as guidance for people working on the marketplace repo itself.