From a25b637c463c4112780a05bbca8d849e26a27287 Mon Sep 17 00:00:00 2001 From: Kyle Carberry Date: Tue, 19 Sep 2023 13:22:04 -0500 Subject: [PATCH] Improve README (#17) * Add helper tag * Fix source reference * Add icons * Update code-server README * Update README for contributing * Update README * Improve readme * Fix code-server without extensions --- .icons/code.svg | 41 +++++++++++++++++++++++++++++++ .icons/jfrog.svg | 1 + README.md | 53 +++++++++++++++++++++++++++++++++++----- code-server/README.md | 17 ++++++------- code-server/main.tf | 2 +- code-server/run.sh | 3 +++ jfrog/README.md | 2 +- personalize/README.md | 2 +- personalize/main.tf | 2 +- vscode-desktop/README.md | 2 +- vscode-desktop/main.tf | 2 +- 11 files changed, 106 insertions(+), 21 deletions(-) create mode 100644 .icons/code.svg create mode 100644 .icons/jfrog.svg diff --git a/.icons/code.svg b/.icons/code.svg new file mode 100644 index 0000000..c6ee366 --- /dev/null +++ b/.icons/code.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.icons/jfrog.svg b/.icons/jfrog.svg new file mode 100644 index 0000000..1852abf --- /dev/null +++ b/.icons/jfrog.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/README.md b/README.md index a97ec6e..c84593f 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,60 @@ -# Modules +
+

+ Modules +

-Enjoy official, community, and partner modules to extend your Coder workspace. +[Registry](https://registry.coder.com) | [Coder Docs](https://coder.com/docs) | [Why Coder](https://coder.com/why) | [Coder Enterprise](https://coder.com/docs/v2/latest/enterprise) -- [code-server](https://registry.coder.com/modules/code-server): Run VS Code in the browser -- [personalize](https://registry.coder.com/modules/personalize): Execute a user-specific script on start -- [VS Code Desktop](https://registry.coder.com/modules/vscode-desktop): Display a button to launch VS Code desktop in the dashboard. +[![discord](https://img.shields.io/discord/747933592273027093?label=discord)](https://discord.gg/coder) +[![license](https://img.shields.io/github/license/coder/modules)](./LICENSE) + +
+ +Modules extend Templates to create reusable components for your development environment. + +e.g. + +```hcl +module "code-server" { + source = "https://registry.coder.com/modules/code-server" + agent_id = coder_agent.main.id +} +``` + +- [code-server](https://registry.coder.com/modules/code-server): Install on start, create an app to access via the dashboard, install extensions, and pre-configure editor settings. +- [personalize](https://registry.coder.com/modules/personalize): Run a script on workspace start that allows developers to run custom commands to personalize their workspace. +- [VS Code Desktop](https://registry.coder.com/modules/vscode-desktop): Add a button to open any workspace in VS Code with a single click. ## Registry Check out the [Coder Registry](https://registry.coder.com) for instructions to integrate modules into your template. -## Adding a new module +## Contributing a Module To quickly start contributing with a new module, clone this repository and run: ```sh ./new.sh ``` + +Test a module by running an instance of Coder on your local machine: + +```bash +$ coder server --in-memory +``` + +Create a template and edit it to include your development module: + +> *Info* +> The Docker starter template is recommended for quick-iteration! + +```tf +module "testing" { + source = "/home/user/coder/modules/my-new-module" +} +``` + +Build a workspace and your module will be consumed! 🥳 + +Open a pull-request with your module, a member of the Coder team will +manually test it, and after-merge it will appear on the Registry. diff --git a/code-server/README.md b/code-server/README.md index 033437b..9b63912 100644 --- a/code-server/README.md +++ b/code-server/README.md @@ -1,16 +1,15 @@ --- display_name: code-server description: VS Code in the browser -icon: ../icons/code.svg +icon: ../.icons/code.svg maintainer_github: coder verified: true -tags: [helper] +tags: [helper, ide] --- # code-server -Run [VS Code](https://github.com/Microsoft/vscode) on any machine anywhere and -access it in the browser. +Automatically install [code-server](https://github.com/coder/code-server) in a workspace, create an app to access it via the dashboard, install extensions, and pre-configure editor settings. ![Screenshot 1](https://github.com/coder/code-server/raw/main/docs/assets/screenshot-1.png?raw=true) ![Screenshot 2](https://github.com/coder/code-server/raw/main/docs/assets/screenshot-2.png?raw=true) @@ -24,24 +23,24 @@ access it in the browser. ## Examples -### Extensions +### Pre-install Extensions -Automatically install extensions from [OpenVSX](https://open-vsx.org/): +Install the Dracula theme from [OpenVSX](https://open-vsx.org/): ```hcl module "code-server" { source = "https://registry.coder.com/modules/code-server" extensions = [ - " + "dracula-theme.theme-dracula" ] } ``` Enter the `.` into the extensions array and code-server will automatically install on start. -### Settings +### Pre-configure Settings -Pre-configure code-server with settings: +Configure VS Code's [settings.json](https://code.visualstudio.com/docs/getstarted/settings#_settingsjson) file: ```hcl module "settings" { diff --git a/code-server/main.tf b/code-server/main.tf index 5847da1..1608799 100644 --- a/code-server/main.tf +++ b/code-server/main.tf @@ -3,7 +3,7 @@ terraform { required_providers { coder = { - source = "terraform.local/coder/coder" + source = "coder/coder" version = ">= 0.12" } } diff --git a/code-server/run.sh b/code-server/run.sh index ae75193..116af8c 100755 --- a/code-server/run.sh +++ b/code-server/run.sh @@ -17,6 +17,9 @@ CODE_SERVER="${INSTALL_PREFIX}/bin/code-server" # Install each extension... for extension in "$${EXTENSIONS[@]}"; do + if [ -z "$extension" ]; then + continue + fi printf "🧩 Installing extension $${CODE}$extension$${RESET}...\n" output=$($CODE_SERVER --install-extension "$extension") if [ $? -ne 0 ]; then diff --git a/jfrog/README.md b/jfrog/README.md index 332dd61..755d5c8 100644 --- a/jfrog/README.md +++ b/jfrog/README.md @@ -1,7 +1,7 @@ --- display_name: JFrog description: Install the JF CLI and authenticate with Artifactory -icon: ../icons/jfrog.svg +icon: ../.icons/jfrog.svg maintainer_github: coder partner_github: jfrog verified: true diff --git a/personalize/README.md b/personalize/README.md index 57d9851..60afc3a 100644 --- a/personalize/README.md +++ b/personalize/README.md @@ -1,7 +1,7 @@ --- display_name: Personalize description: Allow developers to customize their workspace on start -icon: ../icons/personalize.svg +icon: ../.icons/personalize.svg maintainer_github: coder verified: true tags: [helper] diff --git a/personalize/main.tf b/personalize/main.tf index 92d488c..2b44c0a 100644 --- a/personalize/main.tf +++ b/personalize/main.tf @@ -3,7 +3,7 @@ terraform { required_providers { coder = { - source = "terraform.local/coder/coder" + source = "coder/coder" version = ">= 0.12" } } diff --git a/vscode-desktop/README.md b/vscode-desktop/README.md index 6168f42..4ec37a1 100644 --- a/vscode-desktop/README.md +++ b/vscode-desktop/README.md @@ -1,7 +1,7 @@ --- display_name: VS Code Desktop description: Add a one-click button to launch VS Code Desktop -icon: ../icons/code.svg +icon: ../.icons/code.svg maintainer_github: coder verified: true --- diff --git a/vscode-desktop/main.tf b/vscode-desktop/main.tf index 6dc2bff..fb588b9 100644 --- a/vscode-desktop/main.tf +++ b/vscode-desktop/main.tf @@ -3,7 +3,7 @@ terraform { required_providers { coder = { - source = "terraform.local/coder/coder" + source = "coder/coder" version = ">= 0.12" } }