Skip to content

feat: add minimal Turborepo setup#633

Draft
anthonyshew wants to merge 1 commit into
srbhr:mainfrom
anthonyshew:feat/turborepo-setup
Draft

feat: add minimal Turborepo setup#633
anthonyshew wants to merge 1 commit into
srbhr:mainfrom
anthonyshew:feat/turborepo-setup

Conversation

@anthonyshew
Copy link
Copy Markdown

@anthonyshew anthonyshew commented Jan 22, 2026

Note

This is a starting point. The Turborepo configuration is correct, but some package scripts need fixes (the issues are easily visible when running tasks like pnpm lint or pnpm test).

Summary

  • Adds Turborepo for monorepo task orchestration
  • Enables parallel task execution and caching across apps/frontend and apps/backend
  • Uses pnpm workspaces

Files Added

File Purpose
package.json Root workspace config with turbo scripts
pnpm-workspace.yaml Defines workspace packages
turbo.json Task pipeline configuration
apps/backend/package.json Wrapper scripts to run Python tasks via uv
pnpm-lock.yaml Lockfile

Available Commands

pnpm dev              # Run both frontend + backend
pnpm dev:frontend     # Next.js only
pnpm dev:backend      # FastAPI only
pnpm build            # Build all packages
pnpm lint             # Lint all packages
pnpm test             # Test all packages

AI usage

Chat transcript: https://opncd.ai/share/sRUNDbK0


Summary by cubic

Adds a minimal Turborepo setup with pnpm workspaces to orchestrate tasks across frontend and backend. Lets you run, build, lint, and test apps together with parallel execution and shared caching.

  • New Features

    • Turborepo pipeline (turbo.json) for build, dev, lint, format, and test.
    • Root scripts to run tasks across the monorepo and per app via filters.
    • Workspace setup (.gitignore update, pnpm-workspace.yaml, lockfile).
    • Backend scripts use uv for FastAPI dev and pytest.
  • Migration

    • Requires pnpm 9.15.4.
    • Run pnpm install, then pnpm dev. Per app: pnpm dev:frontend or pnpm dev:backend.
    • Some package lint/test scripts need follow-up fixes; expect errors for those tasks.

Written for commit 84a34c0. Summary will update on new commits.

@anthonyshew anthonyshew marked this pull request as draft January 22, 2026 19:37
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 6 files

Prompt for AI agents (all issues)

Check if these issues are valid — if so, understand the root cause of each and fix them.


<file name="apps/backend/package.json">

<violation number="1" location="apps/backend/package.json:8">
P2: Backend lint script is a no-op placeholder, so monorepo linting will pass without linting the backend.</violation>
</file>

Since this is your first cubic review, here's how it works:

  • cubic automatically reviews your code and comments on bugs and improvements
  • Teach cubic by replying to its comments. cubic learns from your replies and gets better over time
  • Ask questions if you need clarification on any suggestion

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

Comment thread apps/backend/package.json
"scripts": {
"dev": "uv run uvicorn app.main:app --reload --host 0.0.0.0 --port 8000",
"build": "echo 'No build step for Python backend'",
"lint": "echo 'Use ruff or pylint directly'",
Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai Bot Jan 22, 2026

Choose a reason for hiding this comment

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

P2: Backend lint script is a no-op placeholder, so monorepo linting will pass without linting the backend.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At apps/backend/package.json, line 8:

<comment>Backend lint script is a no-op placeholder, so monorepo linting will pass without linting the backend.</comment>

<file context>
@@ -0,0 +1,11 @@
+  "scripts": {
+    "dev": "uv run uvicorn app.main:app --reload --host 0.0.0.0 --port 8000",
+    "build": "echo 'No build step for Python backend'",
+    "lint": "echo 'Use ruff or pylint directly'",
+    "test": "uv run pytest"
+  }
</file context>
Fix with Cubic

@srbhr
Copy link
Copy Markdown
Owner

srbhr commented Jan 22, 2026

Hey @anthonyshew I'm using npm on this project right now. Also, right now, there's another PR that fixes some issues on the front-end.

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.

2 participants