@hacksmith/doraval 0.2.21 → 0.2.23

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.
Files changed (3) hide show
  1. package/README.md +7 -5
  2. package/bin/doraval.js +1187 -187
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -67,12 +67,14 @@ doraval validate . --for claude:plugin # just the plugin validator
67
67
 
68
68
  | Validator | Detects | Checks |
69
69
  |---|---|---|
70
- | `claude:skill` | `SKILL.md` | Frontmatter, body, supporting files, dynamic injection, advanced fields |
71
- | `claude:plugin` | `.claude-plugin/plugin.json` | Manifest fields, component paths |
70
+ | `claude:skill` | `SKILL.md` | Frontmatter (all known fields), body, supporting files, dynamic injection (!`...`, $ARGUMENTS, ${CLAUDE_*}), advanced fields, unknown field warnings |
71
+ | `claude:plugin` | `.claude-plugin/plugin.json` | Full manifest schema (name, version rules, displayName, author, license, keywords, defaultEnabled, userConfig, channels, dependencies, ...), path rules (./, replace vs augment), .claude-plugin/ purity (only manifest allowed inside), default dirs + co-existence warnings, root SKILL.md single-skill layout, unrecognized fields + suggestions, version pinning semantics |
72
72
  | `claude:marketplace` | `plugins/` | Plugin directory structure, README, LICENSE |
73
- | `claude:hooks` | `hooks/hooks.json` | Valid JSON, known event names |
74
- | `claude:mcp` | `.mcp.json` | Valid JSON, server definitions |
75
- | `claude:subagent` | `agents/*.md` | Frontmatter with description, non-empty body |
73
+ | `claude:hooks` | `hooks/hooks.json` or `hooks.json` | All 30+ lifecycle events (full list), hook group structure (matcher + hooks[]), supported types (command/http/mcp_tool/prompt/agent), basic required fields per type, substitution notes |
74
+ | `claude:mcp` | `.mcp.json` | Server entries (command+args stdio or url), env/cwd, substitution detection (${CLAUDE_PLUGIN_*} etc) |
75
+ | `claude:lsp` | `.lsp.json` (or inline) | Per-language: required command + extensionToLanguage map; notes on separate binary install requirement |
76
+ | `claude:monitors` | `monitors/monitors.json` (or experimental) | Array entries (name, command, description, when), unique names, substitution support; experimental caveats |
77
+ | `claude:subagent` | `agents/*.md` | Supported frontmatter (name/desc/model/effort/maxTurns/tools/disallowedTools/skills/memory/background/isolation=worktree), disallowed security fields (hooks/mcpServers/permissionMode) are errors, non-empty body |
76
78
  | `claude:command` | `commands/*.md` | Frontmatter, body, advanced fields |
77
79
  | `claude:memory` | `CLAUDE.md` | Non-empty, length limit, @path import resolution |
78
80