{
  "id": "timewarrior",
  "name": "Timewarrior",
  "homepage": "https://timewarrior.net",
  "description": "Timewarrior is a command line time tracker.",
  "executables": [
    "timew",
    "timewarrior"
  ],
  "dotfiles": {
    "paths": [
      "[configHome]/timewarrior/timewarrior.cfg",
      "~/.timewarrior/timewarrior.cfg",
      "[configHome]/timewarrior/extensions/",
      "~/.timewarrior/extensions/"
    ],
    "exclude": [
      "[xdgData]/timewarrior/data/",
      "~/.timewarrior/data/"
    ],
    "secret": []
  },
  "commands": {
    "format": 1,
    "label": "Timewarrior",
    "description": "Track and report time. Start, stop, track past intervals and summarise; hints such as :fill or :week can be typed into the date and range fields.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": false,
      "short_attached": false,
      "short_bundles": false
    },
    "subcommand": [
      {
        "path": [
          "start"
        ],
        "label": "Start tracking",
        "description": "Begin tracking now, or at an optional date, with tags.",
        "source": [
          {
            "id": "man",
            "kind": "manual",
            "url": "https://timewarrior.net/reference/timew-start.1/",
            "revision": "2026-10-27",
            "evidence": "timew start [<date>] [<tag>…​]\nBegins tracking using the current time with any specified set of tags.\nIf a tag contains multiple words, therefore containing spaces, use quotes to surround the whole tag.\n"
          }
        ],
        "field": [
          {
            "id": "date",
            "label": "Start date/time",
            "description": "Optional, for example 8am.",
            "type": "string",
            "position": 0,
            "sources": [
              "man"
            ]
          },
          {
            "id": "tags",
            "label": "Tags",
            "description": "Tags to track.",
            "type": "string",
            "position": 1,
            "multiple": true,
            "sources": [
              "man"
            ]
          }
        ],
        "task": [
          {
            "id": "start_tags",
            "label": "Start with tags",
            "fields": [
              "tags"
            ],
            "required": [
              "tags"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "date",
              "tags"
            ]
          }
        ]
      },
      {
        "path": [
          "stop"
        ],
        "label": "Stop tracking",
        "description": "Stop all tracking, or only the given tags.",
        "source": [
          {
            "id": "man",
            "kind": "manual",
            "url": "https://timewarrior.net/reference/timew-stop.1/",
            "revision": "2026-10-27",
            "evidence": "timew stop [<date>] [<tag>…​]\nStops tracking time.\nIf tags are specified, then they are no longer tracked.\nIf no tags are specified, all tracking stops.\n"
          }
        ],
        "field": [
          {
            "id": "date",
            "label": "Stop date/time",
            "description": "Optional.",
            "type": "string",
            "position": 0,
            "sources": [
              "man"
            ]
          },
          {
            "id": "tags",
            "label": "Tags to stop",
            "description": "Leave empty to stop all tracking.",
            "type": "string",
            "position": 1,
            "multiple": true,
            "sources": [
              "man"
            ]
          }
        ],
        "task": [
          {
            "id": "stop_all",
            "label": "Stop everything",
            "fields": [
              "date"
            ],
            "required": []
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "date",
              "tags"
            ]
          }
        ]
      },
      {
        "path": [
          "track"
        ],
        "label": "Add a past interval",
        "description": "Record a closed interval in the past.",
        "source": [
          {
            "id": "man",
            "kind": "manual",
            "url": "https://timewarrior.net/reference/timew-track.1/",
            "revision": "2026-10-27",
            "evidence": "timew track <range> [<tag>…​]\nThe track command is used to add tracked time in the past.\n$ timew track 9am - 11am 'Staff Meeting'\nNote that the track command expects a closed interval (start and end time), when recording.\n"
          }
        ],
        "field": [
          {
            "id": "range",
            "label": "Range",
            "description": "Closed interval, for example: 9am - 11am or :yesterday.",
            "type": "string",
            "position": 0,
            "sources": [
              "man"
            ]
          },
          {
            "id": "tags",
            "label": "Tags",
            "description": "Tags for the interval.",
            "type": "string",
            "position": 1,
            "multiple": true,
            "sources": [
              "man"
            ]
          }
        ],
        "task": [
          {
            "id": "track_past",
            "label": "Record an interval",
            "fields": [
              "range",
              "tags"
            ],
            "required": [
              "range"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "range",
              "tags"
            ]
          }
        ]
      },
      {
        "path": [
          "summary"
        ],
        "label": "Summary",
        "description": "Table of tracked time, by default for today.",
        "source": [
          {
            "id": "man",
            "kind": "manual",
            "url": "https://timewarrior.net/reference/timew-summary.1/",
            "revision": "2026-10-27",
            "evidence": "timew summary [<range>] [<tag>…​]\nDisplays a table summarizing tracked time, by default for the current day.\nAccepts date ranges (or range hints) and tags, or IDs for filtering.\n"
          }
        ],
        "field": [
          {
            "id": "range",
            "label": "Range",
            "description": "Optional range hint, for example :week or :lastmonth.",
            "type": "string",
            "position": 0,
            "sources": [
              "man"
            ]
          },
          {
            "id": "tags",
            "label": "Tags",
            "description": "Filter by tags.",
            "type": "string",
            "position": 1,
            "multiple": true,
            "sources": [
              "man"
            ]
          }
        ],
        "task": [
          {
            "id": "summary_week",
            "label": "This week",
            "fields": [
              "range",
              "tags"
            ],
            "required": [
              "range"
            ],
            "set": {
              "range": [
                ":week"
              ]
            }
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "range",
              "tags"
            ]
          }
        ]
      }
    ]
  }
}
