@kolatts/pncli 5.1.0 → 5.2.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.2.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 --marketplace all --all-agents # later, to refresh
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.
@@ -42,6 +52,11 @@ Install to `~/.claude/skills` (Claude Code):
42
52
  pncli skills marketplace sync --claude
43
53
  ```
44
54
 
55
+ Install to every agent host at once:
56
+ ```
57
+ pncli skills marketplace sync --marketplace all --all-agents
58
+ ```
59
+
45
60
  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.
46
61
 
47
62
  Pass a plugin name to skip the interactive plugin picker:
@@ -64,7 +79,9 @@ Sync every plugin from every registered marketplace in one shot:
64
79
  pncli skills marketplace sync --marketplace all
65
80
  ```
66
81
 
67
- `sync` skips reinstalling when a marketplace has no new upstream changes (single-plugin and `all` installs alike). Pass `--force` to reinstall anyway.
82
+ `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. With several targets the JSON output nests per-host results under `targets`; a single target keeps the flat `plugins` / `target` shape.
83
+
84
+ Routine progress is one line per target on stderr; add the global `--verbose` flag to see every skill's source and destination path.
68
85
 
69
86
  ### Update what you already have, without picking up new plugins
70
87
 
@@ -76,6 +93,36 @@ pncli skills marketplace sync --marketplace all --installed-only
76
93
 
77
94
  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
95
 
96
+ ## Shipped instructions (`AGENTS.md` / `CLAUDE.md`)
97
+
98
+ A marketplace can distribute org-wide agent instructions alongside its plugins. Put them in an `instructions/` directory at the marketplace root:
99
+
100
+ ```
101
+ instructions/AGENTS.md # for Codex and GitHub Copilot
102
+ instructions/CLAUDE.md # for Claude Code
103
+ ```
104
+
105
+ 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:
106
+
107
+ | Agent | User-level file |
108
+ |---|---|
109
+ | `codex` | `~/.codex/AGENTS.md` (or `$CODEX_HOME/AGENTS.md`) |
110
+ | `github-copilot` | `~/.copilot/copilot-instructions.md` (or `$COPILOT_HOME/…`) |
111
+ | `claude-code` | `~/.claude/CLAUDE.md` (or `$CLAUDE_CONFIG_DIR/CLAUDE.md`) |
112
+
113
+ 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.
114
+
115
+ `marketplace add` and `marketplace sync` apply instructions automatically for the agent hosts they target (`--no-instructions` opts out). To manage them directly:
116
+
117
+ ```
118
+ pncli skills marketplace instructions list # who ships what, installed/current per agent
119
+ pncli skills marketplace instructions install --all-agents # apply or refresh every marketplace's instructions
120
+ pncli skills marketplace instructions install --marketplace internal-ai --claude
121
+ pncli skills marketplace instructions remove internal-ai --all-agents
122
+ ```
123
+
124
+ `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.
125
+
79
126
  ## Enable / disable installed plugins
80
127
 
81
128
  Temporarily switch a plugin's skills off without deleting them (no re-download needed to switch back on):
@@ -100,6 +147,8 @@ pncli skills marketplace manage
100
147
  It loops through a menu until you're done:
101
148
 
102
149
  - **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.
150
+ - **Sync every marketplace** — pulls each registered marketplace and refreshes its plugins in the target (same as `marketplace sync --marketplace all`).
151
+ - **Apply shipped AGENTS.md / CLAUDE.md** — shown when a registered marketplace ships instructions; merges them into the target agent's user-level file.
103
152
  - **Add a marketplace** — prompts for the clone URL and a name, then clones, registers, and installs its plugins (same as `marketplace add`).
104
153
  - **Remove a marketplace** — pick one to unregister (the local clone is kept on disk).
105
154
 
@@ -161,3 +210,5 @@ The marketplace repo should contain either:
161
210
  - Or a `plugins/` directory where each subdirectory is a plugin
162
211
 
163
212
  Each plugin directory should have a `skills/` subdirectory containing skill directories (each with a `SKILL.md`).
213
+
214
+ 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.