Skip to content

U1: Scaffold Next.js, Convex, and test harness #1

@breadback00-dev

Description

@breadback00-dev

What is the work

Establish the root application foundation for Bristol Carousel: a TypeScript Next.js App Router app, Convex client wiring, and the initial Vitest, Convex test, Sharp-compatible Node test, and Playwright harnesses.

Planned areas:

  • package.json
  • app/layout.tsx
  • app/page.tsx
  • app/ConvexClientProvider.tsx
  • convex/
  • vitest.config.ts
  • playwright.config.ts
  • tests/e2e/

Why does it matter

The repo is currently documentation-only. Every later unit depends on having a working app shell, Convex integration, and reliable test commands before product behavior can be added safely.

What does done mean

  • A root Next.js App Router app exists and renders locally.
  • Convex is wired for client-side studio components.
  • Vitest, Convex testing, Sharp-compatible Node tests, and Playwright are configured.
  • The root page links into the studio entry point.
  • README development setup is updated enough for another contributor to run the app.

Acceptance criteria

  • Root page renders without product features implemented.
  • Studio route is reachable from the root page.
  • Convex provider is available to client components.
  • Test harnesses can run at least one smoke test in each configured layer.
  • No local secrets or generated .env files are committed.

Blockers

None.

What can make this fail

  • Scaffolding creates a nested app structure that complicates Vercel deployment.
  • Convex setup requires local secrets that accidentally leak into git.
  • Test tools are installed but not actually runnable in the same project shape.
  • Sharp-compatible testing is skipped, creating later surprises when SVG export work starts.

How should Codex verify it

  • Run the project’s install/build/lint/test commands once they exist.
  • Run the initial Vitest suite.
  • Run the initial Convex test/smoke path.
  • Run Playwright against the root page and studio route.
  • Check git status for generated secrets or duplicate/empty files.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions