@glxmart/boss-cli 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -1
- package/assets/claude-md/docs/conductor.md +139 -0
- package/assets/claude-md/docs/initialization.md +2 -2
- package/assets/claude-md/docs/workers.md +33 -54
- package/assets/claude-md/docs/workflow.md +23 -59
- package/assets/claude-md/template.md +198 -756
- package/assets/git-hooks/commit-msg.sh +4 -8
- package/assets/git-hooks/pre-commit.sh +0 -4
- package/assets/git-hooks/pre-push.sh +21 -0
- package/assets/github-workflows/CODEOWNERS +21 -2
- package/assets/github-workflows/boss-ci.yml +163 -23
- package/assets/github-workflows/boss-gates.yml +100 -13
- package/assets/template-docs/nextjs-app-turbo.md +412 -61
- package/assets/worker-configs/architect/.claude/skills/conductor-orchestration.md +635 -0
- package/assets/worker-configs/architect/.claude/skills/spec-kit-workflow.md +827 -0
- package/assets/worker-configs/architect/CLAUDE.md +99 -38
- package/assets/worker-configs/clarifier/.claude/skills/conductor-orchestration.md +635 -0
- package/assets/worker-configs/clarifier/.claude/skills/spec-kit-workflow.md +827 -0
- package/assets/worker-configs/clarifier/CLAUDE.md +81 -40
- package/assets/worker-configs/code-reviewer/.claude/skills/nextjs-turbo-stack.md +1017 -0
- package/assets/worker-configs/code-reviewer/.claude/skills/spec-kit-workflow.md +827 -0
- package/assets/worker-configs/code-reviewer/.claude/skills/test-first-methodology.md +745 -0
- package/assets/worker-configs/code-reviewer/CLAUDE.md +85 -79
- package/assets/worker-configs/consolidator/.claude/skills/conductor-orchestration.md +635 -0
- package/assets/worker-configs/consolidator/.claude/skills/spec-kit-workflow.md +827 -0
- package/assets/worker-configs/consolidator/CLAUDE.md +94 -88
- package/assets/worker-configs/developer-backend/.claude/skills/nextjs-turbo-stack.md +1017 -0
- package/assets/worker-configs/developer-backend/.claude/skills/spec-kit-workflow.md +827 -0
- package/assets/worker-configs/developer-backend/.claude/skills/test-first-methodology.md +745 -0
- package/assets/worker-configs/developer-backend/CLAUDE.md +156 -56
- package/assets/worker-configs/developer-frontend/.claude/skills/nextjs-turbo-stack.md +1017 -0
- package/assets/worker-configs/developer-frontend/.claude/skills/spec-kit-workflow.md +827 -0
- package/assets/worker-configs/developer-frontend/.claude/skills/test-first-methodology.md +745 -0
- package/assets/worker-configs/developer-frontend/CLAUDE.md +152 -54
- package/assets/worker-configs/developer-fullstack/.claude/skills/nextjs-turbo-stack.md +1017 -0
- package/assets/worker-configs/developer-fullstack/.claude/skills/spec-kit-workflow.md +827 -0
- package/assets/worker-configs/developer-fullstack/.claude/skills/test-first-methodology.md +745 -0
- package/assets/worker-configs/developer-fullstack/CLAUDE.md +155 -57
- package/assets/worker-configs/devops-engineer/.claude/skills/infrastructure-as-code.md +794 -0
- package/assets/worker-configs/devops-engineer/.claude/skills/spec-kit-workflow.md +827 -0
- package/assets/worker-configs/devops-engineer/CLAUDE.md +92 -85
- package/assets/worker-configs/planner/.claude/skills/conductor-orchestration.md +635 -0
- package/assets/worker-configs/planner/.claude/skills/spec-kit-workflow.md +827 -0
- package/assets/worker-configs/planner/CLAUDE.md +143 -46
- package/assets/worker-configs/product-owner/CLAUDE.md +72 -82
- package/assets/worker-configs/reviewer/.claude/skills/conductor-orchestration.md +635 -0
- package/assets/worker-configs/reviewer/.claude/skills/spec-kit-workflow.md +827 -0
- package/assets/worker-configs/reviewer/CLAUDE.md +108 -50
- package/assets/worker-configs/security-engineer/.claude/skills/spec-kit-workflow.md +827 -0
- package/assets/worker-configs/security-engineer/CLAUDE.md +83 -83
- package/assets/worker-configs/spec-writer/.claude/skills/conductor-orchestration.md +635 -0
- package/assets/worker-configs/spec-writer/.claude/skills/spec-kit-workflow.md +827 -0
- package/assets/worker-configs/spec-writer/CLAUDE.md +107 -48
- package/assets/worker-configs/technical-writer/.claude/skills/nextjs-turbo-stack.md +1017 -0
- package/assets/worker-configs/technical-writer/.claude/skills/spec-kit-workflow.md +827 -0
- package/assets/worker-configs/technical-writer/CLAUDE.md +91 -81
- package/assets/worker-configs/tester/.claude/skills/nextjs-turbo-stack.md +1017 -0
- package/assets/worker-configs/tester/.claude/skills/spec-kit-workflow.md +827 -0
- package/assets/worker-configs/tester/.claude/skills/test-first-methodology.md +745 -0
- package/assets/worker-configs/tester/CLAUDE.md +141 -52
- package/dist/assets/claude-md/docs/conductor.md +139 -0
- package/dist/assets/claude-md/docs/initialization.md +2 -2
- package/dist/assets/claude-md/docs/workers.md +33 -54
- package/dist/assets/claude-md/docs/workflow.md +23 -59
- package/dist/assets/claude-md/template.md +198 -756
- package/dist/assets/git-hooks/commit-msg.sh +4 -8
- package/dist/assets/git-hooks/pre-commit.sh +0 -4
- package/dist/assets/git-hooks/pre-push.sh +21 -0
- package/dist/assets/github-workflows/CODEOWNERS +21 -2
- package/dist/assets/github-workflows/boss-ci.yml +163 -23
- package/dist/assets/github-workflows/boss-gates.yml +100 -13
- package/dist/assets/template-docs/nextjs-app-turbo.md +412 -61
- package/dist/assets/worker-configs/architect/.claude/skills/conductor-orchestration.md +635 -0
- package/dist/assets/worker-configs/architect/.claude/skills/spec-kit-workflow.md +827 -0
- package/dist/assets/worker-configs/architect/CLAUDE.md +99 -38
- package/dist/assets/worker-configs/clarifier/.claude/skills/conductor-orchestration.md +635 -0
- package/dist/assets/worker-configs/clarifier/.claude/skills/spec-kit-workflow.md +827 -0
- package/dist/assets/worker-configs/clarifier/CLAUDE.md +81 -40
- package/dist/assets/worker-configs/code-reviewer/.claude/skills/nextjs-turbo-stack.md +1017 -0
- package/dist/assets/worker-configs/code-reviewer/.claude/skills/spec-kit-workflow.md +827 -0
- package/dist/assets/worker-configs/code-reviewer/.claude/skills/test-first-methodology.md +745 -0
- package/dist/assets/worker-configs/code-reviewer/CLAUDE.md +85 -79
- package/dist/assets/worker-configs/consolidator/.claude/skills/conductor-orchestration.md +635 -0
- package/dist/assets/worker-configs/consolidator/.claude/skills/spec-kit-workflow.md +827 -0
- package/dist/assets/worker-configs/consolidator/CLAUDE.md +94 -88
- package/dist/assets/worker-configs/developer-backend/.claude/skills/nextjs-turbo-stack.md +1017 -0
- package/dist/assets/worker-configs/developer-backend/.claude/skills/spec-kit-workflow.md +827 -0
- package/dist/assets/worker-configs/developer-backend/.claude/skills/test-first-methodology.md +745 -0
- package/dist/assets/worker-configs/developer-backend/CLAUDE.md +156 -56
- package/dist/assets/worker-configs/developer-frontend/.claude/skills/nextjs-turbo-stack.md +1017 -0
- package/dist/assets/worker-configs/developer-frontend/.claude/skills/spec-kit-workflow.md +827 -0
- package/dist/assets/worker-configs/developer-frontend/.claude/skills/test-first-methodology.md +745 -0
- package/dist/assets/worker-configs/developer-frontend/CLAUDE.md +152 -54
- package/dist/assets/worker-configs/developer-fullstack/.claude/skills/nextjs-turbo-stack.md +1017 -0
- package/dist/assets/worker-configs/developer-fullstack/.claude/skills/spec-kit-workflow.md +827 -0
- package/dist/assets/worker-configs/developer-fullstack/.claude/skills/test-first-methodology.md +745 -0
- package/dist/assets/worker-configs/developer-fullstack/CLAUDE.md +155 -57
- package/dist/assets/worker-configs/devops-engineer/.claude/skills/infrastructure-as-code.md +794 -0
- package/dist/assets/worker-configs/devops-engineer/.claude/skills/spec-kit-workflow.md +827 -0
- package/dist/assets/worker-configs/devops-engineer/CLAUDE.md +92 -85
- package/dist/assets/worker-configs/planner/.claude/skills/conductor-orchestration.md +635 -0
- package/dist/assets/worker-configs/planner/.claude/skills/spec-kit-workflow.md +827 -0
- package/dist/assets/worker-configs/planner/CLAUDE.md +143 -46
- package/dist/assets/worker-configs/product-owner/CLAUDE.md +72 -82
- package/dist/assets/worker-configs/reviewer/.claude/skills/conductor-orchestration.md +635 -0
- package/dist/assets/worker-configs/reviewer/.claude/skills/spec-kit-workflow.md +827 -0
- package/dist/assets/worker-configs/reviewer/CLAUDE.md +108 -50
- package/dist/assets/worker-configs/security-engineer/.claude/skills/spec-kit-workflow.md +827 -0
- package/dist/assets/worker-configs/security-engineer/CLAUDE.md +83 -83
- package/dist/assets/worker-configs/spec-writer/.claude/skills/conductor-orchestration.md +635 -0
- package/dist/assets/worker-configs/spec-writer/.claude/skills/spec-kit-workflow.md +827 -0
- package/dist/assets/worker-configs/spec-writer/CLAUDE.md +107 -48
- package/dist/assets/worker-configs/technical-writer/.claude/skills/nextjs-turbo-stack.md +1017 -0
- package/dist/assets/worker-configs/technical-writer/.claude/skills/spec-kit-workflow.md +827 -0
- package/dist/assets/worker-configs/technical-writer/CLAUDE.md +91 -81
- package/dist/assets/worker-configs/tester/.claude/skills/nextjs-turbo-stack.md +1017 -0
- package/dist/assets/worker-configs/tester/.claude/skills/spec-kit-workflow.md +827 -0
- package/dist/assets/worker-configs/tester/.claude/skills/test-first-methodology.md +745 -0
- package/dist/assets/worker-configs/tester/CLAUDE.md +141 -52
- package/dist/commands/__tests__/bootstrap.test.js +51 -51
- package/dist/commands/__tests__/bootstrap.test.js.map +1 -1
- package/dist/commands/bootstrap.d.ts.map +1 -1
- package/dist/commands/bootstrap.js +19 -15
- package/dist/commands/bootstrap.js.map +1 -1
- package/dist/commands/doctor.js +33 -9
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/templates.d.ts +1 -1
- package/dist/commands/templates.d.ts.map +1 -1
- package/dist/commands/templates.js +1 -1
- package/dist/commands/templates.js.map +1 -1
- package/dist/constants.d.ts +2 -2
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +1 -1
- package/dist/constants.js.map +1 -1
- package/dist/generators/__tests__/boss-config.test.js +4 -4
- package/dist/generators/__tests__/boss-config.test.js.map +1 -1
- package/dist/generators/__tests__/claude-folder.test.js +8 -8
- package/dist/generators/__tests__/claude-folder.test.js.map +1 -1
- package/dist/generators/__tests__/claude-md.test.js +25 -16
- package/dist/generators/__tests__/claude-md.test.js.map +1 -1
- package/dist/generators/__tests__/container-use-config.test.js +2 -2
- package/dist/generators/__tests__/container-use-config.test.js.map +1 -1
- package/dist/generators/__tests__/git-hooks.test.js.map +1 -1
- package/dist/generators/__tests__/github-workflows.test.js +10 -6
- package/dist/generators/__tests__/github-workflows.test.js.map +1 -1
- package/dist/generators/__tests__/mcp-config.test.js +6 -6
- package/dist/generators/__tests__/project-structure.test.js +2 -2
- package/dist/generators/__tests__/quality-gates.test.js +11 -3
- package/dist/generators/__tests__/quality-gates.test.js.map +1 -1
- package/dist/generators/__tests__/specify-structure.test.js +1 -1
- package/dist/generators/__tests__/specify-structure.test.js.map +1 -1
- package/dist/generators/__tests__/template-docs.test.js +1 -1
- package/dist/generators/__tests__/template-docs.test.js.map +1 -1
- package/dist/generators/__tests__/template-loader.test.js +209 -59
- package/dist/generators/__tests__/template-loader.test.js.map +1 -1
- package/dist/generators/__tests__/worker-configs.test.js +7 -7
- package/dist/generators/boss-config.d.ts.map +1 -1
- package/dist/generators/boss-config.js +46 -51
- package/dist/generators/boss-config.js.map +1 -1
- package/dist/generators/claude-folder.d.ts +1 -1
- package/dist/generators/claude-folder.d.ts.map +1 -1
- package/dist/generators/claude-folder.js +5 -5
- package/dist/generators/claude-folder.js.map +1 -1
- package/dist/generators/claude-md.d.ts.map +1 -1
- package/dist/generators/claude-md.js +83 -42
- package/dist/generators/claude-md.js.map +1 -1
- package/dist/generators/container-use-config.d.ts.map +1 -1
- package/dist/generators/container-use-config.js +5 -7
- package/dist/generators/container-use-config.js.map +1 -1
- package/dist/generators/docker-compose.d.ts.map +1 -1
- package/dist/generators/docker-compose.js.map +1 -1
- package/dist/generators/git-hooks.d.ts.map +1 -1
- package/dist/generators/git-hooks.js +2 -2
- package/dist/generators/git-hooks.js.map +1 -1
- package/dist/generators/github-workflows.js +3 -3
- package/dist/generators/github-workflows.js.map +1 -1
- package/dist/generators/mcp-config.d.ts.map +1 -1
- package/dist/generators/mcp-config.js +18 -16
- package/dist/generators/mcp-config.js.map +1 -1
- package/dist/generators/project-structure.d.ts +1 -1
- package/dist/generators/project-structure.d.ts.map +1 -1
- package/dist/generators/project-structure.js +2 -2
- package/dist/generators/project-structure.js.map +1 -1
- package/dist/generators/quality-gates.d.ts.map +1 -1
- package/dist/generators/quality-gates.js +13 -5
- package/dist/generators/quality-gates.js.map +1 -1
- package/dist/generators/specify-structure.d.ts.map +1 -1
- package/dist/generators/specify-structure.js +1 -2
- package/dist/generators/specify-structure.js.map +1 -1
- package/dist/generators/template-docs.js +2 -2
- package/dist/generators/template-docs.js.map +1 -1
- package/dist/generators/template-loader.d.ts.map +1 -1
- package/dist/generators/template-loader.js +256 -143
- package/dist/generators/template-loader.js.map +1 -1
- package/dist/generators/worker-configs.d.ts.map +1 -1
- package/dist/generators/worker-configs.js +7 -5
- package/dist/generators/worker-configs.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/presets/__tests__/quality-presets.test.js +9 -5
- package/dist/presets/__tests__/quality-presets.test.js.map +1 -1
- package/dist/presets/quality-presets.d.ts.map +1 -1
- package/dist/presets/quality-presets.js +11 -11
- package/dist/presets/quality-presets.js.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/internal.d.ts +69 -0
- package/dist/types/internal.d.ts.map +1 -0
- package/dist/types/internal.js +4 -0
- package/dist/types/internal.js.map +1 -0
- package/dist/utils/__tests__/file-system.test.js +1 -1
- package/dist/utils/__tests__/file-system.test.js.map +1 -1
- package/dist/utils/__tests__/git.test.js.map +1 -1
- package/dist/utils/__tests__/template-loader.test.js.map +1 -1
- package/dist/utils/__tests__/validators.test.js +1 -1
- package/dist/utils/__tests__/validators.test.js.map +1 -1
- package/dist/utils/file-system.d.ts.map +1 -1
- package/dist/utils/file-system.js +1 -4
- package/dist/utils/file-system.js.map +1 -1
- package/dist/utils/git.d.ts.map +1 -1
- package/dist/utils/git.js +17 -11
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/prompts.d.ts.map +1 -1
- package/dist/utils/prompts.js +51 -39
- package/dist/utils/prompts.js.map +1 -1
- package/dist/utils/template-loader.d.ts +2 -1
- package/dist/utils/template-loader.d.ts.map +1 -1
- package/dist/utils/template-loader.js +11 -5
- package/dist/utils/template-loader.js.map +1 -1
- package/dist/utils/validators.d.ts.map +1 -1
- package/dist/utils/validators.js +16 -4
- package/dist/utils/validators.js.map +1 -1
- package/package.json +2 -2
- package/templates/nextjs-turbo-monorepo/base/README.md +167 -0
- package/templates/nextjs-turbo-monorepo/base/_gitignore +71 -0
- package/templates/nextjs-turbo-monorepo/base/_npmrc +12 -0
- package/templates/nextjs-turbo-monorepo/base/apps/admin/app/layout.tsx +19 -0
- package/templates/nextjs-turbo-monorepo/base/apps/admin/app/page.tsx +34 -0
- package/templates/nextjs-turbo-monorepo/base/apps/admin/next.config.ts +20 -0
- package/templates/nextjs-turbo-monorepo/base/apps/admin/package.json +42 -0
- package/templates/nextjs-turbo-monorepo/base/apps/admin/tsconfig.json +21 -0
- package/templates/nextjs-turbo-monorepo/base/apps/web/app/globals.css +59 -0
- package/templates/nextjs-turbo-monorepo/base/apps/web/app/layout.tsx +20 -0
- package/templates/nextjs-turbo-monorepo/base/apps/web/app/page.tsx +17 -0
- package/templates/nextjs-turbo-monorepo/base/apps/web/components.json +18 -0
- package/templates/nextjs-turbo-monorepo/base/apps/web/env.ts +45 -0
- package/templates/nextjs-turbo-monorepo/base/apps/web/next.config.ts +38 -0
- package/templates/nextjs-turbo-monorepo/base/apps/web/package.json +45 -0
- package/templates/nextjs-turbo-monorepo/base/apps/web/tsconfig.json +24 -0
- package/templates/nextjs-turbo-monorepo/base/apps/web/vitest.config.ts +28 -0
- package/templates/nextjs-turbo-monorepo/base/docker/Dockerfile.admin +76 -0
- package/templates/nextjs-turbo-monorepo/base/docker/Dockerfile.web +76 -0
- package/templates/nextjs-turbo-monorepo/base/docker/_dockerignore +48 -0
- package/templates/nextjs-turbo-monorepo/base/docker/docker-compose.yml +39 -0
- package/templates/nextjs-turbo-monorepo/base/package.json +62 -0
- package/templates/nextjs-turbo-monorepo/base/packages/auth/package.json +26 -0
- package/templates/nextjs-turbo-monorepo/base/packages/auth/src/config.ts +88 -0
- package/templates/nextjs-turbo-monorepo/base/packages/auth/src/index.ts +8 -0
- package/templates/nextjs-turbo-monorepo/base/packages/auth/tsconfig.json +9 -0
- package/templates/nextjs-turbo-monorepo/base/packages/config/eslint/library.js +35 -0
- package/templates/nextjs-turbo-monorepo/base/packages/config/eslint/nextjs.js +51 -0
- package/templates/nextjs-turbo-monorepo/base/packages/config/eslint/react-library.js +45 -0
- package/templates/nextjs-turbo-monorepo/base/packages/config/package.json +19 -0
- package/templates/nextjs-turbo-monorepo/base/packages/config/tailwind/base.ts +50 -0
- package/templates/nextjs-turbo-monorepo/base/packages/config/typescript/base.json +23 -0
- package/templates/nextjs-turbo-monorepo/base/packages/config/typescript/nextjs.json +17 -0
- package/templates/nextjs-turbo-monorepo/base/packages/config/typescript/react-library.json +13 -0
- package/templates/nextjs-turbo-monorepo/base/packages/database/package.json +32 -0
- package/templates/nextjs-turbo-monorepo/base/packages/database/prisma/schema.prisma +85 -0
- package/templates/nextjs-turbo-monorepo/base/packages/database/src/client.ts +16 -0
- package/templates/nextjs-turbo-monorepo/base/packages/database/src/index.ts +2 -0
- package/templates/nextjs-turbo-monorepo/base/packages/database/tsconfig.json +9 -0
- package/templates/nextjs-turbo-monorepo/base/packages/trpc/package.json +32 -0
- package/templates/nextjs-turbo-monorepo/base/packages/trpc/src/context.ts +17 -0
- package/templates/nextjs-turbo-monorepo/base/packages/trpc/src/init.ts +34 -0
- package/templates/nextjs-turbo-monorepo/base/packages/trpc/src/routers/_app.ts +8 -0
- package/templates/nextjs-turbo-monorepo/base/packages/trpc/src/routers/user.ts +36 -0
- package/templates/nextjs-turbo-monorepo/base/packages/trpc/tsconfig.json +9 -0
- package/templates/nextjs-turbo-monorepo/base/packages/ui/.storybook/main.ts +19 -0
- package/templates/nextjs-turbo-monorepo/base/packages/ui/.storybook/preview.ts +15 -0
- package/templates/nextjs-turbo-monorepo/base/packages/ui/components.json +17 -0
- package/templates/nextjs-turbo-monorepo/base/packages/ui/package.json +62 -0
- package/templates/nextjs-turbo-monorepo/base/packages/ui/postcss.config.js +6 -0
- package/templates/nextjs-turbo-monorepo/base/packages/ui/src/components/index.ts +2 -0
- package/templates/nextjs-turbo-monorepo/base/packages/ui/src/components/ui/button.tsx +57 -0
- package/templates/nextjs-turbo-monorepo/base/packages/ui/src/components/ui/card.tsx +76 -0
- package/templates/nextjs-turbo-monorepo/base/packages/ui/src/hooks/index.ts +2 -0
- package/templates/nextjs-turbo-monorepo/base/packages/ui/src/lib/utils.ts +6 -0
- package/templates/nextjs-turbo-monorepo/base/packages/ui/src/styles/globals.css +59 -0
- package/templates/nextjs-turbo-monorepo/base/packages/ui/tailwind.config.ts +15 -0
- package/templates/nextjs-turbo-monorepo/base/packages/ui/tsconfig.json +11 -0
- package/templates/nextjs-turbo-monorepo/base/packages/ui/vitest.config.ts +28 -0
- package/templates/nextjs-turbo-monorepo/base/packages/utils/package.json +24 -0
- package/templates/nextjs-turbo-monorepo/base/packages/utils/src/date.ts +117 -0
- package/templates/nextjs-turbo-monorepo/base/packages/utils/src/index.ts +2 -0
- package/templates/nextjs-turbo-monorepo/base/packages/utils/src/string.ts +59 -0
- package/templates/nextjs-turbo-monorepo/base/packages/utils/tsconfig.json +9 -0
- package/templates/nextjs-turbo-monorepo/base/packages/utils/vitest.config.ts +13 -0
- package/templates/nextjs-turbo-monorepo/base/pnpm-workspace.yaml +3 -0
- package/templates/nextjs-turbo-monorepo/base/tsconfig.json +19 -0
- package/templates/nextjs-turbo-monorepo/base/turbo.json +47 -0
- package/templates/nextjs-turbo-monorepo/extras/boss-cli/assets/claude-md/template.md +0 -0
- package/templates/nextjs-turbo-monorepo/extras/boss-cli/assets/github-workflows/CODEOWNERS +0 -0
- package/templates/nextjs-turbo-monorepo/extras/boss-cli/assets/github-workflows/boss-ci.yml +139 -0
- package/templates/nextjs-turbo-monorepo/extras/boss-cli/assets/github-workflows/boss-gates.yml +116 -0
- package/templates/nextjs-turbo-monorepo/extras/config/kamal/_env +18 -0
- package/templates/nextjs-turbo-monorepo/extras/config/kamal/deploy.yml +92 -0
- package/templates/nextjs-turbo-monorepo/extras/scripts/deploy.sh +38 -0
- package/templates/nextjs-turbo-monorepo/extras/scripts/setup-db.sh +29 -0
- package/assets/claude-md/docs/container-use.md +0 -140
- package/dist/assets/claude-md/docs/container-use.md +0 -140
|
@@ -1,61 +1,201 @@
|
|
|
1
|
-
# Template Documentation: Next.js
|
|
1
|
+
# Template Documentation: Next.js Turbo Monorepo
|
|
2
2
|
|
|
3
|
-
This project was bootstrapped using the **Next.js
|
|
3
|
+
This project was bootstrapped using the **Next.js Turbo Monorepo** template, which provides a production-ready, full-stack monorepo with modern tooling and best practices.
|
|
4
4
|
|
|
5
5
|
## What Was Included
|
|
6
6
|
|
|
7
|
-
### Core
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
- **
|
|
11
|
-
- **
|
|
12
|
-
- **
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
- **
|
|
7
|
+
### Core Technologies
|
|
8
|
+
|
|
9
|
+
#### Monorepo & Build Tools
|
|
10
|
+
- **Turborepo** - High-performance build system with smart caching
|
|
11
|
+
- **pnpm Workspaces** - Fast, disk-efficient package manager
|
|
12
|
+
- **TypeScript 5.x** - Type-safe development across all packages
|
|
13
|
+
|
|
14
|
+
#### Applications (2)
|
|
15
|
+
- **apps/web** - Main Next.js 15 application (port 3000)
|
|
16
|
+
- App Router with Server Components
|
|
17
|
+
- Standalone output for Docker deployment
|
|
18
|
+
- shadcn/ui components
|
|
19
|
+
- tRPC client integration
|
|
20
|
+
- NextAuth.js authentication
|
|
21
|
+
|
|
22
|
+
- **apps/admin** - Admin dashboard (port 3001)
|
|
23
|
+
- Separate admin interface
|
|
24
|
+
- Shared UI components
|
|
25
|
+
- Independent deployment capability
|
|
26
|
+
|
|
27
|
+
#### Shared Packages (6)
|
|
28
|
+
|
|
29
|
+
**@repo/ui** - Component Library
|
|
30
|
+
- shadcn/ui v4 components (Button, Card, Input, etc.)
|
|
31
|
+
- Tailwind CSS styling
|
|
32
|
+
- Storybook documentation
|
|
33
|
+
- Fully typed component props
|
|
34
|
+
|
|
35
|
+
**@repo/database** - Database Layer
|
|
36
|
+
- Prisma ORM schema
|
|
37
|
+
- User, Account, Session models
|
|
38
|
+
- Type-safe database client
|
|
39
|
+
- Migration scripts
|
|
40
|
+
|
|
41
|
+
**@repo/trpc** - API Layer
|
|
42
|
+
- tRPC routers and procedures
|
|
43
|
+
- Type-safe API contracts
|
|
44
|
+
- Protected procedures with auth
|
|
45
|
+
- Shared between apps
|
|
46
|
+
|
|
47
|
+
**@repo/auth** - Authentication
|
|
48
|
+
- NextAuth.js v5 integration
|
|
49
|
+
- Prisma adapter
|
|
50
|
+
- Credentials provider
|
|
51
|
+
- Session management
|
|
52
|
+
|
|
53
|
+
**@repo/config** - Shared Configurations
|
|
54
|
+
- ESLint config (React, Next.js presets)
|
|
55
|
+
- TypeScript config (base, React, Next.js)
|
|
56
|
+
- Tailwind config
|
|
57
|
+
- Vitest config
|
|
58
|
+
|
|
59
|
+
**@repo/utils** - Utility Functions
|
|
60
|
+
- String utilities (capitalize, slugify, truncate)
|
|
61
|
+
- Date utilities (formatDate, formatRelative)
|
|
62
|
+
- Fully tested with Vitest
|
|
63
|
+
- Shared across all packages
|
|
16
64
|
|
|
17
65
|
### Project Structure
|
|
18
66
|
|
|
19
67
|
\`\`\`
|
|
20
68
|
${config.name}/
|
|
21
|
-
├──
|
|
22
|
-
│
|
|
23
|
-
├──
|
|
24
|
-
|
|
25
|
-
├──
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
├──
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
├──
|
|
33
|
-
├──
|
|
34
|
-
├──
|
|
35
|
-
|
|
36
|
-
├──
|
|
37
|
-
|
|
38
|
-
|
|
69
|
+
├── apps/
|
|
70
|
+
│ ├── web/ # Main Next.js app (port 3000)
|
|
71
|
+
│ │ ├── src/
|
|
72
|
+
│ │ │ └── app/ # App Router pages
|
|
73
|
+
│ │ ├── public/ # Static assets
|
|
74
|
+
│ │ └── package.json
|
|
75
|
+
│ └── admin/ # Admin dashboard (port 3001)
|
|
76
|
+
│ ├── src/
|
|
77
|
+
│ │ └── app/
|
|
78
|
+
│ └── package.json
|
|
79
|
+
│
|
|
80
|
+
├── packages/
|
|
81
|
+
│ ├── ui/ # Component library + Storybook
|
|
82
|
+
│ │ ├── src/
|
|
83
|
+
│ │ │ └── components/
|
|
84
|
+
│ │ ├── .storybook/
|
|
85
|
+
│ │ └── package.json
|
|
86
|
+
│ ├── database/ # Prisma schema
|
|
87
|
+
│ │ ├── prisma/
|
|
88
|
+
│ │ │ └── schema.prisma
|
|
89
|
+
│ │ └── package.json
|
|
90
|
+
│ ├── trpc/ # tRPC routers
|
|
91
|
+
│ │ ├── src/
|
|
92
|
+
│ │ │ ├── router.ts
|
|
93
|
+
│ │ │ └── routers/
|
|
94
|
+
│ │ └── package.json
|
|
95
|
+
│ ├── auth/ # NextAuth.js config
|
|
96
|
+
│ │ ├── src/
|
|
97
|
+
│ │ │ └── index.ts
|
|
98
|
+
│ │ └── package.json
|
|
99
|
+
│ ├── config/ # Shared configs
|
|
100
|
+
│ │ ├── eslint/
|
|
101
|
+
│ │ ├── typescript/
|
|
102
|
+
│ │ ├── tailwind/
|
|
103
|
+
│ │ └── vitest/
|
|
104
|
+
│ └── utils/ # Utility functions
|
|
105
|
+
│ ├── src/
|
|
106
|
+
│ │ ├── string.ts
|
|
107
|
+
│ │ └── date.ts
|
|
108
|
+
│ └── tests/
|
|
109
|
+
│
|
|
110
|
+
├── docker/ # Docker configurations
|
|
111
|
+
│ ├── Dockerfile.web # Web app image
|
|
112
|
+
│ ├── Dockerfile.admin # Admin app image
|
|
113
|
+
│ └── docker-compose.yml # Local PostgreSQL + Redis
|
|
114
|
+
│
|
|
115
|
+
├── extras/ # Deployment & scripts
|
|
116
|
+
│ ├── config/
|
|
117
|
+
│ │ └── kamal/
|
|
118
|
+
│ │ └── deploy.yml # Kamal deployment config
|
|
119
|
+
│ └── scripts/
|
|
120
|
+
│ ├── deploy.sh # Deployment automation
|
|
121
|
+
│ └── setup-db.sh # Database setup
|
|
122
|
+
│
|
|
123
|
+
├── .boss/ # BOSS configuration
|
|
124
|
+
├── .specify/ # Spec-Kit structure
|
|
125
|
+
├── .container-use/ # Container-use config
|
|
126
|
+
├── .claude/ # Claude Code rules
|
|
127
|
+
├── .github/ # GitHub workflows
|
|
128
|
+
├── package.json # Root workspace config
|
|
129
|
+
├── pnpm-workspace.yaml # Workspace definitions
|
|
130
|
+
├── turbo.json # Turborepo pipeline
|
|
131
|
+
└── tsconfig.json # Base TypeScript config
|
|
39
132
|
\`\`\`
|
|
40
133
|
|
|
41
134
|
### Available Scripts
|
|
42
135
|
|
|
43
|
-
|
|
44
|
-
- \`pnpm
|
|
45
|
-
- \`pnpm
|
|
46
|
-
- \`pnpm
|
|
47
|
-
- \`pnpm lint\` - Lint
|
|
48
|
-
- \`pnpm
|
|
49
|
-
- \`pnpm
|
|
50
|
-
|
|
136
|
+
#### Root-Level (Workspace)
|
|
137
|
+
- \`pnpm dev\` - Start all apps in development mode
|
|
138
|
+
- \`pnpm build\` - Build all apps and packages
|
|
139
|
+
- \`pnpm test\` - Run tests across all packages
|
|
140
|
+
- \`pnpm lint\` - Lint all packages
|
|
141
|
+
- \`pnpm typecheck\` - Type check all packages
|
|
142
|
+
- \`pnpm clean\` - Clean all build artifacts
|
|
143
|
+
|
|
144
|
+
#### Application-Specific
|
|
145
|
+
- \`pnpm --filter web dev\` - Start web app only (port 3000)
|
|
146
|
+
- \`pnpm --filter admin dev\` - Start admin app only (port 3001)
|
|
147
|
+
- \`pnpm --filter web build\` - Build web app
|
|
148
|
+
- \`pnpm --filter admin build\` - Build admin app
|
|
149
|
+
|
|
150
|
+
#### Package-Specific
|
|
151
|
+
- \`pnpm --filter @repo/ui storybook\` - Run Storybook (port 6006)
|
|
152
|
+
- \`pnpm --filter @repo/ui build-storybook\` - Build Storybook static site
|
|
153
|
+
- \`pnpm --filter @repo/database db:generate\` - Generate Prisma client
|
|
154
|
+
- \`pnpm --filter @repo/database db:push\` - Push schema to database
|
|
155
|
+
- \`pnpm --filter @repo/database db:studio\` - Open Prisma Studio
|
|
156
|
+
- \`pnpm --filter @repo/utils test\` - Test utils package
|
|
157
|
+
|
|
158
|
+
#### Deployment
|
|
159
|
+
- \`./extras/scripts/deploy.sh\` - Deploy to production via Kamal
|
|
160
|
+
- \`./extras/scripts/setup-db.sh\` - Initialize production database
|
|
51
161
|
|
|
52
162
|
### Features
|
|
53
163
|
|
|
54
|
-
|
|
55
|
-
- **
|
|
56
|
-
- **
|
|
57
|
-
- **
|
|
58
|
-
- **
|
|
164
|
+
#### Monorepo Architecture
|
|
165
|
+
- **Turborepo Pipeline** - Optimized task execution with caching
|
|
166
|
+
- **Workspace Dependencies** - Shared packages across apps
|
|
167
|
+
- **Independent Deployment** - Each app can be deployed separately
|
|
168
|
+
- **Fast Builds** - Only rebuild what changed
|
|
169
|
+
|
|
170
|
+
#### Component Library
|
|
171
|
+
- **shadcn/ui v4** - Accessible, customizable components
|
|
172
|
+
- **Storybook** - Interactive component documentation
|
|
173
|
+
- **Tailwind CSS** - Utility-first styling
|
|
174
|
+
- **Type-Safe Props** - Full TypeScript support
|
|
175
|
+
|
|
176
|
+
#### Database & API
|
|
177
|
+
- **Prisma ORM** - Type-safe database access
|
|
178
|
+
- **tRPC** - End-to-end type safety for APIs
|
|
179
|
+
- **Protected Procedures** - Authentication-aware API routes
|
|
180
|
+
- **PostgreSQL** - Production-ready relational database
|
|
181
|
+
|
|
182
|
+
#### Authentication
|
|
183
|
+
- **NextAuth.js v5** - Modern authentication
|
|
184
|
+
- **Prisma Adapter** - Database-backed sessions
|
|
185
|
+
- **Credentials Provider** - Email/password authentication
|
|
186
|
+
- **Protected Routes** - Server-side session validation
|
|
187
|
+
|
|
188
|
+
#### Testing & Quality
|
|
189
|
+
- **Vitest** - Fast unit testing framework
|
|
190
|
+
- **Component Tests** - Test utilities in isolation
|
|
191
|
+
- **Integration Tests** - Test tRPC procedures
|
|
192
|
+
- **Coverage Reports** - Track test coverage
|
|
193
|
+
|
|
194
|
+
#### Deployment
|
|
195
|
+
- **Docker** - Multi-stage builds for production
|
|
196
|
+
- **Kamal** - Docker-based deployment (NOT Vercel)
|
|
197
|
+
- **Standalone Output** - Optimized Next.js builds
|
|
198
|
+
- **PostgreSQL + Redis** - Local development stack
|
|
59
199
|
|
|
60
200
|
### Quality Preset: ${config.quality}
|
|
61
201
|
|
|
@@ -73,30 +213,241 @@ The following git hooks are configured:
|
|
|
73
213
|
- **commit-msg** - Validates commit messages follow Conventional Commits v1.0.0
|
|
74
214
|
- **pre-push** - Runs comprehensive validation (typecheck, lint, tests, security checks)
|
|
75
215
|
|
|
216
|
+
### Turborepo Pipeline
|
|
217
|
+
|
|
218
|
+
The \`turbo.json\` defines the task execution pipeline:
|
|
219
|
+
|
|
220
|
+
\`\`\`json
|
|
221
|
+
{
|
|
222
|
+
"pipeline": {
|
|
223
|
+
"build": {
|
|
224
|
+
"dependsOn": ["^build"],
|
|
225
|
+
"outputs": [".next/**", "dist/**", "storybook-static/**"]
|
|
226
|
+
},
|
|
227
|
+
"dev": {
|
|
228
|
+
"cache": false,
|
|
229
|
+
"persistent": true
|
|
230
|
+
},
|
|
231
|
+
"test": {
|
|
232
|
+
"dependsOn": ["^build"],
|
|
233
|
+
"outputs": ["coverage/**"]
|
|
234
|
+
},
|
|
235
|
+
"lint": {},
|
|
236
|
+
"typecheck": {}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
\`\`\`
|
|
240
|
+
|
|
241
|
+
**Key features:**
|
|
242
|
+
- **Dependency Graph** - Builds packages before apps
|
|
243
|
+
- **Smart Caching** - Skip unchanged tasks
|
|
244
|
+
- **Parallel Execution** - Run tasks concurrently
|
|
245
|
+
- **Persistent Tasks** - Keep dev servers running
|
|
246
|
+
|
|
76
247
|
### Next Steps
|
|
77
248
|
|
|
78
|
-
1.
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
249
|
+
#### 1. Install Dependencies & Start Development
|
|
250
|
+
|
|
251
|
+
\`\`\`bash
|
|
252
|
+
# Install all dependencies
|
|
253
|
+
pnpm install
|
|
254
|
+
|
|
255
|
+
# Start local infrastructure (PostgreSQL + Redis)
|
|
256
|
+
docker-compose up -d
|
|
257
|
+
|
|
258
|
+
# Setup database
|
|
259
|
+
pnpm --filter @repo/database db:push
|
|
260
|
+
|
|
261
|
+
# Start all apps in development
|
|
262
|
+
pnpm dev
|
|
263
|
+
|
|
264
|
+
# Or start apps individually:
|
|
265
|
+
pnpm --filter web dev # Web app on port 3000
|
|
266
|
+
pnpm --filter admin dev # Admin on port 3001
|
|
267
|
+
\`\`\`
|
|
268
|
+
|
|
269
|
+
#### 2. Explore the Component Library
|
|
83
270
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
- Add Client Components when needed with \`"use client"\`
|
|
271
|
+
\`\`\`bash
|
|
272
|
+
# Start Storybook
|
|
273
|
+
pnpm --filter @repo/ui storybook
|
|
88
274
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
275
|
+
# Visit http://localhost:6006
|
|
276
|
+
# Browse shadcn/ui components
|
|
277
|
+
# See component documentation and examples
|
|
278
|
+
\`\`\`
|
|
279
|
+
|
|
280
|
+
#### 3. Add New Features
|
|
281
|
+
|
|
282
|
+
**Add a new page to web app:**
|
|
283
|
+
\`\`\`bash
|
|
284
|
+
# Create new page in apps/web/src/app/
|
|
285
|
+
# Example: apps/web/src/app/dashboard/page.tsx
|
|
286
|
+
\`\`\`
|
|
287
|
+
|
|
288
|
+
**Add a new tRPC procedure:**
|
|
289
|
+
\`\`\`typescript
|
|
290
|
+
// packages/trpc/src/routers/user.ts
|
|
291
|
+
export const userRouter = router({
|
|
292
|
+
getProfile: publicProcedure
|
|
293
|
+
.input(z.object({ userId: z.string() }))
|
|
294
|
+
.query(async ({ input, ctx }) => {
|
|
295
|
+
return ctx.db.user.findUnique({
|
|
296
|
+
where: { id: input.userId }
|
|
297
|
+
});
|
|
298
|
+
})
|
|
299
|
+
});
|
|
300
|
+
\`\`\`
|
|
301
|
+
|
|
302
|
+
**Add a new UI component:**
|
|
303
|
+
\`\`\`bash
|
|
304
|
+
# Add to packages/ui/src/components/
|
|
305
|
+
# Create Storybook story in packages/ui/src/components/*.stories.tsx
|
|
306
|
+
\`\`\`
|
|
307
|
+
|
|
308
|
+
**Add a new utility function:**
|
|
309
|
+
\`\`\`bash
|
|
310
|
+
# Add to packages/utils/src/
|
|
311
|
+
# Add tests to packages/utils/tests/
|
|
312
|
+
pnpm --filter @repo/utils test
|
|
313
|
+
\`\`\`
|
|
92
314
|
|
|
93
|
-
4.
|
|
94
|
-
- Run \`./start-boss.sh\` to start BOSS orchestration
|
|
95
|
-
- BOSS will help you build features following the Spec-Kit workflow
|
|
315
|
+
#### 4. Update Database Schema
|
|
96
316
|
|
|
97
|
-
|
|
317
|
+
\`\`\`bash
|
|
318
|
+
# Edit schema
|
|
319
|
+
vim packages/database/prisma/schema.prisma
|
|
98
320
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
- [TypeScript Documentation](https://www.typescriptlang.org/docs)
|
|
321
|
+
# Generate Prisma client
|
|
322
|
+
pnpm --filter @repo/database db:generate
|
|
102
323
|
|
|
324
|
+
# Push to database
|
|
325
|
+
pnpm --filter @repo/database db:push
|
|
326
|
+
|
|
327
|
+
# Or create migration
|
|
328
|
+
pnpm --filter @repo/database db:migrate dev --name add_new_table
|
|
329
|
+
\`\`\`
|
|
330
|
+
|
|
331
|
+
#### 5. Deploy to Production
|
|
332
|
+
|
|
333
|
+
\`\`\`bash
|
|
334
|
+
# Configure deployment (edit extras/config/kamal/deploy.yml)
|
|
335
|
+
# Update:
|
|
336
|
+
# - domain: your-domain.com
|
|
337
|
+
# - servers: [your-production-ip]
|
|
338
|
+
# - registry credentials
|
|
339
|
+
|
|
340
|
+
# Setup database
|
|
341
|
+
./extras/scripts/setup-db.sh
|
|
342
|
+
|
|
343
|
+
# Deploy
|
|
344
|
+
./extras/scripts/deploy.sh
|
|
345
|
+
\`\`\`
|
|
346
|
+
|
|
347
|
+
#### 6. Use BOSS for Feature Development
|
|
348
|
+
|
|
349
|
+
\`\`\`bash
|
|
350
|
+
# Start BOSS orchestration
|
|
351
|
+
./start-boss.sh
|
|
352
|
+
|
|
353
|
+
# BOSS will:
|
|
354
|
+
# - Guide you through Spec-Kit workflow
|
|
355
|
+
# - Spawn specialized workers
|
|
356
|
+
# - Coordinate development across packages
|
|
357
|
+
# - Ensure quality gates are met
|
|
358
|
+
\`\`\`
|
|
359
|
+
|
|
360
|
+
### Package Dependencies
|
|
361
|
+
|
|
362
|
+
The monorepo uses internal workspace dependencies:
|
|
363
|
+
|
|
364
|
+
\`\`\`
|
|
365
|
+
apps/web
|
|
366
|
+
├── @repo/ui
|
|
367
|
+
├── @repo/database
|
|
368
|
+
├── @repo/trpc
|
|
369
|
+
├── @repo/auth
|
|
370
|
+
└── @repo/utils
|
|
371
|
+
|
|
372
|
+
apps/admin
|
|
373
|
+
├── @repo/ui
|
|
374
|
+
├── @repo/database
|
|
375
|
+
├── @repo/trpc
|
|
376
|
+
└── @repo/auth
|
|
377
|
+
|
|
378
|
+
packages/ui
|
|
379
|
+
└── @repo/utils
|
|
380
|
+
|
|
381
|
+
packages/trpc
|
|
382
|
+
├── @repo/database
|
|
383
|
+
└── @repo/auth
|
|
384
|
+
|
|
385
|
+
packages/auth
|
|
386
|
+
└── @repo/database
|
|
387
|
+
\`\`\`
|
|
388
|
+
|
|
389
|
+
Turborepo automatically builds packages in the correct order based on these dependencies.
|
|
390
|
+
|
|
391
|
+
### Local Development URLs
|
|
392
|
+
|
|
393
|
+
After running \`pnpm dev\`:
|
|
394
|
+
|
|
395
|
+
- **Web App**: http://localhost:3000
|
|
396
|
+
- **Admin App**: http://localhost:3001
|
|
397
|
+
- **Storybook**: http://localhost:6006 (run separately: \`pnpm --filter @repo/ui storybook\`)
|
|
398
|
+
- **Prisma Studio**: http://localhost:5555 (run separately: \`pnpm --filter @repo/database db:studio\`)
|
|
399
|
+
|
|
400
|
+
### Documentation & Resources
|
|
401
|
+
|
|
402
|
+
#### Official Documentation
|
|
403
|
+
- [Turborepo Documentation](https://turbo.build/repo/docs)
|
|
404
|
+
- [pnpm Workspaces](https://pnpm.io/workspaces)
|
|
405
|
+
- [Next.js 15 Documentation](https://nextjs.org/docs)
|
|
406
|
+
- [shadcn/ui Documentation](https://ui.shadcn.com)
|
|
407
|
+
- [Prisma Documentation](https://www.prisma.io/docs)
|
|
408
|
+
- [tRPC Documentation](https://trpc.io/docs)
|
|
409
|
+
- [NextAuth.js Documentation](https://authjs.dev)
|
|
410
|
+
- [Storybook Documentation](https://storybook.js.org/docs)
|
|
411
|
+
- [Kamal Deployment](https://kamal-deploy.org)
|
|
412
|
+
|
|
413
|
+
#### Monorepo-Specific Guides
|
|
414
|
+
- [Managing Dependencies in Monorepos](https://turbo.build/repo/docs/handbook/package-installation)
|
|
415
|
+
- [Sharing Code](https://turbo.build/repo/docs/handbook/sharing-code)
|
|
416
|
+
- [Deploying Turborepo Apps](https://turbo.build/repo/docs/handbook/deploying-with-docker)
|
|
417
|
+
|
|
418
|
+
### Troubleshooting
|
|
419
|
+
|
|
420
|
+
**Issue: Build errors after adding new package**
|
|
421
|
+
\`\`\`bash
|
|
422
|
+
# Clean all node_modules and reinstall
|
|
423
|
+
pnpm clean
|
|
424
|
+
pnpm install
|
|
425
|
+
\`\`\`
|
|
426
|
+
|
|
427
|
+
**Issue: TypeScript can't find @repo/* packages**
|
|
428
|
+
\`\`\`bash
|
|
429
|
+
# Rebuild all packages
|
|
430
|
+
pnpm build
|
|
431
|
+
\`\`\`
|
|
432
|
+
|
|
433
|
+
**Issue: Database connection errors**
|
|
434
|
+
\`\`\`bash
|
|
435
|
+
# Ensure PostgreSQL is running
|
|
436
|
+
docker-compose up -d postgres
|
|
437
|
+
|
|
438
|
+
# Check DATABASE_URL in .env files
|
|
439
|
+
# Should be: postgresql://postgres:postgres@localhost:5432/mydb
|
|
440
|
+
\`\`\`
|
|
441
|
+
|
|
442
|
+
**Issue: Turborepo cache issues**
|
|
443
|
+
\`\`\`bash
|
|
444
|
+
# Clear Turborepo cache
|
|
445
|
+
pnpm turbo run build --force
|
|
446
|
+
\`\`\`
|
|
447
|
+
|
|
448
|
+
**Issue: Port already in use**
|
|
449
|
+
\`\`\`bash
|
|
450
|
+
# Change port in package.json dev script
|
|
451
|
+
# Or kill the process using the port
|
|
452
|
+
lsof -ti:3000 | xargs kill -9
|
|
453
|
+
\`\`\`
|