{
  "schema_version": 1,
  "type": "app",
  "slug": "adom-footprint",
  "title": "adom-footprint",
  "brief": "KiCad footprint creator with interactive viewer, layer HUD, and delivery to KiCad and Fusion 360",
  "version": "0.1.1",
  "tags": [],
  "license": "MIT",
  "sample_prompts": [
    {
      "label": "Create footprint",
      "prompt": "Create a QFN-56 footprint for the RP2040"
    },
    {
      "label": "Preview",
      "prompt": "Show me the RP2040 footprint in the viewer"
    },
    {
      "label": "Send to KiCad",
      "prompt": "Send the footprint to KiCad Footprint Editor"
    },
    {
      "label": "Send to Fusion",
      "prompt": "Deliver the footprint to Fusion 360"
    },
    {
      "label": "Layer HUD",
      "prompt": "Show the layer mapping for Altium"
    }
  ],
  "install": {
    "binary_name": "adom-footprint",
    "install_dir": "",
    "install_hint": "",
    "version_cmd": ""
  },
  "readme": "# adom-footprint\n\nKiCad footprint creator, linter, and interactive viewer with delivery to KiCad, Fusion 360, and Altium.\n\n![RP2040 QFN-56 in the Adom footprint viewer](docs/screenshot-viewer.png)\n\n## Demo video\n\nhttps://wiki-ufypy5dpx93o.adom.cloud/static/apps/adom-footprint/eda-tools-tour-v4.webm\n\n82-second narrated tour: create an RP2040 footprint, hover pads to see tooltips, toggle layer visibility in the HUD, then send to KiCad 10 Footprint Editor and Fusion 360 package editor.\n\n## Send to KiCad\n\n![RP2040 footprint loaded in KiCad 10 Footprint Editor](docs/screenshot-kicad-footprint.png)\n\nOne click from the viewer's Send to menu delivers the footprint to KiCad's Footprint Editor with all 57 pads, silkscreen, courtyard, and fab outline.\n\n## Send to Fusion 360\n\n![RP2040 footprint in Fusion Electronics package editor](docs/screenshot-fusion-footprint.png)\n\nGenerates an EAGLE .lbr with correctly sized and positioned pads, then opens the package view in Fusion Electronics automatically.\n\n## Install\n\n```\nadompkg install adom-footprint\n```\n\n## Quick start\n\n```bash\n# Start the server\nadom-footprint serve &\n\n# Create a footprint from JSON\necho '{\"footprintName\":\"QFN-20\",\"pads\":[...]}' | adom-footprint create\n\n# Preview in viewer\n# -> http://localhost:8782/viewer/QFN-20\n\n# Lint a footprint\nadom-footprint lint --name QFN-20\n\n# Send to KiCad\nadom-footprint deliver --name QFN-20 --target kicad\n```\n\n## Dependencies\n\n| Dependency | Required? | Why |\n|---|---|---|\n| Node.js 18+ | Yes | Runs the HTTP server and viewer generator |\n| service-kicad | Optional | SVG export for viewer rendering |\n| adom-lbr | Optional | Converts footprint to .lbr for Fusion 360 delivery |\n| adom-desktop | Optional | One-click delivery to KiCad/Fusion 360/Altium |\n| adom-symbol | Recommended | Symbol + footprint created together for complete component |\n| chip-fetcher | Optional | Downloads manufacturer footprints |\n\n## Features\n\n- Interactive viewer with pad hover tooltips, zoom/pan, solder blob visualization\n- Layer HUD with KiCad/Fusion 360/Altium tabs and per-layer visibility toggles\n- Design-rule linter (courtyard, fab outline, pin-1 marker, silk-pad overlap, .lbr pad cross-check)\n- Send to dropdown: one-click delivery to KiCad, Fusion 360\n- Altium: contribution prompt (bridge not yet built)\n- AI-drivable: `/cmd/push` + `/cmd/poll` endpoints for driving UI from CLI or demo scripts\n\n## CLI reference\n\n| Command | Description |\n|---|---|\n| `serve [-p port]` | Start HTTP server (default :8782) |\n| `create [--file json]` | Create footprint from pad JSON |\n| `preview --name NAME` | Generate/refresh viewer |\n| `lint --name NAME` or `--path FILE` | Design-rule lint |\n| `validate --name NAME` | Check artifact completeness |\n| `deliver --name NAME --target kicad/fusion360` | Send to desktop EDA |\n| `health` | Check service health |\n| `install` | Install skill + completions |\n| `completions bash/zsh/fish` | Generate shell completions |\n\n## Wiki\n\nhttps://wiki-ufypy5dpx93o.adom.cloud/apps/adom-footprint\n",
  "author": {
    "id": "695820315b5f1e4db2fcf602",
    "name": "Kyle Bergstedt",
    "email": "[email protected]"
  },
  "visibility": {
    "public": true
  },
  "hero": null,
  "discovery_triggers": [],
  "discovery_pitch": null,
  "metadata": {},
  "created_at": "2026-05-28T05:28:51.313Z",
  "updated_at": "2026-05-28T05:28:51.313Z",
  "skills": []
}