@a16njs/plugin-claude 0.4.0 → 0.6.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/README.md +27 -65
- package/dist/discover.d.ts.map +1 -1
- package/dist/discover.js +337 -28
- package/dist/discover.js.map +1 -1
- package/dist/emit.d.ts.map +1 -1
- package/dist/emit.js +148 -122
- package/dist/emit.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# @a16njs/plugin-claude
|
|
2
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/@a16njs/plugin-claude)
|
|
4
|
+
|
|
3
5
|
Claude Code plugin for a16n. Discovers and emits Claude configuration.
|
|
4
6
|
|
|
5
7
|
## Installation
|
|
@@ -16,8 +18,8 @@ This plugin supports five customization types:
|
|
|
16
18
|
|
|
17
19
|
| Type | Claude Format | Description |
|
|
18
20
|
|------|---------------|-------------|
|
|
19
|
-
| **GlobalPrompt** |
|
|
20
|
-
| **FileRule** | `.claude/
|
|
21
|
+
| **GlobalPrompt** | `.claude/rules/*.md` | Always-active instructions |
|
|
22
|
+
| **FileRule** | `.claude/rules/*.md` with `paths:` frontmatter | Glob-triggered via native paths |
|
|
21
23
|
| **AgentSkill** | `.claude/skills/*/SKILL.md` | Description-triggered skills |
|
|
22
24
|
| **AgentIgnore** | `.claude/settings.json` `permissions.deny` | Files to exclude |
|
|
23
25
|
| **AgentCommand** | *Emitted only* | Cursor commands become skills |
|
|
@@ -30,6 +32,7 @@ This plugin supports five customization types:
|
|
|
30
32
|
|
|
31
33
|
- `CLAUDE.md` - Root Claude configuration (GlobalPrompt)
|
|
32
34
|
- `*/CLAUDE.md` - Nested Claude configuration files (GlobalPrompt)
|
|
35
|
+
- `.claude/rules/*.md` - Native Claude rules (GlobalPrompt if no `paths:`, FileRule if `paths:` present)
|
|
33
36
|
- `.claude/skills/*/SKILL.md` - Skills with description frontmatter (AgentSkill)
|
|
34
37
|
- `.claude/settings.json` - Permissions deny rules (AgentIgnore)
|
|
35
38
|
|
|
@@ -38,96 +41,51 @@ This plugin supports five customization types:
|
|
|
38
41
|
|
|
39
42
|
### Emission
|
|
40
43
|
|
|
41
|
-
- **GlobalPrompt** →
|
|
42
|
-
- **FileRule** → `.
|
|
44
|
+
- **GlobalPrompt** → `.claude/rules/<name>.md` (individual files)
|
|
45
|
+
- **FileRule** → `.claude/rules/<name>.md` with `paths:` YAML frontmatter
|
|
43
46
|
- **AgentSkill** → `.claude/skills/<name>/SKILL.md` with description frontmatter
|
|
44
47
|
- **AgentIgnore** → `.claude/settings.json` with `permissions.deny` Read rules
|
|
45
48
|
- **AgentCommand** → `.claude/skills/<commandName>/SKILL.md` with `Invoke with /command` description
|
|
46
49
|
|
|
47
50
|
## File Formats
|
|
48
51
|
|
|
49
|
-
###
|
|
52
|
+
### .claude/rules/*.md (GlobalPrompt)
|
|
53
|
+
|
|
54
|
+
Rules without `paths:` frontmatter apply to all files:
|
|
50
55
|
|
|
51
56
|
```markdown
|
|
52
|
-
|
|
57
|
+
## From: .cursor/rules/general.mdc
|
|
53
58
|
|
|
54
59
|
Your instructions for Claude here.
|
|
55
60
|
```
|
|
56
61
|
|
|
57
|
-
###
|
|
62
|
+
### .claude/rules/*.md (FileRule)
|
|
63
|
+
|
|
64
|
+
Rules with `paths:` frontmatter apply only when working with matching files:
|
|
58
65
|
|
|
59
66
|
```markdown
|
|
60
67
|
---
|
|
61
|
-
|
|
68
|
+
paths:
|
|
69
|
+
- "**/*.tsx"
|
|
70
|
+
- "**/*.jsx"
|
|
62
71
|
---
|
|
63
72
|
|
|
64
|
-
|
|
65
|
-
Aim for 80% code coverage.
|
|
66
|
-
```
|
|
73
|
+
## From: .cursor/rules/react.mdc
|
|
67
74
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
FileRules are converted using `@a16njs/glob-hook` for runtime glob matching:
|
|
71
|
-
|
|
72
|
-
```json
|
|
73
|
-
{
|
|
74
|
-
"hooks": {
|
|
75
|
-
"PreToolUse": [{
|
|
76
|
-
"matcher": "Read|Write|Edit",
|
|
77
|
-
"hooks": [{
|
|
78
|
-
"type": "command",
|
|
79
|
-
"command": "npx @a16njs/glob-hook --globs \"**/*.tsx\" --context-file \".a16n/rules/react.txt\""
|
|
80
|
-
}]
|
|
81
|
-
}]
|
|
82
|
-
}
|
|
83
|
-
}
|
|
75
|
+
Use functional components with hooks.
|
|
84
76
|
```
|
|
85
77
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
### settings.json (AgentIgnore via permissions.deny)
|
|
89
|
-
|
|
90
|
-
AgentIgnore patterns are converted to `permissions.deny` Read rules:
|
|
91
|
-
|
|
92
|
-
```json
|
|
93
|
-
{
|
|
94
|
-
"permissions": {
|
|
95
|
-
"deny": [
|
|
96
|
-
"Read(./dist/**)",
|
|
97
|
-
"Read(./.env)",
|
|
98
|
-
"Read(./**/*.log)",
|
|
99
|
-
"Read(./secrets/**)"
|
|
100
|
-
]
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
Pattern conversion rules:
|
|
106
|
-
- `dist/` → `Read(./dist/**)`
|
|
107
|
-
- `.env` → `Read(./.env)`
|
|
108
|
-
- `*.log` → `Read(./**/*.log)`
|
|
109
|
-
- `**/*.tmp` → `Read(./**/*.tmp)`
|
|
110
|
-
|
|
111
|
-
> **Note:** AgentIgnore conversion emits an "Approximated" warning because Claude's permission system may behave slightly differently than `.cursorignore`.
|
|
112
|
-
|
|
113
|
-
### SKILL.md from AgentCommand
|
|
114
|
-
|
|
115
|
-
When Cursor commands are converted to Claude, they become skills:
|
|
78
|
+
### SKILL.md (AgentSkill)
|
|
116
79
|
|
|
117
80
|
```markdown
|
|
118
81
|
---
|
|
119
|
-
|
|
120
|
-
description: "Invoke with /review"
|
|
82
|
+
description: Testing best practices
|
|
121
83
|
---
|
|
122
84
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
- Performance issues
|
|
126
|
-
- Code style violations
|
|
85
|
+
Write unit tests first.
|
|
86
|
+
Aim for 80% code coverage.
|
|
127
87
|
```
|
|
128
88
|
|
|
129
|
-
The `description: "Invoke with /review"` enables slash command invocation in Claude, mirroring Cursor's `/review` behavior.
|
|
130
|
-
|
|
131
89
|
## Usage
|
|
132
90
|
|
|
133
91
|
```typescript
|
|
@@ -143,3 +101,7 @@ console.log(`Found ${result.items.length} items`);
|
|
|
143
101
|
// Emit to Claude format
|
|
144
102
|
await claudePlugin.emit(result.items, './my-project');
|
|
145
103
|
```
|
|
104
|
+
|
|
105
|
+
## Documentation
|
|
106
|
+
|
|
107
|
+
Full documentation available at <https://texarkanine.github.io/a16n/plugin-claude>.
|
package/dist/discover.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../src/discover.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../src/discover.ts"],"names":[],"mappings":"AAEA,OAAO,EAOL,KAAK,eAAe,EAKrB,MAAM,gBAAgB,CAAC;AAidxB;;GAEG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAgNrE"}
|
package/dist/discover.js
CHANGED
|
@@ -1,6 +1,150 @@
|
|
|
1
1
|
import * as fs from 'fs/promises';
|
|
2
2
|
import * as path from 'path';
|
|
3
3
|
import { CustomizationType, WarningCode, createId, } from '@a16njs/models';
|
|
4
|
+
/**
|
|
5
|
+
* Recursively find all .md files in .claude/rules/ directory.
|
|
6
|
+
* Returns relative paths like ".claude/rules/style.md" or ".claude/rules/frontend/react.md"
|
|
7
|
+
*
|
|
8
|
+
* @param root - Project root directory
|
|
9
|
+
* @returns Array of relative paths to rule files
|
|
10
|
+
*/
|
|
11
|
+
async function findClaudeRules(root) {
|
|
12
|
+
const results = [];
|
|
13
|
+
const rulesDir = path.join(root, '.claude', 'rules');
|
|
14
|
+
async function traverse(currentDir, relativePath) {
|
|
15
|
+
try {
|
|
16
|
+
const entries = await fs.readdir(currentDir, { withFileTypes: true });
|
|
17
|
+
for (const entry of entries) {
|
|
18
|
+
// Skip hidden directories (like .git)
|
|
19
|
+
if (entry.name.startsWith('.')) {
|
|
20
|
+
continue;
|
|
21
|
+
}
|
|
22
|
+
const entryRelativePath = relativePath
|
|
23
|
+
? `${relativePath}/${entry.name}`
|
|
24
|
+
: entry.name;
|
|
25
|
+
const entryFullPath = path.join(currentDir, entry.name);
|
|
26
|
+
if (entry.isFile() && entry.name.endsWith('.md')) {
|
|
27
|
+
// Found a rule file
|
|
28
|
+
results.push(`.claude/rules/${entryRelativePath}`);
|
|
29
|
+
}
|
|
30
|
+
else if (entry.isDirectory()) {
|
|
31
|
+
// Recurse into subdirectory
|
|
32
|
+
await traverse(entryFullPath, entryRelativePath);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
// Directory doesn't exist or can't be read - that's okay
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
await traverse(rulesDir, '');
|
|
41
|
+
return results;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Parse YAML frontmatter from a Claude rule file.
|
|
45
|
+
* Extracts the paths field and other frontmatter metadata.
|
|
46
|
+
*
|
|
47
|
+
* @param content - Full file content including frontmatter
|
|
48
|
+
* @returns Parsed frontmatter and body content
|
|
49
|
+
*/
|
|
50
|
+
function parseClaudeRuleFrontmatter(content) {
|
|
51
|
+
const lines = content.split('\n');
|
|
52
|
+
let frontmatterStart = -1;
|
|
53
|
+
let frontmatterEnd = -1;
|
|
54
|
+
// Find frontmatter delimiters (---)
|
|
55
|
+
for (let i = 0; i < lines.length; i++) {
|
|
56
|
+
const line = lines[i]?.trim();
|
|
57
|
+
if (line === '---') {
|
|
58
|
+
if (frontmatterStart === -1) {
|
|
59
|
+
frontmatterStart = i;
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
frontmatterEnd = i;
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
// No frontmatter found
|
|
68
|
+
if (frontmatterStart === -1 || frontmatterEnd === -1) {
|
|
69
|
+
return {
|
|
70
|
+
frontmatter: {},
|
|
71
|
+
body: content.trim(),
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
const frontmatter = {};
|
|
75
|
+
// Parse frontmatter lines
|
|
76
|
+
let i = frontmatterStart + 1;
|
|
77
|
+
while (i < frontmatterEnd) {
|
|
78
|
+
const line = lines[i];
|
|
79
|
+
if (!line) {
|
|
80
|
+
i++;
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
// Check for paths: field
|
|
84
|
+
const pathsMatch = line.match(/^paths:\s*$/);
|
|
85
|
+
if (pathsMatch) {
|
|
86
|
+
// Multi-line array format
|
|
87
|
+
const paths = [];
|
|
88
|
+
i++;
|
|
89
|
+
while (i < frontmatterEnd) {
|
|
90
|
+
const pathLine = lines[i];
|
|
91
|
+
if (!pathLine) {
|
|
92
|
+
i++;
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
const arrayItemMatch = pathLine.match(/^\s*-\s*["']?(.+?)["']?\s*$/);
|
|
96
|
+
if (arrayItemMatch) {
|
|
97
|
+
paths.push(arrayItemMatch[1]);
|
|
98
|
+
i++;
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
// End of array
|
|
102
|
+
break;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
if (paths.length > 0) {
|
|
106
|
+
frontmatter.paths = paths;
|
|
107
|
+
}
|
|
108
|
+
continue;
|
|
109
|
+
}
|
|
110
|
+
// Check for paths: "value" or paths: ["value1", "value2"] (inline format)
|
|
111
|
+
const pathsInlineMatch = line.match(/^paths:\s*(.+)$/);
|
|
112
|
+
if (pathsInlineMatch) {
|
|
113
|
+
const value = pathsInlineMatch[1].trim();
|
|
114
|
+
// Try to parse as JSON array
|
|
115
|
+
if (value.startsWith('[')) {
|
|
116
|
+
try {
|
|
117
|
+
const parsed = JSON.parse(value);
|
|
118
|
+
if (Array.isArray(parsed)) {
|
|
119
|
+
frontmatter.paths = parsed.filter((p) => typeof p === 'string');
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
catch {
|
|
123
|
+
// Not valid JSON, treat as single string
|
|
124
|
+
frontmatter.paths = [value.replace(/^["']|["']$/g, '')];
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
// Single string value
|
|
129
|
+
frontmatter.paths = [value.replace(/^["']|["']$/g, '')];
|
|
130
|
+
}
|
|
131
|
+
i++;
|
|
132
|
+
continue;
|
|
133
|
+
}
|
|
134
|
+
// Store other frontmatter fields generically (allow hyphenated keys like disable-model-invocation)
|
|
135
|
+
const keyValueMatch = line.match(/^([A-Za-z0-9_-]+):\s*(.+)$/);
|
|
136
|
+
if (keyValueMatch) {
|
|
137
|
+
const key = keyValueMatch[1];
|
|
138
|
+
const value = keyValueMatch[2].trim().replace(/^["']|["']$/g, '');
|
|
139
|
+
frontmatter[key] = value;
|
|
140
|
+
}
|
|
141
|
+
i++;
|
|
142
|
+
}
|
|
143
|
+
// Extract body (everything after second ---)
|
|
144
|
+
const bodyLines = lines.slice(frontmatterEnd + 1);
|
|
145
|
+
const body = bodyLines.join('\n').trim();
|
|
146
|
+
return { frontmatter, body };
|
|
147
|
+
}
|
|
4
148
|
/**
|
|
5
149
|
* Convert a Claude Read() permission rule to a gitignore-style pattern.
|
|
6
150
|
* Returns null for non-Read rules.
|
|
@@ -21,6 +165,47 @@ function convertReadRuleToPattern(rule) {
|
|
|
21
165
|
// Read(./.env) → .env
|
|
22
166
|
return pattern;
|
|
23
167
|
}
|
|
168
|
+
/**
|
|
169
|
+
* Parse hooks section from frontmatter lines.
|
|
170
|
+
* Returns the hooks object and the line index after the hooks section.
|
|
171
|
+
*/
|
|
172
|
+
function parseHooksSection(lines, startIndex, endIndex) {
|
|
173
|
+
const hooks = {};
|
|
174
|
+
let i = startIndex;
|
|
175
|
+
while (i < endIndex) {
|
|
176
|
+
const line = lines[i];
|
|
177
|
+
if (!line) {
|
|
178
|
+
i++;
|
|
179
|
+
continue;
|
|
180
|
+
}
|
|
181
|
+
// Check if this is a hook name (e.g., " pre-commit:")
|
|
182
|
+
const hookMatch = line.match(/^ (\S+):\s*$/);
|
|
183
|
+
if (hookMatch) {
|
|
184
|
+
const hookName = hookMatch[1];
|
|
185
|
+
const hookItems = [];
|
|
186
|
+
i++;
|
|
187
|
+
// Parse hook items (e.g., " - run: ./script.sh")
|
|
188
|
+
while (i < endIndex) {
|
|
189
|
+
const itemLine = lines[i];
|
|
190
|
+
if (!itemLine || !itemLine.startsWith(' '))
|
|
191
|
+
break;
|
|
192
|
+
const itemMatch = itemLine.match(/^\s+-\s+(\w+):\s*(.+)$/);
|
|
193
|
+
if (itemMatch) {
|
|
194
|
+
hookItems.push({ [itemMatch[1]]: itemMatch[2] });
|
|
195
|
+
}
|
|
196
|
+
i++;
|
|
197
|
+
}
|
|
198
|
+
hooks[hookName] = hookItems;
|
|
199
|
+
continue;
|
|
200
|
+
}
|
|
201
|
+
// If we hit a non-indented line, we're done with hooks
|
|
202
|
+
if (!line.startsWith(' ')) {
|
|
203
|
+
break;
|
|
204
|
+
}
|
|
205
|
+
i++;
|
|
206
|
+
}
|
|
207
|
+
return { hooks, nextIndex: i };
|
|
208
|
+
}
|
|
24
209
|
function parseSkillFrontmatter(content) {
|
|
25
210
|
const lines = content.split('\n');
|
|
26
211
|
let frontmatterStart = -1;
|
|
@@ -40,39 +225,49 @@ function parseSkillFrontmatter(content) {
|
|
|
40
225
|
// No frontmatter found
|
|
41
226
|
if (frontmatterStart === -1 || frontmatterEnd === -1) {
|
|
42
227
|
return {
|
|
43
|
-
frontmatter: {
|
|
228
|
+
frontmatter: {},
|
|
44
229
|
body: content.trim(),
|
|
45
230
|
};
|
|
46
231
|
}
|
|
47
|
-
const frontmatter = {
|
|
232
|
+
const frontmatter = {};
|
|
48
233
|
// Parse frontmatter lines
|
|
49
|
-
|
|
234
|
+
let i = frontmatterStart + 1;
|
|
235
|
+
while (i < frontmatterEnd) {
|
|
50
236
|
const line = lines[i];
|
|
51
|
-
if (!line)
|
|
237
|
+
if (!line) {
|
|
238
|
+
i++;
|
|
52
239
|
continue;
|
|
240
|
+
}
|
|
53
241
|
// Check for hooks: key (indicates skill-scoped hooks)
|
|
54
242
|
if (line.match(/^hooks:\s*$/)) {
|
|
55
|
-
|
|
243
|
+
i++;
|
|
244
|
+
const { hooks, nextIndex } = parseHooksSection(lines, i, frontmatterEnd);
|
|
245
|
+
frontmatter.hooks = hooks;
|
|
246
|
+
i = nextIndex;
|
|
56
247
|
continue;
|
|
57
248
|
}
|
|
58
249
|
// Parse description: "..."
|
|
59
250
|
const descriptionMatch = line.match(/^description:\s*["']?(.+?)["']?\s*$/);
|
|
60
251
|
if (descriptionMatch) {
|
|
61
252
|
frontmatter.description = descriptionMatch[1];
|
|
253
|
+
i++;
|
|
62
254
|
continue;
|
|
63
255
|
}
|
|
64
256
|
// Parse name: "..."
|
|
65
257
|
const nameMatch = line.match(/^name:\s*["']?(.+?)["']?\s*$/);
|
|
66
258
|
if (nameMatch) {
|
|
67
259
|
frontmatter.name = nameMatch[1];
|
|
260
|
+
i++;
|
|
68
261
|
continue;
|
|
69
262
|
}
|
|
70
263
|
// Parse disable-model-invocation: true
|
|
71
264
|
const disableMatch = line.match(/^disable-model-invocation:\s*(true|false)\s*$/);
|
|
72
265
|
if (disableMatch) {
|
|
73
266
|
frontmatter.disableModelInvocation = disableMatch[1] === 'true';
|
|
267
|
+
i++;
|
|
74
268
|
continue;
|
|
75
269
|
}
|
|
270
|
+
i++;
|
|
76
271
|
}
|
|
77
272
|
// Extract body (everything after second ---)
|
|
78
273
|
const bodyLines = lines.slice(frontmatterEnd + 1);
|
|
@@ -80,10 +275,10 @@ function parseSkillFrontmatter(content) {
|
|
|
80
275
|
return { frontmatter, body };
|
|
81
276
|
}
|
|
82
277
|
/**
|
|
83
|
-
* Find all
|
|
84
|
-
* Returns
|
|
278
|
+
* Find all skill directories in .claude/skills/ that contain SKILL.md.
|
|
279
|
+
* Returns directory names (e.g., "testing", "secure-deploy").
|
|
85
280
|
*/
|
|
86
|
-
async function
|
|
281
|
+
async function findSkillDirs(root) {
|
|
87
282
|
const results = [];
|
|
88
283
|
const skillsDir = path.join(root, '.claude', 'skills');
|
|
89
284
|
try {
|
|
@@ -93,7 +288,7 @@ async function findSkillFiles(root) {
|
|
|
93
288
|
const skillFile = path.join(skillsDir, entry.name, 'SKILL.md');
|
|
94
289
|
try {
|
|
95
290
|
await fs.access(skillFile);
|
|
96
|
-
results.push(
|
|
291
|
+
results.push(entry.name);
|
|
97
292
|
}
|
|
98
293
|
catch {
|
|
99
294
|
// No SKILL.md in this directory
|
|
@@ -106,6 +301,26 @@ async function findSkillFiles(root) {
|
|
|
106
301
|
}
|
|
107
302
|
return results;
|
|
108
303
|
}
|
|
304
|
+
/**
|
|
305
|
+
* Read all non-SKILL.md files in a skill directory.
|
|
306
|
+
* Returns a map of filename → content.
|
|
307
|
+
*/
|
|
308
|
+
async function readSkillFiles(skillDir) {
|
|
309
|
+
const files = {};
|
|
310
|
+
try {
|
|
311
|
+
const entries = await fs.readdir(skillDir, { withFileTypes: true });
|
|
312
|
+
for (const entry of entries) {
|
|
313
|
+
if (entry.isFile() && entry.name !== 'SKILL.md') {
|
|
314
|
+
const filePath = path.join(skillDir, entry.name);
|
|
315
|
+
files[entry.name] = await fs.readFile(filePath, 'utf-8');
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
catch {
|
|
320
|
+
// Directory read error - return empty files
|
|
321
|
+
}
|
|
322
|
+
return files;
|
|
323
|
+
}
|
|
109
324
|
/**
|
|
110
325
|
* Recursively find all CLAUDE.md files in a directory tree.
|
|
111
326
|
*/
|
|
@@ -205,50 +420,85 @@ export async function discover(root) {
|
|
|
205
420
|
});
|
|
206
421
|
}
|
|
207
422
|
}
|
|
208
|
-
// Find all .claude/skills/*/SKILL.md
|
|
209
|
-
const
|
|
210
|
-
|
|
211
|
-
|
|
423
|
+
// Find all .claude/skills/*/ directories with SKILL.md (AgentSkill or AgentSkillIO)
|
|
424
|
+
const skillDirs = await findSkillDirs(root);
|
|
425
|
+
const skillsDir = path.join(root, '.claude', 'skills');
|
|
426
|
+
for (const dirName of skillDirs) {
|
|
427
|
+
const skillDir = path.join(skillsDir, dirName);
|
|
428
|
+
const skillPath = `.claude/skills/${dirName}/SKILL.md`;
|
|
429
|
+
const fullPath = path.join(skillDir, 'SKILL.md');
|
|
212
430
|
try {
|
|
213
431
|
const content = await fs.readFile(fullPath, 'utf-8');
|
|
214
432
|
const { frontmatter, body } = parseSkillFrontmatter(content);
|
|
215
|
-
// Extract skill name from
|
|
216
|
-
const skillName =
|
|
217
|
-
//
|
|
218
|
-
|
|
219
|
-
|
|
433
|
+
// Extract skill name from frontmatter or directory
|
|
434
|
+
const skillName = frontmatter.name || dirName;
|
|
435
|
+
// Read all other files in the skill directory
|
|
436
|
+
const files = await readSkillFiles(skillDir);
|
|
437
|
+
const hasExtraFiles = Object.keys(files).length > 0;
|
|
438
|
+
const hasHooks = frontmatter.hooks && Object.keys(frontmatter.hooks).length > 0;
|
|
439
|
+
// Classification priority:
|
|
440
|
+
// 1. Has hooks → SKIP (hooks are not supported by AgentSkills.io)
|
|
441
|
+
// 2. Has extra files → AgentSkillIO (with description required)
|
|
442
|
+
// 3. disable-model-invocation: true → ManualPrompt
|
|
443
|
+
// 4. description present → SimpleAgentSkill
|
|
444
|
+
if (hasHooks) {
|
|
445
|
+
// Skills with hooks are not supported - skip with warning
|
|
220
446
|
warnings.push({
|
|
221
447
|
code: WarningCode.Skipped,
|
|
222
|
-
message: `Skipped skill '${
|
|
448
|
+
message: `Skipped skill '${skillName}': Hooks are not supported by AgentSkills.io`,
|
|
223
449
|
sources: [skillPath],
|
|
224
450
|
});
|
|
225
451
|
continue;
|
|
226
452
|
}
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
453
|
+
if (hasExtraFiles) {
|
|
454
|
+
// AgentSkillIO - complex skill with resource files
|
|
455
|
+
if (!frontmatter.description) {
|
|
456
|
+
// AgentSkillIO requires description
|
|
457
|
+
warnings.push({
|
|
458
|
+
code: WarningCode.Skipped,
|
|
459
|
+
message: `Skipped skill '${skillName}': Has resource files but missing description`,
|
|
460
|
+
sources: [skillPath],
|
|
461
|
+
});
|
|
462
|
+
continue;
|
|
463
|
+
}
|
|
464
|
+
const agentSkillIO = {
|
|
465
|
+
id: createId(CustomizationType.AgentSkillIO, skillPath),
|
|
466
|
+
type: CustomizationType.AgentSkillIO,
|
|
467
|
+
sourcePath: skillPath,
|
|
468
|
+
content: body,
|
|
469
|
+
name: skillName,
|
|
470
|
+
description: frontmatter.description,
|
|
471
|
+
disableModelInvocation: frontmatter.disableModelInvocation,
|
|
472
|
+
resources: Object.keys(files),
|
|
473
|
+
files,
|
|
474
|
+
metadata: { name: frontmatter.name },
|
|
475
|
+
};
|
|
476
|
+
items.push(agentSkillIO);
|
|
477
|
+
}
|
|
478
|
+
else if (frontmatter.disableModelInvocation === true) {
|
|
479
|
+
// ManualPrompt
|
|
231
480
|
const prompt = {
|
|
232
481
|
id: createId(CustomizationType.ManualPrompt, skillPath),
|
|
233
482
|
type: CustomizationType.ManualPrompt,
|
|
234
483
|
sourcePath: skillPath,
|
|
235
484
|
content: body,
|
|
236
|
-
promptName:
|
|
485
|
+
promptName: skillName,
|
|
237
486
|
metadata: {
|
|
238
|
-
name:
|
|
487
|
+
name: skillName,
|
|
239
488
|
},
|
|
240
489
|
};
|
|
241
490
|
items.push(prompt);
|
|
242
491
|
}
|
|
243
492
|
else if (frontmatter.description) {
|
|
493
|
+
// SimpleAgentSkill
|
|
244
494
|
const skill = {
|
|
245
|
-
id: createId(CustomizationType.
|
|
246
|
-
type: CustomizationType.
|
|
495
|
+
id: createId(CustomizationType.SimpleAgentSkill, skillPath),
|
|
496
|
+
type: CustomizationType.SimpleAgentSkill,
|
|
247
497
|
sourcePath: skillPath,
|
|
248
498
|
content: body,
|
|
249
499
|
description: frontmatter.description,
|
|
250
500
|
metadata: {
|
|
251
|
-
name:
|
|
501
|
+
name: skillName,
|
|
252
502
|
},
|
|
253
503
|
};
|
|
254
504
|
items.push(skill);
|
|
@@ -267,6 +517,65 @@ export async function discover(root) {
|
|
|
267
517
|
if (agentIgnore) {
|
|
268
518
|
items.push(agentIgnore);
|
|
269
519
|
}
|
|
520
|
+
// Find all .claude/rules/*.md files (Phase 8 A1)
|
|
521
|
+
const ruleFiles = await findClaudeRules(root);
|
|
522
|
+
for (const rulePath of ruleFiles) {
|
|
523
|
+
const fullPath = path.join(root, rulePath);
|
|
524
|
+
// Normalize path separators for cross-platform consistency
|
|
525
|
+
const normalizedPath = rulePath.split(path.sep).join('/');
|
|
526
|
+
try {
|
|
527
|
+
const content = await fs.readFile(fullPath, 'utf-8');
|
|
528
|
+
const { frontmatter, body } = parseClaudeRuleFrontmatter(content);
|
|
529
|
+
// Normalize paths to array
|
|
530
|
+
let paths = [];
|
|
531
|
+
if (frontmatter.paths) {
|
|
532
|
+
if (typeof frontmatter.paths === 'string') {
|
|
533
|
+
paths = [frontmatter.paths];
|
|
534
|
+
}
|
|
535
|
+
else if (Array.isArray(frontmatter.paths)) {
|
|
536
|
+
paths = frontmatter.paths;
|
|
537
|
+
}
|
|
538
|
+
}
|
|
539
|
+
// Classification:
|
|
540
|
+
// - No paths or empty paths -> GlobalPrompt
|
|
541
|
+
// - paths present -> FileRule with globs
|
|
542
|
+
if (paths.length === 0) {
|
|
543
|
+
// GlobalPrompt
|
|
544
|
+
items.push({
|
|
545
|
+
id: createId(CustomizationType.GlobalPrompt, normalizedPath),
|
|
546
|
+
type: CustomizationType.GlobalPrompt,
|
|
547
|
+
sourcePath: normalizedPath,
|
|
548
|
+
content: body,
|
|
549
|
+
metadata: {
|
|
550
|
+
nested: false,
|
|
551
|
+
depth: 0,
|
|
552
|
+
...frontmatter,
|
|
553
|
+
},
|
|
554
|
+
});
|
|
555
|
+
}
|
|
556
|
+
else {
|
|
557
|
+
// FileRule
|
|
558
|
+
const fileRule = {
|
|
559
|
+
id: createId(CustomizationType.FileRule, normalizedPath),
|
|
560
|
+
type: CustomizationType.FileRule,
|
|
561
|
+
sourcePath: normalizedPath,
|
|
562
|
+
content: body,
|
|
563
|
+
globs: paths,
|
|
564
|
+
metadata: {
|
|
565
|
+
...frontmatter,
|
|
566
|
+
},
|
|
567
|
+
};
|
|
568
|
+
items.push(fileRule);
|
|
569
|
+
}
|
|
570
|
+
}
|
|
571
|
+
catch (error) {
|
|
572
|
+
warnings.push({
|
|
573
|
+
code: WarningCode.Skipped,
|
|
574
|
+
message: `Could not read ${rulePath}: ${error.message}`,
|
|
575
|
+
sources: [rulePath],
|
|
576
|
+
});
|
|
577
|
+
}
|
|
578
|
+
}
|
|
270
579
|
return { items, warnings };
|
|
271
580
|
}
|
|
272
581
|
//# sourceMappingURL=discover.js.map
|
package/dist/discover.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discover.js","sourceRoot":"","sources":["../src/discover.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"discover.js","sourceRoot":"","sources":["../src/discover.ts"],"names":[],"mappings":"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"}
|
package/dist/emit.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emit.d.ts","sourceRoot":"","sources":["../src/emit.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,kBAAkB,EAEvB,KAAK,UAAU,EACf,KAAK,WAAW,
|
|
1
|
+
{"version":3,"file":"emit.d.ts","sourceRoot":"","sources":["../src/emit.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,kBAAkB,EAEvB,KAAK,UAAU,EACf,KAAK,WAAW,EAgBjB,MAAM,gBAAgB,CAAC;AAwOxB;;;;;;;;;GASG;AACH,wBAAsB,IAAI,CACxB,MAAM,EAAE,kBAAkB,EAAE,EAC5B,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,UAAU,CAAC,CAmSrB"}
|
package/dist/emit.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as fs from 'fs/promises';
|
|
2
2
|
import * as path from 'path';
|
|
3
|
-
import { CustomizationType, WarningCode, isGlobalPrompt, isFileRule,
|
|
3
|
+
import { CustomizationType, WarningCode, isGlobalPrompt, isFileRule, isSimpleAgentSkill, isAgentSkillIO, isAgentIgnore, isManualPrompt, getUniqueFilename, } from '@a16njs/models';
|
|
4
4
|
/**
|
|
5
5
|
* Convert a gitignore-style pattern to a Claude Read() permission rule.
|
|
6
6
|
* Returns null for patterns that cannot be converted (e.g., negation patterns).
|
|
@@ -53,27 +53,33 @@ function sanitizePromptName(promptName) {
|
|
|
53
53
|
return sanitized || 'command';
|
|
54
54
|
}
|
|
55
55
|
/**
|
|
56
|
-
*
|
|
57
|
-
*
|
|
56
|
+
* Format a GlobalPrompt as a Claude rule file.
|
|
57
|
+
* GlobalPrompts are emitted as plain markdown without frontmatter.
|
|
58
|
+
* Includes source header for traceability.
|
|
59
|
+
*
|
|
60
|
+
* @param gp - The GlobalPrompt to format
|
|
61
|
+
* @returns Formatted markdown content
|
|
58
62
|
*/
|
|
59
|
-
function
|
|
60
|
-
|
|
63
|
+
function formatGlobalPromptAsClaudeRule(gp) {
|
|
64
|
+
const header = `## From: ${gp.sourcePath}`;
|
|
65
|
+
return `${header}\n\n${gp.content}`;
|
|
61
66
|
}
|
|
62
67
|
/**
|
|
63
|
-
*
|
|
68
|
+
* Format a FileRule as a Claude rule file with paths frontmatter.
|
|
69
|
+
* FileRules are emitted with YAML frontmatter containing the globs as paths.
|
|
70
|
+
*
|
|
71
|
+
* @param fr - The FileRule to format
|
|
72
|
+
* @returns Formatted markdown with YAML frontmatter
|
|
64
73
|
*/
|
|
65
|
-
function
|
|
66
|
-
//
|
|
67
|
-
const
|
|
68
|
-
const
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
command: `npx @a16njs/glob-hook --globs "${globsArg}" --context-file "${escapedRulePath}"`,
|
|
75
|
-
}],
|
|
76
|
-
};
|
|
74
|
+
function formatFileRuleAsClaudeRule(fr) {
|
|
75
|
+
// Format globs as YAML array
|
|
76
|
+
const pathsArray = fr.globs.map(glob => ` - ${glob}`).join('\n');
|
|
77
|
+
const frontmatter = `---
|
|
78
|
+
paths:
|
|
79
|
+
${pathsArray}
|
|
80
|
+
---`;
|
|
81
|
+
const header = `## From: ${fr.sourcePath}`;
|
|
82
|
+
return `${frontmatter}\n\n${header}\n\n${fr.content}`;
|
|
77
83
|
}
|
|
78
84
|
/**
|
|
79
85
|
* Format a skill file with YAML frontmatter.
|
|
@@ -119,6 +125,82 @@ disable-model-invocation: true
|
|
|
119
125
|
${prompt.content}
|
|
120
126
|
`;
|
|
121
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* Emit an AgentSkillIO to Claude format.
|
|
130
|
+
* Claude natively supports the full AgentSkills.io standard.
|
|
131
|
+
* Always emits to .claude/skills/<name>/ with:
|
|
132
|
+
* - SKILL.md with full frontmatter
|
|
133
|
+
* - All resource files from the files map
|
|
134
|
+
*
|
|
135
|
+
* @param skill - The AgentSkillIO to emit
|
|
136
|
+
* @param root - Root directory to write to
|
|
137
|
+
* @param dryRun - If true, don't write files
|
|
138
|
+
* @param usedSkillNames - Set of used skill directory names (for collision detection)
|
|
139
|
+
* @returns Array of written files
|
|
140
|
+
*/
|
|
141
|
+
async function emitAgentSkillIO(skill, root, dryRun, usedSkillNames) {
|
|
142
|
+
const written = [];
|
|
143
|
+
// Get unique skill name to avoid directory collisions
|
|
144
|
+
const baseName = sanitizeFilename(skill.name);
|
|
145
|
+
const skillName = getUniqueFilename(baseName, usedSkillNames);
|
|
146
|
+
const skillDir = path.join(root, '.claude', 'skills', skillName);
|
|
147
|
+
if (!dryRun) {
|
|
148
|
+
await fs.mkdir(skillDir, { recursive: true });
|
|
149
|
+
}
|
|
150
|
+
// Write SKILL.md with full frontmatter
|
|
151
|
+
const skillPath = path.join(skillDir, 'SKILL.md');
|
|
152
|
+
const safeName = JSON.stringify(skill.name);
|
|
153
|
+
const safeDescription = JSON.stringify(skill.description);
|
|
154
|
+
let frontmatter = `---
|
|
155
|
+
name: ${safeName}
|
|
156
|
+
description: ${safeDescription}`;
|
|
157
|
+
if (skill.disableModelInvocation) {
|
|
158
|
+
frontmatter += '\ndisable-model-invocation: true';
|
|
159
|
+
}
|
|
160
|
+
frontmatter += '\n---';
|
|
161
|
+
const skillContent = `${frontmatter}\n\n${skill.content}\n`;
|
|
162
|
+
let isNewFile = true;
|
|
163
|
+
try {
|
|
164
|
+
await fs.access(skillPath);
|
|
165
|
+
isNewFile = false;
|
|
166
|
+
}
|
|
167
|
+
catch {
|
|
168
|
+
isNewFile = true;
|
|
169
|
+
}
|
|
170
|
+
if (!dryRun) {
|
|
171
|
+
await fs.writeFile(skillPath, skillContent, 'utf-8');
|
|
172
|
+
}
|
|
173
|
+
written.push({
|
|
174
|
+
path: skillPath,
|
|
175
|
+
type: CustomizationType.AgentSkillIO,
|
|
176
|
+
itemCount: 1,
|
|
177
|
+
isNewFile,
|
|
178
|
+
sourceItems: [skill],
|
|
179
|
+
});
|
|
180
|
+
// Write all resource files
|
|
181
|
+
for (const [filename, content] of Object.entries(skill.files)) {
|
|
182
|
+
const filePath = path.join(skillDir, filename);
|
|
183
|
+
let isResourceNewFile = true;
|
|
184
|
+
try {
|
|
185
|
+
await fs.access(filePath);
|
|
186
|
+
isResourceNewFile = false;
|
|
187
|
+
}
|
|
188
|
+
catch {
|
|
189
|
+
isResourceNewFile = true;
|
|
190
|
+
}
|
|
191
|
+
if (!dryRun) {
|
|
192
|
+
await fs.writeFile(filePath, content, 'utf-8');
|
|
193
|
+
}
|
|
194
|
+
written.push({
|
|
195
|
+
path: filePath,
|
|
196
|
+
type: CustomizationType.AgentSkillIO,
|
|
197
|
+
itemCount: 1,
|
|
198
|
+
isNewFile: isResourceNewFile,
|
|
199
|
+
sourceItems: [skill],
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
return written;
|
|
203
|
+
}
|
|
122
204
|
/**
|
|
123
205
|
* Emit agent customizations to Claude format.
|
|
124
206
|
* - GlobalPrompts → CLAUDE.md
|
|
@@ -137,53 +219,53 @@ export async function emit(models, root, options) {
|
|
|
137
219
|
// Separate by type
|
|
138
220
|
const globalPrompts = models.filter(isGlobalPrompt);
|
|
139
221
|
const fileRules = models.filter(isFileRule);
|
|
140
|
-
const agentSkills = models.filter(
|
|
222
|
+
const agentSkills = models.filter(isSimpleAgentSkill);
|
|
223
|
+
const agentSkillIOs = models.filter(isAgentSkillIO);
|
|
141
224
|
const agentIgnores = models.filter(isAgentIgnore);
|
|
142
225
|
const manualPrompts = models.filter(isManualPrompt);
|
|
143
226
|
// Track unsupported types (future types)
|
|
144
227
|
for (const model of models) {
|
|
145
|
-
if (!isGlobalPrompt(model) && !isFileRule(model) && !
|
|
228
|
+
if (!isGlobalPrompt(model) && !isFileRule(model) && !isSimpleAgentSkill(model) && !isAgentSkillIO(model) && !isAgentIgnore(model) && !isManualPrompt(model)) {
|
|
146
229
|
unsupported.push(model);
|
|
147
230
|
}
|
|
148
231
|
}
|
|
149
|
-
// === Emit GlobalPrompts as
|
|
232
|
+
// === Emit GlobalPrompts as .claude/rules/*.md ===
|
|
150
233
|
if (globalPrompts.length > 0) {
|
|
151
|
-
const
|
|
152
|
-
const header = `## From: ${gp.sourcePath}`;
|
|
153
|
-
return `${header}\n\n${gp.content}`;
|
|
154
|
-
});
|
|
155
|
-
const content = sections.join('\n\n---\n\n');
|
|
156
|
-
const claudePath = path.join(root, 'CLAUDE.md');
|
|
157
|
-
// Check if file exists before writing
|
|
158
|
-
let isNewFile = true;
|
|
159
|
-
try {
|
|
160
|
-
await fs.access(claudePath);
|
|
161
|
-
isNewFile = false; // File exists
|
|
162
|
-
}
|
|
163
|
-
catch {
|
|
164
|
-
isNewFile = true; // File does not exist
|
|
165
|
-
}
|
|
234
|
+
const rulesDir = path.join(root, '.claude', 'rules');
|
|
166
235
|
if (!dryRun) {
|
|
167
|
-
await fs.
|
|
236
|
+
await fs.mkdir(rulesDir, { recursive: true });
|
|
168
237
|
}
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
238
|
+
const usedFilenames = new Set();
|
|
239
|
+
for (const gp of globalPrompts) {
|
|
240
|
+
// Get unique filename to avoid collisions
|
|
241
|
+
const baseName = sanitizeFilename(gp.sourcePath);
|
|
242
|
+
const filename = getUniqueFilename(baseName, usedFilenames, '.md');
|
|
243
|
+
const rulePath = path.join(rulesDir, filename);
|
|
244
|
+
const content = formatGlobalPromptAsClaudeRule(gp);
|
|
245
|
+
// Check if file exists before writing
|
|
246
|
+
let isNewFile = true;
|
|
247
|
+
try {
|
|
248
|
+
await fs.access(rulePath);
|
|
249
|
+
isNewFile = false; // File exists
|
|
250
|
+
}
|
|
251
|
+
catch {
|
|
252
|
+
isNewFile = true; // File does not exist
|
|
253
|
+
}
|
|
254
|
+
if (!dryRun) {
|
|
255
|
+
await fs.writeFile(rulePath, content, 'utf-8');
|
|
256
|
+
}
|
|
257
|
+
written.push({
|
|
258
|
+
path: rulePath,
|
|
259
|
+
type: CustomizationType.GlobalPrompt,
|
|
260
|
+
itemCount: 1,
|
|
261
|
+
isNewFile,
|
|
262
|
+
sourceItems: [gp],
|
|
181
263
|
});
|
|
182
264
|
}
|
|
183
265
|
}
|
|
184
|
-
// === Emit FileRules as .
|
|
266
|
+
// === Emit FileRules as .claude/rules/*.md ===
|
|
185
267
|
if (fileRules.length > 0) {
|
|
186
|
-
const
|
|
268
|
+
const rulesDir = path.join(root, '.claude', 'rules');
|
|
187
269
|
const usedFilenames = new Set();
|
|
188
270
|
let validFileRulesExist = false;
|
|
189
271
|
for (const rule of fileRules) {
|
|
@@ -198,19 +280,18 @@ export async function emit(models, root, options) {
|
|
|
198
280
|
});
|
|
199
281
|
continue;
|
|
200
282
|
}
|
|
201
|
-
// Create
|
|
283
|
+
// Create directory only when we have valid rules (skip in dry-run)
|
|
202
284
|
if (!validFileRulesExist && !dryRun) {
|
|
203
|
-
const rulesDir = path.join(root, '.a16n', 'rules');
|
|
204
285
|
await fs.mkdir(rulesDir, { recursive: true });
|
|
205
|
-
const claudeDir = path.join(root, '.claude');
|
|
206
|
-
await fs.mkdir(claudeDir, { recursive: true });
|
|
207
286
|
}
|
|
208
287
|
validFileRulesExist = true;
|
|
209
288
|
// Get unique filename to avoid collisions
|
|
210
289
|
const baseName = sanitizeFilename(rule.sourcePath);
|
|
211
290
|
const filename = getUniqueFilename(baseName, usedFilenames, '.md');
|
|
212
|
-
const
|
|
213
|
-
|
|
291
|
+
const fullPath = path.join(rulesDir, filename);
|
|
292
|
+
// Filter to only valid globs for emission
|
|
293
|
+
const filteredRule = { ...rule, globs: validGlobs };
|
|
294
|
+
const content = formatFileRuleAsClaudeRule(filteredRule);
|
|
214
295
|
// Check if file exists before writing
|
|
215
296
|
let isNewFile = true;
|
|
216
297
|
try {
|
|
@@ -222,7 +303,7 @@ export async function emit(models, root, options) {
|
|
|
222
303
|
}
|
|
223
304
|
// Write rule content (skip in dry-run)
|
|
224
305
|
if (!dryRun) {
|
|
225
|
-
await fs.writeFile(fullPath,
|
|
306
|
+
await fs.writeFile(fullPath, content, 'utf-8');
|
|
226
307
|
}
|
|
227
308
|
written.push({
|
|
228
309
|
path: fullPath,
|
|
@@ -231,73 +312,11 @@ export async function emit(models, root, options) {
|
|
|
231
312
|
isNewFile,
|
|
232
313
|
sourceItems: [rule],
|
|
233
314
|
});
|
|
234
|
-
// Build hook for this rule with filtered valid globs
|
|
235
|
-
const filteredRule = { ...rule, globs: validGlobs };
|
|
236
|
-
hooks.push(buildHookConfig(filteredRule, rulePath));
|
|
237
|
-
}
|
|
238
|
-
// Only write settings.local.json if there are valid hooks
|
|
239
|
-
if (hooks.length > 0) {
|
|
240
|
-
const claudeDir = path.join(root, '.claude');
|
|
241
|
-
if (!dryRun) {
|
|
242
|
-
await fs.mkdir(claudeDir, { recursive: true });
|
|
243
|
-
}
|
|
244
|
-
// Write settings.local.json, merging with existing content if present
|
|
245
|
-
const settingsPath = path.join(claudeDir, 'settings.local.json');
|
|
246
|
-
let settings = { hooks: { PreToolUse: hooks } };
|
|
247
|
-
let isNewFile = true;
|
|
248
|
-
try {
|
|
249
|
-
const existingContent = await fs.readFile(settingsPath, 'utf-8');
|
|
250
|
-
isNewFile = false; // File exists
|
|
251
|
-
const existing = JSON.parse(existingContent);
|
|
252
|
-
const existingHooks = existing.hooks;
|
|
253
|
-
const existingPreToolUse = Array.isArray(existingHooks?.PreToolUse)
|
|
254
|
-
? existingHooks.PreToolUse
|
|
255
|
-
: [];
|
|
256
|
-
// Merge: preserve existing settings, append new PreToolUse hooks
|
|
257
|
-
settings = {
|
|
258
|
-
...existing,
|
|
259
|
-
hooks: {
|
|
260
|
-
...existingHooks,
|
|
261
|
-
PreToolUse: [...existingPreToolUse, ...hooks],
|
|
262
|
-
},
|
|
263
|
-
};
|
|
264
|
-
}
|
|
265
|
-
catch (err) {
|
|
266
|
-
// File doesn't exist or isn't valid JSON - use fresh settings
|
|
267
|
-
if (err.code !== 'ENOENT') {
|
|
268
|
-
// Only warn if it's not a "file not found" error
|
|
269
|
-
warnings.push({
|
|
270
|
-
code: WarningCode.Skipped,
|
|
271
|
-
message: `Could not parse existing settings.local.json, overwriting: ${err.message}`,
|
|
272
|
-
sources: [settingsPath],
|
|
273
|
-
});
|
|
274
|
-
}
|
|
275
|
-
// If ENOENT, isNewFile remains true
|
|
276
|
-
}
|
|
277
|
-
if (!dryRun) {
|
|
278
|
-
await fs.writeFile(settingsPath, JSON.stringify(settings, null, 2), 'utf-8');
|
|
279
|
-
}
|
|
280
|
-
// Collect all FileRules that were successfully processed (have valid globs)
|
|
281
|
-
const validFileRules = fileRules.filter(r => r.globs.some(g => g.trim().length > 0));
|
|
282
|
-
written.push({
|
|
283
|
-
path: settingsPath,
|
|
284
|
-
type: CustomizationType.FileRule,
|
|
285
|
-
itemCount: hooks.length,
|
|
286
|
-
isNewFile,
|
|
287
|
-
sourceItems: validFileRules,
|
|
288
|
-
});
|
|
289
|
-
// Emit approximation warning for successfully processed FileRules
|
|
290
|
-
const processedRules = fileRules.filter(r => r.globs.some(g => g.trim().length > 0));
|
|
291
|
-
warnings.push({
|
|
292
|
-
code: WarningCode.Approximated,
|
|
293
|
-
message: `FileRule approximated via @a16njs/glob-hook (behavior may differ slightly)`,
|
|
294
|
-
sources: processedRules.map((r) => r.sourcePath),
|
|
295
|
-
});
|
|
296
315
|
}
|
|
297
316
|
}
|
|
298
317
|
// Track .claude/skills directory names across skills + commands to prevent collisions
|
|
299
318
|
const usedSkillNames = new Set();
|
|
300
|
-
// === Emit
|
|
319
|
+
// === Emit SimpleAgentSkills as .claude/skills/*/SKILL.md ===
|
|
301
320
|
if (agentSkills.length > 0) {
|
|
302
321
|
for (const skill of agentSkills) {
|
|
303
322
|
// Get unique skill name to avoid directory collisions
|
|
@@ -323,7 +342,7 @@ export async function emit(models, root, options) {
|
|
|
323
342
|
}
|
|
324
343
|
written.push({
|
|
325
344
|
path: skillPath,
|
|
326
|
-
type: CustomizationType.
|
|
345
|
+
type: CustomizationType.SimpleAgentSkill,
|
|
327
346
|
itemCount: 1,
|
|
328
347
|
isNewFile,
|
|
329
348
|
sourceItems: [skill],
|
|
@@ -435,6 +454,13 @@ export async function emit(models, root, options) {
|
|
|
435
454
|
});
|
|
436
455
|
}
|
|
437
456
|
}
|
|
457
|
+
// === Emit AgentSkillIOs (Phase 8 B4) ===
|
|
458
|
+
if (agentSkillIOs.length > 0) {
|
|
459
|
+
for (const skillIO of agentSkillIOs) {
|
|
460
|
+
const skillIOWritten = await emitAgentSkillIO(skillIO, root, dryRun, usedSkillNames);
|
|
461
|
+
written.push(...skillIOWritten);
|
|
462
|
+
}
|
|
463
|
+
}
|
|
438
464
|
return { written, warnings, unsupported };
|
|
439
465
|
}
|
|
440
466
|
//# sourceMappingURL=emit.js.map
|
package/dist/emit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emit.js","sourceRoot":"","sources":["../src/emit.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"emit.js","sourceRoot":"","sources":["../src/emit.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC;;;GAGG;AACH,MAAM,YAAY,GAAe;IAC/B,EAAE,EAAE,QAAQ;IACZ,IAAI,EAAE,aAAa;IACnB,QAAQ,EAAE;QACR,iBAAiB,CAAC,YAAY;QAC9B,iBAAiB,CAAC,QAAQ;QAC1B,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC;;;GAGG;AACH,MAAM,YAAY,GAAe;IAC/B,EAAE,EAAE,QAAQ;IACZ,IAAI,EAAE,aAAa;IACnB,QAAQ,EAAE;QACR,iBAAiB,CAAC,YAAY;QAC9B,iBAAiB,CAAC,QAAQ;QAC1B,iBAAiB,CAAC,gBAAgB;KACnC;IAED,QAAQ;IACR,IAAI;CACL,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@a16njs/plugin-claude",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Claude Code plugin for a16n",
|
|
5
5
|
"license": "AGPL-3.0",
|
|
6
6
|
"author": "Texarkanine",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"dist"
|
|
34
34
|
],
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@a16njs/models": "0.
|
|
36
|
+
"@a16njs/models": "0.5.0"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@types/node": "^20.0.0",
|