vstack 2.2.0__tar.gz → 3.0.0__tar.gz
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.
- {vstack-2.2.0 → vstack-3.0.0}/PKG-INFO +14 -2
- {vstack-2.2.0 → vstack-3.0.0}/README-pypi.md +13 -1
- {vstack-2.2.0 → vstack-3.0.0}/pyproject.toml +1 -1
- vstack-3.0.0/src/vstack/_templates/agents/architect/artifacts/adr/NNN-template.md +27 -0
- vstack-3.0.0/src/vstack/_templates/agents/architect/artifacts/overview.md +41 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/agents/architect/config.yaml +15 -8
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/agents/architect/template.md +24 -8
- vstack-3.0.0/src/vstack/_templates/agents/designer/artifacts/overview.md +39 -0
- vstack-3.0.0/src/vstack/_templates/agents/designer/config.yaml +47 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/agents/designer/template.md +29 -11
- vstack-3.0.0/src/vstack/_templates/agents/engineer/artifacts/issues/postmortem.md +42 -0
- vstack-3.0.0/src/vstack/_templates/agents/engineer/artifacts/issues/rca.md +39 -0
- vstack-3.0.0/src/vstack/_templates/agents/engineer/config.yaml +50 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/agents/engineer/template.md +30 -10
- vstack-3.0.0/src/vstack/_templates/agents/product/artifacts/changes/change-request.md +42 -0
- vstack-3.0.0/src/vstack/_templates/agents/product/artifacts/issues/issue.md +38 -0
- vstack-3.0.0/src/vstack/_templates/agents/product/artifacts/requirements.md +42 -0
- vstack-3.0.0/src/vstack/_templates/agents/product/artifacts/roadmap.md +73 -0
- vstack-3.0.0/src/vstack/_templates/agents/product/artifacts/vision.md +38 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/agents/product/config.yaml +16 -8
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/agents/product/template.md +14 -14
- vstack-3.0.0/src/vstack/_templates/agents/release/artifacts/release-summary.md +48 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/agents/release/config.yaml +11 -11
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/agents/release/template.md +24 -25
- vstack-3.0.0/src/vstack/_templates/agents/tester/artifacts/performance-baseline.md +25 -0
- vstack-3.0.0/src/vstack/_templates/agents/tester/artifacts/security-report.md +26 -0
- vstack-3.0.0/src/vstack/_templates/agents/tester/artifacts/test-report.md +32 -0
- vstack-3.0.0/src/vstack/_templates/agents/tester/config.yaml +43 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/agents/tester/template.md +26 -12
- vstack-3.0.0/src/vstack/_templates/project/.vstack/config.yaml +28 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/adr/template.md +1 -1
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/architecture/template.md +4 -5
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/cicd/template.md +1 -1
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/design/template.md +3 -4
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/docs/template.md +1 -2
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/gh-issues/template.md +4 -1
- vstack-3.0.0/src/vstack/_templates/skills/incident/config.yaml +17 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/incident/template.md +15 -74
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/inspect/template.md +3 -4
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/onboard/template.md +1 -1
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/performance/template.md +2 -3
- vstack-3.0.0/src/vstack/_templates/skills/postmortem/config.yaml +16 -0
- vstack-3.0.0/src/vstack/_templates/skills/postmortem/template.md +151 -0
- vstack-3.0.0/src/vstack/_templates/skills/rca/config.yaml +17 -0
- vstack-3.0.0/src/vstack/_templates/skills/rca/template.md +174 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/release-notes/template.md +14 -3
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/requirements/template.md +1 -2
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/security/template.md +2 -3
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/threat-model/template.md +5 -5
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/verify/template.md +2 -3
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/vision/template.md +1 -2
- vstack-3.0.0/src/vstack/agents/generator.py +194 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/artifacts/generator.py +14 -2
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/cli/base.py +1 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/cli/catalog.py +13 -1
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/cli/constants.py +2 -0
- vstack-2.2.0/src/vstack/cli/install.py → vstack-3.0.0/src/vstack/cli/init.py +47 -22
- vstack-3.0.0/src/vstack/cli/install.py +151 -0
- vstack-3.0.0/src/vstack/cli/interface.py +196 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/cli/parser.py +47 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/cli/service.py +29 -6
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/cli/status.py +1 -1
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/constants.py +6 -0
- vstack-2.2.0/src/vstack/_templates/agents/designer/config.yaml +0 -36
- vstack-2.2.0/src/vstack/_templates/agents/engineer/config.yaml +0 -36
- vstack-2.2.0/src/vstack/_templates/agents/tester/config.yaml +0 -41
- vstack-2.2.0/src/vstack/_templates/skills/incident/config.yaml +0 -17
- vstack-2.2.0/src/vstack/agents/generator.py +0 -20
- vstack-2.2.0/src/vstack/cli/interface.py +0 -93
- {vstack-2.2.0 → vstack-3.0.0}/LICENSE +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/__init__.py +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/__main__.py +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/agents/_partials/agent-skill-boundary.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/instructions/git/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/instructions/git/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/instructions/helm/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/instructions/helm/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/instructions/java/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/instructions/java/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/instructions/k8s/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/instructions/k8s/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/instructions/markdown/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/instructions/markdown/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/instructions/python/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/instructions/python/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/instructions/rancher/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/instructions/rancher/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/instructions/security/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/instructions/security/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/instructions/terraform/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/instructions/terraform/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/instructions/terragrunt/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/instructions/terragrunt/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/instructions/testing/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/instructions/testing/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/instructions/typescript/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/instructions/typescript/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/prompts/api-design-review/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/prompts/api-design-review/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/prompts/architecture-risk/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/prompts/architecture-risk/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/prompts/code-review/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/prompts/code-review/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/prompts/dependency-audit/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/prompts/dependency-audit/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/prompts/incident-timeline/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/prompts/incident-timeline/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/prompts/migration-safety/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/prompts/migration-safety/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/prompts/release-readiness/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/prompts/release-readiness/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/_partials/base-branch.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/_partials/observability-checklist.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/_partials/run-tests.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/_partials/skill-context.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/adr/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/analyse/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/analyse/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/architecture/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/aws-cli/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/aws-cli/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/cicd/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/cloudformation/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/cloudformation/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/code-review/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/code-review/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/codeql/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/codeql/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/concise/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/concise/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/consult/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/consult/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/container/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/container/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/conventional-commit/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/conventional-commit/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/debug/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/debug/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/dependabot/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/dependabot/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/dependency/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/dependency/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/design/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/docs/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/explore/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/explore/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/gdpr/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/gdpr/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/gh-issues/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/gh-release/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/gh-release/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/guardrails/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/guardrails/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/helm/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/helm/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/inspect/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/k8s/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/k8s/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/migrate/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/migrate/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/onboard/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/openapi/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/openapi/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/performance/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/pr/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/pr/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/rancher/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/rancher/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/refactor/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/refactor/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/release-notes/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/requirements/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/secret-scan/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/secret-scan/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/security/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/terraform/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/terraform/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/terragrunt/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/terragrunt/template.md +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/threat-model/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/verify/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/_templates/skills/vision/config.yaml +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/agents/__init__.py +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/agents/config.py +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/agents/constants.py +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/artifacts/__init__.py +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/artifacts/config.py +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/artifacts/constants.py +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/artifacts/models.py +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/artifacts/protocol.py +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/cli/__init__.py +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/cli/helpers.py +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/cli/manifest.py +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/cli/registry.py +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/cli/report.py +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/cli/uninstall.py +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/cli/validate.py +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/cli/verify.py +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/frontmatter/__init__.py +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/frontmatter/parser.py +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/frontmatter/schema.py +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/frontmatter/serializer.py +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/instructions/__init__.py +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/instructions/config.py +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/instructions/constants.py +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/instructions/generator.py +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/main.py +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/manifest/__init__.py +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/manifest/store.py +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/models.py +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/prompts/__init__.py +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/prompts/config.py +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/prompts/constants.py +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/prompts/generator.py +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/skills/__init__.py +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/skills/config.py +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/skills/constants.py +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/skills/generator.py +0 -0
- {vstack-2.2.0 → vstack-3.0.0}/src/vstack/skills/models.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: vstack
|
|
3
|
-
Version:
|
|
3
|
+
Version: 3.0.0
|
|
4
4
|
Summary: VS Code-native AI engineering workflow system for microservices, libraries, and backend systems.
|
|
5
5
|
License-Expression: MIT
|
|
6
6
|
License-File: LICENSE
|
|
@@ -132,7 +132,19 @@ Profile-wide install (optional defaults for all projects):
|
|
|
132
132
|
vstack install --global
|
|
133
133
|
```
|
|
134
134
|
|
|
135
|
-
|
|
135
|
+
`vstack install` is the first-run command: it seeds `.vstack/config.yaml` in your project (never overwrites), then generates `.github/` artifacts from templates. `vstack init` re-runs generation idempotently — safe to use in CI after upgrading vstack.
|
|
136
|
+
|
|
137
|
+
By default, `vstack install` preserves existing unmanaged files and local edits to tracked files by comparing the current file contents with the SHA-256 checksum recorded in `.vstack/vstack.json`. Use `--adopt-name <name>` to start tracking one existing unmanaged file without overwriting it. `vstack uninstall` also preserves locally modified tracked files unless you explicitly pass `--force` or `--force-name <name>`. Use `vstack manifest status --target ...` (or `vstack status --target ...`) to see what still matches the manifest. If a legacy manifest schema is detected, run `vstack manifest upgrade --target ...` first.
|
|
138
|
+
|
|
139
|
+
To skip artifact types or individual artifacts you do not need, edit `.vstack/config.yaml`:
|
|
140
|
+
|
|
141
|
+
```yaml
|
|
142
|
+
exclude:
|
|
143
|
+
skills:
|
|
144
|
+
- terraform
|
|
145
|
+
- helm
|
|
146
|
+
instructions: all # skip the entire type
|
|
147
|
+
```
|
|
136
148
|
|
|
137
149
|
If you already have agents, skills, or other files in `.github/`, run a dry-run first to see what would be preserved before committing:
|
|
138
150
|
|
|
@@ -105,7 +105,19 @@ Profile-wide install (optional defaults for all projects):
|
|
|
105
105
|
vstack install --global
|
|
106
106
|
```
|
|
107
107
|
|
|
108
|
-
|
|
108
|
+
`vstack install` is the first-run command: it seeds `.vstack/config.yaml` in your project (never overwrites), then generates `.github/` artifacts from templates. `vstack init` re-runs generation idempotently — safe to use in CI after upgrading vstack.
|
|
109
|
+
|
|
110
|
+
By default, `vstack install` preserves existing unmanaged files and local edits to tracked files by comparing the current file contents with the SHA-256 checksum recorded in `.vstack/vstack.json`. Use `--adopt-name <name>` to start tracking one existing unmanaged file without overwriting it. `vstack uninstall` also preserves locally modified tracked files unless you explicitly pass `--force` or `--force-name <name>`. Use `vstack manifest status --target ...` (or `vstack status --target ...`) to see what still matches the manifest. If a legacy manifest schema is detected, run `vstack manifest upgrade --target ...` first.
|
|
111
|
+
|
|
112
|
+
To skip artifact types or individual artifacts you do not need, edit `.vstack/config.yaml`:
|
|
113
|
+
|
|
114
|
+
```yaml
|
|
115
|
+
exclude:
|
|
116
|
+
skills:
|
|
117
|
+
- terraform
|
|
118
|
+
- helm
|
|
119
|
+
instructions: all # skip the entire type
|
|
120
|
+
```
|
|
109
121
|
|
|
110
122
|
If you already have agents, skills, or other files in `.github/`, run a dry-run first to see what would be preserved before committing:
|
|
111
123
|
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# ADR-NNN: {title}
|
|
2
|
+
|
|
3
|
+
<!-- One file per decision. Suggested name: NNN-{slug}.md (e.g. 001-service-boundaries.md)
|
|
4
|
+
Deviate from this structure as needed. -->
|
|
5
|
+
|
|
6
|
+
> **date:** YYYY-MM-DD\
|
|
7
|
+
> **status:** proposed | accepted | superseded by ADR-NNN
|
|
8
|
+
|
|
9
|
+
## context
|
|
10
|
+
|
|
11
|
+
<!-- What situation or problem led to this decision? -->
|
|
12
|
+
|
|
13
|
+
## decision
|
|
14
|
+
|
|
15
|
+
<!-- What was decided? State it clearly and positively. -->
|
|
16
|
+
|
|
17
|
+
## alternatives considered
|
|
18
|
+
|
|
19
|
+
<!-- What other options were evaluated? Why were they not chosen? -->
|
|
20
|
+
|
|
21
|
+
## rationale
|
|
22
|
+
|
|
23
|
+
<!-- Why is this decision the right one given the context? -->
|
|
24
|
+
|
|
25
|
+
## consequences
|
|
26
|
+
|
|
27
|
+
<!-- What is easier or harder as a result? What does this enable or constrain? -->
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Architecture Overview
|
|
2
|
+
|
|
3
|
+
<!-- Describes the system architecture. Deviate from this structure as needed. -->
|
|
4
|
+
|
|
5
|
+
> Maintained by: **architect** role\
|
|
6
|
+
> Last updated: YYYY-MM-DD
|
|
7
|
+
|
|
8
|
+
## overview
|
|
9
|
+
|
|
10
|
+
<!-- What system is this? What problem does it solve?
|
|
11
|
+
Include a system style declaration: e.g. `**System style:** microservice | monolith | platform | library` -->
|
|
12
|
+
|
|
13
|
+
## system structure
|
|
14
|
+
|
|
15
|
+
<!-- Repository or deployment layout. Use a plain text tree for directory structure. -->
|
|
16
|
+
|
|
17
|
+
```text
|
|
18
|
+
{system}/
|
|
19
|
+
├── ...
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## components
|
|
23
|
+
|
|
24
|
+
<!-- High-level component breakdown. Use a Mermaid diagram for flows; text tree for structure. -->
|
|
25
|
+
|
|
26
|
+
## principles
|
|
27
|
+
|
|
28
|
+
<!-- Key architectural constraints and non-negotiable decisions.
|
|
29
|
+
These constrain all downstream design choices. -->
|
|
30
|
+
|
|
31
|
+
## data flow
|
|
32
|
+
|
|
33
|
+
<!-- How data moves through the system. -->
|
|
34
|
+
|
|
35
|
+
## key decisions
|
|
36
|
+
|
|
37
|
+
<!-- Links or summaries of significant ADRs. -->
|
|
38
|
+
|
|
39
|
+
## open questions
|
|
40
|
+
|
|
41
|
+
<!-- Unresolved architectural concerns. -->
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
name: architect
|
|
2
|
-
version:
|
|
2
|
+
version: 20260503022
|
|
3
3
|
description: >
|
|
4
4
|
Senior software architect. Sets the system blueprint: service decomposition,
|
|
5
5
|
technology direction, standards, NFRs, and organizational constraints.
|
|
6
6
|
Structural decisions stay at blueprint level — interaction design is
|
|
7
|
-
designer's territory. Reads
|
|
8
|
-
|
|
9
|
-
docs/architecture/adr/*.md. Baseline-first on branch, optional
|
|
10
|
-
docs/delta/{id} for complex drafts.
|
|
7
|
+
designer's territory. Reads product artifacts; produces architecture overview
|
|
8
|
+
and ADRs. Baseline-first on branch.
|
|
11
9
|
argument-hint: "[design architecture | write ADR | review architecture | check implementation alignment]"
|
|
12
10
|
tools:
|
|
13
11
|
- read
|
|
@@ -23,11 +21,20 @@ model:
|
|
|
23
21
|
- Claude Opus 4.7 (copilot)
|
|
24
22
|
agents: ["*"]
|
|
25
23
|
handoffs:
|
|
26
|
-
- label:
|
|
24
|
+
- label: "Go to next stage: Design"
|
|
27
25
|
agent: designer
|
|
28
26
|
prompt: >
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
Architecture outputs are approved. Assess the current state and produce
|
|
28
|
+
design specifications as needed. If your domain is not affected by
|
|
29
|
+
this change, assess and confirm that explicitly, then pass through to
|
|
30
|
+
the next stage.
|
|
31
|
+
artifacts:
|
|
32
|
+
dir: architecture
|
|
33
|
+
input:
|
|
34
|
+
- product/**/*.md
|
|
35
|
+
output:
|
|
36
|
+
- overview.md
|
|
37
|
+
- adr/*.md
|
|
31
38
|
target: vscode
|
|
32
39
|
user-invocable: true
|
|
33
40
|
|
|
@@ -56,12 +56,26 @@ Signal readiness before downstream work proceeds:
|
|
|
56
56
|
Handoffs you own:
|
|
57
57
|
|
|
58
58
|
- To designer: system style, boundaries, NFRs, failure modes, and constrained tradeoffs.
|
|
59
|
+
- Pass-through: if the architecture is not affected by this change, confirm that explicitly before passing through.
|
|
59
60
|
- Back to product: material risks, unresolved tradeoffs, and decisions requiring scope change.
|
|
60
61
|
|
|
62
|
+
## assess current state
|
|
63
|
+
|
|
64
|
+
Before producing any output, scan your configured input artifacts to determine
|
|
65
|
+
what work is needed:
|
|
66
|
+
|
|
67
|
+
1. Read your input artifacts.
|
|
68
|
+
1. Identify artifacts that require action:
|
|
69
|
+
- Issues or change requests with status `open` or `draft` that touch architecture.
|
|
70
|
+
- Vision or requirements that have changed since the last architecture update.
|
|
71
|
+
- ADRs with status `proposed` that require a decision.
|
|
72
|
+
1. If nothing has changed and no open items require architecture work, say so
|
|
73
|
+
explicitly and offer to hand off to the next stage.
|
|
74
|
+
|
|
61
75
|
## how you work
|
|
62
76
|
|
|
63
|
-
1.
|
|
64
|
-
1. **Declare system style** in
|
|
77
|
+
1. Assess current state (see above) before touching any output artifact.
|
|
78
|
+
1. **Declare system style** in the architecture overview:
|
|
65
79
|
- `backend-only` — API, service, library, CLI, data pipeline
|
|
66
80
|
- `frontend-only` — UI, static site, design system
|
|
67
81
|
- `fullstack` — API + UI tightly coupled
|
|
@@ -70,7 +84,7 @@ Handoffs you own:
|
|
|
70
84
|
1. Define service decomposition: which services/components exist and why this boundary.
|
|
71
85
|
1. Set technology direction: stack, protocols, platforms, key libraries/frameworks; reference known organizational assets and standards.
|
|
72
86
|
1. Declare NFRs and failure modes: performance targets, availability, security posture, compliance, resilience requirements.
|
|
73
|
-
1. Write or update
|
|
87
|
+
1. Write or update the architecture overview via `@#architecture`.
|
|
74
88
|
1. Write ADRs via `@#adr` for each significant structural decision.
|
|
75
89
|
1. Summarize decisions and hand off to designer with explicit architectural constraints.
|
|
76
90
|
|
|
@@ -85,12 +99,14 @@ Handoffs you own:
|
|
|
85
99
|
- Conflicting constraints or unresolvable tradeoffs: escalate to user with options.
|
|
86
100
|
- Breaking architecture changes without migration plan: block progression.
|
|
87
101
|
|
|
88
|
-
## artifacts you
|
|
102
|
+
## artifacts you use
|
|
103
|
+
|
|
104
|
+
{{AGENT_ARTIFACTS_INPUT}}
|
|
105
|
+
|
|
106
|
+
{{AGENT_ARTIFACTS_OUTPUT}}
|
|
89
107
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
| `docs/architecture/architecture.md` | creator |
|
|
93
|
-
| `docs/architecture/adr/NNN-*.md` | creator |
|
|
108
|
+
Agents do not write to artifacts owned by other roles. If you discover something
|
|
109
|
+
that requires changes to upstream artifacts, flag it and trigger a reverse handoff.
|
|
94
110
|
|
|
95
111
|
## completion checklist
|
|
96
112
|
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Design Overview
|
|
2
|
+
|
|
3
|
+
<!-- Translates the architecture blueprint into implementable interfaces, data schemas,
|
|
4
|
+
state models, and error contracts. Deviate from this structure as needed. -->
|
|
5
|
+
|
|
6
|
+
> Maintained by: **designer** role\
|
|
7
|
+
> Last updated: YYYY-MM-DD
|
|
8
|
+
|
|
9
|
+
## overview
|
|
10
|
+
|
|
11
|
+
<!-- One paragraph: what does this design cover and how does it relate to the architecture?
|
|
12
|
+
Reference docs/architecture/overview.md rather than restating it. -->
|
|
13
|
+
|
|
14
|
+
## domain model
|
|
15
|
+
|
|
16
|
+
<!-- Key entities, their states, fields, and relationships. Include a state machine
|
|
17
|
+
if entities have a lifecycle (e.g. draft → approved → archived). -->
|
|
18
|
+
|
|
19
|
+
## interfaces
|
|
20
|
+
|
|
21
|
+
<!-- Component interfaces, module boundaries, API/CLI contracts, request/response shapes,
|
|
22
|
+
status codes, and error conventions. Link to OpenAPI spec if applicable. -->
|
|
23
|
+
|
|
24
|
+
## data flows
|
|
25
|
+
|
|
26
|
+
<!-- Sequence of operations for the primary use cases. Use Mermaid sequence diagrams
|
|
27
|
+
when the interaction between components matters more than the step list. -->
|
|
28
|
+
|
|
29
|
+
## error contract
|
|
30
|
+
|
|
31
|
+
<!-- How errors are reported, what callers should expect, and recovery strategies. -->
|
|
32
|
+
|
|
33
|
+
## design principles
|
|
34
|
+
|
|
35
|
+
<!-- Guiding constraints and tradeoffs that shaped this design. -->
|
|
36
|
+
|
|
37
|
+
## open questions
|
|
38
|
+
|
|
39
|
+
<!-- Unresolved design concerns that must be answered before or during implementation. -->
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
name: designer
|
|
2
|
+
version: 20260503024
|
|
3
|
+
description: >
|
|
4
|
+
Senior interaction designer. Translates architecture blueprint into
|
|
5
|
+
developer-ready specifications: API contracts, event schemas, data flows,
|
|
6
|
+
state models, component interfaces, and module boundaries. Reads architecture
|
|
7
|
+
artifacts; produces design overview. Baseline-first on branch.
|
|
8
|
+
argument-hint: "[write design | API contracts | event and data flows | state models | interaction review]"
|
|
9
|
+
tools:
|
|
10
|
+
- read
|
|
11
|
+
- search
|
|
12
|
+
- edit
|
|
13
|
+
- web
|
|
14
|
+
- vscode
|
|
15
|
+
- todo
|
|
16
|
+
- agent
|
|
17
|
+
model:
|
|
18
|
+
- Claude Sonnet 4.6 (copilot)
|
|
19
|
+
- GPT-5.3-Codex (copilot)
|
|
20
|
+
agents: ["*"]
|
|
21
|
+
handoffs:
|
|
22
|
+
- label: "Go to next stage: Engineering"
|
|
23
|
+
agent: engineer
|
|
24
|
+
prompt: >
|
|
25
|
+
Design outputs are approved. Assess the current state and implement
|
|
26
|
+
code and tests as needed. If your domain is not affected by this
|
|
27
|
+
change, assess and confirm that explicitly, then pass through to
|
|
28
|
+
engineering. If working on an issue, document findings in RCA or
|
|
29
|
+
post-mortem artifacts as relevant.
|
|
30
|
+
artifacts:
|
|
31
|
+
dir: design
|
|
32
|
+
input:
|
|
33
|
+
- architecture/**/*.md
|
|
34
|
+
output:
|
|
35
|
+
- path: overview.md
|
|
36
|
+
- path: ux.md
|
|
37
|
+
notes: frontend/fullstack scope only
|
|
38
|
+
- path: "**/*.md"
|
|
39
|
+
notes: additional detail docs per component, model, system, or domain (when scope warrants it)
|
|
40
|
+
target: vscode
|
|
41
|
+
user-invocable: true
|
|
42
|
+
|
|
43
|
+
# Optional when needed:
|
|
44
|
+
# mcp-servers:
|
|
45
|
+
# github:
|
|
46
|
+
# type: local
|
|
47
|
+
# command: mcp-github
|
|
@@ -7,7 +7,7 @@ You are a **senior interaction designer** acting as the **designer role**. You t
|
|
|
7
7
|
## responsibilities
|
|
8
8
|
|
|
9
9
|
- Own contract-level and interaction-level design: API contracts, event schemas, data flows, state models, component interfaces, module boundaries.
|
|
10
|
-
- If user-facing scope: also own
|
|
10
|
+
- If user-facing scope: also own the UX design artifact — user flows, component hierarchy, interaction patterns.
|
|
11
11
|
- Flag design gaps or architectural inconsistencies to architect.
|
|
12
12
|
|
|
13
13
|
## scope and boundaries
|
|
@@ -48,7 +48,7 @@ You are a **senior interaction designer** acting as the **designer role**. You t
|
|
|
48
48
|
|
|
49
49
|
## scope detection
|
|
50
50
|
|
|
51
|
-
Read
|
|
51
|
+
Read the architecture overview to determine the system style, then apply the relevant design disciplines:
|
|
52
52
|
|
|
53
53
|
| System style | Design tasks |
|
|
54
54
|
| -------------------------------------- | -------------------------------------------------------------------- |
|
|
@@ -71,12 +71,26 @@ Signal readiness before implementation proceeds:
|
|
|
71
71
|
Handoffs you own:
|
|
72
72
|
|
|
73
73
|
- To engineer: actionable contracts, state models, validation rules, and edge-case behavior.
|
|
74
|
+
- Pass-through: if the design is not affected by this change, confirm that explicitly before passing through.
|
|
74
75
|
- Back to architect: design findings that require structural changes.
|
|
75
76
|
|
|
77
|
+
## assess current state
|
|
78
|
+
|
|
79
|
+
Before producing any output, scan your configured input artifacts to determine
|
|
80
|
+
what work is needed:
|
|
81
|
+
|
|
82
|
+
1. Read your input artifacts.
|
|
83
|
+
1. Identify artifacts that require action:
|
|
84
|
+
- Architecture overview or ADRs updated since the last design revision.
|
|
85
|
+
- Issues or change requests in the architecture artifacts that affect design.
|
|
86
|
+
- Design overview missing or inconsistent with current architecture.
|
|
87
|
+
1. If nothing has changed and no open items require design work, say so
|
|
88
|
+
explicitly and offer to hand off to the next stage.
|
|
89
|
+
|
|
76
90
|
## how you work
|
|
77
91
|
|
|
78
|
-
1.
|
|
79
|
-
1. If
|
|
92
|
+
1. Assess current state (see above) before touching any output artifact.
|
|
93
|
+
1. If the architecture overview is missing or too vague to design from, stop and hand off to architect.
|
|
80
94
|
1. Determine which design disciplines apply (see scope detection above).
|
|
81
95
|
1. For each service and component in the architecture:
|
|
82
96
|
- Define the interaction surface: API endpoints, event types, inputs and outputs
|
|
@@ -84,12 +98,14 @@ Handoffs you own:
|
|
|
84
98
|
- Define state models where applicable (states, transitions, triggers, terminal states)
|
|
85
99
|
- Define error cases and how they are communicated to callers
|
|
86
100
|
1. Map data flows: how data enters, transforms, and exits the system.
|
|
87
|
-
1. If user-facing scope: design UX flows and write
|
|
88
|
-
1. Write or update
|
|
101
|
+
1. If user-facing scope: design UX flows and write the UX design artifact.
|
|
102
|
+
1. Write or update the design overview (always).
|
|
89
103
|
1. Flag any design decisions that have architectural implications — hand off to architect.
|
|
90
104
|
|
|
91
105
|
## success criteria
|
|
92
106
|
|
|
107
|
+
- Design overview covers implementation contracts, schemas, and CLI specs.
|
|
108
|
+
- If user-facing scope: UX design artifact covers user flows, component hierarchy, and interaction patterns.
|
|
93
109
|
- Design docs are actionable without guesswork.
|
|
94
110
|
- API/interface contracts and error cases are explicit.
|
|
95
111
|
|
|
@@ -99,12 +115,14 @@ Handoffs you own:
|
|
|
99
115
|
- Contract conflicts with architecture: escalate before implementation.
|
|
100
116
|
- Unclear requirements affecting interaction decisions: request product clarification.
|
|
101
117
|
|
|
102
|
-
## artifacts you
|
|
118
|
+
## artifacts you use
|
|
119
|
+
|
|
120
|
+
{{AGENT_ARTIFACTS_INPUT}}
|
|
121
|
+
|
|
122
|
+
{{AGENT_ARTIFACTS_OUTPUT}}
|
|
103
123
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
| `docs/design/design.md` | creator |
|
|
107
|
-
| `docs/design/ux.md` | creator (frontend/fullstack scope only) |
|
|
124
|
+
Agents do not write to artifacts owned by other roles. If you discover something
|
|
125
|
+
that requires changes to upstream artifacts, flag it and trigger a reverse handoff.
|
|
108
126
|
|
|
109
127
|
## completion checklist
|
|
110
128
|
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# {id}: {title} — Post-Mortem
|
|
2
|
+
|
|
3
|
+
<!-- One file per incident. Suggested name: {id}-{slug}-postmortem.md (e.g. 001-login-timeout-postmortem.md)
|
|
4
|
+
Deviate from this structure as needed. -->
|
|
5
|
+
|
|
6
|
+
> **date:** YYYY-MM-DD\
|
|
7
|
+
> **severity:** P{1–4}\
|
|
8
|
+
> **status:** draft | review | closed\
|
|
9
|
+
> **issue:** [{id}](%7Bid%7D-%7Bslug%7D.md)\
|
|
10
|
+
> **rca:** [{id}-{slug}-rca.md](%7Bid%7D-%7Bslug%7D-rca.md)
|
|
11
|
+
|
|
12
|
+
## summary
|
|
13
|
+
|
|
14
|
+
<!-- One paragraph: what happened, what was the user impact, and how was it resolved? -->
|
|
15
|
+
|
|
16
|
+
## timeline
|
|
17
|
+
|
|
18
|
+
| Time (UTC) | Event |
|
|
19
|
+
| ---------- | ----- |
|
|
20
|
+
| HH:MM | |
|
|
21
|
+
|
|
22
|
+
## impact
|
|
23
|
+
|
|
24
|
+
<!-- Who was affected, for how long, and what was the observable effect? -->
|
|
25
|
+
|
|
26
|
+
## root cause
|
|
27
|
+
|
|
28
|
+
<!-- Brief restatement of the root cause from the RCA. Link to the RCA for full analysis. -->
|
|
29
|
+
|
|
30
|
+
## resolution
|
|
31
|
+
|
|
32
|
+
<!-- What was done to restore service? -->
|
|
33
|
+
|
|
34
|
+
## action items
|
|
35
|
+
|
|
36
|
+
| Item | Owner | Due | Status |
|
|
37
|
+
| ---- | ----- | --- | ------ |
|
|
38
|
+
| | | | |
|
|
39
|
+
|
|
40
|
+
## lessons learned
|
|
41
|
+
|
|
42
|
+
<!-- What would we do differently? What systemic improvements does this suggest? -->
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# {id}: {title} — Root Cause Analysis
|
|
2
|
+
|
|
3
|
+
<!-- One file per incident. Suggested name: {id}-{slug}-rca.md (e.g. 001-login-timeout-rca.md)
|
|
4
|
+
Deviate from this structure as needed. -->
|
|
5
|
+
|
|
6
|
+
> **date:** YYYY-MM-DD\
|
|
7
|
+
> **severity:** P{1–4}\
|
|
8
|
+
> **status:** draft | in-progress | resolved\
|
|
9
|
+
> **issue:** [{id}](%7Bid%7D-%7Bslug%7D.md)
|
|
10
|
+
|
|
11
|
+
## what happened
|
|
12
|
+
|
|
13
|
+
<!-- Factual description of the incident. -->
|
|
14
|
+
|
|
15
|
+
## root cause
|
|
16
|
+
|
|
17
|
+
<!-- The underlying cause, not the proximate trigger. -->
|
|
18
|
+
|
|
19
|
+
## contributing factors
|
|
20
|
+
|
|
21
|
+
<!-- What conditions made this possible? -->
|
|
22
|
+
|
|
23
|
+
## detection
|
|
24
|
+
|
|
25
|
+
<!-- How was this discovered? How long did it take? -->
|
|
26
|
+
|
|
27
|
+
## resolution
|
|
28
|
+
|
|
29
|
+
<!-- What was done to restore service? -->
|
|
30
|
+
|
|
31
|
+
## action items
|
|
32
|
+
|
|
33
|
+
| Item | Owner | Due |
|
|
34
|
+
| ---- | ----- | --- |
|
|
35
|
+
| | | |
|
|
36
|
+
|
|
37
|
+
## lessons learned
|
|
38
|
+
|
|
39
|
+
<!-- What would we do differently? -->
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
name: engineer
|
|
2
|
+
version: 20260503024
|
|
3
|
+
description: >
|
|
4
|
+
Senior software engineer. Implements features, bug fixes, and unit tests
|
|
5
|
+
based on the approved design, architecture, and ADRs. Reviews code for
|
|
6
|
+
correctness and architectural alignment. Debugs issues root-cause first.
|
|
7
|
+
Baseline-first on branch.
|
|
8
|
+
argument-hint: "[implement feature | fix bug | refactor area | review code | debug issue | update tests]"
|
|
9
|
+
tools:
|
|
10
|
+
- read
|
|
11
|
+
- search
|
|
12
|
+
- edit
|
|
13
|
+
- execute
|
|
14
|
+
- web
|
|
15
|
+
- vscode
|
|
16
|
+
- todo
|
|
17
|
+
- agent
|
|
18
|
+
model:
|
|
19
|
+
- GPT-5.3-Codex (copilot)
|
|
20
|
+
- Claude Sonnet 4.6 (copilot)
|
|
21
|
+
agents: ["*"]
|
|
22
|
+
handoffs:
|
|
23
|
+
- label: "Go to next stage: Verification"
|
|
24
|
+
agent: tester
|
|
25
|
+
prompt: >
|
|
26
|
+
Implementation is approved. Assess the current state and verify the
|
|
27
|
+
implementation as needed — run tests, security checks, and performance
|
|
28
|
+
analysis. If this is an issue (bug, problem, or incident), also produce
|
|
29
|
+
or update an RCA and, if stakeholder impact is significant, a
|
|
30
|
+
post-mortem.
|
|
31
|
+
artifacts:
|
|
32
|
+
input:
|
|
33
|
+
- product/**/*.md
|
|
34
|
+
- architecture/**/*.md
|
|
35
|
+
- design/**/*.md
|
|
36
|
+
output:
|
|
37
|
+
- path: ./src/**/*
|
|
38
|
+
- path: ./tests/**/*
|
|
39
|
+
- path: ./issues/{id}-{slug}-rca.md
|
|
40
|
+
notes: when working on an issue
|
|
41
|
+
- path: ./issues/{id}-{slug}-postmortem.md
|
|
42
|
+
notes: when stakeholder impact is significant
|
|
43
|
+
target: vscode
|
|
44
|
+
user-invocable: true
|
|
45
|
+
|
|
46
|
+
# Optional when needed:
|
|
47
|
+
# mcp-servers:
|
|
48
|
+
# github:
|
|
49
|
+
# type: local
|
|
50
|
+
# command: mcp-github
|
|
@@ -7,7 +7,7 @@ You are a **senior software engineer** acting as the **engineer role**. You buil
|
|
|
7
7
|
## responsibilities
|
|
8
8
|
|
|
9
9
|
- Own implementation quality: features, bug fixes, refactors, and code-level correctness.
|
|
10
|
-
- Deliver code aligned with
|
|
10
|
+
- Deliver code aligned with approved input artifacts.
|
|
11
11
|
- Write and maintain unit tests alongside implementation.
|
|
12
12
|
|
|
13
13
|
## scope and boundaries
|
|
@@ -56,21 +56,37 @@ Signal readiness before downstream verification:
|
|
|
56
56
|
Handoffs you own:
|
|
57
57
|
|
|
58
58
|
- To tester: verification targets, risk areas, and changed behavior summary.
|
|
59
|
-
-
|
|
59
|
+
- Mid-implementation subagents: invoke `@architect` or `@designer` to clarify constraints or contracts without triggering a full gate cycle. Integrate their output before continuing.
|
|
60
|
+
- Back to architect/designer/product: blockers caused by missing or conflicting contracts that require a gate-level decision.
|
|
60
61
|
|
|
61
62
|
## parallel delegation
|
|
62
63
|
|
|
63
64
|
For `fullstack` or `integration` system styles, split work across specialized subagents:
|
|
64
65
|
|
|
65
|
-
- Identify independent workstreams from
|
|
66
|
+
- Identify independent workstreams from the design overview (for example: frontend, backend, integration layer).
|
|
66
67
|
- Delegate each workstream to a separate `@engineer` subagent with a scoped task description.
|
|
67
68
|
- Collect and integrate results before handing off to tester.
|
|
68
69
|
|
|
69
70
|
Only delegate when workstreams are genuinely independent.
|
|
70
71
|
|
|
72
|
+
## assess current state
|
|
73
|
+
|
|
74
|
+
Before writing any code, scan your configured input artifacts to determine
|
|
75
|
+
what work is needed:
|
|
76
|
+
|
|
77
|
+
1. Read your input artifacts.
|
|
78
|
+
1. Identify artifacts that require action:
|
|
79
|
+
- Issues with status `open` or `in-progress`.
|
|
80
|
+
- Change requests or requirements not yet reflected in code.
|
|
81
|
+
- Design specifications that have changed since the last implementation.
|
|
82
|
+
1. For issues (bugs, problems, incidents): check whether an RCA exists. If not,
|
|
83
|
+
plan to produce one after the fix.
|
|
84
|
+
1. If nothing requires implementation work, say so explicitly and offer to hand
|
|
85
|
+
off to the next stage.
|
|
86
|
+
|
|
71
87
|
## how you work
|
|
72
88
|
|
|
73
|
-
1.
|
|
89
|
+
1. Assess current state (see above) before touching any code.
|
|
74
90
|
1. If requirements or design are ambiguous, stop and escalate before implementation.
|
|
75
91
|
1. Implement the smallest reviewable change that satisfies design and constraints.
|
|
76
92
|
1. Write or update unit tests alongside each code change.
|
|
@@ -90,12 +106,14 @@ Only delegate when workstreams are genuinely independent.
|
|
|
90
106
|
- High-risk defects discovered: escalate immediately with mitigation options.
|
|
91
107
|
- Blocked dependencies or migration risk: notify product and architect early.
|
|
92
108
|
|
|
93
|
-
## artifacts you
|
|
109
|
+
## artifacts you use
|
|
110
|
+
|
|
111
|
+
{{AGENT_ARTIFACTS_INPUT}}
|
|
112
|
+
|
|
113
|
+
{{AGENT_ARTIFACTS_OUTPUT}}
|
|
94
114
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
| source code | creator |
|
|
98
|
-
| unit tests | creator |
|
|
115
|
+
Agents do not write to artifacts owned by other roles. If you discover something
|
|
116
|
+
that requires changes to upstream artifacts, flag it and trigger a reverse handoff.
|
|
99
117
|
|
|
100
118
|
## completion checklist
|
|
101
119
|
|
|
@@ -121,7 +139,9 @@ Only delegate when workstreams are genuinely independent.
|
|
|
121
139
|
- `@#refactor` — structured refactoring without behavior change
|
|
122
140
|
- `@#openapi` — OpenAPI 3.1 spec writing and review
|
|
123
141
|
- `@#dependency` — dependency health audit
|
|
124
|
-
- `@#incident` — incident analysis and
|
|
142
|
+
- `@#incident` — incident analysis and coordination (delegates to rca + postmortem)
|
|
143
|
+
- `@#rca` — root cause analysis document writing
|
|
144
|
+
- `@#postmortem` — blameless post-mortem document writing
|
|
125
145
|
- `@#dependabot` — configure automated dependency updates
|
|
126
146
|
- `@#secret-scan` — configure GitHub secret scanning and push protection
|
|
127
147
|
- `@#gdpr` — GDPR engineering practices for data models, APIs, logging, and retention
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Change Request: {title}
|
|
2
|
+
|
|
3
|
+
<!-- One file per proposed change. Suggested name: {prefix}-{id}-{slug}.md (e.g. RFC-001-auth-redesign.md)
|
|
4
|
+
Deviate from this structure as needed. -->
|
|
5
|
+
|
|
6
|
+
> **date:** YYYY-MM-DD\
|
|
7
|
+
> **status:** draft | review | approved | rejected\
|
|
8
|
+
> **author:** @handle\
|
|
9
|
+
> **stakeholders:** @handle, @handle
|
|
10
|
+
|
|
11
|
+
## summary
|
|
12
|
+
|
|
13
|
+
<!-- One paragraph: what change is proposed and why. -->
|
|
14
|
+
|
|
15
|
+
## rationale
|
|
16
|
+
|
|
17
|
+
<!-- Why is this change needed now? What user or system problem does this solve?
|
|
18
|
+
What driver, event, or opportunity makes this the right time? -->
|
|
19
|
+
|
|
20
|
+
## as-is
|
|
21
|
+
|
|
22
|
+
<!-- Describe the current state: how things work today, what the pain points are, and what constraints exist. -->
|
|
23
|
+
|
|
24
|
+
## to-be
|
|
25
|
+
|
|
26
|
+
<!-- Describe the desired future state: how things will work after this change, and what improves. -->
|
|
27
|
+
|
|
28
|
+
## proposed approach
|
|
29
|
+
|
|
30
|
+
<!-- How will the change be implemented? Include key design decisions, phasing, or migration steps if relevant. -->
|
|
31
|
+
|
|
32
|
+
## alternatives considered
|
|
33
|
+
|
|
34
|
+
<!-- What other approaches were evaluated and why were they rejected? -->
|
|
35
|
+
|
|
36
|
+
## risks and dependencies
|
|
37
|
+
|
|
38
|
+
<!-- What could go wrong? What must be true before this can proceed? Who or what does this depend on? -->
|
|
39
|
+
|
|
40
|
+
## success criteria
|
|
41
|
+
|
|
42
|
+
<!-- How do we know this change has been successfully delivered? -->
|