claude-autopm 2.8.1 → 2.8.3
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 +399 -529
- package/bin/autopm.js +2 -0
- package/bin/commands/plugin.js +395 -0
- package/bin/commands/team.js +184 -10
- package/install/install.js +223 -4
- package/lib/plugins/PluginManager.js +1328 -0
- package/lib/plugins/PluginManager.old.js +400 -0
- package/package.json +5 -1
- package/packages/plugin-ai/LICENSE +21 -0
- package/packages/plugin-ai/README.md +316 -0
- package/packages/plugin-ai/agents/anthropic-claude-expert.md +579 -0
- package/packages/plugin-ai/agents/azure-openai-expert.md +1411 -0
- package/packages/plugin-ai/agents/google-a2a-expert.md +1445 -0
- package/packages/plugin-ai/agents/huggingface-expert.md +2131 -0
- package/packages/plugin-ai/agents/langchain-expert.md +1427 -0
- package/packages/plugin-ai/commands/a2a-setup.md +886 -0
- package/packages/plugin-ai/commands/ai-model-deployment.md +481 -0
- package/packages/plugin-ai/commands/anthropic-optimize.md +793 -0
- package/packages/plugin-ai/commands/huggingface-deploy.md +789 -0
- package/packages/plugin-ai/commands/langchain-optimize.md +807 -0
- package/packages/plugin-ai/commands/llm-optimize.md +348 -0
- package/packages/plugin-ai/commands/openai-optimize.md +863 -0
- package/packages/plugin-ai/commands/rag-optimize.md +841 -0
- package/packages/plugin-ai/commands/rag-setup-scaffold.md +382 -0
- package/packages/plugin-ai/package.json +66 -0
- package/packages/plugin-ai/plugin.json +519 -0
- package/packages/plugin-ai/rules/ai-model-standards.md +449 -0
- package/packages/plugin-ai/rules/prompt-engineering-standards.md +509 -0
- package/packages/plugin-ai/scripts/examples/huggingface-inference-example.py +145 -0
- package/packages/plugin-ai/scripts/examples/langchain-rag-example.py +366 -0
- package/packages/plugin-ai/scripts/examples/mlflow-tracking-example.py +224 -0
- package/packages/plugin-ai/scripts/examples/openai-chat-example.py +425 -0
- package/packages/plugin-cloud/README.md +268 -0
- package/packages/plugin-cloud/agents/gemini-api-expert.md +880 -0
- package/packages/plugin-cloud/agents/openai-python-expert.md +1087 -0
- package/packages/plugin-cloud/commands/cloud-cost-optimize.md +243 -0
- package/packages/plugin-cloud/commands/cloud-validate.md +196 -0
- package/packages/plugin-cloud/hooks/pre-cloud-deploy.js +456 -0
- package/packages/plugin-cloud/package.json +64 -0
- package/packages/plugin-cloud/plugin.json +338 -0
- package/packages/plugin-cloud/rules/cloud-security-compliance.md +313 -0
- package/packages/plugin-cloud/scripts/examples/aws-validate.sh +30 -0
- package/packages/plugin-cloud/scripts/examples/azure-setup.sh +33 -0
- package/packages/plugin-cloud/scripts/examples/gcp-setup.sh +39 -0
- package/packages/plugin-cloud/scripts/examples/k8s-validate.sh +40 -0
- package/packages/plugin-cloud/scripts/examples/terraform-init.sh +26 -0
- package/packages/plugin-core/README.md +274 -0
- package/packages/plugin-core/commands/code-rabbit.md +128 -0
- package/packages/plugin-core/commands/prompt.md +9 -0
- package/packages/plugin-core/commands/re-init.md +9 -0
- package/packages/plugin-core/hooks/context7-reminder.md +29 -0
- package/packages/plugin-core/hooks/enforce-agents.js +125 -0
- package/packages/plugin-core/hooks/enforce-agents.sh +35 -0
- package/packages/plugin-core/hooks/pre-agent-context7.js +224 -0
- package/packages/plugin-core/hooks/pre-command-context7.js +229 -0
- package/packages/plugin-core/hooks/strict-enforce-agents.sh +39 -0
- package/packages/plugin-core/hooks/test-hook.sh +21 -0
- package/packages/plugin-core/hooks/unified-context7-enforcement.sh +38 -0
- package/packages/plugin-core/package.json +45 -0
- package/packages/plugin-core/plugin.json +387 -0
- package/packages/plugin-core/rules/agent-coordination.md +549 -0
- package/packages/plugin-core/rules/agent-mandatory.md +170 -0
- package/packages/plugin-core/rules/command-pipelines.md +208 -0
- package/packages/plugin-core/rules/context-optimization.md +176 -0
- package/packages/plugin-core/rules/context7-enforcement.md +327 -0
- package/packages/plugin-core/rules/datetime.md +122 -0
- package/packages/plugin-core/rules/definition-of-done.md +272 -0
- package/packages/plugin-core/rules/development-environments.md +19 -0
- package/packages/plugin-core/rules/development-workflow.md +198 -0
- package/packages/plugin-core/rules/framework-path-rules.md +180 -0
- package/packages/plugin-core/rules/frontmatter-operations.md +64 -0
- package/packages/plugin-core/rules/git-strategy.md +237 -0
- package/packages/plugin-core/rules/golden-rules.md +181 -0
- package/packages/plugin-core/rules/naming-conventions.md +111 -0
- package/packages/plugin-core/rules/no-pr-workflow.md +183 -0
- package/packages/plugin-core/rules/pipeline-mandatory.md +109 -0
- package/packages/plugin-core/rules/security-checklist.md +318 -0
- package/packages/plugin-core/rules/standard-patterns.md +197 -0
- package/packages/plugin-core/rules/strip-frontmatter.md +85 -0
- package/packages/plugin-core/rules/tdd.enforcement.md +103 -0
- package/packages/plugin-core/rules/use-ast-grep.md +113 -0
- package/packages/plugin-core/scripts/lib/datetime-utils.sh +254 -0
- package/packages/plugin-core/scripts/lib/frontmatter-utils.sh +294 -0
- package/packages/plugin-core/scripts/lib/github-utils.sh +221 -0
- package/packages/plugin-core/scripts/lib/logging-utils.sh +199 -0
- package/packages/plugin-core/scripts/lib/validation-utils.sh +339 -0
- package/packages/plugin-core/scripts/mcp/add.sh +7 -0
- package/packages/plugin-core/scripts/mcp/disable.sh +12 -0
- package/packages/plugin-core/scripts/mcp/enable.sh +12 -0
- package/packages/plugin-core/scripts/mcp/list.sh +7 -0
- package/packages/plugin-core/scripts/mcp/sync.sh +8 -0
- package/packages/plugin-data/README.md +315 -0
- package/packages/plugin-data/agents/airflow-orchestration-expert.md +158 -0
- package/packages/plugin-data/agents/kedro-pipeline-expert.md +304 -0
- package/packages/plugin-data/agents/langgraph-workflow-expert.md +530 -0
- package/packages/plugin-data/commands/airflow-dag-scaffold.md +413 -0
- package/packages/plugin-data/commands/kafka-pipeline-scaffold.md +503 -0
- package/packages/plugin-data/package.json +66 -0
- package/packages/plugin-data/plugin.json +294 -0
- package/packages/plugin-data/rules/data-quality-standards.md +373 -0
- package/packages/plugin-data/rules/etl-pipeline-standards.md +255 -0
- package/packages/plugin-data/scripts/examples/airflow-dag-example.py +245 -0
- package/packages/plugin-data/scripts/examples/dbt-transform-example.sql +238 -0
- package/packages/plugin-data/scripts/examples/kafka-streaming-example.py +257 -0
- package/packages/plugin-data/scripts/examples/pandas-etl-example.py +332 -0
- package/packages/plugin-databases/README.md +330 -0
- package/{autopm/.claude/agents/databases → packages/plugin-databases/agents}/bigquery-expert.md +24 -15
- package/{autopm/.claude/agents/databases → packages/plugin-databases/agents}/cosmosdb-expert.md +22 -15
- package/{autopm/.claude/agents/databases → packages/plugin-databases/agents}/mongodb-expert.md +24 -15
- package/{autopm/.claude/agents/databases → packages/plugin-databases/agents}/postgresql-expert.md +23 -15
- package/{autopm/.claude/agents/databases → packages/plugin-databases/agents}/redis-expert.md +29 -7
- package/packages/plugin-databases/commands/db-optimize.md +612 -0
- package/packages/plugin-databases/package.json +60 -0
- package/packages/plugin-databases/plugin.json +237 -0
- package/packages/plugin-databases/rules/database-management-strategy.md +146 -0
- package/packages/plugin-databases/rules/database-pipeline.md +316 -0
- package/packages/plugin-databases/scripts/examples/bigquery-cost-analyze.sh +160 -0
- package/packages/plugin-databases/scripts/examples/cosmosdb-ru-optimize.sh +163 -0
- package/packages/plugin-databases/scripts/examples/mongodb-shard-check.sh +120 -0
- package/packages/plugin-databases/scripts/examples/postgres-index-analyze.sh +95 -0
- package/packages/plugin-databases/scripts/examples/redis-cache-stats.sh +121 -0
- package/packages/plugin-devops/README.md +367 -0
- package/{autopm/.claude/agents/devops → packages/plugin-devops/agents}/github-operations-specialist.md +1 -1
- package/packages/plugin-devops/commands/ci-pipeline-create.md +581 -0
- package/packages/plugin-devops/commands/docker-optimize.md +493 -0
- package/packages/plugin-devops/hooks/pre-docker-build.js +472 -0
- package/packages/plugin-devops/package.json +61 -0
- package/packages/plugin-devops/plugin.json +302 -0
- package/packages/plugin-devops/rules/github-operations.md +92 -0
- package/packages/plugin-devops/scripts/examples/docker-build-multistage.sh +43 -0
- package/packages/plugin-devops/scripts/examples/docker-compose-validate.sh +74 -0
- package/packages/plugin-devops/scripts/examples/github-workflow-validate.sh +48 -0
- package/packages/plugin-devops/scripts/examples/prometheus-health-check.sh +58 -0
- package/packages/plugin-devops/scripts/examples/ssh-key-setup.sh +74 -0
- package/packages/plugin-frameworks/README.md +309 -0
- package/{autopm/.claude/agents/frameworks → packages/plugin-frameworks/agents}/e2e-test-engineer.md +219 -0
- package/{autopm/.claude/agents/frameworks → packages/plugin-frameworks/agents}/react-frontend-engineer.md +176 -0
- package/{autopm/.claude/agents/frameworks → packages/plugin-frameworks/agents}/tailwindcss-expert.md +251 -0
- package/packages/plugin-frameworks/commands/nextjs-optimize.md +692 -0
- package/packages/plugin-frameworks/commands/react-optimize.md +583 -0
- package/packages/plugin-frameworks/package.json +59 -0
- package/packages/plugin-frameworks/plugin.json +224 -0
- package/packages/plugin-frameworks/rules/performance-guidelines.md +403 -0
- package/packages/plugin-frameworks/scripts/examples/react-component-perf.sh +34 -0
- package/packages/plugin-frameworks/scripts/examples/tailwind-optimize.sh +44 -0
- package/packages/plugin-frameworks/scripts/examples/vue-composition-check.sh +41 -0
- package/packages/plugin-languages/README.md +333 -0
- package/packages/plugin-languages/commands/javascript-optimize.md +636 -0
- package/packages/plugin-languages/commands/nodejs-api-scaffold.md +341 -0
- package/packages/plugin-languages/commands/nodejs-optimize.md +689 -0
- package/packages/plugin-languages/commands/python-api-scaffold.md +261 -0
- package/packages/plugin-languages/commands/python-optimize.md +593 -0
- package/packages/plugin-languages/package.json +65 -0
- package/packages/plugin-languages/plugin.json +265 -0
- package/packages/plugin-languages/rules/code-quality-standards.md +496 -0
- package/packages/plugin-languages/rules/testing-standards.md +768 -0
- package/packages/plugin-languages/scripts/examples/bash-production-script.sh +520 -0
- package/packages/plugin-languages/scripts/examples/javascript-es6-patterns.js +291 -0
- package/packages/plugin-languages/scripts/examples/nodejs-async-iteration.js +360 -0
- package/packages/plugin-languages/scripts/examples/python-async-patterns.py +289 -0
- package/packages/plugin-languages/scripts/examples/typescript-patterns.ts +432 -0
- package/packages/plugin-ml/README.md +430 -0
- package/packages/plugin-ml/agents/automl-expert.md +326 -0
- package/packages/plugin-ml/agents/computer-vision-expert.md +550 -0
- package/packages/plugin-ml/agents/gradient-boosting-expert.md +455 -0
- package/packages/plugin-ml/agents/neural-network-architect.md +1228 -0
- package/packages/plugin-ml/agents/nlp-transformer-expert.md +584 -0
- package/packages/plugin-ml/agents/pytorch-expert.md +412 -0
- package/packages/plugin-ml/agents/reinforcement-learning-expert.md +2088 -0
- package/packages/plugin-ml/agents/scikit-learn-expert.md +228 -0
- package/packages/plugin-ml/agents/tensorflow-keras-expert.md +509 -0
- package/packages/plugin-ml/agents/time-series-expert.md +303 -0
- package/packages/plugin-ml/commands/ml-automl.md +572 -0
- package/packages/plugin-ml/commands/ml-train-optimize.md +657 -0
- package/packages/plugin-ml/package.json +52 -0
- package/packages/plugin-ml/plugin.json +338 -0
- package/packages/plugin-pm/README.md +368 -0
- package/packages/plugin-pm/claudeautopm-plugin-pm-2.0.0.tgz +0 -0
- package/packages/plugin-pm/commands/github/workflow-create.md +42 -0
- package/packages/plugin-pm/package.json +57 -0
- package/packages/plugin-pm/plugin.json +503 -0
- package/packages/plugin-testing/README.md +401 -0
- package/{autopm/.claude/agents/testing → packages/plugin-testing/agents}/frontend-testing-engineer.md +373 -0
- package/packages/plugin-testing/commands/jest-optimize.md +800 -0
- package/packages/plugin-testing/commands/playwright-optimize.md +887 -0
- package/packages/plugin-testing/commands/test-coverage.md +512 -0
- package/packages/plugin-testing/commands/test-performance.md +1041 -0
- package/packages/plugin-testing/commands/test-setup.md +414 -0
- package/packages/plugin-testing/package.json +40 -0
- package/packages/plugin-testing/plugin.json +197 -0
- package/packages/plugin-testing/rules/test-coverage-requirements.md +581 -0
- package/packages/plugin-testing/rules/testing-standards.md +529 -0
- package/packages/plugin-testing/scripts/examples/react-testing-example.test.jsx +460 -0
- package/packages/plugin-testing/scripts/examples/vitest-config-example.js +352 -0
- package/packages/plugin-testing/scripts/examples/vue-testing-example.test.js +586 -0
- package/scripts/publish-plugins.sh +166 -0
- package/autopm/.claude/agents/data/airflow-orchestration-expert.md +0 -52
- package/autopm/.claude/agents/data/kedro-pipeline-expert.md +0 -50
- package/autopm/.claude/agents/integration/message-queue-engineer.md +0 -794
- package/autopm/.claude/commands/ai/langgraph-workflow.md +0 -65
- package/autopm/.claude/commands/ai/openai-chat.md +0 -65
- package/autopm/.claude/commands/playwright/test-scaffold.md +0 -38
- package/autopm/.claude/commands/python/api-scaffold.md +0 -50
- package/autopm/.claude/commands/python/docs-query.md +0 -48
- package/autopm/.claude/commands/testing/prime.md +0 -314
- package/autopm/.claude/commands/testing/run.md +0 -125
- package/autopm/.claude/commands/ui/bootstrap-scaffold.md +0 -65
- package/autopm/.claude/rules/database-management-strategy.md +0 -17
- package/autopm/.claude/rules/database-pipeline.md +0 -94
- package/autopm/.claude/rules/ux-design-rules.md +0 -209
- package/autopm/.claude/rules/visual-testing.md +0 -223
- package/autopm/.claude/scripts/azure/README.md +0 -192
- package/autopm/.claude/scripts/azure/active-work.js +0 -524
- package/autopm/.claude/scripts/azure/active-work.sh +0 -20
- package/autopm/.claude/scripts/azure/blocked.js +0 -520
- package/autopm/.claude/scripts/azure/blocked.sh +0 -20
- package/autopm/.claude/scripts/azure/daily.js +0 -533
- package/autopm/.claude/scripts/azure/daily.sh +0 -20
- package/autopm/.claude/scripts/azure/dashboard.js +0 -970
- package/autopm/.claude/scripts/azure/dashboard.sh +0 -20
- package/autopm/.claude/scripts/azure/feature-list.js +0 -254
- package/autopm/.claude/scripts/azure/feature-list.sh +0 -20
- package/autopm/.claude/scripts/azure/feature-show.js +0 -7
- package/autopm/.claude/scripts/azure/feature-show.sh +0 -20
- package/autopm/.claude/scripts/azure/feature-status.js +0 -604
- package/autopm/.claude/scripts/azure/feature-status.sh +0 -20
- package/autopm/.claude/scripts/azure/help.js +0 -342
- package/autopm/.claude/scripts/azure/help.sh +0 -20
- package/autopm/.claude/scripts/azure/next-task.js +0 -508
- package/autopm/.claude/scripts/azure/next-task.sh +0 -20
- package/autopm/.claude/scripts/azure/search.js +0 -469
- package/autopm/.claude/scripts/azure/search.sh +0 -20
- package/autopm/.claude/scripts/azure/setup.js +0 -745
- package/autopm/.claude/scripts/azure/setup.sh +0 -20
- package/autopm/.claude/scripts/azure/sprint-report.js +0 -1012
- package/autopm/.claude/scripts/azure/sprint-report.sh +0 -20
- package/autopm/.claude/scripts/azure/sync.js +0 -563
- package/autopm/.claude/scripts/azure/sync.sh +0 -20
- package/autopm/.claude/scripts/azure/us-list.js +0 -210
- package/autopm/.claude/scripts/azure/us-list.sh +0 -20
- package/autopm/.claude/scripts/azure/us-status.js +0 -238
- package/autopm/.claude/scripts/azure/us-status.sh +0 -20
- package/autopm/.claude/scripts/azure/validate.js +0 -626
- package/autopm/.claude/scripts/azure/validate.sh +0 -20
- package/autopm/.claude/scripts/azure/wrapper-template.sh +0 -20
- package/autopm/.claude/scripts/github/dependency-tracker.js +0 -554
- package/autopm/.claude/scripts/github/dependency-validator.js +0 -545
- package/autopm/.claude/scripts/github/dependency-visualizer.js +0 -477
- package/bin/node/azure-feature-show.js +0 -7
- /package/{autopm/.claude/agents/cloud → packages/plugin-ai/agents}/gemini-api-expert.md +0 -0
- /package/{autopm/.claude/agents/data → packages/plugin-ai/agents}/langgraph-workflow-expert.md +0 -0
- /package/{autopm/.claude/agents/cloud → packages/plugin-ai/agents}/openai-python-expert.md +0 -0
- /package/{autopm/.claude/agents/cloud → packages/plugin-cloud/agents}/README.md +0 -0
- /package/{autopm/.claude/agents/cloud → packages/plugin-cloud/agents}/aws-cloud-architect.md +0 -0
- /package/{autopm/.claude/agents/cloud → packages/plugin-cloud/agents}/azure-cloud-architect.md +0 -0
- /package/{autopm/.claude/agents/cloud → packages/plugin-cloud/agents}/gcp-cloud-architect.md +0 -0
- /package/{autopm/.claude/agents/cloud → packages/plugin-cloud/agents}/gcp-cloud-functions-engineer.md +0 -0
- /package/{autopm/.claude/agents/cloud → packages/plugin-cloud/agents}/kubernetes-orchestrator.md +0 -0
- /package/{autopm/.claude/agents/cloud → packages/plugin-cloud/agents}/terraform-infrastructure-expert.md +0 -0
- /package/{autopm/.claude/commands/cloud → packages/plugin-cloud/commands}/infra-deploy.md +0 -0
- /package/{autopm/.claude/commands/kubernetes/deploy.md → packages/plugin-cloud/commands/k8s-deploy.md} +0 -0
- /package/{autopm/.claude/commands/infrastructure → packages/plugin-cloud/commands}/ssh-security.md +0 -0
- /package/{autopm/.claude/commands/infrastructure → packages/plugin-cloud/commands}/traefik-setup.md +0 -0
- /package/{autopm/.claude → packages/plugin-cloud}/rules/infrastructure-pipeline.md +0 -0
- /package/{autopm/.claude → packages/plugin-core}/agents/core/agent-manager.md +0 -0
- /package/{autopm/.claude → packages/plugin-core}/agents/core/code-analyzer.md +0 -0
- /package/{autopm/.claude → packages/plugin-core}/agents/core/file-analyzer.md +0 -0
- /package/{autopm/.claude → packages/plugin-core}/agents/core/test-runner.md +0 -0
- /package/{autopm/.claude → packages/plugin-core}/rules/ai-integration-patterns.md +0 -0
- /package/{autopm/.claude → packages/plugin-core}/rules/performance-guidelines.md +0 -0
- /package/{autopm/.claude/agents/databases → packages/plugin-databases/agents}/README.md +0 -0
- /package/{autopm/.claude/agents/devops → packages/plugin-devops/agents}/README.md +0 -0
- /package/{autopm/.claude/agents/devops → packages/plugin-devops/agents}/azure-devops-specialist.md +0 -0
- /package/{autopm/.claude/agents/devops → packages/plugin-devops/agents}/docker-containerization-expert.md +0 -0
- /package/{autopm/.claude/agents/devops → packages/plugin-devops/agents}/mcp-context-manager.md +0 -0
- /package/{autopm/.claude/agents/devops → packages/plugin-devops/agents}/observability-engineer.md +0 -0
- /package/{autopm/.claude/agents/devops → packages/plugin-devops/agents}/ssh-operations-expert.md +0 -0
- /package/{autopm/.claude/agents/devops → packages/plugin-devops/agents}/traefik-proxy-expert.md +0 -0
- /package/{autopm/.claude/commands/github → packages/plugin-devops/commands}/workflow-create.md +0 -0
- /package/{autopm/.claude → packages/plugin-devops}/rules/ci-cd-kubernetes-strategy.md +0 -0
- /package/{autopm/.claude → packages/plugin-devops}/rules/devops-troubleshooting-playbook.md +0 -0
- /package/{autopm/.claude → packages/plugin-devops}/rules/docker-first-development.md +0 -0
- /package/{autopm/.claude/agents/frameworks → packages/plugin-frameworks/agents}/README.md +0 -0
- /package/{autopm/.claude/agents/frameworks → packages/plugin-frameworks/agents}/nats-messaging-expert.md +0 -0
- /package/{autopm/.claude/agents/frameworks → packages/plugin-frameworks/agents}/react-ui-expert.md +0 -0
- /package/{autopm/.claude/agents/frameworks → packages/plugin-frameworks/agents}/ux-design-expert.md +0 -0
- /package/{autopm/.claude/commands/react → packages/plugin-frameworks/commands}/app-scaffold.md +0 -0
- /package/{autopm/.claude/commands/ui → packages/plugin-frameworks/commands}/tailwind-system.md +0 -0
- /package/{autopm/.claude → packages/plugin-frameworks}/rules/ui-development-standards.md +0 -0
- /package/{autopm/.claude → packages/plugin-frameworks}/rules/ui-framework-rules.md +0 -0
- /package/{autopm/.claude/agents/languages → packages/plugin-languages/agents}/README.md +0 -0
- /package/{autopm/.claude/agents/languages → packages/plugin-languages/agents}/bash-scripting-expert.md +0 -0
- /package/{autopm/.claude/agents/languages → packages/plugin-languages/agents}/javascript-frontend-engineer.md +0 -0
- /package/{autopm/.claude/agents/languages → packages/plugin-languages/agents}/nodejs-backend-engineer.md +0 -0
- /package/{autopm/.claude/agents/languages → packages/plugin-languages/agents}/python-backend-engineer.md +0 -0
- /package/{autopm/.claude/agents/languages → packages/plugin-languages/agents}/python-backend-expert.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/COMMANDS.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/COMMAND_MAPPING.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/INTEGRATION_FIX.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/README.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/active-work.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/aliases.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/blocked-items.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/clean.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/docs-query.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/feature-decompose.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/feature-list.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/feature-new.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/feature-show.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/feature-start.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/fix-integration-example.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/help.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/import-us.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/init.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/next-task.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/search.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/sprint-status.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/standup.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/sync-all.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/task-analyze.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/task-close.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/task-edit.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/task-list.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/task-new.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/task-reopen.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/task-show.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/task-start.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/task-status.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/task-sync.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/us-edit.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/us-list.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/us-new.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/us-parse.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/us-show.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/us-status.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/validate.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/work-item-sync.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/blocked.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/clean.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/context-create.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/context-prime.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/context-update.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/context.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-close.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-decompose.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-edit.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-list.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-merge.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-oneshot.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-refresh.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-show.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-split.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-start.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-status.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-sync-modular.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-sync-original.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-sync.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/help.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/import.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/in-progress.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/init.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/issue-analyze.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/issue-close.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/issue-edit.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/issue-reopen.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/issue-show.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/issue-start.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/issue-status.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/issue-sync.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/next.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/prd-edit.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/prd-list.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/prd-new.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/prd-parse.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/prd-status.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/search.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/standup.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/status.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/sync.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/test-reference-update.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/validate.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/what-next.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/analytics.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/blocked.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/blocked.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/clean.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/context-create.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/context-prime.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/context-update.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/context.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-close.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-edit.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-list.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-list.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-show.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-show.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-split.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-start/epic-start.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-start/epic-start.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-status.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-status.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-sync/README.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-sync/create-epic-issue.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-sync/create-task-issues.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-sync/update-epic-file.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-sync/update-references.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-sync.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/help.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/help.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/in-progress.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/in-progress.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/init.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/init.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/issue-close.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/issue-edit.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/issue-show.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/issue-start.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/issue-sync/format-comment.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/issue-sync/gather-updates.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/issue-sync/post-comment.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/issue-sync/preflight-validation.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/issue-sync/update-frontmatter.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/lib/README.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/lib/epic-discovery.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/lib/logger.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/next.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/next.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/optimize.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/pr-create.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/pr-list.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/prd-list.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/prd-list.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/prd-new.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/prd-parse.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/prd-status.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/prd-status.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/release.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/search.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/search.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/standup.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/standup.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/status.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/status.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/sync-batch.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/sync.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/template-list.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/template-new.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/validate.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/validate.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/what-next.js +0 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Rule: Development Environments & Workflow
|
|
2
|
+
|
|
3
|
+
This document defines the two primary development environments for this project.
|
|
4
|
+
|
|
5
|
+
## 1. Local Development Environment (Docker-First)
|
|
6
|
+
|
|
7
|
+
The local development workflow MUST remain pure `docker-compose`. This ensures zero disruption for developers and maintains a fast, familiar iteration cycle.
|
|
8
|
+
|
|
9
|
+
- **Tooling**: `docker compose up`, `docker build`, `docker run`.
|
|
10
|
+
- **Configuration**: `docker-compose.yml` and `docker-compose.dev.yml`.
|
|
11
|
+
- **Philosophy**: Developers should not need to learn `kubectl` or Kubernetes for local work. The experience is seamless and unchanged.
|
|
12
|
+
|
|
13
|
+
## 2. CI/CD Environment (Kubernetes-Native)
|
|
14
|
+
|
|
15
|
+
All automated testing and continuous integration processes run directly on our Kubernetes cluster which uses `containerd`. The Docker daemon is NOT available on these runners.
|
|
16
|
+
|
|
17
|
+
- **Tooling**: `kubectl`, `nerdctl` (for building Dockerfiles).
|
|
18
|
+
- **Philosophy**: CI/CD pipelines MUST mirror the production environment as closely as possible. We build and test in the same way we deploy.
|
|
19
|
+
- **Artifacts**: The `Dockerfiles` from the repository are the source of truth and are used by `nerdctl` to build images within the CI/CD pipeline.
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
# Development Workflow Standards
|
|
2
|
+
|
|
3
|
+
> **CRITICAL**: Systematic approach to every development task.
|
|
4
|
+
|
|
5
|
+
## Before ANY Implementation
|
|
6
|
+
|
|
7
|
+
### Required Preparation
|
|
8
|
+
|
|
9
|
+
1. Check existing codebase for similar functions
|
|
10
|
+
2. Read naming conventions from existing code
|
|
11
|
+
3. Understand current architecture patterns
|
|
12
|
+
4. Plan test cases first
|
|
13
|
+
5. Identify which agents to use
|
|
14
|
+
|
|
15
|
+
### Codebase Analysis
|
|
16
|
+
|
|
17
|
+
- Search for existing implementations
|
|
18
|
+
- Verify no duplication will occur
|
|
19
|
+
- Understand dependencies
|
|
20
|
+
- Check for related tests
|
|
21
|
+
- Review error handling patterns
|
|
22
|
+
|
|
23
|
+
## During Implementation
|
|
24
|
+
|
|
25
|
+
### Mandatory Practices
|
|
26
|
+
|
|
27
|
+
1. Follow TDD cycle religiously
|
|
28
|
+
2. Use appropriate agents for context management
|
|
29
|
+
3. Never bypass agent pipelines
|
|
30
|
+
4. Maintain consistent naming
|
|
31
|
+
5. Write verbose tests for debugging
|
|
32
|
+
|
|
33
|
+
### Quality Checkpoints
|
|
34
|
+
|
|
35
|
+
- After each test: Verify it fails correctly
|
|
36
|
+
- After each implementation: Verify minimal code
|
|
37
|
+
- After each refactor: Verify tests still pass
|
|
38
|
+
- Before commit: Run full test suite
|
|
39
|
+
|
|
40
|
+
## After Implementation
|
|
41
|
+
|
|
42
|
+
### Required Verification
|
|
43
|
+
|
|
44
|
+
1. Run full test suite via test-runner
|
|
45
|
+
2. Use code-analyzer for final review
|
|
46
|
+
3. Update documentation ONLY if requested
|
|
47
|
+
4. Document patterns in CLAUDE.md if new
|
|
48
|
+
5. Verify no resource leaks
|
|
49
|
+
|
|
50
|
+
### Cleanup Tasks
|
|
51
|
+
|
|
52
|
+
- Remove any debug code
|
|
53
|
+
- Clean up test artifacts
|
|
54
|
+
- Close any open resources
|
|
55
|
+
- Update status tracking
|
|
56
|
+
- Clear any temporary files
|
|
57
|
+
|
|
58
|
+
## Development Patterns
|
|
59
|
+
|
|
60
|
+
### Search Before Create
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
ALWAYS:
|
|
64
|
+
1. Search for existing function
|
|
65
|
+
2. Check for similar patterns
|
|
66
|
+
3. Verify not duplicating
|
|
67
|
+
4. Only then create new
|
|
68
|
+
|
|
69
|
+
NEVER:
|
|
70
|
+
- Assume function doesn't exist
|
|
71
|
+
- Create without searching
|
|
72
|
+
- Duplicate existing logic
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### Test Before Code
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
ALWAYS:
|
|
79
|
+
1. Write failing test first
|
|
80
|
+
2. Run test to see failure
|
|
81
|
+
3. Write minimal code
|
|
82
|
+
4. Verify test passes
|
|
83
|
+
5. Refactor if needed
|
|
84
|
+
|
|
85
|
+
NEVER:
|
|
86
|
+
- Write code without test
|
|
87
|
+
- Skip test execution
|
|
88
|
+
- Write complex code first
|
|
89
|
+
- Assume test will pass
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### Agent Before Direct
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
ALWAYS:
|
|
96
|
+
1. Use file-analyzer for file reads
|
|
97
|
+
2. Use code-analyzer for searches
|
|
98
|
+
3. Use test-runner for tests
|
|
99
|
+
4. Use parallel-worker for multi-file
|
|
100
|
+
|
|
101
|
+
NEVER:
|
|
102
|
+
- Use grep directly
|
|
103
|
+
- Use cat/head/tail directly
|
|
104
|
+
- Run tests manually
|
|
105
|
+
- Process files sequentially
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Error Handling Patterns
|
|
109
|
+
|
|
110
|
+
### When Error Occurs
|
|
111
|
+
|
|
112
|
+
1. Stop immediately
|
|
113
|
+
2. Activate ERROR HANDLING PIPELINE
|
|
114
|
+
3. Write test to reproduce
|
|
115
|
+
4. Fix with minimal change
|
|
116
|
+
5. Verify all tests pass
|
|
117
|
+
6. Document error pattern
|
|
118
|
+
|
|
119
|
+
### Prevention Strategy
|
|
120
|
+
|
|
121
|
+
- Defensive coding
|
|
122
|
+
- Input validation
|
|
123
|
+
- Resource cleanup
|
|
124
|
+
- Error propagation
|
|
125
|
+
- Graceful degradation
|
|
126
|
+
|
|
127
|
+
## Performance Considerations
|
|
128
|
+
|
|
129
|
+
### Optimization Rules
|
|
130
|
+
|
|
131
|
+
- Profile before optimizing
|
|
132
|
+
- Optimize algorithms first
|
|
133
|
+
- Then optimize implementation
|
|
134
|
+
- Cache expensive operations
|
|
135
|
+
- Batch similar operations
|
|
136
|
+
|
|
137
|
+
### Anti-Patterns
|
|
138
|
+
|
|
139
|
+
- ❌ Premature optimization
|
|
140
|
+
- ❌ Micro-optimizations
|
|
141
|
+
- ❌ Ignoring algorithmic complexity
|
|
142
|
+
- ❌ Not measuring impact
|
|
143
|
+
|
|
144
|
+
## Continuous Improvement
|
|
145
|
+
|
|
146
|
+
### Learn From Each Task
|
|
147
|
+
|
|
148
|
+
1. Document new patterns discovered
|
|
149
|
+
2. Update CLAUDE.md with learnings
|
|
150
|
+
3. Create new agent if pattern repeats
|
|
151
|
+
4. Improve pipeline efficiency
|
|
152
|
+
5. Share knowledge in rules
|
|
153
|
+
|
|
154
|
+
### Metrics to Track
|
|
155
|
+
|
|
156
|
+
- Test coverage percentage
|
|
157
|
+
- Agent utilization rate
|
|
158
|
+
- Context efficiency ratio
|
|
159
|
+
- Pipeline completion rate
|
|
160
|
+
- Error frequency trends
|
|
161
|
+
|
|
162
|
+
## Success Indicators
|
|
163
|
+
|
|
164
|
+
### Task Completion
|
|
165
|
+
|
|
166
|
+
- ✅ All tests passing
|
|
167
|
+
- ✅ No code duplication
|
|
168
|
+
- ✅ Consistent naming
|
|
169
|
+
- ✅ Proper error handling
|
|
170
|
+
- ✅ Resources cleaned up
|
|
171
|
+
- ✅ Documentation current
|
|
172
|
+
- ✅ Patterns documented
|
|
173
|
+
|
|
174
|
+
### Quality Markers
|
|
175
|
+
|
|
176
|
+
- ✅ TDD cycle followed
|
|
177
|
+
- ✅ Agents used appropriately
|
|
178
|
+
- ✅ Context optimized
|
|
179
|
+
- ✅ Pipelines completed
|
|
180
|
+
- ✅ No technical debt
|
|
181
|
+
|
|
182
|
+
## Enforcement
|
|
183
|
+
|
|
184
|
+
### Violation Response
|
|
185
|
+
|
|
186
|
+
1. Stop current approach
|
|
187
|
+
2. Identify violation type
|
|
188
|
+
3. Correct using proper workflow
|
|
189
|
+
4. Document lesson learned
|
|
190
|
+
5. Update relevant rules
|
|
191
|
+
|
|
192
|
+
### Prevention Focus
|
|
193
|
+
|
|
194
|
+
- Checklists before starting
|
|
195
|
+
- Agent delegation habits
|
|
196
|
+
- TDD discipline
|
|
197
|
+
- Regular rule review
|
|
198
|
+
- Continuous learning
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
# Framework Path Rules
|
|
2
|
+
|
|
3
|
+
## Critical Path Convention
|
|
4
|
+
|
|
5
|
+
**NEVER** hardcode the `autopm/` directory path in framework files. The `autopm/` directory only exists during development and is **NOT** present after installation in user projects.
|
|
6
|
+
|
|
7
|
+
## The Problem
|
|
8
|
+
|
|
9
|
+
During installation, files from `autopm/.claude/` are copied to user projects as `.claude/`. Any references to `autopm/.claude/` or `autopm/scripts/` will be broken after installation.
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
❌ WRONG (Development structure):
|
|
13
|
+
autopm/
|
|
14
|
+
├── .claude/
|
|
15
|
+
│ ├── commands/
|
|
16
|
+
│ ├── scripts/
|
|
17
|
+
│ └── agents/
|
|
18
|
+
|
|
19
|
+
✅ CORRECT (After installation):
|
|
20
|
+
user-project/
|
|
21
|
+
├── .claude/
|
|
22
|
+
│ ├── commands/
|
|
23
|
+
│ ├── scripts/
|
|
24
|
+
│ └── agents/
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Rules
|
|
28
|
+
|
|
29
|
+
### 1. Use Relative Paths from Project Root
|
|
30
|
+
|
|
31
|
+
All paths in framework files must be relative to the **user's project root** (where `.claude/` will exist after installation).
|
|
32
|
+
|
|
33
|
+
**✅ CORRECT:**
|
|
34
|
+
```bash
|
|
35
|
+
bash .claude/scripts/pm/epic-sync/create-epic-issue.sh "$EPIC_NAME"
|
|
36
|
+
node .claude/lib/commands/pm/prdStatus.js
|
|
37
|
+
source .claude/scripts/lib/github-utils.sh
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
**❌ WRONG:**
|
|
41
|
+
```bash
|
|
42
|
+
bash autopm/.claude/scripts/pm/epic-sync/create-epic-issue.sh "$EPIC_NAME"
|
|
43
|
+
node autopm/.claude/lib/commands/pm/prdStatus.js
|
|
44
|
+
source autopm/.claude/scripts/lib/github-utils.sh
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### 2. Exception: Comments and Documentation References
|
|
48
|
+
|
|
49
|
+
It's acceptable to reference `autopm/` in:
|
|
50
|
+
- Code comments explaining migration history
|
|
51
|
+
- Documentation describing the development structure
|
|
52
|
+
- Git commit messages
|
|
53
|
+
|
|
54
|
+
**✅ ACCEPTABLE:**
|
|
55
|
+
```javascript
|
|
56
|
+
/**
|
|
57
|
+
* Migrated from autopm/.claude/scripts/azure/validate.sh to Node.js
|
|
58
|
+
*/
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
**✅ ACCEPTABLE:**
|
|
62
|
+
```markdown
|
|
63
|
+
## Development Structure
|
|
64
|
+
During development, framework files are in `autopm/.claude/`, but after
|
|
65
|
+
installation they are copied to the user project's `.claude/` directory.
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### 3. Files That Must Follow These Rules
|
|
69
|
+
|
|
70
|
+
- **Commands** (`autopm/.claude/commands/**/*.md`)
|
|
71
|
+
- **Scripts** (`autopm/.claude/scripts/**/*.sh`, `**/*.js`)
|
|
72
|
+
- **Agents** (`autopm/.claude/agents/**/*.md`)
|
|
73
|
+
- **Rules** (`autopm/.claude/rules/**/*.md`)
|
|
74
|
+
- **Templates** (`autopm/.claude/templates/**/*`)
|
|
75
|
+
|
|
76
|
+
### 4. Environment Variables
|
|
77
|
+
|
|
78
|
+
If you need to reference the framework location dynamically, use environment variables that work in both contexts:
|
|
79
|
+
|
|
80
|
+
**✅ CORRECT:**
|
|
81
|
+
```bash
|
|
82
|
+
CLAUDE_DIR="${CLAUDE_DIR:-.claude}"
|
|
83
|
+
bash "${CLAUDE_DIR}/scripts/pm/epic-sync/create-epic-issue.sh"
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
This allows:
|
|
87
|
+
- Development: `CLAUDE_DIR=autopm/.claude`
|
|
88
|
+
- Production: `CLAUDE_DIR=.claude` (default)
|
|
89
|
+
|
|
90
|
+
## Validation
|
|
91
|
+
|
|
92
|
+
### Pre-Commit Hook
|
|
93
|
+
|
|
94
|
+
A pre-commit hook validates all framework files before commit:
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
# Checks for hardcoded autopm/ paths (excluding comments)
|
|
98
|
+
grep -r "bash autopm" autopm/.claude --include="*.md" --include="*.sh"
|
|
99
|
+
grep -r "node autopm" autopm/.claude --include="*.md" --include="*.sh"
|
|
100
|
+
grep -r "source autopm" autopm/.claude --include="*.md" --include="*.sh"
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Manual Check
|
|
104
|
+
|
|
105
|
+
Before committing changes to framework files:
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
# Run validation
|
|
109
|
+
npm run validate:paths
|
|
110
|
+
|
|
111
|
+
# Or manually
|
|
112
|
+
./scripts/validate-framework-paths.sh
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## Common Mistakes
|
|
116
|
+
|
|
117
|
+
### Mistake 1: Copy-Paste from Development Environment
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
# ❌ Copying terminal command that worked in development
|
|
121
|
+
bash autopm/.claude/scripts/pm/epic-sync/create-epic-issue.sh "feature-name"
|
|
122
|
+
|
|
123
|
+
# ✅ Use project-relative path
|
|
124
|
+
bash .claude/scripts/pm/epic-sync/create-epic-issue.sh "feature-name"
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### Mistake 2: Documentation Examples
|
|
128
|
+
|
|
129
|
+
```markdown
|
|
130
|
+
❌ WRONG:
|
|
131
|
+
To run the script:
|
|
132
|
+
`bash autopm/.claude/scripts/pm/issue-sync/preflight-validation.sh`
|
|
133
|
+
|
|
134
|
+
✅ CORRECT:
|
|
135
|
+
To run the script:
|
|
136
|
+
`bash .claude/scripts/pm/issue-sync/preflight-validation.sh`
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### Mistake 3: Relative Imports in Scripts
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
# ❌ WRONG - hardcoded framework path
|
|
143
|
+
source autopm/.claude/scripts/lib/github-utils.sh
|
|
144
|
+
|
|
145
|
+
# ✅ CORRECT - relative to project root
|
|
146
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
147
|
+
source "${SCRIPT_DIR}/../lib/github-utils.sh"
|
|
148
|
+
|
|
149
|
+
# ✅ ALSO CORRECT - explicit project root
|
|
150
|
+
source .claude/scripts/lib/github-utils.sh
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## Enforcement
|
|
154
|
+
|
|
155
|
+
This rule is enforced by:
|
|
156
|
+
|
|
157
|
+
1. **Pre-commit hook** - Blocks commits with hardcoded `autopm/` paths
|
|
158
|
+
2. **CI/CD validation** - GitHub Actions check on every PR
|
|
159
|
+
3. **Installation tests** - Verify all paths work post-installation
|
|
160
|
+
4. **Code review** - Reviewers check for path correctness
|
|
161
|
+
|
|
162
|
+
## Quick Reference
|
|
163
|
+
|
|
164
|
+
| Context | Use | Don't Use |
|
|
165
|
+
|---------|-----|-----------|
|
|
166
|
+
| Shell scripts | `.claude/scripts/` | `autopm/.claude/scripts/` |
|
|
167
|
+
| Node.js scripts | `.claude/lib/` | `autopm/.claude/lib/` |
|
|
168
|
+
| Command files | `.claude/commands/` | `autopm/.claude/commands/` |
|
|
169
|
+
| Documentation | `.claude/agents/` | `autopm/.claude/agents/` |
|
|
170
|
+
| Comments | `autopm/` ✅ OK | N/A |
|
|
171
|
+
|
|
172
|
+
## Related Rules
|
|
173
|
+
|
|
174
|
+
- `/rules/naming-conventions.md` - File and directory naming
|
|
175
|
+
- `/rules/development-workflow.md` - Development best practices
|
|
176
|
+
- `/rules/golden-rules.md` - Core framework principles
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
**Remember:** If a user installs this framework, the `autopm/` directory will not exist in their project. All paths must work from their project root where `.claude/` is located.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Frontmatter Operations Rule
|
|
2
|
+
|
|
3
|
+
Standard patterns for working with YAML frontmatter in markdown files.
|
|
4
|
+
|
|
5
|
+
## Reading Frontmatter
|
|
6
|
+
|
|
7
|
+
Extract frontmatter from any markdown file:
|
|
8
|
+
|
|
9
|
+
1. Look for content between `---` markers at start of file
|
|
10
|
+
2. Parse as YAML
|
|
11
|
+
3. If invalid or missing, use sensible defaults
|
|
12
|
+
|
|
13
|
+
## Updating Frontmatter
|
|
14
|
+
|
|
15
|
+
When updating existing files:
|
|
16
|
+
|
|
17
|
+
1. Preserve all existing fields
|
|
18
|
+
2. Only update specified fields
|
|
19
|
+
3. Always update `updated` field with current datetime (see `/rules/datetime.md`)
|
|
20
|
+
|
|
21
|
+
## Standard Fields
|
|
22
|
+
|
|
23
|
+
### All Files
|
|
24
|
+
|
|
25
|
+
```yaml
|
|
26
|
+
---
|
|
27
|
+
name: {identifier}
|
|
28
|
+
created: {ISO datetime} # Never change after creation
|
|
29
|
+
updated: {ISO datetime} # Update on any modification
|
|
30
|
+
---
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Status Values
|
|
34
|
+
|
|
35
|
+
- PRDs: `backlog`, `in-progress`, `complete`
|
|
36
|
+
- Epics: `backlog`, `in-progress`, `completed`
|
|
37
|
+
- Tasks: `open`, `in-progress`, `closed`
|
|
38
|
+
|
|
39
|
+
### Progress Tracking
|
|
40
|
+
|
|
41
|
+
```yaml
|
|
42
|
+
progress: {0-100}% # For epics
|
|
43
|
+
completion: {0-100}% # For progress files
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Creating New Files
|
|
47
|
+
|
|
48
|
+
Always include frontmatter when creating markdown files:
|
|
49
|
+
|
|
50
|
+
```yaml
|
|
51
|
+
---
|
|
52
|
+
name: {from_arguments_or_context}
|
|
53
|
+
status: {initial_status}
|
|
54
|
+
created: {current_datetime}
|
|
55
|
+
updated: {current_datetime}
|
|
56
|
+
---
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Important Notes
|
|
60
|
+
|
|
61
|
+
- Never modify `created` field after initial creation
|
|
62
|
+
- Always use real datetime from system (see `/rules/datetime.md`)
|
|
63
|
+
- Validate frontmatter exists before trying to parse
|
|
64
|
+
- Use consistent field names across all files
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
# Unified Git Strategy for ClaudeAutoPM
|
|
2
|
+
|
|
3
|
+
This document defines the **SINGLE, AUTHORITATIVE** Git workflow for ClaudeAutoPM projects.
|
|
4
|
+
|
|
5
|
+
## Core Principle: Branch-Based Development
|
|
6
|
+
|
|
7
|
+
ClaudeAutoPM uses a **branch-based strategy** for all development work. This ensures simplicity, compatibility, and consistency across all environments and tools.
|
|
8
|
+
|
|
9
|
+
## Branch Hierarchy
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
main (or master)
|
|
13
|
+
├── epic/authentication
|
|
14
|
+
├── epic/dashboard
|
|
15
|
+
├── feature/issue-123
|
|
16
|
+
└── hotfix/critical-bug
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Creating Branches
|
|
20
|
+
|
|
21
|
+
Always create branches from a clean, updated main branch:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
# Ensure main is up to date
|
|
25
|
+
git checkout main
|
|
26
|
+
git pull origin main
|
|
27
|
+
|
|
28
|
+
# Create branch for epic
|
|
29
|
+
git checkout -b epic/{epic-name}
|
|
30
|
+
git push -u origin epic/{epic-name}
|
|
31
|
+
|
|
32
|
+
# Create branch for standalone issue
|
|
33
|
+
git checkout -b feature/issue-{number}
|
|
34
|
+
git push -u origin feature/issue-{number}
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Working in Branches
|
|
38
|
+
|
|
39
|
+
### Commit Standards
|
|
40
|
+
|
|
41
|
+
- **Small, focused commits**: Each commit should represent one logical change
|
|
42
|
+
- **Format**: `{type}(scope): {description} #{issue}`
|
|
43
|
+
- **Examples**:
|
|
44
|
+
- `feat(auth): Add JWT validation #123`
|
|
45
|
+
- `fix(api): Handle null response #456`
|
|
46
|
+
- `docs(readme): Update installation steps #789`
|
|
47
|
+
|
|
48
|
+
### Daily Workflow
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
# Start your day - get latest changes
|
|
52
|
+
git pull origin epic/{name}
|
|
53
|
+
|
|
54
|
+
# Make changes
|
|
55
|
+
git add {files}
|
|
56
|
+
git commit -m "feat(scope): Description #issue"
|
|
57
|
+
|
|
58
|
+
# Push changes regularly
|
|
59
|
+
git push origin epic/{name}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Parallel Agent Work
|
|
63
|
+
|
|
64
|
+
When multiple agents work on the same epic:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
# Agent A completes work
|
|
68
|
+
git add src/api/*
|
|
69
|
+
git commit -m "feat(api): Add user endpoints #123"
|
|
70
|
+
git push origin epic/{name}
|
|
71
|
+
|
|
72
|
+
# Agent B starts work - MUST PULL FIRST
|
|
73
|
+
git pull origin epic/{name}
|
|
74
|
+
git add src/ui/*
|
|
75
|
+
git commit -m "feat(ui): Add dashboard #124"
|
|
76
|
+
git push origin epic/{name}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Merging Strategy
|
|
80
|
+
|
|
81
|
+
### Pull Request Workflow
|
|
82
|
+
|
|
83
|
+
1. **Create PR when epic is ready**:
|
|
84
|
+
```bash
|
|
85
|
+
gh pr create --base main --head epic/{name} \
|
|
86
|
+
--title "Epic: {name}" \
|
|
87
|
+
--body "Closes #{epic-issue}"
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
2. **Review and merge via GitHub/Azure DevOps UI**
|
|
91
|
+
|
|
92
|
+
3. **Clean up after merge**:
|
|
93
|
+
```bash
|
|
94
|
+
git checkout main
|
|
95
|
+
git pull origin main
|
|
96
|
+
git branch -d epic/{name}
|
|
97
|
+
git push origin --delete epic/{name}
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Direct Merge (for automated workflows)
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
# Update main
|
|
104
|
+
git checkout main
|
|
105
|
+
git pull origin main
|
|
106
|
+
|
|
107
|
+
# Merge epic
|
|
108
|
+
git merge --no-ff epic/{name} -m "Merge epic: {name}"
|
|
109
|
+
git push origin main
|
|
110
|
+
|
|
111
|
+
# Clean up
|
|
112
|
+
git branch -d epic/{name}
|
|
113
|
+
git push origin --delete epic/{name}
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## Conflict Resolution
|
|
117
|
+
|
|
118
|
+
### Prevention is Key
|
|
119
|
+
|
|
120
|
+
1. **Pull frequently**: Always pull before starting work
|
|
121
|
+
2. **Communicate**: Use issue comments to coordinate file changes
|
|
122
|
+
3. **Small PRs**: Merge often to reduce conflict surface
|
|
123
|
+
|
|
124
|
+
### When Conflicts Occur
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
# During pull
|
|
128
|
+
git pull origin epic/{name}
|
|
129
|
+
# If conflicts occur, Git will notify you
|
|
130
|
+
|
|
131
|
+
# View conflicts
|
|
132
|
+
git status
|
|
133
|
+
|
|
134
|
+
# Resolve conflicts in your editor
|
|
135
|
+
# Then mark as resolved
|
|
136
|
+
git add {resolved-files}
|
|
137
|
+
git commit -m "resolve: Merge conflicts in {files}"
|
|
138
|
+
git push origin epic/{name}
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
## Branch Management
|
|
142
|
+
|
|
143
|
+
### Naming Conventions
|
|
144
|
+
|
|
145
|
+
- **Epics**: `epic/{epic-name}` (e.g., `epic/authentication`)
|
|
146
|
+
- **Features**: `feature/issue-{number}` (e.g., `feature/issue-123`)
|
|
147
|
+
- **Bugs**: `bugfix/issue-{number}` (e.g., `bugfix/issue-456`)
|
|
148
|
+
- **Hotfixes**: `hotfix/{description}` (e.g., `hotfix/security-patch`)
|
|
149
|
+
|
|
150
|
+
### Housekeeping
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
# List all branches
|
|
154
|
+
git branch -a
|
|
155
|
+
|
|
156
|
+
# Delete merged branches locally
|
|
157
|
+
git branch --merged | grep -v main | xargs -n 1 git branch -d
|
|
158
|
+
|
|
159
|
+
# Prune remote tracking branches
|
|
160
|
+
git remote prune origin
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
## Best Practices
|
|
164
|
+
|
|
165
|
+
1. **One branch per epic**: Keep epics isolated
|
|
166
|
+
2. **Update before work**: Always pull latest changes
|
|
167
|
+
3. **Commit frequently**: Small commits are easier to review
|
|
168
|
+
4. **Push regularly**: Keep remote in sync
|
|
169
|
+
5. **Clean up after merge**: Delete branches promptly
|
|
170
|
+
6. **Use descriptive names**: Clear branch names help everyone
|
|
171
|
+
|
|
172
|
+
## Integration with Providers
|
|
173
|
+
|
|
174
|
+
This Git strategy integrates seamlessly with:
|
|
175
|
+
|
|
176
|
+
- **GitHub**: Native branch support, PR workflows
|
|
177
|
+
- **Azure DevOps**: Branch policies, PR requirements
|
|
178
|
+
- **CI/CD**: All pipelines trigger on branch pushes
|
|
179
|
+
|
|
180
|
+
## Common Issues and Solutions
|
|
181
|
+
|
|
182
|
+
### Cannot push to branch
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
# Ensure you have the latest changes
|
|
186
|
+
git pull origin epic/{name} --rebase
|
|
187
|
+
|
|
188
|
+
# Force push if necessary (use with caution!)
|
|
189
|
+
git push origin epic/{name} --force-with-lease
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### Accidentally committed to main
|
|
193
|
+
|
|
194
|
+
```bash
|
|
195
|
+
# Create a new branch with your changes
|
|
196
|
+
git branch epic/{name}
|
|
197
|
+
|
|
198
|
+
# Reset main to origin
|
|
199
|
+
git reset --hard origin/main
|
|
200
|
+
|
|
201
|
+
# Switch to your new branch
|
|
202
|
+
git checkout epic/{name}
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### Need to switch context quickly
|
|
206
|
+
|
|
207
|
+
```bash
|
|
208
|
+
# Stash current changes
|
|
209
|
+
git stash save "WIP: Description"
|
|
210
|
+
|
|
211
|
+
# Switch branches
|
|
212
|
+
git checkout other-branch
|
|
213
|
+
|
|
214
|
+
# Later, restore changes
|
|
215
|
+
git checkout original-branch
|
|
216
|
+
git stash pop
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
## Migration Notice
|
|
220
|
+
|
|
221
|
+
**⚠️ IMPORTANT**: Git worktrees are NO LONGER SUPPORTED in ClaudeAutoPM. All development must use the branch strategy described in this document.
|
|
222
|
+
|
|
223
|
+
If you have existing worktrees:
|
|
224
|
+
1. Complete or stash any uncommitted work
|
|
225
|
+
2. Remove worktrees: `git worktree remove {path}`
|
|
226
|
+
3. Switch to branch-based workflow
|
|
227
|
+
|
|
228
|
+
## Summary
|
|
229
|
+
|
|
230
|
+
The branch-based Git strategy provides:
|
|
231
|
+
- ✅ Simplicity and familiarity
|
|
232
|
+
- ✅ Full tool compatibility
|
|
233
|
+
- ✅ Efficient CI/CD integration
|
|
234
|
+
- ✅ Clear, predictable workflows
|
|
235
|
+
- ✅ Minimal learning curve
|
|
236
|
+
|
|
237
|
+
This is the ONLY approved Git workflow for ClaudeAutoPM projects.
|