Files
awesome-copilot/plugins/project-documenter
Aaron Powell a7fdcd5006 Migrate plugins and canvas extensions to Agent Plugins spec (#2546)
* feat: migrate plugins and extensions to Agent Plugins v1.0.0 spec

- Add \ to all 69 curated plugin manifests
- Migrate all 18 extension manifests: add \, move logo into
  xtensions.com.github.copilot.logo namespace, remove top-level
  logo and string xtensions: '.'
- Update eng/validate-plugins.mjs: require \, validate
  namespace-keyed extensions object for canvas extensions, widen
  name pattern to allow dots (spec §5.5, max 64 chars)
- Update eng/materialize-plugins.mjs: emit spec-clean served manifests
  (only spec fields: \, name, version, description, author,
  homepage, repository, license, keywords, extensions)
- Update eng/generate-website-data.mjs: read logo from namespace
  with fallback to top-level logo for compatibility
- Update eng/create-plugin.mjs: scaffold emits \
- Add .github/workflows/validate-plugins.yml: blocking CI for PRs
  touching plugins/** or extensions/**
- Add spec compliance check to external plugin quality gates:
  non-blocking warnings with /⚠️/🛑 emoji legend
- Update AGENTS.md: document new extension manifest shape,
  add \ to plugin checklist

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 8f3a88cb-e01e-4760-8125-460490dc1a76

* refactor: consolidate canvas extension plugins

- Move all extension plugin manifests from extensions/<name> to plugins/<name>
- Keep extensions/<name> as reusable source only
- Remove standalone extension discovery from marketplace and website plugin catalogs
- Auto-bundle same-name extension sources during materialization
- Add build-only extensions.json references for sharing extensions across plugins
- Remove x-awesome-copilot extension metadata support
- Update validation and contributor documentation

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 8f3a88cb-e01e-4760-8125-460490dc1a76

* feat: add canvas extension scaffolding skill

- Add repo-local skill for creating canvas extension sources
- Generate spec-compliant plugin manifests under plugins/
- Support registering reusable extensions with multiple plugins
- Remove guidance for extension-local plugin manifests and custom fields

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 8f3a88cb-e01e-4760-8125-460490dc1a76

* fix: align extension namespaces with current guidance

- Use each extension ID as its manifest namespace key
- Update validation and website generation to resolve extension-specific namespaces
- Upsert plugin validation PR comments using the existing repository pattern

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 8f3a88cb-e01e-4760-8125-460490dc1a76

* fix: use Copilot extension namespace

- Adopt com.github.copilot for all canvas extension manifests
- Require the namespace during validation and website generation
- Update extension scaffolding guidance

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 8f3a88cb-e01e-4760-8125-460490dc1a76

* docs: regenerate plugin catalog after merge

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 8f3a88cb-e01e-4760-8125-460490dc1a76

* refactor(plugins): move manifests to plugin roots

Use root plugin.json manifests and namespaced extension directories throughout local tooling, validation, generation, and contributor documentation. Restore materialize-plugins.mjs line breaks so the source remains readable in GitHub.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 8f3a88cb-e01e-4760-8125-460490dc1a76

* feat(plugins): migrate manifests to namespaced composition

Move repository composition metadata under com.github.awesome-copilot, materialize reusable extensions into the plugin extensions directory, and improve contributor and PR validation guidance.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 8f3a88cb-e01e-4760-8125-460490dc1a76

* fix(validation): address plugin review findings

Restore executable build scripts, validate namespaced manifests and hook directories, improve README item counts, and manage validation comments across reruns.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 8f3a88cb-e01e-4760-8125-460490dc1a76

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot-Session: 8f3a88cb-e01e-4760-8125-460490dc1a76
2026-08-06 22:29:31 +10:00
..

Project Documenter Plugin

Generate professional project documentation with draw.io architecture diagrams and Word (.docx) output with embedded PNG images. Works on any software project — automatically discovers the technology stack, architecture, and code structure.

Installation

# Using Copilot CLI
copilot plugin install project-documenter@awesome-copilot

What It Does

Point the Project Documenter agent at any repository and it produces:

  1. Markdown document — 10-section project summary with embedded diagram references
  2. Draw.io diagrams — C4 Context, Pipeline, and Component relationship diagrams (.drawio + .drawio.png)
  3. Word document — professionally formatted .docx with title page, table of contents, and embedded PNG architecture images

What's Included

Agent

Agent Description
project-documenter Generates professional project documentation with draw.io architecture diagrams and Word document output with embedded images. Auto-discovers any project's technology stack and architecture.

Skills

Skill Description
drawio Generate draw.io diagrams as .drawio files and export to PNG via bundled Node.js script (uses draw.io CLI or headless browser)
md-to-docx Convert Markdown to Word (.docx) with embedded PNG images — pure JavaScript, no Pandoc required

How It Works

Step 1: Discover

The agent scans your repository to understand:

  • Technology stack (.csproj, package.json, pom.xml, go.mod, etc.)
  • Architecture pattern (API, worker service, CLI, library)
  • Design patterns (factory, strategy, repository, pipeline)
  • Interfaces, implementations, models, configuration
  • Dependencies, Docker setup, CI/CD

Step 2: Generate Diagrams

Creates 3-5 professional draw.io diagrams following the C4 Model:

Diagram C4 Level Shows
High-Level Architecture Context System in its environment — upstream, downstream, external deps
Processing Pipeline Container Internal data flow — entry point → stages → output
Component Relationships Component Interfaces, implementations, factories, DI graph
Deployment (optional) Infrastructure Docker, Kubernetes, scaling, cloud services
Data Model (optional) Component Entity/DTO hierarchy (if significant)

Each diagram is exported to PNG using the bundled drawio-to-png.mjs script.

Step 3: Write Markdown

Produces docs/project-summary.md with 10 sections:

  1. Executive Summary
  2. Architecture Overview (with embedded diagram)
  3. Processing Pipeline (with embedded diagram)
  4. Core Components (with embedded diagram)
  5. API Contracts / Message Schemas
  6. Infrastructure & Deployment
  7. Extension Patterns
  8. Rules & Anti-Patterns
  9. Dependencies
  10. Code Structure

Step 4: Word Document

Converts the Markdown to a formatted .docx using the bundled md-to-docx.mjs script:

  • Title page with project name, date, version, audience
  • Auto-generated table of contents
  • PNG diagram images embedded inline in the Word document
  • Calibri font, colored headings, styled tables with alternating rows
  • Code blocks in Consolas with shaded background

Step 5: Verify

Spot-checks class names, file paths, and diagram accuracy against the actual codebase. Reports all generated files.

Generated Output

docs/
├── project-summary.md                     # Source document (Markdown)
├── project-summary.docx                   # Word document with embedded images
└── diagrams/
    ├── high-level-architecture.drawio     # C4 Context diagram (editable)
    ├── high-level-architecture.drawio.png # Rendered PNG
    ├── processing-pipeline.drawio         # C4 Container diagram
    ├── processing-pipeline.drawio.png
    ├── component-relationships.drawio     # C4 Component diagram
    └── component-relationships.drawio.png

Prerequisites

Requirement Purpose Required?
Node.js 18+ Run bundled export scripts Yes
Edge or Chrome Headless browser for diagram rendering One of: this OR draw.io desktop
draw.io desktop CLI diagram export (faster alternative) Optional (browser fallback available)

Technology Agnostic

Works with any stack. The agent auto-detects:

  • .NET (.csproj, .sln), Java (pom.xml, build.gradle), Node.js (package.json), Python (pyproject.toml), Go (go.mod), Rust (Cargo.toml)
  • Docker, Kubernetes, GitHub Actions, GitLab CI
  • Any messaging system (SQS, RabbitMQ, Kafka, Azure Service Bus)
  • Any database ORM (EF, Hibernate, Prisma, SQLAlchemy)

Source

This plugin is part of Awesome Copilot, a community-driven collection of GitHub Copilot extensions.

License

MIT