/ documentation

maleta init

Create a minimal maleta.json with maleta init, and learn about its defaults, output, and creation errors.

#Usage

Create at the default path
bash
maleta init
Create at another path
bash
maleta init --file ./configs/maleta.json

The default file is maleta.json, resolved relative to the current directory. Use --file <path> to specify another path. The --tool flag is not accepted by init.

#CLI help

Verbatim help
text
maleta - local Maleta selection CLI

Usage:
  maleta init [--file path]
  maleta validate [--file path]
  maleta install [--file path] [--tool all|claude|codex|agents] [--dry-run]
  maleta sync [--file path] [--tool all|claude|codex|agents] [--dry-run]
  maleta tray
  maleta --version

Device commands (optional account):
  maleta login [--name label]      autoriza este computador (código em app.maleta.dev/device)
  maleta logout                    revoga a credencial e para de seguir a Maleta
  maleta attach <maleta>           segue uma Maleta da conta neste computador
  maleta detach                    para de seguir a Maleta vinculada
  maleta status                    mostra o que este computador segue e o que ficou pendente
  maleta watch [--interval seconds] [--once]
                                   aplica as mudanças da Maleta vinculada (não remove nada)
  maleta prune [--dry-run] [--yes]  remove só os arquivos que a Maleta escreveu e não usa mais

maleta tray starts the maleta.dev tray icon in the background. It checks npm at startup and every 24 hours, then restarts after a verified update.
The file targetTool is used when --tool is omitted. targetOs must match the local host.
GitHub skills are resolved from the declared public repository/path/ref without executing repository content.

#The created manifest

The command creates a document with schemaVersion: 1, a UUID in id, slug: "my-maleta", name: "My Maleta", matching ISO dates in createdAt and updatedAt, empty skills and plugins lists, targetTool: "all", and targetOs matching the host. The JSON uses two-space indentation and ends with a newline.

Minimal form (dynamic values omitted)
json
{
  "schemaVersion": 1,
  "id": "<UUID>",
  "slug": "my-maleta",
  "name": "My Maleta",
  "createdAt": "<agora em ISO>",
  "updatedAt": "<agora em ISO>",
  "skills": [],
  "plugins": [],
  "targetTool": "all",
  "targetOs": "<windows ou unix>"
}

#Output and codes

On success, the first line is created: <caminho>, followed by these seven summary lines and a next-step instruction:

Summary printed by init
text
valid: <caminho absoluto>
name: My Maleta
schema: 1
skills: 0
plugins: 0
targetTool: all
targetOs: <windows ou unix>
Next: add skills/plugins to <caminho absoluto> or export a Maleta from https://app.maleta.dev before running install.
  • If the file already exists, the command does not overwrite it: [error] refusing to overwrite existing file: <path>. The exit code is 3.
  • If the file cannot be created, for example because the parent directory does not exist, it prints [error] could not create <path>: <msg> and exits with code 1.
  • Help, with no arguments or with --help / -h, exits with code 0.

#After creating it

Edit the selection in maleta.json and run maleta validate before applying it with maleta install.