From c2a8591c80292d35bfcc04960b102c5c88a69c15 Mon Sep 17 00:00:00 2001 From: David Fraley Date: Tue, 9 Sep 2025 20:41:08 +0000 Subject: [PATCH 01/23] Update quickstart docker and coder install steps --- docs/tutorials/quickstart.md | 60 ++++++++++++++++++++++++++++++------ 1 file changed, 51 insertions(+), 9 deletions(-) diff --git a/docs/tutorials/quickstart.md b/docs/tutorials/quickstart.md index 7f684fd28c266..5a0ccb82628a5 100644 --- a/docs/tutorials/quickstart.md +++ b/docs/tutorials/quickstart.md @@ -1,13 +1,38 @@ -# Quickstart +# Get Started -Follow the steps in this guide to install Coder locally or on a cloud-hosting -provider, set up a workspace, and connect to it from VS Code. +** Keywords: ** install, setup, get started, quickstart, templates, workspaces, tasks, users -By the end of this guide, you'll have a remote development environment that you -can connect to from any device anywhere, so you can work on the same files in a -persistent environment from your main device, a tablet, or your phone. +Follow the steps in this guide to get your first Coder development environment running in under 10 minutes. This guide covers the essential concepts and walks you through creating your first workspace and running VS Code from it. You can also get Claude Code up and running in the background! -## Install and start Coder +## What You'll Build + +In this quickstart, you'll: +- ✅ Install Coder server +- ✅ Create a **template** (blueprint for dev environments) +- ✅ Launch a **workspace** (your actual dev environment) +- ✅ Connect from your favorite IDE +- ✅ Optionally setup a **task** running Claude Code + +## Understanding Coder: 30-Second Overview + +Before diving in, here are the four concepts that power Coder explained through a cooking analogy: + +| Component | What It Is | Real-World Analogy | +|-----------|------------|-------------------| +| **You** | The engineer/developer/builder working | The head chef cooking the meal | +| **Templates** | A Terraform blueprint that defines your dev environment (OS, tools, resources) | Recipe for a meal | +| **Workspaces** | The actual running environment created from the template | The cooked meal | +| **Tasks** | AI-powered coding agents that run inside a workspace | Your sous chef helping you cook the meal | +| **Users** | A developer who launches the workspace from a template and does their work inside it | The people eating the meal | + +**First time here?** Coder separates how an environment is defined (Admin’s job) from where you do your day-to-day coding (Developer’s job). As a developer, you’ll use templates to launch workspaces, and as an admin, you’ll create and manage those templates for others. + +## Prerequisites + +- A machine with 2+ CPU cores and 4GB+ RAM +- 10 minutes of your time + +## Step 1: Install Docker and Setup Permissions
@@ -39,6 +64,24 @@ persistent environment from your main device, a tablet, or your phone. You might need to log out and back in or restart the machine for changes to take effect. +## Windows + +If you plan to use the built-in PostgreSQL database, ensure that the +[Visual C++ Runtime](https://learn.microsoft.com/en-US/cpp/windows/latest-supported-vc-redist#latest-microsoft-visual-c-redistributable-version) +is installed. + +1. [Install Docker](https://docs.docker.com/desktop/install/windows-install/). + +
+ +## Step 2: Install & Start Coder + +The `coder` CLI is all you need to install. It let's you run both the Coder server as well as the client. + +
+ +## Linux/macOS + 1. Install Coder: ```shell @@ -61,8 +104,6 @@ If you plan to use the built-in PostgreSQL database, ensure that the [Visual C++ Runtime](https://learn.microsoft.com/en-US/cpp/windows/latest-supported-vc-redist#latest-microsoft-visual-c-redistributable-version) is installed. -1. [Install Docker](https://docs.docker.com/desktop/install/windows-install/). - 1. Use the [`winget`](https://learn.microsoft.com/en-us/windows/package-manager/winget/#use-winget) package manager to install Coder: @@ -79,6 +120,7 @@ is installed.
+ ## Configure Coder with a new Workspace 1. Coder will attempt to open the setup page in your browser. If it doesn't open From cde865d0ff3d42ff4907a077c76d891e0a65d438 Mon Sep 17 00:00:00 2001 From: David Fraley Date: Tue, 9 Sep 2025 21:07:31 +0000 Subject: [PATCH 02/23] rest of quickstart --- docs/tutorials/quickstart.md | 89 ++++++++++++++++++++---------------- 1 file changed, 49 insertions(+), 40 deletions(-) diff --git a/docs/tutorials/quickstart.md b/docs/tutorials/quickstart.md index 5a0ccb82628a5..3cdba63b164fd 100644 --- a/docs/tutorials/quickstart.md +++ b/docs/tutorials/quickstart.md @@ -120,45 +120,57 @@ is installed. +Coder will attempt to open the setup page in your browser. If it doesn't open +automatically, go to . -## Configure Coder with a new Workspace +- If you get a browser warning similar to `Secure Site Not Available`, you + can ignore the warning and continue to the setup page. -1. Coder will attempt to open the setup page in your browser. If it doesn't open - automatically, go to . +If your Coder server is on a network or cloud device, or you are having +trouble viewing the page, locate the web UI URL in Coder logs in your +terminal. It looks like `https://..try.coder.app`. +It's one of the first lines of output, so you might have to scroll up to find +it. - - If you get a browser warning similar to `Secure Site Not Available`, you - can ignore the warning and continue to the setup page. +## Step 3: Initial Setup - If your Coder server is on a network or cloud device, or you are having - trouble viewing the page, locate the web UI URL in Coder logs in your - terminal. It looks like `https://..try.coder.app`. - It's one of the first lines of output, so you might have to scroll up to find - it. +1. **Create your admin account:** + - Username: `yourname` (lowercase, no spaces) + - Email: `your.email@example.com` + - Password: Choose a strong password -1. On the **Welcome to Coder** page, to use your GitHub account to log in, - select **Continue with GitHub**. - You can also enter an email and password to create a new admin account on - the Coder deployment: + You can also choose to **Continue with GitHub** instead of creating an admin account - ![Welcome to Coder - Create admin user](../images/screenshots/welcome-create-admin-user.png)_Welcome - to Coder - Create admin user_ + ![Welcome to Coder - Create admin user](../images/screenshots/welcome-create-admin-user.png) -1. On the **Workspaces** page, select **Go to templates** to create a new - template. +## Step 4: Create your First Template and Workspace -1. For this guide, use a Docker container. Locate **Docker Containers** and - select **Use template**. +Templates define what's in your development environment. Let's start simple: -1. Give the template a **Name** that you'll recognize both in the Coder UI and - in command-line calls. +1. Click **"Templates"** → **"New Template"** - The rest of the template details are optional, but will be helpful when you - have more templates. +2. **Choose a starter template:** - ![Create template](../images/screenshots/create-template.png)_Create - template_ + | Starter | Best For | Includes | + |---------|----------|----------| + | **Docker Containers** (Recommended) | Getting started quickly, local development, prototyping | Ubuntu container with common dev tools, Docker runtime | + | **Kubernetes (Deployment)** | Cloud-native teams, scalable workspaces | Pod-based workspaces, Kubernetes orchestration | + | **AWS EC2 (Linux)** | Teams needing full VMs, AWS-native infrastructure | Full EC2 instances with AWS integration | -1. Select **Save**. +3. Click **"Use template"** on **Docker Containers** + +4. **Name your template:** + - Name: `quickstart` + - Display name: `quickstart doc template` + - Description: `Provision Docker containers as Coder workspaces` + +![Create template](../images/screenshots/create-template.png) + +5. Click **"Save"** + +**What just happened?** You defined a template — a reusable blueprint for dev environments — in your Coder deployment. It’s now stored in your organization’s template list, where you and any teammates in the same org can create workspaces from it. Let’s launch one. + +## Step 5: Launch your Workspace 1. After the template is ready, select **Create Workspace**. @@ -169,10 +181,9 @@ is installed. ![getting-started-workspace is running](../images/screenshots/workspace-running-with-topbar.png)_Workspace is running_ -1. Select **VS Code Desktop** to install the Coder extension and connect to your - Coder workspace. +## Step 6: Connect your IDE -## Work on some code +Select **VS Code Desktop** to install the Coder extension and connect to your Coder workspace. After VS Code loads the remote environment, you can select **Open Folder** to explore directories in the Docker container or work on something new. @@ -196,19 +207,17 @@ To clone an existing repository: 1. You are now using VS Code in your Coder environment! -## What's next? - -Now that you have your own workspace, use the same template to set one up for a -teammate. +## Success! You're Coding in Coder -Go to **Templates** and select **Create Workspace** and continue from Step 7 in -[Configure Coder with a new workspace](#configure-coder-with-a-new-workspace). +You now have: +- **Coder server** running locally +- **A template** defining your environment +- **A workspace** running that environment +- **IDE access** to code remotely -After that, you can try to: +### Get Coder Tasks Running -- [Customize templates](../admin/templates/extending-templates/index.md) -- [Enable Prometheus metrics](../admin/integrations/prometheus.md) -- [Deploy to Google Cloud Platform (GCP)](../install/cloud/compute-engine.md) +tbd @david ## Troubleshooting From a69b0fbbfcc1e079caa020c706967bc6ba8b028c Mon Sep 17 00:00:00 2001 From: David Fraley Date: Tue, 9 Sep 2025 21:33:58 +0000 Subject: [PATCH 03/23] start of tasks docs --- docs/tutorials/quickstart.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/docs/tutorials/quickstart.md b/docs/tutorials/quickstart.md index 3cdba63b164fd..18013ae729ea1 100644 --- a/docs/tutorials/quickstart.md +++ b/docs/tutorials/quickstart.md @@ -219,6 +219,34 @@ You now have: tbd @david +Coder Tasks is an interface that allows you to run and manage code agents like Claude Code. We define a task by modifying an existing template, and adding a `coder_ai_task` resource and `coder_parameter` named `AI Prompt`. In doing this, you can make any template a Task template by adding in that resource and parameter. + +Let's try turning the existing **Docker Containers** template into a Task template: +1. Head to **Templates** +2. by adding in the following at the botton modifying the template + +``` +data "coder_parameter" "ai_prompt" { + name = "AI Prompt" + type = "string" +} + +# Multiple coder_ai_tasks can be defined in a template +resource "coder_ai_task" "claude-code" { + # At most one coder ai task can be instantiated during a workspace build. + # Coder fails the build if it would instantiate more than 1. + count = data.coder_parameter.ai_prompt.value != "" ? 1 : 0 + + sidebar_app { + # which app to display in the sidebar on the task page + id = coder_app.claude-code.id + } +} +``` + + +1. + ## Troubleshooting ### Cannot connect to the Docker daemon From 3ff6daceb36ad6b59605c200f3c848edb198cf91 Mon Sep 17 00:00:00 2001 From: David Fraley Date: Wed, 10 Sep 2025 19:58:22 +0000 Subject: [PATCH 04/23] continued work on tasks --- docs/tutorials/quickstart.md | 59 +++++++++++++++++++++++------------- 1 file changed, 38 insertions(+), 21 deletions(-) diff --git a/docs/tutorials/quickstart.md b/docs/tutorials/quickstart.md index 18013ae729ea1..6ebbfd4a57eee 100644 --- a/docs/tutorials/quickstart.md +++ b/docs/tutorials/quickstart.md @@ -139,7 +139,7 @@ it. - Email: `your.email@example.com` - Password: Choose a strong password - You can also choose to **Continue with GitHub** instead of creating an admin account + You can also choose to **Continue with GitHub** instead of creating an admin account. The first user that signs in is automatically granted admin permissions. ![Welcome to Coder - Create admin user](../images/screenshots/welcome-create-admin-user.png) @@ -217,35 +217,52 @@ You now have: ### Get Coder Tasks Running -tbd @david +Coder Tasks is an interface that allows you to run and manage coding agents like Claude Code. Tasks become avaialable when a template has the `coder_ai_task` resource and `coder_parameter` named `AI Prompt` defined in its source code. Subsequently, any existing template can become a Task template by adding in that resource and parameter. -Coder Tasks is an interface that allows you to run and manage code agents like Claude Code. We define a task by modifying an existing template, and adding a `coder_ai_task` resource and `coder_parameter` named `AI Prompt`. In doing this, you can make any template a Task template by adding in that resource and parameter. - -Let's try turning the existing **Docker Containers** template into a Task template: +Let's try turning the **Docker Containers** template into a Task template running Claude Code: 1. Head to **Templates** -2. by adding in the following at the botton modifying the template - +1. Click into the template, and then click **Source Code** -> **Edit** +1. Add the following code snippit to the bottom of the terraform. This defines the `coder_ai_task` resource and `coder_parameter` ``` +# Claude API Key parameter +data "coder_parameter" "claude_api_key" { + name = "claude_api_key" + display_name = "Claude API Key" + description = "Your Anthropic API key for Claude AI" + type = "string" + default = "" +} + +# AI Prompt parameter (must be named exactly 'AI Prompt') data "coder_parameter" "ai_prompt" { - name = "AI Prompt" - type = "string" + name = "AI Prompt" + display_name = "AI Prompt" + description = "Optional AI prompt to customize behavior" + type = "string" + default = "" } -# Multiple coder_ai_tasks can be defined in a template -resource "coder_ai_task" "claude-code" { - # At most one coder ai task can be instantiated during a workspace build. - # Coder fails the build if it would instantiate more than 1. - count = data.coder_parameter.ai_prompt.value != "" ? 1 : 0 - - sidebar_app { - # which app to display in the sidebar on the task page - id = coder_app.claude-code.id - } +# Claude app +resource "coder_app" "claude-code" { + agent_id = coder_agent.main.id + slug = "claude" + display_name = "Claude" + url = "https://claude.ai" + icon = "https://claude.ai/favicon.ico" + external = true } -``` +# Claude AI task +resource "coder_ai_task" "claude-code" { + count = data.coder_parameter.ai_prompt.value != "" ? 1 : 0 + + sidebar_app { + id = coder_app.claude-code.id + } +} -1. +``` +1. ## Troubleshooting From a99a6e5d675f46cf665bdbe5178f971b04c413db Mon Sep 17 00:00:00 2001 From: David Fraley Date: Wed, 10 Sep 2025 21:09:41 +0000 Subject: [PATCH 05/23] Updated tasks quickstart section --- docs/tutorials/quickstart.md | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/docs/tutorials/quickstart.md b/docs/tutorials/quickstart.md index 6ebbfd4a57eee..6584d8ba9386f 100644 --- a/docs/tutorials/quickstart.md +++ b/docs/tutorials/quickstart.md @@ -222,18 +222,16 @@ Coder Tasks is an interface that allows you to run and manage coding agents like Let's try turning the **Docker Containers** template into a Task template running Claude Code: 1. Head to **Templates** 1. Click into the template, and then click **Source Code** -> **Edit** -1. Add the following code snippit to the bottom of the terraform. This defines the `coder_ai_task` resource and `coder_parameter` +1. Add the following code snippit to the bottom of the terraform. This defines the `coder_ai_task` resource and `coder_parameter` ``` -# Claude API Key parameter -data "coder_parameter" "claude_api_key" { - name = "claude_api_key" - display_name = "Claude API Key" - description = "Your Anthropic API key for Claude AI" - type = "string" - default = "" +# Claude API Key variable (filled in during template build) +variable "claude_api_key" { + type = string + description = "Your Anthropic API key for Claude AI" + sensitive = true } -# AI Prompt parameter (must be named exactly 'AI Prompt') +# AI Prompt parameter data "coder_parameter" "ai_prompt" { name = "AI Prompt" display_name = "AI Prompt" @@ -262,7 +260,15 @@ resource "coder_ai_task" "claude-code" { } ``` -1. +1. **Build the Template**: Clikc the **Build** button. This validates the Terraform configuration, and ensures there are no syntax errors. This process also runs Coder specific validation to ensure the template meets our requirements. +1. **Publish the Template**: Once the build succeeds, click **Publish** in the upper right corner. This makes your updated template available for creating new workspaces. +1. **Create a new Workspace**: + 1. Navigate back to your workspace dashboard + 1. Click **Create Workspace** and select your newly updated template + 1. Add in your Claude API Key. If you do not have one, you can create one in the [Anthropic Console](https://console.anthropic.com/dashboard) + 1. Click **Create Workspace** +1. Once your workspace is running, navigate to the **Tasks** tab in the upper left hand corner. Type in a message or ciding request like "Help me write a HelloWorld applicaiton in Python". Clikc **Run Task** to start the task +1. The task will open VS Code with Claude Code running in the left sidebar. You are now successfully using Coder Tasks with Claude Code! ## Troubleshooting From b74cef882fdb7fc75aaf92662ec86759e993c634 Mon Sep 17 00:00:00 2001 From: "blink-so[bot]" <211532188+blink-so[bot]@users.noreply.github.com> Date: Wed, 10 Sep 2025 21:16:14 +0000 Subject: [PATCH 06/23] docs: fix markdown formatting issues in quickstart.md - Fix MD037: Remove spaces in emphasis markers - Fix MD024: Change duplicate headings to use ### instead of ## - Fix MD009: Remove all trailing spaces - Fix MD032: Add blank lines around lists - Fix MD031: Add blank lines around fenced code blocks - Fix MD022: Add blank line before heading - Fix MD029: Fix ordered list numbering - Fix MD047: Add proper single trailing newline This resolves all markdownlint errors that were causing the CI build to fail. --- docs/tutorials/quickstart.md | 45 ++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/docs/tutorials/quickstart.md b/docs/tutorials/quickstart.md index 6584d8ba9386f..51f578f9a06c4 100644 --- a/docs/tutorials/quickstart.md +++ b/docs/tutorials/quickstart.md @@ -1,17 +1,18 @@ # Get Started -** Keywords: ** install, setup, get started, quickstart, templates, workspaces, tasks, users +**Keywords:** install, setup, get started, quickstart, templates, workspaces, tasks, users Follow the steps in this guide to get your first Coder development environment running in under 10 minutes. This guide covers the essential concepts and walks you through creating your first workspace and running VS Code from it. You can also get Claude Code up and running in the background! ## What You'll Build In this quickstart, you'll: + - ✅ Install Coder server - ✅ Create a **template** (blueprint for dev environments) - ✅ Launch a **workspace** (your actual dev environment) - ✅ Connect from your favorite IDE -- ✅ Optionally setup a **task** running Claude Code +- ✅ Optionally setup a **task** running Claude Code ## Understanding Coder: 30-Second Overview @@ -36,7 +37,7 @@ Before diving in, here are the four concepts that power Coder explained through
-## Linux/macOS +### Linux/macOS 1. Install Docker: @@ -64,7 +65,7 @@ Before diving in, here are the four concepts that power Coder explained through You might need to log out and back in or restart the machine for changes to take effect. -## Windows +### Windows If you plan to use the built-in PostgreSQL database, ensure that the [Visual C++ Runtime](https://learn.microsoft.com/en-US/cpp/windows/latest-supported-vc-redist#latest-microsoft-visual-c-redistributable-version) @@ -76,11 +77,11 @@ is installed. ## Step 2: Install & Start Coder -The `coder` CLI is all you need to install. It let's you run both the Coder server as well as the client. +The `coder` CLI is all you need to install. It let's you run both the Coder server as well as the client.
-## Linux/macOS +### Linux/macOS 1. Install Coder: @@ -98,7 +99,7 @@ The `coder` CLI is all you need to install. It let's you run both the Coder serv coder server ``` -## Windows +### Windows If you plan to use the built-in PostgreSQL database, ensure that the [Visual C++ Runtime](https://learn.microsoft.com/en-US/cpp/windows/latest-supported-vc-redist#latest-microsoft-visual-c-redistributable-version) @@ -132,18 +133,18 @@ terminal. It looks like `https://..try.coder.app`. It's one of the first lines of output, so you might have to scroll up to find it. -## Step 3: Initial Setup +## Step 3: Initial Setup 1. **Create your admin account:** - Username: `yourname` (lowercase, no spaces) - Email: `your.email@example.com` - Password: Choose a strong password - You can also choose to **Continue with GitHub** instead of creating an admin account. The first user that signs in is automatically granted admin permissions. + You can also choose to **Continue with GitHub** instead of creating an admin account. The first user that signs in is automatically granted admin permissions. ![Welcome to Coder - Create admin user](../images/screenshots/welcome-create-admin-user.png) -## Step 4: Create your First Template and Workspace +## Step 4: Create your First Template and Workspace Templates define what's in your development environment. Let's start simple: @@ -166,9 +167,9 @@ Templates define what's in your development environment. Let's start simple: ![Create template](../images/screenshots/create-template.png) -5. Click **"Save"** +1. Click **"Save"** -**What just happened?** You defined a template — a reusable blueprint for dev environments — in your Coder deployment. It’s now stored in your organization’s template list, where you and any teammates in the same org can create workspaces from it. Let’s launch one. +**What just happened?** You defined a template — a reusable blueprint for dev environments — in your Coder deployment. It's now stored in your organization's template list, where you and any teammates in the same org can create workspaces from it. Let's launch one. ## Step 5: Launch your Workspace @@ -210,6 +211,7 @@ To clone an existing repository: ## Success! You're Coding in Coder You now have: + - **Coder server** running locally - **A template** defining your environment - **A workspace** running that environment @@ -217,13 +219,15 @@ You now have: ### Get Coder Tasks Running -Coder Tasks is an interface that allows you to run and manage coding agents like Claude Code. Tasks become avaialable when a template has the `coder_ai_task` resource and `coder_parameter` named `AI Prompt` defined in its source code. Subsequently, any existing template can become a Task template by adding in that resource and parameter. +Coder Tasks is an interface that allows you to run and manage coding agents like Claude Code. Tasks become avaialable when a template has the `coder_ai_task` resource and `coder_parameter` named `AI Prompt` defined in its source code. Subsequently, any existing template can become a Task template by adding in that resource and parameter. + +Let's try turning the **Docker Containers** template into a Task template running Claude Code: -Let's try turning the **Docker Containers** template into a Task template running Claude Code: 1. Head to **Templates** 1. Click into the template, and then click **Source Code** -> **Edit** 1. Add the following code snippit to the bottom of the terraform. This defines the `coder_ai_task` resource and `coder_parameter` -``` + +```hcl # Claude API Key variable (filled in during template build) variable "claude_api_key" { type = string @@ -260,13 +264,10 @@ resource "coder_ai_task" "claude-code" { } ``` -1. **Build the Template**: Clikc the **Build** button. This validates the Terraform configuration, and ensures there are no syntax errors. This process also runs Coder specific validation to ensure the template meets our requirements. -1. **Publish the Template**: Once the build succeeds, click **Publish** in the upper right corner. This makes your updated template available for creating new workspaces. -1. **Create a new Workspace**: - 1. Navigate back to your workspace dashboard - 1. Click **Create Workspace** and select your newly updated template - 1. Add in your Claude API Key. If you do not have one, you can create one in the [Anthropic Console](https://console.anthropic.com/dashboard) - 1. Click **Create Workspace** + +1. **Build the Template**: Click "Build version". This will process your template updates. After it finishes building successfully: +1. **Activate the Template**: Click "Promote Version" on the new version to make it the active template version. +1. **Create a Task**: Click "Create Task". 1. Once your workspace is running, navigate to the **Tasks** tab in the upper left hand corner. Type in a message or ciding request like "Help me write a HelloWorld applicaiton in Python". Clikc **Run Task** to start the task 1. The task will open VS Code with Claude Code running in the left sidebar. You are now successfully using Coder Tasks with Claude Code! From 5d943d74c4c20b9f43b74ff0540736885e0bc542 Mon Sep 17 00:00:00 2001 From: David Fraley Date: Wed, 10 Sep 2025 21:31:43 +0000 Subject: [PATCH 07/23] add back whats next --- docs/tutorials/quickstart.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/tutorials/quickstart.md b/docs/tutorials/quickstart.md index 51f578f9a06c4..695f844f77fc4 100644 --- a/docs/tutorials/quickstart.md +++ b/docs/tutorials/quickstart.md @@ -217,6 +217,16 @@ You now have: - **A workspace** running that environment - **IDE access** to code remotely +### What's Next? + +Now that you have your own workspace running, you can start exploring more advanced capabilities that Coder offers. + +- [Learn more about running Coder Tasks and our recommended Best Practices](https://coder.com/docs/ai-coder/best-practices) + +- [Read about managing Workspaces for your team](https://coder.com/docs/user-guides/workspace-management) + +- [Read about implementing monitoring tools for your Coder Deployment](https://coder.com/docs/admin/monitoring) + ### Get Coder Tasks Running Coder Tasks is an interface that allows you to run and manage coding agents like Claude Code. Tasks become avaialable when a template has the `coder_ai_task` resource and `coder_parameter` named `AI Prompt` defined in its source code. Subsequently, any existing template can become a Task template by adding in that resource and parameter. From 0d406fd9f71d47e36c1004e251f7f449172f5f0c Mon Sep 17 00:00:00 2001 From: "blink-so[bot]" <211532188+blink-so[bot]@users.noreply.github.com> Date: Wed, 10 Sep 2025 21:56:12 +0000 Subject: [PATCH 08/23] docs: fix typos and formatting in quickstart.md - Fix typo: 'avaialable' -> 'available' - Fix typo: 'applicaiton' -> 'application' - Fix typo: 'ciding' -> 'coding' - Fix typo: 'Clikc' -> 'Click' - Remove trailing space on line 222 - Add proper single trailing newline These fixes resolve the failing CI checks for typos and markdown formatting. --- docs/tutorials/quickstart.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/tutorials/quickstart.md b/docs/tutorials/quickstart.md index 695f844f77fc4..8c59c72fd8e49 100644 --- a/docs/tutorials/quickstart.md +++ b/docs/tutorials/quickstart.md @@ -219,7 +219,7 @@ You now have: ### What's Next? -Now that you have your own workspace running, you can start exploring more advanced capabilities that Coder offers. +Now that you have your own workspace running, you can start exploring more advanced capabilities that Coder offers. - [Learn more about running Coder Tasks and our recommended Best Practices](https://coder.com/docs/ai-coder/best-practices) @@ -229,7 +229,7 @@ Now that you have your own workspace running, you can start exploring more advan ### Get Coder Tasks Running -Coder Tasks is an interface that allows you to run and manage coding agents like Claude Code. Tasks become avaialable when a template has the `coder_ai_task` resource and `coder_parameter` named `AI Prompt` defined in its source code. Subsequently, any existing template can become a Task template by adding in that resource and parameter. +Coder Tasks is an interface that allows you to run and manage coding agents like Claude Code. Tasks become available when a template has the `coder_ai_task` resource and `coder_parameter` named `AI Prompt` defined in its source code. Subsequently, any existing template can become a Task template by adding in that resource and parameter. Let's try turning the **Docker Containers** template into a Task template running Claude Code: @@ -278,7 +278,7 @@ resource "coder_ai_task" "claude-code" { 1. **Build the Template**: Click "Build version". This will process your template updates. After it finishes building successfully: 1. **Activate the Template**: Click "Promote Version" on the new version to make it the active template version. 1. **Create a Task**: Click "Create Task". -1. Once your workspace is running, navigate to the **Tasks** tab in the upper left hand corner. Type in a message or ciding request like "Help me write a HelloWorld applicaiton in Python". Clikc **Run Task** to start the task +1. Once your workspace is running, navigate to the **Tasks** tab in the upper left hand corner. Type in a message or coding request like "Help me write a HelloWorld application in Python". Click **Run Task** to start the task 1. The task will open VS Code with Claude Code running in the left sidebar. You are now successfully using Coder Tasks with Claude Code! ## Troubleshooting From a5fdcdd42bb086a627d5244a80fbb479c8c4ee47 Mon Sep 17 00:00:00 2001 From: "blink-so[bot]" <211532188+blink-so[bot]@users.noreply.github.com> Date: Wed, 10 Sep 2025 22:00:35 +0000 Subject: [PATCH 09/23] docs: format quickstart.md with prettier - Align table columns for better readability - Fix line wrapping for better markdown formatting These changes resolve the fmt CI check failure. --- docs/tutorials/quickstart.md | 97 +++++++++++++++++++++++------------- 1 file changed, 61 insertions(+), 36 deletions(-) diff --git a/docs/tutorials/quickstart.md b/docs/tutorials/quickstart.md index 8c59c72fd8e49..183cd2a14abbf 100644 --- a/docs/tutorials/quickstart.md +++ b/docs/tutorials/quickstart.md @@ -1,8 +1,12 @@ # Get Started -**Keywords:** install, setup, get started, quickstart, templates, workspaces, tasks, users +**Keywords:** install, setup, get started, quickstart, templates, workspaces, +tasks, users -Follow the steps in this guide to get your first Coder development environment running in under 10 minutes. This guide covers the essential concepts and walks you through creating your first workspace and running VS Code from it. You can also get Claude Code up and running in the background! +Follow the steps in this guide to get your first Coder development environment +running in under 10 minutes. This guide covers the essential concepts and walks +you through creating your first workspace and running VS Code from it. You can +also get Claude Code up and running in the background! ## What You'll Build @@ -16,17 +20,21 @@ In this quickstart, you'll: ## Understanding Coder: 30-Second Overview -Before diving in, here are the four concepts that power Coder explained through a cooking analogy: +Before diving in, here are the four concepts that power Coder explained through +a cooking analogy: -| Component | What It Is | Real-World Analogy | -|-----------|------------|-------------------| -| **You** | The engineer/developer/builder working | The head chef cooking the meal | -| **Templates** | A Terraform blueprint that defines your dev environment (OS, tools, resources) | Recipe for a meal | -| **Workspaces** | The actual running environment created from the template | The cooked meal | -| **Tasks** | AI-powered coding agents that run inside a workspace | Your sous chef helping you cook the meal | -| **Users** | A developer who launches the workspace from a template and does their work inside it | The people eating the meal | +| Component | What It Is | Real-World Analogy | +| -------------- | ------------------------------------------------------------------------------------ | ---------------------------------------- | +| **You** | The engineer/developer/builder working | The head chef cooking the meal | +| **Templates** | A Terraform blueprint that defines your dev environment (OS, tools, resources) | Recipe for a meal | +| **Workspaces** | The actual running environment created from the template | The cooked meal | +| **Tasks** | AI-powered coding agents that run inside a workspace | Your sous chef helping you cook the meal | +| **Users** | A developer who launches the workspace from a template and does their work inside it | The people eating the meal | -**First time here?** Coder separates how an environment is defined (Admin’s job) from where you do your day-to-day coding (Developer’s job). As a developer, you’ll use templates to launch workspaces, and as an admin, you’ll create and manage those templates for others. +**First time here?** Coder separates how an environment is defined (Admin’s job) +from where you do your day-to-day coding (Developer’s job). As a developer, +you’ll use templates to launch workspaces, and as an admin, you’ll create and +manage those templates for others. ## Prerequisites @@ -46,7 +54,6 @@ Before diving in, here are the four concepts that power Coder explained through ``` For more details, visit: - - [Linux instructions](https://docs.docker.com/desktop/install/linux-install/) - [Mac instructions](https://docs.docker.com/desktop/install/mac-install/) @@ -77,7 +84,8 @@ is installed. ## Step 2: Install & Start Coder -The `coder` CLI is all you need to install. It let's you run both the Coder server as well as the client. +The `coder` CLI is all you need to install. It let's you run both the Coder +server as well as the client.
@@ -124,14 +132,13 @@ is installed. Coder will attempt to open the setup page in your browser. If it doesn't open automatically, go to . -- If you get a browser warning similar to `Secure Site Not Available`, you - can ignore the warning and continue to the setup page. +- If you get a browser warning similar to `Secure Site Not Available`, you can + ignore the warning and continue to the setup page. -If your Coder server is on a network or cloud device, or you are having -trouble viewing the page, locate the web UI URL in Coder logs in your -terminal. It looks like `https://..try.coder.app`. -It's one of the first lines of output, so you might have to scroll up to find -it. +If your Coder server is on a network or cloud device, or you are having trouble +viewing the page, locate the web UI URL in Coder logs in your terminal. It looks +like `https://..try.coder.app`. It's one of the first +lines of output, so you might have to scroll up to find it. ## Step 3: Initial Setup @@ -140,7 +147,9 @@ it. - Email: `your.email@example.com` - Password: Choose a strong password - You can also choose to **Continue with GitHub** instead of creating an admin account. The first user that signs in is automatically granted admin permissions. + You can also choose to **Continue with GitHub** instead of creating an admin + account. The first user that signs in is automatically granted admin + permissions. ![Welcome to Coder - Create admin user](../images/screenshots/welcome-create-admin-user.png) @@ -152,11 +161,11 @@ Templates define what's in your development environment. Let's start simple: 2. **Choose a starter template:** - | Starter | Best For | Includes | - |---------|----------|----------| + | Starter | Best For | Includes | + | ----------------------------------- | ------------------------------------------------------- | ------------------------------------------------------ | | **Docker Containers** (Recommended) | Getting started quickly, local development, prototyping | Ubuntu container with common dev tools, Docker runtime | - | **Kubernetes (Deployment)** | Cloud-native teams, scalable workspaces | Pod-based workspaces, Kubernetes orchestration | - | **AWS EC2 (Linux)** | Teams needing full VMs, AWS-native infrastructure | Full EC2 instances with AWS integration | + | **Kubernetes (Deployment)** | Cloud-native teams, scalable workspaces | Pod-based workspaces, Kubernetes orchestration | + | **AWS EC2 (Linux)** | Teams needing full VMs, AWS-native infrastructure | Full EC2 instances with AWS integration | 3. Click **"Use template"** on **Docker Containers** @@ -169,7 +178,10 @@ Templates define what's in your development environment. Let's start simple: 1. Click **"Save"** -**What just happened?** You defined a template — a reusable blueprint for dev environments — in your Coder deployment. It's now stored in your organization's template list, where you and any teammates in the same org can create workspaces from it. Let's launch one. +**What just happened?** You defined a template — a reusable blueprint for dev +environments — in your Coder deployment. It's now stored in your organization's +template list, where you and any teammates in the same org can create workspaces +from it. Let's launch one. ## Step 5: Launch your Workspace @@ -184,7 +196,8 @@ Templates define what's in your development environment. Let's start simple: ## Step 6: Connect your IDE -Select **VS Code Desktop** to install the Coder extension and connect to your Coder workspace. +Select **VS Code Desktop** to install the Coder extension and connect to your +Coder workspace. After VS Code loads the remote environment, you can select **Open Folder** to explore directories in the Docker container or work on something new. @@ -219,7 +232,8 @@ You now have: ### What's Next? -Now that you have your own workspace running, you can start exploring more advanced capabilities that Coder offers. +Now that you have your own workspace running, you can start exploring more +advanced capabilities that Coder offers. - [Learn more about running Coder Tasks and our recommended Best Practices](https://coder.com/docs/ai-coder/best-practices) @@ -229,13 +243,19 @@ Now that you have your own workspace running, you can start exploring more advan ### Get Coder Tasks Running -Coder Tasks is an interface that allows you to run and manage coding agents like Claude Code. Tasks become available when a template has the `coder_ai_task` resource and `coder_parameter` named `AI Prompt` defined in its source code. Subsequently, any existing template can become a Task template by adding in that resource and parameter. +Coder Tasks is an interface that allows you to run and manage coding agents like +Claude Code. Tasks become available when a template has the `coder_ai_task` +resource and `coder_parameter` named `AI Prompt` defined in its source code. +Subsequently, any existing template can become a Task template by adding in that +resource and parameter. -Let's try turning the **Docker Containers** template into a Task template running Claude Code: +Let's try turning the **Docker Containers** template into a Task template +running Claude Code: 1. Head to **Templates** 1. Click into the template, and then click **Source Code** -> **Edit** -1. Add the following code snippit to the bottom of the terraform. This defines the `coder_ai_task` resource and `coder_parameter` +1. Add the following code snippit to the bottom of the terraform. This defines + the `coder_ai_task` resource and `coder_parameter` ```hcl # Claude API Key variable (filled in during template build) @@ -267,7 +287,7 @@ resource "coder_app" "claude-code" { # Claude AI task resource "coder_ai_task" "claude-code" { count = data.coder_parameter.ai_prompt.value != "" ? 1 : 0 - + sidebar_app { id = coder_app.claude-code.id } @@ -275,11 +295,16 @@ resource "coder_ai_task" "claude-code" { ``` -1. **Build the Template**: Click "Build version". This will process your template updates. After it finishes building successfully: -1. **Activate the Template**: Click "Promote Version" on the new version to make it the active template version. +1. **Build the Template**: Click "Build version". This will process your + template updates. After it finishes building successfully: +1. **Activate the Template**: Click "Promote Version" on the new version to make + it the active template version. 1. **Create a Task**: Click "Create Task". -1. Once your workspace is running, navigate to the **Tasks** tab in the upper left hand corner. Type in a message or coding request like "Help me write a HelloWorld application in Python". Click **Run Task** to start the task -1. The task will open VS Code with Claude Code running in the left sidebar. You are now successfully using Coder Tasks with Claude Code! +1. Once your workspace is running, navigate to the **Tasks** tab in the upper + left hand corner. Type in a message or coding request like "Help me write a + HelloWorld application in Python". Click **Run Task** to start the task +1. The task will open VS Code with Claude Code running in the left sidebar. You + are now successfully using Coder Tasks with Claude Code! ## Troubleshooting From e3ec375553aa8e51f293389f6b51b7c10fa61a48 Mon Sep 17 00:00:00 2001 From: "blink-so[bot]" <211532188+blink-so[bot]@users.noreply.github.com> Date: Wed, 10 Sep 2025 22:13:58 +0000 Subject: [PATCH 10/23] docs: format markdown tables in quickstart.md - Remove spaces around table separator pipes for consistent formatting - Matches the CI's markdown-table-formatter output This resolves the fmt CI check failure. --- docs/tutorials/quickstart.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/tutorials/quickstart.md b/docs/tutorials/quickstart.md index 183cd2a14abbf..a8f56fd43b862 100644 --- a/docs/tutorials/quickstart.md +++ b/docs/tutorials/quickstart.md @@ -24,7 +24,7 @@ Before diving in, here are the four concepts that power Coder explained through a cooking analogy: | Component | What It Is | Real-World Analogy | -| -------------- | ------------------------------------------------------------------------------------ | ---------------------------------------- | +|----------------|--------------------------------------------------------------------------------------|------------------------------------------| | **You** | The engineer/developer/builder working | The head chef cooking the meal | | **Templates** | A Terraform blueprint that defines your dev environment (OS, tools, resources) | Recipe for a meal | | **Workspaces** | The actual running environment created from the template | The cooked meal | @@ -162,7 +162,7 @@ Templates define what's in your development environment. Let's start simple: 2. **Choose a starter template:** | Starter | Best For | Includes | - | ----------------------------------- | ------------------------------------------------------- | ------------------------------------------------------ | + |-------------------------------------|---------------------------------------------------------|--------------------------------------------------------| | **Docker Containers** (Recommended) | Getting started quickly, local development, prototyping | Ubuntu container with common dev tools, Docker runtime | | **Kubernetes (Deployment)** | Cloud-native teams, scalable workspaces | Pod-based workspaces, Kubernetes orchestration | | **AWS EC2 (Linux)** | Teams needing full VMs, AWS-native infrastructure | Full EC2 instances with AWS integration | From c349ac017169175dc2eb11f3e338f246023e7800 Mon Sep 17 00:00:00 2001 From: David Fraley Date: Fri, 12 Sep 2025 21:04:11 +0000 Subject: [PATCH 11/23] Update tasks how-to --- docs/tutorials/quickstart.md | 99 ++++++++++++++---------------------- 1 file changed, 38 insertions(+), 61 deletions(-) diff --git a/docs/tutorials/quickstart.md b/docs/tutorials/quickstart.md index a8f56fd43b862..89a46f30efe85 100644 --- a/docs/tutorials/quickstart.md +++ b/docs/tutorials/quickstart.md @@ -244,67 +244,44 @@ advanced capabilities that Coder offers. ### Get Coder Tasks Running Coder Tasks is an interface that allows you to run and manage coding agents like -Claude Code. Tasks become available when a template has the `coder_ai_task` -resource and `coder_parameter` named `AI Prompt` defined in its source code. -Subsequently, any existing template can become a Task template by adding in that -resource and parameter. - -Let's try turning the **Docker Containers** template into a Task template -running Claude Code: - -1. Head to **Templates** -1. Click into the template, and then click **Source Code** -> **Edit** -1. Add the following code snippit to the bottom of the terraform. This defines - the `coder_ai_task` resource and `coder_parameter` - -```hcl -# Claude API Key variable (filled in during template build) -variable "claude_api_key" { - type = string - description = "Your Anthropic API key for Claude AI" - sensitive = true -} - -# AI Prompt parameter -data "coder_parameter" "ai_prompt" { - name = "AI Prompt" - display_name = "AI Prompt" - description = "Optional AI prompt to customize behavior" - type = "string" - default = "" -} - -# Claude app -resource "coder_app" "claude-code" { - agent_id = coder_agent.main.id - slug = "claude" - display_name = "Claude" - url = "https://claude.ai" - icon = "https://claude.ai/favicon.ico" - external = true -} - -# Claude AI task -resource "coder_ai_task" "claude-code" { - count = data.coder_parameter.ai_prompt.value != "" ? 1 : 0 - - sidebar_app { - id = coder_app.claude-code.id - } -} - -``` - -1. **Build the Template**: Click "Build version". This will process your - template updates. After it finishes building successfully: -1. **Activate the Template**: Click "Promote Version" on the new version to make - it the active template version. -1. **Create a Task**: Click "Create Task". -1. Once your workspace is running, navigate to the **Tasks** tab in the upper - left hand corner. Type in a message or coding request like "Help me write a - HelloWorld application in Python". Click **Run Task** to start the task -1. The task will open VS Code with Claude Code running in the left sidebar. You - are now successfully using Coder Tasks with Claude Code! +Claude Code within a given Workspace. Tasks become available when the Template for a Workspace has the `coder_ai_task` resource and `coder_parameter` named `AI Prompt` defined in its source code. +In other words, any existing template can become a Task template by adding in that +resource and parameter. + +Coder maintains the [Tasks on Docker](https://registry.coder.com/templates/coder-labs/tasks-docker?_gl=1*19yewmn*_gcl_au*MTc0MzUwMTQ2NC4xNzU2MzA3MDkxLjk3NTM3MjgyNy4xNzU3Njg2NDY2LjE3NTc2ODc0Mzc.*_ga*NzUxMDI1NjIxLjE3NTYzMDcwOTE.*_ga_FTQQJCDWDM*czE3NTc3MDg4MDkkbzQ1JGcxJHQxNzU3NzA4ODE4JGo1MSRsMCRoMA..) template which has Anthropic's Claude Code agent built in with a sample application. Let's try using this template by pulling it from Coder's Registry of public templates, and pushing it to your local server: + +1. **Push the Template to your Coder Deployment**: + 1. In the upper right hand corner, click **Use this template** + 1. Open a terminal on your machine + 1. Ensure your CLI is authenticated with your Coder deployment by [logging in](https://coder.com/docs/reference/cli/login) + 1. Create an [API Key with Anthropic](https://console.anthropic.com/) + 1. Head to the [Tasks on Docker](https://registry.coder.com/templates/coder-labs/tasks-docker?_gl=1*19yewmn*_gcl_au*MTc0MzUwMTQ2NC4xNzU2MzA3MDkxLjk3NTM3MjgyNy4xNzU3Njg2NDY2LjE3NTc2ODc0Mzc.*_ga*NzUxMDI1NjIxLjE3NTYzMDcwOTE.*_ga_FTQQJCDWDM*czE3NTc3MDg4MDkkbzQ1JGcxJHQxNzU3NzA4ODE4JGo1MSRsMCRoMA..) template + 1. Clone the Coder Registry repo to your local machine + ```hcl + git clone https://github.com/coder/registry.git + ``` + 1. Switch to the template directory + ```hcl + cd registry/registry/coder-labs/templates/tasks-docker + ``` + 1. Push the template to your Coder deployment. Note: this command differs from the registry since we're defining the Anthropic API Key as an environment variable + ```hcl + coder template push tasks-docker -d . --variable anthropic_api_key="your-api-key" + ``` +1. **Create the new Workspace** + 1. In your Coder Deployment, click **Workspaces** in the upper left hand corner + 1. Click **New workspace** and choose **tasks-docker** + 1. Fill in the Workspace name. Add in an AI Prompt for Claude Code like "Make the background yellow". Click **Create workspace** +1. **See Tasks in action** + 1. Once your workspace is running, click **View tasks** with your workspace. This will bring you to the Tasks view where you can see Claude Code (left panel), preview the sample application, and interact with the code in code-server. You might need to wait for Claude Code to finish changing the background color of the application. + ![Tasks changing background color of demo application](../images/screenshots/quickstart-tasks-background-change.png) + navigate to the **Tasks** tab in the upper + left hand corner + 1. Try typing in a new request to Claude Code: "make the background red" + 1. Let's exit out of this specific Task view, so we can see all the running tasks + 1. You can start a new task by prompting in the "Prompt your AI agent to start a task" box. You can select which template to run this from, so tasks-docker here, and that will spin up a new Workspace + +Congratulation! You now have a Coder Task running. This demo has shown you how to spin up a task, and prompt Claude Code to change parts of your application. Learn more specifics about Coder Tasks [here](https://coder.com/docs/ai-coder/tasks). ## Troubleshooting From 0e1984dee5bbf5bf185710880d1eef4d668e8f54 Mon Sep 17 00:00:00 2001 From: David Fraley Date: Fri, 12 Sep 2025 21:06:40 +0000 Subject: [PATCH 12/23] add pic, remove keywords --- .../quickstart-tasks-background-change.png | Bin 0 -> 116151 bytes docs/tutorials/quickstart.md | 3 --- 2 files changed, 3 deletions(-) create mode 100644 docs/images/screenshots/quickstart-tasks-background-change.png diff --git a/docs/images/screenshots/quickstart-tasks-background-change.png b/docs/images/screenshots/quickstart-tasks-background-change.png new file mode 100644 index 0000000000000000000000000000000000000000..bfefcbc8cb0a85b8ad963e745c755ec224a4170b GIT binary patch literal 116151 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

1&WoD?tEryoo2vZdVbUdMU<0cE`^a+0VY8 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 Date: Fri, 12 Sep 2025 21:09:22 +0000 Subject: [PATCH 13/23] add note about docker running in background --- docs/tutorials/quickstart.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/quickstart.md b/docs/tutorials/quickstart.md index b106928caf7fd..fd17eb5e18038 100644 --- a/docs/tutorials/quickstart.md +++ b/docs/tutorials/quickstart.md @@ -164,7 +164,7 @@ Templates define what's in your development environment. Let's start simple: | **Kubernetes (Deployment)** | Cloud-native teams, scalable workspaces | Pod-based workspaces, Kubernetes orchestration | | **AWS EC2 (Linux)** | Teams needing full VMs, AWS-native infrastructure | Full EC2 instances with AWS integration | -3. Click **"Use template"** on **Docker Containers** +3. Click **"Use template"** on **Docker Containers**. Note: running this template requires Docker to be running in the background, so make sure Docker is running! 4. **Name your template:** - Name: `quickstart` From 62ef23aabb1e2a64e907d0335de00cf12778718c Mon Sep 17 00:00:00 2001 From: David Fraley Date: Fri, 12 Sep 2025 21:12:42 +0000 Subject: [PATCH 14/23] added picture for changing directories --- .../screenshots/change-directory-vscode.png | Bin 0 -> 53724 bytes docs/tutorials/quickstart.md | 2 ++ 2 files changed, 2 insertions(+) create mode 100644 docs/images/screenshots/change-directory-vscode.png diff --git a/docs/images/screenshots/change-directory-vscode.png b/docs/images/screenshots/change-directory-vscode.png new file mode 100644 index 0000000000000000000000000000000000000000..c02a0b17dd3ba26c518dca9d48f7fb8b551139cf GIT binary patch literal 53724 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 Date: Fri, 12 Sep 2025 21:15:50 +0000 Subject: [PATCH 15/23] revert title change. it'll come later --- docs/tutorials/quickstart.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/quickstart.md b/docs/tutorials/quickstart.md index eb96c3b63b7c5..afcaf27841c04 100644 --- a/docs/tutorials/quickstart.md +++ b/docs/tutorials/quickstart.md @@ -1,4 +1,4 @@ -# Get Started +# Quickstart Follow the steps in this guide to get your first Coder development environment running in under 10 minutes. This guide covers the essential concepts and walks From 91cb305fb0a9823fc4d4d047bba920bfa2858099 Mon Sep 17 00:00:00 2001 From: David Fraley Date: Fri, 12 Sep 2025 21:25:18 +0000 Subject: [PATCH 16/23] minor nit --- docs/tutorials/quickstart.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/tutorials/quickstart.md b/docs/tutorials/quickstart.md index afcaf27841c04..1c5c12f2c045f 100644 --- a/docs/tutorials/quickstart.md +++ b/docs/tutorials/quickstart.md @@ -81,8 +81,7 @@ is installed. ## Step 2: Install & Start Coder -The `coder` CLI is all you need to install. It let's you run both the Coder -server as well as the client. +Install the `coder` CLI to get started:

From 8dc67aef6ab412bf81ee5b6dcc3ea0090a77a9bc Mon Sep 17 00:00:00 2001 From: David Fraley Date: Fri, 12 Sep 2025 21:47:26 +0000 Subject: [PATCH 17/23] updated concepts section --- docs/tutorials/quickstart.md | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/docs/tutorials/quickstart.md b/docs/tutorials/quickstart.md index 1c5c12f2c045f..e71e57defd905 100644 --- a/docs/tutorials/quickstart.md +++ b/docs/tutorials/quickstart.md @@ -17,21 +17,18 @@ In this quickstart, you'll: ## Understanding Coder: 30-Second Overview -Before diving in, here are the four concepts that power Coder explained through +Before diving in, here are the core concepts that power Coder explained through a cooking analogy: -| Component | What It Is | Real-World Analogy | -|----------------|--------------------------------------------------------------------------------------|------------------------------------------| -| **You** | The engineer/developer/builder working | The head chef cooking the meal | -| **Templates** | A Terraform blueprint that defines your dev environment (OS, tools, resources) | Recipe for a meal | -| **Workspaces** | The actual running environment created from the template | The cooked meal | -| **Tasks** | AI-powered coding agents that run inside a workspace | Your sous chef helping you cook the meal | -| **Users** | A developer who launches the workspace from a template and does their work inside it | The people eating the meal | - -**First time here?** Coder separates how an environment is defined (Admin’s job) -from where you do your day-to-day coding (Developer’s job). As a developer, -you’ll use templates to launch workspaces, and as an admin, you’ll create and -manage those templates for others. +| Component | What It Is | Real-World Analogy | +|----------------|--------------------------------------------------------------------------------------|---------------------------------------------| +| **You** | The engineer/developer/builder working | The head chef cooking the meal | +| **Templates** | A Terraform blueprint that defines your dev environment (OS, tools, resources) | Recipe for a meal | +| **Workspaces** | The actual running environment created from the template | The cooked meal | +| **Tasks** | AI-powered coding agents that run inside a workspace | Smart kitchen appliance that help you cook | +| **Users** | A developer who launches the workspace from a template and does their work inside it | The people eating the meal | + +**Putting it Together:** Coder separates who _defines_ environments from who _uses_ them. Admins create and manage Templates, the recipes, while developers use those Templates to launch Workspaces, the meals. Inside those Workspaces, developers can also run Tasks, the smart kitchen appliance, to help speed up day-to-day work. ## Prerequisites From 4ef89f03297a72711066fafcd6dfe2dabb839f34 Mon Sep 17 00:00:00 2001 From: David Fraley Date: Fri, 12 Sep 2025 21:56:19 +0000 Subject: [PATCH 18/23] format --- docs/tutorials/quickstart.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/quickstart.md b/docs/tutorials/quickstart.md index e71e57defd905..93de9a7665558 100644 --- a/docs/tutorials/quickstart.md +++ b/docs/tutorials/quickstart.md @@ -25,7 +25,7 @@ a cooking analogy: | **You** | The engineer/developer/builder working | The head chef cooking the meal | | **Templates** | A Terraform blueprint that defines your dev environment (OS, tools, resources) | Recipe for a meal | | **Workspaces** | The actual running environment created from the template | The cooked meal | -| **Tasks** | AI-powered coding agents that run inside a workspace | Smart kitchen appliance that help you cook | +| **Tasks** | AI-powered coding agents that run inside a workspace | Smart kitchen appliance that help you cook | | **Users** | A developer who launches the workspace from a template and does their work inside it | The people eating the meal | **Putting it Together:** Coder separates who _defines_ environments from who _uses_ them. Admins create and manage Templates, the recipes, while developers use those Templates to launch Workspaces, the meals. Inside those Workspaces, developers can also run Tasks, the smart kitchen appliance, to help speed up day-to-day work. From 302079d62fa4371ec29b9b7cd49a7726dfbc8a92 Mon Sep 17 00:00:00 2001 From: David Fraley Date: Fri, 12 Sep 2025 21:58:36 +0000 Subject: [PATCH 19/23] more format --- docs/tutorials/quickstart.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/tutorials/quickstart.md b/docs/tutorials/quickstart.md index 93de9a7665558..73786a33a9e1d 100644 --- a/docs/tutorials/quickstart.md +++ b/docs/tutorials/quickstart.md @@ -20,13 +20,13 @@ In this quickstart, you'll: Before diving in, here are the core concepts that power Coder explained through a cooking analogy: -| Component | What It Is | Real-World Analogy | -|----------------|--------------------------------------------------------------------------------------|---------------------------------------------| -| **You** | The engineer/developer/builder working | The head chef cooking the meal | -| **Templates** | A Terraform blueprint that defines your dev environment (OS, tools, resources) | Recipe for a meal | -| **Workspaces** | The actual running environment created from the template | The cooked meal | -| **Tasks** | AI-powered coding agents that run inside a workspace | Smart kitchen appliance that help you cook | -| **Users** | A developer who launches the workspace from a template and does their work inside it | The people eating the meal | +| Component | What It Is | Real-World Analogy | +|----------------|--------------------------------------------------------------------------------------|--------------------------------------------| +| **You** | The engineer/developer/builder working | The head chef cooking the meal | +| **Templates** | A Terraform blueprint that defines your dev environment (OS, tools, resources) | Recipe for a meal | +| **Workspaces** | The actual running environment created from the template | The cooked meal | +| **Tasks** | AI-powered coding agents that run inside a workspace | Smart kitchen appliance that help you cook | +| **Users** | A developer who launches the workspace from a template and does their work inside it | The people eating the meal | **Putting it Together:** Coder separates who _defines_ environments from who _uses_ them. Admins create and manage Templates, the recipes, while developers use those Templates to launch Workspaces, the meals. Inside those Workspaces, developers can also run Tasks, the smart kitchen appliance, to help speed up day-to-day work. From 5ef49452c11e3d3d58c89f0531f9a1157ca3c7c5 Mon Sep 17 00:00:00 2001 From: David Fraley Date: Fri, 12 Sep 2025 22:02:59 +0000 Subject: [PATCH 20/23] Fix typo --- docs/tutorials/quickstart.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/tutorials/quickstart.md b/docs/tutorials/quickstart.md index 73786a33a9e1d..2b654616f32a5 100644 --- a/docs/tutorials/quickstart.md +++ b/docs/tutorials/quickstart.md @@ -270,8 +270,7 @@ Coder maintains the [Tasks on Docker](https://registry.coder.com/templates/coder 1. **See Tasks in action** 1. Once your workspace is running, click **View tasks** with your workspace. This will bring you to the Tasks view where you can see Claude Code (left panel), preview the sample application, and interact with the code in code-server. You might need to wait for Claude Code to finish changing the background color of the application. ![Tasks changing background color of demo application](../images/screenshots/quickstart-tasks-background-change.png) - navigate to the **Tasks** tab in the upper - left hand corner + 1. Navigate to the **Tasks** tab in the upper left hand corner 1. Try typing in a new request to Claude Code: "make the background red" 1. Let's exit out of this specific Task view, so we can see all the running tasks 1. You can start a new task by prompting in the "Prompt your AI agent to start a task" box. You can select which template to run this from, so tasks-docker here, and that will spin up a new Workspace From 018f7db180f5582f10cd9297cd0c940f33d998df Mon Sep 17 00:00:00 2001 From: David Fraley Date: Fri, 12 Sep 2025 22:04:39 +0000 Subject: [PATCH 21/23] more formats --- docs/tutorials/quickstart.md | 41 ++++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/docs/tutorials/quickstart.md b/docs/tutorials/quickstart.md index 2b654616f32a5..ab16da462aac7 100644 --- a/docs/tutorials/quickstart.md +++ b/docs/tutorials/quickstart.md @@ -245,24 +245,29 @@ resource and parameter. Coder maintains the [Tasks on Docker](https://registry.coder.com/templates/coder-labs/tasks-docker?_gl=1*19yewmn*_gcl_au*MTc0MzUwMTQ2NC4xNzU2MzA3MDkxLjk3NTM3MjgyNy4xNzU3Njg2NDY2LjE3NTc2ODc0Mzc.*_ga*NzUxMDI1NjIxLjE3NTYzMDcwOTE.*_ga_FTQQJCDWDM*czE3NTc3MDg4MDkkbzQ1JGcxJHQxNzU3NzA4ODE4JGo1MSRsMCRoMA..) template which has Anthropic's Claude Code agent built in with a sample application. Let's try using this template by pulling it from Coder's Registry of public templates, and pushing it to your local server: -1. **Push the Template to your Coder Deployment**: - 1. In the upper right hand corner, click **Use this template** - 1. Open a terminal on your machine - 1. Ensure your CLI is authenticated with your Coder deployment by [logging in](https://coder.com/docs/reference/cli/login) - 1. Create an [API Key with Anthropic](https://console.anthropic.com/) - 1. Head to the [Tasks on Docker](https://registry.coder.com/templates/coder-labs/tasks-docker?_gl=1*19yewmn*_gcl_au*MTc0MzUwMTQ2NC4xNzU2MzA3MDkxLjk3NTM3MjgyNy4xNzU3Njg2NDY2LjE3NTc2ODc0Mzc.*_ga*NzUxMDI1NjIxLjE3NTYzMDcwOTE.*_ga_FTQQJCDWDM*czE3NTc3MDg4MDkkbzQ1JGcxJHQxNzU3NzA4ODE4JGo1MSRsMCRoMA..) template - 1. Clone the Coder Registry repo to your local machine - ```hcl - git clone https://github.com/coder/registry.git - ``` - 1. Switch to the template directory - ```hcl - cd registry/registry/coder-labs/templates/tasks-docker - ``` - 1. Push the template to your Coder deployment. Note: this command differs from the registry since we're defining the Anthropic API Key as an environment variable - ```hcl - coder template push tasks-docker -d . --variable anthropic_api_key="your-api-key" - ``` +1. In the upper right hand corner, click **Use this template** +1. Open a terminal on your machine +1. Ensure your CLI is authenticated with your Coder deployment by [logging in](https://coder.com/docs/reference/cli/login) +1. Create an [API Key with Anthropic](https://console.anthropic.com/) +1. Head to the [Tasks on Docker](https://registry.coder.com/templates/coder-labs/tasks-docker?_gl=1*19yewmn*_gcl_au*MTc0MzUwMTQ2NC4xNzU2MzA3MDkxLjk3NTM3MjgyNy4xNzU3Njg2NDY2LjE3NTc2ODc0Mzc.*_ga*NzUxMDI1NjIxLjE3NTYzMDcwOTE.*_ga_FTQQJCDWDM*czE3NTc3MDg4MDkkbzQ1JGcxJHQxNzU3NzA4ODE4JGo1MSRsMCRoMA..) template +1. Clone the Coder Registry repo to your local machine + +```hcl +git clone https://github.com/coder/registry.git +``` + +1. Switch to the template directory + +```hcl +cd registry/registry/coder-labs/templates/tasks-docker +``` + +1. Push the template to your Coder deployment. Note: this command differs from the registry since we're defining the Anthropic API Key as an environment variable + +```hcl +coder template push tasks-docker -d . --variable anthropic_api_key="your-api-key" +``` + 1. **Create the new Workspace** 1. In your Coder Deployment, click **Workspaces** in the upper left hand corner 1. Click **New workspace** and choose **tasks-docker** From 9bc326e7a012524e5baffc4d932c11e26e04500a Mon Sep 17 00:00:00 2001 From: "blink-so[bot]" <211532188+blink-so[bot]@users.noreply.github.com> Date: Fri, 12 Sep 2025 22:12:58 +0000 Subject: [PATCH 22/23] docs: fix trailing whitespace in quickstart.md Remove trailing whitespace from lines in the quickstart documentation to fix linting errors in CI. --- docs/tutorials/quickstart.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/tutorials/quickstart.md b/docs/tutorials/quickstart.md index ab16da462aac7..919311cc6e43e 100644 --- a/docs/tutorials/quickstart.md +++ b/docs/tutorials/quickstart.md @@ -28,7 +28,7 @@ a cooking analogy: | **Tasks** | AI-powered coding agents that run inside a workspace | Smart kitchen appliance that help you cook | | **Users** | A developer who launches the workspace from a template and does their work inside it | The people eating the meal | -**Putting it Together:** Coder separates who _defines_ environments from who _uses_ them. Admins create and manage Templates, the recipes, while developers use those Templates to launch Workspaces, the meals. Inside those Workspaces, developers can also run Tasks, the smart kitchen appliance, to help speed up day-to-day work. +**Putting it Together:** Coder separates who _defines_ environments from who _uses_ them. Admins create and manage Templates, the recipes, while developers use those Templates to launch Workspaces, the meals. Inside those Workspaces, developers can also run Tasks, the smart kitchen appliance, to help speed up day-to-day work. ## Prerequisites @@ -160,7 +160,7 @@ Templates define what's in your development environment. Let's start simple: | **Kubernetes (Deployment)** | Cloud-native teams, scalable workspaces | Pod-based workspaces, Kubernetes orchestration | | **AWS EC2 (Linux)** | Teams needing full VMs, AWS-native infrastructure | Full EC2 instances with AWS integration | -3. Click **"Use template"** on **Docker Containers**. Note: running this template requires Docker to be running in the background, so make sure Docker is running! +3. Click **"Use template"** on **Docker Containers**. Note: running this template requires Docker to be running in the background, so make sure Docker is running! 4. **Name your template:** - Name: `quickstart` @@ -241,16 +241,16 @@ advanced capabilities that Coder offers. Coder Tasks is an interface that allows you to run and manage coding agents like Claude Code within a given Workspace. Tasks become available when the Template for a Workspace has the `coder_ai_task` resource and `coder_parameter` named `AI Prompt` defined in its source code. In other words, any existing template can become a Task template by adding in that -resource and parameter. +resource and parameter. -Coder maintains the [Tasks on Docker](https://registry.coder.com/templates/coder-labs/tasks-docker?_gl=1*19yewmn*_gcl_au*MTc0MzUwMTQ2NC4xNzU2MzA3MDkxLjk3NTM3MjgyNy4xNzU3Njg2NDY2LjE3NTc2ODc0Mzc.*_ga*NzUxMDI1NjIxLjE3NTYzMDcwOTE.*_ga_FTQQJCDWDM*czE3NTc3MDg4MDkkbzQ1JGcxJHQxNzU3NzA4ODE4JGo1MSRsMCRoMA..) template which has Anthropic's Claude Code agent built in with a sample application. Let's try using this template by pulling it from Coder's Registry of public templates, and pushing it to your local server: +Coder maintains the [Tasks on Docker](https://registry.coder.com/templates/coder-labs/tasks-docker?_gl=1*19yewmn*_gcl_au*MTc0MzUwMTQ2NC4xNzU2MzA3MDkxLjk3NTM3MjgyNy4xNzU3Njg2NDY2LjE3NTc2ODc0Mzc.*_ga*NzUxMDI1NjIxLjE3NTYzMDcwOTE.*_ga_FTQQJCDWDM*czE3NTc3MDg4MDkkbzQ1JGcxJHQxNzU3NzA4ODE4JGo1MSRsMCRoMA..) template which has Anthropic's Claude Code agent built in with a sample application. Let's try using this template by pulling it from Coder's Registry of public templates, and pushing it to your local server: 1. In the upper right hand corner, click **Use this template** 1. Open a terminal on your machine 1. Ensure your CLI is authenticated with your Coder deployment by [logging in](https://coder.com/docs/reference/cli/login) 1. Create an [API Key with Anthropic](https://console.anthropic.com/) -1. Head to the [Tasks on Docker](https://registry.coder.com/templates/coder-labs/tasks-docker?_gl=1*19yewmn*_gcl_au*MTc0MzUwMTQ2NC4xNzU2MzA3MDkxLjk3NTM3MjgyNy4xNzU3Njg2NDY2LjE3NTc2ODc0Mzc.*_ga*NzUxMDI1NjIxLjE3NTYzMDcwOTE.*_ga_FTQQJCDWDM*czE3NTc3MDg4MDkkbzQ1JGcxJHQxNzU3NzA4ODE4JGo1MSRsMCRoMA..) template -1. Clone the Coder Registry repo to your local machine +1. Head to the [Tasks on Docker](https://registry.coder.com/templates/coder-labs/tasks-docker?_gl=1*19yewmn*_gcl_au*MTc0MzUwMTQ2NC4xNzU2MzA3MDkxLjk3NTM3MjgyNy4xNzU3Njg2NDY2LjE3NTc2ODc0Mzc.*_ga*NzUxMDI1NjIxLjE3NTYzMDcwOTE.*_ga_FTQQJCDWDM*czE3NTc3MDg4MDkkbzQ1JGcxJHQxNzU3NzA4ODE4JGo1MSRsMCRoMA..) template +1. Clone the Coder Registry repo to your local machine ```hcl git clone https://github.com/coder/registry.git @@ -273,7 +273,7 @@ coder template push tasks-docker -d . --variable anthropic_api_key="your-api-key 1. Click **New workspace** and choose **tasks-docker** 1. Fill in the Workspace name. Add in an AI Prompt for Claude Code like "Make the background yellow". Click **Create workspace** 1. **See Tasks in action** - 1. Once your workspace is running, click **View tasks** with your workspace. This will bring you to the Tasks view where you can see Claude Code (left panel), preview the sample application, and interact with the code in code-server. You might need to wait for Claude Code to finish changing the background color of the application. + 1. Once your workspace is running, click **View tasks** with your workspace. This will bring you to the Tasks view where you can see Claude Code (left panel), preview the sample application, and interact with the code in code-server. You might need to wait for Claude Code to finish changing the background color of the application. ![Tasks changing background color of demo application](../images/screenshots/quickstart-tasks-background-change.png) 1. Navigate to the **Tasks** tab in the upper left hand corner 1. Try typing in a new request to Claude Code: "make the background red" @@ -343,4 +343,4 @@ error: configure http(s): listen tcp 127.0.0.1:3000: bind: address already in us ```shell coder server - ``` + ``` \ No newline at end of file From dbe130a3108c5aa13edfd73cf659f579d21b5b7e Mon Sep 17 00:00:00 2001 From: "blink-so[bot]" <211532188+blink-so[bot]@users.noreply.github.com> Date: Fri, 12 Sep 2025 22:18:09 +0000 Subject: [PATCH 23/23] docs: add missing newline at end of quickstart.md The linter expects files to end with a newline character. --- docs/tutorials/quickstart.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/quickstart.md b/docs/tutorials/quickstart.md index 919311cc6e43e..f1fd78ab18e01 100644 --- a/docs/tutorials/quickstart.md +++ b/docs/tutorials/quickstart.md @@ -343,4 +343,4 @@ error: configure http(s): listen tcp 127.0.0.1:3000: bind: address already in us ```shell coder server - ``` \ No newline at end of file + ```