@glxmart/boss-cli 1.0.0 → 1.2.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/template-loader/gitignore +14 -0
- 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/template-loader/gitignore +14 -0
- 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 +23 -20
- 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 +259 -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 +16 -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 +19 -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 +11 -0
- package/templates/nextjs-turbo-monorepo/base/packages/auth/src/types.ts +28 -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 +11 -0
- package/templates/nextjs-turbo-monorepo/base/packages/database/package.json +32 -0
- package/templates/nextjs-turbo-monorepo/base/packages/database/prisma/schema.prisma +84 -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/index.ts +3 -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 +12 -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
package/README.md
CHANGED
|
@@ -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:**
|