@dalzoubi/dev-agents-sync 1.0.8 → 1.0.9
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/README.md +1 -0
- package/package.json +1 -1
- package/tests/paths.test.mjs +14 -0
- package/tests/writer-normalize.test.mjs +4 -0
package/README.md
CHANGED
|
@@ -39,6 +39,7 @@ npx --yes @dalzoubi/dev-agents-sync@1 init --targets claude
|
|
|
39
39
|
```
|
|
40
40
|
|
|
41
41
|
This writes managed files into `.claude/` and creates `.dev-agents-sync.json` with the resolved content version.
|
|
42
|
+
Use `--targets cursor` or `--targets claude,cursor` to install Cursor project agents, rules, and slash commands into `.cursor/agents/`, `.cursor/rules/`, and `.cursor/commands/`.
|
|
42
43
|
|
|
43
44
|
Update to the latest matching content version:
|
|
44
45
|
|
package/package.json
CHANGED
package/tests/paths.test.mjs
CHANGED
|
@@ -99,6 +99,20 @@ describe('resolveConsumerPath', () => {
|
|
|
99
99
|
assert.equal(result, expected);
|
|
100
100
|
});
|
|
101
101
|
|
|
102
|
+
it('translates "cursor/agents/define.md" to .cursor/agents/define.md', () => {
|
|
103
|
+
const consumerRoot = '/some/repo';
|
|
104
|
+
const result = resolveConsumerPath(consumerRoot, 'cursor/agents/define.md');
|
|
105
|
+
const expected = path.join(consumerRoot, '.cursor', 'agents', 'define.md');
|
|
106
|
+
assert.equal(result, expected);
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
it('translates "cursor/commands/define.md" to .cursor/commands/define.md', () => {
|
|
110
|
+
const consumerRoot = '/some/repo';
|
|
111
|
+
const result = resolveConsumerPath(consumerRoot, 'cursor/commands/define.md');
|
|
112
|
+
const expected = path.join(consumerRoot, '.cursor', 'commands', 'define.md');
|
|
113
|
+
assert.equal(result, expected);
|
|
114
|
+
});
|
|
115
|
+
|
|
102
116
|
it('works with a Windows-style absolute consumer root path', () => {
|
|
103
117
|
// Simulate a Windows-style path
|
|
104
118
|
const consumerRoot = 'C:\\Users\\developer\\projects\\my-app';
|
|
@@ -21,9 +21,13 @@ describe('normalizeFileMap — tolerance + visibility', () => {
|
|
|
21
21
|
const out = normalizeFileMap({
|
|
22
22
|
'claude/agents/define.md': 'A',
|
|
23
23
|
'cursor/rules/x.mdc': 'B',
|
|
24
|
+
'cursor/commands/define.md': 'C',
|
|
25
|
+
'cursor/agents/define.md': 'D',
|
|
24
26
|
});
|
|
25
27
|
assert.equal(out['claude/agents/define.md'], 'A');
|
|
26
28
|
assert.equal(out['cursor/rules/x.mdc'], 'B');
|
|
29
|
+
assert.equal(out['cursor/commands/define.md'], 'C');
|
|
30
|
+
assert.equal(out['cursor/agents/define.md'], 'D');
|
|
27
31
|
});
|
|
28
32
|
|
|
29
33
|
it('infers prefix for known un-prefixed first segments', () => {
|