# Alternatives to GitHub Codespaces for ds-data-report-template

## Context

The current setup uses GitHub Codespaces with a `devcontainer.json` to give two
audiences a low-friction Quarto workflow:

- **Coders** add R code cells, plots and tables to `.qmd` documents.
- **Writers** (non-technical editors) add prose and need a simple editing
  surface.

GitHub is a hard requirement for version control. Reports are compiled with
Quarto and rely on R + tidyverse plus internal packages
(`SMChelpR`, `DT`, `plotly`, …) and a GraphQL data source.

Goals for any alternative:

- **Faster container startups** than the current Codespaces flow.
- **Nice spell check** (German grammar/style for editorial work).
- **Better preview** of generated HTML.
- A simple writer interface alongside the coder workflow.
- Self-hosting is acceptable — infrastructure is available.

## Landscape (May 2026)

### Self-hosted browser IDEs (devcontainer-compatible)

| Option | Status | Fit for this use case |
|---|---|---|
| **Coder** (open source) | Active, mature | Closest to "self-hosted Codespaces". Reads `devcontainer.json` natively. Free community edition, no seat limits. Needs Terraform + Kubernetes/Docker host. Workspaces are per-repo/branch like Codespaces. |
| **code-server** (by Coder) | Active | Single Docker container serving VS Code in the browser. No orchestration layer. Best for persistent per-user workspaces. Light ops cost. |
| **Gitpod Flex / Ona** | Self-hosted only since Oct 2025 | Viable but commercial; Coder covers the same ground for free. |
| **DevPod** | Active | Open source, client-only. Reads `devcontainer.json`. Requires editors to install a desktop client — breaks the "click a link in any browser" promise. |
| **Daytona** | Withdrew self-hosting Feb 2025 | Out. |

### R/Quarto-native commercial paths

- **Posit Cloud** — RStudio in the browser, click-a-link UX. Drops `devcontainer.json` and VS Code; editors learn a new UI.
- **Posit Workbench + Positron Pro** — Positron (Posit's Code-OSS-based IDE) in the browser, with the best out-of-the-box R/Quarto preview. Commercial license.

### Why Codespaces is still strong for this exact workflow

Codespaces is uniquely well-suited to the "non-technical user clicks a badge,
gets a working environment in the browser" pattern. The realistic alternatives
either change the UI (Posit Cloud), require local install (DevPod), or trade
zero-ops for a self-hosted control plane (Coder, code-server).

## Recommended architecture

**Coder + existing `devcontainer.json` + prebuilt image in private registry + LTeX + Quarto Visual Editor**

This satisfies all three explicit asks:

### 1. Faster startup

Build the existing Dockerfile once, push to a private registry (Harbor, GHCR,
…), and reference it via `image:` in `devcontainer.json`. Container creation
becomes a pull-only operation: ~10 s instead of ~5 min. The same trick applies
to the current Codespaces setup if Coder isn't adopted.

### 2. Better preview

Two complementary upgrades:

- **VS Code Quarto extension** (already used) — side-by-side preview pane is
  solid in 2026.
- **Quarto Visual Editor** (`Ctrl+Shift+F4`) — WYSIWYM view writers will
  prefer.
- *Optional:* Positron Desktop for power users — bundles Quarto CLI +
  extension, tighter HTML preview. Browser-based Positron is commercial only
  (Posit Workbench).

### 3. Nice spell check

Install the **LTeX+** VS Code extension. It uses LanguageTool to provide proper
German grammar/style checking on Markdown/Quarto, ignores fenced code chunks,
handles citations. Far better than basic spell-check extensions for editorial
work. The LanguageTool server can also be self-hosted on-prem.

## Two-audience workflow in one repo

No separate CMS layer is needed:

- **Coders** open `.qmd` in the standard code view, edit chunks, run cells.
- **Writers** open the same `.qmd`, switch to Visual Editor mode, get a
  Word-like surface with LTeX feedback and live preview.
- Both commit through the same GitHub flow.

Git-backed CMS tools like Decap *would* work for pure prose, but cannot render
qmd code chunks, so they don't fit a workflow where prose and code coexist.

## Decision tree

1. **Stay on Codespaces** — if ops effort is the dominant concern, invest in
   Codespaces prebuilds + a published base image (mcanouil-style or your own
   GHCR image) and add LTeX. This gets you most of the wins without changing
   platforms.
2. **Move to Coder** — if startup speed and on-prem control matter and the
   team can run Terraform + Kubernetes/Docker. Same `devcontainer.json` flow,
   own infrastructure.
3. **Move to code-server** — lighter alternative to Coder if per-user
   persistent workspaces are acceptable instead of fresh-per-repo workspaces.
4. **Move to Posit Cloud** — only if the writer/editor UX gain from RStudio is
   judged worth losing VS Code + devcontainer.

## Sources

- [Coder code-server (VS Code in browser) — GitHub](https://github.com/coder/code-server)
- [8 Best Self-hosted Codespaces alternatives 2026 — SelfHostYourself](https://selfhostyourself.com/alternative-to/github-codespaces)
- [Coder vs Daytona for self-hosted devcontainers — Bunnyshell](https://www.bunnyshell.com/comparisons/daytona-alternatives/)
- [Open Source GitHub Codespaces Alternatives — devcontainer.community](https://devcontainer.community/20250304-gh-codespace-alternatives-pt2/)
- [Top 10 GitHub Codespaces Alternatives 2026 — Bunnyshell](https://www.bunnyshell.com/comparisons/github-codespaces-alternative/)
- [Gitpod vs. Codespaces vs. Coder vs. DevPod comparison — vCluster](https://www.vcluster.com/blog/comparing-coder-vs-codespaces-vs-gitpod-vs-devpod)
- [Positron + Quarto — Quarto docs](https://quarto.org/docs/tools/positron/)
- [Positron release notes (2026.03)](https://positron.posit.co/release-notes/release-2026-03.html)
- [Quarto Visual Editor in VS Code](https://quarto.org/docs/tools/vscode/visual-editor.html)
- [LanguageTool with Quarto setup discussion — quarto-cli](https://github.com/quarto-dev/quarto-cli/discussions/5822)
- [How to use GitHub Codespaces to simplify your Quarto workshops — Quarto blog](https://quarto.org/docs/blog/posts/2025-05-19-quarto-codespaces/)
- [Think Posit-ively about running R code — Swarthmore ITS](https://blogs.swarthmore.edu/its/2025/01/27/think-posit-ively-about-running-r-code/)
