{
  "id": "dnote",
  "name": "Dnote",
  "homepage": "https://www.getdnote.com",
  "description": "A command-line notebook for programmers.",
  "executables": [
    "dnote"
  ],
  "dotfiles": {
    "paths": [
      "[configHome]/dnote/dnoterc"
    ],
    "exclude": [],
    "secret": [],
    "side_effect": false
  },
  "commands": {
    "format": 1,
    "label": "Dnote",
    "description": "Add, search and view notes. Sync, login, edit and remove are left out.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": true,
      "short_attached": true,
      "short_bundles": false
    },
    "subcommand": [
      {
        "path": [
          "add"
        ],
        "label": "Add a note",
        "source": [
          {
            "id": "src",
            "kind": "help",
            "url": "https://github.com/dnote/dnote/blob/master/pkg/cli/cmd/add/add.go",
            "evidence": "Use:     \"add <book>\",\nShort:   \"Add a new note\",\nf.StringVarP(&contentFlag, \"content\", \"c\", \"\", \"The new content for the note\")\n(cobra flags: -c, --content string   The new content for the note)\n"
          }
        ],
        "field": [
          {
            "id": "book",
            "label": "Book",
            "type": "string",
            "position": 0,
            "sources": [
              "src"
            ]
          },
          {
            "id": "content",
            "label": "Content",
            "description": "Leave empty to open your editor.",
            "type": "string",
            "option": [
              "--content",
              "-c"
            ],
            "sources": [
              "src"
            ]
          }
        ],
        "task": [
          {
            "id": "add",
            "label": "Add a note",
            "fields": [
              "book",
              "content"
            ],
            "required": [
              "book"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "book",
              "content"
            ]
          }
        ]
      },
      {
        "path": [
          "find"
        ],
        "label": "Find notes",
        "source": [
          {
            "id": "src",
            "kind": "help",
            "url": "https://github.com/dnote/dnote/blob/master/pkg/cli/cmd/find/find.go",
            "evidence": "Use:     \"find\",\nShort:   \"Find notes by keywords\",\nf.StringVarP(&bookName, \"book\", \"b\", \"\", \"book name to find notes in\")\n(cobra flags: -b, --book string   book name to find notes in)\n"
          }
        ],
        "field": [
          {
            "id": "query",
            "label": "Keywords",
            "type": "string",
            "position": 0,
            "sources": [
              "src"
            ]
          },
          {
            "id": "book",
            "label": "Only in book",
            "type": "string",
            "option": [
              "--book",
              "-b"
            ],
            "sources": [
              "src"
            ]
          }
        ],
        "task": [
          {
            "id": "find",
            "label": "Search notes",
            "fields": [
              "query",
              "book"
            ],
            "required": [
              "query"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "query",
              "book"
            ]
          }
        ]
      },
      {
        "path": [
          "view"
        ],
        "label": "View books or notes",
        "source": [
          {
            "id": "src",
            "kind": "help",
            "url": "https://github.com/dnote/dnote/blob/master/pkg/cli/cmd/view/view.go",
            "evidence": "Use:     \"view <book name?> <note index?>\",\nShort:   \"List books, notes or view a content\",\nf.BoolVarP(&nameOnly, \"name-only\", \"\", false, \"print book names only\")\nf.BoolVarP(&contentOnly, \"content-only\", \"\", false, \"print the note content only\")\n(cobra flags: --name-only   print book names only; --content-only   print the note content only)\n"
          }
        ],
        "field": [
          {
            "id": "book",
            "label": "Book",
            "description": "Omit to list all books.",
            "type": "string",
            "position": 0,
            "sources": [
              "src"
            ]
          },
          {
            "id": "index",
            "label": "Note index",
            "type": "integer",
            "position": 1,
            "sources": [
              "src"
            ]
          },
          {
            "id": "name_only",
            "label": "Book names only",
            "type": "boolean",
            "option": [
              "--name-only"
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "content_only",
            "label": "Content only",
            "type": "boolean",
            "option": [
              "--content-only"
            ],
            "sources": [
              "src"
            ]
          }
        ],
        "task": [
          {
            "id": "books",
            "label": "List books",
            "fields": [
              "name_only"
            ],
            "required": []
          },
          {
            "id": "note",
            "label": "Show a note",
            "fields": [
              "book",
              "index",
              "content_only"
            ],
            "required": [
              "book",
              "index"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "book",
              "index",
              "name_only",
              "content_only"
            ]
          }
        ]
      }
    ]
  }
}
