Skip to content

Commit fb3f932

Browse files
chore: refresh content and add lint + link-check workflows
Refresh README and CONTRIBUTING to match current Coder positioning (self-hosted CDEs and AI coding agents) and remove dead anchors, stale URLs, and commented-out placeholders that have sat unused since the original fork from awesome-pulumi. README: - Update Awesome badge to the canonical https://awesome.re source. - Restructure the header so the right-aligned logo no longer breaks the blockquote, and add alt text to the image. - Refresh the tagline to describe Coder as it positions itself today. - Drop the 2022 HashiCorp pull-quote. - Update Documentation, Blog, Discord, X (formerly Twitter), and other Official Resources links. Strip stale utm_* parameters from internal links. - Remove empty / commented-out sections: Books, Beginner Guides, What is Coder?, per-cloud headings, Comparison, Miscellaneous, Companies using Coder, and the standalone License heading. - Templates section now points at registry.coder.com as the canonical source instead of the in-tree examples directory and the duplicate community-templates.md. - Normalize bullet style and add one-line descriptions where needed so the file conforms to awesome-lint. - Fix minor copy: NodeJS -> Node.js, Kubevirt -> KubeVirt, vscode -> VS Code, Setup -> Set up, missing trailing periods. CONTRIBUTING: - Rewrite for Coder. Removes the leftover "Pulumi community" line inherited from awesome-pulumi. Automation: - Add markdownlint, awesome-lint, and lychee link-check workflows so the README stays current. - Add .markdownlint.jsonc mirroring coder/coder defaults. - Add issue templates for broken links and resource suggestions. This change was prepared by Coder Agents.
1 parent c413784 commit fb3f932

10 files changed

Lines changed: 231 additions & 73 deletions

File tree

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: Broken link
2+
description: Report a broken or out-of-date link in the README.
3+
title: "[broken link]: "
4+
labels: ["broken-links"]
5+
body:
6+
- type: input
7+
id: section
8+
attributes:
9+
label: Section
10+
description: Which section of `README.md` contains the broken link?
11+
placeholder: Templates
12+
validations:
13+
required: true
14+
- type: input
15+
id: url
16+
attributes:
17+
label: URL
18+
description: The exact URL that no longer works.
19+
validations:
20+
required: true
21+
- type: textarea
22+
id: details
23+
attributes:
24+
label: Details
25+
description: Any extra context (404, redirects to an unrelated page, archived repo, etc.).
26+
validations:
27+
required: false
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: Suggest a resource
2+
description: Suggest a resource to add to the list.
3+
title: "[suggestion]: "
4+
labels: ["suggestion"]
5+
body:
6+
- type: input
7+
id: name
8+
attributes:
9+
label: Name
10+
description: Name of the resource.
11+
validations:
12+
required: true
13+
- type: input
14+
id: url
15+
attributes:
16+
label: URL
17+
validations:
18+
required: true
19+
- type: dropdown
20+
id: section
21+
attributes:
22+
label: Suggested section
23+
options:
24+
- Official Resources
25+
- Tutorials and Blog Posts
26+
- IDEs
27+
- Automation
28+
- Templates
29+
- Talks and Videos
30+
- Other (explain below)
31+
validations:
32+
required: true
33+
- type: textarea
34+
id: description
35+
attributes:
36+
label: One-line description
37+
description: Format as it would appear in the README, e.g. "[Name](url) - One-line description."
38+
validations:
39+
required: true
40+
- type: checkboxes
41+
id: checks
42+
attributes:
43+
label: Checks
44+
options:
45+
- label: I have read the [contribution guidelines](https://github.com/coder/awesome-coder/blob/main/CONTRIBUTING.md).
46+
required: true
47+
- label: The resource is actively maintained.
48+
required: false

.github/workflows/awesome-lint.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: awesome-lint
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
permissions:
10+
contents: read
11+
12+
jobs:
13+
awesome-lint:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Checkout
17+
uses: actions/checkout@v4
18+
19+
- name: Setup Node.js
20+
uses: actions/setup-node@v4
21+
with:
22+
node-version: "20"
23+
24+
- name: Run awesome-lint
25+
run: npx -y awesome-lint

.github/workflows/link-check.yml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: Link check
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
schedule:
9+
# Mondays at 14:00 UTC.
10+
- cron: "0 14 * * 1"
11+
workflow_dispatch:
12+
13+
permissions:
14+
contents: read
15+
issues: write
16+
17+
jobs:
18+
lychee:
19+
runs-on: ubuntu-latest
20+
steps:
21+
- name: Checkout
22+
uses: actions/checkout@v4
23+
24+
- name: Run lychee
25+
id: lychee
26+
uses: lycheeverse/lychee-action@v2
27+
with:
28+
args: >-
29+
--verbose
30+
--no-progress
31+
--max-concurrency 4
32+
--retry-wait-time 5
33+
--accept 200,206,403,429
34+
--exclude-mail
35+
'./**/*.md'
36+
fail: ${{ github.event_name == 'pull_request' }}
37+
env:
38+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
39+
40+
- name: Open or update an issue on scheduled failure
41+
if: failure() && github.event_name == 'schedule'
42+
uses: peter-evans/create-issue-from-file@v5
43+
with:
44+
title: Broken links detected by scheduled link check
45+
content-filepath: ./lychee/out.md
46+
labels: broken-links, automated

.github/workflows/markdownlint.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: markdownlint
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
permissions:
10+
contents: read
11+
12+
jobs:
13+
markdownlint:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Checkout
17+
uses: actions/checkout@v4
18+
19+
- name: Run markdownlint-cli2
20+
uses: DavidAnson/markdownlint-cli2-action@v17
21+
with:
22+
globs: |
23+
**/*.md

.lycheeignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Hosts that block bots even though the content is public.
2+
# Verified manually before being added here.
3+
medium.com
4+
blog.palantir.com
5+
forrester.com
6+
coder.com/forrester
7+
linkedin.com

.markdownlint-cli2.jsonc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"ignores": ["PLAN.md", "node_modules"]
3+
}

.markdownlint.jsonc

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
// Markdown lint config for awesome-coder. Mirrors coder/coder defaults.
2+
{
3+
"MD010": { "spaces_per_tab": 4 }, // No hard tabs: we use 4 spaces per tab.
4+
5+
"MD013": false, // Line length: we are not following a strict line length in markdown files.
6+
7+
"MD024": { "siblings_only": true }, // Multiple headings with the same content allowed across sections.
8+
9+
"MD033": false, // Inline HTML: used for the right-aligned logo and the License badge.
10+
11+
"MD034": false, // Bare URL: tolerated for readability in places.
12+
13+
"MD041": false // First line in file should be a top level heading: the README opens with a badge link before the H1.
14+
}

CONTRIBUTING.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Contribution guidelines
22

3-
* Practice common sense and observe applicable [Awesome List Guidelines](https://github.com/sindresorhus/awesome/blob/main/contributing.md).
4-
* Proof-read yourself.
5-
* Please be nice.
6-
* Be brave with contributing and commenting.
7-
* Consider if the item you're adding to the list is actually pretty useful and/or exciting for the Pulumi community or newcomers.
8-
* In case we gather a lot of links that are kinda-useful, but not exactly awesome, we could create another list within the repo.
3+
- Practice common sense and follow the [Awesome List Guidelines](https://github.com/sindresorhus/awesome/blob/main/contributing.md).
4+
- Proof-read your entry before opening a PR.
5+
- Be kind in comments and reviews.
6+
- Each entry should be genuinely useful to Coder users, operators, or contributors. We prefer one well-maintained resource per niche over a long tail of stale links.
7+
- Format entries as: `[Name](url) - One-line description.` New sections should match the existing structure in `README.md`.
8+
- If something is no longer maintained, opening a PR to remove it is also a contribution.

README.md

Lines changed: 32 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -1,105 +1,70 @@
1-
# Awesome Coder [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)
1+
# Awesome Coder [![Awesome](https://awesome.re/badge.svg)](https://awesome.re)
22

3-
> A curated list of resources on [Coder](https://www.coder.com/).
4-
[<img src="https://github.com/coder/presskit/blob/7b1ae316de8b78cbdd8ef6b6352ef9f32be51504/logos/coder_logo_white_square.png?raw=true" align="right" width="100">](https://coder.com)
5-
Your [contributions](https://github.com/coder/awesome-coder/blob/main/CONTRIBUTING.md) are welcome!
3+
<a href="https://coder.com"><img src="https://github.com/coder/presskit/blob/7b1ae316de8b78cbdd8ef6b6352ef9f32be51504/logos/coder_logo_white_square.png?raw=true" alt="Coder logo" align="right" width="100"></a>
64

7-
**Software development on _your infrastructure_**. Offload your team's development from local workstations to cloud servers. Onboard developers in minutes. Build, test and compile at the speed of the cloud. Keep your source code and data behind your firewall.
5+
> A curated list of resources for [Coder](https://coder.com), the self-hosted platform for cloud development environments and AI coding agents.
86
9-
> "By leveraging Terraform, Coder lets developers run an IDE on any compute platform including on-prem, AWS, Azure, GCP, DigitalOcean, Kubernetes, Docker, and more, with workspaces running on Linux, Windows, or Mac." - **[Kevin Fishner](https://www.linkedin.com/in/kevinfishner) Chief of Staff at [HashiCorp](https://hashicorp.com/)**
7+
Define workspaces in Terraform, run them on your own infrastructure, and let developers and AI agents work in identical, ephemeral environments.
108

9+
Your [contributions](CONTRIBUTING.md) are welcome!
1110

1211
## Contents
1312

14-
* [Official Resources](#official-resources)
15-
* [Books](#books)
16-
* [Tutorials and Blog Posts](#tutorials-and-blog-posts)
17-
* [IDEs](#ides)
18-
* [Templates](#templates)
19-
* [Talks and Videos](#talks-and-videos)
20-
* [Companies using Coder](#companies-using-coder)
13+
- [Official Resources](#official-resources)
14+
- [Tutorials and Blog Posts](#tutorials-and-blog-posts)
15+
- [IDEs](#ides)
16+
- [Automation](#automation)
17+
- [Templates](#templates)
18+
- [Talks and Videos](#talks-and-videos)
2119

2220
## Official Resources
2321

24-
- Case Studies ([Palantir](https://blog.palantir.com/the-benefits-of-remote-ephemeral-workspaces-1a1251ed6e53), [Forrester](https://coder.com/forrester?utm_source=github.com/coder/awesome-coder&utm_medium=github&utm_campaign=readme.md))
25-
- [Documentation](https://coder.com/docs/coder-oss/latest?utm_source=github.com/coder/awesome-coder&utm_medium=github&utm_campaign=readme.md)
26-
- [Blog](https://coder.com/blog?utm_source=github.com/coder/awesome-coder&utm_medium=github&utm_campaign=readme.md)
22+
- [Documentation](https://coder.com/docs)
23+
- [Blog](https://coder.com/blog)
2724
- [Press kit & Brand styleguide](https://github.com/coder/presskit)
2825
- [Presentations](https://github.com/coder/presentations)
29-
- [Discord](https://coder.com/chat?utm_source=github.com/coder/awesome-coder&utm_medium=github&utm_campaign=readme.md)
30-
- [Twitter](https://twitter.com/CoderHQ)
26+
- [Discord](https://cdr.co/discord-Y6fMxGdNRg)
27+
- [X](https://x.com/CoderHQ)
3128
- [Mastodon](https://fosstodon.org/web/@coderhq)
3229

33-
<!-- ## Books -->
34-
3530
## Tutorials and Blog Posts
3631

37-
- [The Benefits of Remote Ephemeral Workspaces](https://blog.palantir.com/the-benefits-of-remote-ephemeral-workspaces-1a1251ed6e53)
38-
- [Laptop development is dead: why remote development is the future](https://medium.com/@elliotgraebert/laptop-development-is-dead-why-remote-development-is-the-future-f92ce103fd13)
39-
- [Coder OSS on GKE with Terraform in <20 minutes](https://github.com/ElliotG/coder-oss-gke-tf)
40-
41-
### Beginner Guides
42-
43-
- [Coder 101: How Coder Works At A Higher Level](https://coder.com/blog/coder-101-how-coder-works-at-a-higher-level?utm_source=github.com/coder/awesome-coder&utm_medium=github&utm_campaign=readme.md)
44-
45-
### What is Coder?
46-
47-
- [What Coder is not](https://coder.com/docs/v2/latest#what-coder-is-not)
48-
49-
<!-- ### AWS -->
50-
51-
<!-- ### Azure -->
52-
53-
<!-- ### DigitalOcean -->
54-
55-
<!-- ### Google Cloud -->
56-
57-
<!-- ### ARM -->
58-
59-
<!-- ### macOS -->
60-
61-
### Comparison
62-
63-
Coder maintains an official list of comparisons in the [coder/coder README.md](https://github.com/coder/coder#comparison). Please [file an issue](https://github.com/coder/coder/issues/new) if any of the information in that section is out of date. See also: [what Coder is not](https://coder.com/docs/coder-oss/latest/index#what-coder-is-not?utm_source=github.com/coder/awesome-coder&utm_medium=github&utm_campaign=readme.md)
64-
65-
### Miscellaneous
32+
- [Coder 101: How Coder Works At A Higher Level](https://coder.com/blog/coder-101-how-coder-works-at-a-higher-level) - High-level overview of how Coder works.
33+
- [The Benefits of Remote Ephemeral Workspaces](https://blog.palantir.com/the-benefits-of-remote-ephemeral-workspaces-1a1251ed6e53) - Palantir on running ephemeral, remote development environments at scale.
34+
- [Laptop development is dead: why remote development is the future](https://medium.com/@elliotgraebert/laptop-development-is-dead-why-remote-development-is-the-future-f92ce103fd13) - Argument for moving developer environments off laptops.
35+
- [Coder OSS on GKE with Terraform in <20 minutes](https://github.com/ElliotG/coder-oss-gke-tf) - Terraform-driven Coder install on Google Kubernetes Engine.
6636

6737
## IDEs
6838

69-
- [Running a private VS Code Extension Marketplace](https://coder.com/blog/running-a-private-vs-code-extension-marketplace)
39+
- [Running a private VS Code Extension Marketplace](https://coder.com/blog/running-a-private-vs-code-extension-marketplace) - Host an internal extension marketplace for code-server and VS Code workspaces.
7040

7141
## Automation
7242

73-
- [Provision Coder with Terraform](https://github.com/ElliotG/coder-oss-tf) - Coder OSS on GKE with Terraform in <20 minutes.
74-
- [Update Coder Template](https://github.com/marketplace/actions/update-coder-template) - A GitHub action to automate coder template changes.
43+
- [Provision Coder with Terraform](https://github.com/ElliotG/coder-oss-tf) - Coder OSS on GKE with Terraform in under 20 minutes.
44+
- [Update Coder Template](https://github.com/marketplace/actions/update-coder-template) - A GitHub Action to automate Coder template changes.
7545
- [Provision Coder with Lima](https://github.com/coder/coder/tree/main/examples/lima) - Linux virtual machines, typically on macOS, for running containerd.
76-
- [Coder on Hetzner Cloud](https://github.com/tmsmr/coder-hcloud) - One-shot deployment for Coder on Hetzner Cloud
46+
- [Coder on Hetzner Cloud](https://github.com/tmsmr/coder-hcloud) - One-shot deployment for Coder on Hetzner Cloud.
7747

7848
## Templates
7949

80-
- [Official templates](https://github.com/coder/coder/tree/main/examples/templates)
81-
- [Community templates](https://github.com/coder/coder/blob/main/examples/templates/community-templates.md)
82-
50+
- [Coder Registry](https://registry.coder.com/templates) - Official and community templates published to the Coder Registry.
8351
- [sharkymark/v2-templates](https://github.com/sharkymark/v2-templates) - A large collection of templates.
84-
- [ntimo/coder-hetzner-cloud-template](https://github.com/ntimo/coder-hetzner-cloud-template) - Setup a Hetzner Cloud instance as dev environment with or without vscode.
85-
- [matifali/coder-templates](https://github.com/matifali/coder-templates) - Deeplearning with Jupyter Notebook/Lab and Matlab in browser.
86-
- [m.lan/coder-templates](https://gitlab.com/m.lan/coder-templates) - Kubernetes template with Docker in Docker (DinD)
52+
- [ntimo/coder-hetzner-cloud-template](https://github.com/ntimo/coder-hetzner-cloud-template) - Set up a Hetzner Cloud instance as a dev environment, with or without VS Code.
53+
- [matifali/coder-templates](https://github.com/matifali/coder-templates) - Deep learning with Jupyter Notebook/Lab and MATLAB in the browser.
54+
- [m.lan/coder-templates](https://gitlab.com/m.lan/coder-templates) - Kubernetes template with Docker in Docker (DinD).
8755
- [bpmct/coder-templates/proxmox-vm](https://github.com/bpmct/coder-templates/tree/main/proxmox-vm) - Develop in a Proxmox VM.
88-
- [bpmct/coder-templates/shared-mac](https://github.com/bpmct/coder-templates/tree/main/shared-mac) - Connect a pre-provisioned Mac device and provision system users as workspaces
56+
- [bpmct/coder-templates/shared-mac](https://github.com/bpmct/coder-templates/tree/main/shared-mac) - Connect a pre-provisioned Mac device and provision system users as workspaces.
8957
- [denbeigh2000/coder-templates/aws-nixos](https://github.com/denbeigh2000/coder-templates/tree/master/aws-nixos) - Manage a NixOS development workspace on EC2.
9058
- [denbeigh2000/coder-templates/aws-spot-nixos-graviton](https://github.com/denbeigh2000/coder-templates/tree/master/aws-spot-nixos-graviton) - Manage a NixOS development workspace on EC2 with Graviton Spot Instances.
9159
- [denbeigh2000/coder-templates/aws-spot-nixos](https://github.com/denbeigh2000/coder-templates/tree/master/aws-spot-nixos) - Manage a NixOS development workspace on EC2 with Spot Instances.
9260
- [8Bitz0/coder-rust-template](https://gitlab.com/8Bitz0/coder-rust-template) - Coder templates with various Linux distros for out-of-the-box Rust development.
93-
- [uwu/basic-env](https://github.com/uwu/basic-env) - Docker-based NodeJS development environment with code-server, NoVNC and dotfiles support out of the box
94-
- [sulo1337/coder-kubevirt-template](https://github.com/sulo1337/coder-kubevirt-template) - Kubevirt-based development environment which provisions KVM virtual machines as coder workspaces on top of a Kubernetes cluster.
61+
- [uwu/basic-env](https://github.com/uwu/basic-env) - Docker-based Node.js development environment with code-server, NoVNC, and dotfiles support out of the box.
62+
- [sulo1337/coder-kubevirt-template](https://github.com/sulo1337/coder-kubevirt-template) - KubeVirt-based development environment that provisions KVM virtual machines as Coder workspaces on top of a Kubernetes cluster.
9563

9664
## Talks and Videos
9765

98-
- [Your Next Workstation Is In The Cloud](https://www.youtube.com/watch?v=C4fQvIHCVzw&t=748s)
66+
- [Your Next Workstation Is In The Cloud](https://www.youtube.com/watch?v=C4fQvIHCVzw&t=748s) - Talk on moving developer workstations to the cloud with Coder.
9967

100-
## License
101-
102-
[![CC0](http://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg)](https://creativecommons.org/publicdomain/zero/1.0/)
68+
[![CC0](https://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg)](https://creativecommons.org/publicdomain/zero/1.0/)
10369

10470
To the extent possible under law, Coder has waived all copyright and related or neighboring rights to this work.
105-

0 commit comments

Comments
 (0)