Skip to content

Commit 5223c57

Browse files
docs(CONTRIBUTING): Update image and avatar guidelines for namespace structure and README frontmatter requirements
1 parent aa8f941 commit 5223c57

File tree

1 file changed

+27
-18
lines changed

1 file changed

+27
-18
lines changed

CONTRIBUTING.md

Lines changed: 27 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,9 @@ All modules are organized under `/registry/[namespace]/modules/`. Each contribut
6161

6262
### Images and Icons
6363

64-
- **Namespace avatars**: Place your avatar in `/registry/[namespace]/images/`
65-
- **Module images**: Place other images in `/registry/[namespace]/images/` to avoid conflicts
66-
- **Module icons**: Can go in the top-level `/.icons/` directory if used by multiple modules
64+
- **Namespace avatars**: Must be named `avatar.png` or `avatar.svg` in `/registry/[namespace]/.images/`
65+
- **Module screenshots/demos**: Use `/registry/[namespace]/.images/` for module-specific images
66+
- **Module icons**: Use the shared `/.icons/` directory at the root for module icons
6767

6868
---
6969

@@ -75,16 +75,16 @@ If you're a new contributor, create your namespace:
7575

7676
```bash
7777
mkdir -p registry/[your-username]
78-
mkdir -p registry/[your-username]/images
78+
mkdir -p registry/[your-username]/.images
7979
```
8080

8181
#### Add Your Avatar
8282

83-
Every namespace should have an avatar. Add your avatar image:
83+
Every namespace must have an avatar. Add your avatar image:
8484

85-
1. Add a square image (recommended: 400x400px minimum) to `registry/[your-username]/images/`
86-
2. Supported formats: `.png`, `.jpg`, `.jpeg`, `.svg`
87-
3. Name it something clear like `avatar.png` or `profile.jpg`
85+
1. Add a square image (recommended: 400x400px minimum) to `registry/[your-username]/.images/`
86+
2. Name it exactly `avatar.png` or `avatar.svg`
87+
3. Supported formats: `.png` or `.svg` only
8888

8989
#### Create Your Namespace README
9090

@@ -93,16 +93,21 @@ Create `registry/[your-username]/README.md`:
9393
```markdown
9494
---
9595
display_name: "Your Name"
96-
bio: "Brief description of what you do"
97-
avatar_url: "./images/avatar.png"
96+
bio: "Brief description of who you are and what you do"
97+
avatar_url: "./.images/avatar.png"
9898
github: "your-username"
99+
linkedin: "https://www.linkedin.com/in/your-username" # Optional
100+
website: "https://yourwebsite.com" # Optional
101+
support_email: "[email protected]" # Optional
99102
status: "community"
100103
---
101104

102105
# Your Name
106+
107+
Brief description of who you are and what you do.
103108
```
104109

105-
> **Note**: The `avatar_url` should point to your avatar image relative to your namespace directory.
110+
> **Note**: The `avatar_url` must point to `./.images/avatar.png` or `./.images/avatar.svg`.
106111
107112
### 2. Generate Module Files
108113

@@ -143,7 +148,7 @@ resource "coder_script" "install" {
143148
---
144149
display_name: "Tool Name"
145150
description: "Brief description of what this module does"
146-
icon: "../../../.icons/tool.svg"
151+
icon: "../../../../.icons/tool.svg"
147152
maintainer_github: "your-username"
148153
verified: false
149154
tags: ["development", "tool"]
@@ -166,15 +171,17 @@ module "tool" {
166171
167172
**Write tests in `main.test.ts`**:
168173
```typescript
174+
import { describe, expect, it } from "bun:test";
169175
import { runTerraformApply, runTerraformInit, testRequiredVariables } from "~test";
170176
171-
describe("module-name", () => {
177+
describe("module-name", async () => {
178+
await runTerraformInit(import.meta.dir);
179+
172180
it("should have required variables", async () => {
173181
await testRequiredVariables(import.meta.dir);
174182
});
175183
176184
it("should apply successfully", async () => {
177-
await runTerraformInit(import.meta.dir);
178185
await runTerraformApply(import.meta.dir, {
179186
agent_id: "test-agent-id",
180187
});
@@ -295,15 +302,17 @@ Example: `https://github.com/coder/registry/compare/main...your-branch?template=
295302

296303
### README Frontmatter
297304

305+
Module README frontmatter must include:
306+
298307
```yaml
299308
---
300309
display_name: "Module Name" # Required - Name shown on Registry website
301-
description: "What it does" # Required - Short description for Registry
302-
icon: "path/to/icon.svg" # Required - Path to icon file
310+
description: "What it does" # Required - Short description
311+
icon: "../../../../.icons/tool.svg" # Required - Path to icon file
303312
maintainer_github: "your-username" # Required - Your GitHub username
304-
verified: false # Optional - Set by Coder maintainers only
313+
partner_github: "partner-name" # Optional - For official partner modules
314+
verified: false # Optional - Set by maintainers only
305315
tags: ["tag1", "tag2"] # Required - Array of descriptive tags
306-
partner_github: "partner-name" # Optional - For official partnerships only
307316
---
308317
```
309318

0 commit comments

Comments
 (0)