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 backend contributing guide#18077

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

Merged
mtojek merged 32 commits intomainfromdocs-backend-contrib-guide
May 30, 2025
Merged
Changes from1 commit
Commits
Show all changes
32 commits
Select commitHold shift + click to select a range
ba40049
Quickstart
mtojekMay 27, 2025
2369345
Platform Architecture
mtojekMay 27, 2025
f3bca2a
Coder libraries
mtojekMay 27, 2025
2eb56dd
fix libs
mtojekMay 27, 2025
5d27d51
Repository Structure WIP
mtojekMay 28, 2025
1b2eeaa
Repository Structure WIP
mtojekMay 28, 2025
a18e994
Repository Structure WIP
mtojekMay 28, 2025
fd44753
Repository Structure WIP
mtojekMay 28, 2025
9bb61e4
Repository Structure WIP
mtojekMay 28, 2025
35a9865
Repository Structure
mtojekMay 28, 2025
b73cc9e
quiz
mtojekMay 28, 2025
d372181
Testing WIP
mtojekMay 28, 2025
5a7311e
WIP
mtojekMay 28, 2025
3ee0747
WIP
mtojekMay 28, 2025
d8ff123
WIP
mtojekMay 28, 2025
2a9d702
WIP
mtojekMay 28, 2025
619d31c
manifest.json
mtojekMay 28, 2025
6d680eb
fix link
mtojekMay 28, 2025
a4ce2c3
fix lint
mtojekMay 28, 2025
49311d0
git apply
mtojekMay 28, 2025
253c446
PR comments
mtojekMay 29, 2025
18d5182
PR comments
mtojekMay 29, 2025
0fd7fc9
PR comments
mtojekMay 29, 2025
7c644d8
PR comments
mtojekMay 29, 2025
4a96505
PR comments
mtojekMay 29, 2025
08b8542
fix: dogfood
mtojekMay 29, 2025
4251ca8
PR comments
mtojekMay 30, 2025
121e38a
fix lint
mtojekMay 30, 2025
b3274c8
fix lint
mtojekMay 30, 2025
25b9564
move database to backend
mtojekMay 30, 2025
90b7199
fix lint
mtojekMay 30, 2025
7f6517d
fix links
mtojekMay 30, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
PrevPrevious commit
NextNext commit
Repository Structure WIP
  • Loading branch information
@mtojek
mtojek committedMay 28, 2025
commit5d27d516f7d3a33acb1d95c1372f1bfe5008b47d
30 changes: 28 additions & 2 deletionsdocs/contributing/backend.md
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -7,9 +7,7 @@ Coder’s backend powers the core infrastructure behind workspace provisioning,
The purpose of this guide is to help you:

* Understand how the various backend components fit together.

* Navigate the codebase with confidence and adhere to established best practices.

* Contribute meaningful changes - whether you're fixing bugs, implementing features, or reviewing code.

By aligning on tools, workflows, and conventions, we reduce cognitive overhead, improve collaboration across teams, and accelerate our ability to deliver high-quality software.
Expand DownExpand Up@@ -86,3 +84,31 @@ Coder's backend is built using a collection of robust, modern Go libraries and i
* [coder/serpent](https://github.com/coder/serpent): CLI framework built on `cobra`, used for large, complex CLIs
* [coder/guts](https://github.com/coder/guts): generates TypeScript types from Go for shared type definitions
* [coder/wgtunnel](https://github.com/coder/wgtunnel): WireGuard tunnel server for secure backend networking

## Repository Structure

The Coder backend is organized into multiple packages and directories, each with a specific purpose. Here's a high-level overview of the most important ones:
Copy link
Member

Choose a reason for hiding this comment

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

Great detail! Wdyt about adding a key areas of interest section under here as well, just so people scanning this can get a better idea of what's themost important. Maybe point out agent, coderd, queries, provisioner for instance.

Copy link
MemberAuthor

@mtojekmtojekMay 29, 2025
edited
Loading

Choose a reason for hiding this comment

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

Maybe point out agent, coderd, queries, provisioner for instance.

I'm intrigued! Do you have something specific in mind? Should I move up the most important ones?

Copy link
Member

Choose a reason for hiding this comment

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

I think that's a great idea! Let's iterate on this further in future PRs.


* [agent](https://github.com/coder/coder/tree/main/agent): core logic of a workspace agent, supports DevContainers, remote SSH, startup/shutdown script execution. Protobuf definitions for DRPC communication with `coderd` are kept in [proto](https://github.com/coder/coder/tree/main/agent/proto).
* [cli](https://github.com/coder/coder/tree/main/cli): CLI interface for `coder` command built on [coder/serpent](https://github.com/coder/serpent). Input controls are defined in [cliui](https://github.com/coder/coder/tree/docs-backend-contrib-guide/cli/cliui), and [testdata](https://github.com/coder/coder/tree/docs-backend-contrib-guide/cli/testdata) contains golden files for common CLI calls
* [cmd](https://github.com/coder/coder/tree/main/cmd): entry points for CLI and services, including `coderd`
* [coderd](https://github.com/coder/coder/tree/main/coderd): the main API server implementation
* [audit](https://github.com/coder/coder/tree/main/coderd/audit): audit log logic, defines target resources, actions and extra fields
* [autobuild](https://github.com/coder/coder/tree/main/coderd/autobuild): core logic of the workspace autobuild executor, periodically evaluates workspaces for next transition actions
* `httpmw`: shared HTTP middleware
* `prebuilds`: prebuilt workspace logic
* `provisionerdserver`: interface to provisioner processes
* `rbac`: role-based access control
* `telemetry`: metrics and observability
* `tracing`: distributed tracing support
* `workspaceapps`: app lifecycle in workspaces
* `wsbuilder`: workspace build system
* `database`: schema migrations and query logic
* `dogfood`: internal testing and validation tools
* `enterprise`: enterprise-only features and extensions
* `nix`: Nix utility scripts and definitions
* `provisioner`, `provisionerd`, `provisionersdk`: components for infrastructure provisioning
* `pty`: terminal emulation for remote shells
* `support`: shared internal helpers
* `tailnet`: network stack and identity management
* `vpn`: VPN and tunneling components

[8]ページ先頭

©2009-2025 Movatter.jp