Add shared QueerGlobal Cloud Agent environment (queerglobal.com) - #7
Open
mnyon-grandkru wants to merge 1 commit into
Open
mnyon-grandkru wants to merge 1 commit into
mnyon-grandkru wants to merge 1 commit into
Conversation
Introduce a shared universal base image (Go 1.22.5 + Node 20 + Python 3 + Docker + common CLI tooling) at .cursor/Dockerfile, reused across the org, and wire queerglobal.com's .cursor/environment.json to serve the static site via python http.server on port 8000. Co-authored-by: Mark Nyon <mnyon-grandkru@users.noreply.github.com>
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.
What
Adds a Cloud Agent development environment for
queerglobal.com, built on a shared universal base image intended to be reused across every repo in the QueerGlobal org..cursor/Dockerfile— shared base image: Ubuntu 24.04 with Go 1.22.5, Node 20, Python 3.12, Docker CLI + Compose, and common CLI tooling (git,make,jq,shellcheck,golangci-lint 1.59.1, etc.). Language runtimes/toolchains live here so any repo in the org can start from an identical base..cursor/environment.json— uses that image and serves the static site viapython3 -m http.server 8000(exposed on port 8000). Nothing to build for this repo; the toolchain is shared for org consistency.Why a shared image
The org spans several stacks (Go services, a React/TS frontend, this static site, an OpenAPI/mock artwork API, docs). A single base image gives every repo the same reproducible toolchain; each repo layers its own
install/terminalson top. Versions are pinned to what the repos already use (e.g. Go 1.22.5 matcheshub-frameworkandgo-jsonschema/.tool-versions;golangci-lint 1.59.1matchesgo-jsonschema/.tool-versions).Validation
Because this is a custom Dockerfile (repo-managed) environment, it was validated by building the image with Docker and exercising it end to end:
docker buildof.cursor/Dockerfilequeerglobal.comserved from image (python3 -m http.server 8000)/,/aboutus/,/blog/,/contactus/,/donations/,/resources/, CSS + PNG assets all HTTP 200qg-config-go(go build ./...+go vet) in imagehub-framework(go build ./...) in imageqg-frontend-v2(npm ci+CI=true npm run build) in imageNODE_OPTIONS=--openssl-legacy-providerfor its legacyreact-scripts, set in that repo's own config)Homepage rendered from the local server:
QueerGlobal homepage rendered from the local Cloud Agent environment
Rollout
This PR sets up
queerglobal.comonly. The same.cursor/Dockerfileis meant to be copied into each other org repo, paired with a repo-specific.cursor/environment.json(e.g.npm ci+ dev server forqg-frontend-v2;go build/go testfor the Go repos; dockerized mock forqg-artwork-api). Those will land as separate PRs from per-repo Cloud Agent runs.Note
Repo-managed
.cursor/environment.jsonis the highest-precedence environment source, so merging this PR is what activates the environment for future Cloud Agents on this repo — there is no separate dashboard "Save" step for this style of setup.To show artifacts inline, enable in settings.