Skip to content

Commit 77507ec

Browse files
authored
Merge pull request #59 from sampleXbro/changeset-release/master
chore: version packages
2 parents a01ed7a + d94296b commit 77507ec

6 files changed

Lines changed: 81 additions & 93 deletions

.changeset/agents-md-shared-path.md

Lines changed: 0 additions & 21 deletions
This file was deleted.

.changeset/docs-auto-generation-and-install-repositioning.md

Lines changed: 0 additions & 31 deletions
This file was deleted.

.changeset/p0-tier-b-targets.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

.changeset/target-metadata-registry.md

Lines changed: 0 additions & 35 deletions
This file was deleted.

CHANGELOG.md

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,85 @@
11
# Changelog
22

3+
## 0.18.0
4+
5+
### Minor Changes
6+
7+
- 7c57018: Replace the AGENTS.md content-normalization logic with a shared-path rewrite skip. When two or more active targets emit the same root-instruction path (most commonly `AGENTS.md`), every copy keeps canonical `.agentsmesh/...` references instead of being rewritten to target-specific paths. The collision resolver then merges the byte-identical copies trivially.
8+
9+
**User-visible behavior change**
10+
11+
The single `AGENTS.md` at the project root now contains references like `.agentsmesh/skills/<name>/SKILL.md` rather than the previous `.agents/skills/<name>/SKILL.md` (or any other target-specific prefix). Tools reading `AGENTS.md` follow the path literally and find the file under `.agentsmesh/`, which is always present as the canonical source of truth. Each target's own directory (`.agents/skills/`, `.factory/skills/`, etc.) is still generated and its files still receive normal per-target reference rewriting — only the shared root-instruction file uses canonical paths.
12+
13+
**Why**
14+
15+
The previous approach generated N copies of `AGENTS.md`, rewrote their references to N different target-specific paths, and then ran ~200 lines of fragile reverse-normalization to prove they were "actually the same". That logic carried hardcoded target IDs, regex bare-path anchoring, and reverse reference maps — every new target risked breaking it. The new approach is structural: skip rewriting when a path is claimed by 2+ targets as their root instruction (detected via descriptor `rootInstructionPath` + `outputFamilies` of kind `'additional'`), so the content stays byte-identical and collision merge is a no-op. Plugin targets that declare a `rootInstructionPath` get the same treatment automatically — no per-target opt-in needed.
16+
17+
**Internal**
18+
- Drops `src/targets/catalog/agents-md-overlap.ts` (199 lines) and its test file
19+
- Adds `computeSharedRootInstructionPaths()` to `engine.ts` (descriptor-driven, no hardcoded target IDs)
20+
- Adds an optional `skipPaths: ReadonlySet<string>` parameter to `rewriteGeneratedReferences()`
21+
- Drops gemini-cli's legacy pre-emptive `.agentsmesh/skills/``.agents/skills/` substitution in `generateRules` — no longer needed under the new approach
22+
- 28 new tests across `tests/unit/core/shared-root-instruction-paths.test.ts`, `reference-rewriter-shared-paths.test.ts`, and `tests/contract/shared-agents-md.test.ts`
23+
24+
- 7c57018: Add six new built-in targets: `deepagents-cli`, `factory-droid`, `jules`, `pi-agent`, `replit-agent`, and `rovodev`. Each ships with project and global mode support, full feature generators (rules, skills, MCP, hooks, ignore, permissions where applicable), an importer, capability-focused unit tests, and integration coverage for the import + generate round-trip. The new targets appear automatically in the support matrix, the import target table, and every auto-generated tool list — no manual doc edits required to discover them.
25+
- 7c57018: Add a required `metadata` field to `TargetDescriptor` and a new `TARGET_REGISTRY` aggregator that drives every user-facing target listing in README and the website. Plugin and built-in targets now declare display name, category, official URL, and a one-line description in a single place; the TypeScript compiler enforces completeness.
26+
27+
**New public surface**
28+
- `TargetMetadata` interface (`displayName`, `category: 'cli' | 'ide' | 'agent-platform'`, `officialUrl`, `shortDescription`) exported from `src/targets/catalog/target-descriptor.ts`.
29+
- `TARGET_REGISTRY: Readonly<Record<BuiltinTargetId, TargetEntry>>` plus `listTargets()`, `targetsByCategory()`, and `primaryImportRoot()` helpers exported from `src/targets/catalog/target-metadata-registry.ts`.
30+
- Every `TargetDescriptor.metadata` is required at compile time; the field is now part of the contract for plugin authors.
31+
32+
**Plugin authors — what to do**
33+
34+
If you ship a `TargetDescriptor` from a plugin package, add the `metadata` block immediately after `id:`:
35+
36+
```typescript
37+
export const descriptor = {
38+
id: 'my-tool',
39+
metadata: {
40+
displayName: 'My Tool',
41+
category: 'cli',
42+
officialUrl: 'https://example.com',
43+
shortDescription: 'One-line description used in tool lists',
44+
},
45+
// ...rest unchanged
46+
} satisfies TargetDescriptor;
47+
```
48+
49+
The TypeScript compiler will fail if any field is missing or mistyped. The metadata appears in any auto-generated tool list a consumer renders — there is no separate registration step.
50+
51+
**Tooling updates**
52+
- `agentsmesh target scaffold <id>` now emits a `metadata` block with `TODO(agentsmesh-scaffold)` markers that fail to compile until the author fills them in.
53+
- The `add-agent-target` skill and `target-addition-checklist.md` reference list the metadata fields in Phase 1 research; the `add-new-target-playbook.md` walks through filling them.
54+
55+
### Patch Changes
56+
57+
- 7c57018: Auto-generate every user-facing target listing from `TARGET_REGISTRY`, and reposition install methods so AgentsMesh is no longer presented as Node-only.
58+
59+
**Auto-generated target listings**
60+
61+
`pnpm matrix:generate` now writes three new auto-generated marker blocks in addition to the existing project/global feature matrices:
62+
- `tool-list` (README + homepage) — every target grouped by category with links to the official tool URL
63+
- `import-targets` (`cli/import.mdx`) — all 30 targets with their primary read path
64+
- `tool-details` (`reference/supported-tools.mdx`) — uniform per-target sections with display name, category, official URL, project + global root paths, and skill directory
65+
66+
`pnpm matrix:verify` (CI gate) fails the build whenever any of the four documents drift from the catalog. The render script was split into `scripts/support-matrix-blocks.ts` (pure builders) and a slim orchestrator.
67+
68+
**Hardcoded enumerations removed**
69+
70+
Replaced with links to the support matrix or generated content:
71+
- README import-target list (was 13/30) and tool-format examples
72+
- Homepage prose enumeration of 15+ tools
73+
- `cli/import.mdx` per-target source→canonical mapping tables (only 7/30 documented) — collapsed into a single canonical-pattern table plus editorial caveats for the 5 targets with real implementation quirks
74+
- `cli/init.mdx` auto-detection list (12 hardcoded paths) and starter-config example
75+
- `cli/generate.mdx` output-locations table (was 12/30)
76+
- `canonical-config/commands.mdx` + `canonical-config/hooks.mdx` per-target feature support enumerations
77+
- `reference/supported-tools.mdx` per-tool detail sections (was 24/30 hand-written, ~494 lines) replaced with the auto-generated `tool-details` block covering all 30 targets uniformly
78+
79+
**Install repositioning**
80+
81+
AgentsMesh now presents three install methods as equals — Homebrew (no Node.js required), standalone binary (no Node.js required), and npm/pnpm/yarn (Node.js 20+). The `getting-started/installation.mdx` page rewrite uses a Tabs block with a "which method should I use?" comparison table. The README install section was reordered (Homebrew first, npm last) and `npx agentsmesh ...` was stripped from every non-install code sample — `npx` survives only in the two explicit "run without installing" snippets where it's the legitimate use. CI workflow examples, guides, and command-reference pages now use the plain `agentsmesh` binary, which works after any install method (with `npx` documented as the prefix for users who chose `npm install -D`).
82+
383
## 0.17.0
484

585
### Minor Changes

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "agentsmesh",
3-
"version": "0.17.0",
3+
"version": "0.18.0",
44
"description": "One canonical source for AI coding agent rules, commands, skills, MCP, hooks, and permissions — synced across Claude Code, Cursor, Copilot, Continue, Junie, Gemini CLI, Cline, Codex CLI, Windsurf, Antigravity, and Roo Code.",
55
"type": "module",
66
"main": "./dist/index.js",

0 commit comments

Comments
 (0)