Repository navigation
Conversation
Adds .devcontainer/dev/devcontainer.json: the toolchains (uv-managed Python, Node 22.22 with Corepack, Rust stable with protoc) and project dependencies installed, Docker-in-Docker available, and nothing started until asked. The demo stays the default configuration. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: true
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #593: review that first. This PR's base is
reitblatt/codespaces-ux, so the diff shows only the dev configuration.Summary
Adds a second devcontainer configuration, Osprey development (
.devcontainer/dev/devcontainer.json), for working on Osprey's code in Codespaces or locally. The demo from #593 stays the default, so the README badge and the plain Create codespace button still open the demo..python-version, installed by uv), uv, Node 22.22 with Corepack 0.33.0 (the versions CI uses), Rust stable withprotoc, and Docker-in-Docker.updateContentCommandrunsuv sync --dev,pnpm install --frozen-lockfileandpre-commit install --install-hooks, so a prebuild would include them.postAttachCommandprints how to start things:bash .devcontainer/scripts/start.shbrings up the demo's stack and test data../run-tests.shruns the integration tests.pnpm startruns the UI dev server. The container setsREACT_APP_API_BASE_URL=/api, so it works through Codespaces' forwarded port.https://codespaces.new/roostorg/osprey?devcontainer_path=.devcontainer/dev/devcontainer.json(a badge for it is indocs/development/codespaces.md). Locally:npx @devcontainers/cli up --workspace-folder . --config .devcontainer/dev/devcontainer.json..devcontainer/README.md, the "For engineers" section ofdocs/development/codespaces.md, a pointer fromdocs/development/local.md, and the CLI line in AGENTS.md.There's no CHANGELOG entry, because it's development tooling and doesn't affect deployments.
Testing
Built from a fresh clone of this branch with
@devcontainers/cli@0.80.2in the Coder workspace. I didn't create a real Codespace.osprey_ui/), cargo 1.99.1 with rustfmt and clippy, libprotoc 3.21.12. The pre-commit hook was installed.uv run ruff check,pnpm run typecheckandcargo fmt --checkall pass.bash .devcontainer/scripts/start.shbrought up the full stack with fresh events in 97 s, pulling and building images on demand.osprey-uicontainer stopped,pnpm startserved the UI on 5002 and proxied/api/configto the API.Known quirk: running
pnpmfrom the repo root (outsideosprey_ui/) fails. Outside a project, Corepack picks the latest pnpm (12.x), which Corepack 0.33.0 can't run. A laptop with CI's Corepack version does the same. Every pnpm command in the docs runs inosprey_ui/, where thepackageManagerpin applies.Approval items
New third-party devcontainer features (dependencies), from the same source and license as the Docker-in-Docker feature approved on #593:
ghcr.io/devcontainers/features/node:1ghcr.io/devcontainers/features/rust:1Set up by
install-tools.sh, not as features:setup-uvinstalls.protobuf-compiler, from Ubuntu's apt repository (BSD-3-Clause). CI installs it the same way.The VS Code extensions it recommends (Python, Ruff, ESLint, Prettier) are editor suggestions, not project dependencies.
Dependabot: #593's
devcontainersentry (directory: "/") should also pick up.devcontainer/dev/devcontainer.json, since Dependabot looks in.devcontainer/<folder>/too. Its first run after merge will confirm that.Prebuilds
If you set up the demo prebuild recommended on #593, this configuration needs its own prebuild if you want one. Codespaces sets up prebuilds per configuration file.
🤖 Generated with Claude Code