Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

docs: add documentation for modules in contributing#18597

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Draft
DevelopmentCats wants to merge16 commits intomain
base:main
Choose a base branch
Loading
fromcat/modules-doc

Conversation

DevelopmentCats
Copy link
Contributor

Let me know if this align's with what you were looking for in this modules doc.@matifali

@DevelopmentCatsDevelopmentCats added the docsArea: coder.com/docs labelJun 26, 2025
@DevelopmentCatsDevelopmentCats changed the titlefeat: Add Coder Documentation for Contributing docsdocs: Add Coder Documentation for Contributing docsJun 26, 2025
@DevelopmentCatsDevelopmentCats changed the titledocs: Add Coder Documentation for Contributing docsdocs: add modules documentation for contributing docsJun 26, 2025
@DevelopmentCatsDevelopmentCats changed the titledocs: add modules documentation for contributing docsdocs: add documentation for modules in contributingJun 26, 2025
@DevelopmentCatsDevelopmentCats marked this pull request as draftJune 26, 2025 02:34
@matifali
Copy link
Member

Can you add a diagram describing how a module fits into Cider architecture?

Also I would suggest being lean on the module usage section i.e. example uses, and more detailed on how to write the module and what is the significance of each type of resource an author can add to the module. What are those sources provided.

Here we can also consider examples like what will be needed to write a module to:

  • Enable an external ide integration.
  • Enable an externality auth with a service by installing CLI binary ir injecting some env variable
  • Writing some configuration files.
  • Install a VSCode extension?

In these we can also link existing matching module implementations as examples.

DevelopmentCats reacted with thumbs up emoji

@DevelopmentCats
Copy link
ContributorAuthor

Okay I had those exact examples in my registry version so I'll clean up and add these to the contributing doc and take into account the rest of your points as well 👌

}
```

#### coder_app - User Interface
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

I suggest adding some screenshots in sections like this!


### External IDE Integration

**Browser-based IDE Pattern**: Install web-based development environment with health monitoring and configuration management.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Ah I see! You did it down here. I suggest bringing this up more, add links to registry, and remove "Pattern" from the end of each Section.

Copy link
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

I have moved it up and reorganized into a more worthy module type list.

Let me know if this vibes with you

Comment on lines 405 to 428
### External IDE Integration

**Browser-based IDE Pattern**: Install web-based development environment with health monitoring and configuration management.

**Desktop IDE Pattern**: Provide protocol-based integration for native applications with backend service management.

**Editor Extension Pattern**: Configure existing editors with workspace-specific settings and extensions.

### Authentication and Secrets

**OAuth Integration Pattern**: Handle external authentication flows with token management and service configuration.

**API Key Management Pattern**: Securely distribute credentials and configure authenticated tools.

**Certificate Management Pattern**: Handle SSL certificates and secure communication setup.

### Development Environment Setup

**Language Runtime Pattern**: Install and configure programming language environments with package managers.

**Database Service Pattern**: Deploy and configure database services with connection management.

**Configuration Management Pattern**: Apply dotfiles, settings, and workspace personalization.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Can we also link example modules heres?

Copy link
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Moved module type list up and included module groups with tag links for registry with tag search per-propogated.

Let me know if this vibes with what you were thinking/

DevelopmentCatsand others added6 commitsJune 26, 2025 18:49
…per, Desktop, AI, Integration, and Web-based Tools and remove duplicate explanation from end of doc.
Co-authored-by: Atif Ali <atif@coder.com>
…ced resource links for better clarityaddressed all comments up to commit time aside from unresolved comments awaiting replies
Copy link
Member

@matifalimatifali left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

I did another pass and it looks way better now. Please address comments.

Comment on lines +20 to +87
```mermaid
flowchart LR
subgraph Registry["🌐 Module Registry"]
ModuleCode["📦 Modules<br/>Terraform configurations<br/>with coder resources"]
StarterTemplates["📋 Starter Templates<br/>Infrastructure-specific bases<br/>(Docker, AWS, GCP, etc.)"]
end
subgraph CoderInstance["🏢 Your Coder Instance"]
Template["📄 Template<br/>References modules<br/>from registry"]
subgraph ModuleResources["🔧 Module Resources"]
Script["📜 coder_script<br/>Installation scripts"]
App["🖥️ coder_app<br/>UI applications"]
Env["🌍 coder_env<br/>Environment variables"]
end
end
subgraph Workspace["💻 Developer Workspace"]
Agent["🤖 Coder Agent"]
subgraph Results["Results"]
Tools["🛠️ Installed Tools<br/>IDEs, CLIs, Services"]
Apps["📱 Accessible Apps<br/>Web interfaces"]
Environment["⚙️ Configured Environment<br/>Variables, paths, settings"]
end
end
%% Module flow
ModuleCode -->|"&nbsp;Referenced by&nbsp;"| Template
StarterTemplates -->|"&nbsp;Used as base for&nbsp;"| Template
%% Template to resources
Template --> Script
Template --> App
Template --> Env
%% Resources to agent
Script --> Agent
App --> Agent
Env --> Agent
%% Agent to results
Agent --> Tools
Agent --> Apps
Agent --> Environment
%% Styling
style Registry fill:#e8f5e8,stroke:#2e7d32,stroke-width:2px,color:#000000
style ModuleCode fill:#c8e6c9,stroke:#388e3c,stroke-width:2px,color:#000000
style StarterTemplates fill:#c8e6c9,stroke:#388e3c,stroke-width:2px,color:#000000
style CoderInstance fill:#e3f2fd,stroke:#1976d2,stroke-width:2px,color:#000000
style Template fill:#bbdefb,stroke:#1e88e5,stroke-width:2px,color:#000000
style ModuleResources fill:#90caf9,stroke:#42a5f5,stroke-width:2px,color:#000000
style Script fill:#90caf9,stroke:#42a5f5,stroke-width:1px,color:#000000
style App fill:#90caf9,stroke:#42a5f5,stroke-width:1px,color:#000000
style Env fill:#90caf9,stroke:#42a5f5,stroke-width:1px,color:#000000
style Workspace fill:#fff3e0,stroke:#f57c00,stroke-width:2px,color:#000000
style Agent fill:#ffcc02,stroke:#ff9800,stroke-width:2px,color:#000000
style Results fill:#ffe0b2,stroke:#ffa726,stroke-width:2px,color:#000000
style Tools fill:#ffe0b2,stroke:#ffa726,stroke-width:1px,color:#000000
style Apps fill:#ffe0b2,stroke:#ffa726,stroke-width:1px,color:#000000
style Environment fill:#ffe0b2,stroke:#ffa726,stroke-width:1px,color:#000000
%% Link styling to make arrows visible
linkStyle default stroke:#333333,stroke-width:2px
```
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Our Doics engine currently does not support Mermaid rendering, so we need to render this and use an image.

DevelopmentCats reacted with thumbs up emoji
Comment on lines +170 to +176
###[Web-based Tools](https://registry.coder.com/modules?search=tag%3Aweb)

Browser-accessible applications and interfaces.

-**[File Browser](https://registry.coder.com/modules/coder/filebrowser)**: A file browser for your workspace

Browse all available modules and explore specific categories at[registry.coder.com](https://registry.coder.com).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

All web IDEs are also web-based, maybe we merge these two together.

Comment on lines +115 to +122
-**[code-server](https://registry.coder.com/modules/coder/code-server)**: VS Code in the browser
-**[Cursor](https://registry.coder.com/modules/coder/cursor)**: Add a one-click button to launch Cursor IDE
-**[JetBrains Gateway](https://registry.coder.com/modules/coder/jetbrains-gateway)**: Add a one-click button to launch JetBrains Gateway IDEs in the dashboard
-**[Jupyter Notebook](https://registry.coder.com/modules/coder/jupyter-notebook)**: A module that adds Jupyter Notebook in your Coder template
-**[JupyterLab](https://registry.coder.com/modules/coder/jupyterlab)**: A module that adds JupyterLab in your Coder template
-**[VS Code Desktop](https://registry.coder.com/modules/coder/vscode-desktop)**: Add a one-click button to launch VS Code Desktop
-**[VS Code Web](https://registry.coder.com/modules/coder/vscode-web)**: VS Code Web - Visual Studio Code in the browser
-**[Windsurf Editor](https://registry.coder.com/modules/coder/windsurf)**: Add a one-click button to launch Windsurf Editor
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Keep web-based IDEs and desktop IDEs separate. The main difference is that web-based IDEs require acoder_script to install and launch, while desktop IDEs only have acoder_app that provides the button. Also add a few sentences to describe the flow. Similar to how you described for code-server earlier.

Comment on lines +128 to +139
-**[AWS Region](https://registry.coder.com/modules/coder/aws-region)**: A parameter with human region names and icons
-**[Azure Region](https://registry.coder.com/modules/coder/azure-region)**: A parameter with human region names and icons
-**[Coder Login](https://registry.coder.com/modules/coder/coder-login)**: Automatically logs the user into Coder on their workspace
-**[Dotfiles](https://registry.coder.com/modules/coder/dotfiles)**: Allow developers to optionally bring their own dotfiles repository to customize their shell and IDE settings
-**[Fly.io Region](https://registry.coder.com/modules/coder/fly-region)**: A parameter with human region names and icons
-**[GCP Region](https://registry.coder.com/modules/coder/gcp-region)**: Add Google Cloud Platform regions to your Coder template
-**[Git Clone](https://registry.coder.com/modules/coder/git-clone)**: Clone a Git repository by URL and skip if it exists
-**[Git commit signing](https://registry.coder.com/modules/coder/git-commit-signing)**: Configures Git to sign commits using your Coder SSH key
-**[Git Config](https://registry.coder.com/modules/coder/git-config)**: Stores Git configuration from Coder credentials
-**[Github Upload Public Key](https://registry.coder.com/modules/coder/github-upload-public-key)**: Automates uploading Coder public key to Github so users don't have to
-**[Personalize](https://registry.coder.com/modules/coder/personalize)**: Allow developers to customize their workspace on start
-**[Slack Me](https://registry.coder.com/modules/coder/slackme)**: Send a Slack message when a command finishes inside a workspace
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Here to separate into two sections.

  1. Modules only using parameters, e.g., region
  2. Modules withcoder_script, such as installing a CLI or cloning a repository.

Comment on lines 141 to 166
###[Desktop Modules](https://registry.coder.com/modules?search=tag%3Adesktop)

Provide graphical desktop environments for visual development workflows.

-**[Amazon DCV Windows](https://registry.coder.com/modules/coder/amazon-dcv-windows)**: Amazon DCV Server and Web Client for Windows
-**[KasmVNC](https://registry.coder.com/modules/coder/kasmvnc)**: A modern open source VNC server
-**[Windows RDP](https://registry.coder.com/modules/coder/windows-rdp)**: RDP Server and Web Client, powered by Devolutions Gateway
-**[Windows RDP Desktop](https://registry.coder.com/modules/coder/local-windows-rdp)**: Enable RDP on Windows and add a one-click Coder Desktop button for seamless access

###[AI Modules](https://registry.coder.com/modules?search=tag%3Aai)

Integrate AI-powered development tools and assistants.

-**[Aider](https://registry.coder.com/modules/coder/aider)**: Run Aider AI pair programming in your workspace
-**[Amazon Q](https://registry.coder.com/modules/coder/amazon-q)**: Run Amazon Q in your workspace to access Amazon's AI coding assistant
-**[Claude Code](https://registry.coder.com/modules/coder/claude-code)**: Run Claude Code in your workspace
-**[Goose](https://registry.coder.com/modules/coder/goose)**: Run Goose in your workspace

###[Integration Modules](https://registry.coder.com/modules?search=tag%3Aintegration)

Connect with external services and platforms.

-**[Hashicorp Vault Integration (GitHub)](https://registry.coder.com/modules/coder/vault-github)**: Authenticates with Vault using GitHub
-**[Hashicorp Vault Integration (JWT)](https://registry.coder.com/modules/coder/vault-jwt)**: Authenticates with Vault using a JWT from Coder's OIDC provider
-**[Hashicorp Vault Integration (Token)](https://registry.coder.com/modules/coder/vault-token)**: Authenticates with Vault using Token
-**[HCP Vault Secrets](https://registry.coder.com/modules/coder/hcp-vault-secrets)**: Fetch secrets from HCP Vault
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

We can keep these examples, but there's no need to explain again that they use the same approach as previous modules, i.e., as a collection ofcoder_app,coder_env, andcoder_script resources.

}
```

####[coder_app - User Interface](https://registry.terraform.io/providers/coder/coder/latest/docs/resources/app)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Instead of linking to docs in the heading, link to them when they first appear in the body text.

DevelopmentCatsand others added2 commitsJune 27, 2025 08:52
Co-authored-by: Atif Ali <atif@coder.com>
Co-authored-by: Atif Ali <atif@coder.com>
Co-authored-by: Atif Ali <atif@coder.com>
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers

@matifalimatifalimatifali requested changes

@bpmctbpmctbpmct left review comments

Requested changes must be addressed to merge this pull request.

Assignees

@DevelopmentCatsDevelopmentCats

Labels
docsArea: coder.com/docs
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

3 participants
@DevelopmentCats@matifali@bpmct

[8]ページ先頭

©2009-2025 Movatter.jp