Skip to content

Commit 3d2ff57

Browse files
committed
Add CONTRIBUTING.md
Adds a contributing guide at the repo root following GitHub's community health file best practices, tailored to this repo's logo folder structure, metadata.md workflow, and auto-generated logo-data.js.
1 parent 8215aae commit 3d2ff57

1 file changed

Lines changed: 141 additions & 0 deletions

File tree

CONTRIBUTING.md

Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
# Contributing to Microsoft Cloud Product Logos
2+
3+
First off — thank you! This repository is a community-maintained collection of
4+
current and legacy Microsoft cloud product logos, and it only stays useful
5+
because people like you help keep it accurate and complete.
6+
7+
This guide explains how to contribute properly so your changes can be merged
8+
quickly and without rework. It complements the
9+
[Contributing section in the README](README.md#contributing) and the conventions
10+
described in [reorganisation_guidance.md](reorganisation_guidance.md).
11+
12+
> **Trademark note:** All logos are the property of Microsoft Corporation and are
13+
> subject to [Microsoft's Trademark and Brand Guidelines](https://learn.microsoft.com/en-us/microsoft-365/cloud-storage-partner-program/online/branding).
14+
> This project simply collects them — **never alter or recreate the marks themselves.**
15+
16+
---
17+
18+
## Before you start
19+
20+
Please **thoroughly check the repository first.** Many products have moved,
21+
been renamed, or have legacy versions tucked into sub-folders (see the structure
22+
rules below). Checking first avoids duplicate issues and pull requests.
23+
24+
---
25+
26+
## Ways to contribute
27+
28+
| You want to… | Do this |
29+
| :--- | :--- |
30+
| Report an incorrect, outdated, or missing logo | [Open an issue](../../issues/new) |
31+
| Add a new logo | Open a pull request (see below) |
32+
| Update / replace an existing logo | Open a pull request (see below) |
33+
| Suggest a structural or process change | Open an issue to discuss first |
34+
35+
If you spot something incorrect and know the fix, a pull request is welcome —
36+
otherwise an issue is perfectly fine.
37+
38+
---
39+
40+
## Adding or updating a logo
41+
42+
### 1. Place the file in the correct folder
43+
44+
- Logos live under `logos/` grouped by **product**, in a folder named after that
45+
product.
46+
- Folder and file names are **lowercase**, use **hyphens** instead of spaces, and
47+
contain **no spaces** (e.g. `microsoft-scout`, `azure-app-service`).
48+
- Group products by their current product family where applicable. Outliers
49+
(e.g. Entra, Intune, Power BI) are handled case-by-case — see the
50+
[README structure notes](README.md#file--folder-structure).
51+
- **Renamed products:** put the old logos in a sub-folder of the *current* name
52+
(e.g. Yammer lives under `viva-engage`).
53+
- **Retired products:** move them into a `zzFORMER_PRODUCTS` folder within their
54+
product family where possible.
55+
- **Multiple versions / eras:** keep older logos in sub-folders named by their
56+
years of existence and style (e.g. `2019-current_full-color`).
57+
58+
### 2. Follow the file naming convention
59+
60+
- Prefer scalable vector art. Name single SVGs `<product>-scalable.svg`
61+
(e.g. `microsoft-scout-scalable.svg`).
62+
- For raster files, include the dimensions in the filename where relevant
63+
(e.g. `agent-365-300x300.png`).
64+
- Keep sizing/padding consistent with sibling files in the product family.
65+
66+
### 3. Add or update `metadata.md`
67+
68+
Every product folder contains a `metadata.md` file. The site
69+
([www.mscloudlogos.com](https://www.mscloudlogos.com)) is built from these files,
70+
so accurate metadata is essential.
71+
72+
| Field | Description | Required |
73+
| :--- | :--- | :--- |
74+
| `name` | Current product name | Yes |
75+
| `type` | `Product`, `Family`, or `Feature` | Yes |
76+
| `status` | `Active`, `Retired`, or `Renamed (TO: <name>)` | Yes |
77+
| `altnames` | Alternative / former names, abbreviations (comma-separated) | No |
78+
| `prodfamilies` | Product family or families it belongs to (comma-separated) | No |
79+
80+
Example:
81+
82+
```text
83+
name: Microsoft Scout
84+
85+
type: Product
86+
87+
status: Active
88+
89+
altnames: Scout, Frontier
90+
91+
prodfamilies: Microsoft 365
92+
```
93+
94+
See [reorganisation_guidance.md](reorganisation_guidance.md) for more worked
95+
examples (renamed products, families, and features).
96+
97+
### 4. Do **not** hand-edit `docs/js/logo-data.js`
98+
99+
`docs/js/logo-data.js` is **auto-generated** from the logo files and their
100+
`metadata.md` by [`generate-logo-data.py`](generate-logo-data.py). Never edit it
101+
by hand.
102+
103+
You have two options:
104+
105+
- **Let CI do it (simplest):** just commit your logo file(s) and `metadata.md`.
106+
The [Update GitHub Pages workflow](.github/workflows/update-github-pages.yml)
107+
regenerates and commits `logo-data.js` for branches in this repo, and comments
108+
on fork pull requests asking you to regenerate it.
109+
- **Regenerate it yourself:** run the generator and commit the result:
110+
111+
```bash
112+
python generate-logo-data.py
113+
```
114+
115+
> **Heads-up about the diff:** each logo's `id` in `logo-data.js` is a positional
116+
> index. Adding a logo renumbers the IDs of everything after it, so the generated
117+
> diff can look large. **This is expected** — the IDs aren't referenced by the
118+
> website (lookups use `productSlug` and `path`), and CI produces the same result.
119+
120+
---
121+
122+
## Submitting your pull request
123+
124+
1. **Fork** the repository and create a descriptive branch
125+
(e.g. `add-microsoft-scout-logo`).
126+
2. Make your changes following the conventions above.
127+
3. Keep each pull request focused — one product or one logical change is ideal.
128+
4. Write a clear PR title and description explaining what you added or fixed, and
129+
where you sourced the logo if relevant.
130+
5. Open the pull request against the `main` branch and respond to any review
131+
feedback.
132+
133+
---
134+
135+
## Sources
136+
137+
Official Microsoft icon sets are linked in the
138+
[References and sources section of the README](README.md#references-and-sources).
139+
When possible, use official sources and note where a logo came from in your PR.
140+
141+
Thanks again for contributing! 🎉

0 commit comments

Comments
 (0)