Skip to content

feat: add GitHub Codespaces dev container#1807

Open
dsnsgithub wants to merge 8 commits into
mainfrom
claude/setup-codespaces-dev-env-2GVjz
Open

feat: add GitHub Codespaces dev container#1807
dsnsgithub wants to merge 8 commits into
mainfrom
claude/setup-codespaces-dev-env-2GVjz

Conversation

@dsnsgithub
Copy link
Copy Markdown
Member

@dsnsgithub dsnsgithub commented May 18, 2026

Summary

Create an easy way to use Github Codespaces, which will make it easier for new developers to start working on AntAlmanac (and fix any machine-specific environment problems).

image image

Test Plan

  • Create a new GitHub Codespaces (instructions in README.md of this branch)
  • Make sure that this branch is selected under "Dev container configuration" (only needed until this PR is merged)
  • Wait a few minutes for the development environment to be created
  • Run pnpm dev in the terminal.

claude added 2 commits May 18, 2026 08:06
Adds .devcontainer/ configuration so new contributors can spin up a
fully-configured AntAlmanac dev environment in Codespaces. The
post-create script installs pnpm dependencies, seeds .env files from
the provided examples, starts the local Postgres via docker compose,
runs migrations, and fetches the static course data.
Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

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

1 issue found across 3 files

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread .devcontainer/post-create.sh
The readiness loop previously broke only on success, so a database that
never came up would silently fall through to db:migrate and emit a
confusing migration error. Track the ready state explicitly, print
actionable recovery steps, and exit before the dependent steps run when
the wait times out.

Co-authored-by: Dominic Seung <dominic@seung.dev>
Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

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

No issues found across 3 files

Re-trigger cubic

Copy link
Copy Markdown
Contributor

@calebwongg calebwongg left a comment

Choose a reason for hiding this comment

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

not the most versed in shell script but everything looks good to me after we delete the tailwind extension. lowkey my codespaces takes like 10 minutes to start up but it should be just because codespaces itself is heavy. hopefully this motivates more open source contributers🤞🤞

Comment thread .devcontainer/devcontainer.json Outdated
AntAlmanac doesn't use Tailwind (MUI only); the lone match was a
comment in Theme.tsx referencing Tailwind's breakpoint scale.
@dsnsgithub
Copy link
Copy Markdown
Member Author

dsnsgithub commented May 23, 2026

not the most versed in shell script but everything looks good to me after we delete the tailwind extension. lowkey my codespaces takes like 10 minutes to start up but it should be just because codespaces itself is heavy. hopefully this motivates more open source contributers🤞🤞

In my testing, most of the startup time is spent waiting for pnpm --filter antalmanac get-data to finish.

The dev container can also be used locally as long as you have Docker installed if GitHub codespaces doesn't offer enough performance.

If #1848 is merged, it might be able to speed up codespace creation.
We could also prebuild the codespace with GitHub Actions, but that would be more involved.

Copy link
Copy Markdown
Contributor

@calebwongg calebwongg left a comment

Choose a reason for hiding this comment

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

It just occurred to me that users are still going to have to generate their own aapi key and their own better auth secret. So they still will have to do slight config for their environment, which I suppose takes away a little from the point of codespaces. I guess theres nothing we can really do about it because we don't want to globalize a key. Aside from that though codespaces does resolve other onboarding conflicts. So lgtm

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.

3 participants