{
  "id": "jrnl",
  "name": "jrnl",
  "homepage": "https://jrnl.sh",
  "description": "Collect your thoughts and notes without leaving the command line.",
  "icon": "https://raw.githubusercontent.com/jrnl-org/jrnl/develop/docs_theme/img/favicon.svg",
  "executables": [
    "jrnl"
  ],
  "dotfiles": {
    "paths": [
      "[configHome]/jrnl/jrnl.yaml",
      "~/.config/jrnl/jrnl.yaml"
    ],
    "exclude": [],
    "secret": [],
    "machine_lines": [
      {
        "file": [
          "[configHome]/jrnl/jrnl.yaml",
          "~/.config/jrnl/jrnl.yaml"
        ],
        "match": {
          "key_path": [
            "journals.*.journal"
          ]
        },
        "scope": "backup"
      }
    ]
  },
  "commands": {
    "format": 1,
    "label": "Write or search journal",
    "description": "Add an entry with the text field, or read entries back in a chosen format. The single-dash date filters (-from, -to, -on) and encryption commands are left out.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": false,
      "short_attached": false,
      "short_bundles": false
    },
    "source": [
      {
        "id": "ref",
        "kind": "manual",
        "url": "https://jrnl.sh/en/stable/reference-command-line/",
        "revision": "2026-10-27",
        "evidence": "usage: jrnl [--debug] [--help] [--version] [--list] [--encrypt] [--decrypt]\n            [--import] [-on DATE] [-today-in-history] [-month DATE]\n            [-n [NUMBER]] [-not [TAG]] [--edit] [--delete]\n            [--format TYPE] [--tags] [--short]\n            [--config-override CONFIG_KEY CONFIG_VALUE]\n            [--config-file CONFIG_FILE_PATH]\n### --edit\nOpens the selected entries in your configured editor.\n### --delete\nInteractively deletes selected entries. You'll be asked to confirm deletion of each entry.\n### --format TYPE\nDisplay selected entries in an alternate format.\n--file FILENAME\nWrite output to file instead of STDOUT.\n### --tags\nAlias for '--format tags'. Returns a list of all tags and the number of times they occur within the searched entries.\n### --short\nOnly shows the date and titles of the searched entries.\n### --config-file CONFIG_FILE_PATH\nUse the config file at CONFIG_FILE_PATH for this command invocation only.\n### --debug\nPrints information useful for troubleshooting while `jrnl` executes.\n| -n [NUMBER] | Show a maximum of NUMBER entries (note: '-n 3' and '-3' have the same effect) |\n"
      }
    ],
    "field": [
      {
        "id": "text",
        "label": "Entry text or journal name",
        "description": "Words after jrnl are written as a new entry; a leading journal name selects that journal.",
        "type": "string",
        "position": 0,
        "multiple": true,
        "sources": [
          "ref"
        ]
      },
      {
        "id": "limit",
        "label": "Maximum entries to show",
        "type": "integer",
        "option": [
          "-n"
        ],
        "sources": [
          "ref"
        ]
      },
      {
        "id": "short",
        "label": "Dates and titles only",
        "type": "boolean",
        "option": [
          "--short"
        ],
        "sources": [
          "ref"
        ]
      },
      {
        "id": "tags",
        "label": "List tags with counts",
        "type": "boolean",
        "option": [
          "--tags"
        ],
        "sources": [
          "ref"
        ]
      },
      {
        "id": "format",
        "label": "Output format",
        "description": "Open set; see the jrnl formats page (for example json, markdown, text).",
        "type": "string",
        "option": [
          "--format"
        ],
        "sources": [
          "ref"
        ]
      },
      {
        "id": "file",
        "label": "Write output to file",
        "type": "path",
        "path": {
          "kind": "file",
          "role": "output"
        },
        "option": [
          "--file"
        ],
        "sources": [
          "ref"
        ]
      },
      {
        "id": "edit",
        "label": "Edit in editor",
        "type": "boolean",
        "option": [
          "--edit"
        ],
        "sources": [
          "ref"
        ]
      },
      {
        "id": "delete",
        "label": "Delete entries (interactive)",
        "type": "boolean",
        "option": [
          "--delete"
        ],
        "effect": "delete",
        "sources": [
          "ref"
        ]
      },
      {
        "id": "config_file",
        "label": "Config file",
        "type": "path",
        "path": {
          "kind": "file",
          "role": "input"
        },
        "option": [
          "--config-file"
        ],
        "sources": [
          "ref"
        ]
      },
      {
        "id": "debug",
        "label": "Debug output",
        "type": "boolean",
        "option": [
          "--debug"
        ],
        "sources": [
          "ref"
        ]
      }
    ],
    "task": [
      {
        "id": "write",
        "label": "Write an entry",
        "fields": [
          "text"
        ],
        "required": [
          "text"
        ]
      },
      {
        "id": "recent",
        "label": "Show recent entries",
        "fields": [
          "limit",
          "short"
        ],
        "required": [
          "limit"
        ]
      },
      {
        "id": "tag_list",
        "label": "List tags",
        "fields": [
          "tags"
        ],
        "required": [
          "tags"
        ],
        "set": {
          "tags": [
            true
          ]
        }
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "text",
          "limit",
          "short",
          "tags",
          "format",
          "file"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "edit",
          "delete",
          "config_file",
          "debug"
        ]
      }
    ]
  }
}
