@hacksmith/doraval 0.2.21 → 0.2.25

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 +8 -5
  2. package/bin/doraval.js +1487 -250
  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
 
@@ -142,6 +144,7 @@ doraval journal update # pull latest from remote
142
144
 
143
145
  Requires the GitHub CLI (`gh`). Journal lives in a private GitHub repo you control.
144
146
 
147
+ doraval update # self-update doraval to the latest version
145
148
  doraval claude new # interactive wizard for skills/plugins (follows official table)
146
149
 
147
150
  ## Options