Skip to content

Commit 0e2685f

Browse files
feat: Add Project Documenter Plugin with agents and skills
- Auto-discovers technology stack and project structure - Generates architecture diagrams with draw.io - Creates professional Word (.docx) output with embedded PNG images - Includes agents for orchestration and skills for functionality
1 parent dddab5e commit 0e2685f

File tree

11 files changed

+1577
-0
lines changed

11 files changed

+1577
-0
lines changed
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
{
2+
"name": "project-documenter",
3+
"description": "Generate professional project documentation with draw.io architecture diagrams and Word (.docx) output with embedded images. Automatically discovers any project's technology stack and produces Markdown, diagrams, PNG exports, and a formatted Word document.",
4+
"version": "1.0.0",
5+
"author": {
6+
"name": "Awesome Copilot Community"
7+
},
8+
"repository": "https://github.com/github/awesome-copilot",
9+
"license": "MIT",
10+
"keywords": [
11+
"documentation",
12+
"architecture-diagrams",
13+
"drawio",
14+
"word-document",
15+
"docx",
16+
"png-images",
17+
"c4-model",
18+
"project-summary",
19+
"auto-discovery"
20+
],
21+
"agents": [
22+
"./agents"
23+
],
24+
"skills": [
25+
"./skills/drawio",
26+
"./skills/md-to-docx"
27+
]
28+
}
Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
# Project Documenter Plugin
2+
3+
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.
4+
5+
## Installation
6+
7+
```bash
8+
# Using Copilot CLI
9+
copilot plugin install project-documenter@awesome-copilot
10+
```
11+
12+
## What It Does
13+
14+
Point the **Project Documenter** agent at any repository and it produces:
15+
16+
1. **Markdown document** — 10-section project summary with embedded diagram references
17+
2. **Draw.io diagrams** — C4 Context, Pipeline, and Component relationship diagrams (`.drawio` + `.drawio.png`)
18+
3. **Word document** — professionally formatted `.docx` with title page, table of contents, and embedded PNG architecture images
19+
20+
![Agent Workflow](docs/agent-workflow.drawio.png)
21+
22+
## What's Included
23+
24+
### Agent
25+
26+
| Agent | Description |
27+
|-------|-------------|
28+
| `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. |
29+
30+
### Skills
31+
32+
| Skill | Description |
33+
|-------|-------------|
34+
| `drawio` | Generate draw.io diagrams as `.drawio` files and export to PNG via bundled Node.js script (uses draw.io CLI or headless browser) |
35+
| `md-to-docx` | Convert Markdown to Word (`.docx`) with embedded PNG images — pure JavaScript, no Pandoc required |
36+
37+
## How It Works
38+
39+
### Step 1: Discover
40+
41+
The agent scans your repository to understand:
42+
- Technology stack (`.csproj`, `package.json`, `pom.xml`, `go.mod`, etc.)
43+
- Architecture pattern (API, worker service, CLI, library)
44+
- Design patterns (factory, strategy, repository, pipeline)
45+
- Interfaces, implementations, models, configuration
46+
- Dependencies, Docker setup, CI/CD
47+
48+
### Step 2: Generate Diagrams
49+
50+
Creates 3-5 professional draw.io diagrams following the C4 Model:
51+
52+
| Diagram | C4 Level | Shows |
53+
|---------|----------|-------|
54+
| High-Level Architecture | Context | System in its environment — upstream, downstream, external deps |
55+
| Processing Pipeline | Container | Internal data flow — entry point → stages → output |
56+
| Component Relationships | Component | Interfaces, implementations, factories, DI graph |
57+
| Deployment (optional) | Infrastructure | Docker, Kubernetes, scaling, cloud services |
58+
| Data Model (optional) | Component | Entity/DTO hierarchy (if significant) |
59+
60+
Each diagram is exported to PNG using the bundled `drawio-to-png.mjs` script.
61+
62+
### Step 3: Write Markdown
63+
64+
Produces `docs/project-summary.md` with 10 sections:
65+
66+
1. Executive Summary
67+
2. Architecture Overview (with embedded diagram)
68+
3. Processing Pipeline (with embedded diagram)
69+
4. Core Components (with embedded diagram)
70+
5. API Contracts / Message Schemas
71+
6. Infrastructure & Deployment
72+
7. Extension Patterns
73+
8. Rules & Anti-Patterns
74+
9. Dependencies
75+
10. Code Structure
76+
77+
### Step 4: Word Document
78+
79+
Converts the Markdown to a formatted `.docx` using the bundled `md-to-docx.mjs` script:
80+
81+
- Title page with project name, date, version, audience
82+
- Auto-generated table of contents
83+
- **PNG diagram images embedded inline** in the Word document
84+
- Calibri font, colored headings, styled tables with alternating rows
85+
- Code blocks in Consolas with shaded background
86+
87+
### Step 5: Verify
88+
89+
Spot-checks class names, file paths, and diagram accuracy against the actual codebase. Reports all generated files.
90+
91+
## Generated Output
92+
93+
```
94+
docs/
95+
├── project-summary.md # Source document (Markdown)
96+
├── project-summary.docx # Word document with embedded images
97+
└── diagrams/
98+
├── high-level-architecture.drawio # C4 Context diagram (editable)
99+
├── high-level-architecture.drawio.png # Rendered PNG
100+
├── processing-pipeline.drawio # C4 Container diagram
101+
├── processing-pipeline.drawio.png
102+
├── component-relationships.drawio # C4 Component diagram
103+
└── component-relationships.drawio.png
104+
```
105+
106+
## Prerequisites
107+
108+
| Requirement | Purpose | Required? |
109+
|-------------|---------|-----------|
110+
| Node.js 18+ | Run bundled export scripts | Yes |
111+
| Edge or Chrome | Headless browser for diagram rendering | One of: this OR draw.io desktop |
112+
| draw.io desktop | CLI diagram export (faster alternative) | Optional (browser fallback available) |
113+
114+
## Technology Agnostic
115+
116+
Works with any stack. The agent auto-detects:
117+
- **.NET** (`.csproj`, `.sln`), **Java** (`pom.xml`, `build.gradle`), **Node.js** (`package.json`), **Python** (`pyproject.toml`), **Go** (`go.mod`), **Rust** (`Cargo.toml`)
118+
- Docker, Kubernetes, GitHub Actions, GitLab CI
119+
- Any messaging system (SQS, RabbitMQ, Kafka, Azure Service Bus)
120+
- Any database ORM (EF, Hibernate, Prisma, SQLAlchemy)
121+
122+
## Source
123+
124+
This plugin is part of [Awesome Copilot](https://github.com/github/awesome-copilot), a community-driven collection of GitHub Copilot extensions.
125+
126+
## License
127+
128+
MIT

0 commit comments

Comments
 (0)