claude-code-kit 0.54.0__tar.gz → 0.56.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.54.0 → claude_code_kit-0.56.0}/.claude-plugin/marketplace.json +1 -1
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/.claude-plugin/plugin.json +1 -1
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/.gitignore +6 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/CHANGELOG.md +60 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/PKG-INFO +32 -1
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/README.md +31 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/agents/ui-designer.md +1 -1
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/catalog/stacks.yaml +1 -1
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/docs/architecture.md +11 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/docs/coverage-audit.md +1 -1
- claude_code_kit-0.56.0/docs/cursor-export.md +94 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/pyproject.toml +1 -1
- claude_code_kit-0.56.0/scripts/check_rule_sizes.py +75 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/component-design/SKILL.md +3 -3
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/ui-ux-design/SKILL.md +4 -4
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/src/claude_kit/__init__.py +1 -1
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/src/claude_kit/cli.py +106 -1
- claude_code_kit-0.56.0/src/claude_kit/export.py +446 -0
- claude_code_kit-0.56.0/templates/export/sdlc-workflow-guide.md.tmpl +77 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/stacks/frontend/react/rules/design-system-compliance.md +4 -2
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/stacks/frontend/react/rules/mobile-design-guidelines.md +2 -2
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/stacks/frontend/react/rules/react-patterns.md +1 -1
- claude_code_kit-0.56.0/templates/stacks/frontend/react/rules/ui-components.md +774 -0
- claude_code_kit-0.56.0/templates/stacks/frontend/react/rules/ui-design-system.md +356 -0
- claude_code_kit-0.56.0/templates/stacks/frontend/react/rules/ui-layout-and-motion.md +550 -0
- claude_code_kit-0.54.0/templates/stacks/frontend/react/rules/ux-patterns.md → claude_code_kit-0.56.0/templates/stacks/frontend/react/rules/ux-dashboard-patterns.md +5 -512
- claude_code_kit-0.56.0/templates/stacks/frontend/react/rules/ux-patterns.md +519 -0
- claude_code_kit-0.54.0/templates/stacks/frontend/react/rules/ui-design-system.md +0 -1621
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/CLAUDE.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/CONTRIBUTING.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/LICENSE +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/agents/acceptance-reviewer.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/agents/auditor.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/agents/dependency-scanner.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/agents/developer.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/agents/devils-advocate.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/agents/devops-engineer.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/agents/e2e-tester.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/agents/em-reviewer.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/agents/incident-responder.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/agents/merge-reviewer.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/agents/observability-engineer.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/agents/orchestrator.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/agents/owasp-reviewer.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/agents/policy-validator.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/agents/pr-raiser.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/agents/risk-classifier.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/agents/sdlc-code-reviewer.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/agents/secret-scanner.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/agents/security-reviewer.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/agents/senior-backend-dev.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/agents/senior-frontend-dev.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/agents/senior-tester.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/agents/spec-doc-writer.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/agents/story-planner.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/agents/technical-architect.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/agents/tester.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/agents/unit-tester.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/catalog/capture.yaml +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/catalog/mcp.yaml +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/catalog/org.yaml +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/catalog/profiles.yaml +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/commands/abort.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/commands/init.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/commands/sdlc.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/commands/status.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/docs/KNOWN_LIMITATIONS.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/docs/agentic-patterns.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/docs/agents.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/docs/capture-a-real-run.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/docs/eval-harness.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/docs/org-capabilities.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/docs/stack-skills/GAP-ANALYSIS.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/docs/stack-skills/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/docs/stack-skills/REPO-INVENTORY.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/hooks/hooks.json +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/hooks/scripts/audit-log.sh +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/hooks/scripts/capture-learnings.sh +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/hooks/scripts/guard-destructive-git.sh +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/hooks/scripts/guard-kubectl-delete.sh +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/hooks/scripts/guard-push-main.sh +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/hooks/scripts/guard-secrets.sh +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/hooks/scripts/lint-fix.sh +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/hooks/scripts/load-autonomy.sh +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/hooks/scripts/load-continuity.sh +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/hooks/scripts/load-learnings.sh +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/hooks/scripts/type-check.sh +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/hooks/scripts/validate-frontmatter.sh +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/hooks/scripts/validate-settings.sh +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/hooks/scripts/warn-large-edits.sh +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/hooks/scripts/warn-llm-io.sh +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/hooks/scripts/warn-missing-tests.sh +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/hooks/scripts/warn-sensitive-files.sh +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/hooks/scripts/warn-shared-modules.sh +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/rules/agent-guardrails.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/rules/agent-memory.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/rules/agent-resilience.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/rules/autonomy-levels.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/rules/code-organization.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/rules/continuity.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/rules/design-patterns.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/rules/devops-observability.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/rules/documentation.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/rules/evals.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/rules/frontend-best-practices.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/rules/goal-setting-and-monitoring.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/rules/human-in-the-loop.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/rules/linting-and-formatting.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/rules/mandatory-workflow.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/rules/model-tiers.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/rules/quality-gates.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/rules/rarv-cycle.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/rules/reasoning-techniques.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/rules/resilience-engineering.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/rules/responsive-and-accessibility.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/rules/risk-classification.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/rules/testing.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/rules/tool-design.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/schemas/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/schemas/catalog-capture.schema.json +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/schemas/catalog-mcp.schema.json +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/schemas/catalog-org.schema.json +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/schemas/catalog-profiles.schema.json +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/schemas/catalog-stacks.schema.json +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/schemas/mcp-lock.schema.json +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/schemas/org-pack.schema.json +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/schemas/pipeline-snapshot.schema.json +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/scripts/capture-sdlc-run.sh +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/scripts/check_docs_consistency.py +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/scripts/check_mcp_pins.py +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/scripts/check_skill_descriptions.py +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/scripts/gen_hooks.py +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/scripts/init.sh +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/_references/accessibility-checklist.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/_references/orchestration-patterns.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/_references/performance-checklist.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/_references/security-checklist.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/_references/testing-patterns.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/accessibility-review/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/alembic-migrations/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/alembic-migrations/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/alembic-migrations/references/alembic-setup-and-env.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/alembic-migrations/references/async-and-multitenant-migrations.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/alembic-migrations/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/alembic-migrations/references/troubleshooting-and-debugging.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/alembic-migrations/references/writing-migrations.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/anthropic-vertex-integration/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/anthropic-vertex-integration/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/anthropic-vertex-integration/references/generate-helpers-and-retry.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/anthropic-vertex-integration/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/anthropic-vertex-integration/references/vertex-client-and-auth.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/api-and-interface-design/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/api-integration/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/api-pagination-filtering-sorting/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/api-pagination-filtering-sorting/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/api-pagination-filtering-sorting/references/query-params-conventions.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/api-pagination-filtering-sorting/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/api-pagination-filtering-sorting/references/response-metadata.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/archive-sprint/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/async-python-patterns/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/async-python-patterns/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/async-python-patterns/references/async-boundaries.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/async-python-patterns/references/lifecycle-and-gather.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/async-python-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/auth-and-rbac/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/auth-and-rbac/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/auth-and-rbac/references/auth-dependencies.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/auth-and-rbac/references/rbac-and-permissions.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/auth-and-rbac/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/auth-and-rbac/references/security-hardening.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/auth-and-rbac/references/tokens-and-hashing.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/backend-repo-architecture/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/backend-repo-architecture/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/backend-repo-architecture/references/deployment-patterns.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/backend-repo-architecture/references/entrypoint-and-config.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/backend-repo-architecture/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/backend-repo-architecture/references/structure-patterns.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/backend-repo-architecture/references/troubleshooting.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/backlog/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/backlog/item-template.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/browser-testing-with-devtools/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/bug-hunt/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/ci-cd-and-automation/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/code-review-and-quality/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/code-simplification/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/configargparse-yaml-env-layering/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/configargparse-yaml-env-layering/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/configargparse-yaml-env-layering/references/config-layering-anatomy.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/configargparse-yaml-env-layering/references/mode-dispatch-and-precedence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/configargparse-yaml-env-layering/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/consolidate-learnings/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/containerization-and-deployment/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/containerization-and-deployment/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/containerization-and-deployment/references/deployment-and-secrets.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/containerization-and-deployment/references/dockerfile-and-compose.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/containerization-and-deployment/references/entrypoint-and-modes.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/containerization-and-deployment/references/kerberos-kinit-bootstrap.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/containerization-and-deployment/references/makefile-dev-workflow.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/containerization-and-deployment/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/context-engineering/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/cron-and-scheduled-jobs/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/cron-and-scheduled-jobs/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/cron-and-scheduled-jobs/references/choosing-and-operations.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/cron-and-scheduled-jobs/references/kubernetes-cronjob.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/cron-and-scheduled-jobs/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/cron-and-scheduled-jobs/references/temporal-schedules.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/data-engineering-bigquery-gcs/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/data-engineering-bigquery-gcs/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/data-engineering-bigquery-gcs/references/bigquery-advanced-patterns.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/data-engineering-bigquery-gcs/references/bigquery-gcs-io.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/data-engineering-bigquery-gcs/references/medallion-architecture.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/data-engineering-bigquery-gcs/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/data-engineering-bigquery-gcs/references/temp-table-merge-pattern.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/debugging-and-error-recovery/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/decision/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/decision/adr-template.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/dependency-verification/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/deprecation-and-migration/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/design-patterns-and-conventions/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/design-patterns-and-conventions/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/design-patterns-and-conventions/references/anti-patterns.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/design-patterns-and-conventions/references/naming-and-layout.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/design-patterns-and-conventions/references/patterns-catalog.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/design-patterns-and-conventions/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/design-patterns-and-conventions/references/testing-patterns.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/design-patterns-and-conventions/references/troubleshooting.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/design-system-ops/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/design-system-ops/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/design-system-ops/references/ai-readiness.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/design-system-ops/references/drift-detection.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/design-system-ops/references/governance-and-adoption.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/design-system-ops/references/system-health-and-maturity.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/design-system-ops/references/token-architecture.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/doc-consolidation/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/docker-compose/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/docker-compose/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/docker-compose/references/compose-services-and-healthchecks.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/docker-compose/references/dev-vs-prod-variants.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/docker-compose/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/docker-shared/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/docker-shared/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/docker-shared/references/dockerignore-and-build-secrets.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/docker-shared/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/docker-shared/references/shared-base-images.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/docker-shared/references/shared-compose-fragments.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/dockerfile-backend/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/dockerfile-backend/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/dockerfile-backend/references/backend-dockerfile-anatomy.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/dockerfile-backend/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/dockerfile-backend/references/system-deps-and-caching.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/dockerfile-frontend/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/dockerfile-frontend/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/dockerfile-frontend/references/build-args-and-nginx.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/dockerfile-frontend/references/frontend-dockerfile-anatomy.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/dockerfile-frontend/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/documentation-and-adrs/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/doubt-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/edge-to-service-trust-boundary/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/edge-to-service-trust-boundary/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/edge-to-service-trust-boundary/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/edge-to-service-trust-boundary/references/trust-contract.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/execute/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/fastapi-service-patterns/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/fastapi-service-patterns/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/fastapi-service-patterns/references/api-versioning.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/fastapi-service-patterns/references/app-factory-and-lifespan.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/fastapi-service-patterns/references/custom-route-and-middleware.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/fastapi-service-patterns/references/dependency-injection.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/fastapi-service-patterns/references/model-and-serialization-patterns.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/fastapi-service-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/file-export-and-reporting/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/file-export-and-reporting/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/file-export-and-reporting/references/excel-generation.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/file-export-and-reporting/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/file-export-and-reporting/references/streaming-and-downloads.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/frontend-repo-architecture/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/frontend-repo-architecture/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/frontend-repo-architecture/references/api-layer-and-types.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/frontend-repo-architecture/references/divergences.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/frontend-repo-architecture/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/frontend-repo-architecture/references/structure-and-state.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/frontend-repo-architecture/references/testing-patterns.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/frontend-ui-engineering/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/gcp-cloud-run-github-actions/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/gcp-cloud-run-github-actions/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/gcp-cloud-run-github-actions/references/cloud-run-deploy.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/gcp-cloud-run-github-actions/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/gcp-cloud-run-github-actions/references/workflow-structure.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/gcs-file-storage-patterns/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/gcs-file-storage-patterns/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/gcs-file-storage-patterns/references/client-and-uploads.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/gcs-file-storage-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/gcs-file-storage-patterns/references/signed-urls-and-reads.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/git-workflow-and-versioning/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/grafana-dashboards-and-alerts/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/grafana-dashboards-and-alerts/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/grafana-dashboards-and-alerts/references/dashboard-json-and-templating.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/grafana-dashboards-and-alerts/references/provisioning-and-organization.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/grafana-dashboards-and-alerts/references/red-metrics-queries.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/grafana-dashboards-and-alerts/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/grafana-dashboards-and-alerts/references/unified-alerting.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/graphql-patterns/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/graphql-patterns/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/graphql-patterns/references/apollo-client-frontend.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/graphql-patterns/references/apollo-client-setup.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/graphql-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/graphql-patterns/references/strawberry-backend.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/graphql-patterns/references/when-to-use-graphql.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/idea-refine/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/idea-refine/examples.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/idea-refine/frameworks.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/idea-refine/refinement-criteria.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/idea-refine/scripts/idea-refine.sh +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/incident-postmortem/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/incremental-implementation/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/interview-me/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/kafka-config-driven/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/kafka-config-driven/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/kafka-config-driven/references/config-and-sasl-kerberos.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/kafka-config-driven/references/consumer-producer-patterns.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/kafka-config-driven/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/kafka-config-driven/references/troubleshooting-and-patterns.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/kubectl-operations/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/kubectl-operations/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/kubectl-operations/references/command-reference.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/kubectl-operations/references/context-namespace-rbac.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/kubectl-operations/references/debugging-playbooks.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/kubectl-operations/references/output-formats-and-selectors.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/kubectl-operations/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/kubernetes-workload-hardening/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/kubernetes-workload-hardening/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/kubernetes-workload-hardening/references/networkpolicy-and-rbac.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/kubernetes-workload-hardening/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/kubernetes-workload-hardening/references/securitycontext-and-podsecurity.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/langfuse-llm-tracing/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/langfuse-llm-tracing/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/langfuse-llm-tracing/references/langfuse-client-and-tracing.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/langfuse-llm-tracing/references/python-and-typescript.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/langfuse-llm-tracing/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/library-review/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/load-testing/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/manual-test/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/modernization-and-migration/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/modernization-and-migration/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/modernization-and-migration/references/migration-best-practices.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/modernization-and-migration/references/pydantic-v1-to-v2.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/modernization-and-migration/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/modernization-and-migration/references/shared-internal-library.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/modernization-and-migration/references/sqlalchemy-14-to-20.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/multi-tenancy-patterns/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/multi-tenancy-patterns/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/multi-tenancy-patterns/references/caching-patterns.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/multi-tenancy-patterns/references/isolation-strategies.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/multi-tenancy-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/multi-tenancy-patterns/references/tenant-resolution.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/node-express-service/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/node-express-service/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/node-express-service/references/app-factory-and-mode-dispatch.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/node-express-service/references/config-and-module-alias.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/node-express-service/references/middleware-patterns.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/node-express-service/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/node-objection-knex/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/node-objection-knex/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/node-objection-knex/references/migrations-and-validation.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/node-objection-knex/references/objection-model-and-knex.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/node-objection-knex/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/notifications-and-messaging/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/notifications-and-messaging/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/notifications-and-messaging/references/provider-abstraction.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/notifications-and-messaging/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/notifications-and-messaging/references/templates-and-fallback.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/observability-and-logging/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/observability-and-logging/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/observability-and-logging/references/health-and-readiness.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/observability-and-logging/references/logging-and-structlog.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/observability-and-logging/references/outbound-metrics-and-multi-mode.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/observability-and-logging/references/pii-redaction.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/observability-and-logging/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/observability-and-logging/references/tracing-and-metrics.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/otel-tracing/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/otel-tracing/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/otel-tracing/references/collector.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/otel-tracing/references/correlation.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/otel-tracing/references/gotchas.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/otel-tracing/references/instrumentation.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/otel-tracing/references/sampling.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/otel-tracing/references/tempo.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/over-engineering-review/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/performance-optimization/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/planning-and-task-breakdown/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/playwright-verification/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/pydantic-schema-patterns/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/pydantic-schema-patterns/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/pydantic-schema-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/pydantic-schema-patterns/references/settings-and-validation.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/pydantic-schema-patterns/references/troubleshooting-and-common-errors.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/pydantic-schema-patterns/references/v1-vs-v2.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/python-dao-and-database/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/python-dao-and-database/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/python-dao-and-database/references/advanced-query-patterns.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/python-dao-and-database/references/basedao-and-sessions.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/python-dao-and-database/references/mongodb-advanced.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/python-dao-and-database/references/other-db-mongodb.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/python-dao-and-database/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/python-dao-and-database/references/sqlalchemy-1x-vs-2x.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/radix-tailwind-component-patterns/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/radix-tailwind-component-patterns/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/radix-tailwind-component-patterns/references/radix-primitives-and-variants.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/radix-tailwind-component-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/radix-tailwind-component-patterns/references/tailwind-theme-and-cn.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/react-hook-form-zod-patterns/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/react-hook-form-zod-patterns/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/react-hook-form-zod-patterns/references/form-setup-and-zod.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/react-hook-form-zod-patterns/references/multi-step-and-modes.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/react-hook-form-zod-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/redis-caching-patterns/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/redis-caching-patterns/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/redis-caching-patterns/references/cache-manager-and-fallback.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/redis-caching-patterns/references/namespacing-and-invalidation.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/redis-caching-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/refresh-docs/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/remember/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/safety-critical-patterns/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/scope/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/scope/scope-template.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/sdlc/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/security-and-hardening/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/security-verification/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/shannon-ai-pentest/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/shannon-ai-pentest/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/shannon-ai-pentest/references/operating-guide.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/shell-review/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/shipping-and-launch/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/simplification-debt/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/smoke-test/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/source-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/spec-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/sprint/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/sprint/sprint-template.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/tanstack-react-query-patterns/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/tanstack-react-query-patterns/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/tanstack-react-query-patterns/references/mutations-and-cache.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/tanstack-react-query-patterns/references/query-keys-and-hooks.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/tanstack-react-query-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/task-tracker-sync/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/temporal-config-driven/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/temporal-config-driven/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/temporal-config-driven/references/config-and-retry-idempotency.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/temporal-config-driven/references/dag-dsl-interpreter.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/temporal-config-driven/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/temporal-config-driven/references/schedule-registration.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/temporal-config-driven/references/schedules-and-cron.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/temporal-config-driven/references/worker-workflow-activity-patterns.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/temporal-developer/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/temporal-developer/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/temporal-developer/references/cli.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/temporal-developer/references/determinism.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/temporal-developer/references/gotchas.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/temporal-developer/references/languages.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/temporal-developer/references/testing.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/temporal-developer/references/versioning.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/test-driven-development/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/test-plan-review/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/testing-conventions/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/testing-conventions/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/testing-conventions/references/async-and-mocking.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/testing-conventions/references/coverage-gap-and-recommendations.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/testing-conventions/references/github-actions-test-orchestration.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/testing-conventions/references/pytest-and-fixtures.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/testing-conventions/references/pytest-asyncio-modes.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/testing-conventions/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/testing-conventions/references/security-regression-tests.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/testing-conventions/references/vitest-frontend-testing.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/threat-model/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/triage/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/unit-test/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/using-agent-skills/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/vitest-rtl-msw-patterns/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/vitest-rtl-msw-patterns/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/vitest-rtl-msw-patterns/references/msw-and-contract-tests.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/vitest-rtl-msw-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/vitest-rtl-msw-patterns/references/vitest-rtl-setup.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/zap-vapt-scanning/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/zap-vapt-scanning/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/zap-vapt-scanning/references/operating-guide.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/zap-vapt-scanning/scripts/endpoints.example.txt +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/zap-vapt-scanning/scripts/requirements.txt +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/zap-vapt-scanning/scripts/zap_vapt.py +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/zustand-state-patterns/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/zustand-state-patterns/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/zustand-state-patterns/references/async-polling-and-persistence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/zustand-state-patterns/references/repo-evidence.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/skills/zustand-state-patterns/references/store-structure-and-selectors.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/src/claude_kit/__main__.py +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/src/claude_kit/catalog.py +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/src/claude_kit/detect.py +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/src/claude_kit/hooks.py +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/src/claude_kit/models.py +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/src/claude_kit/pipeline.py +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/src/claude_kit/prompts.py +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/src/claude_kit/render.py +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/src/claude_kit/report.py +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/src/claude_kit/scaffold.py +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/src/claude_kit/schemas.py +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/src/claude_kit/upgrader.py +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/src/claude_kit/validator.py +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/CLAUDE.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/CLAUDE.stack.md.tmpl +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/CONTINUITY.template.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/README.claude-sdlc.md.tmpl +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/agent-memory/MEMORY.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/agent-memory/api/.gitkeep +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/agent-memory/architecture/.gitkeep +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/agent-memory/debugging/.gitkeep +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/agent-memory/gotchas/.gitkeep +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/agent-memory/patterns/.gitkeep +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/agent-memory/performance/.gitkeep +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/artifacts/adr.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/artifacts/api-change-report.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/artifacts/change-proposal.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/artifacts/feature-spec.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/artifacts/release-plan.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/artifacts/runbook.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/artifacts/security-review.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/artifacts/test-plan.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/agents/data-workflow-agent.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/agents/founder-prototype-agent.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/agents/internal-tools-builder.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/agents/pm-copilot.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/agents/staff-pm-reviewer.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/agents/support-ticket-engineer.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/packs/devops-and-release/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/packs/devops-and-release/pack.yaml +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/packs/engineering-core/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/packs/engineering-core/pack.yaml +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/packs/non-engineer-builder/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/packs/non-engineer-builder/pack.yaml +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/packs/onboarding-and-docs/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/packs/onboarding-and-docs/pack.yaml +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/packs/product-to-code/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/packs/product-to-code/pack.yaml +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/packs/quality-and-review/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/packs/quality-and-review/pack.yaml +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/packs/security-and-compliance/README.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/packs/security-and-compliance/pack.yaml +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/rules/ai-working-agreement.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/rules/ambiguity-resolution.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/rules/branch-and-pr-policy.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/rules/compliance-policy.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/rules/non-engineer-safe-coding.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/rules/pii-policy.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/rules/production-data-policy.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/rules/prompt-to-task-conversion.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/rules/prototype-boundaries.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/rules/secrets-policy.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/skills/customer-issue-to-fix/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/skills/feature-from-idea/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/skills/prompt-to-safe-task/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/skills/prototype-to-production/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/skills/repo-onboarding/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/skills/review-scope/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/skills/review-sprint/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/skills/review-sprint-plan/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/org/skills/review-ux-flow/SKILL.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/settings.json +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/stacks/backend/go/net-http/rules/go-patterns.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/stacks/backend/python/fastapi/rules/fastapi-patterns.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/stacks/db/mongodb/agents/migration-specialist.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/stacks/db/mongodb/agents/mongodb-specialist.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/stacks/db/mongodb/rules/mongodb-patterns.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/stacks/db/postgres/agents/db-performance-reviewer.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/stacks/db/postgres/agents/migration-specialist.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/stacks/db/postgres/agents/postgres-specialist.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/stacks/db/postgres/rules/database-performance.md +0 -0
- {claude_code_kit-0.54.0 → claude_code_kit-0.56.0}/templates/stacks/db/postgres/rules/postgres-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.56.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.56.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",
|
|
@@ -28,3 +28,9 @@ zap-vapt-tool.zip
|
|
|
28
28
|
# depth, and on case-insensitive filesystems (macOS default) it also swallows
|
|
29
29
|
# rules/continuity.md — the tracked rule file.
|
|
30
30
|
.claude/
|
|
31
|
+
|
|
32
|
+
# Local-only working artifacts — generated during development, never part of the distributable kit.
|
|
33
|
+
# (Review write-ups, ad-hoc patches, and locally-gathered reference data.)
|
|
34
|
+
claude-kit-review*.md
|
|
35
|
+
*.patch
|
|
36
|
+
ai_repos_over_40k_stars.*
|
|
@@ -4,6 +4,66 @@ 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.56.0] — 2026-07-01
|
|
8
|
+
|
|
9
|
+
**`export` command — carry the config to Cursor / VS Code / GitHub Copilot.** A teammate who works in
|
|
10
|
+
an editor that isn't Claude Code can't consume `.claude/` or run the gated `/sdlc` pipeline. `claude-kit
|
|
11
|
+
export` projects the **same resolved plan** into the formats those single-agent editors read natively,
|
|
12
|
+
so claude-kit's standards travel even where the pipeline can't. No change to the core promise —
|
|
13
|
+
configuration-only SDLC scaffolding for Claude Code, no application code, no Docker, stack-agnostic
|
|
14
|
+
core, catalog-driven. **0 new agents/skills**; `catalog.resolve()` untouched (a pure projection of the
|
|
15
|
+
existing plan).
|
|
16
|
+
|
|
17
|
+
### Added
|
|
18
|
+
|
|
19
|
+
- **`claude-kit export [path] -t cursor|agents|copilot`.** Re-targets the resolved `ResolvedPlan` to:
|
|
20
|
+
- **`cursor`** — `.cursor/rules/*.mdc` (one per rule, with YAML frontmatter derived generically from
|
|
21
|
+
each rule: `description` = H1 + lead sentence; `alwaysApply: false` for the on-demand rule set;
|
|
22
|
+
overlay rules get `globs` keyed on the plan's *language/database* values — `typescript` →
|
|
23
|
+
`**/*.ts,**/*.tsx`, `python` → `**/*.py`, `postgres` → `**/*.sql`, …), an always-applied
|
|
24
|
+
`000-project.mdc` charter, and `.cursor/mcp.json` (the `type` discriminator stripped for Cursor).
|
|
25
|
+
- **`agents`** — a root `AGENTS.md` (charter + single-agent SDLC checklist + rule index + fidelity
|
|
26
|
+
note); read by both Cursor and Copilot.
|
|
27
|
+
- **`copilot`** — `.github/copilot-instructions.md` (the same synthesized document as `agents`).
|
|
28
|
+
- **Honest fidelity, everywhere.** Rules, the project charter, and MCP port cleanly; the **enforced**
|
|
29
|
+
quality gates, independent reviewer subagents, and automated defect loop are Claude-Code-only and are
|
|
30
|
+
exported as a single-agent **self-check checklist**. Every exported document states this explicitly
|
|
31
|
+
(a "What ports from Claude Code — and what doesn't" note + the workflow guide's opening).
|
|
32
|
+
- **Flags mirror `init`:** `--dry-run` (report, write nothing), `--force` (refresh in place; otherwise
|
|
33
|
+
a hand-edited file is preserved and the new version lands beside it as a `.claude-kit` sidecar),
|
|
34
|
+
`--config`/`--defaults` (resolve a fresh selection instead of the project's installed one), `--json`.
|
|
35
|
+
- **New payload template** `templates/export/sdlc-workflow-guide.md.tmpl` (stack-agnostic; renders with
|
|
36
|
+
the project's real test/lint/build commands), plus `tests/test_export.py` and
|
|
37
|
+
[`docs/cursor-export.md`](docs/cursor-export.md) (usage + the full fidelity matrix).
|
|
38
|
+
|
|
39
|
+
## [0.55.0] — 2026-07-01
|
|
40
|
+
|
|
41
|
+
**React overlay rules split under Claude Code's 40k memory limit.** Two React design-system overlay
|
|
42
|
+
rules shipped over the 40,000-character memory/rule-file limit, so every React scaffold saw the
|
|
43
|
+
`over the 40.0k-char limit · /memory` warning and risked the rule loading only partially. They are now
|
|
44
|
+
split by concern — 100% of content preserved verbatim — and a CI guard keeps any rule from regressing.
|
|
45
|
+
No change to the core promise — configuration-only SDLC scaffolding for Claude Code, no application
|
|
46
|
+
code, no Docker, stack-agnostic core, catalog-driven. **0 new agents/skills.**
|
|
47
|
+
|
|
48
|
+
### Fixed
|
|
49
|
+
|
|
50
|
+
- **Oversized React overlay rules split under the 40k limit.** `ui-design-system.md` (56.7k) → the
|
|
51
|
+
foundations/index `ui-design-system.md` + `ui-components.md` (cards, badges, buttons, form controls,
|
|
52
|
+
states, tooltips, KPI labels, data tables, compound components) + `ui-layout-and-motion.md` (page
|
|
53
|
+
layout, motion, accessibility, page blueprints, quick reference); `ux-patterns.md` (44.4k) → the
|
|
54
|
+
content/interaction `ux-patterns.md` + `ux-dashboard-patterns.md` (chart standards, tab bar, KPI-grid
|
|
55
|
+
layouts, global filter strip). Every shipped rule file is now well under the limit. The React
|
|
56
|
+
`overlay_rules` list (`catalog/stacks.yaml`) grows 5 → 8; cross-references in `react-patterns.md`,
|
|
57
|
+
`mobile-design-guidelines.md`, and `design-system-compliance.md`, and the `ui-ux-design` /
|
|
58
|
+
`component-design` skills + `ui-designer` agent, all repoint to the split files.
|
|
59
|
+
|
|
60
|
+
### Added
|
|
61
|
+
|
|
62
|
+
- **`scripts/check_rule_sizes.py` regression guard.** Scans every shipped rule file (`rules/*.md`,
|
|
63
|
+
`templates/stacks/**/rules/*.md`, `templates/org/rules/*.md`) and fails if any reaches 38,000
|
|
64
|
+
characters (2k of headroom under the 40k hard limit). Wired into CI next to the MCP-pin gate and
|
|
65
|
+
covered by `tests/test_rule_sizes.py`.
|
|
66
|
+
|
|
7
67
|
## [0.54.0] — 2026-06-29
|
|
8
68
|
|
|
9
69
|
**Safety, correctness, and capability hardening pass.** Two reviews (a fresh practical review and an
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: claude-code-kit
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.56.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
|
|
@@ -236,6 +236,36 @@ README.claude-sdlc.md
|
|
|
236
236
|
|
|
237
237
|
---
|
|
238
238
|
|
|
239
|
+
## Use in Cursor / VS Code / Copilot (export)
|
|
240
|
+
|
|
241
|
+
A teammate who works in **Cursor**, **VS Code**, or **GitHub Copilot** can't consume `.claude/` or run
|
|
242
|
+
the gated multi-agent `/sdlc` pipeline — those editors drive their own single agent. `claude-kit
|
|
243
|
+
export` projects the **same resolved plan** into the formats those agents read natively, so the
|
|
244
|
+
standards travel even when the pipeline can't:
|
|
245
|
+
|
|
246
|
+
```bash
|
|
247
|
+
claude-kit export . # → .cursor/ (default target)
|
|
248
|
+
claude-kit export . -t cursor -t agents -t copilot # all three at once
|
|
249
|
+
claude-kit export . --dry-run # preview; writes nothing
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
| Target | Emits | What lands |
|
|
253
|
+
|---|---|---|
|
|
254
|
+
| `cursor` | `.cursor/rules/*.mdc` + `.cursor/mcp.json` | The full rule set (one on-demand `.mdc` each, overlays auto-attach by file glob), an always-applied `000-project.mdc` charter, and your MCP servers |
|
|
255
|
+
| `agents` | `AGENTS.md` (repo root) | Project charter + single-agent SDLC checklist + rule index (read by Cursor **and** Copilot) |
|
|
256
|
+
| `copilot` | `.github/copilot-instructions.md` | The same synthesized document as `agents` |
|
|
257
|
+
|
|
258
|
+
**Fidelity is honest.** Rules, the project charter, and MCP servers port cleanly. The **enforced**
|
|
259
|
+
quality gates, independent reviewer subagents, and automated defect loop are Claude-Code-only — the
|
|
260
|
+
export carries the SDLC workflow as a **single-agent self-check checklist**, not enforced gates. Every
|
|
261
|
+
exported document says so. Exports are regenerable projections: `--force` refreshes them in place, and
|
|
262
|
+
without it a hand-edited file is preserved (the new version drops beside it as a `.claude-kit` sidecar).
|
|
263
|
+
|
|
264
|
+
See **[docs/cursor-export.md](docs/cursor-export.md)** for the full fidelity matrix and the `.mdc`
|
|
265
|
+
frontmatter mapping.
|
|
266
|
+
|
|
267
|
+
---
|
|
268
|
+
|
|
239
269
|
## Feature details
|
|
240
270
|
|
|
241
271
|
Each area from the [Features](#features) table, expanded — the README stays short; open only what you
|
|
@@ -724,6 +754,7 @@ everything available.
|
|
|
724
754
|
| `validate [path] [--strict]` | Structurally validate an installed config; `--strict` adds hooks→script, `.mcp.json`-shape, snapshot, and catalog-integrity checks |
|
|
725
755
|
| `doctor [path] [--mcp]` | Strict validate + environment/health checks; `--mcp` checks MCP commands, `${ENV}` vars, and lockfile drift |
|
|
726
756
|
| `diff [path]` | Preview what an `upgrade` would change (no writes) |
|
|
757
|
+
| `export [path] -t cursor\|agents\|copilot [--force] [--dry-run] [--json]` | Project the config into Cursor (`.cursor/`), a root `AGENTS.md`, or GitHub Copilot (`.github/copilot-instructions.md`) for editors that aren't Claude Code |
|
|
727
758
|
| `upgrade [path] [--force]` | Refresh kit/overlay files; protect your edits; prune orphans |
|
|
728
759
|
| `pipeline validate · status · close-gate · abort` | Inspect/mutate the `/sdlc` state files (gate/lane/evidence coherence); **does not run** the pipeline |
|
|
729
760
|
| `list-options` | List available frontend/backend/database/profile/MCP options |
|
|
@@ -203,6 +203,36 @@ README.claude-sdlc.md
|
|
|
203
203
|
|
|
204
204
|
---
|
|
205
205
|
|
|
206
|
+
## Use in Cursor / VS Code / Copilot (export)
|
|
207
|
+
|
|
208
|
+
A teammate who works in **Cursor**, **VS Code**, or **GitHub Copilot** can't consume `.claude/` or run
|
|
209
|
+
the gated multi-agent `/sdlc` pipeline — those editors drive their own single agent. `claude-kit
|
|
210
|
+
export` projects the **same resolved plan** into the formats those agents read natively, so the
|
|
211
|
+
standards travel even when the pipeline can't:
|
|
212
|
+
|
|
213
|
+
```bash
|
|
214
|
+
claude-kit export . # → .cursor/ (default target)
|
|
215
|
+
claude-kit export . -t cursor -t agents -t copilot # all three at once
|
|
216
|
+
claude-kit export . --dry-run # preview; writes nothing
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
| Target | Emits | What lands |
|
|
220
|
+
|---|---|---|
|
|
221
|
+
| `cursor` | `.cursor/rules/*.mdc` + `.cursor/mcp.json` | The full rule set (one on-demand `.mdc` each, overlays auto-attach by file glob), an always-applied `000-project.mdc` charter, and your MCP servers |
|
|
222
|
+
| `agents` | `AGENTS.md` (repo root) | Project charter + single-agent SDLC checklist + rule index (read by Cursor **and** Copilot) |
|
|
223
|
+
| `copilot` | `.github/copilot-instructions.md` | The same synthesized document as `agents` |
|
|
224
|
+
|
|
225
|
+
**Fidelity is honest.** Rules, the project charter, and MCP servers port cleanly. The **enforced**
|
|
226
|
+
quality gates, independent reviewer subagents, and automated defect loop are Claude-Code-only — the
|
|
227
|
+
export carries the SDLC workflow as a **single-agent self-check checklist**, not enforced gates. Every
|
|
228
|
+
exported document says so. Exports are regenerable projections: `--force` refreshes them in place, and
|
|
229
|
+
without it a hand-edited file is preserved (the new version drops beside it as a `.claude-kit` sidecar).
|
|
230
|
+
|
|
231
|
+
See **[docs/cursor-export.md](docs/cursor-export.md)** for the full fidelity matrix and the `.mdc`
|
|
232
|
+
frontmatter mapping.
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
206
236
|
## Feature details
|
|
207
237
|
|
|
208
238
|
Each area from the [Features](#features) table, expanded — the README stays short; open only what you
|
|
@@ -691,6 +721,7 @@ everything available.
|
|
|
691
721
|
| `validate [path] [--strict]` | Structurally validate an installed config; `--strict` adds hooks→script, `.mcp.json`-shape, snapshot, and catalog-integrity checks |
|
|
692
722
|
| `doctor [path] [--mcp]` | Strict validate + environment/health checks; `--mcp` checks MCP commands, `${ENV}` vars, and lockfile drift |
|
|
693
723
|
| `diff [path]` | Preview what an `upgrade` would change (no writes) |
|
|
724
|
+
| `export [path] -t cursor\|agents\|copilot [--force] [--dry-run] [--json]` | Project the config into Cursor (`.cursor/`), a root `AGENTS.md`, or GitHub Copilot (`.github/copilot-instructions.md`) for editors that aren't Claude Code |
|
|
694
725
|
| `upgrade [path] [--force]` | Refresh kit/overlay files; protect your edits; prune orphans |
|
|
695
726
|
| `pipeline validate · status · close-gate · abort` | Inspect/mutate the `/sdlc` state files (gate/lane/evidence coherence); **does not run** the pipeline |
|
|
696
727
|
| `list-options` | List available frontend/backend/database/profile/MCP options |
|
|
@@ -19,7 +19,7 @@ For any frontend, UI, or interaction work, produce a **complete, production-read
|
|
|
19
19
|
Your project's frontend stack may vary. Before designing, identify:
|
|
20
20
|
- The UI framework (e.g., React, Vue, Svelte, Angular, vanilla JS)
|
|
21
21
|
- The styling approach (e.g., CSS modules, Tailwind, styled-components, CSS-in-JS)
|
|
22
|
-
- Design system location (if one exists — check `.claude/rules/ui-design-system.md` (React overlay), `docs/references/ui/`, `design-system/`, or similar)
|
|
22
|
+
- Design system location (if one exists — check `.claude/rules/ui-design-system.md` (React overlay; its `ui-components.md` / `ui-layout-and-motion.md` companions cover components and layout/motion/a11y), `docs/references/ui/`, `design-system/`, or similar)
|
|
23
23
|
- Component library path (check `src/components/`, `lib/ui/`, or similar)
|
|
24
24
|
|
|
25
25
|
## MANDATORY: Read Before Designing
|
|
@@ -24,7 +24,7 @@ frontend:
|
|
|
24
24
|
languages:
|
|
25
25
|
default: typescript
|
|
26
26
|
options: [typescript, javascript]
|
|
27
|
-
overlay_rules: [react-patterns.md, design-system-compliance.md, ui-design-system.md, ux-patterns.md, mobile-design-guidelines.md]
|
|
27
|
+
overlay_rules: [react-patterns.md, design-system-compliance.md, ui-design-system.md, ui-components.md, ui-layout-and-motion.md, ux-patterns.md, ux-dashboard-patterns.md, mobile-design-guidelines.md]
|
|
28
28
|
overlay_agents: []
|
|
29
29
|
skills: [frontend-ui-engineering, component-design, ui-ux-design, unit-test]
|
|
30
30
|
stack_dir: frontend/react
|
|
@@ -75,6 +75,17 @@ flowchart TB
|
|
|
75
75
|
Adding a framework/database/profile/MCP server is a **catalog edit + a `templates/stacks/` folder** —
|
|
76
76
|
never a change to `resolve()`.
|
|
77
77
|
|
|
78
|
+
### Same plan, second target: `export` (for non-Claude-Code editors)
|
|
79
|
+
|
|
80
|
+
The `ResolvedPlan` is the reuse seam. `claude-kit export` (`src/claude_kit/export.py`) takes the **same**
|
|
81
|
+
plan and, instead of `scaffold.install_sdlc()` writing `.claude/`, projects it into the formats a
|
|
82
|
+
single-agent editor reads natively — `.cursor/rules/*.mdc` + `.cursor/mcp.json` (Cursor), a root
|
|
83
|
+
`AGENTS.md`, or `.github/copilot-instructions.md` (Copilot). It is a pure projection: it adds no stack
|
|
84
|
+
knowledge, and `catalog.resolve()` gains no branches (golden rules #1 and #6). Fidelity is asymmetric
|
|
85
|
+
and stated in every exported file — rules, the charter, and MCP port cleanly, while the *enforced*
|
|
86
|
+
gates and reviewer subagents become single-agent guidance. See
|
|
87
|
+
[cursor-export.md](cursor-export.md) for the full mapping.
|
|
88
|
+
|
|
78
89
|
---
|
|
79
90
|
|
|
80
91
|
## 3. The SDLC pipeline (run)
|
|
@@ -70,7 +70,7 @@ checklists that ride *inside existing* review gates. Enforcement class of each:
|
|
|
70
70
|
| **Suite-architecture audit** | **AGENT mode — standard+** | `suite-audit` mode on `agents/senior-tester`; a verification *mode*, not a separate token | advisory (within testing) |
|
|
71
71
|
| **Staff-PM product-lens review tier** | **SKILL/AGENT — organization scope only** | `staff-pm-reviewer` + `review-scope`/`review-sprint-plan`/`review-ux-flow`/`review-sprint` install only when `scope == organization` (`catalog/org.yaml`); read-only, advisory — no product gate token | org scope (advisory) |
|
|
72
72
|
| **Design-system compliance · a11y/contract overlay enrichments** | **OVERLAY RULE** | `design-system-compliance.md` + enrichments in `react-patterns.md`/`fastapi-patterns.md`; install only when the matching stack is selected | when stack selected (advisory rule) |
|
|
73
|
-
| **Design system · UX patterns · mobile guidelines** (0.16.0) | **OVERLAY RULE — React-gated, always-on, advisory** | `ui-design-system.md` / `ux-patterns.md` / `mobile-design-guidelines.md` (React `overlay_rules`); install into `.claude/rules/` only when React is selected, then load every session. The authoritative source for `design-system-compliance.md`'s thin pointer and `react-patterns.md`'s trimmed a11y cross-ref; consumed by the `ui-ux-design` / `component-design` skills + `ui-designer` agent | when React selected (advisory rule) |
|
|
73
|
+
| **Design system · UX patterns · mobile guidelines** (0.16.0; split under the 40k limit in 0.55.0) | **OVERLAY RULE — React-gated, always-on, advisory** | `ui-design-system.md` (foundations) + `ui-components.md` + `ui-layout-and-motion.md` / `ux-patterns.md` + `ux-dashboard-patterns.md` / `mobile-design-guidelines.md` (React `overlay_rules`); install into `.claude/rules/` only when React is selected, then load every session. The authoritative source for `design-system-compliance.md`'s thin pointer and `react-patterns.md`'s trimmed a11y cross-ref; consumed by the `ui-ux-design` / `component-design` skills + `ui-designer` agent | when React selected (advisory rule) |
|
|
74
74
|
|
|
75
75
|
The two that reach *enforced* (claim-audit, eval/HITL) do so the same way P0-2 did — by strengthening
|
|
76
76
|
an **existing** gate's owner-agent checklist, not by minting a token. Everything else is advisory by
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# Exporting to Cursor / VS Code / GitHub Copilot
|
|
2
|
+
|
|
3
|
+
claude-kit's home is **Claude Code**, where it installs a `.claude/` configuration and runs a gated,
|
|
4
|
+
multi-agent `/sdlc` pipeline. A teammate working in **Cursor**, **VS Code**, or **GitHub Copilot**
|
|
5
|
+
uses that editor's *own* single agent — which can't read `.claude/` or run the pipeline. `claude-kit
|
|
6
|
+
export` bridges the gap by projecting the **same resolved plan** into the formats those agents read
|
|
7
|
+
natively.
|
|
8
|
+
|
|
9
|
+
It is a **projection**, not a second source of truth: the exporter re-targets the exact `ResolvedPlan`
|
|
10
|
+
that `init` installs (`catalog.resolve()` is untouched, no new stack knowledge). Re-run it any time to
|
|
11
|
+
regenerate; it writes **configuration only** — no application code, no Docker.
|
|
12
|
+
|
|
13
|
+
## Usage
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
claude-kit export . # default target: cursor
|
|
17
|
+
claude-kit export . -t cursor -t agents -t copilot # all three
|
|
18
|
+
claude-kit export . --dry-run # preview; write nothing
|
|
19
|
+
claude-kit export . --force # refresh existing files in place
|
|
20
|
+
claude-kit export . -t agents --json # machine-readable file list
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
By default `export` resolves from the project's **installed selection**
|
|
24
|
+
(`.claude/config/init-options.json`), so the export matches what was scaffolded. Pass `--config FILE`
|
|
25
|
+
or `--defaults` to resolve a fresh selection instead — useful for a standalone export into a project
|
|
26
|
+
that never ran `init`.
|
|
27
|
+
|
|
28
|
+
**Conflict-safe writes.** Exports are regenerable, so `--force` refreshes them in place. Without
|
|
29
|
+
`--force`, an existing (possibly hand-edited) file is preserved and the new version is written beside it
|
|
30
|
+
as a `<name>.claude-kit` sidecar — the same non-destructive convention the installer uses.
|
|
31
|
+
|
|
32
|
+
## What each target emits
|
|
33
|
+
|
|
34
|
+
| Target | Files | Contents |
|
|
35
|
+
|---|---|---|
|
|
36
|
+
| `cursor` | `.cursor/rules/000-project.mdc` | The project **charter** + single-agent SDLC workflow + fidelity note. `alwaysApply: true` — always in context. |
|
|
37
|
+
| | `.cursor/rules/<rule>.mdc` (one per rule) | Every core rule and every stack overlay, `alwaysApply: false` (agent pulls on demand by `description`); overlays also carry `globs` to auto-attach on matching files. |
|
|
38
|
+
| | `.cursor/mcp.json` | Your selected MCP servers (omitted when none are selected). |
|
|
39
|
+
| `agents` | `AGENTS.md` (repo root) | Charter + workflow + a **rule index** (one line per rule) + the fidelity note. Read by both Cursor and Copilot. |
|
|
40
|
+
| `copilot` | `.github/copilot-instructions.md` | The same synthesized document as `agents`. |
|
|
41
|
+
|
|
42
|
+
## `.mdc` frontmatter derivation
|
|
43
|
+
|
|
44
|
+
Each Cursor rule file gets YAML frontmatter derived generically from the rule's own content — no
|
|
45
|
+
per-stack branching:
|
|
46
|
+
|
|
47
|
+
- **`description`** — the rule's H1 heading plus its first lead sentence (falling back to a humanized
|
|
48
|
+
filename), trimmed to ~200 characters. Cursor uses this to decide when to pull an on-demand rule.
|
|
49
|
+
- **`alwaysApply`** — `false` for the whole rule set (mirroring Claude Code's on-demand rule loading);
|
|
50
|
+
`true` only for the synthesized `000-project.mdc` charter.
|
|
51
|
+
- **`globs`** — attached to **overlay** rules only, chosen from the overlay's lane and the plan's
|
|
52
|
+
*language/database* values (not framework names):
|
|
53
|
+
|
|
54
|
+
| Lane | Source value | Example glob |
|
|
55
|
+
|---|---|---|
|
|
56
|
+
| frontend | `frontend_language` | `typescript` → `**/*.ts,**/*.tsx` |
|
|
57
|
+
| backend | `backend_language` | `python` → `**/*.py`, `go` → `**/*.go` |
|
|
58
|
+
| database | `database` | `postgres` → `**/*.sql` |
|
|
59
|
+
|
|
60
|
+
A store with no reliable file signal (e.g. a document database) gets **no** glob and loads by
|
|
61
|
+
`description` instead. Core rules never get globs.
|
|
62
|
+
|
|
63
|
+
Values are JSON-quoted so the frontmatter is always valid YAML — an unquoted glob such as
|
|
64
|
+
`**/*.{ts,tsx}` would be misparsed as a YAML flow mapping.
|
|
65
|
+
|
|
66
|
+
## MCP projection
|
|
67
|
+
|
|
68
|
+
Cursor's `.cursor/mcp.json` uses a top-level `mcpServers` map and infers transport from the keys
|
|
69
|
+
present — stdio servers use `command`/`args`/`env`, remote servers use `url`/`headers`. claude-kit's
|
|
70
|
+
internal `type` discriminator is **dropped**; every other key passes through verbatim.
|
|
71
|
+
|
|
72
|
+
## Fidelity: what ports, and what doesn't
|
|
73
|
+
|
|
74
|
+
| Capability | Claude Code | Exported (Cursor / AGENTS.md / Copilot) |
|
|
75
|
+
|---|---|---|
|
|
76
|
+
| Engineering rules + stack/design-system overlays | ✅ enforced/on-demand | ✅ full text (`.mdc`) or index (AGENTS.md) |
|
|
77
|
+
| Project charter (stack, commands, lanes) | ✅ | ✅ |
|
|
78
|
+
| MCP servers | ✅ (`.mcp.json`) | ✅ Cursor (`.cursor/mcp.json`); not applicable to AGENTS.md/Copilot |
|
|
79
|
+
| SDLC phases | ✅ **enforced quality gates** | ⚠️ single-agent **self-check checklist** (guidance) |
|
|
80
|
+
| Independent reviewer subagents | ✅ separate agents | ❌ one agent plays every role |
|
|
81
|
+
| Security scan (parallel sub-scanners) | ✅ | ⚠️ a security self-check step in the checklist |
|
|
82
|
+
| Automated defect loop (blocks on unproven verdict) | ✅ | ⚠️ described as discipline; nothing blocks |
|
|
83
|
+
|
|
84
|
+
The enforced gates, reviewer subagents, and automated defect loop depend on Claude Code's multi-agent
|
|
85
|
+
runtime and **cannot** be reproduced under a single-agent editor. The export is honest about this: the
|
|
86
|
+
charter carries a "What ports from Claude Code — and what doesn't" note, and the workflow guide opens
|
|
87
|
+
by stating it is a self-check checklist, not enforced gates.
|
|
88
|
+
|
|
89
|
+
## Out of scope (for now)
|
|
90
|
+
|
|
91
|
+
- **Cursor hooks** (`.cursor/hooks.json`) and **commands/skills** export — a different event/format
|
|
92
|
+
model; noted as future work.
|
|
93
|
+
- **Drift tracking** of exported files in the `init-options.json` ownership manifest — exports are
|
|
94
|
+
regenerable projections (`export --force` refreshes), so they are intentionally not tracked.
|
|
@@ -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.56.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,75 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""Fail if any shipped rule file is close to Claude Code's memory/rule-file size limit.
|
|
3
|
+
|
|
4
|
+
Claude Code warns (and can load a rule only partially) when a memory/rule file exceeds
|
|
5
|
+
**40,000 characters**. Every rule this kit ships is copied verbatim into a user project's
|
|
6
|
+
``.claude/rules/`` and loaded on demand, so an over-limit rule silently degrades in every install.
|
|
7
|
+
|
|
8
|
+
This is an offline, deterministic CI gate. It scans the rule files the kit distributes — the
|
|
9
|
+
stack-agnostic core (``rules/``), the per-stack overlays (``templates/stacks/**/rules/``), and the
|
|
10
|
+
org overlays (``templates/org/rules/``) — and fails if any is at or above ``THRESHOLD`` characters.
|
|
11
|
+
The threshold sits below the hard limit to keep headroom for small edits before a file must be split.
|
|
12
|
+
"""
|
|
13
|
+
|
|
14
|
+
from __future__ import annotations
|
|
15
|
+
|
|
16
|
+
import sys
|
|
17
|
+
from pathlib import Path
|
|
18
|
+
|
|
19
|
+
ROOT = Path(__file__).resolve().parents[1]
|
|
20
|
+
|
|
21
|
+
# Claude Code's hard limit is 40,000 characters; keep 2k of headroom so a small edit does not
|
|
22
|
+
# immediately push a rule over the line before someone notices it needs splitting.
|
|
23
|
+
HARD_LIMIT = 40_000
|
|
24
|
+
THRESHOLD = 38_000
|
|
25
|
+
|
|
26
|
+
# Glob patterns (relative to ROOT) for every rule file the kit ships into a user's .claude/rules/.
|
|
27
|
+
RULE_GLOBS = (
|
|
28
|
+
"rules/*.md",
|
|
29
|
+
"templates/stacks/**/rules/*.md",
|
|
30
|
+
"templates/org/rules/*.md",
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
def rule_files(root: Path | None = None) -> list[Path]:
|
|
35
|
+
"""Return every shipped rule file, de-duplicated and sorted by path."""
|
|
36
|
+
base = root or ROOT
|
|
37
|
+
found: set[Path] = set()
|
|
38
|
+
for pattern in RULE_GLOBS:
|
|
39
|
+
found.update(base.glob(pattern))
|
|
40
|
+
return sorted(found)
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
def oversized(
|
|
44
|
+
root: Path | None = None, threshold: int = THRESHOLD
|
|
45
|
+
) -> list[tuple[Path, int]]:
|
|
46
|
+
"""Return ``(path, char_count)`` for each rule file at or above ``threshold`` characters."""
|
|
47
|
+
base = root or ROOT
|
|
48
|
+
out: list[tuple[Path, int]] = []
|
|
49
|
+
for path in rule_files(base):
|
|
50
|
+
count = len(path.read_text(encoding="utf-8"))
|
|
51
|
+
if count >= threshold:
|
|
52
|
+
out.append((path.relative_to(base), count))
|
|
53
|
+
return out
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
def main() -> int:
|
|
57
|
+
files = rule_files()
|
|
58
|
+
bad = oversized()
|
|
59
|
+
if bad:
|
|
60
|
+
print(
|
|
61
|
+
f"FAIL rule file(s) at/over {THRESHOLD:,} chars "
|
|
62
|
+
f"(Claude Code's limit is {HARD_LIMIT:,}); split them by concern:"
|
|
63
|
+
)
|
|
64
|
+
for rel, count in bad:
|
|
65
|
+
print(f" - {rel} -> {count:,} chars")
|
|
66
|
+
return 1
|
|
67
|
+
print(
|
|
68
|
+
f"OK all {len(files)} shipped rule file(s) are under {THRESHOLD:,} chars "
|
|
69
|
+
f"(limit {HARD_LIMIT:,})"
|
|
70
|
+
)
|
|
71
|
+
return 0
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
if __name__ == "__main__":
|
|
75
|
+
sys.exit(main())
|
|
@@ -9,7 +9,7 @@ Design and implement the component: $ARGUMENTS.
|
|
|
9
9
|
|
|
10
10
|
## Steps
|
|
11
11
|
|
|
12
|
-
1. **Read the design system**: Read `.claude/rules/ui-design-system.md` (
|
|
12
|
+
1. **Read the design system**: Read `.claude/rules/ui-design-system.md` (foundations & index) and `.claude/rules/ui-components.md` (component standards — cards, badges, buttons, form controls, compound components), both installed as React overlay rules — or a project's `docs/references/ui/ui-design-system.md` equivalent. Read whichever is present.
|
|
13
13
|
|
|
14
14
|
2. **Check existing components**: Check the project's component directory for available UI primitives and established patterns. Search for similar components to follow the project's conventions.
|
|
15
15
|
|
|
@@ -95,8 +95,8 @@ Design and implement the component: $ARGUMENTS.
|
|
|
95
95
|
## References
|
|
96
96
|
|
|
97
97
|
- UI primitives: Project's UI primitives directory/barrel export
|
|
98
|
-
- Design system: `.claude/rules/ui-design-system.md` (React overlay) or `docs/references/ui/ui-design-system.md` (if present)
|
|
99
|
-
- UX patterns: `.claude/rules/ux-patterns.md` (React overlay) or `docs/references/ui/ux-patterns.md` (if present)
|
|
98
|
+
- Design system: `.claude/rules/ui-design-system.md` (foundations) + `.claude/rules/ui-components.md` + `.claude/rules/ui-layout-and-motion.md` (React overlay) or `docs/references/ui/ui-design-system.md` (if present)
|
|
99
|
+
- UX patterns: `.claude/rules/ux-patterns.md` + `.claude/rules/ux-dashboard-patterns.md` (React overlay) or `docs/references/ui/ux-patterns.md` (if present)
|
|
100
100
|
- Rules: `.claude/rules/frontend-best-practices.md`, `.claude/rules/responsive-and-accessibility.md`
|
|
101
101
|
|
|
102
102
|
## Examples
|
|
@@ -9,9 +9,9 @@ Verify UI/UX design compliance for $ARGUMENTS.
|
|
|
9
9
|
|
|
10
10
|
## Steps
|
|
11
11
|
|
|
12
|
-
1. **Read the design system**: Read `.claude/rules/ui-design-system.md`
|
|
12
|
+
1. **Read the design system**: Read `.claude/rules/ui-design-system.md` (foundations & index — colors, typography, spacing, icons, tokens) and its companions `.claude/rules/ui-components.md` (cards, badges, buttons, form controls, states, compound components) and `.claude/rules/ui-layout-and-motion.md` (page layout, motion, accessibility, page blueprints). (Installed as overlay rules when the React stack is selected.) These files are **authoritative**: if the quick-check table below ever conflicts with them, follow the rule files.
|
|
13
13
|
|
|
14
|
-
2. **Read the UX patterns
|
|
14
|
+
2. **Read the UX patterns docs**: Read `.claude/rules/ux-patterns.md` for status expression rules, empty state guidelines, breadcrumb conventions, page blueprint selection, and data color rules, and `.claude/rules/ux-dashboard-patterns.md` for chart standards, tab-bar limits, KPI-grid layouts, and the global filter strip. For responsive/native specifics, also read `.claude/rules/mobile-design-guidelines.md`.
|
|
15
15
|
|
|
16
16
|
3. **Identify the page archetype**: Determine if the target is a **List**, **Dashboard**, **Detail**, or **Config** page. Each archetype has specific compound components and hooks it should use.
|
|
17
17
|
|
|
@@ -64,8 +64,8 @@ Verify UI/UX design compliance for $ARGUMENTS.
|
|
|
64
64
|
|
|
65
65
|
## References
|
|
66
66
|
|
|
67
|
-
- Design system: `.claude/rules/ui-design-system.md`
|
|
68
|
-
- UX patterns: `.claude/rules/ux-patterns.md`
|
|
67
|
+
- Design system: `.claude/rules/ui-design-system.md` (foundations), `.claude/rules/ui-components.md`, `.claude/rules/ui-layout-and-motion.md`
|
|
68
|
+
- UX patterns: `.claude/rules/ux-patterns.md`, `.claude/rules/ux-dashboard-patterns.md`
|
|
69
69
|
- Mobile / responsive: `.claude/rules/mobile-design-guidelines.md`
|
|
70
70
|
- Sidebar navigation: `docs/references/ui/sidebar-navigation.md` (project-specific, if present)
|
|
71
71
|
- UI components: `src/components/ui/index.ts`
|
|
@@ -27,7 +27,8 @@ from claude_kit import (
|
|
|
27
27
|
upgrader,
|
|
28
28
|
validator,
|
|
29
29
|
)
|
|
30
|
-
from claude_kit
|
|
30
|
+
from claude_kit import export as exporter
|
|
31
|
+
from claude_kit.models import ResolvedPlan, Selection
|
|
31
32
|
|
|
32
33
|
# Planned-but-unimplemented commands are hidden from `--help` by default so they
|
|
33
34
|
# can't be mistaken for working features. Set CLAUDE_KIT_EXPERIMENTAL=1 to surface
|
|
@@ -316,6 +317,110 @@ def init(
|
|
|
316
317
|
)
|
|
317
318
|
|
|
318
319
|
|
|
320
|
+
def _plan_for_export(
|
|
321
|
+
src: Path, target_dir: Path, *, config: Optional[str], defaults: bool
|
|
322
|
+
) -> ResolvedPlan:
|
|
323
|
+
"""Resolve the plan to export: prefer the project's installed selection, else config/defaults/prompt.
|
|
324
|
+
|
|
325
|
+
``export .`` in an installed project reads ``.claude/config/init-options.json`` so the export
|
|
326
|
+
matches what was scaffolded. ``--config`` / ``--defaults`` force a fresh resolution (useful for a
|
|
327
|
+
standalone export into a project that never ran ``init``); with neither and no install present, it
|
|
328
|
+
falls back to the interactive prompt via :func:`_resolve_plan`.
|
|
329
|
+
"""
|
|
330
|
+
opts = target_dir / ".claude" / "config" / "init-options.json"
|
|
331
|
+
if config is None and not defaults and opts.is_file():
|
|
332
|
+
try:
|
|
333
|
+
data = json.loads(opts.read_text(encoding="utf-8"))
|
|
334
|
+
selection = Selection.from_dict(data.get("selection", {}))
|
|
335
|
+
return catalog.resolve(src, selection)
|
|
336
|
+
except (ValueError, KeyError, json.JSONDecodeError) as exc:
|
|
337
|
+
typer.echo(f"error: could not read installed selection: {exc}", err=True)
|
|
338
|
+
raise typer.Exit(2) from exc
|
|
339
|
+
return _resolve_plan(src, config=config, defaults=defaults)
|
|
340
|
+
|
|
341
|
+
|
|
342
|
+
# Module-level singleton: a repeatable-list option can't be defined inline (ruff B008 flags a call in
|
|
343
|
+
# a mutable-typed argument default), so the Option lives here and the command reads it as its default.
|
|
344
|
+
_EXPORT_TARGET_OPTION = typer.Option(
|
|
345
|
+
None,
|
|
346
|
+
"--target",
|
|
347
|
+
"-t",
|
|
348
|
+
help="export target(s), repeatable: cursor | agents | copilot (default: cursor)",
|
|
349
|
+
)
|
|
350
|
+
|
|
351
|
+
|
|
352
|
+
@app.command()
|
|
353
|
+
def export(
|
|
354
|
+
path: str = typer.Argument(".", help="target project dir (default: .)"),
|
|
355
|
+
target: Optional[list[str]] = _EXPORT_TARGET_OPTION,
|
|
356
|
+
config: Optional[str] = typer.Option(
|
|
357
|
+
None,
|
|
358
|
+
"--config",
|
|
359
|
+
help="resolve the selection from a YAML file instead of the installed one",
|
|
360
|
+
),
|
|
361
|
+
defaults: bool = typer.Option(
|
|
362
|
+
False,
|
|
363
|
+
"--defaults",
|
|
364
|
+
help="resolve from catalog defaults instead of the installed selection",
|
|
365
|
+
),
|
|
366
|
+
force: bool = typer.Option(
|
|
367
|
+
False,
|
|
368
|
+
"--force",
|
|
369
|
+
help="overwrite existing exported files instead of writing .claude-kit sidecars",
|
|
370
|
+
),
|
|
371
|
+
dry_run: bool = typer.Option(
|
|
372
|
+
False, "--dry-run", help="report the files that would be written; write nothing"
|
|
373
|
+
),
|
|
374
|
+
json_out: bool = typer.Option(
|
|
375
|
+
False, "--json", help="emit the written-file list as JSON instead of text"
|
|
376
|
+
),
|
|
377
|
+
) -> None:
|
|
378
|
+
"""Export the config for Cursor / AGENTS.md / GitHub Copilot (editors that aren't Claude Code).
|
|
379
|
+
|
|
380
|
+
Projects the same resolved plan claude-kit installs under .claude/ into the formats a single-agent
|
|
381
|
+
editor reads natively — the full rule set + a project charter + the SDLC workflow as guidance, plus
|
|
382
|
+
MCP servers for Cursor. The enforced gates and reviewer subagents are Claude Code-only.
|
|
383
|
+
"""
|
|
384
|
+
targets = list(dict.fromkeys(target or ["cursor"]))
|
|
385
|
+
unknown = [t for t in targets if t not in exporter.VALID_TARGETS]
|
|
386
|
+
if unknown:
|
|
387
|
+
typer.echo(
|
|
388
|
+
f"error: unknown export target(s): {', '.join(unknown)} "
|
|
389
|
+
f"(choices: {', '.join(exporter.VALID_TARGETS)})",
|
|
390
|
+
err=True,
|
|
391
|
+
)
|
|
392
|
+
raise typer.Exit(2)
|
|
393
|
+
with ExitStack() as stack:
|
|
394
|
+
src = scaffold.payload_dir(stack)
|
|
395
|
+
target_dir = Path(path).expanduser().resolve()
|
|
396
|
+
plan = _plan_for_export(src, target_dir, config=config, defaults=defaults)
|
|
397
|
+
written = exporter.export_targets(
|
|
398
|
+
src, target_dir, plan, targets, force=force, dry_run=dry_run
|
|
399
|
+
)
|
|
400
|
+
|
|
401
|
+
if json_out:
|
|
402
|
+
typer.echo(
|
|
403
|
+
json.dumps(
|
|
404
|
+
{
|
|
405
|
+
"target": str(target_dir),
|
|
406
|
+
"targets": targets,
|
|
407
|
+
"dry_run": dry_run,
|
|
408
|
+
"written": written,
|
|
409
|
+
},
|
|
410
|
+
indent=2,
|
|
411
|
+
)
|
|
412
|
+
)
|
|
413
|
+
return
|
|
414
|
+
|
|
415
|
+
typer.echo(f"\nclaude-kit export → {', '.join(targets)} ({target_dir})\n")
|
|
416
|
+
for w in written:
|
|
417
|
+
typer.echo(f" {'+' if dry_run else '•'} {w}")
|
|
418
|
+
tail = " (dry run — nothing written)" if dry_run else ""
|
|
419
|
+
typer.echo(
|
|
420
|
+
f"\n{'Would write' if dry_run else 'Wrote'} {len(written)} file(s).{tail}"
|
|
421
|
+
)
|
|
422
|
+
|
|
423
|
+
|
|
319
424
|
@app.command()
|
|
320
425
|
def validate(
|
|
321
426
|
path: str = typer.Argument(".", help="target project dir (default: .)"),
|