Skip to content

Commit 17ddbe8

Browse files
docs(CONTRIBUTING): prettier formatting
1 parent ad7033c commit 17ddbe8

File tree

1 file changed

+33
-10
lines changed

1 file changed

+33
-10
lines changed

CONTRIBUTING.md

Lines changed: 33 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,13 @@ The Coder Registry is a collection of Terraform modules that extend Coder worksp
1515
## Setup
1616

1717
### Prerequisites
18+
1819
- Git and GitHub account
1920
- Basic Terraform knowledge (for module development)
2021
- Docker (for running tests)
2122

2223
### Install Dependencies
24+
2325
```bash
2426
# Install Bun (test runner)
2527
curl -fsSL https://bun.sh/install | bash
@@ -65,6 +67,7 @@ mkdir -p registry/[your-username]
6567
```
6668

6769
Create `registry/[your-username]/README.md`:
70+
6871
```markdown
6972
---
7073
display_name: "Your Name"
@@ -86,6 +89,7 @@ cd registry/[your-username]/modules/[module-name]
8689
### 3. Build Your Module
8790

8891
**Edit `main.tf`** - Your Terraform code:
92+
8993
```terraform
9094
terraform {
9195
required_version = ">= 1.0"
@@ -109,7 +113,8 @@ resource "coder_script" "install" {
109113
```
110114

111115
**Update `README.md`** - Add proper frontmatter:
112-
```markdown
116+
117+
````markdown
113118
---
114119
display_name: "Tool Name"
115120
description: "Brief description of what this module does"
@@ -132,7 +137,9 @@ module "tool" {
132137
agent_id = coder_agent.main.id
133138
}
134139
```
135-
```
140+
````
141+
142+
````
136143
137144
**Write tests in `main.test.ts`**:
138145
```typescript
@@ -150,7 +157,7 @@ describe("module-name", () => {
150157
});
151158
});
152159
});
153-
```
160+
````
154161

155162
### 4. Test and Submit
156163

@@ -182,18 +189,21 @@ find registry -name "*[module-name]*" -type d
182189
### 2. Make Your Changes
183190

184191
**For bug fixes:**
192+
185193
- Reproduce the issue
186194
- Fix the code in `main.tf`
187195
- Add/update tests
188196
- Update documentation if needed
189197

190198
**For new features:**
199+
191200
- Add new variables with sensible defaults
192201
- Implement the feature
193202
- Add tests for new functionality
194203
- Update README with new variables
195204

196205
**For documentation:**
206+
197207
- Fix typos and unclear explanations
198208
- Add missing variable documentation
199209
- Improve usage examples
@@ -223,11 +233,13 @@ bun test
223233
### Create a Pull Request
224234

225235
1. **Fork and branch:**
236+
226237
```bash
227238
git checkout -b fix/module-name-issue
228239
```
229240

230241
2. **Commit with clear messages:**
242+
231243
```bash
232244
git commit -m "Fix version parsing in module-name"
233245
```
@@ -238,17 +250,21 @@ bun test
238250
- Any breaking changes
239251

240252
### PR Template
253+
241254
```markdown
242255
## Description
256+
243257
Brief description of changes.
244258

245259
## Type of Change
260+
246261
- [ ] New module
247-
- [ ] Bug fix
262+
- [ ] Bug fix
248263
- [ ] Feature enhancement
249264
- [ ] Documentation
250265

251266
## Testing
267+
252268
- [ ] Tests pass (`bun test`)
253269
- [ ] Code formatted (`bun run fmt`)
254270
```
@@ -258,32 +274,36 @@ Brief description of changes.
258274
## Requirements
259275

260276
### Every Module Must Have
277+
261278
- `main.tf` - Terraform code
262279
- `main.test.ts` - Working tests
263280
- `README.md` - Documentation with frontmatter
264281

265282
### README Frontmatter
283+
266284
```yaml
267285
---
268-
display_name: "Module Name" # Required - Name shown on Registry website
269-
description: "What it does" # Required - Short description for Registry
270-
icon: "path/to/icon.svg" # Required - Path to icon file
286+
display_name: "Module Name" # Required - Name shown on Registry website
287+
description: "What it does" # Required - Short description for Registry
288+
icon: "path/to/icon.svg" # Required - Path to icon file
271289
maintainer_github: "your-username" # Required - Your GitHub username
272-
verified: false # Optional - Set by Coder maintainers only
273-
tags: ["tag1", "tag2"] # Required - Array of descriptive tags
274-
partner_github: "partner-name" # Optional - For official partnerships only
290+
verified: false # Optional - Set by Coder maintainers only
291+
tags: ["tag1", "tag2"] # Required - Array of descriptive tags
292+
partner_github: "partner-name" # Optional - For official partnerships only
275293
---
276294
```
277295

278296
### README Requirements
279297

280298
All README files must follow these rules:
299+
281300
- Must have frontmatter section with proper YAML
282301
- Exactly one h1 header directly below frontmatter
283302
- When increasing header levels, increment by one each time
284303
- Use `tf` instead of `hcl` for code blocks
285304

286305
### Best Practices
306+
287307
- Use descriptive variable names and descriptions
288308
- Include helpful comments
289309
- Test all functionality
@@ -306,12 +326,14 @@ go build ./cmd/readmevalidation && ./readmevalidation
306326
After your PR is merged, maintainers will handle the release:
307327

308328
1. **Create release tags** for changed modules:
329+
309330
```bash
310331
git tag -a "release/$namespace/$module/v$version" -m "Release $namespace/$module v$version"
311332
git push origin release/$namespace/$module/v$version
312333
```
313334

314335
2. **Version numbers** follow semantic versioning:
336+
315337
- **Patch** (1.2.3 → 1.2.4): Bug fixes
316338
- **Minor** (1.2.3 → 1.3.0): New features, adding inputs
317339
- **Major** (1.2.3 → 2.0.0): Breaking changes (removing inputs, changing types)
@@ -323,6 +345,7 @@ After your PR is merged, maintainers will handle the release:
323345
## Reporting Issues
324346

325347
When reporting bugs, include:
348+
326349
- Module name and version
327350
- Expected vs actual behavior
328351
- Minimal reproduction case

0 commit comments

Comments
 (0)