Skip to content

Commit ed81d46

Browse files
committed
feat: Update README with highlights and getting started guide
1 parent fe23d51 commit ed81d46

File tree

2 files changed

+33
-65
lines changed

2 files changed

+33
-65
lines changed

Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,3 +88,6 @@ site/out:
8888
# Restores GITKEEP files!
8989
git checkout HEAD site/out
9090
.PHONY: site/out
91+
92+
test:
93+
gotestsum -- -v -short ./...

README.md

Lines changed: 30 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -1,81 +1,46 @@
1-
[![coder](https://github.com/coder/coder/actions/workflows/coder.yaml/badge.svg)](https://github.com/coder/coder/actions/workflows/coder.yaml)
2-
[![codecov](https://codecov.io/gh/coder/coder/branch/main/graph/badge.svg?token=TNLW3OAP6G)](https://codecov.io/gh/coder/coder)
1+
# Coder
32

4-
# Coder v2
3+
[!["GitHub Discussions"](https://img.shields.io/badge/%20GitHub-%20Discussions-gray.svg?longCache=true&logo=github&colorB=purple)](https://github.com/coder/coder/discussions) [!["Join us on Slack"](https://img.shields.io/badge/join-us%20on%20slack-gray.svg?longCache=true&logo=slack&colorB=brightgreen)](https://coder.com/community) [![Twitter Follow](https://img.shields.io/twitter/follow/CoderHQ?label=%40CoderHQ&style=social)](https://twitter.com/coderhq) [![codecov](https://codecov.io/gh/coder/code-server/branch/main/graph/badge.svg?token=TNLW3OAP6G)](https://codecov.io/gh/coder/code-server)
54

6-
This repository contains source code for Coder V2. Additional documentation:
5+
Provision remote development environments with Terraform.
76

8-
- [Workspaces V2 RFC](https://www.notion.so/coderhq/b48040da8bfe46eca1f32749b69420dd?v=a4e7d23495094644b939b08caba8e381&p=e908a8cd54804ddd910367abf03c8d0a)
7+
## Highlights
98

10-
## Directory Structure
9+
- Automate development environments for Linux, Windows, and MacOS in your cloud
10+
- Start writing code with a single command
11+
- Use one of many [examples](./examples) to get started
1112

12-
- `.github/`: Settings for [Dependabot for updating dependencies](https://docs.github.com/en/code-security/supply-chain-security/customizing-dependency-updates) and [build/deploy pipelines with GitHub Actions](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions).
13-
- [`semantic.yaml`](./github/semantic.yaml): Configuration for [semantic pull requests](https://github.com/apps/semantic-pull-requests)
14-
- `examples`: Example terraform project templates.
15-
- `site`: Front-end UI code.
13+
## Getting Started
1614

17-
## Development
18-
19-
### Pre-requisites
20-
21-
- `git`
22-
- `go` version 1.17, with the `GOPATH` environment variable set
23-
- `node`
24-
- `yarn`
25-
26-
### Cloning
27-
28-
- `git clone https://github.com/coder/coder`
29-
- `cd coder`
30-
31-
### Building
32-
33-
- `make build`
34-
- `make install`
35-
36-
The `coder` CLI binary will now be available at `$GOPATH/bin/coder`
37-
38-
### Running
39-
40-
After building, the binaries will be available at:
41-
- `dist/coder_{os}_{arch}/coder`
15+
Install [the latest release](https://github.com/coder/coder/releases).
4216

43-
For the purpose of these steps, an OS of `linux` and an arch of `amd64` is assumed.
17+
To tinker, start with dev-mode (all data is in-memory):
4418

45-
To manually run the server and go through first-time set up, run the following commands in separate terminals:
46-
- `dist/coder_linux_amd64/coder daemon` <-- starts the Coder server on port 3000
47-
- `dist/coder_linux_amd64/coder login http://localhost:3000` <-- runs through first-time setup, creating a user and org
19+
```bash
20+
$ coder start --dev
21+
```
4822

49-
You'll now be able to login and access the server.
23+
To run a production deployment with PostgreSQL:
5024

51-
- `dist/coder_linux_amd64/coder projects create -d /path/to/project`
25+
```bash
26+
$ CODER_PG_CONNECTION_URL="..." coder start
27+
```
5228

53-
### Development
29+
To run as a daemon, use the provided service (Linux only):
5430

55-
- `./develop.sh`
31+
```bash
32+
$ sudo vim /etc/coder.d/coder.env
33+
$ sudo service coder restart
34+
```
5635

57-
The `develop.sh` script does three things:
58-
59-
- runs `coder daemon` locally on port `3000`
60-
- runs `webpack-dev-server` on port `8080`
61-
- sets up an initial user and organization
62-
63-
This is the recommend flow for working on the front-end, as hot-reload is set up as part of the webpack config.
64-
65-
Note that `./develop.sh` creates a user and allows you to log into the UI, but does not log you into the CLI, which is required for creating a project. Use the `login` command above before the `projects create` command.
66-
67-
While we're working on automating XState typegen, you may need to run `yarn typegen` from `site`.
68-
69-
## Front-End Plan
70-
71-
For the front-end team, we're planning on 2 phases to the 'v2' work:
72-
73-
### Phase 1
74-
75-
Phase 1 is the 'new-wine-in-an-old-bottle' approach - we want to preserve the look and feel (UX) of v1, while testing and validating the market fit of our new v2 provisioner model. This means that we'll preserve Material UI and re-use components from v1 (porting them over to the v2 codebase).
36+
## Development
7637

77-
### Phase 2
38+
Code structure is inspired by [Basics of Unix Philosophy](https://homepage.cs.uri.edu/~thenry/resources/unix_art/ch01s06.html) and [Effective Go](https://go.dev/doc/effective_go); these should be read prior to contributing.
7839

79-
Phase 2 is the 'new-wine-in-a-new-bottle' - which we can do once we've successfully packaged the new wine in the old bottle.
40+
Requires Go 1.18+, Node 14+, and GNU Make.
8041

81-
In other words, once we've validated that the new strategy fits and is desirable for our customers, we'd like to build a new, v2-native UI (leveraging designers on the team to build a first-class experience around the new provisioner model).
42+
- `make bin` build binaries
43+
- `make install` install binaries to `$GOPATH/bin`
44+
- `make test`
45+
- `make release` dry-run a new release
46+
- `./develop.sh` hot-reloads for frontend development

0 commit comments

Comments
 (0)