{
  "name": "make",
  "kind": "registry",
  "title": "Makefile Targets",
  "description": "Every Makefile target under your project folders in one list. Enter runs it in a terminal or in the background, with variables typed in first.",
  "version": "0.1.0",
  "icon": {
    "tile": {
      "glyph": "󰣪",
      "bg": "orange"
    }
  },
  "author": "pal",
  "spec": "github:zcag/pal/extensions/make@v0.17.4",
  "source": "https://github.com/zcag/pal-extensions/tree/HEAD/make",
  "commit": "4d2559cf9c04d0133c97d7c897f19a14acb9eace",
  "manifest": {
    "name": "make",
    "title": "Makefile Targets",
    "description": "Every Makefile target under your project folders in one list. Enter runs it in a terminal or in the background, with variables typed in first.",
    "version": "0.1.0",
    "icon": {
      "tile": {
        "glyph": "󰣪",
        "bg": "orange"
      }
    },
    "author": "pal",
    "repo": "bundled",
    "license": "MIT",
    "settings": [
      {
        "kind": "list",
        "id": "projects",
        "local": true,
        "label": "Project folders",
        "description": "Folders scanned two levels deep for a Makefile, makefile or GNUmakefile. ~ is expanded.",
        "placeholder": "~/proj",
        "default": [
          "~/proj"
        ]
      },
      {
        "kind": "select",
        "id": "terminal",
        "label": "Run in",
        "description": "Where Run puts make. A terminal keeps its window open until you press Enter; background runs it unseen and toasts the exit status (the output opens in the panel when it failed; a run past 8 s is left to finish on its own). On Linux the terminal is $TERMINAL, else kitty, foot, alacritty, xterm.",
        "options": [
          {
            "id": "auto",
            "title": "Terminal (auto)"
          },
          {
            "id": "background",
            "title": "Background"
          },
          {
            "id": "kitty",
            "title": "kitty"
          },
          {
            "id": "Terminal",
            "title": "Terminal"
          },
          {
            "id": "iTerm2",
            "title": "iTerm2"
          },
          {
            "id": "Ghostty",
            "title": "Ghostty"
          },
          {
            "id": "Alacritty",
            "title": "Alacritty"
          }
        ],
        "default": "auto"
      }
    ],
    "store": {
      "tagline": "Every Makefile target under your projects, Enter runs it",
      "category": "developer",
      "features": [
        "Every target of every Makefile in your project folders, one section per project",
        "Each target's `## description` shown beside it",
        "`enter` runs `make \u003ctarget\u003e` in a terminal in the project folder, left open so you can read the output",
        "Or run it in the background: a notice with the exit status, the full output when it failed",
        "The side pane shows the recipe; `cmd+l` opens the whole Makefile, `cmd+c` copies the command"
      ],
      "permissions": [
        "make",
        "automation"
      ],
      "platforms": [
        "macos",
        "linux"
      ],
      "screenshots": [
        {
          "file": "1-targets.png",
          "caption": "Every target of the Makefiles under the configured folders, a section per project, its ## description under the name"
        },
        {
          "file": "2-recipe.png",
          "caption": "The detail pane (cmd+I): the Makefile and the target on top, its description, then its recipe"
        },
        {
          "file": "3-makefile.png",
          "caption": "Show Makefile (cmd+L): the whole file in the panel, the ## comments that describe the targets included"
        },
        {
          "file": "4-actions.png",
          "caption": "What a target can do: run it, copy the make command, open the project, show the Makefile"
        }
      ],
      "actions": [
        {
          "title": "Run",
          "description": "make \u003ctarget\u003e in a terminal in the project folder, or in the background per the setting; the bar takes optional words after the target first (VERBOSE=1, -j4).",
          "keys": "enter"
        },
        {
          "title": "Copy command",
          "description": "make -C \u003cdir\u003e \u003ctarget\u003e.",
          "keys": "cmd+c"
        },
        {
          "title": "Open project",
          "description": "The project folder in the file manager.",
          "keys": "cmd+o"
        },
        {
          "title": "Show Makefile",
          "description": "The whole file in the panel.",
          "keys": "cmd+l"
        }
      ]
    },
    "palettes": {
      "make": {
        "title": "Makefile Targets",
        "kind": "list",
        "description": "Every target of every Makefile in the project folders, one section per project.",
        "keys": [
          {
            "keys": "enter",
            "title": "Run the target (variables or flags typed in the bar go after it; blank runs it plain)"
          },
          {
            "keys": "cmd+c",
            "title": "Copy the make command"
          },
          {
            "keys": "cmd+o",
            "title": "Open the project folder"
          },
          {
            "keys": "cmd+l",
            "title": "Show the Makefile"
          }
        ]
      }
    }
  },
  "playable": false,
  "updated_at": "2026-11-02T04:38:11Z",
  "url": "https://pal.cagdas.io/extensions/make",
  "tagline": "Every Makefile target under your projects, Enter runs it",
  "category": "developer",
  "screenshots": [
    "https://pal.cagdas.io/extensions/make/screenshots/1-targets-dark.png",
    "https://pal.cagdas.io/extensions/make/screenshots/1-targets.png",
    "https://pal.cagdas.io/extensions/make/screenshots/2-recipe-dark.png",
    "https://pal.cagdas.io/extensions/make/screenshots/2-recipe.png",
    "https://pal.cagdas.io/extensions/make/screenshots/3-makefile-dark.png",
    "https://pal.cagdas.io/extensions/make/screenshots/3-makefile.png",
    "https://pal.cagdas.io/extensions/make/screenshots/4-actions-dark.png",
    "https://pal.cagdas.io/extensions/make/screenshots/4-actions.png"
  ],
  "panel_screenshots": [
    "https://pal.cagdas.io/extensions/make/screenshots/1-targets.png",
    "https://pal.cagdas.io/extensions/make/screenshots/2-recipe.png",
    "https://pal.cagdas.io/extensions/make/screenshots/3-makefile.png",
    "https://pal.cagdas.io/extensions/make/screenshots/4-actions.png"
  ],
  "bar_screenshots": [],
  "panel_screenshots_dark": [
    "https://pal.cagdas.io/extensions/make/screenshots/1-targets-dark.png",
    "https://pal.cagdas.io/extensions/make/screenshots/2-recipe-dark.png",
    "https://pal.cagdas.io/extensions/make/screenshots/3-makefile-dark.png",
    "https://pal.cagdas.io/extensions/make/screenshots/4-actions-dark.png"
  ],
  "bar_screenshots_dark": [],
  "has_bar": false,
  "bar_items": [],
  "has_links": false,
  "links": [],
  "multi": false,
  "has_readme": true
}
