Skip to content

Add pinned devcontainer templates with persisted rebuild state#22

Merged
PabloZaiden merged 4 commits into
mainfrom
add-devcontainer-template-catalog-with-t-0ed64f1
Apr 23, 2026
Merged

Add pinned devcontainer templates with persisted rebuild state#22
PabloZaiden merged 4 commits into
mainfrom
add-devcontainer-template-catalog-with-t-0ed64f1

Conversation

@PabloZaiden
Copy link
Copy Markdown
Owner

Summary

  • Add pinned devcontainer templates with persisted rebuild state

Changes

  • 11 files changed
  • 693 insertions
  • 71 deletions

Files

  • README.md (modified) (+25 / -2)
  • src/arise.ts (modified) (+1 / -1)
  • src/cli.ts (modified) (+47 / -18)
  • src/constants.ts (modified) (+1 / -1)
  • src/core.ts (modified) (+256 / -7)
  • src/status.ts (modified) (+53 / -22)
  • src/templates.ts (added) (+187)
  • tests/arise.test.ts (modified) (+3 / -1)

Branches

  • Base: main
  • Head: add-devcontainer-template-catalog-with-t-0ed64f1

Copilot AI review requested due to automatic review settings April 23, 2026 12:23
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds a built-in devcontainer template catalog and updates workspace state persistence so that rebuilds can reuse the previously selected configuration source (repo vs template).

Changes:

  • Introduces devbox templates and devbox up --template <name> for selecting pinned built-in devcontainer templates.
  • Extends workspace state (STATE_VERSION 2) to persist configSource and optional template details/config for rebuild.
  • Updates status output and tests to reflect template/source metadata and the new persisted state behavior.

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
README.md Documents --template, templates, and rebuild behavior with persisted config source.
src/arise.ts Allows stored sourceConfigPath to be nullable (template-backed workspaces).
src/cli.ts Adds templates command and routes up/rebuild through resolveWorkspaceConfig; keeps state on down.
src/constants.ts Bumps STATE_VERSION to 2.
src/core.ts Adds template-related state/types, CLI arg parsing for --template, and resolveWorkspaceConfig.
src/status.ts Exposes config source/template metadata in status; reads config hints from template config when applicable.
src/templates.ts Adds built-in template catalog and listing/lookup helpers.
tests/arise.test.ts Updates expected workspace state shape/version.
tests/core.test.ts Adds/updates arg parsing tests for templates and --template validation.
tests/examples.test.ts Adds an example test for template-backed workspaces and updates state persistence expectations.
tests/status.test.ts Updates expected workspace state shape/version for status scenarios.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/templates.ts Outdated
Comment thread src/core.ts
Comment thread src/core.ts Outdated
Comment thread src/core.ts
Make Bun use the pinned oven/bun image, remove stale v1 error text,
and keep rebuilds on the saved template source instead of later repo
devcontainer discovery.
@PabloZaiden PabloZaiden enabled auto-merge (squash) April 23, 2026 12:56
@PabloZaiden PabloZaiden merged commit ee37ead into main Apr 23, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants