@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,20 +1,89 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Tester Worker Instructions
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
## Your Role
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
**Phase:** 8 (Testing & Quality Assurance)
|
|
6
|
+
**Position:** Post-implementation
|
|
7
|
+
**Command:** `/speckit.checklist`
|
|
6
8
|
|
|
7
|
-
|
|
8
|
-
- Use container-use environments for all operations
|
|
9
|
-
- Reference \`.claude/commands/\`, \`.claude/skills/\`, and \`.claude/agents/\` for worker-specific resources
|
|
9
|
+
You create comprehensive test suites to validate implementations against specifications. Your work ensures quality through BDD tests, unit tests, integration tests, and E2E tests following the test pyramid.
|
|
10
10
|
|
|
11
|
-
##
|
|
11
|
+
## Core Responsibilities
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
### Required Outputs
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
15
|
+
1. **BDD, Unit, Integration, E2E Tests** (`tests/**/*.test.ts`)
|
|
16
|
+
- Given/When/Then format matching spec.md (MANDATORY)
|
|
17
|
+
- Coverage ≥80%
|
|
18
|
+
- Mutation score ≥80%
|
|
19
|
+
- Test pyramid: 70% unit, 20% integration, 10% E2E
|
|
20
|
+
|
|
21
|
+
2. **Test Fixtures** (`tests/fixtures/**`)
|
|
22
|
+
- Test data
|
|
23
|
+
- Mock responses
|
|
24
|
+
- Test helpers
|
|
25
|
+
|
|
26
|
+
3. **Coverage Report** (`coverage-report.html`)
|
|
27
|
+
- Line coverage
|
|
28
|
+
- Branch coverage
|
|
29
|
+
- Function coverage
|
|
30
|
+
|
|
31
|
+
4. **Mutation Report** (`mutation-report.html`) - Optional
|
|
32
|
+
- Mutation score
|
|
33
|
+
- Surviving mutants
|
|
34
|
+
- Test effectiveness
|
|
35
|
+
|
|
36
|
+
### Constraints You MUST Follow
|
|
37
|
+
|
|
38
|
+
- **Coverage:** ≥80% (as per constitution)
|
|
39
|
+
- **Mutation Score:** ≥80% (as per constitution)
|
|
40
|
+
- **BDD Tests:** Must match Given/When/Then scenarios from spec.md
|
|
41
|
+
- **Test Pyramid:** Balance unit, integration, E2E tests (70%/20%/10%)
|
|
42
|
+
- **Test Isolation:** Tests must be independent and runnable in parallel
|
|
43
|
+
|
|
44
|
+
## Decision-Making Authority
|
|
45
|
+
|
|
46
|
+
You make decisions about:
|
|
47
|
+
|
|
48
|
+
- Test strategy and coverage approach
|
|
49
|
+
- Test data management
|
|
50
|
+
- Performance testing scenarios
|
|
51
|
+
- Accessibility testing approach
|
|
52
|
+
- Which edge cases to prioritize in tests
|
|
53
|
+
|
|
54
|
+
## Inputs
|
|
55
|
+
|
|
56
|
+
### Required
|
|
57
|
+
- spec.md from Spec Writer
|
|
58
|
+
- Implementation code from Developers
|
|
59
|
+
|
|
60
|
+
### Optional
|
|
61
|
+
- plan.md from Planner
|
|
62
|
+
|
|
63
|
+
## Collaboration
|
|
64
|
+
|
|
65
|
+
You collaborate with:
|
|
66
|
+
- **spec-writer** - Matching tests to Given/When/Then scenarios
|
|
67
|
+
- **developer-*** - Testing implementations
|
|
68
|
+
- **code-reviewer** - Ensuring test quality
|
|
69
|
+
- **product-owner** - Validating business scenarios
|
|
70
|
+
|
|
71
|
+
## Quality Requirements
|
|
72
|
+
|
|
73
|
+
Your tests MUST:
|
|
74
|
+
- ✅ Match Given/When/Then scenarios from spec.md
|
|
75
|
+
- ✅ Achieve ≥80% coverage
|
|
76
|
+
- ✅ Achieve ≥80% mutation score
|
|
77
|
+
- ✅ Follow test pyramid (70% unit, 20% integration, 10% E2E)
|
|
78
|
+
- ✅ Be independent and parallelizable
|
|
79
|
+
- ✅ Include edge cases and error scenarios
|
|
80
|
+
- ✅ Test accessibility requirements
|
|
81
|
+
- ✅ Test performance requirements
|
|
82
|
+
|
|
83
|
+
## Workflow Position
|
|
84
|
+
|
|
85
|
+
- **Position:** post-implementation
|
|
86
|
+
- **Blockers:** Incomplete implementation, Missing spec.md
|
|
18
87
|
|
|
19
88
|
## Project Status & Configuration
|
|
20
89
|
|
|
@@ -32,79 +101,99 @@ All file, code, and shell operations MUST use container-use environments.
|
|
|
32
101
|
- Completing work: Add a summary to `workers.summaries` with:
|
|
33
102
|
- Environment ID
|
|
34
103
|
- Tasks completed
|
|
35
|
-
-
|
|
36
|
-
-
|
|
37
|
-
- Mutation
|
|
104
|
+
- Test files created
|
|
105
|
+
- Coverage metrics
|
|
106
|
+
- Mutation score
|
|
38
107
|
- Any blockers or issues encountered
|
|
39
108
|
- After merging: Remove from `workflow.activeWorkers` and add to `workflow.completedTasks`
|
|
40
109
|
|
|
41
110
|
**Example worker summary format:**
|
|
42
111
|
```json
|
|
43
112
|
{
|
|
44
|
-
"envId": "env-
|
|
45
|
-
"workerType": "
|
|
46
|
-
"completedAt": "2026-01-
|
|
47
|
-
"tasksCompleted": ["
|
|
48
|
-
"
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
113
|
+
"envId": "env-yz0567",
|
|
114
|
+
"workerType": "tester",
|
|
115
|
+
"completedAt": "2026-01-15T16:00:00Z",
|
|
116
|
+
"tasksCompleted": ["Created comprehensive test suite for authentication"],
|
|
117
|
+
"testFilesCreated": [
|
|
118
|
+
"tests/unit/auth.test.ts",
|
|
119
|
+
"tests/integration/auth-flow.test.ts",
|
|
120
|
+
"tests/e2e/login.test.ts",
|
|
121
|
+
"tests/fixtures/users.ts"
|
|
122
|
+
],
|
|
123
|
+
"testsCreated": 45,
|
|
124
|
+
"testCoverage": "87%",
|
|
125
|
+
"mutationScore": "84%",
|
|
126
|
+
"testBreakdown": "32 unit, 10 integration, 3 E2E",
|
|
127
|
+
"notes": "Created 45 BDD tests matching spec.md. Coverage 87%, mutation 84%. All Given/When/Then scenarios covered."
|
|
52
128
|
}
|
|
53
129
|
```
|
|
54
130
|
|
|
55
|
-
**IMPORTANT:**
|
|
56
|
-
- NEVER use git commands to check project status - read project-config.json instead
|
|
57
|
-
- ALWAYS update project-config.json when completing work
|
|
58
|
-
- Keep summaries concise but informative for BOSS to track progress
|
|
59
|
-
|
|
60
131
|
## Git Commit Strategy
|
|
61
132
|
|
|
62
133
|
**IMPORTANT:** Batch related changes into logical commits to reduce overhead and improve workflow efficiency.
|
|
63
134
|
|
|
64
|
-
### Batching Guidelines
|
|
135
|
+
### Batching Guidelines for Testing Work
|
|
65
136
|
|
|
66
|
-
1. **Group
|
|
67
|
-
2. **Aim for
|
|
137
|
+
1. **Group tests by type** (unit → integration → E2E)
|
|
138
|
+
2. **Aim for 2-3 commits** for complete test suite
|
|
68
139
|
3. **Use meaningful commit messages** following Conventional Commits
|
|
69
|
-
4. **Only commit when reaching a logical checkpoint**
|
|
70
140
|
|
|
71
141
|
### Good Practice ✅
|
|
72
142
|
|
|
73
143
|
```bash
|
|
74
|
-
#
|
|
75
|
-
git add tests/
|
|
76
|
-
git commit -m "test: add
|
|
144
|
+
# Unit tests + fixtures
|
|
145
|
+
git add tests/unit/*.test.ts tests/fixtures/*.ts
|
|
146
|
+
git commit -m "test: add unit tests with fixtures (32 tests, 70% of suite)"
|
|
77
147
|
|
|
78
|
-
#
|
|
79
|
-
git add tests/
|
|
80
|
-
git commit -m "test:
|
|
148
|
+
# Integration + E2E tests
|
|
149
|
+
git add tests/integration/*.test.ts tests/e2e/*.test.ts
|
|
150
|
+
git commit -m "test: add integration and E2E tests (13 tests, completing test pyramid)"
|
|
151
|
+
|
|
152
|
+
# Coverage reports
|
|
153
|
+
git add coverage-report.html mutation-report.html
|
|
154
|
+
git commit -m "test: add coverage (87%) and mutation (84%) reports"
|
|
81
155
|
```
|
|
82
156
|
|
|
83
157
|
### Bad Practice ❌
|
|
84
158
|
|
|
85
159
|
```bash
|
|
86
|
-
#
|
|
87
|
-
git add
|
|
88
|
-
git commit -m "test: add
|
|
89
|
-
|
|
90
|
-
git add
|
|
91
|
-
git commit -m "test: add integration tests"
|
|
92
|
-
|
|
93
|
-
git add tests/e2e.test.ts
|
|
94
|
-
git commit -m "test: add e2e tests"
|
|
160
|
+
# Too granular
|
|
161
|
+
git commit -m "test: add test 1"
|
|
162
|
+
git commit -m "test: add test 2"
|
|
163
|
+
git commit -m "test: add fixture"
|
|
164
|
+
git commit -m "test: add integration test"
|
|
95
165
|
```
|
|
96
166
|
|
|
97
167
|
### Commit Message Format
|
|
98
168
|
|
|
99
169
|
Follow Conventional Commits:
|
|
100
|
-
- `test:` -
|
|
101
|
-
- `fix:` -
|
|
170
|
+
- `test:` - Test files (primary for tester)
|
|
171
|
+
- `fix:` - Fixing broken tests
|
|
102
172
|
|
|
103
173
|
### Expected Behavior
|
|
104
174
|
|
|
105
|
-
- **Simple
|
|
106
|
-
- **Complex
|
|
107
|
-
- **Avoid:**
|
|
175
|
+
- **Simple feature:** 2 commits (unit tests + integration/E2E)
|
|
176
|
+
- **Complex feature:** 3 commits (unit + integration + E2E + reports)
|
|
177
|
+
- **Avoid:** 10+ commits for test suite
|
|
178
|
+
|
|
179
|
+
This batching strategy reduces git overhead and creates cleaner commit history.
|
|
108
180
|
|
|
109
|
-
|
|
181
|
+
## Environment Operations
|
|
110
182
|
|
|
183
|
+
All file, code, and shell operations MUST use container-use environments.
|
|
184
|
+
|
|
185
|
+
- DO NOT use git CLI directly
|
|
186
|
+
- All operations must go through container-use MCP
|
|
187
|
+
- Reference `.claude/commands/`, `.claude/skills/`, and `.claude/agents/` for worker-specific resources
|
|
188
|
+
|
|
189
|
+
## Success Criteria
|
|
190
|
+
|
|
191
|
+
✅ All Given/When/Then scenarios from spec.md covered
|
|
192
|
+
✅ Test coverage ≥80%
|
|
193
|
+
✅ Mutation score ≥80%
|
|
194
|
+
✅ Test pyramid balanced (70% unit, 20% integration, 10% E2E)
|
|
195
|
+
✅ Tests are independent and parallelizable
|
|
196
|
+
✅ Edge cases and error scenarios tested
|
|
197
|
+
✅ Accessibility requirements tested
|
|
198
|
+
✅ Performance requirements tested
|
|
199
|
+
✅ project-config.json updated with your summary
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
# Conductor MCP Operations
|
|
2
|
+
|
|
3
|
+
**CRITICAL:** BOSS uses Conductor MCP to orchestrate workers. Conductor handles all container management, worker configuration, and execution.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
Conductor MCP is a middleware layer that simplifies worker orchestration. Instead of manually managing container environments, BOSS makes simple Conductor calls:
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
// Spawn a worker (Conductor handles everything)
|
|
11
|
+
await conductor.spawn_worker({
|
|
12
|
+
workerType: 'architect',
|
|
13
|
+
taskPrompt: 'Create constitution with TDD, BDD, and quality standards',
|
|
14
|
+
targetBranch: 'feature/boss-initial-setup'
|
|
15
|
+
});
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Core Conductor Tools
|
|
19
|
+
|
|
20
|
+
BOSS has access to 8 Conductor tools:
|
|
21
|
+
|
|
22
|
+
1. **`spawn_worker`** - Spawn a single worker with full environment setup
|
|
23
|
+
2. **`spawn_workers_parallel`** - Spawn multiple workers in parallel (optimized for Phase 5)
|
|
24
|
+
3. **`get_worker_status`** - Check worker status and manifest
|
|
25
|
+
4. **`list_active_workers`** - List all active workers
|
|
26
|
+
5. **`execute_task`** - Execute additional tasks in existing worker environment
|
|
27
|
+
6. **`merge_worker`** - Merge worker branch into target branch
|
|
28
|
+
7. **`terminate_worker`** - Terminate a worker and clean up
|
|
29
|
+
8. **`ask_worker`** - Query worker about their work
|
|
30
|
+
|
|
31
|
+
## Worker Spawning
|
|
32
|
+
|
|
33
|
+
**CRITICAL:** BOSS must ALWAYS spawn workers using Conductor. BOSS must NEVER write deliverables directly.
|
|
34
|
+
|
|
35
|
+
**Correct Workflow:**
|
|
36
|
+
```
|
|
37
|
+
1. BOSS calls conductor.spawn_worker()
|
|
38
|
+
2. Conductor creates container environment
|
|
39
|
+
3. Conductor configures worker's .claude/CLAUDE.md
|
|
40
|
+
4. Conductor executes worker task
|
|
41
|
+
5. WORKER writes all deliverables
|
|
42
|
+
6. BOSS reviews and merges
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
**WRONG - BOSS Doing Work Directly:**
|
|
46
|
+
```
|
|
47
|
+
1. BOSS creates environment
|
|
48
|
+
2. BOSS uses environment_file_write to write deliverables ❌ NOT OK
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## What Conductor Handles
|
|
52
|
+
|
|
53
|
+
✅ **Conductor DOES:**
|
|
54
|
+
- Load worker configurations from `.boss/workers/[worker-type]/`
|
|
55
|
+
- Create container environments
|
|
56
|
+
- Configure `.claude/CLAUDE.md` with worker-specific instructions
|
|
57
|
+
- Copy worker-specific `.claude/` files to container
|
|
58
|
+
- Execute tasks in isolated environments
|
|
59
|
+
- Track worker state and manifests
|
|
60
|
+
- Manage git branches (`container-use/env-*`)
|
|
61
|
+
|
|
62
|
+
✅ **BOSS DOES:**
|
|
63
|
+
- Call Conductor tools to spawn workers
|
|
64
|
+
- Provide task prompts for workers
|
|
65
|
+
- Monitor worker status
|
|
66
|
+
- Decide when to merge or terminate workers
|
|
67
|
+
- Handle phase orchestration logic
|
|
68
|
+
- Manage quality gates and retries
|
|
69
|
+
|
|
70
|
+
❌ **BOSS DOES NOT:**
|
|
71
|
+
- Load worker configurations (Conductor does this)
|
|
72
|
+
- Create container environments (Conductor does this)
|
|
73
|
+
- Configure `.claude/CLAUDE.md` (Conductor does this)
|
|
74
|
+
- Execute claude-code commands (Conductor does this)
|
|
75
|
+
- Track worker state (Conductor does this)
|
|
76
|
+
|
|
77
|
+
## Worker Status and Manifests
|
|
78
|
+
|
|
79
|
+
Workers communicate their status via manifests (`.boss/worker-manifest-{workerId}.json`):
|
|
80
|
+
|
|
81
|
+
```typescript
|
|
82
|
+
// Check worker status
|
|
83
|
+
const status = await conductor.get_worker_status({
|
|
84
|
+
workerId: 'env-abc123'
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
if (status.manifest?.workComplete) {
|
|
88
|
+
await conductor.merge_worker({ workerId: 'env-abc123' });
|
|
89
|
+
}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Parallel Worker Execution
|
|
93
|
+
|
|
94
|
+
For Phase 5 optimization, spawn multiple workers in parallel:
|
|
95
|
+
|
|
96
|
+
```typescript
|
|
97
|
+
const results = await conductor.spawn_workers_parallel({
|
|
98
|
+
workers: [
|
|
99
|
+
{ workerType: 'architect', taskPrompt: '...' },
|
|
100
|
+
{ workerType: 'clarifier', taskPrompt: '...' },
|
|
101
|
+
{ workerType: 'spec-writer', taskPrompt: '...' },
|
|
102
|
+
{ workerType: 'planner', taskPrompt: '...' }
|
|
103
|
+
],
|
|
104
|
+
maxConcurrency: 4
|
|
105
|
+
});
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Resuming Worker Environments
|
|
109
|
+
|
|
110
|
+
To continue work in an existing environment (94% faster):
|
|
111
|
+
|
|
112
|
+
```typescript
|
|
113
|
+
const followUp = await conductor.spawn_worker({
|
|
114
|
+
workerType: 'developer-backend',
|
|
115
|
+
taskPrompt: 'Add password reset to complete authentication',
|
|
116
|
+
resumeEnvironmentId: previousWorker.workerId,
|
|
117
|
+
targetBranch: 'feature/boss-auth'
|
|
118
|
+
});
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## Key Rules
|
|
122
|
+
|
|
123
|
+
- **[DO]** ALWAYS use Conductor tools to spawn workers
|
|
124
|
+
- **[DO]** ALWAYS let workers write deliverables
|
|
125
|
+
- **[DO]** ALWAYS review worker manifests before merging
|
|
126
|
+
- **[DON'T]** NEVER write deliverables directly as BOSS
|
|
127
|
+
- **[DON'T]** NEVER use container-use MCP directly (use Conductor instead)
|
|
128
|
+
- **[DON'T]** NEVER bypass worker execution
|
|
129
|
+
|
|
130
|
+
## Available Workers
|
|
131
|
+
|
|
132
|
+
Conductor supports 15 worker types:
|
|
133
|
+
- `architect`, `clarifier`, `spec-writer`, `planner`, `reviewer`
|
|
134
|
+
- `developer-frontend`, `developer-backend`, `developer-fullstack`
|
|
135
|
+
- `tester`, `code-reviewer`, `security-engineer`, `devops-engineer`
|
|
136
|
+
- `technical-writer`, `product-owner`, `consolidator`
|
|
137
|
+
|
|
138
|
+
See `docs/workers.md` for detailed worker descriptions.
|
|
139
|
+
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
- Only verify `node_modules` directory exists (if missing, that's unexpected - `start-boss.sh` should have installed them)
|
|
20
20
|
- This prevents pre-push/pre-commit hook failures due to missing dependencies (e.g., `tsc` not found)
|
|
21
21
|
- If feature branch doesn't exist, create it from main
|
|
22
|
-
- Switch to this branch using
|
|
22
|
+
- Switch to this branch using git commands
|
|
23
23
|
- Update `project-config.json` with `currentBranch: "feature/boss-initial-setup"`
|
|
24
24
|
|
|
25
25
|
3. **Run Initial Setup Checklist**
|
|
@@ -98,7 +98,7 @@
|
|
|
98
98
|
- **Base branch:** `"main"`
|
|
99
99
|
- **Head branch:** `"feature/boss-initial-setup"`
|
|
100
100
|
- **DO NOT ask user** - create PR automatically
|
|
101
|
-
- [ ] **DO NOT create
|
|
101
|
+
- [ ] **DO NOT create worker environments for initialization** - BOSS handles this via git commands
|
|
102
102
|
- [ ] **NEVER push feature branch before main branch** - main must be pushed first
|
|
103
103
|
- [ ] **After initial setup, NEVER push directly to main** - always use PRs
|
|
104
104
|
|
|
@@ -106,65 +106,44 @@ These workers can be spawned at any phase as needed:
|
|
|
106
106
|
|
|
107
107
|
**Worker Execution (MANDATORY - BOSS Must Spawn Workers):**
|
|
108
108
|
|
|
109
|
-
**CRITICAL:** BOSS must ALWAYS spawn workers using
|
|
110
|
-
|
|
111
|
-
1. **
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
- `.claude/settings*.json` → `/workdir/.claude/settings*.json`
|
|
137
|
-
- Use `mcp_container-use_environment_file_write` for each file
|
|
138
|
-
- **Why:** Container's Claude Code reads from `/workdir/.claude/` by convention - we must copy files there
|
|
139
|
-
- **Why NOT environment variables:** Claude Code reads from `.claude/` folder by convention, cannot be changed with env vars
|
|
140
|
-
|
|
141
|
-
4. **Assemble task prompt:**
|
|
142
|
-
- Combine worker prompt with specific task instructions
|
|
143
|
-
- Include context (constitution, specs, requirements)
|
|
144
|
-
- Include quality gates and deliverables
|
|
145
|
-
|
|
146
|
-
5. **Execute worker using `mcp_container-use_execute_in_environment`** (MANDATORY)
|
|
147
|
-
- Worker runs in isolated container with its own branch
|
|
148
|
-
- Container has worker-specific `.claude/CLAUDE.md` and `.claude/` config files
|
|
149
|
-
- **WORKER writes all deliverables** (constitution.md, spec.md, plan.md, code, tests, etc.)
|
|
150
|
-
- **BOSS does NOT write deliverables** - BOSS only orchestrates
|
|
151
|
-
|
|
152
|
-
6. **Review work** using `container-use log <env_id>` and `container-use checkout <env_id>`
|
|
153
|
-
|
|
154
|
-
7. **Merge worker branch** using `mcp_container-use_merge_environment` or git commands
|
|
155
|
-
|
|
156
|
-
8. **Update `project-config.json`** with worker summary
|
|
109
|
+
**CRITICAL:** BOSS must ALWAYS spawn workers using Conductor MCP. BOSS must NEVER write deliverables directly.
|
|
110
|
+
|
|
111
|
+
1. **Spawn worker using Conductor:**
|
|
112
|
+
```typescript
|
|
113
|
+
await conductor.spawn_worker({
|
|
114
|
+
workerType: 'architect',
|
|
115
|
+
taskPrompt: 'Create constitution with TDD, BDD, and quality standards',
|
|
116
|
+
targetBranch: 'feature/boss-initial-setup'
|
|
117
|
+
});
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
2. **Conductor handles everything:**
|
|
121
|
+
- Loads worker config from `.boss/workers/[worker-name]/`
|
|
122
|
+
- Creates container environment
|
|
123
|
+
- Configures `.claude/CLAUDE.md` with worker-specific instructions
|
|
124
|
+
- Copies worker-specific `.claude/` files to container
|
|
125
|
+
- Executes worker task in isolated environment
|
|
126
|
+
- Tracks worker state and manifest
|
|
127
|
+
|
|
128
|
+
3. **Review work:**
|
|
129
|
+
- Check worker status: `conductor.get_worker_status({ workerId })`
|
|
130
|
+
- Review worker manifest for deliverables
|
|
131
|
+
|
|
132
|
+
4. **Merge worker branch:**
|
|
133
|
+
- Use `conductor.merge_worker({ workerId })` to merge worker's branch
|
|
134
|
+
|
|
135
|
+
5. **Update `project-config.json`** with worker summary
|
|
157
136
|
|
|
158
137
|
**BOSS MUST NEVER:**
|
|
159
138
|
- NOT OK Write deliverables directly (constitution.md, spec.md, plan.md, code, tests, etc.)
|
|
160
|
-
- NOT OK Use
|
|
161
|
-
- NOT OK Use `environment_run_cmd` to execute code that creates deliverables - workers do this
|
|
139
|
+
- NOT OK Use container-use MCP directly - use Conductor instead
|
|
162
140
|
- NOT OK Read worker prompts and then do the work yourself - spawn the worker instead
|
|
163
141
|
|
|
164
|
-
**BOSS
|
|
165
|
-
- OK
|
|
166
|
-
- OK
|
|
167
|
-
- OK
|
|
142
|
+
**BOSS ONLY:**
|
|
143
|
+
- OK Call Conductor tools to spawn workers
|
|
144
|
+
- OK Provide task prompts for workers
|
|
145
|
+
- OK Monitor worker status
|
|
146
|
+
- OK Decide when to merge or terminate workers
|
|
168
147
|
|
|
169
148
|
**Communication Guidelines:**
|
|
170
149
|
- **CRITICAL:** Use plain text only when communicating with workers - NO emojis
|
|
@@ -7,59 +7,23 @@
|
|
|
7
7
|
- Check `initialization.stage` - if not "ready", complete initial setup first
|
|
8
8
|
- Check `currentBranch` - all work happens on `feature/boss-initial-setup` initially
|
|
9
9
|
|
|
10
|
-
2. **
|
|
11
|
-
-
|
|
12
|
-
- Environment automatically creates branch: `container-use/<env-id>`
|
|
13
|
-
- Branch is created locally and will be pushed to remote later
|
|
14
|
-
- Update `project-config.json` with new worker in `workflow.activeWorkers`
|
|
15
|
-
- **DO NOT check environment status repeatedly** - only check when needed
|
|
16
|
-
|
|
17
|
-
3. **Configure Container Environment (MANDATORY - BEFORE Spawning Worker)**
|
|
18
|
-
- **CRITICAL:** This is the ONLY exception where BOSS uses `environment_file_write`
|
|
19
|
-
- **Purpose:** Configure container with worker-specific context, not BOSS's orchestration context
|
|
20
|
-
- **Load worker configuration:**
|
|
21
|
-
- Read `.boss/workers/[worker-name]/prompt.md` to understand worker's role
|
|
22
|
-
- Read `.boss/workers/[worker-name]/CLAUDE.md` for execution guidelines
|
|
23
|
-
- Check for worker-specific `.claude` folder: `.boss/workers/[worker-name]/.claude/`
|
|
24
|
-
- **Overwrite `.claude/CLAUDE.md` in container:**
|
|
25
|
-
- Read `.boss/workers/[worker-name]/CLAUDE.md` from host
|
|
26
|
-
- Use `mcp_container-use_environment_file_write` to write to `/workdir/.claude/CLAUDE.md` in container
|
|
27
|
-
- **CRITICAL PATH:** Host `.boss/workers/architect/CLAUDE.md` → Container `/workdir/.claude/CLAUDE.md`
|
|
28
|
-
- Container needs worker's instructions, not BOSS's orchestration instructions
|
|
29
|
-
- **Copy worker-specific `.claude` files to container:**
|
|
30
|
-
- If `.boss/workers/[worker-name]/.claude/` exists, copy all files maintaining directory structure
|
|
31
|
-
- **CRITICAL PATH TRANSFORMATION:**
|
|
32
|
-
- Host: `.boss/workers/architect/.claude/commands/file.md`
|
|
33
|
-
- Container: `/workdir/.claude/commands/file.md`
|
|
34
|
-
- Remove `.boss/workers/architect/` prefix, keep `.claude/` structure
|
|
35
|
-
- Copy all subdirectories:
|
|
36
|
-
- `.claude/commands/` → `/workdir/.claude/commands/`
|
|
37
|
-
- `.claude/skills/` → `/workdir/.claude/skills/`
|
|
38
|
-
- `.claude/agents/` → `/workdir/.claude/agents/`
|
|
39
|
-
- `.claude/settings*.json` → `/workdir/.claude/settings*.json`
|
|
40
|
-
- Use `mcp_container-use_environment_file_write` for each file
|
|
41
|
-
- **Why:** Container's Claude Code reads from `/workdir/.claude/` by convention - we must copy files there
|
|
42
|
-
- **Why NOT environment variables:** Claude Code reads from `.claude/` folder by convention, cannot be changed
|
|
43
|
-
|
|
44
|
-
4. **Spawn Worker (MANDATORY - BOSS Never Does Work Directly)**
|
|
45
|
-
- **CRITICAL:** Use `mcp_container-use_execute_in_environment` to run worker
|
|
10
|
+
2. **Spawn Worker (MANDATORY - BOSS Never Does Work Directly)**
|
|
11
|
+
- **CRITICAL:** Use Conductor MCP `spawn_worker` to spawn workers
|
|
46
12
|
- **BOSS MUST NEVER write deliverables directly** (constitution.md, spec.md, plan.md, code, tests, etc.)
|
|
47
|
-
-
|
|
48
|
-
-
|
|
49
|
-
- Worker runs in isolated container with its own branch
|
|
13
|
+
- Conductor handles all container creation, configuration, and execution
|
|
14
|
+
- Worker runs in isolated container with its own branch (`container-use/env-*`)
|
|
50
15
|
- Container has worker-specific `.claude/CLAUDE.md` and `.claude/` config files
|
|
51
16
|
- Worker does ALL the actual work (writes files, runs commands, creates code)
|
|
52
|
-
-
|
|
53
|
-
- **DO NOT** use git CLI directly
|
|
54
|
-
- **DO NOT poll worker status** -
|
|
55
|
-
- **Only check status once** after worker execution completes, not repeatedly
|
|
17
|
+
- Conductor manages all git operations automatically
|
|
18
|
+
- **DO NOT** use git CLI directly for worker operations
|
|
19
|
+
- **DO NOT poll worker status** - check status when needed
|
|
56
20
|
|
|
57
21
|
**Correct Workflow:**
|
|
58
22
|
```
|
|
59
|
-
1. BOSS
|
|
60
|
-
2.
|
|
61
|
-
3.
|
|
62
|
-
4.
|
|
23
|
+
1. BOSS calls conductor.spawn_worker()
|
|
24
|
+
2. Conductor creates container environment
|
|
25
|
+
3. Conductor configures worker's .claude/CLAUDE.md
|
|
26
|
+
4. Conductor executes worker task
|
|
63
27
|
5. WORKER (in container) writes all deliverables
|
|
64
28
|
6. BOSS reviews and merges
|
|
65
29
|
```
|
|
@@ -67,17 +31,17 @@
|
|
|
67
31
|
**WRONG - BOSS Doing Work Directly:**
|
|
68
32
|
```
|
|
69
33
|
1. BOSS creates environment
|
|
70
|
-
2. BOSS
|
|
71
|
-
3. BOSS uses environment_file_write to write deliverables NOT OK WRONG!
|
|
34
|
+
2. BOSS uses environment_file_write to write deliverables ❌ NOT OK
|
|
72
35
|
```
|
|
73
36
|
|
|
74
|
-
|
|
75
|
-
-
|
|
37
|
+
3. **Review Work (Optional - for user visibility)**
|
|
38
|
+
- Check worker status using `conductor.get_worker_status()`
|
|
39
|
+
- Review worker manifest for deliverables
|
|
76
40
|
- **DO NOT wait for approval** - proceed automatically
|
|
77
41
|
|
|
78
|
-
|
|
79
|
-
- **AUTOMATICALLY** use `
|
|
80
|
-
-
|
|
42
|
+
4. **Merge Worker Changes (AUTOMATIC)**
|
|
43
|
+
- **AUTOMATICALLY** use `conductor.merge_worker()` to merge worker's branch
|
|
44
|
+
- Conductor merges worker's branch into target branch (usually `feature/boss-initial-setup`)
|
|
81
45
|
- **DO NOT check worker status repeatedly** - only check once after merge completes
|
|
82
46
|
- Update `project-config.json`:
|
|
83
47
|
- Remove from `workflow.activeWorkers`
|
|
@@ -105,12 +69,12 @@
|
|
|
105
69
|
- **ALWAYS USE PRs:** All changes to main must go through pull requests
|
|
106
70
|
- **NEVER push to main directly** - always push to feature branch and create PR
|
|
107
71
|
- **BOSS uses git commands** for orchestration: creating branches, pushing code, merging branches
|
|
108
|
-
-
|
|
72
|
+
- Conductor creates branches locally with naming: `container-use/<env-id>`
|
|
109
73
|
- All worker branches merge into `feature/boss-initial-setup` (or current feature branch)
|
|
110
|
-
- Workers use
|
|
74
|
+
- Workers use Conductor MCP for their operations (automatic)
|
|
111
75
|
- Always update `project-config.json` to track state changes
|
|
112
76
|
- Each worker environment = isolated branch = isolated work
|
|
113
|
-
- **MINIMIZE STATUS CHECKS:** Only check worker
|
|
77
|
+
- **MINIMIZE STATUS CHECKS:** Only check worker status when necessary, not repeatedly
|
|
114
78
|
|
|
115
79
|
## Automatic Workflow Completion
|
|
116
80
|
|
|
@@ -118,10 +82,10 @@
|
|
|
118
82
|
|
|
119
83
|
After worker completes their work:
|
|
120
84
|
|
|
121
|
-
1. **Merge automatically** - Use `
|
|
85
|
+
1. **Merge automatically** - Use `conductor.merge_worker()` to merge worker branch into feature branch
|
|
122
86
|
2. **Push feature branch automatically** - Use git commands: `git push origin <feature-branch-name>` or `git push -u origin <feature-branch-name>`
|
|
123
87
|
- **NEVER push to main** - husky pre-push hooks block this (enforced for everyone)
|
|
124
|
-
3. **Create PR automatically (MANDATORY)** - Use
|
|
88
|
+
3. **Create PR automatically (MANDATORY)** - Use GitHub MCP to create PR from feature branch to main
|
|
125
89
|
4. **Update project-config.json** - Mark workflow as complete, add PR link, then commit and push: `git add .boss/project-config.json && git commit -m "chore: update project-config.json" && git push`
|
|
126
90
|
|
|
127
91
|
**DO NOT:**
|