Skip to content

Bootstrap CodePress Live Dev Server recipe + dev Dockerfiles - #10

Draft
lightninglu10 wants to merge 1 commit into
mainfrom
codepress/bootstrap/dev-server/723bb63eb27b4e2a
Draft

Bootstrap CodePress Live Dev Server recipe + dev Dockerfiles#10
lightninglu10 wants to merge 1 commit into
mainfrom
codepress/bootstrap/dev-server/723bb63eb27b4e2a

Conversation

@lightninglu10

Copy link
Copy Markdown

Summary

FreeCut now has the repository-owned setup needed for CodePress Live Dev Server previews. The editor can be started from a thin development image with the checked-out source and dependencies supplied at runtime, while the Vite server is configured to work through the hosted preview proxy with live HMR.

Technical details

Added the schema v1 root-frontend recipe for FreeCut's Vite+ app, using npm 11.8.0, npm install, port 5173, and procps. Added the managed Node 22 Bookworm dev Dockerfile using the public ECR mirror; it contains only the toolchain, runtime bind/HMR defaults, the package-manager setup, and npm run dev, with no source or app dependencies baked into the image.

Updated vite.config.ts with a CodePress-managed environment bridge for the preview base path, bind host, port, HMR client port, and HMR protocol, and enabled allowedHosts for the preview proxy. Discovery found no staging backend URL, same-repo backend API, or social-auth flow, so the recipe intentionally omits staging_backend_url and there are no CORS, env-prefill, or auth edits.

Changes

  • Add .codepress/dev-server/recipe.json for the root Vite frontend.
  • Add .codepress/dev-server/Dockerfile.web for the thin Live Dev Server image.
  • Wire Vite bind, base-path, and HMR settings to CodePress runtime environment variables.

Test plan

  • Parse .codepress/dev-server/recipe.json and confirm schema version 1, the root frontend entry, port 5173, procps, and the Dockerfile path.
  • Build the image from the repository root and confirm the Dockerfile contains no source/dependency COPY and starts with npm run dev.
  • Run the image with the checkout mounted at /app, then verify the dev server listens on 0.0.0.0:5173 and the hosted preview's HMR websocket uses the configured public protocol and port.
  • Set CODEPRESS_BASE_PATH to a non-root preview path and verify Vite serves asset URLs under the normalized base path.

Open items

  • This repo has no staging API declaration or deployable backend/CORS surface, so no staging URL or preview-CORS change was safe to add.
  • Dependencies were not mounted in the bootstrap worktree; the repository's normal runtime install and CI/image build should exercise the dev process.

Authors

Generated with CodePress · View the chat session

Co-authored-by: lightninglu10 <2453737+lightninglu10@users.noreply.github.com>
@lightninglu10 lightninglu10 self-assigned this Aug 20, 2026
@codepress-dev codepress-dev Bot added the cp:in-progress CodePress: still being worked on label Aug 20, 2026
lightninglu10 added a commit that referenced this pull request Aug 20, 2026
the integration branch could not be named codepress: refs/heads/codepress/
is already a directory in the ref namespace (PR #10's bootstrap branch), so
git rejects a ref at refs/heads/codepress outright.
lightninglu10 added a commit that referenced this pull request Aug 20, 2026
* chore(provenance): add reproducible FreeCut package baseline

* feat(editor): add CodePress command adapter boundary

* fix(editor): harden fractional frame adapter paths

* fix(editor): close adapter boundary review gaps

* feat(editor): add host-backed FreeCut surface

* fix(editor): guard host mode from audio skim persistence

* feat(package): publish host-backed editor surface

* chore(package): publish editor surface privately

* fix(package): keep private publish guard below quality threshold

* fix(package): gate publish on packed consumer smoke

* fix(package): keep consumer smoke outside root check

* Add caption commands and FreeCut caption UI (#3)

* add caption command and editor ui

* fix(editor): mount caption editor in production shell

* feat(editor): route captions through host surface

* fix(editor): preserve caption background opacity

* fix(release): fetch full history for editor surface publish (#6)

* fix(release): publish editor surface tarball as local file (#7)

* feat(editor): add host-backed transcript consumer

* fix(editor): keep host-visible sidebar tab across authoritative snapshots

Applying a transcript edit installs the authoritative snapshot, and the
host runtime reset the active sidebar tab to Media on every install.
That unmounted the transcript panel before it could show its applied
state or its inline revision-conflict error (the conflict only reached
the user through the host notify channel).

Preserve the active tab when host mode still shows it (media always,
text/transcript per capability and port), and keep resetting tabs host
mode does not expose. Cover the applied and conflict outcomes through
the real MediaSidebar path.

* publish the editor surface to public npm via trusted publishing

the package is MIT and built from a public repo, so routing it through a
private registry only bought a credential every consumer had to obtain.
0.3.0 is already on npmjs.org with the same bytes it had on github packages.

- publishConfig targets registry.npmjs.org with public access, and the
  packaging guard now enforces that instead of the opposite
- the release workflow authenticates with OIDC (id-token: write) rather than
  a GITHUB_TOKEN with packages: write, so there is no token to rotate, and
  publishes with --provenance
- it also runs on merges into the codepress integration branch, not just on
  release tags, and no-ops when the version is already published
- sync-upstream keeps main a clean mirror of walterlow/freecut and warns when
  the integration branch falls behind
- README drops the registry and token setup consumers no longer need

* point the publish and sync workflows at codepress-main

the integration branch could not be named codepress: refs/heads/codepress/
is already a directory in the ref namespace (PR #10's bootstrap branch), so
git rejects a ref at refs/heads/codepress outright.

* drop the stale github packages line from the surface readme

the rewrite left the old sentence directly above its replacement, so the
readme claimed both registries in consecutive lines.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cp:in-progress CodePress: still being worked on

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant