claude-code-kit 0.27.0__tar.gz → 0.28.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.
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/.claude-plugin/marketplace.json +1 -1
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/.claude-plugin/plugin.json +1 -1
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/CHANGELOG.md +23 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/PKG-INFO +16 -8
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/README.md +15 -7
- claude_code_kit-0.28.0/docs/capture-a-real-run.md +77 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/pyproject.toml +1 -1
- claude_code_kit-0.28.0/scripts/capture-sdlc-run.sh +161 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/src/claude_kit/__init__.py +1 -1
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/.gitignore +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/CLAUDE.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/CONTRIBUTING.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/LICENSE +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/agents/acceptance-reviewer.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/agents/auditor.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/agents/dependency-scanner.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/agents/developer.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/agents/devils-advocate.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/agents/devops-engineer.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/agents/e2e-tester.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/agents/em-reviewer.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/agents/incident-responder.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/agents/merge-reviewer.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/agents/observability-engineer.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/agents/orchestrator.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/agents/owasp-reviewer.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/agents/policy-validator.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/agents/pr-raiser.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/agents/risk-classifier.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/agents/sdlc-code-reviewer.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/agents/secret-scanner.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/agents/security-reviewer.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/agents/senior-backend-dev.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/agents/senior-frontend-dev.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/agents/senior-tester.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/agents/spec-doc-writer.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/agents/story-planner.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/agents/technical-architect.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/agents/tester.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/agents/ui-designer.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/agents/unit-tester.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/catalog/capture.yaml +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/catalog/mcp.yaml +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/catalog/org.yaml +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/catalog/profiles.yaml +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/catalog/stacks.yaml +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/commands/abort.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/commands/init.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/commands/sdlc.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/commands/status.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/docs/agentic-patterns.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/docs/agents.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/docs/architecture.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/docs/coverage-audit.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/docs/eval-harness.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/docs/org-capabilities.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/docs/stack-skills/GAP-ANALYSIS.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/docs/stack-skills/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/docs/stack-skills/REPO-INVENTORY.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/hooks/hooks.json +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/hooks/scripts/audit-log.sh +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/hooks/scripts/capture-learnings.sh +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/hooks/scripts/guard-destructive-git.sh +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/hooks/scripts/guard-kubectl-delete.sh +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/hooks/scripts/guard-secrets.sh +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/hooks/scripts/lint-fix.sh +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/hooks/scripts/load-autonomy.sh +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/hooks/scripts/load-continuity.sh +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/hooks/scripts/load-learnings.sh +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/hooks/scripts/type-check.sh +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/hooks/scripts/validate-frontmatter.sh +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/hooks/scripts/validate-settings.sh +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/hooks/scripts/warn-large-edits.sh +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/hooks/scripts/warn-llm-io.sh +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/hooks/scripts/warn-missing-tests.sh +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/hooks/scripts/warn-sensitive-files.sh +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/hooks/scripts/warn-shared-modules.sh +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/rules/agent-guardrails.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/rules/agent-memory.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/rules/agent-resilience.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/rules/autonomy-levels.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/rules/code-organization.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/rules/continuity.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/rules/design-patterns.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/rules/devops-observability.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/rules/documentation.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/rules/evals.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/rules/frontend-best-practices.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/rules/goal-setting-and-monitoring.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/rules/human-in-the-loop.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/rules/linting-and-formatting.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/rules/mandatory-workflow.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/rules/model-tiers.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/rules/quality-gates.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/rules/rarv-cycle.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/rules/reasoning-techniques.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/rules/responsive-and-accessibility.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/rules/risk-classification.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/rules/testing.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/rules/tool-design.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/scripts/check_docs_consistency.py +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/scripts/gen_hooks.py +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/scripts/init.sh +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/_references/accessibility-checklist.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/_references/orchestration-patterns.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/_references/performance-checklist.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/_references/security-checklist.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/_references/testing-patterns.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/accessibility-review/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/alembic-migrations/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/alembic-migrations/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/alembic-migrations/references/alembic-setup-and-env.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/alembic-migrations/references/async-and-multitenant-migrations.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/alembic-migrations/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/alembic-migrations/references/troubleshooting-and-debugging.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/alembic-migrations/references/writing-migrations.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/anthropic-vertex-integration/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/anthropic-vertex-integration/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/anthropic-vertex-integration/references/generate-helpers-and-retry.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/anthropic-vertex-integration/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/anthropic-vertex-integration/references/vertex-client-and-auth.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/api-and-interface-design/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/api-integration/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/api-pagination-filtering-sorting/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/api-pagination-filtering-sorting/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/api-pagination-filtering-sorting/references/query-params-conventions.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/api-pagination-filtering-sorting/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/api-pagination-filtering-sorting/references/response-metadata.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/archive-sprint/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/async-python-patterns/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/async-python-patterns/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/async-python-patterns/references/async-boundaries.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/async-python-patterns/references/lifecycle-and-gather.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/async-python-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/auth-and-rbac/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/auth-and-rbac/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/auth-and-rbac/references/auth-dependencies.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/auth-and-rbac/references/rbac-and-permissions.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/auth-and-rbac/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/auth-and-rbac/references/security-hardening.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/auth-and-rbac/references/tokens-and-hashing.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/backend-repo-architecture/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/backend-repo-architecture/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/backend-repo-architecture/references/deployment-patterns.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/backend-repo-architecture/references/entrypoint-and-config.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/backend-repo-architecture/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/backend-repo-architecture/references/structure-patterns.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/backend-repo-architecture/references/troubleshooting.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/backlog/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/backlog/item-template.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/browser-testing-with-devtools/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/bug-hunt/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/ci-cd-and-automation/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/code-review-and-quality/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/code-simplification/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/component-design/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/configargparse-yaml-env-layering/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/configargparse-yaml-env-layering/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/configargparse-yaml-env-layering/references/config-layering-anatomy.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/configargparse-yaml-env-layering/references/mode-dispatch-and-precedence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/configargparse-yaml-env-layering/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/consolidate-learnings/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/containerization-and-deployment/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/containerization-and-deployment/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/containerization-and-deployment/references/deployment-and-secrets.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/containerization-and-deployment/references/dockerfile-and-compose.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/containerization-and-deployment/references/entrypoint-and-modes.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/containerization-and-deployment/references/kerberos-kinit-bootstrap.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/containerization-and-deployment/references/makefile-dev-workflow.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/containerization-and-deployment/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/context-engineering/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/cron-and-scheduled-jobs/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/cron-and-scheduled-jobs/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/cron-and-scheduled-jobs/references/choosing-and-operations.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/cron-and-scheduled-jobs/references/kubernetes-cronjob.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/cron-and-scheduled-jobs/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/cron-and-scheduled-jobs/references/temporal-schedules.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/data-engineering-bigquery-gcs/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/data-engineering-bigquery-gcs/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/data-engineering-bigquery-gcs/references/bigquery-advanced-patterns.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/data-engineering-bigquery-gcs/references/bigquery-gcs-io.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/data-engineering-bigquery-gcs/references/medallion-architecture.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/data-engineering-bigquery-gcs/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/data-engineering-bigquery-gcs/references/temp-table-merge-pattern.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/debugging-and-error-recovery/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/decision/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/decision/adr-template.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/deprecation-and-migration/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/design-patterns-and-conventions/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/design-patterns-and-conventions/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/design-patterns-and-conventions/references/anti-patterns.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/design-patterns-and-conventions/references/naming-and-layout.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/design-patterns-and-conventions/references/patterns-catalog.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/design-patterns-and-conventions/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/design-patterns-and-conventions/references/testing-patterns.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/design-patterns-and-conventions/references/troubleshooting.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/docker-compose/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/docker-compose/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/docker-compose/references/compose-services-and-healthchecks.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/docker-compose/references/dev-vs-prod-variants.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/docker-compose/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/docker-shared/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/docker-shared/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/docker-shared/references/dockerignore-and-build-secrets.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/docker-shared/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/docker-shared/references/shared-base-images.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/docker-shared/references/shared-compose-fragments.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/dockerfile-backend/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/dockerfile-backend/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/dockerfile-backend/references/backend-dockerfile-anatomy.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/dockerfile-backend/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/dockerfile-backend/references/system-deps-and-caching.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/dockerfile-frontend/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/dockerfile-frontend/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/dockerfile-frontend/references/build-args-and-nginx.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/dockerfile-frontend/references/frontend-dockerfile-anatomy.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/dockerfile-frontend/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/documentation-and-adrs/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/doubt-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/edge-to-service-trust-boundary/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/edge-to-service-trust-boundary/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/edge-to-service-trust-boundary/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/edge-to-service-trust-boundary/references/trust-contract.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/execute/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/fastapi-service-patterns/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/fastapi-service-patterns/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/fastapi-service-patterns/references/api-versioning.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/fastapi-service-patterns/references/app-factory-and-lifespan.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/fastapi-service-patterns/references/custom-route-and-middleware.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/fastapi-service-patterns/references/dependency-injection.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/fastapi-service-patterns/references/model-and-serialization-patterns.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/fastapi-service-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/file-export-and-reporting/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/file-export-and-reporting/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/file-export-and-reporting/references/excel-generation.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/file-export-and-reporting/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/file-export-and-reporting/references/streaming-and-downloads.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/frontend-repo-architecture/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/frontend-repo-architecture/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/frontend-repo-architecture/references/api-layer-and-types.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/frontend-repo-architecture/references/divergences.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/frontend-repo-architecture/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/frontend-repo-architecture/references/structure-and-state.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/frontend-repo-architecture/references/testing-patterns.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/frontend-ui-engineering/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/gcp-cloud-run-github-actions/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/gcp-cloud-run-github-actions/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/gcp-cloud-run-github-actions/references/cloud-run-deploy.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/gcp-cloud-run-github-actions/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/gcp-cloud-run-github-actions/references/workflow-structure.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/gcs-file-storage-patterns/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/gcs-file-storage-patterns/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/gcs-file-storage-patterns/references/client-and-uploads.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/gcs-file-storage-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/gcs-file-storage-patterns/references/signed-urls-and-reads.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/git-workflow-and-versioning/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/grafana-dashboards-and-alerts/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/grafana-dashboards-and-alerts/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/grafana-dashboards-and-alerts/references/dashboard-json-and-templating.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/grafana-dashboards-and-alerts/references/provisioning-and-organization.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/grafana-dashboards-and-alerts/references/red-metrics-queries.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/grafana-dashboards-and-alerts/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/grafana-dashboards-and-alerts/references/unified-alerting.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/graphql-patterns/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/graphql-patterns/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/graphql-patterns/references/apollo-client-frontend.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/graphql-patterns/references/apollo-client-setup.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/graphql-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/graphql-patterns/references/strawberry-backend.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/graphql-patterns/references/when-to-use-graphql.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/idea-refine/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/idea-refine/examples.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/idea-refine/frameworks.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/idea-refine/refinement-criteria.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/idea-refine/scripts/idea-refine.sh +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/incident-postmortem/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/incremental-implementation/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/interview-me/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/kafka-config-driven/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/kafka-config-driven/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/kafka-config-driven/references/config-and-sasl-kerberos.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/kafka-config-driven/references/consumer-producer-patterns.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/kafka-config-driven/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/kafka-config-driven/references/troubleshooting-and-patterns.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/kubectl-operations/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/kubectl-operations/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/kubectl-operations/references/command-reference.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/kubectl-operations/references/context-namespace-rbac.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/kubectl-operations/references/debugging-playbooks.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/kubectl-operations/references/output-formats-and-selectors.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/kubectl-operations/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/kubernetes-workload-hardening/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/kubernetes-workload-hardening/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/kubernetes-workload-hardening/references/networkpolicy-and-rbac.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/kubernetes-workload-hardening/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/kubernetes-workload-hardening/references/securitycontext-and-podsecurity.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/langfuse-llm-tracing/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/langfuse-llm-tracing/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/langfuse-llm-tracing/references/langfuse-client-and-tracing.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/langfuse-llm-tracing/references/python-and-typescript.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/langfuse-llm-tracing/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/load-testing/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/manual-test/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/modernization-and-migration/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/modernization-and-migration/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/modernization-and-migration/references/migration-best-practices.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/modernization-and-migration/references/pydantic-v1-to-v2.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/modernization-and-migration/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/modernization-and-migration/references/shared-internal-library.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/modernization-and-migration/references/sqlalchemy-14-to-20.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/multi-tenancy-patterns/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/multi-tenancy-patterns/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/multi-tenancy-patterns/references/caching-patterns.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/multi-tenancy-patterns/references/isolation-strategies.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/multi-tenancy-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/multi-tenancy-patterns/references/tenant-resolution.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/node-express-service/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/node-express-service/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/node-express-service/references/app-factory-and-mode-dispatch.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/node-express-service/references/config-and-module-alias.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/node-express-service/references/middleware-patterns.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/node-express-service/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/node-objection-knex/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/node-objection-knex/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/node-objection-knex/references/migrations-and-validation.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/node-objection-knex/references/objection-model-and-knex.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/node-objection-knex/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/notifications-and-messaging/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/notifications-and-messaging/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/notifications-and-messaging/references/provider-abstraction.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/notifications-and-messaging/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/notifications-and-messaging/references/templates-and-fallback.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/observability-and-logging/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/observability-and-logging/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/observability-and-logging/references/health-and-readiness.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/observability-and-logging/references/logging-and-structlog.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/observability-and-logging/references/outbound-metrics-and-multi-mode.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/observability-and-logging/references/pii-redaction.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/observability-and-logging/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/observability-and-logging/references/tracing-and-metrics.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/over-engineering-review/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/performance-optimization/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/planning-and-task-breakdown/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/playwright-verification/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/pydantic-schema-patterns/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/pydantic-schema-patterns/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/pydantic-schema-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/pydantic-schema-patterns/references/settings-and-validation.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/pydantic-schema-patterns/references/troubleshooting-and-common-errors.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/pydantic-schema-patterns/references/v1-vs-v2.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/python-dao-and-database/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/python-dao-and-database/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/python-dao-and-database/references/advanced-query-patterns.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/python-dao-and-database/references/basedao-and-sessions.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/python-dao-and-database/references/mongodb-advanced.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/python-dao-and-database/references/other-db-mongodb.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/python-dao-and-database/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/python-dao-and-database/references/sqlalchemy-1x-vs-2x.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/radix-tailwind-component-patterns/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/radix-tailwind-component-patterns/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/radix-tailwind-component-patterns/references/radix-primitives-and-variants.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/radix-tailwind-component-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/radix-tailwind-component-patterns/references/tailwind-theme-and-cn.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/react-hook-form-zod-patterns/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/react-hook-form-zod-patterns/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/react-hook-form-zod-patterns/references/form-setup-and-zod.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/react-hook-form-zod-patterns/references/multi-step-and-modes.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/react-hook-form-zod-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/redis-caching-patterns/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/redis-caching-patterns/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/redis-caching-patterns/references/cache-manager-and-fallback.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/redis-caching-patterns/references/namespacing-and-invalidation.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/redis-caching-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/refresh-docs/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/remember/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/scope/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/scope/scope-template.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/sdlc/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/security-and-hardening/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/security-verification/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/shannon-ai-pentest/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/shannon-ai-pentest/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/shannon-ai-pentest/references/operating-guide.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/shipping-and-launch/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/simplification-debt/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/smoke-test/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/source-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/spec-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/sprint/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/sprint/sprint-template.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/tanstack-react-query-patterns/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/tanstack-react-query-patterns/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/tanstack-react-query-patterns/references/mutations-and-cache.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/tanstack-react-query-patterns/references/query-keys-and-hooks.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/tanstack-react-query-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/task-tracker-sync/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/temporal-config-driven/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/temporal-config-driven/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/temporal-config-driven/references/config-and-retry-idempotency.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/temporal-config-driven/references/dag-dsl-interpreter.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/temporal-config-driven/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/temporal-config-driven/references/schedule-registration.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/temporal-config-driven/references/schedules-and-cron.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/temporal-config-driven/references/worker-workflow-activity-patterns.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/test-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/test-plan-review/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/testing-conventions/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/testing-conventions/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/testing-conventions/references/async-and-mocking.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/testing-conventions/references/coverage-gap-and-recommendations.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/testing-conventions/references/github-actions-test-orchestration.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/testing-conventions/references/pytest-and-fixtures.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/testing-conventions/references/pytest-asyncio-modes.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/testing-conventions/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/testing-conventions/references/security-regression-tests.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/testing-conventions/references/vitest-frontend-testing.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/threat-model/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/triage/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/ui-ux-design/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/unit-test/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/using-agent-skills/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/vitest-rtl-msw-patterns/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/vitest-rtl-msw-patterns/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/vitest-rtl-msw-patterns/references/msw-and-contract-tests.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/vitest-rtl-msw-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/vitest-rtl-msw-patterns/references/vitest-rtl-setup.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/zap-vapt-scanning/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/zap-vapt-scanning/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/zap-vapt-scanning/references/operating-guide.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/zap-vapt-scanning/scripts/endpoints.example.txt +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/zap-vapt-scanning/scripts/requirements.txt +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/zap-vapt-scanning/scripts/zap_vapt.py +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/zustand-state-patterns/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/zustand-state-patterns/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/zustand-state-patterns/references/async-polling-and-persistence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/zustand-state-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/skills/zustand-state-patterns/references/store-structure-and-selectors.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/src/claude_kit/__main__.py +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/src/claude_kit/catalog.py +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/src/claude_kit/cli.py +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/src/claude_kit/hooks.py +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/src/claude_kit/models.py +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/src/claude_kit/pipeline.py +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/src/claude_kit/prompts.py +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/src/claude_kit/render.py +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/src/claude_kit/scaffold.py +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/src/claude_kit/upgrader.py +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/src/claude_kit/validator.py +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/CLAUDE.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/CLAUDE.stack.md.tmpl +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/CONTINUITY.template.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/README.claude-sdlc.md.tmpl +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/agent-memory/MEMORY.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/agent-memory/api/.gitkeep +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/agent-memory/architecture/.gitkeep +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/agent-memory/debugging/.gitkeep +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/agent-memory/gotchas/.gitkeep +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/agent-memory/patterns/.gitkeep +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/agent-memory/performance/.gitkeep +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/artifacts/adr.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/artifacts/api-change-report.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/artifacts/feature-spec.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/artifacts/release-plan.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/artifacts/runbook.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/artifacts/security-review.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/artifacts/test-plan.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/agents/data-workflow-agent.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/agents/founder-prototype-agent.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/agents/internal-tools-builder.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/agents/pm-copilot.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/agents/staff-pm-reviewer.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/agents/support-ticket-engineer.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/packs/devops-and-release/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/packs/devops-and-release/pack.yaml +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/packs/engineering-core/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/packs/engineering-core/pack.yaml +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/packs/non-engineer-builder/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/packs/non-engineer-builder/pack.yaml +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/packs/onboarding-and-docs/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/packs/onboarding-and-docs/pack.yaml +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/packs/product-to-code/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/packs/product-to-code/pack.yaml +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/packs/quality-and-review/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/packs/quality-and-review/pack.yaml +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/packs/security-and-compliance/README.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/packs/security-and-compliance/pack.yaml +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/rules/ai-working-agreement.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/rules/ambiguity-resolution.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/rules/branch-and-pr-policy.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/rules/compliance-policy.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/rules/non-engineer-safe-coding.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/rules/pii-policy.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/rules/production-data-policy.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/rules/prompt-to-task-conversion.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/rules/prototype-boundaries.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/rules/secrets-policy.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/skills/customer-issue-to-fix/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/skills/feature-from-idea/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/skills/prompt-to-safe-task/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/skills/prototype-to-production/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/skills/repo-onboarding/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/skills/review-scope/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/skills/review-sprint/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/skills/review-sprint-plan/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/org/skills/review-ux-flow/SKILL.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/settings.json +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/stacks/backend/go/net-http/rules/go-patterns.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/stacks/backend/python/fastapi/rules/fastapi-patterns.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/stacks/db/mongodb/agents/migration-specialist.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/stacks/db/mongodb/agents/mongodb-specialist.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/stacks/db/mongodb/rules/mongodb-patterns.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/stacks/db/postgres/agents/db-performance-reviewer.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/stacks/db/postgres/agents/migration-specialist.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/stacks/db/postgres/agents/postgres-specialist.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/stacks/db/postgres/rules/database-performance.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/stacks/db/postgres/rules/postgres-patterns.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/stacks/frontend/react/rules/design-system-compliance.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/stacks/frontend/react/rules/mobile-design-guidelines.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/stacks/frontend/react/rules/react-patterns.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/stacks/frontend/react/rules/ui-design-system.md +0 -0
- {claude_code_kit-0.27.0 → claude_code_kit-0.28.0}/templates/stacks/frontend/react/rules/ux-patterns.md +0 -0
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"name": "claude-kit",
|
|
11
11
|
"source": "./",
|
|
12
12
|
"description": "Cookiecutter-style scaffolder for an autonomous Claude Code SDLC config (no app code, no Docker): install CLAUDE.md + .claude/ (rules, the profile's agents/skills, hooks, artifact templates) + optional .mcp.json, then run /sdlc to drive spec → review → build → test → security → ship through profile-aware quality gates, working memory, and a self-improving learnings loop.",
|
|
13
|
-
"version": "0.
|
|
13
|
+
"version": "0.28.0",
|
|
14
14
|
"license": "MIT",
|
|
15
15
|
"keywords": ["sdlc", "agents", "orchestration", "quality-gates", "workflow", "scaffold", "cookiecutter"]
|
|
16
16
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-kit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.28.0",
|
|
4
4
|
"description": "Cookiecutter-style scaffolder for an autonomous Claude Code SDLC config (no app code, no Docker). `claude-kit init` asks ordered questions and installs CLAUDE.md + .claude/ (rules, the profile's agents/skills, hooks, artifact templates) + optional .mcp.json; run /sdlc to drive spec → review → build → test → security → ship through profile-aware quality gates with working memory and a self-improving learnings loop.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Arjunsingh Yadav",
|
|
@@ -4,6 +4,29 @@ All notable changes to claude-kit are documented here. The format follows
|
|
|
4
4
|
[Keep a Changelog](https://keepachangelog.com/), and the project uses
|
|
5
5
|
[semantic versioning](https://semver.org/).
|
|
6
6
|
|
|
7
|
+
## [0.28.0] — 2026-06-24
|
|
8
|
+
|
|
9
|
+
**Positioning & onboarding pass (docs): surface the anti-fabrication moat, compare against native
|
|
10
|
+
subagents, and ship a real-run capture harness. No behavior change.**
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
- **`scripts/capture-sdlc-run.sh` + [`docs/capture-a-real-run.md`](docs/capture-a-real-run.md).** A
|
|
14
|
+
read-only helper that bundles one completed `/sdlc` run — the spec (`docs/specs/`), the gitignored
|
|
15
|
+
gate state (`.claude/state/pipeline-snapshot.json`), the verdict log (`.claude/CONTINUITY.md`), and
|
|
16
|
+
the diff vs your base branch — into one publishable folder. It runs a generic secret scan (lists
|
|
17
|
+
matching **file names only**, never values) and writes a manual `REDACTION-CHECKLIST.md`, so a real
|
|
18
|
+
run can become a worked example without hand-collecting files.
|
|
19
|
+
- **"Native Claude Code subagents / Agent Teams" comparison row** in the README — the alternative
|
|
20
|
+
every Claude Code user weighs first. Honest framing: native gives you the agents; claude-kit adds
|
|
21
|
+
the *governance* (sequenced pipeline, owned gates, evidence requirement, `devils-advocate`, resume).
|
|
22
|
+
|
|
23
|
+
### Changed
|
|
24
|
+
- **The anti-fabrication evidence requirement is now the headline trust idea.** "How it works" leads
|
|
25
|
+
with *"Evidence or it didn't happen"* — every gate verdict must cite the command + captured output
|
|
26
|
+
(or `file:line`), and an invented/assumed/partial-output verdict is an auto-Critical finding
|
|
27
|
+
(`rules/quality-gates.md` §2.5). The top-of-README tagline now states gates pass only on real,
|
|
28
|
+
cited output. (The rule itself is unchanged; it was previously only implied via RARV.)
|
|
29
|
+
|
|
7
30
|
## [0.27.0] — 2026-06-24
|
|
8
31
|
|
|
9
32
|
**Objective fixes from a product review: honest skill counts (with a guard), drift-aware
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: claude-code-kit
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.28.0
|
|
4
4
|
Summary: Cookiecutter-style scaffolder for an autonomous Claude Code SDLC configuration (no app code, no Docker). Asks ordered questions and installs CLAUDE.md + .claude/ (rules, the chosen profile's agents/skills, hooks, artifact templates) + optional .mcp.json; run /sdlc to drive spec → review → build → test → security → ship through profile-aware quality gates, working memory, and a self-improving learnings loop.
|
|
5
5
|
Project-URL: Homepage, https://github.com/ajyadav013/claude-kit
|
|
6
6
|
Project-URL: Repository, https://github.com/ajyadav013/claude-kit
|
|
@@ -34,8 +34,9 @@ Description-Content-Type: text/markdown
|
|
|
34
34
|
|
|
35
35
|
**A Cookiecutter-style scaffolder for an autonomous SDLC (software-delivery lifecycle) inside [Claude Code](https://www.claude.com/product/claude-code).**
|
|
36
36
|
|
|
37
|
-
One command turns a one-line request into reviewed, tested, secured, shippable code —
|
|
38
|
-
|
|
37
|
+
One command turns a one-line request into reviewed, tested, secured, shippable code — with a
|
|
38
|
+
quality gate between every phase. Each gate passes only on *real, cited command output* — never an
|
|
39
|
+
assumed or fabricated "it works." **No application code. No Docker. Configuration only.**
|
|
39
40
|
|
|
40
41
|
[](https://pypi.org/project/claude-code-kit/)
|
|
41
42
|
[](https://pypi.org/project/claude-code-kit/)
|
|
@@ -381,14 +382,19 @@ flowchart LR
|
|
|
381
382
|
PROJ --> RUN(["/sdlc — autonomous SDLC active"])
|
|
382
383
|
```
|
|
383
384
|
|
|
384
|
-
|
|
385
|
+
Four ideas do the heavy lifting:
|
|
385
386
|
|
|
386
|
-
1. **
|
|
387
|
+
1. **Evidence or it didn't happen.** Every gate verdict — PASS or FAIL — must cite the command that
|
|
388
|
+
ran and its captured output (or the `file:line` it rests on). A verdict that's invented, assumed,
|
|
389
|
+
or read off still-running work is an **auto-Critical finding** — the same severity as a hardcoded
|
|
390
|
+
secret — and it fails every downstream gate that trusted it
|
|
391
|
+
([`quality-gates.md` §2.5](rules/quality-gates.md)).
|
|
392
|
+
2. **Quality gates with a shared severity model.** Every finding is classified
|
|
387
393
|
Critical / High / Medium / Low / Cosmetic. A gate passes **only** with zero Critical/High/Medium
|
|
388
394
|
open. No silent advancement.
|
|
389
|
-
|
|
395
|
+
3. **RARV self-check.** Every agent runs **R**eason → **A**ct → **R**eflect → **V**erify and must show
|
|
390
396
|
a *green Verify* (real commands run, not imagined) before handing off.
|
|
391
|
-
|
|
397
|
+
4. **Blind review + Devil's Advocate.** Parallel reviewers judge independently; a *unanimous* PASS is
|
|
392
398
|
treated as suspicious and triggers an adversarial `devils-advocate` pass before the gate may close —
|
|
393
399
|
an explicit guard against agents rubber-stamping each other.
|
|
394
400
|
|
|
@@ -428,7 +434,8 @@ is inert for non-API projects. Organization scope at `regulated` strictness adds
|
|
|
428
434
|
Code Reviewer → Tester → PR.
|
|
429
435
|
|
|
430
436
|
See [`examples/`](examples/) for a synthetic end-to-end walkthrough — request → spec → story breakdown
|
|
431
|
-
→ gate verdicts (with one defect-loop cycle) → sample PR diff.
|
|
437
|
+
→ gate verdicts (with one defect-loop cycle) → sample PR diff. To capture *your own* real run as a
|
|
438
|
+
publishable, redaction-scrubbed bundle, see [`docs/capture-a-real-run.md`](docs/capture-a-real-run.md).
|
|
432
439
|
|
|
433
440
|
---
|
|
434
441
|
|
|
@@ -493,6 +500,7 @@ It is **not** a runtime, an orchestration engine, or a code library. That framin
|
|
|
493
500
|
|
|
494
501
|
| Project | What it is | How claude-kit differs |
|
|
495
502
|
|---|---|---|
|
|
503
|
+
| **Native Claude Code subagents / Agent Teams** | Spawn parallel agents on demand; you define the workflow, gates, and verification yourself each time | claude-kit is the **opinionated layer on top** of exactly that capability: a fixed, sequenced pipeline with **owned quality gates** (block on any open Critical/High/Medium), an **evidence requirement** (no fabricated verdicts — `quality-gates.md` §2.5), a `devils-advocate` anti-rubber-stamp pass, and **structured resume** from `.claude/state/pipeline-snapshot.json`. Native gives you the agents; claude-kit gives you the governance. |
|
|
496
504
|
| **[wshobson/agents](https://github.com/wshobson/agents)** & similar agent collections | Large libraries of individual subagent prompts you pick from | claude-kit ships a **smaller, opinionated set wired into a sequenced pipeline with owned quality gates** — agents aren't a menu, they're stages that hand off and block on each other. Adopt-by-reuse, not by accumulation. |
|
|
497
505
|
| **[GitHub spec-kit](https://github.com/github/spec-kit)** | A spec-driven workflow (constitution → spec → tasks → analyze) | claude-kit **absorbed spec-kit's coverage-gate idea** (the `story-planner` 1f gate + `task-tracker-sync`) into a **broader** lifecycle that also covers review, security, build, test, release, and observability gates. Complementary, wider scope. |
|
|
498
506
|
| **claude-flow / multi-agent runtimes** | Runtime orchestrators that *execute* swarms of agents | claude-kit produces **portable configuration**, not a running process — the orchestration is described in rules the host (Claude Code) executes. No daemon, no lock-in, no app code. |
|
|
@@ -4,8 +4,9 @@
|
|
|
4
4
|
|
|
5
5
|
**A Cookiecutter-style scaffolder for an autonomous SDLC (software-delivery lifecycle) inside [Claude Code](https://www.claude.com/product/claude-code).**
|
|
6
6
|
|
|
7
|
-
One command turns a one-line request into reviewed, tested, secured, shippable code —
|
|
8
|
-
|
|
7
|
+
One command turns a one-line request into reviewed, tested, secured, shippable code — with a
|
|
8
|
+
quality gate between every phase. Each gate passes only on *real, cited command output* — never an
|
|
9
|
+
assumed or fabricated "it works." **No application code. No Docker. Configuration only.**
|
|
9
10
|
|
|
10
11
|
[](https://pypi.org/project/claude-code-kit/)
|
|
11
12
|
[](https://pypi.org/project/claude-code-kit/)
|
|
@@ -351,14 +352,19 @@ flowchart LR
|
|
|
351
352
|
PROJ --> RUN(["/sdlc — autonomous SDLC active"])
|
|
352
353
|
```
|
|
353
354
|
|
|
354
|
-
|
|
355
|
+
Four ideas do the heavy lifting:
|
|
355
356
|
|
|
356
|
-
1. **
|
|
357
|
+
1. **Evidence or it didn't happen.** Every gate verdict — PASS or FAIL — must cite the command that
|
|
358
|
+
ran and its captured output (or the `file:line` it rests on). A verdict that's invented, assumed,
|
|
359
|
+
or read off still-running work is an **auto-Critical finding** — the same severity as a hardcoded
|
|
360
|
+
secret — and it fails every downstream gate that trusted it
|
|
361
|
+
([`quality-gates.md` §2.5](rules/quality-gates.md)).
|
|
362
|
+
2. **Quality gates with a shared severity model.** Every finding is classified
|
|
357
363
|
Critical / High / Medium / Low / Cosmetic. A gate passes **only** with zero Critical/High/Medium
|
|
358
364
|
open. No silent advancement.
|
|
359
|
-
|
|
365
|
+
3. **RARV self-check.** Every agent runs **R**eason → **A**ct → **R**eflect → **V**erify and must show
|
|
360
366
|
a *green Verify* (real commands run, not imagined) before handing off.
|
|
361
|
-
|
|
367
|
+
4. **Blind review + Devil's Advocate.** Parallel reviewers judge independently; a *unanimous* PASS is
|
|
362
368
|
treated as suspicious and triggers an adversarial `devils-advocate` pass before the gate may close —
|
|
363
369
|
an explicit guard against agents rubber-stamping each other.
|
|
364
370
|
|
|
@@ -398,7 +404,8 @@ is inert for non-API projects. Organization scope at `regulated` strictness adds
|
|
|
398
404
|
Code Reviewer → Tester → PR.
|
|
399
405
|
|
|
400
406
|
See [`examples/`](examples/) for a synthetic end-to-end walkthrough — request → spec → story breakdown
|
|
401
|
-
→ gate verdicts (with one defect-loop cycle) → sample PR diff.
|
|
407
|
+
→ gate verdicts (with one defect-loop cycle) → sample PR diff. To capture *your own* real run as a
|
|
408
|
+
publishable, redaction-scrubbed bundle, see [`docs/capture-a-real-run.md`](docs/capture-a-real-run.md).
|
|
402
409
|
|
|
403
410
|
---
|
|
404
411
|
|
|
@@ -463,6 +470,7 @@ It is **not** a runtime, an orchestration engine, or a code library. That framin
|
|
|
463
470
|
|
|
464
471
|
| Project | What it is | How claude-kit differs |
|
|
465
472
|
|---|---|---|
|
|
473
|
+
| **Native Claude Code subagents / Agent Teams** | Spawn parallel agents on demand; you define the workflow, gates, and verification yourself each time | claude-kit is the **opinionated layer on top** of exactly that capability: a fixed, sequenced pipeline with **owned quality gates** (block on any open Critical/High/Medium), an **evidence requirement** (no fabricated verdicts — `quality-gates.md` §2.5), a `devils-advocate` anti-rubber-stamp pass, and **structured resume** from `.claude/state/pipeline-snapshot.json`. Native gives you the agents; claude-kit gives you the governance. |
|
|
466
474
|
| **[wshobson/agents](https://github.com/wshobson/agents)** & similar agent collections | Large libraries of individual subagent prompts you pick from | claude-kit ships a **smaller, opinionated set wired into a sequenced pipeline with owned quality gates** — agents aren't a menu, they're stages that hand off and block on each other. Adopt-by-reuse, not by accumulation. |
|
|
467
475
|
| **[GitHub spec-kit](https://github.com/github/spec-kit)** | A spec-driven workflow (constitution → spec → tasks → analyze) | claude-kit **absorbed spec-kit's coverage-gate idea** (the `story-planner` 1f gate + `task-tracker-sync`) into a **broader** lifecycle that also covers review, security, build, test, release, and observability gates. Complementary, wider scope. |
|
|
468
476
|
| **claude-flow / multi-agent runtimes** | Runtime orchestrators that *execute* swarms of agents | claude-kit produces **portable configuration**, not a running process — the orchestration is described in rules the host (Claude Code) executes. No daemon, no lock-in, no app code. |
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Capture a real `/sdlc` run
|
|
2
|
+
|
|
3
|
+
The repo ships a **synthetic** worked example under [`examples/`](../examples/) — useful, but
|
|
4
|
+
hand-written. The most convincing evidence is *your own* run: a real request that flowed through the
|
|
5
|
+
pipeline, with the real spec, real gate verdicts, and the real diff it produced. This guide turns one
|
|
6
|
+
completed run into a publishable, redaction-scrubbed bundle.
|
|
7
|
+
|
|
8
|
+
> **You run this — not the kit.** `/sdlc` is interactive (it runs inside Claude Code). The script here
|
|
9
|
+
> only *collects and scrubs* what a finished run left behind; it never drives the pipeline and never
|
|
10
|
+
> edits your project.
|
|
11
|
+
|
|
12
|
+
## Where a run leaves its evidence
|
|
13
|
+
|
|
14
|
+
A `/sdlc` run scatters its artifacts on purpose — two of the four are gitignored runtime state, so
|
|
15
|
+
they never show up in a normal `git diff`:
|
|
16
|
+
|
|
17
|
+
| Artifact | Location | Tracked? |
|
|
18
|
+
|---|---|---|
|
|
19
|
+
| Feature spec | `docs/specs/<feature>_spec.md` | committed |
|
|
20
|
+
| Gate state (last gate passed, open findings by severity, evidence, overrides) | `.claude/state/pipeline-snapshot.json` | gitignored runtime state |
|
|
21
|
+
| Verdict log / phase history | `.claude/CONTINUITY.md` | gitignored runtime state |
|
|
22
|
+
| Install snapshot (profile + resolved gate set) | `.claude/config/stack-catalog.snapshot.yaml` | committed |
|
|
23
|
+
| The code itself + the PR | git history (`diff` vs your base branch) | committed |
|
|
24
|
+
|
|
25
|
+
## Steps
|
|
26
|
+
|
|
27
|
+
1. **Run a real task to completion** in a project that has claude-kit installed:
|
|
28
|
+
|
|
29
|
+
```text
|
|
30
|
+
/sdlc Add a CSV export button to the reports page
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Let it run through its gates. A small, real feature is more convincing than a toy.
|
|
34
|
+
|
|
35
|
+
2. **Capture the bundle** from the project root:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
# from your project (the one with .claude/ in it):
|
|
39
|
+
bash /path/to/claude-kit/scripts/capture-sdlc-run.sh --base main --slug csv-export
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Options: `--project DIR` (capture a different checkout), `--out DIR` (choose the output folder),
|
|
43
|
+
`--base BRANCH` (what to diff the code against; default `main`), `--slug NAME` (label the folder).
|
|
44
|
+
Run with `--help` for the full list. The script is read-only against your project.
|
|
45
|
+
|
|
46
|
+
3. **Review the secret scan.** The script lists any files matching *generic* secret shapes (private
|
|
47
|
+
keys, AWS/GitHub tokens, `password=`/`token=` assignments, bearer tokens). It prints **file names
|
|
48
|
+
only**, never the secret values. Inspect each flagged file.
|
|
49
|
+
|
|
50
|
+
4. **Finish the redaction checklist.** Every bundle gets a `REDACTION-CHECKLIST.md`. The automated
|
|
51
|
+
scan cannot know *your* internal names — company, team, service, repo, host, cluster, namespace,
|
|
52
|
+
cloud project, customer/personal data. Replace real identifiers with neutral placeholders
|
|
53
|
+
(`acme`, `example.com`, `service-a`) rather than deleting them, so the run still reads as a story.
|
|
54
|
+
|
|
55
|
+
5. **Publish what you want.** Copy the scrubbed files into [`examples/`](../examples/) (mirroring the
|
|
56
|
+
`01-request.md → 02-feature-spec.md → 03-story-breakdown.md → 04-gate-verdicts.md →
|
|
57
|
+
05-sample-pr.diff` layout) or into a blog post / PR description. Keep a private, unscrubbed copy if
|
|
58
|
+
you need the originals.
|
|
59
|
+
|
|
60
|
+
## What the bundle contains
|
|
61
|
+
|
|
62
|
+
```text
|
|
63
|
+
claude-kit-run-<timestamp>-<slug>/
|
|
64
|
+
├── specs/ # docs/specs/*_spec.md
|
|
65
|
+
├── state/
|
|
66
|
+
│ ├── pipeline-snapshot.json # gate state, findings, evidence, overrides
|
|
67
|
+
│ └── stack-catalog.snapshot.yaml
|
|
68
|
+
├── continuity.md # verdict log / phase history
|
|
69
|
+
├── git/
|
|
70
|
+
│ ├── log.txt # recent commits
|
|
71
|
+
│ ├── diff.stat.txt # files changed (summary)
|
|
72
|
+
│ └── changes.diff # the full diff vs your base branch
|
|
73
|
+
└── REDACTION-CHECKLIST.md # finish this before publishing
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Missing files are reported, not fatal — if you point the script at a checkout where `/sdlc` hasn't run
|
|
77
|
+
yet, it tells you which artifacts it couldn't find.
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "claude-code-kit"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.28.0"
|
|
8
8
|
description = "Cookiecutter-style scaffolder for an autonomous Claude Code SDLC configuration (no app code, no Docker). Asks ordered questions and installs CLAUDE.md + .claude/ (rules, the chosen profile's agents/skills, hooks, artifact templates) + optional .mcp.json; run /sdlc to drive spec → review → build → test → security → ship through profile-aware quality gates, working memory, and a self-improving learnings loop."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.9"
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
#
|
|
3
|
+
# capture-sdlc-run.sh — bundle ONE completed `/sdlc` run into a publishable, redaction-scrubbed folder.
|
|
4
|
+
#
|
|
5
|
+
# A real `/sdlc` run leaves its evidence scattered across the project: the spec lands in
|
|
6
|
+
# `docs/specs/`, the gate state in gitignored `.claude/state/`, the verdict log in gitignored
|
|
7
|
+
# `.claude/CONTINUITY.md`, and the code in git itself. This script gathers those into one folder,
|
|
8
|
+
# runs a generic secret scan, and prints a manual-redaction checklist — so you can turn a run into
|
|
9
|
+
# a worked example without hand-collecting files.
|
|
10
|
+
#
|
|
11
|
+
# It is READ-ONLY against your project: it copies files out, never edits or deletes anything in place.
|
|
12
|
+
#
|
|
13
|
+
# Usage:
|
|
14
|
+
# scripts/capture-sdlc-run.sh [--project DIR] [--out DIR] [--base BRANCH] [--slug NAME]
|
|
15
|
+
#
|
|
16
|
+
# --project DIR Project root to capture from (default: current directory)
|
|
17
|
+
# --out DIR Where to write the bundle (default: ./claude-kit-run-<UTC-timestamp>)
|
|
18
|
+
# --base BRANCH Base branch to diff the code against (default: main)
|
|
19
|
+
# --slug NAME Short label folded into the default --out name
|
|
20
|
+
# -h, --help Show this help
|
|
21
|
+
#
|
|
22
|
+
# The bundle is NOT auto-published and NOT auto-committed. Review it, finish the redaction checklist,
|
|
23
|
+
# then copy what you want into `examples/` (or your own docs) yourself.
|
|
24
|
+
|
|
25
|
+
set -euo pipefail
|
|
26
|
+
|
|
27
|
+
PROJECT="."
|
|
28
|
+
OUT=""
|
|
29
|
+
BASE="main"
|
|
30
|
+
SLUG=""
|
|
31
|
+
|
|
32
|
+
die() { printf 'error: %s\n' "$1" >&2; exit 1; }
|
|
33
|
+
|
|
34
|
+
usage() {
|
|
35
|
+
sed -n '2,28p' "$0" | sed 's/^# \{0,1\}//'
|
|
36
|
+
exit "${1:-0}"
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
while [ $# -gt 0 ]; do
|
|
40
|
+
case "$1" in
|
|
41
|
+
--project) PROJECT="${2:-}"; shift 2 ;;
|
|
42
|
+
--out) OUT="${2:-}"; shift 2 ;;
|
|
43
|
+
--base) BASE="${2:-}"; shift 2 ;;
|
|
44
|
+
--slug) SLUG="${2:-}"; shift 2 ;;
|
|
45
|
+
-h|--help) usage 0 ;;
|
|
46
|
+
*) die "unknown argument: $1 (try --help)" ;;
|
|
47
|
+
esac
|
|
48
|
+
done
|
|
49
|
+
|
|
50
|
+
[ -d "$PROJECT" ] || die "project directory not found: $PROJECT"
|
|
51
|
+
PROJECT="$(cd "$PROJECT" && pwd)"
|
|
52
|
+
|
|
53
|
+
if [ -z "$OUT" ]; then
|
|
54
|
+
stamp="$(date -u +%Y%m%dT%H%M%SZ)"
|
|
55
|
+
if [ -n "$SLUG" ]; then
|
|
56
|
+
OUT="./claude-kit-run-${stamp}-${SLUG}"
|
|
57
|
+
else
|
|
58
|
+
OUT="./claude-kit-run-${stamp}"
|
|
59
|
+
fi
|
|
60
|
+
fi
|
|
61
|
+
|
|
62
|
+
mkdir -p "$OUT"
|
|
63
|
+
OUT="$(cd "$OUT" && pwd)"
|
|
64
|
+
[ "$OUT" = "$PROJECT" ] && die "--out must not be the project root itself"
|
|
65
|
+
|
|
66
|
+
printf '==> capturing /sdlc run from: %s\n' "$PROJECT"
|
|
67
|
+
printf '==> writing bundle to: %s\n\n' "$OUT"
|
|
68
|
+
|
|
69
|
+
missing=0
|
|
70
|
+
|
|
71
|
+
# copy_one SRC DEST_SUBPATH LABEL — copy a single file if it exists, else note it.
|
|
72
|
+
copy_one() {
|
|
73
|
+
src="$PROJECT/$1"; dest="$OUT/$2"; label="$3"
|
|
74
|
+
if [ -f "$src" ]; then
|
|
75
|
+
mkdir -p "$(dirname "$dest")"
|
|
76
|
+
cp "$src" "$dest"
|
|
77
|
+
printf ' [ok] %s\n' "$label"
|
|
78
|
+
else
|
|
79
|
+
printf ' [skip] %s (not found: %s)\n' "$label" "$1"
|
|
80
|
+
missing=$((missing + 1))
|
|
81
|
+
fi
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
# --- 1. The artifacts a run produces -----------------------------------------------------------
|
|
85
|
+
printf 'Collecting run artifacts:\n'
|
|
86
|
+
copy_one ".claude/state/pipeline-snapshot.json" "state/pipeline-snapshot.json" "pipeline snapshot (gate state, findings, evidence)"
|
|
87
|
+
copy_one ".claude/config/stack-catalog.snapshot.yaml" "state/stack-catalog.snapshot.yaml" "install snapshot (profile + resolved gate set)"
|
|
88
|
+
copy_one ".claude/CONTINUITY.md" "continuity.md" "working memory / verdict log"
|
|
89
|
+
|
|
90
|
+
# Specs (docs/specs/*_spec.md) and filled artifacts may be many — copy whatever is present.
|
|
91
|
+
if [ -d "$PROJECT/docs/specs" ]; then
|
|
92
|
+
spec_count="$(find "$PROJECT/docs/specs" -maxdepth 1 -name '*_spec.md' -type f 2>/dev/null | wc -l | tr -d ' ')"
|
|
93
|
+
if [ "$spec_count" != "0" ]; then
|
|
94
|
+
mkdir -p "$OUT/specs"
|
|
95
|
+
find "$PROJECT/docs/specs" -maxdepth 1 -name '*_spec.md' -type f -exec cp {} "$OUT/specs/" \;
|
|
96
|
+
printf ' [ok] %s spec file(s) from docs/specs/\n' "$spec_count"
|
|
97
|
+
else
|
|
98
|
+
printf ' [skip] no *_spec.md in docs/specs/\n'; missing=$((missing + 1))
|
|
99
|
+
fi
|
|
100
|
+
else
|
|
101
|
+
printf ' [skip] docs/specs/ (not found)\n'; missing=$((missing + 1))
|
|
102
|
+
fi
|
|
103
|
+
|
|
104
|
+
# --- 2. The code the run produced (git) --------------------------------------------------------
|
|
105
|
+
printf '\nCollecting git evidence (base = %s):\n' "$BASE"
|
|
106
|
+
if git -C "$PROJECT" rev-parse --git-dir >/dev/null 2>&1; then
|
|
107
|
+
mkdir -p "$OUT/git"
|
|
108
|
+
git -C "$PROJECT" log --oneline -30 > "$OUT/git/log.txt" 2>/dev/null || true
|
|
109
|
+
if git -C "$PROJECT" rev-parse --verify --quiet "$BASE" >/dev/null 2>&1; then
|
|
110
|
+
mb="$(git -C "$PROJECT" merge-base "$BASE" HEAD 2>/dev/null || true)"
|
|
111
|
+
if [ -n "$mb" ]; then
|
|
112
|
+
git -C "$PROJECT" diff --stat "$mb"..HEAD > "$OUT/git/diff.stat.txt" 2>/dev/null || true
|
|
113
|
+
git -C "$PROJECT" diff "$mb"..HEAD > "$OUT/git/changes.diff" 2>/dev/null || true
|
|
114
|
+
printf ' [ok] diff vs %s (stat + full)\n' "$BASE"
|
|
115
|
+
fi
|
|
116
|
+
else
|
|
117
|
+
printf ' [skip] base branch %s not found — captured git log only\n' "$BASE"
|
|
118
|
+
fi
|
|
119
|
+
else
|
|
120
|
+
printf ' [skip] not a git repository — no code diff captured\n'; missing=$((missing + 1))
|
|
121
|
+
fi
|
|
122
|
+
|
|
123
|
+
# --- 3. Generic secret scan (lists matching FILES only, never their contents) -------------------
|
|
124
|
+
printf '\nScanning the bundle for generic secret patterns:\n'
|
|
125
|
+
# Deliberately generic — org-specific names are YOUR job to scrub (see the checklist below).
|
|
126
|
+
patterns='-----BEGIN [A-Z ]*PRIVATE KEY-----|AKIA[0-9A-Z]{16}|ghp_[A-Za-z0-9]{30,}|xox[baprs]-[A-Za-z0-9-]{10,}|(secret|token|password|passwd|api[_-]?key)[[:space:]"'\'']*[:=][[:space:]"'\'']*[^[:space:]"'\'']+|Bearer[[:space:]]+[A-Za-z0-9._-]{16,}'
|
|
127
|
+
# `-e` is required: $patterns starts with "-----BEGIN", which grep would otherwise read as options.
|
|
128
|
+
hits="$(grep -rIlE -e "$patterns" "$OUT" 2>/dev/null || true)"
|
|
129
|
+
if [ -n "$hits" ]; then
|
|
130
|
+
printf ' [WARN] possible secrets in these files — INSPECT and scrub before publishing:\n'
|
|
131
|
+
printf '%s\n' "$hits" | sed 's/^/ /'
|
|
132
|
+
else
|
|
133
|
+
printf ' [ok] no generic secret patterns matched (still do the manual checklist)\n'
|
|
134
|
+
fi
|
|
135
|
+
|
|
136
|
+
# --- 4. Manual redaction checklist -------------------------------------------------------------
|
|
137
|
+
cat > "$OUT/REDACTION-CHECKLIST.md" <<'EOF'
|
|
138
|
+
# Redaction checklist — finish before publishing this bundle
|
|
139
|
+
|
|
140
|
+
This bundle was copied verbatim from a real project. The automated scan only catches *generic*
|
|
141
|
+
secret shapes. Before you publish it (e.g. into `examples/` or a blog post), manually confirm:
|
|
142
|
+
|
|
143
|
+
- [ ] No company / team / internal-service / repo / registry / cluster / namespace / project-id names
|
|
144
|
+
- [ ] No internal hostnames, IPs, URLs, or cloud project identifiers
|
|
145
|
+
- [ ] No customer / personal data in the spec, diff, or verdict log
|
|
146
|
+
- [ ] No secret VALUES (keys, tokens, passwords, connection strings) — the scan flags shapes, not all
|
|
147
|
+
- [ ] `changes.diff` reviewed line-by-line (it contains your actual source)
|
|
148
|
+
- [ ] `continuity.md` reviewed (it may quote commands, paths, and findings verbatim)
|
|
149
|
+
|
|
150
|
+
Tip: keep a private copy, publish a scrubbed copy. Replace real identifiers with neutral
|
|
151
|
+
placeholders (`acme`, `example.com`, `service-a`) rather than deleting context.
|
|
152
|
+
EOF
|
|
153
|
+
printf ' [ok] wrote REDACTION-CHECKLIST.md\n'
|
|
154
|
+
|
|
155
|
+
# --- 5. Summary --------------------------------------------------------------------------------
|
|
156
|
+
printf '\nDone. Bundle at:\n %s\n' "$OUT"
|
|
157
|
+
if [ "$missing" != "0" ]; then
|
|
158
|
+
printf '\nNote: %s expected item(s) were not found. If you have not run /sdlc in this project\n' "$missing"
|
|
159
|
+
printf 'yet, or ran it in a different directory, point --project at the right checkout.\n'
|
|
160
|
+
fi
|
|
161
|
+
printf '\nNext: complete %s/REDACTION-CHECKLIST.md, then copy what you want into examples/.\n' "$OUT"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|