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,318 @@
|
|
|
1
|
+
# 🔒 Security Checklist
|
|
2
|
+
|
|
3
|
+
> **Security is not optional. Every deployment must pass ALL security checks.**
|
|
4
|
+
|
|
5
|
+
## Pre-Deployment Security Checklist
|
|
6
|
+
|
|
7
|
+
### 🔑 Authentication & Authorization
|
|
8
|
+
|
|
9
|
+
- [ ] Multi-factor authentication available
|
|
10
|
+
- [ ] Password complexity requirements enforced
|
|
11
|
+
- [ ] Session management secure (timeout, invalidation)
|
|
12
|
+
- [ ] JWT tokens properly validated and not expired
|
|
13
|
+
- [ ] API keys rotated regularly
|
|
14
|
+
- [ ] OAuth implementation follows best practices
|
|
15
|
+
- [ ] Role-based access control (RBAC) implemented
|
|
16
|
+
- [ ] Principle of least privilege applied
|
|
17
|
+
|
|
18
|
+
### 🔐 Data Protection
|
|
19
|
+
|
|
20
|
+
- [ ] All sensitive data encrypted at rest (AES-256)
|
|
21
|
+
- [ ] All sensitive data encrypted in transit (TLS 1.2+)
|
|
22
|
+
- [ ] PII data identified and protected
|
|
23
|
+
- [ ] Database connections use SSL
|
|
24
|
+
- [ ] Secrets stored in secure vault (not in code)
|
|
25
|
+
- [ ] Environment variables for configuration
|
|
26
|
+
- [ ] No sensitive data in logs
|
|
27
|
+
- [ ] Data retention policies implemented
|
|
28
|
+
|
|
29
|
+
### 🛡️ Input Validation & Sanitization
|
|
30
|
+
|
|
31
|
+
- [ ] All user inputs validated on server-side
|
|
32
|
+
- [ ] SQL injection prevention (parameterized queries)
|
|
33
|
+
- [ ] XSS protection (output encoding)
|
|
34
|
+
- [ ] XXE prevention (XML parsing secured)
|
|
35
|
+
- [ ] Command injection prevention
|
|
36
|
+
- [ ] Path traversal prevention
|
|
37
|
+
- [ ] File upload restrictions (type, size)
|
|
38
|
+
- [ ] CSRF tokens for state-changing operations
|
|
39
|
+
|
|
40
|
+
### 🌐 Network Security
|
|
41
|
+
|
|
42
|
+
- [ ] HTTPS enforced (HSTS enabled)
|
|
43
|
+
- [ ] Security headers configured:
|
|
44
|
+
- [ ] Content-Security-Policy
|
|
45
|
+
- [ ] X-Frame-Options
|
|
46
|
+
- [ ] X-Content-Type-Options
|
|
47
|
+
- [ ] Referrer-Policy
|
|
48
|
+
- [ ] Permissions-Policy
|
|
49
|
+
- [ ] CORS properly configured
|
|
50
|
+
- [ ] Rate limiting implemented
|
|
51
|
+
- [ ] DDoS protection in place
|
|
52
|
+
- [ ] Firewall rules configured
|
|
53
|
+
|
|
54
|
+
### 📦 Dependencies & Supply Chain
|
|
55
|
+
|
|
56
|
+
- [ ] All dependencies scanned for vulnerabilities
|
|
57
|
+
- [ ] No critical or high vulnerabilities
|
|
58
|
+
- [ ] Dependencies up-to-date
|
|
59
|
+
- [ ] License compliance verified
|
|
60
|
+
- [ ] SBOM (Software Bill of Materials) generated
|
|
61
|
+
- [ ] Container images scanned
|
|
62
|
+
- [ ] Base images from trusted sources
|
|
63
|
+
- [ ] No unnecessary packages installed
|
|
64
|
+
|
|
65
|
+
### 🔍 Monitoring & Logging
|
|
66
|
+
|
|
67
|
+
- [ ] Security events logged
|
|
68
|
+
- [ ] Failed authentication attempts tracked
|
|
69
|
+
- [ ] Suspicious activity alerts configured
|
|
70
|
+
- [ ] Log integrity protected
|
|
71
|
+
- [ ] Sensitive data not logged
|
|
72
|
+
- [ ] Centralized logging implemented
|
|
73
|
+
- [ ] Log retention policy defined
|
|
74
|
+
- [ ] Incident response plan documented
|
|
75
|
+
|
|
76
|
+
### 🔧 API Security
|
|
77
|
+
|
|
78
|
+
- [ ] API authentication required
|
|
79
|
+
- [ ] API rate limiting per user/IP
|
|
80
|
+
- [ ] API versioning implemented
|
|
81
|
+
- [ ] GraphQL query depth limiting
|
|
82
|
+
- [ ] API documentation doesn't expose sensitive info
|
|
83
|
+
- [ ] Webhooks use signature verification
|
|
84
|
+
- [ ] API keys not exposed in client-side code
|
|
85
|
+
|
|
86
|
+
### 🐳 Container & Infrastructure
|
|
87
|
+
|
|
88
|
+
- [ ] Containers run as non-root user
|
|
89
|
+
- [ ] Read-only root filesystem
|
|
90
|
+
- [ ] Security policies (AppArmor/SELinux)
|
|
91
|
+
- [ ] Resource limits defined
|
|
92
|
+
- [ ] Network policies configured
|
|
93
|
+
- [ ] Secrets mounted securely
|
|
94
|
+
- [ ] Image signing enabled
|
|
95
|
+
- [ ] Vulnerability scanning in CI/CD
|
|
96
|
+
|
|
97
|
+
### 📱 Frontend Security
|
|
98
|
+
|
|
99
|
+
- [ ] No sensitive data in localStorage
|
|
100
|
+
- [ ] Secure cookie flags (HttpOnly, Secure, SameSite)
|
|
101
|
+
- [ ] Content Security Policy implemented
|
|
102
|
+
- [ ] Subresource Integrity (SRI) for CDN resources
|
|
103
|
+
- [ ] No inline scripts or styles
|
|
104
|
+
- [ ] API keys not exposed in source
|
|
105
|
+
- [ ] Service Worker scope limited
|
|
106
|
+
|
|
107
|
+
### 🧪 Testing & Validation
|
|
108
|
+
|
|
109
|
+
- [ ] Security unit tests written
|
|
110
|
+
- [ ] Penetration testing performed
|
|
111
|
+
- [ ] SAST (Static Analysis) passing
|
|
112
|
+
- [ ] DAST (Dynamic Analysis) passing
|
|
113
|
+
- [ ] Dependency check passing
|
|
114
|
+
- [ ] Security regression tests
|
|
115
|
+
- [ ] Fuzzing performed (if applicable)
|
|
116
|
+
|
|
117
|
+
## Security by Feature Type
|
|
118
|
+
|
|
119
|
+
### Database Operations
|
|
120
|
+
|
|
121
|
+
```sql
|
|
122
|
+
-- ✅ SECURE: Parameterized query
|
|
123
|
+
SELECT * FROM users WHERE id = $1;
|
|
124
|
+
|
|
125
|
+
-- ❌ INSECURE: String concatenation
|
|
126
|
+
SELECT * FROM users WHERE id = '${userId}';
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### File Uploads
|
|
130
|
+
|
|
131
|
+
```javascript
|
|
132
|
+
// Security checks required:
|
|
133
|
+
- [ ] File type validation (whitelist)
|
|
134
|
+
- [ ] File size limits
|
|
135
|
+
- [ ] Filename sanitization
|
|
136
|
+
- [ ] Virus scanning
|
|
137
|
+
- [ ] Store outside web root
|
|
138
|
+
- [ ] Generate new filename
|
|
139
|
+
- [ ] Check magic numbers
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### Password Handling
|
|
143
|
+
|
|
144
|
+
```javascript
|
|
145
|
+
// Requirements:
|
|
146
|
+
- [ ] Minimum 12 characters
|
|
147
|
+
- [ ] Complexity requirements
|
|
148
|
+
- [ ] Password history check
|
|
149
|
+
- [ ] Bcrypt/Argon2 hashing
|
|
150
|
+
- [ ] Salt rounds >= 10
|
|
151
|
+
- [ ] No password in logs
|
|
152
|
+
- [ ] Secure reset flow
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### Session Management
|
|
156
|
+
|
|
157
|
+
```javascript
|
|
158
|
+
// Secure session configuration:
|
|
159
|
+
- [ ] Secure cookie flag
|
|
160
|
+
- [ ] HttpOnly flag
|
|
161
|
+
- [ ] SameSite attribute
|
|
162
|
+
- [ ] Session timeout
|
|
163
|
+
- [ ] Regenerate on login
|
|
164
|
+
- [ ] Invalidate on logout
|
|
165
|
+
- [ ] CSRF protection
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
## Incident Response Plan
|
|
169
|
+
|
|
170
|
+
### If Security Breach Detected
|
|
171
|
+
|
|
172
|
+
1. **Immediate Actions**
|
|
173
|
+
- [ ] Isolate affected systems
|
|
174
|
+
- [ ] Preserve evidence
|
|
175
|
+
- [ ] Activate incident response team
|
|
176
|
+
- [ ] Begin investigation
|
|
177
|
+
|
|
178
|
+
2. **Within 1 Hour**
|
|
179
|
+
- [ ] Assess scope of breach
|
|
180
|
+
- [ ] Implement containment measures
|
|
181
|
+
- [ ] Notify security team
|
|
182
|
+
- [ ] Start incident log
|
|
183
|
+
|
|
184
|
+
3. **Within 24 Hours**
|
|
185
|
+
- [ ] Complete initial assessment
|
|
186
|
+
- [ ] Implement fixes
|
|
187
|
+
- [ ] Notify stakeholders (if required)
|
|
188
|
+
- [ ] Prepare communication plan
|
|
189
|
+
|
|
190
|
+
4. **Post-Incident**
|
|
191
|
+
- [ ] Complete investigation
|
|
192
|
+
- [ ] Document lessons learned
|
|
193
|
+
- [ ] Update security measures
|
|
194
|
+
- [ ] Conduct security training
|
|
195
|
+
|
|
196
|
+
## Security Tools Integration
|
|
197
|
+
|
|
198
|
+
### Required in CI/CD
|
|
199
|
+
|
|
200
|
+
```yaml
|
|
201
|
+
# Security scanning pipeline
|
|
202
|
+
pipeline:
|
|
203
|
+
- stage: security
|
|
204
|
+
jobs:
|
|
205
|
+
- sast:
|
|
206
|
+
tool: [Semgrep/SonarQube]
|
|
207
|
+
- dependency-check:
|
|
208
|
+
tool: [Snyk/OWASP]
|
|
209
|
+
- container-scan:
|
|
210
|
+
tool: [Trivy/Clair]
|
|
211
|
+
- secrets-scan:
|
|
212
|
+
tool: [GitLeaks/TruffleHog]
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
### Development Environment
|
|
216
|
+
|
|
217
|
+
```bash
|
|
218
|
+
# Pre-commit hooks
|
|
219
|
+
- gitleaks (secret detection)
|
|
220
|
+
- bandit (Python security)
|
|
221
|
+
- npm audit (Node dependencies)
|
|
222
|
+
- safety (Python dependencies)
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
## Compliance Requirements
|
|
226
|
+
|
|
227
|
+
### GDPR (if applicable)
|
|
228
|
+
|
|
229
|
+
- [ ] Privacy policy updated
|
|
230
|
+
- [ ] Data processing agreements
|
|
231
|
+
- [ ] Right to erasure implemented
|
|
232
|
+
- [ ] Data portability available
|
|
233
|
+
- [ ] Consent mechanisms in place
|
|
234
|
+
|
|
235
|
+
### PCI DSS (if handling cards)
|
|
236
|
+
|
|
237
|
+
- [ ] Cardholder data encrypted
|
|
238
|
+
- [ ] Network segmentation
|
|
239
|
+
- [ ] Access controls implemented
|
|
240
|
+
- [ ] Regular security testing
|
|
241
|
+
- [ ] Compliance scanning
|
|
242
|
+
|
|
243
|
+
### HIPAA (if healthcare)
|
|
244
|
+
|
|
245
|
+
- [ ] PHI encryption
|
|
246
|
+
- [ ] Access controls
|
|
247
|
+
- [ ] Audit logging
|
|
248
|
+
- [ ] Business Associate Agreements
|
|
249
|
+
|
|
250
|
+
## Security Review Gates
|
|
251
|
+
|
|
252
|
+
### Before Code Review
|
|
253
|
+
|
|
254
|
+
- [ ] Self-assessment complete
|
|
255
|
+
- [ ] SAST scan clean
|
|
256
|
+
- [ ] No hardcoded secrets
|
|
257
|
+
|
|
258
|
+
### Before Merge
|
|
259
|
+
|
|
260
|
+
- [ ] Security review approved
|
|
261
|
+
- [ ] All security tests passing
|
|
262
|
+
- [ ] Dependencies checked
|
|
263
|
+
|
|
264
|
+
### Before Deployment
|
|
265
|
+
|
|
266
|
+
- [ ] Security checklist complete
|
|
267
|
+
- [ ] Penetration test passed (major releases)
|
|
268
|
+
- [ ] Security documentation updated
|
|
269
|
+
|
|
270
|
+
## Quick Security Reference
|
|
271
|
+
|
|
272
|
+
```bash
|
|
273
|
+
# NEVER DO THIS:
|
|
274
|
+
❌ Store passwords in plain text
|
|
275
|
+
❌ Commit secrets to git
|
|
276
|
+
❌ Trust user input
|
|
277
|
+
❌ Use HTTP for sensitive data
|
|
278
|
+
❌ Log sensitive information
|
|
279
|
+
❌ Ignore security warnings
|
|
280
|
+
❌ Deploy with known vulnerabilities
|
|
281
|
+
|
|
282
|
+
# ALWAYS DO THIS:
|
|
283
|
+
✅ Validate all inputs
|
|
284
|
+
✅ Encrypt sensitive data
|
|
285
|
+
✅ Use parameterized queries
|
|
286
|
+
✅ Implement rate limiting
|
|
287
|
+
✅ Keep dependencies updated
|
|
288
|
+
✅ Follow principle of least privilege
|
|
289
|
+
✅ Security test before deployment
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
## Security Contacts
|
|
293
|
+
|
|
294
|
+
```markdown
|
|
295
|
+
# Security Team
|
|
296
|
+
Email: security@company.com
|
|
297
|
+
Slack: #security-team
|
|
298
|
+
|
|
299
|
+
# Incident Response
|
|
300
|
+
Hotline: +1-XXX-XXX-XXXX
|
|
301
|
+
On-call: PagerDuty
|
|
302
|
+
|
|
303
|
+
# Bug Bounty
|
|
304
|
+
Program: hackerone.com/company
|
|
305
|
+
Email: security-bounty@company.com
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
## Remember
|
|
309
|
+
|
|
310
|
+
**Security is everyone's responsibility.**
|
|
311
|
+
|
|
312
|
+
- Developers: Write secure code
|
|
313
|
+
- Reviewers: Check for vulnerabilities
|
|
314
|
+
- DevOps: Secure infrastructure
|
|
315
|
+
- Product: Prioritize security fixes
|
|
316
|
+
- Users: Report security issues
|
|
317
|
+
|
|
318
|
+
**When in doubt, choose the more secure option.**
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
# Standard Patterns for Commands
|
|
2
|
+
|
|
3
|
+
This file defines common patterns that all commands should follow to maintain consistency and simplicity.
|
|
4
|
+
|
|
5
|
+
## Core Principles
|
|
6
|
+
|
|
7
|
+
1. **Fail Fast** - Check critical prerequisites, then proceed
|
|
8
|
+
2. **Trust the System** - Don't over-validate things that rarely fail
|
|
9
|
+
3. **Clear Errors** - When something fails, say exactly what and how to fix it
|
|
10
|
+
4. **Minimal Output** - Show what matters, skip decoration
|
|
11
|
+
|
|
12
|
+
## Standard Validations
|
|
13
|
+
|
|
14
|
+
### Minimal Preflight
|
|
15
|
+
|
|
16
|
+
Only check what's absolutely necessary:
|
|
17
|
+
|
|
18
|
+
```markdown
|
|
19
|
+
## Quick Check
|
|
20
|
+
1. If command needs specific directory/file:
|
|
21
|
+
- Check it exists: `test -f {file} || echo "❌ {file} not found"`
|
|
22
|
+
- If missing, tell user exact command to fix it
|
|
23
|
+
2. If command needs GitHub:
|
|
24
|
+
- Assume `gh` is authenticated (it usually is)
|
|
25
|
+
- Only check on actual failure
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### DateTime Handling
|
|
29
|
+
|
|
30
|
+
```markdown
|
|
31
|
+
Get current datetime: `date -u +"%Y-%m-%dT%H:%M:%SZ"`
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Don't repeat full instructions - just reference `/rules/datetime.md` once.
|
|
35
|
+
|
|
36
|
+
### Error Messages
|
|
37
|
+
|
|
38
|
+
Keep them short and actionable:
|
|
39
|
+
|
|
40
|
+
```markdown
|
|
41
|
+
❌ {What failed}: {Exact solution}
|
|
42
|
+
Example: "❌ Epic not found: Run /pm:prd-parse feature-name"
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Standard Output Formats
|
|
46
|
+
|
|
47
|
+
### Success Output
|
|
48
|
+
|
|
49
|
+
```markdown
|
|
50
|
+
✅ {Action} complete
|
|
51
|
+
- {Key result 1}
|
|
52
|
+
- {Key result 2}
|
|
53
|
+
Next: {Single suggested action}
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### List Output
|
|
57
|
+
|
|
58
|
+
```markdown
|
|
59
|
+
{Count} {items} found:
|
|
60
|
+
- {item 1}: {key detail}
|
|
61
|
+
- {item 2}: {key detail}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Progress Output
|
|
65
|
+
|
|
66
|
+
```markdown
|
|
67
|
+
{Action}... {current}/{total}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## File Operations
|
|
71
|
+
|
|
72
|
+
### Check and Create
|
|
73
|
+
|
|
74
|
+
```markdown
|
|
75
|
+
# Don't ask permission, just create what's needed
|
|
76
|
+
mkdir -p .claude/{directory} 2>/dev/null
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Read with Fallback
|
|
80
|
+
|
|
81
|
+
```markdown
|
|
82
|
+
# Try to read, continue if missing
|
|
83
|
+
if [ -f {file} ]; then
|
|
84
|
+
# Read and use file
|
|
85
|
+
else
|
|
86
|
+
# Use sensible default
|
|
87
|
+
fi
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## GitHub Operations
|
|
91
|
+
|
|
92
|
+
### Trust gh CLI
|
|
93
|
+
|
|
94
|
+
```markdown
|
|
95
|
+
# Don't pre-check auth, just try the operation
|
|
96
|
+
gh {command} || echo "❌ GitHub CLI failed. Run: gh auth login"
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### Simple Issue Operations
|
|
100
|
+
|
|
101
|
+
```markdown
|
|
102
|
+
# Get what you need in one call
|
|
103
|
+
gh issue view {number} --json state,title,body
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## Common Patterns to Avoid
|
|
107
|
+
|
|
108
|
+
### DON'T: Over-validate
|
|
109
|
+
|
|
110
|
+
```markdown
|
|
111
|
+
# Bad - too many checks
|
|
112
|
+
1. Check directory exists
|
|
113
|
+
2. Check permissions
|
|
114
|
+
3. Check git status
|
|
115
|
+
4. Check GitHub auth
|
|
116
|
+
5. Check rate limits
|
|
117
|
+
6. Validate every field
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### DO: Check essentials
|
|
121
|
+
|
|
122
|
+
```markdown
|
|
123
|
+
# Good - just what's needed
|
|
124
|
+
1. Check target exists
|
|
125
|
+
2. Try the operation
|
|
126
|
+
3. Handle failure clearly
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### DON'T: Verbose output
|
|
130
|
+
|
|
131
|
+
```markdown
|
|
132
|
+
# Bad - too much information
|
|
133
|
+
🎯 Starting operation...
|
|
134
|
+
📋 Validating prerequisites...
|
|
135
|
+
✅ Step 1 complete
|
|
136
|
+
✅ Step 2 complete
|
|
137
|
+
📊 Statistics: ...
|
|
138
|
+
💡 Tips: ...
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### DO: Concise output
|
|
142
|
+
|
|
143
|
+
```markdown
|
|
144
|
+
# Good - just results
|
|
145
|
+
✅ Done: 3 files created
|
|
146
|
+
Failed: auth.test.js (syntax error - line 42)
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### DON'T: Ask too many questions
|
|
150
|
+
|
|
151
|
+
```markdown
|
|
152
|
+
# Bad - too interactive
|
|
153
|
+
"Continue? (yes/no)"
|
|
154
|
+
"Overwrite? (yes/no)"
|
|
155
|
+
"Are you sure? (yes/no)"
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### DO: Smart defaults
|
|
159
|
+
|
|
160
|
+
```markdown
|
|
161
|
+
# Good - proceed with sensible defaults
|
|
162
|
+
# Only ask when destructive or ambiguous
|
|
163
|
+
"This will delete 10 files. Continue? (yes/no)"
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
## Quick Reference
|
|
167
|
+
|
|
168
|
+
### Essential Tools Only
|
|
169
|
+
|
|
170
|
+
- Read/List operations: `Read, LS`
|
|
171
|
+
- File creation: `Read, Write, LS`
|
|
172
|
+
- GitHub operations: Add `Bash`
|
|
173
|
+
- Complex analysis: Add `Task` (sparingly)
|
|
174
|
+
|
|
175
|
+
### Status Indicators
|
|
176
|
+
|
|
177
|
+
- ✅ Success (use sparingly)
|
|
178
|
+
- ❌ Error (always with solution)
|
|
179
|
+
- ⚠️ Warning (only if action needed)
|
|
180
|
+
- No emoji for normal output
|
|
181
|
+
|
|
182
|
+
### Exit Strategies
|
|
183
|
+
|
|
184
|
+
- Success: Brief confirmation
|
|
185
|
+
- Failure: Clear error + exact fix
|
|
186
|
+
- Partial: Show what worked, what didn't
|
|
187
|
+
|
|
188
|
+
## Remember
|
|
189
|
+
|
|
190
|
+
**Simple is not simplistic** - We still handle errors properly, we just don't try to prevent every possible edge case. We trust that:
|
|
191
|
+
|
|
192
|
+
- The file system usually works
|
|
193
|
+
- GitHub CLI is usually authenticated
|
|
194
|
+
- Git repositories are usually valid
|
|
195
|
+
- Users know what they're doing
|
|
196
|
+
|
|
197
|
+
Focus on the happy path, fail gracefully when things go wrong.
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# Strip Frontmatter
|
|
2
|
+
|
|
3
|
+
Standard approach for removing YAML frontmatter before sending content to GitHub.
|
|
4
|
+
|
|
5
|
+
## The Problem
|
|
6
|
+
|
|
7
|
+
YAML frontmatter contains internal metadata that should not appear in GitHub issues:
|
|
8
|
+
|
|
9
|
+
- status, created, updated fields
|
|
10
|
+
- Internal references and IDs
|
|
11
|
+
- Local file paths
|
|
12
|
+
|
|
13
|
+
## The Solution
|
|
14
|
+
|
|
15
|
+
Use sed to strip frontmatter from any markdown file:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
# Strip frontmatter (everything between first two --- lines)
|
|
19
|
+
sed '1,/^---$/d; 1,/^---$/d' input.md > output.md
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
This removes:
|
|
23
|
+
|
|
24
|
+
1. The opening `---` line
|
|
25
|
+
2. All YAML content
|
|
26
|
+
3. The closing `---` line
|
|
27
|
+
|
|
28
|
+
## When to Strip Frontmatter
|
|
29
|
+
|
|
30
|
+
Always strip frontmatter when:
|
|
31
|
+
|
|
32
|
+
- Creating GitHub issues from markdown files
|
|
33
|
+
- Posting file content as comments
|
|
34
|
+
- Displaying content to external users
|
|
35
|
+
- Syncing to any external system
|
|
36
|
+
|
|
37
|
+
## Examples
|
|
38
|
+
|
|
39
|
+
### Creating an issue from a file
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
# Bad - includes frontmatter
|
|
43
|
+
gh issue create --body-file task.md
|
|
44
|
+
|
|
45
|
+
# Good - strips frontmatter
|
|
46
|
+
sed '1,/^---$/d; 1,/^---$/d' task.md > /tmp/clean.md
|
|
47
|
+
gh issue create --body-file /tmp/clean.md
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Posting a comment
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
# Strip frontmatter before posting
|
|
54
|
+
sed '1,/^---$/d; 1,/^---$/d' progress.md > /tmp/comment.md
|
|
55
|
+
gh issue comment 123 --body-file /tmp/comment.md
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### In a loop
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
for file in *.md; do
|
|
62
|
+
# Strip frontmatter from each file
|
|
63
|
+
sed '1,/^---$/d; 1,/^---$/d' "$file" > "/tmp/$(basename $file)"
|
|
64
|
+
# Use the clean version
|
|
65
|
+
done
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Alternative Approaches
|
|
69
|
+
|
|
70
|
+
If sed is not available or you need more control:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
# Using awk
|
|
74
|
+
awk 'BEGIN{fm=0} /^---$/{fm++; next} fm==2{print}' input.md > output.md
|
|
75
|
+
|
|
76
|
+
# Using grep with line numbers
|
|
77
|
+
grep -n "^---$" input.md | head -2 | tail -1 | cut -d: -f1 | xargs -I {} tail -n +$(({}+1)) input.md
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Important Notes
|
|
81
|
+
|
|
82
|
+
- Always test with a sample file first
|
|
83
|
+
- Keep original files intact
|
|
84
|
+
- Use temporary files for cleaned content
|
|
85
|
+
- Some files may not have frontmatter - the command handles this gracefully
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# TDD (Test-Driven Development) Enforcement
|
|
2
|
+
|
|
3
|
+
> **CRITICAL**: This rule has HIGHEST PRIORITY. All code changes MUST follow TDD cycle.
|
|
4
|
+
|
|
5
|
+
## Core TDD Philosophy
|
|
6
|
+
|
|
7
|
+
**Prime Directive**: Follow Test-Driven Development (Red-Green-Refactor) for ALL implementations.
|
|
8
|
+
**Zero Tolerance**: No code without tests. No partial implementations. No shortcuts.
|
|
9
|
+
|
|
10
|
+
## The TDD Cycle
|
|
11
|
+
|
|
12
|
+
### 1. RED Phase (Test First)
|
|
13
|
+
|
|
14
|
+
- Write test that describes desired behavior
|
|
15
|
+
- Test MUST fail initially
|
|
16
|
+
- Test must be meaningful (no trivial assertions)
|
|
17
|
+
- Test must be verbose for debugging
|
|
18
|
+
- Never proceed until test is red
|
|
19
|
+
|
|
20
|
+
### 2. GREEN Phase (Make It Pass)
|
|
21
|
+
|
|
22
|
+
- Write MINIMUM code to pass test
|
|
23
|
+
- Don't add features not required by test
|
|
24
|
+
- Focus on making test green, not perfection
|
|
25
|
+
- Resist temptation to over-engineer
|
|
26
|
+
|
|
27
|
+
### 3. REFACTOR Phase (Clean Up)
|
|
28
|
+
|
|
29
|
+
- Improve code structure
|
|
30
|
+
- Remove duplication
|
|
31
|
+
- Enhance readability
|
|
32
|
+
- All tests must remain green
|
|
33
|
+
- Never skip this phase
|
|
34
|
+
|
|
35
|
+
## Enforcement Rules
|
|
36
|
+
|
|
37
|
+
### ABSOLUTE REQUIREMENTS
|
|
38
|
+
|
|
39
|
+
- Every new function requires a test FIRST
|
|
40
|
+
- Every bug fix starts with a failing test that reproduces it
|
|
41
|
+
- Every feature begins with failing acceptance tests
|
|
42
|
+
- No code commits without passing tests
|
|
43
|
+
|
|
44
|
+
### PROHIBITED PRACTICES
|
|
45
|
+
|
|
46
|
+
- ❌ Writing implementation before test
|
|
47
|
+
- ❌ Writing "simplified" or "partial" implementations
|
|
48
|
+
- ❌ Leaving TODO comments without test coverage
|
|
49
|
+
- ❌ Skipping refactor phase "for later"
|
|
50
|
+
- ❌ Writing trivial tests just to satisfy coverage
|
|
51
|
+
|
|
52
|
+
## Test Quality Standards
|
|
53
|
+
|
|
54
|
+
### Test Design Requirements
|
|
55
|
+
|
|
56
|
+
- Tests must reflect real usage patterns
|
|
57
|
+
- Tests must be designed to reveal flaws
|
|
58
|
+
- Tests must be verbose for debugging
|
|
59
|
+
- No mock services - use real implementations
|
|
60
|
+
- Each test should test ONE thing
|
|
61
|
+
|
|
62
|
+
### Coverage Requirements
|
|
63
|
+
|
|
64
|
+
- 100% test coverage for new code
|
|
65
|
+
- Regression tests for all bug fixes
|
|
66
|
+
- Integration tests for feature interactions
|
|
67
|
+
- Edge case coverage mandatory
|
|
68
|
+
|
|
69
|
+
## Integration with Agents
|
|
70
|
+
|
|
71
|
+
### MANDATORY Agent Usage
|
|
72
|
+
|
|
73
|
+
- **test-runner agent**: For ALL test execution
|
|
74
|
+
- **code-analyzer agent**: Review test coverage
|
|
75
|
+
- **parallel-worker agent**: Run tests in parallel streams
|
|
76
|
+
|
|
77
|
+
### Pipeline Integration
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
Feature Implementation:
|
|
81
|
+
1. Write failing test (RED) → test-runner confirms failure
|
|
82
|
+
2. Implement minimum code (GREEN) → test-runner confirms pass
|
|
83
|
+
3. Refactor (REFACTOR) → test-runner maintains green
|
|
84
|
+
4. code-analyzer → Verify test quality and coverage
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## Violation Consequences
|
|
88
|
+
|
|
89
|
+
If TDD is violated:
|
|
90
|
+
|
|
91
|
+
1. STOP immediately
|
|
92
|
+
2. Delete non-TDD code
|
|
93
|
+
3. Start over with test first
|
|
94
|
+
4. Document violation in CLAUDE.md
|
|
95
|
+
5. No exceptions, no excuses
|
|
96
|
+
|
|
97
|
+
## Success Metrics
|
|
98
|
+
|
|
99
|
+
- ✅ 100% of new code has tests written first
|
|
100
|
+
- ✅ Zero commits without test coverage
|
|
101
|
+
- ✅ All tests meaningful and verbose
|
|
102
|
+
- ✅ Refactor phase completed for all code
|
|
103
|
+
- ✅ No mock services in test suite
|