/ documentation

maleta validate

Validate a Maleta's JSON and full schema without network access or comparing targetOs with the host.

#Usage

Validate the default file
bash
maleta validate
Validate an explicit path
bash
maleta validate --file ./configs/maleta.json

The default file is maleta.json, and --file <path> accepts an alternative path. --tool is accepted by this command but silently ignored: validation uses only the manifest.

#What is validated

  • Readable JSON and the schemaVersion: 1 format.
  • Required top-level fields: id, slug, name, createdAt, updatedAt, skills, plugins, targetTool, and targetOs.
  • Text and item limits, rules for builtin and GitHub sources, and tool and operating system enums.
  • Every skill name must match [A-Za-z0-9._-]+, must not be ., .., or contain .. — for the string shorthand too — and two skills that would land in the same destination directory are rejected with Skill destination collision '<name>' between '<id>' and '<id>'. A skill named shared is also refused. On targetOs: "windows" the comparison is case-insensitive and a trailing dot/space or a DOS device name is rejected with Invalid skill name '<x>' for Windows.
  • The same document rules install applies: validate and install --dry-run accept and reject exactly the same files.

A --file that is not a regular file (a directory, FIFO, or device) is rejected with [error] <path>: not a regular file; other input failures are file does not exist, permission denied, Maleta file is too large (enforced from the file size before anything is read), and file is UTF-16; save it as UTF-8. A UTF-8 BOM is accepted and stripped.

#Output

With a valid manifest, validate prints seven lines, always in this order:

Validation summary
text
valid: <caminho absoluto>
name: <nome da Maleta>
schema: 1
skills: <quantidade>
plugins: <quantidade>
targetTool: <all|claude|codex|agents>
targetOs: <windows|unix>

#Exit codes

CodeWhen
0The manifest was read and validated; help also uses this code.
1The file is unreadable or invalid, or fails a document validation rule.
2A command, option, or flag value is invalid; --dry-run is not accepted by this command.

Validation errors are prefixed with [error] <caminho>: <mensagem>. Core messages are collected in the schema reference.

Privacy preferences

Choose what this origin may measure. You can change it here at any time.

Essential storage

This browser always keeps your theme, the Maletas you save here and this choice so the site works. They stay on this origin.

Optional analytics

Maleta.dev measures aggregate traffic and real-user performance only after you allow it.

Current choice: not made yet, so measurement stays off.

Privacy policy