@glxmart/boss-cli 1.0.0-beta.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/LICENSE +21 -0
- package/README.md +134 -0
- package/assets/claude-folder/agents/.gitkeep +0 -0
- package/assets/claude-folder/commands/boss-commands.md +138 -0
- package/assets/claude-folder/rules/boss-workflow.md +33 -0
- package/assets/claude-folder/rules/code-style.md +23 -0
- package/assets/claude-folder/rules/security.md +22 -0
- package/assets/claude-folder/rules/testing.md +32 -0
- package/assets/claude-folder/settings.local.json +88 -0
- package/assets/claude-folder/skills/.gitkeep +0 -0
- package/assets/claude-md/docs/container-use.md +140 -0
- package/assets/claude-md/docs/github-operations.md +238 -0
- package/assets/claude-md/docs/initialization.md +186 -0
- package/assets/claude-md/docs/quality-standards.md +15 -0
- package/assets/claude-md/docs/spec-kit.md +46 -0
- package/assets/claude-md/docs/workers.md +174 -0
- package/assets/claude-md/docs/workflow.md +140 -0
- package/assets/claude-md/template.md +812 -0
- package/assets/docker-compose/docker-compose.yml +52 -0
- package/assets/git-hooks/commit-msg.sh +102 -0
- package/assets/git-hooks/pre-commit-check.sh +21 -0
- package/assets/git-hooks/pre-commit.sh +6 -0
- package/assets/git-hooks/pre-push.sh +154 -0
- package/assets/git-hooks/security-check.sh +40 -0
- package/assets/git-hooks/test-changed.sh +84 -0
- package/assets/github-workflows/CODEOWNERS +3 -0
- package/assets/github-workflows/boss-ci.yml +40 -0
- package/assets/github-workflows/boss-gates.yml +28 -0
- package/assets/start-boss-sh/start-boss.sh +471 -0
- package/assets/template-docs/api-service-fastify.md +98 -0
- package/assets/template-docs/blank.md +91 -0
- package/assets/template-docs/nextjs-app-turbo.md +102 -0
- package/assets/template-docs/t3-app.md +106 -0
- package/assets/template-loader/README.md +28 -0
- package/assets/template-loader/eslint.config.node.js +28 -0
- package/assets/template-loader/eslint.config.react.js +47 -0
- package/assets/template-loader/gitignore +42 -0
- package/assets/template-loader/index.test.ts +10 -0
- package/assets/template-loader/index.ts +13 -0
- package/assets/template-loader/prettierignore +8 -0
- package/assets/template-loader/vitest.config.ts +19 -0
- package/assets/worker-configs/architect/.claude/commands/.gitkeep +0 -0
- package/assets/worker-configs/architect/.claude/skills/.gitkeep +0 -0
- package/assets/worker-configs/architect/CLAUDE.md +106 -0
- package/assets/worker-configs/clarifier/.claude/commands/.gitkeep +1 -0
- package/assets/worker-configs/clarifier/.claude/skills/.gitkeep +1 -0
- package/assets/worker-configs/clarifier/CLAUDE.md +112 -0
- package/assets/worker-configs/code-reviewer/CLAUDE.md +113 -0
- package/assets/worker-configs/consolidator/.claude/commands/.gitkeep +1 -0
- package/assets/worker-configs/consolidator/.claude/skills/.gitkeep +1 -0
- package/assets/worker-configs/consolidator/CLAUDE.md +114 -0
- package/assets/worker-configs/developer-backend/.claude/commands/.gitkeep +1 -0
- package/assets/worker-configs/developer-backend/.claude/skills/.gitkeep +1 -0
- package/assets/worker-configs/developer-backend/CLAUDE.md +116 -0
- package/assets/worker-configs/developer-frontend/.claude/commands/.gitkeep +1 -0
- package/assets/worker-configs/developer-frontend/.claude/skills/.gitkeep +1 -0
- package/assets/worker-configs/developer-frontend/CLAUDE.md +116 -0
- package/assets/worker-configs/developer-fullstack/.claude/commands/.gitkeep +1 -0
- package/assets/worker-configs/developer-fullstack/.claude/skills/.gitkeep +1 -0
- package/assets/worker-configs/developer-fullstack/CLAUDE.md +116 -0
- package/assets/worker-configs/devops-engineer/CLAUDE.md +111 -0
- package/assets/worker-configs/planner/.claude/commands/.gitkeep +1 -0
- package/assets/worker-configs/planner/.claude/skills/.gitkeep +1 -0
- package/assets/worker-configs/planner/CLAUDE.md +111 -0
- package/assets/worker-configs/product-owner/CLAUDE.md +108 -0
- package/assets/worker-configs/reviewer/.claude/commands/.gitkeep +1 -0
- package/assets/worker-configs/reviewer/.claude/skills/.gitkeep +1 -0
- package/assets/worker-configs/reviewer/CLAUDE.md +110 -0
- package/assets/worker-configs/security-engineer/CLAUDE.md +109 -0
- package/assets/worker-configs/spec-writer/.claude/commands/.gitkeep +1 -0
- package/assets/worker-configs/spec-writer/.claude/skills/.gitkeep +1 -0
- package/assets/worker-configs/spec-writer/CLAUDE.md +110 -0
- package/assets/worker-configs/technical-writer/CLAUDE.md +107 -0
- package/assets/worker-configs/tester/CLAUDE.md +110 -0
- package/dist/assets/claude-folder/agents/.gitkeep +0 -0
- package/dist/assets/claude-folder/commands/boss-commands.md +138 -0
- package/dist/assets/claude-folder/rules/boss-workflow.md +33 -0
- package/dist/assets/claude-folder/rules/code-style.md +23 -0
- package/dist/assets/claude-folder/rules/security.md +22 -0
- package/dist/assets/claude-folder/rules/testing.md +32 -0
- package/dist/assets/claude-folder/settings.local.json +88 -0
- package/dist/assets/claude-folder/skills/.gitkeep +0 -0
- package/dist/assets/claude-md/docs/container-use.md +140 -0
- package/dist/assets/claude-md/docs/github-operations.md +238 -0
- package/dist/assets/claude-md/docs/initialization.md +186 -0
- package/dist/assets/claude-md/docs/quality-standards.md +15 -0
- package/dist/assets/claude-md/docs/spec-kit.md +46 -0
- package/dist/assets/claude-md/docs/workers.md +174 -0
- package/dist/assets/claude-md/docs/workflow.md +140 -0
- package/dist/assets/claude-md/template.md +812 -0
- package/dist/assets/docker-compose/docker-compose.yml +52 -0
- package/dist/assets/git-hooks/commit-msg.sh +102 -0
- package/dist/assets/git-hooks/pre-commit-check.sh +21 -0
- package/dist/assets/git-hooks/pre-commit.sh +6 -0
- package/dist/assets/git-hooks/pre-push.sh +154 -0
- package/dist/assets/git-hooks/security-check.sh +40 -0
- package/dist/assets/git-hooks/test-changed.sh +84 -0
- package/dist/assets/github-workflows/CODEOWNERS +3 -0
- package/dist/assets/github-workflows/boss-ci.yml +40 -0
- package/dist/assets/github-workflows/boss-gates.yml +28 -0
- package/dist/assets/start-boss-sh/start-boss.sh +471 -0
- package/dist/assets/template-docs/api-service-fastify.md +98 -0
- package/dist/assets/template-docs/blank.md +91 -0
- package/dist/assets/template-docs/nextjs-app-turbo.md +102 -0
- package/dist/assets/template-docs/t3-app.md +106 -0
- package/dist/assets/template-loader/README.md +28 -0
- package/dist/assets/template-loader/eslint.config.node.js +28 -0
- package/dist/assets/template-loader/eslint.config.react.js +47 -0
- package/dist/assets/template-loader/gitignore +42 -0
- package/dist/assets/template-loader/index.test.ts +10 -0
- package/dist/assets/template-loader/index.ts +13 -0
- package/dist/assets/template-loader/prettierignore +8 -0
- package/dist/assets/template-loader/vitest.config.ts +19 -0
- package/dist/assets/worker-configs/architect/.claude/commands/.gitkeep +0 -0
- package/dist/assets/worker-configs/architect/.claude/skills/.gitkeep +0 -0
- package/dist/assets/worker-configs/architect/CLAUDE.md +106 -0
- package/dist/assets/worker-configs/clarifier/.claude/commands/.gitkeep +1 -0
- package/dist/assets/worker-configs/clarifier/.claude/skills/.gitkeep +1 -0
- package/dist/assets/worker-configs/clarifier/CLAUDE.md +112 -0
- package/dist/assets/worker-configs/code-reviewer/CLAUDE.md +113 -0
- package/dist/assets/worker-configs/consolidator/.claude/commands/.gitkeep +1 -0
- package/dist/assets/worker-configs/consolidator/.claude/skills/.gitkeep +1 -0
- package/dist/assets/worker-configs/consolidator/CLAUDE.md +114 -0
- package/dist/assets/worker-configs/developer-backend/.claude/commands/.gitkeep +1 -0
- package/dist/assets/worker-configs/developer-backend/.claude/skills/.gitkeep +1 -0
- package/dist/assets/worker-configs/developer-backend/CLAUDE.md +116 -0
- package/dist/assets/worker-configs/developer-frontend/.claude/commands/.gitkeep +1 -0
- package/dist/assets/worker-configs/developer-frontend/.claude/skills/.gitkeep +1 -0
- package/dist/assets/worker-configs/developer-frontend/CLAUDE.md +116 -0
- package/dist/assets/worker-configs/developer-fullstack/.claude/commands/.gitkeep +1 -0
- package/dist/assets/worker-configs/developer-fullstack/.claude/skills/.gitkeep +1 -0
- package/dist/assets/worker-configs/developer-fullstack/CLAUDE.md +116 -0
- package/dist/assets/worker-configs/devops-engineer/CLAUDE.md +111 -0
- package/dist/assets/worker-configs/planner/.claude/commands/.gitkeep +1 -0
- package/dist/assets/worker-configs/planner/.claude/skills/.gitkeep +1 -0
- package/dist/assets/worker-configs/planner/CLAUDE.md +111 -0
- package/dist/assets/worker-configs/product-owner/CLAUDE.md +108 -0
- package/dist/assets/worker-configs/reviewer/.claude/commands/.gitkeep +1 -0
- package/dist/assets/worker-configs/reviewer/.claude/skills/.gitkeep +1 -0
- package/dist/assets/worker-configs/reviewer/CLAUDE.md +110 -0
- package/dist/assets/worker-configs/security-engineer/CLAUDE.md +109 -0
- package/dist/assets/worker-configs/spec-writer/.claude/commands/.gitkeep +1 -0
- package/dist/assets/worker-configs/spec-writer/.claude/skills/.gitkeep +1 -0
- package/dist/assets/worker-configs/spec-writer/CLAUDE.md +110 -0
- package/dist/assets/worker-configs/technical-writer/CLAUDE.md +107 -0
- package/dist/assets/worker-configs/tester/CLAUDE.md +110 -0
- package/dist/commands/__tests__/bootstrap.test.d.ts +2 -0
- package/dist/commands/__tests__/bootstrap.test.d.ts.map +1 -0
- package/dist/commands/__tests__/bootstrap.test.js +379 -0
- package/dist/commands/__tests__/bootstrap.test.js.map +1 -0
- package/dist/commands/__tests__/doctor.test.d.ts +2 -0
- package/dist/commands/__tests__/doctor.test.d.ts.map +1 -0
- package/dist/commands/__tests__/doctor.test.js +13 -0
- package/dist/commands/__tests__/doctor.test.js.map +1 -0
- package/dist/commands/bootstrap.d.ts +3 -0
- package/dist/commands/bootstrap.d.ts.map +1 -0
- package/dist/commands/bootstrap.js +390 -0
- package/dist/commands/bootstrap.js.map +1 -0
- package/dist/commands/doctor.d.ts +2 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +171 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/templates.d.ts +2 -0
- package/dist/commands/templates.d.ts.map +1 -0
- package/dist/commands/templates.js +12 -0
- package/dist/commands/templates.js.map +1 -0
- package/dist/constants.d.ts +23 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +23 -0
- package/dist/constants.js.map +1 -0
- package/dist/generators/__tests__/boss-config.test.d.ts +2 -0
- package/dist/generators/__tests__/boss-config.test.d.ts.map +1 -0
- package/dist/generators/__tests__/boss-config.test.js +61 -0
- package/dist/generators/__tests__/boss-config.test.js.map +1 -0
- package/dist/generators/__tests__/claude-folder.test.d.ts +2 -0
- package/dist/generators/__tests__/claude-folder.test.d.ts.map +1 -0
- package/dist/generators/__tests__/claude-folder.test.js +128 -0
- package/dist/generators/__tests__/claude-folder.test.js.map +1 -0
- package/dist/generators/__tests__/claude-md.test.d.ts +2 -0
- package/dist/generators/__tests__/claude-md.test.d.ts.map +1 -0
- package/dist/generators/__tests__/claude-md.test.js +55 -0
- package/dist/generators/__tests__/claude-md.test.js.map +1 -0
- package/dist/generators/__tests__/container-use-config.test.d.ts +2 -0
- package/dist/generators/__tests__/container-use-config.test.d.ts.map +1 -0
- package/dist/generators/__tests__/container-use-config.test.js +80 -0
- package/dist/generators/__tests__/container-use-config.test.js.map +1 -0
- package/dist/generators/__tests__/docker-compose.test.d.ts +2 -0
- package/dist/generators/__tests__/docker-compose.test.d.ts.map +1 -0
- package/dist/generators/__tests__/docker-compose.test.js +39 -0
- package/dist/generators/__tests__/docker-compose.test.js.map +1 -0
- package/dist/generators/__tests__/git-hooks.test.d.ts +2 -0
- package/dist/generators/__tests__/git-hooks.test.d.ts.map +1 -0
- package/dist/generators/__tests__/git-hooks.test.js +118 -0
- package/dist/generators/__tests__/git-hooks.test.js.map +1 -0
- package/dist/generators/__tests__/github-workflows.test.d.ts +2 -0
- package/dist/generators/__tests__/github-workflows.test.d.ts.map +1 -0
- package/dist/generators/__tests__/github-workflows.test.js +86 -0
- package/dist/generators/__tests__/github-workflows.test.js.map +1 -0
- package/dist/generators/__tests__/mcp-config.test.d.ts +2 -0
- package/dist/generators/__tests__/mcp-config.test.d.ts.map +1 -0
- package/dist/generators/__tests__/mcp-config.test.js +131 -0
- package/dist/generators/__tests__/mcp-config.test.js.map +1 -0
- package/dist/generators/__tests__/project-structure.test.d.ts +2 -0
- package/dist/generators/__tests__/project-structure.test.d.ts.map +1 -0
- package/dist/generators/__tests__/project-structure.test.js +40 -0
- package/dist/generators/__tests__/project-structure.test.js.map +1 -0
- package/dist/generators/__tests__/quality-gates.test.d.ts +2 -0
- package/dist/generators/__tests__/quality-gates.test.d.ts.map +1 -0
- package/dist/generators/__tests__/quality-gates.test.js +71 -0
- package/dist/generators/__tests__/quality-gates.test.js.map +1 -0
- package/dist/generators/__tests__/specify-structure.test.d.ts +2 -0
- package/dist/generators/__tests__/specify-structure.test.d.ts.map +1 -0
- package/dist/generators/__tests__/specify-structure.test.js +63 -0
- package/dist/generators/__tests__/specify-structure.test.js.map +1 -0
- package/dist/generators/__tests__/start-boss-sh.test.d.ts +2 -0
- package/dist/generators/__tests__/start-boss-sh.test.d.ts.map +1 -0
- package/dist/generators/__tests__/start-boss-sh.test.js +36 -0
- package/dist/generators/__tests__/start-boss-sh.test.js.map +1 -0
- package/dist/generators/__tests__/template-docs.test.d.ts +2 -0
- package/dist/generators/__tests__/template-docs.test.d.ts.map +1 -0
- package/dist/generators/__tests__/template-docs.test.js +92 -0
- package/dist/generators/__tests__/template-docs.test.js.map +1 -0
- package/dist/generators/__tests__/template-loader.test.d.ts +2 -0
- package/dist/generators/__tests__/template-loader.test.d.ts.map +1 -0
- package/dist/generators/__tests__/template-loader.test.js +215 -0
- package/dist/generators/__tests__/template-loader.test.js.map +1 -0
- package/dist/generators/__tests__/worker-configs.test.d.ts +2 -0
- package/dist/generators/__tests__/worker-configs.test.d.ts.map +1 -0
- package/dist/generators/__tests__/worker-configs.test.js +122 -0
- package/dist/generators/__tests__/worker-configs.test.js.map +1 -0
- package/dist/generators/boss-config.d.ts +3 -0
- package/dist/generators/boss-config.d.ts.map +1 -0
- package/dist/generators/boss-config.js +242 -0
- package/dist/generators/boss-config.js.map +1 -0
- package/dist/generators/claude-folder.d.ts +3 -0
- package/dist/generators/claude-folder.d.ts.map +1 -0
- package/dist/generators/claude-folder.js +94 -0
- package/dist/generators/claude-folder.js.map +1 -0
- package/dist/generators/claude-md.d.ts +3 -0
- package/dist/generators/claude-md.d.ts.map +1 -0
- package/dist/generators/claude-md.js +64 -0
- package/dist/generators/claude-md.js.map +1 -0
- package/dist/generators/container-use-config.d.ts +13 -0
- package/dist/generators/container-use-config.d.ts.map +1 -0
- package/dist/generators/container-use-config.js +60 -0
- package/dist/generators/container-use-config.js.map +1 -0
- package/dist/generators/docker-compose.d.ts +2 -0
- package/dist/generators/docker-compose.d.ts.map +1 -0
- package/dist/generators/docker-compose.js +8 -0
- package/dist/generators/docker-compose.js.map +1 -0
- package/dist/generators/git-hooks.d.ts +3 -0
- package/dist/generators/git-hooks.d.ts.map +1 -0
- package/dist/generators/git-hooks.js +58 -0
- package/dist/generators/git-hooks.js.map +1 -0
- package/dist/generators/github-workflows.d.ts +3 -0
- package/dist/generators/github-workflows.d.ts.map +1 -0
- package/dist/generators/github-workflows.js +27 -0
- package/dist/generators/github-workflows.js.map +1 -0
- package/dist/generators/mcp-config.d.ts +3 -0
- package/dist/generators/mcp-config.d.ts.map +1 -0
- package/dist/generators/mcp-config.js +183 -0
- package/dist/generators/mcp-config.js.map +1 -0
- package/dist/generators/project-structure.d.ts +3 -0
- package/dist/generators/project-structure.d.ts.map +1 -0
- package/dist/generators/project-structure.js +24 -0
- package/dist/generators/project-structure.js.map +1 -0
- package/dist/generators/quality-gates.d.ts +3 -0
- package/dist/generators/quality-gates.d.ts.map +1 -0
- package/dist/generators/quality-gates.js +32 -0
- package/dist/generators/quality-gates.js.map +1 -0
- package/dist/generators/specify-structure.d.ts +2 -0
- package/dist/generators/specify-structure.d.ts.map +1 -0
- package/dist/generators/specify-structure.js +43 -0
- package/dist/generators/specify-structure.js.map +1 -0
- package/dist/generators/start-boss-sh.d.ts +2 -0
- package/dist/generators/start-boss-sh.d.ts.map +1 -0
- package/dist/generators/start-boss-sh.js +10 -0
- package/dist/generators/start-boss-sh.js.map +1 -0
- package/dist/generators/template-docs.d.ts +3 -0
- package/dist/generators/template-docs.d.ts.map +1 -0
- package/dist/generators/template-docs.js +19 -0
- package/dist/generators/template-docs.js.map +1 -0
- package/dist/generators/template-loader.d.ts +3 -0
- package/dist/generators/template-loader.d.ts.map +1 -0
- package/dist/generators/template-loader.js +308 -0
- package/dist/generators/template-loader.js.map +1 -0
- package/dist/generators/worker-configs.d.ts +3 -0
- package/dist/generators/worker-configs.d.ts.map +1 -0
- package/dist/generators/worker-configs.js +119 -0
- package/dist/generators/worker-configs.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +57 -0
- package/dist/index.js.map +1 -0
- package/dist/presets/__tests__/quality-presets.test.d.ts +2 -0
- package/dist/presets/__tests__/quality-presets.test.d.ts.map +1 -0
- package/dist/presets/__tests__/quality-presets.test.js +152 -0
- package/dist/presets/__tests__/quality-presets.test.js.map +1 -0
- package/dist/presets/quality-presets.d.ts +3 -0
- package/dist/presets/quality-presets.d.ts.map +1 -0
- package/dist/presets/quality-presets.js +65 -0
- package/dist/presets/quality-presets.js.map +1 -0
- package/dist/types/index.d.ts +42 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/__tests__/file-system.test.d.ts +2 -0
- package/dist/utils/__tests__/file-system.test.d.ts.map +1 -0
- package/dist/utils/__tests__/file-system.test.js +83 -0
- package/dist/utils/__tests__/file-system.test.js.map +1 -0
- package/dist/utils/__tests__/git.test.d.ts +2 -0
- package/dist/utils/__tests__/git.test.d.ts.map +1 -0
- package/dist/utils/__tests__/git.test.js +79 -0
- package/dist/utils/__tests__/git.test.js.map +1 -0
- package/dist/utils/__tests__/template-loader.test.d.ts +2 -0
- package/dist/utils/__tests__/template-loader.test.d.ts.map +1 -0
- package/dist/utils/__tests__/template-loader.test.js +109 -0
- package/dist/utils/__tests__/template-loader.test.js.map +1 -0
- package/dist/utils/__tests__/validators.test.d.ts +2 -0
- package/dist/utils/__tests__/validators.test.d.ts.map +1 -0
- package/dist/utils/__tests__/validators.test.js +118 -0
- package/dist/utils/__tests__/validators.test.js.map +1 -0
- package/dist/utils/file-system.d.ts +8 -0
- package/dist/utils/file-system.d.ts.map +1 -0
- package/dist/utils/file-system.js +54 -0
- package/dist/utils/file-system.js.map +1 -0
- package/dist/utils/git.d.ts +7 -0
- package/dist/utils/git.d.ts.map +1 -0
- package/dist/utils/git.js +98 -0
- package/dist/utils/git.js.map +1 -0
- package/dist/utils/logger.d.ts +13 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +42 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/prompts.d.ts +18 -0
- package/dist/utils/prompts.d.ts.map +1 -0
- package/dist/utils/prompts.js +197 -0
- package/dist/utils/prompts.js.map +1 -0
- package/dist/utils/template-loader.d.ts +18 -0
- package/dist/utils/template-loader.d.ts.map +1 -0
- package/dist/utils/template-loader.js +92 -0
- package/dist/utils/template-loader.js.map +1 -0
- package/dist/utils/validators.d.ts +21 -0
- package/dist/utils/validators.d.ts.map +1 -0
- package/dist/utils/validators.js +50 -0
- package/dist/utils/validators.js.map +1 -0
- package/package.json +79 -0
- package/templates/spec-kit/README.md +17 -0
- package/templates/spec-kit/memory/constitution.md +50 -0
- package/templates/spec-kit/scripts/bash/check-prerequisites.sh +166 -0
- package/templates/spec-kit/scripts/bash/common.sh +156 -0
- package/templates/spec-kit/scripts/bash/create-new-feature.sh +297 -0
- package/templates/spec-kit/scripts/bash/setup-plan.sh +61 -0
- package/templates/spec-kit/scripts/bash/update-agent-context.sh +799 -0
- package/templates/spec-kit/scripts/powershell/check-prerequisites.ps1 +148 -0
- package/templates/spec-kit/scripts/powershell/common.ps1 +137 -0
- package/templates/spec-kit/scripts/powershell/create-new-feature.ps1 +283 -0
- package/templates/spec-kit/scripts/powershell/setup-plan.ps1 +61 -0
- package/templates/spec-kit/scripts/powershell/update-agent-context.ps1 +448 -0
- package/templates/spec-kit/src/specify_cli/__init__.py +1369 -0
- package/templates/spec-kit/templates/agent-file-template.md +28 -0
- package/templates/spec-kit/templates/checklist-template.md +40 -0
- package/templates/spec-kit/templates/commands/analyze.md +187 -0
- package/templates/spec-kit/templates/commands/checklist.md +297 -0
- package/templates/spec-kit/templates/commands/clarify.md +184 -0
- package/templates/spec-kit/templates/commands/constitution.md +82 -0
- package/templates/spec-kit/templates/commands/implement.md +138 -0
- package/templates/spec-kit/templates/commands/plan.md +95 -0
- package/templates/spec-kit/templates/commands/specify.md +261 -0
- package/templates/spec-kit/templates/commands/tasks.md +140 -0
- package/templates/spec-kit/templates/commands/taskstoissues.md +33 -0
- package/templates/spec-kit/templates/plan-template.md +104 -0
- package/templates/spec-kit/templates/spec-template.md +115 -0
- package/templates/spec-kit/templates/tasks-template.md +251 -0
- package/templates/spec-kit/templates/vscode-settings.json +14 -0
- package/templates/t3-app/README.md +41 -0
- package/templates/t3-app/base/README.md +29 -0
- package/templates/t3-app/base/_gitignore +47 -0
- package/templates/t3-app/base/next-env.d.ts +5 -0
- package/templates/t3-app/base/next.config.js +22 -0
- package/templates/t3-app/base/package.json +26 -0
- package/templates/t3-app/base/public/favicon.ico +0 -0
- package/templates/t3-app/base/src/env.js +40 -0
- package/templates/t3-app/base/src/styles/globals.css +16 -0
- package/templates/t3-app/base/tsconfig.json +42 -0
- package/templates/t3-app/extras/config/_eslint.base.js +45 -0
- package/templates/t3-app/extras/config/_eslint.drizzle.js +58 -0
- package/templates/t3-app/extras/config/_prettier.config.js +2 -0
- package/templates/t3-app/extras/config/_tailwind.prettier.config.js +4 -0
- package/templates/t3-app/extras/config/biome.jsonc +69 -0
- package/templates/t3-app/extras/config/drizzle-config-mysql.ts +12 -0
- package/templates/t3-app/extras/config/drizzle-config-postgres.ts +12 -0
- package/templates/t3-app/extras/config/drizzle-config-sqlite.ts +12 -0
- package/templates/t3-app/extras/config/next-config-appdir.js +10 -0
- package/templates/t3-app/extras/config/postcss.config.js +5 -0
- package/templates/t3-app/extras/pnpm/_npmrc +2 -0
- package/templates/t3-app/extras/prisma/schema/base-planetscale.prisma +25 -0
- package/templates/t3-app/extras/prisma/schema/base.prisma +21 -0
- package/templates/t3-app/extras/prisma/schema/with-auth-planetscale.prisma +79 -0
- package/templates/t3-app/extras/prisma/schema/with-auth.prisma +75 -0
- package/templates/t3-app/extras/prisma/schema/with-better-auth-planetscale.prisma +90 -0
- package/templates/t3-app/extras/prisma/schema/with-better-auth.prisma +89 -0
- package/templates/t3-app/extras/src/app/_components/post-tw.tsx +50 -0
- package/templates/t3-app/extras/src/app/_components/post.tsx +54 -0
- package/templates/t3-app/extras/src/app/api/auth/[...all]/route.ts +5 -0
- package/templates/t3-app/extras/src/app/api/auth/[...nextauth]/route.ts +3 -0
- package/templates/t3-app/extras/src/app/api/trpc/[trpc]/route.ts +34 -0
- package/templates/t3-app/extras/src/app/layout/base.tsx +24 -0
- package/templates/t3-app/extras/src/app/layout/with-trpc-tw.tsx +29 -0
- package/templates/t3-app/extras/src/app/layout/with-trpc.tsx +28 -0
- package/templates/t3-app/extras/src/app/layout/with-tw.tsx +25 -0
- package/templates/t3-app/extras/src/app/page/base.tsx +39 -0
- package/templates/t3-app/extras/src/app/page/with-auth-trpc-tw.tsx +69 -0
- package/templates/t3-app/extras/src/app/page/with-auth-trpc.tsx +70 -0
- package/templates/t3-app/extras/src/app/page/with-better-auth-trpc-tw.tsx +105 -0
- package/templates/t3-app/extras/src/app/page/with-better-auth-trpc.tsx +103 -0
- package/templates/t3-app/extras/src/app/page/with-better-auth-tw.tsx +90 -0
- package/templates/t3-app/extras/src/app/page/with-better-auth.tsx +88 -0
- package/templates/t3-app/extras/src/app/page/with-trpc-tw.tsx +53 -0
- package/templates/t3-app/extras/src/app/page/with-trpc.tsx +54 -0
- package/templates/t3-app/extras/src/app/page/with-tw.tsx +37 -0
- package/templates/t3-app/extras/src/env/with-auth-db-planetscale.js +58 -0
- package/templates/t3-app/extras/src/env/with-auth-db.js +52 -0
- package/templates/t3-app/extras/src/env/with-auth.js +51 -0
- package/templates/t3-app/extras/src/env/with-better-auth-db-planetscale.js +58 -0
- package/templates/t3-app/extras/src/env/with-better-auth-db.js +50 -0
- package/templates/t3-app/extras/src/env/with-better-auth.js +49 -0
- package/templates/t3-app/extras/src/env/with-db-planetscale.js +50 -0
- package/templates/t3-app/extras/src/env/with-db.js +44 -0
- package/templates/t3-app/extras/src/index.module.css +177 -0
- package/templates/t3-app/extras/src/pages/_app/base.tsx +18 -0
- package/templates/t3-app/extras/src/pages/_app/with-auth-trpc-tw.tsx +27 -0
- package/templates/t3-app/extras/src/pages/_app/with-auth-trpc.tsx +27 -0
- package/templates/t3-app/extras/src/pages/_app/with-auth-tw.tsx +25 -0
- package/templates/t3-app/extras/src/pages/_app/with-auth.tsx +25 -0
- package/templates/t3-app/extras/src/pages/_app/with-better-auth-trpc-tw.tsx +20 -0
- package/templates/t3-app/extras/src/pages/_app/with-better-auth-trpc.tsx +20 -0
- package/templates/t3-app/extras/src/pages/_app/with-trpc-tw.tsx +20 -0
- package/templates/t3-app/extras/src/pages/_app/with-trpc.tsx +20 -0
- package/templates/t3-app/extras/src/pages/_app/with-tw.tsx +18 -0
- package/templates/t3-app/extras/src/pages/api/auth/[...all].ts +8 -0
- package/templates/t3-app/extras/src/pages/api/trpc/[trpc].ts +19 -0
- package/templates/t3-app/extras/src/pages/index/base.tsx +47 -0
- package/templates/t3-app/extras/src/pages/index/with-auth-trpc-tw.tsx +81 -0
- package/templates/t3-app/extras/src/pages/index/with-auth-trpc.tsx +82 -0
- package/templates/t3-app/extras/src/pages/index/with-better-auth-trpc-tw.tsx +99 -0
- package/templates/t3-app/extras/src/pages/index/with-better-auth-trpc.tsx +100 -0
- package/templates/t3-app/extras/src/pages/index/with-better-auth-tw.tsx +87 -0
- package/templates/t3-app/extras/src/pages/index/with-better-auth.tsx +88 -0
- package/templates/t3-app/extras/src/pages/index/with-trpc-tw.tsx +52 -0
- package/templates/t3-app/extras/src/pages/index/with-trpc.tsx +53 -0
- package/templates/t3-app/extras/src/pages/index/with-tw.tsx +45 -0
- package/templates/t3-app/extras/src/server/api/root.ts +23 -0
- package/templates/t3-app/extras/src/server/api/routers/post/base.ts +40 -0
- package/templates/t3-app/extras/src/server/api/routers/post/with-auth-drizzle.ts +39 -0
- package/templates/t3-app/extras/src/server/api/routers/post/with-auth-prisma.ts +41 -0
- package/templates/t3-app/extras/src/server/api/routers/post/with-auth.ts +37 -0
- package/templates/t3-app/extras/src/server/api/routers/post/with-drizzle.ts +30 -0
- package/templates/t3-app/extras/src/server/api/routers/post/with-prisma.ts +31 -0
- package/templates/t3-app/extras/src/server/api/trpc-app/base.ts +103 -0
- package/templates/t3-app/extras/src/server/api/trpc-app/with-auth-db.ts +133 -0
- package/templates/t3-app/extras/src/server/api/trpc-app/with-auth.ts +130 -0
- package/templates/t3-app/extras/src/server/api/trpc-app/with-better-auth-db.ts +134 -0
- package/templates/t3-app/extras/src/server/api/trpc-app/with-better-auth.ts +131 -0
- package/templates/t3-app/extras/src/server/api/trpc-app/with-db.ts +106 -0
- package/templates/t3-app/extras/src/server/api/trpc-pages/base.ts +122 -0
- package/templates/t3-app/extras/src/server/api/trpc-pages/with-auth-db.ts +160 -0
- package/templates/t3-app/extras/src/server/api/trpc-pages/with-auth.ts +158 -0
- package/templates/t3-app/extras/src/server/api/trpc-pages/with-better-auth-db.ts +168 -0
- package/templates/t3-app/extras/src/server/api/trpc-pages/with-better-auth.ts +166 -0
- package/templates/t3-app/extras/src/server/api/trpc-pages/with-db.ts +125 -0
- package/templates/t3-app/extras/src/server/auth/config/base.ts +52 -0
- package/templates/t3-app/extras/src/server/auth/config/with-drizzle.ts +67 -0
- package/templates/t3-app/extras/src/server/auth/config/with-prisma.ts +56 -0
- package/templates/t3-app/extras/src/server/auth/index.ts +10 -0
- package/templates/t3-app/extras/src/server/better-auth/client.ts +5 -0
- package/templates/t3-app/extras/src/server/better-auth/config/base.ts +12 -0
- package/templates/t3-app/extras/src/server/better-auth/config/with-drizzle.ts +26 -0
- package/templates/t3-app/extras/src/server/better-auth/config/with-prisma.ts +26 -0
- package/templates/t3-app/extras/src/server/better-auth/index.ts +1 -0
- package/templates/t3-app/extras/src/server/better-auth/server.ts +7 -0
- package/templates/t3-app/extras/src/server/db/db-prisma-planetscale.ts +19 -0
- package/templates/t3-app/extras/src/server/db/db-prisma.ts +16 -0
- package/templates/t3-app/extras/src/server/db/index-drizzle/with-mysql.ts +18 -0
- package/templates/t3-app/extras/src/server/db/index-drizzle/with-planetscale.ts +7 -0
- package/templates/t3-app/extras/src/server/db/index-drizzle/with-postgres.ts +18 -0
- package/templates/t3-app/extras/src/server/db/index-drizzle/with-sqlite.ts +19 -0
- package/templates/t3-app/extras/src/server/db/schema-drizzle/base-mysql.ts +26 -0
- package/templates/t3-app/extras/src/server/db/schema-drizzle/base-planetscale.ts +26 -0
- package/templates/t3-app/extras/src/server/db/schema-drizzle/base-postgres.ts +26 -0
- package/templates/t3-app/extras/src/server/db/schema-drizzle/base-sqlite.ts +27 -0
- package/templates/t3-app/extras/src/server/db/schema-drizzle/with-auth-mysql.ts +111 -0
- package/templates/t3-app/extras/src/server/db/schema-drizzle/with-auth-planetscale.ts +100 -0
- package/templates/t3-app/extras/src/server/db/schema-drizzle/with-auth-postgres.ts +108 -0
- package/templates/t3-app/extras/src/server/db/schema-drizzle/with-auth-sqlite.ts +105 -0
- package/templates/t3-app/extras/src/server/db/schema-drizzle/with-better-auth-mysql.ts +106 -0
- package/templates/t3-app/extras/src/server/db/schema-drizzle/with-better-auth-planetscale.ts +106 -0
- package/templates/t3-app/extras/src/server/db/schema-drizzle/with-better-auth-postgres.ts +105 -0
- package/templates/t3-app/extras/src/server/db/schema-drizzle/with-better-auth-sqlite.ts +134 -0
- package/templates/t3-app/extras/src/styles/globals.css +6 -0
- package/templates/t3-app/extras/src/trpc/query-client.ts +25 -0
- package/templates/t3-app/extras/src/trpc/react.tsx +78 -0
- package/templates/t3-app/extras/src/trpc/server.ts +30 -0
- package/templates/t3-app/extras/src/utils/api.ts +68 -0
- package/templates/t3-app/extras/start-database/mysql.sh +86 -0
- package/templates/t3-app/extras/start-database/postgres.sh +88 -0
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
# Available Workers
|
|
2
|
+
|
|
3
|
+
BOSS has access to **15 specialized workers** that form a fully functional, high-performance engineering team. Each worker is aware of their role, uses Spec-Kit commands, and follows team collaboration patterns.
|
|
4
|
+
|
|
5
|
+
## How to Discover and Load Workers
|
|
6
|
+
|
|
7
|
+
**CRITICAL: Worker Discovery Instructions**
|
|
8
|
+
|
|
9
|
+
When you need to find available workers or load a worker's configuration:
|
|
10
|
+
|
|
11
|
+
1. **Discover Available Workers:**
|
|
12
|
+
- List directories in `.boss/workers/` to find available worker names
|
|
13
|
+
- Use: `ls -la .boss/workers/` or list the directory contents
|
|
14
|
+
- Each worker is a **directory** (not a file), named after the worker type (e.g., `architect`, `clarifier`, `spec-writer`)
|
|
15
|
+
- **DO NOT** search for `*.yaml` files - workers are directories, not YAML files
|
|
16
|
+
|
|
17
|
+
2. **Load Worker Configuration:**
|
|
18
|
+
- **Worker prompt:** Read `.boss/workers/[worker-name]/prompt.md` (contains the worker's role and instructions)
|
|
19
|
+
- **Worker instructions:** Read `.boss/workers/[worker-name]/CLAUDE.md` (contains execution guidelines)
|
|
20
|
+
- **Container config:** Read `.boss/workers/[worker-name]/container-config.json` (contains container-use environment settings)
|
|
21
|
+
- **DO NOT** look for `README.md` files - use `prompt.md` and `CLAUDE.md` instead
|
|
22
|
+
|
|
23
|
+
3. **Container-Use Configuration:**
|
|
24
|
+
- **Global config:** Read `.container-use/environment.json` (NOT `config.yaml`)
|
|
25
|
+
- This file contains base container settings and environment variables
|
|
26
|
+
- **DO NOT** look for `.container-use/config.yaml` - it doesn't exist
|
|
27
|
+
|
|
28
|
+
**Example Worker Discovery:**
|
|
29
|
+
```bash
|
|
30
|
+
# List available workers
|
|
31
|
+
ls .boss/workers/
|
|
32
|
+
# Output: architect clarifier spec-writer planner ...
|
|
33
|
+
|
|
34
|
+
# Load architect worker prompt
|
|
35
|
+
cat .boss/workers/architect/prompt.md
|
|
36
|
+
|
|
37
|
+
# Load architect container config
|
|
38
|
+
cat .boss/workers/architect/container-config.json
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
**Common Mistakes to Avoid:**
|
|
42
|
+
- NOT OK **DO NOT** search for `.boss/workers/*.yaml` - workers are directories, not YAML files
|
|
43
|
+
- NOT OK **DO NOT** read `.boss/workers/[worker-name]/README.md` - use `prompt.md` instead
|
|
44
|
+
- NOT OK **DO NOT** read `.container-use/config.yaml` - read `.container-use/environment.json` instead
|
|
45
|
+
|
|
46
|
+
## Phase-Specific Workers
|
|
47
|
+
|
|
48
|
+
**Phase 1: Constitution**
|
|
49
|
+
- **`architect`** - Creates `.specify/memory/constitution.md` with governing principles. Establishes NON-NEGOTIABLE standards: Test-First, BDD, Documentation. Defines architectural principles and development methodology.
|
|
50
|
+
|
|
51
|
+
**Phase 2: Clarification**
|
|
52
|
+
- **`clarifier`** - Gathers business requirements through conversation. Uses `/speckit.clarify` to identify ambiguities. Asks business questions (not technical). Documents user personas and workflows.
|
|
53
|
+
|
|
54
|
+
**Phase 3: Specification**
|
|
55
|
+
- **`spec-writer`** - Creates `spec.md` with user stories in Given/When/Then format (BDD). Uses `/speckit.specify` and `/speckit.checklist`. Includes acceptance criteria and edge cases. Ensures specs are testable and actionable.
|
|
56
|
+
|
|
57
|
+
**Phase 4: Planning**
|
|
58
|
+
- **`planner`** - Creates `plan.md`, `data-model.md`, `contracts/`. Uses `/speckit.plan` to generate technical approach. Plans BDD test strategy and documentation structure.
|
|
59
|
+
|
|
60
|
+
**Phase 5: Validation**
|
|
61
|
+
- **`reviewer`** - Validates plan against constitution. Checks TDD/BDD/Documentation compliance. Uses `/speckit.analyze`. Verifies BDD layer and documentation requirements. Ensures constitution compliance.
|
|
62
|
+
|
|
63
|
+
**Phase 6: Task Breakdown**
|
|
64
|
+
- **`planner`** - Creates `tasks.md` with [P] parallel markers. Uses `/speckit.tasks` to break down plans. Orders tasks by dependencies. Enables parallel execution where possible.
|
|
65
|
+
|
|
66
|
+
**Phase 7: Implementation**
|
|
67
|
+
- **`developer-frontend`** - Implements frontend features following TDD + BDD. Uses `/speckit.implement`. Creates BDD tests and feature documentation. Ensures accessibility, performance, and responsive design.
|
|
68
|
+
- **`developer-backend`** - Implements backend features following TDD + BDD. Uses `/speckit.implement`. Creates API documentation and feature documentation. Ensures security, performance, and scalability.
|
|
69
|
+
- **`developer-fullstack`** - Implements fullstack features following TDD + BDD. Uses `/speckit.implement`. Creates comprehensive tests and documentation. Ensures seamless frontend-backend integration.
|
|
70
|
+
- **`tester`** - Creates comprehensive test suites (BDD, unit, integration, E2E). Uses `/speckit.checklist` for test requirements. Ensures test coverage ≥80% and mutation score ≥80%. Validates implementations meet specifications.
|
|
71
|
+
- **`code-reviewer`** - Reviews code for quality, maintainability, and adherence to coding standards. Uses `/speckit.analyze`. Provides constructive feedback. Validates code follows TDD/BDD practices and architecture principles.
|
|
72
|
+
|
|
73
|
+
**Phase 8: Consolidation**
|
|
74
|
+
- **`consolidator`** - Merges all worker branches. Creates `quickstart.md` and `checklist.md`. Uses `/speckit.analyze`. Validates documentation completeness. Runs integration tests. Prepares artifacts for PR creation.
|
|
75
|
+
|
|
76
|
+
## Cross-Phase Workers
|
|
77
|
+
|
|
78
|
+
These workers can be spawned at any phase as needed:
|
|
79
|
+
|
|
80
|
+
- **`product-owner`** - Represents business and user needs throughout the lifecycle. Prioritizes user stories (P1, P2, P3) based on business value. Validates acceptance criteria are measurable and business-focused. Works with Clarifier, Spec Writer, and all team members.
|
|
81
|
+
|
|
82
|
+
- **`security-engineer`** - Ensures applications are secure and compliant. Performs security reviews, threat modeling, and vulnerability scanning. Uses `/speckit.checklist` for security requirements. Integrates security into CI/CD pipeline. Follows OWASP Top 10 and security best practices.
|
|
83
|
+
|
|
84
|
+
- **`devops-engineer`** - Sets up CI/CD pipelines, infrastructure, and deployment automation. Ensures applications are deployable, scalable, and maintainable. Configures monitoring, logging, and alerting. Creates deployment documentation in `quickstart.md`.
|
|
85
|
+
|
|
86
|
+
- **`technical-writer`** - Creates comprehensive documentation (API docs, user guides, developer docs). Uses `/speckit.checklist` for documentation quality. Maintains documentation quality and completeness. Updates `quickstart.md` and other documentation artifacts.
|
|
87
|
+
|
|
88
|
+
## Worker Spawning Guidelines
|
|
89
|
+
|
|
90
|
+
**When to spawn workers:**
|
|
91
|
+
|
|
92
|
+
1. **Sequential Phase Workers**: Spawn in order (architect → clarifier → spec-writer → planner → reviewer → planner → developers → consolidator)
|
|
93
|
+
2. **Parallel Implementation**: Spawn multiple developers in parallel based on [P] markers in `tasks.md` (max 5 concurrent)
|
|
94
|
+
3. **Cross-Phase Workers**: Spawn as needed:
|
|
95
|
+
- `product-owner` - During clarification, specification, and planning phases
|
|
96
|
+
- `security-engineer` - During planning and implementation phases
|
|
97
|
+
- `devops-engineer` - During planning and consolidation phases
|
|
98
|
+
- `technical-writer` - During implementation and consolidation phases
|
|
99
|
+
4. **Quality Workers**: Spawn `tester` and `code-reviewer` during implementation phase
|
|
100
|
+
|
|
101
|
+
**Worker Configuration:**
|
|
102
|
+
- Each worker has configs in `.boss/workers/[worker-name]/`
|
|
103
|
+
- Worker prompts are in `.boss/workers/[worker-name]/prompt.md`
|
|
104
|
+
- Container configs are in `.boss/workers/[worker-name]/container-config.json`
|
|
105
|
+
- Worker instructions are in `.boss/workers/[worker-name]/CLAUDE.md`
|
|
106
|
+
|
|
107
|
+
**Worker Execution (MANDATORY - BOSS Must Spawn Workers):**
|
|
108
|
+
|
|
109
|
+
**CRITICAL:** BOSS must ALWAYS spawn workers using `mcp_container-use_execute_in_environment`. BOSS must NEVER write deliverables directly.
|
|
110
|
+
|
|
111
|
+
1. **Create environment** using `mcp_container-use_create_environment`
|
|
112
|
+
- Load worker config from `.boss/workers/[worker-name]/container-config.json`
|
|
113
|
+
|
|
114
|
+
2. **Load worker configuration:**
|
|
115
|
+
- Read `.boss/workers/[worker-name]/prompt.md` to understand worker's role and instructions
|
|
116
|
+
- Read `.boss/workers/[worker-name]/CLAUDE.md` for execution guidelines
|
|
117
|
+
- Check for worker-specific `.claude` folder: `.boss/workers/[worker-name]/.claude/`
|
|
118
|
+
|
|
119
|
+
3. **Configure container environment (MANDATORY - ONLY EXCEPTION):**
|
|
120
|
+
- **This is the ONLY time BOSS uses `environment_file_write`** - to configure the container for the worker
|
|
121
|
+
- **Overwrite `.claude/CLAUDE.md` in container:**
|
|
122
|
+
- Read `.boss/workers/[worker-name]/CLAUDE.md` from host
|
|
123
|
+
- Use `mcp_container-use_environment_file_write` to write to `/workdir/.claude/CLAUDE.md` in container
|
|
124
|
+
- **CRITICAL PATH:** Host `.boss/workers/architect/CLAUDE.md` → Container `/workdir/.claude/CLAUDE.md`
|
|
125
|
+
- Container needs worker's instructions, not BOSS's orchestration instructions
|
|
126
|
+
- **Copy worker-specific `.claude` files to container:**
|
|
127
|
+
- If `.boss/workers/[worker-name]/.claude/` exists, copy all files maintaining directory structure
|
|
128
|
+
- **CRITICAL PATH TRANSFORMATION:**
|
|
129
|
+
- Remove `.boss/workers/[worker-name]/` prefix
|
|
130
|
+
- Keep `.claude/` structure
|
|
131
|
+
- Example: `.boss/workers/architect/.claude/commands/file.md` → `/workdir/.claude/commands/file.md`
|
|
132
|
+
- Copy all subdirectories:
|
|
133
|
+
- `.claude/commands/` → `/workdir/.claude/commands/`
|
|
134
|
+
- `.claude/skills/` → `/workdir/.claude/skills/`
|
|
135
|
+
- `.claude/agents/` → `/workdir/.claude/agents/`
|
|
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
|
|
157
|
+
|
|
158
|
+
**BOSS MUST NEVER:**
|
|
159
|
+
- NOT OK Write deliverables directly (constitution.md, spec.md, plan.md, code, tests, etc.)
|
|
160
|
+
- NOT OK Use `environment_file_write` to create deliverables - workers write deliverables
|
|
161
|
+
- NOT OK Use `environment_run_cmd` to execute code that creates deliverables - workers do this
|
|
162
|
+
- NOT OK Read worker prompts and then do the work yourself - spawn the worker instead
|
|
163
|
+
|
|
164
|
+
**BOSS CAN ONLY use `environment_file_write` for:**
|
|
165
|
+
- OK **Configuring container environment** - Overwrite `.claude/CLAUDE.md` with worker's CLAUDE.md
|
|
166
|
+
- OK **Copying worker config files** - Copy `.boss/workers/[worker-name]/.claude/` files to `.claude/` in container
|
|
167
|
+
- OK This is the ONLY exception - configuring the container, not doing the work
|
|
168
|
+
|
|
169
|
+
**Communication Guidelines:**
|
|
170
|
+
- **CRITICAL:** Use plain text only when communicating with workers - NO emojis
|
|
171
|
+
- All messages, instructions, prompts, and feedback to workers must be in plain text format
|
|
172
|
+
- When loading worker prompts or sending instructions via Container-Use, use text-only communication
|
|
173
|
+
- Emojis should not be used in any worker-related communication, prompts, or instructions
|
|
174
|
+
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
# Branch Management & Workflow
|
|
2
|
+
|
|
3
|
+
**MANDATORY WORKFLOW FOR EVERY CHANGE:**
|
|
4
|
+
|
|
5
|
+
1. **Check Project Status**
|
|
6
|
+
- Read `.boss/project-config.json` to understand current state
|
|
7
|
+
- Check `initialization.stage` - if not "ready", complete initial setup first
|
|
8
|
+
- Check `currentBranch` - all work happens on `feature/boss-initial-setup` initially
|
|
9
|
+
|
|
10
|
+
2. **Create Worker Environment**
|
|
11
|
+
- Use Container-Use MCP `mcp_container-use_create_environment`
|
|
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
|
|
46
|
+
- **BOSS MUST NEVER write deliverables directly** (constitution.md, spec.md, plan.md, code, tests, etc.)
|
|
47
|
+
- **BOSS MUST NEVER use `environment_file_write` to create deliverables** - workers write all deliverables
|
|
48
|
+
- **BOSS MUST NEVER use `environment_run_cmd` to execute code that creates deliverables** - workers do this
|
|
49
|
+
- Worker runs in isolated container with its own branch
|
|
50
|
+
- Container has worker-specific `.claude/CLAUDE.md` and `.claude/` config files
|
|
51
|
+
- Worker does ALL the actual work (writes files, runs commands, creates code)
|
|
52
|
+
- Container-Use manages all git operations automatically
|
|
53
|
+
- **DO NOT** use git CLI directly
|
|
54
|
+
- **DO NOT poll worker status** - Container-Use will notify when work completes
|
|
55
|
+
- **Only check status once** after worker execution completes, not repeatedly
|
|
56
|
+
|
|
57
|
+
**Correct Workflow:**
|
|
58
|
+
```
|
|
59
|
+
1. BOSS creates environment
|
|
60
|
+
2. BOSS loads worker prompt from .boss/workers/[worker-name]/prompt.md
|
|
61
|
+
3. BOSS configures container: overwrites .claude/CLAUDE.md and copies .claude/ files
|
|
62
|
+
4. BOSS calls mcp_container-use_execute_in_environment with task prompt
|
|
63
|
+
5. WORKER (in container) writes all deliverables
|
|
64
|
+
6. BOSS reviews and merges
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**WRONG - BOSS Doing Work Directly:**
|
|
68
|
+
```
|
|
69
|
+
1. BOSS creates environment
|
|
70
|
+
2. BOSS reads worker prompt
|
|
71
|
+
3. BOSS uses environment_file_write to write deliverables NOT OK WRONG!
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
5. **Review Work (Optional - for user visibility)**
|
|
75
|
+
- Inform user how to review: `container-use log <env_id>`, `container-use diff <env_id>`, `container-use checkout <env_id>`
|
|
76
|
+
- **DO NOT wait for approval** - proceed automatically
|
|
77
|
+
|
|
78
|
+
6. **Merge Worker Changes (AUTOMATIC)**
|
|
79
|
+
- **AUTOMATICALLY** use `mcp_container-use_merge_environment` to merge worker's branch
|
|
80
|
+
- Container-Use merges worker's branch into target branch (usually `feature/boss-initial-setup`)
|
|
81
|
+
- **DO NOT check worker status repeatedly** - only check once after merge completes
|
|
82
|
+
- Update `project-config.json`:
|
|
83
|
+
- Remove from `workflow.activeWorkers`
|
|
84
|
+
- Add summary to `workers.summaries`
|
|
85
|
+
- Add to `workflow.completedTasks`
|
|
86
|
+
|
|
87
|
+
7. **Push Branch to Remote (AUTOMATIC)**
|
|
88
|
+
- **AUTOMATICALLY** push feature branch to remote using git commands
|
|
89
|
+
- Use: `git push origin <feature-branch-name>` or `git push -u origin <feature-branch-name>`
|
|
90
|
+
- **NEVER push to main branch directly** - husky pre-push hooks block this (enforced for everyone)
|
|
91
|
+
- **DO NOT ask user for confirmation** - push automatically
|
|
92
|
+
|
|
93
|
+
8. **Create Pull Request (AUTOMATIC - MANDATORY - NO EXCEPTIONS)**
|
|
94
|
+
- **AUTOMATICALLY** use GitHub MCP to create PR from feature branch to main
|
|
95
|
+
- **CRITICAL:** Main branch is protected - direct pushes are blocked
|
|
96
|
+
- **DO NOT ask user if they want PR created** - always create it automatically
|
|
97
|
+
- **DO NOT skip PR creation** - it's mandatory for all changes
|
|
98
|
+
- Include details about changes, workers used, quality gate results
|
|
99
|
+
- Link to related specifications or issues
|
|
100
|
+
- PR title format: "feat: [feature-name] - [brief description]" or "chore: [description]"
|
|
101
|
+
- PR body should include worker summaries and quality gate status
|
|
102
|
+
|
|
103
|
+
**CRITICAL RULES:**
|
|
104
|
+
- **MAIN BRANCH PROTECTION:** Main branch is locked - husky pre-push hooks block direct pushes (enforced for everyone, including BOSS and humans)
|
|
105
|
+
- **ALWAYS USE PRs:** All changes to main must go through pull requests
|
|
106
|
+
- **NEVER push to main directly** - always push to feature branch and create PR
|
|
107
|
+
- **BOSS uses git commands** for orchestration: creating branches, pushing code, merging branches
|
|
108
|
+
- Container-Use creates branches locally with naming: `container-use/<env-id>`
|
|
109
|
+
- All worker branches merge into `feature/boss-initial-setup` (or current feature branch)
|
|
110
|
+
- Workers use Container-Use MCP for their git operations (automatic)
|
|
111
|
+
- Always update `project-config.json` to track state changes
|
|
112
|
+
- Each worker environment = isolated branch = isolated work
|
|
113
|
+
- **MINIMIZE STATUS CHECKS:** Only check worker/environment status when necessary, not repeatedly
|
|
114
|
+
|
|
115
|
+
## Automatic Workflow Completion
|
|
116
|
+
|
|
117
|
+
**CRITICAL: Complete workflow automatically without user prompts**
|
|
118
|
+
|
|
119
|
+
After worker completes their work:
|
|
120
|
+
|
|
121
|
+
1. **Merge automatically** - Use `mcp_container-use_merge_environment` to merge worker branch into feature branch, or use git commands: `git merge <worker-branch>`
|
|
122
|
+
2. **Push feature branch automatically** - Use git commands: `git push origin <feature-branch-name>` or `git push -u origin <feature-branch-name>`
|
|
123
|
+
- **NEVER push to main** - husky pre-push hooks block this (enforced for everyone)
|
|
124
|
+
3. **Create PR automatically (MANDATORY)** - Use `mcp__github__create_pull_request` to create PR from feature branch to main
|
|
125
|
+
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
|
+
|
|
127
|
+
**DO NOT:**
|
|
128
|
+
- NOT OK Ask user "Should I create a PR?" - **ALWAYS create it automatically**
|
|
129
|
+
- NOT OK Ask user "Ready to create PR?" - **ALWAYS create it automatically**
|
|
130
|
+
- NOT OK Wait for user approval before pushing or creating PR
|
|
131
|
+
- NOT OK Skip PR creation - **PR creation is MANDATORY**
|
|
132
|
+
- NOT OK Push directly to main branch - **main is protected, use PRs only**
|
|
133
|
+
- NOT OK Check worker/environment status repeatedly - only check once when needed
|
|
134
|
+
|
|
135
|
+
**DO:**
|
|
136
|
+
- OK Complete entire workflow automatically: merge → push feature branch → create PR
|
|
137
|
+
- OK Inform user that PR was created with link: "OK PR created: [link]"
|
|
138
|
+
- OK Include comprehensive PR body with worker summaries and quality gates
|
|
139
|
+
- OK Minimize status checks - only check when necessary for workflow progression
|
|
140
|
+
|