agentsmesh 0.23.0 → 0.25.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.
- package/CHANGELOG.md +54 -0
- package/README.md +14 -13
- package/dist/canonical.js +1988 -1083
- package/dist/canonical.js.map +1 -1
- package/dist/cli.js +236 -189
- package/dist/engine.d.ts +1 -1
- package/dist/engine.js +1968 -1061
- package/dist/engine.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2043 -1123
- package/dist/index.js.map +1 -1
- package/dist/{init-YKxF2zpQ.d.ts → init-B0aI-g8W.d.ts} +1 -1
- package/dist/lessons.d.ts +2 -2
- package/dist/lessons.js +73 -60
- package/dist/lessons.js.map +1 -1
- package/dist/{target-descriptor-D6vLDI1w.d.ts → target-descriptor-ItDY3NR0.d.ts} +5 -0
- package/dist/targets.d.ts +2 -2
- package/dist/targets.js +1889 -984
- package/dist/targets.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,59 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.25.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- d2d175b: Security hardening and silent-data-loss fixes across the install, import, and generate pipelines, plus a tightened lessons skill.
|
|
8
|
+
|
|
9
|
+
**Security**
|
|
10
|
+
- The `install` / `extends` git fetch now enforces a transport allowlist (`https`/`ssh` only) on **both** the ref-resolution (`git ls-remote`) and the actual clone, before any git process is spawned — closing an SSRF / local-repo-probe primitive and a clone-time redirect-to-`ext::`/`file://` (RCE/local-read) vector. `git+http://`, `git+file://`, and `git+git://` sources are refused by default; opt in with `AGENTSMESH_ALLOW_INSECURE_GIT=1` (http) or `AGENTSMESH_ALLOW_LOCAL_GIT=1` (file). Clones now also run with `core.symlinks=false`.
|
|
11
|
+
- The canonical parsers (`rules`/`commands`/`agents`/`skills`) and **every** native-import directory reader no longer follow symlinks. This prevents a malicious pack or an imported tool config from exfiltrating host files (e.g. `~/.ssh/id_rsa`) into canonical content or a redistributed pack.
|
|
12
|
+
|
|
13
|
+
**Fixed**
|
|
14
|
+
- `agentsmesh import --from cline` and `--from continue` now preserve URL/HTTP/SSE MCP servers instead of dropping every remote server on a generate → re-import round-trip.
|
|
15
|
+
- The shared Markdown link scanner no longer corrupts content when a link label contains `(` or a link carries a `"title"` — the rewrite span now covers only the path.
|
|
16
|
+
- The MCP `update_hooks` tool normalizes the nested native hook form to the flat canonical shape instead of silently discarding it.
|
|
17
|
+
- A single unparseable lessons trigger (from a merge or hand-edit) no longer permanently blocks all future `lessons add`/`merge` captures — the write barrier now blocks only on errors the current mutation introduces.
|
|
18
|
+
- `parseRules` now errors on duplicate-slug rule files that previously vanished silently.
|
|
19
|
+
|
|
20
|
+
**Changed (breaking)**
|
|
21
|
+
- Git transports other than `https`/`ssh` are refused by default on `install`/`extends`; re-enable `http`/`file` with the env vars above.
|
|
22
|
+
- `agentsmesh import --from <tool>` no longer follows symlinks in a tool's config directories — symlinked rule/command/agent/skill files and directories are skipped. Share content via real files, `extends:`, or packs instead.
|
|
23
|
+
- Case-only canonical name collisions (e.g. `commands/Build.md` + `commands/build.md`) are now a hard error at parse and generate time instead of a silent last-write-wins on case-insensitive filesystems.
|
|
24
|
+
|
|
25
|
+
**Docs**
|
|
26
|
+
- `agentsmesh.local.yaml` docs now describe the real replace/append/merge behavior (the previous "narrowing-only" guarantee was never enforced).
|
|
27
|
+
- The `lessons` skill is now an Iron-Law gate (binding recall/capture, gate function, rationalization table) with a short trigger-first description; fetch-hardening and git-transport env vars are documented.
|
|
28
|
+
|
|
29
|
+
## 0.24.0
|
|
30
|
+
|
|
31
|
+
### Minor Changes
|
|
32
|
+
|
|
33
|
+
- 352f4a0: feat: close 23 target capability gaps and make new MCP capabilities round-trip
|
|
34
|
+
|
|
35
|
+
Audited every supported target and implemented native or partial support for
|
|
36
|
+
capabilities the underlying tools already offer but agentsmesh did not expose:
|
|
37
|
+
- **MCP**: Goose (global, `~/.config/goose/config.yaml` extensions) and Copilot
|
|
38
|
+
(project, `.vscode/mcp.json`) now both generate **and import** MCP servers, so
|
|
39
|
+
the new native MCP capabilities round-trip back to canonical.
|
|
40
|
+
- **Agents**: Augment Code, Amazon Q, and Cline gain native agent definitions.
|
|
41
|
+
- **Skills / Commands**: Zed emits shared native skills; Trae gains native
|
|
42
|
+
commands (`.trae/commands/`).
|
|
43
|
+
- **Permissions**: Junie (global allowlist) and Kilo Code (`kilo.jsonc`) gain
|
|
44
|
+
native permissions; Warp, Roo Code, and Antigravity declare `partial` support
|
|
45
|
+
with lint guidance pointing at their UI / settings.
|
|
46
|
+
- **Hooks**: Factory Droid, Deep Agents CLI, Antigravity, Qwen Code, Amp, and
|
|
47
|
+
Codex CLI gain native lifecycle hooks.
|
|
48
|
+
- **Combined settings sidecars**: Qwen Code and Amp write hooks + permissions
|
|
49
|
+
into their settings files; Rovo Dev writes hooks + permissions to its global
|
|
50
|
+
`config.yml`; Amazon Q gains agents + hooks + permissions.
|
|
51
|
+
|
|
52
|
+
The shared `mcpJson` import mode gains an optional, data-driven `mcpServersKey`
|
|
53
|
+
(defaults to `mcpServers`) so VS Code-style files keyed on `servers` import
|
|
54
|
+
correctly — with no target-name hardcoding in core. The support matrix in the
|
|
55
|
+
README and docs site is updated to match.
|
|
56
|
+
|
|
3
57
|
## 0.23.0
|
|
4
58
|
|
|
5
59
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -222,7 +222,7 @@ AgentsMesh generates native config for every major AI coding assistant — plus
|
|
|
222
222
|
- **Bidirectional sync** — `import` reads existing tool configs into `.agentsmesh/`; `generate` projects them back out. Round-trips are loss-free, so adopting AgentsMesh in an existing repo never throws away data.
|
|
223
223
|
- **Agents that learn** — the optional [lessons memory](#teach-your-agents-lessons) recalls past-mistake rules before each edit and captures new ones after each failure, shared across every tool and every teammate.
|
|
224
224
|
- **Automatic link rebasing** — references like `.agentsmesh/skills/foo/SKILL.md` are rewritten to target-relative paths in every generated artifact, so cross-file links stay valid from `.claude/`, `.cursor/`, `.github/`, `.codex/`, and the rest.
|
|
225
|
-
- **Managed embedding with round-trip metadata** — when a target has no native slot for a feature (e.g. commands in Codex CLI
|
|
225
|
+
- **Managed embedding with round-trip metadata** — when a target has no native slot for a feature (e.g. commands in Codex CLI), AgentsMesh embeds it with frontmatter that survives the next `import`. No silent data loss; the full feature-by-feature breakdown lives in the [supported tools matrix](https://samplexbro.github.io/agentsmesh/reference/supported-tools/).
|
|
226
226
|
- **Team-safe collaboration** — `agentsmesh check` is a CI drift gate against `.agentsmesh/.lock`, `agentsmesh diff` previews changes, `agentsmesh merge` rebuilds the lock after three-way Git conflicts, and `lock_features` + per-feature `strategy` prevent accidental overrides.
|
|
227
227
|
- **Global mode** — `~/.agentsmesh/` syncs personal AI config to `~/.claude/`, `~/.cursor/`, `~/.codex/`, `~/.windsurf/`, and other user-level folders. Every CLI command accepts `--global`.
|
|
228
228
|
- **Extensible** — community packs (`agentsmesh install ...`), remote `extends`, runtime plugins (`agentsmesh plugin add`), schema-validated config files, and a typed programmatic API for scripts, IDE extensions, and CI.
|
|
@@ -240,7 +240,7 @@ The reason `AGENTS.md` alone is not enough: most AI coding assistants expose con
|
|
|
240
240
|
- **Claude Code** has `CLAUDE.md`, `.claude/agents/`, `.claude/skills/`, `.claude/commands/`, `.claude/settings.json`, hooks, and permissions.
|
|
241
241
|
- **GitHub Copilot** has `.github/copilot-instructions.md`, `.github/instructions/*.instructions.md`, agents, prompts, and (partial) hooks.
|
|
242
242
|
- **Gemini CLI** has `GEMINI.md`, `.gemini/settings.json` (MCP + hooks), `.gemini/commands/*.toml`, and agents.
|
|
243
|
-
- **Codex CLI** has `AGENTS.md` plus `.codex/config.toml`, `.codex/agents/*.toml`, and `.codex/rules/`.
|
|
243
|
+
- **Codex CLI** has `AGENTS.md` plus `.codex/config.toml`, `.codex/agents/*.toml`, `.codex/hooks.json`, and `.codex/rules/`.
|
|
244
244
|
- **Windsurf**, **Continue**, **Cline**, **Kiro**, **Junie**, **Roo Code**, **Antigravity**, **Amp**, **Zed**, **Warp** each have their own native rules, workflows, MCP servers, skills, and ignore files.
|
|
245
245
|
|
|
246
246
|
AgentsMesh canonicalizes all of these — rules, commands, agents, skills, MCP servers, hooks, ignore patterns, permissions — so you don't pick one tool's surface as the lowest common denominator. When a tool has no native slot for a feature, AgentsMesh embeds it with round-trip metadata instead of dropping it.
|
|
@@ -445,6 +445,7 @@ Every config file ships with a generated JSON Schema, so VS Code, JetBrains, and
|
|
|
445
445
|
| `AGENTSMESH_CACHE` | `~/.agentsmesh/cache` | Override the remote-extends / tarball cache directory (the gitignored `.agentsmeshcache` in the project is a symlink to it). Must be an absolute path. |
|
|
446
446
|
| `AGENTSMESH_MAX_TARBALL_MB` | `500` | Maximum GitHub tarball size in MiB the install command will accept. Allowed range: `1`–`4096`. Increase this when installing from large monorepos. |
|
|
447
447
|
| `AGENTSMESH_STRICT_PLUGINS` | `0` | When set to `1`, a failed plugin descriptor import fails the build instead of warning-and-skip. Useful in CI where a missing plugin target is a regression. |
|
|
448
|
+
| `AGENTSMESH_ALLOW_INSECURE_GIT` | `0` | When set to `1`, enables insecure `git+http://` transports in `extends` and `install`. Disabled by default because `http` strips transport security (a MITM can swap cloned bytes before the SHA is pinned). The transport allowlist (`https`/`ssh` only, plus opt-ins) is enforced before any `git ls-remote`/clone. |
|
|
448
449
|
| `AGENTSMESH_ALLOW_LOCAL_GIT` | `0` | When set to `1`, enables `git+file://` sources in `extends` and `install`. Disabled by default because on shared hosts a world-writable repo could be planted by another user and combined with elevated-artifact emission for local privilege escalation. |
|
|
449
450
|
|
|
450
451
|
---
|
|
@@ -516,13 +517,13 @@ Every public symbol resolves to a real `.d.ts` under strict TypeScript. Full ref
|
|
|
516
517
|
|---|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|
|
|
517
518
|
| Rules | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native |
|
|
518
519
|
| Additional Rules | Embedded | — | Embedded | Native | Native | Native | Native | Native | Native | Native | Embedded | Embedded | Embedded | Embedded | Embedded | Embedded | Embedded | Native | Native | Native | Native | Embedded | Native | Embedded | Native | Embedded | Native | Embedded | Native | Embedded |
|
|
519
|
-
| Commands | — | — |
|
|
520
|
-
| Agents | — |
|
|
521
|
-
| Skills | Native | — | Native | Native | Native | Native | Native | Native |
|
|
522
|
-
| MCP Servers | — | Native | Native | — | Native | Native | Native | Native | Native |
|
|
523
|
-
| Hooks | — | — |
|
|
520
|
+
| Commands | — | — | Native | Partial (workflows) | Native | Native | Native (workflows) | Embedded | Native | Native | — | Native | — | — | Native | — | — | Native | Native | Embedded | Native | — | Native | — | Native | — | Native | — | Native (workflows) | — |
|
|
521
|
+
| Agents | — | Native | — | — | Native | Native | Native | Native | — | Native | — | Native | — | Native | Native | — | — | Native | Native | Native | Native | — | Native | — | Partial | — | — | — | Embedded | — |
|
|
522
|
+
| Skills | Native | — | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | — | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native |
|
|
523
|
+
| MCP Servers | — | Native | Native | — | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | — | — | Native | Native | Native | Native | — | Native | — | Native | Native | Native | Native | Partial | Native |
|
|
524
|
+
| Hooks | — | — | Native | Native | Native | Native | Native | Partial | — | Partial | Native | Native | Native | Native | Partial | — | — | — | — | Native | — | — | Native | — | — | — | — | — | Native | — |
|
|
524
525
|
| Ignore | Native | — | — | — | Native | Native | Native | — | — | — | Native | Native | — | — | Native (settings-embedded) | Native | — | Native | Native | Native | — | — | Native | — | Native | — | Native | — | Native | — |
|
|
525
|
-
| Permissions | — | — |
|
|
526
|
+
| Permissions | — | — | Native | Partial | — | Native | — | — | — | — | Partial | Partial | — | — | Partial | — | — | — | Native | — | Native | — | Native | — | Partial | — | — | Partial | — | — |
|
|
526
527
|
<!-- /agentsmesh:support-matrix:project -->
|
|
527
528
|
|
|
528
529
|
### Global scope (`agentsmesh generate --global`)
|
|
@@ -532,13 +533,13 @@ Every public symbol resolves to a real `.d.ts` under strict TypeScript. Full ref
|
|
|
532
533
|
|---|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|
|
|
533
534
|
| Rules | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | — | Native | Native | Native | Native | Native | Native | — | Native | Native | Native | — | Native | — |
|
|
534
535
|
| Additional Rules | Embedded | — | Embedded | Embedded | Native | Native | Native | Embedded | Native | Native | Embedded | Embedded | Embedded | Embedded | Embedded | Embedded | — | Embedded | Native | Native | Native | Embedded | Embedded | — | Native | Embedded | Native | — | Partial | — |
|
|
535
|
-
| Commands | — | — |
|
|
536
|
-
| Agents | — |
|
|
536
|
+
| Commands | — | — | Native | Partial (workflows) | Native | Native | Native (workflows) | Embedded | Native | Native | — | Native | — | — | Native | — | — | Native | Native | Embedded | Native | — | Native | — | Native | — | Native | — | Native (workflows) | — |
|
|
537
|
+
| Agents | — | Native | — | — | Native | Native | Native | Native | — | Native | — | Native | — | Native | Native | — | — | Native | Native | Native | Native | — | Native | — | Partial | — | — | — | Embedded | — |
|
|
537
538
|
| Skills | Native | — | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | — | Native | Native | Native | Native | Native | Native | — | Native | Native | Native | Native | Native | — |
|
|
538
|
-
| MCP Servers | — | Native | Native | Native | Native | Native | Native | Native | Native | — | Native | Native | Native | Native | Native |
|
|
539
|
-
| Hooks | — | — |
|
|
539
|
+
| MCP Servers | — | Native | Native | Native | Native | Native | Native | Native | Native | — | Native | Native | Native | Native | Native | Native | — | Native | Native | Native | Native | — | Native | — | Native | Native | Native | — | Native | Native |
|
|
540
|
+
| Hooks | — | — | Native | Native | — | Native | Native | Partial | — | — | Native | Native | Native | Native | Partial | — | — | — | — | — | — | — | Native | — | — | Native | — | — | Native | — |
|
|
540
541
|
| Ignore | Native | — | — | — | — | Native | Native | — | — | — | — | Native | — | — | — | Native | — | — | Native | Native | — | — | — | — | Native | — | — | — | Native | — |
|
|
541
|
-
| Permissions | — | — |
|
|
542
|
+
| Permissions | — | — | Native | Partial | — | Native | — | — | — | — | — | — | — | — | — | — | — | Native | Native | — | Native | — | Native | — | Partial | Native | — | Partial | — | — |
|
|
542
543
|
<!-- /agentsmesh:support-matrix:global -->
|
|
543
544
|
|
|
544
545
|
See the [full feature matrix docs](https://samplexbro.github.io/agentsmesh/reference/supported-tools/) for native vs. embedded support details and per-tool global paths.
|