Skip to content

Add emit-manufacturing-artifacts interactive template#192

Merged
Alan-Jowett merged 4 commits intomicrosoft:mainfrom
Alan-Jowett:add-emit-manufacturing-artifacts
Apr 6, 2026
Merged

Add emit-manufacturing-artifacts interactive template#192
Alan-Jowett merged 4 commits intomicrosoft:mainfrom
Alan-Jowett:add-emit-manufacturing-artifacts

Conversation

@Alan-Jowett
Copy link
Copy Markdown
Member

Summary

Add an \�mit-manufacturing-artifacts\ interactive template that guides users through generating all manufacturing deliverables from a DRC-clean PCB design. This is Step 7 of 9 in the hardware design workflow.

New Components

Type Name Path Description
Template (interactive) emit-manufacturing-artifacts templates/emit-manufacturing-artifacts.md Fab-ready Gerbers, BOM, PnP with fab-specific formatting

Changes to Existing Components

  • \manufacturing-artifact-generation\ protocol: updated \�pplicable_to\ to include \�mit-manufacturing-artifacts, removed standalone composition note.

Design Decisions

  • 6-phase workflow with interactive fab configuration and user review gates.
  • **\ ormat: null**: Interactive template pattern, consistent with \design-schematic\ and \design-pcb-layout.
  • Fab-specific submission instructions: Phase 6 includes step-by-step instructions for JLCPCB and PCBWay.
  • Gerber inspection advisory: Phase 5 strongly recommends the user inspect Gerbers in a viewer before submitting — this is not optional.
  • Template-specific verdict gate: PASS / PASS WITH WARNINGS / FAIL in Phase 4.
  • Separate input params: \�oard_path\ and \schematic_path\ as separate params (learned from PR Add design-pcb-layout interactive template #189 review).

Checklist

  • All files have SPDX license headers
  • YAML frontmatter is valid and complete
  • Component names match file names (kebab-case)
  • manifest.yaml updated
  • Template has input/output contracts
  • Template has a quality checklist section
  • Protocol applicable_to updated
  • CI validation passes (\python tests/validate-manifest.py)

Add an interactive template that guides users through generating all
manufacturing deliverables from a DRC-clean PCB design. This is Step 7
of 9 in the hardware design workflow.

The template composes 3 protocols into a 6-phase workflow:
1. Input validation (DRC status, board completeness, BOM data)
2. Fab service configuration (interactive — board params, assembly
   options, fab-specific formatting confirmation)
3. Artifact generation (Python script wrapping kicad-cli)
4. Pre-submission validation (cross-artifact consistency checks)
5. User review (Gerber inspection advisory, submission checklist)
6. Deliver artifacts (files + fab-specific submission instructions)

Also updates:
- manufacturing-artifact-generation protocol applicable_to to include
  emit-manufacturing-artifacts (per CONTRIBUTING.md convention)
- Removes standalone composition note from the protocol

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings April 6, 2026 21:29
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new interactive PromptKit template to guide users through generating a complete, fab-ready manufacturing package (Gerbers/drills/BOM/PnP/assembly drawings) from a DRC-clean KiCad PCB, and wires it into the library’s manifest/protocol metadata.

Changes:

  • Introduces emit-manufacturing-artifacts interactive template with a 6-phase user-gated workflow and deliverables checklist.
  • Updates manufacturing-artifact-generation protocol metadata so it’s marked as required by the new template (applicable_to).
  • Registers the new template in manifest.yaml under the hardware-design category.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
templates/emit-manufacturing-artifacts.md New interactive template orchestrating manufacturing artifact generation and review gates.
protocols/reasoning/manufacturing-artifact-generation.md Updates protocol metadata (applicable_to) to reflect template adoption.
manifest.yaml Adds the new template entry so it’s discoverable/assemblable by the bootstrap engine.

…tency

1. fab_service param described as 'JLCPCB, PCBWay' but the protocol
   script uses lowercase tokens. Updated param description to specify
   lowercase (jlcpcb, pcbway).

2. Gerber inspection was 'strongly recommended' but the PR design
   decision says it is not optional. Changed to a required gate:
   user MUST confirm they have inspected Gerbers before proceeding.

3. schematic_path is a required param but Phase 1 had fallback
   language ('derive from board path if not provided'). Removed
   the contradictory fallback since the param is always provided.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

1. Script invocation only passes board_path but template has a
   separate schematic_path param. Documented that the script
   derives the schematic from the board path (same dir, same
   basename) and added a verification note to check consistency
   with the user-provided schematic_path.

2. PCBWay submission instruction said 'Upload Gerber files' but
   the deliverable is gerbers.zip. Updated to specify ZIP upload.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

1. Description said 'and other services' but only jlcpcb/pcbway
   are defined. Narrowed in both template frontmatter and manifest.

2. Phase 3 referenced protocol Phases 2-7 and 9 but skipped Phase 8
   (cross-artifact validation). The generated script should include
   validation checks. Updated to reference Phases 2-9.

3. gerbers.zip paths in JLCPCB and PCBWay instructions didn't
   specify the manufacturing/ prefix. Updated to manufacturing/
   gerbers.zip.

4. Quality checklist said 'advised to inspect' but Phase 5 requires
   inspection as a hard gate. Updated to 'inspected and approved'.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@Alan-Jowett Alan-Jowett merged commit 0a332f8 into microsoft:main Apr 6, 2026
3 checks passed
@Alan-Jowett Alan-Jowett deleted the add-emit-manufacturing-artifacts branch April 6, 2026 23:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants