@wazir-dev/cli 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +111 -0
- package/CHANGELOG.md +14 -0
- package/CONTRIBUTING.md +101 -0
- package/LICENSE +21 -0
- package/README.md +314 -0
- package/assets/composition-engine.mmd +34 -0
- package/assets/demo-script.sh +17 -0
- package/assets/logo-dark.svg +14 -0
- package/assets/logo.svg +14 -0
- package/assets/pipeline.mmd +39 -0
- package/assets/record-demo.sh +51 -0
- package/docs/README.md +51 -0
- package/docs/adapters/context-mode.md +60 -0
- package/docs/concepts/architecture.md +87 -0
- package/docs/concepts/artifact-model.md +60 -0
- package/docs/concepts/composition-engine.md +36 -0
- package/docs/concepts/indexing-and-recall.md +160 -0
- package/docs/concepts/observability.md +41 -0
- package/docs/concepts/roles-and-workflows.md +59 -0
- package/docs/concepts/terminology-policy.md +27 -0
- package/docs/getting-started/01-installation.md +78 -0
- package/docs/getting-started/02-first-run.md +102 -0
- package/docs/getting-started/03-adding-to-project.md +15 -0
- package/docs/getting-started/04-host-setup.md +15 -0
- package/docs/guides/ci-integration.md +15 -0
- package/docs/guides/creating-skills.md +15 -0
- package/docs/guides/expertise-module-authoring.md +15 -0
- package/docs/guides/hook-development.md +15 -0
- package/docs/guides/memory-and-learnings.md +34 -0
- package/docs/guides/multi-host-export.md +15 -0
- package/docs/guides/troubleshooting.md +101 -0
- package/docs/guides/writing-custom-roles.md +15 -0
- package/docs/plans/2026-03-15-cli-pipeline-integration-design.md +592 -0
- package/docs/plans/2026-03-15-cli-pipeline-integration-plan.md +598 -0
- package/docs/plans/2026-03-15-docs-enforcement-plan.md +238 -0
- package/docs/readmes/INDEX.md +99 -0
- package/docs/readmes/features/expertise/README.md +171 -0
- package/docs/readmes/features/exports/README.md +222 -0
- package/docs/readmes/features/hooks/README.md +103 -0
- package/docs/readmes/features/hooks/loop-cap-guard.md +133 -0
- package/docs/readmes/features/hooks/post-tool-capture.md +121 -0
- package/docs/readmes/features/hooks/post-tool-lint.md +130 -0
- package/docs/readmes/features/hooks/pre-compact-summary.md +122 -0
- package/docs/readmes/features/hooks/pre-tool-capture-route.md +100 -0
- package/docs/readmes/features/hooks/protected-path-write-guard.md +128 -0
- package/docs/readmes/features/hooks/session-start.md +119 -0
- package/docs/readmes/features/hooks/stop-handoff-harvest.md +125 -0
- package/docs/readmes/features/roles/README.md +157 -0
- package/docs/readmes/features/roles/clarifier.md +152 -0
- package/docs/readmes/features/roles/content-author.md +190 -0
- package/docs/readmes/features/roles/designer.md +193 -0
- package/docs/readmes/features/roles/executor.md +184 -0
- package/docs/readmes/features/roles/learner.md +210 -0
- package/docs/readmes/features/roles/planner.md +182 -0
- package/docs/readmes/features/roles/researcher.md +164 -0
- package/docs/readmes/features/roles/reviewer.md +184 -0
- package/docs/readmes/features/roles/specifier.md +162 -0
- package/docs/readmes/features/roles/verifier.md +215 -0
- package/docs/readmes/features/schemas/README.md +178 -0
- package/docs/readmes/features/skills/README.md +63 -0
- package/docs/readmes/features/skills/brainstorming.md +96 -0
- package/docs/readmes/features/skills/debugging.md +148 -0
- package/docs/readmes/features/skills/design.md +120 -0
- package/docs/readmes/features/skills/prepare-next.md +109 -0
- package/docs/readmes/features/skills/run-audit.md +159 -0
- package/docs/readmes/features/skills/scan-project.md +109 -0
- package/docs/readmes/features/skills/self-audit.md +176 -0
- package/docs/readmes/features/skills/tdd.md +137 -0
- package/docs/readmes/features/skills/using-skills.md +92 -0
- package/docs/readmes/features/skills/verification.md +120 -0
- package/docs/readmes/features/skills/writing-plans.md +104 -0
- package/docs/readmes/features/tooling/README.md +320 -0
- package/docs/readmes/features/workflows/README.md +186 -0
- package/docs/readmes/features/workflows/author.md +181 -0
- package/docs/readmes/features/workflows/clarify.md +154 -0
- package/docs/readmes/features/workflows/design-review.md +171 -0
- package/docs/readmes/features/workflows/design.md +169 -0
- package/docs/readmes/features/workflows/discover.md +162 -0
- package/docs/readmes/features/workflows/execute.md +173 -0
- package/docs/readmes/features/workflows/learn.md +167 -0
- package/docs/readmes/features/workflows/plan-review.md +165 -0
- package/docs/readmes/features/workflows/plan.md +170 -0
- package/docs/readmes/features/workflows/prepare-next.md +167 -0
- package/docs/readmes/features/workflows/review.md +169 -0
- package/docs/readmes/features/workflows/run-audit.md +191 -0
- package/docs/readmes/features/workflows/spec-challenge.md +159 -0
- package/docs/readmes/features/workflows/specify.md +160 -0
- package/docs/readmes/features/workflows/verify.md +177 -0
- package/docs/readmes/packages/README.md +50 -0
- package/docs/readmes/packages/ajv.md +117 -0
- package/docs/readmes/packages/context-mode.md +118 -0
- package/docs/readmes/packages/gray-matter.md +116 -0
- package/docs/readmes/packages/node-test.md +137 -0
- package/docs/readmes/packages/yaml.md +112 -0
- package/docs/reference/configuration-reference.md +159 -0
- package/docs/reference/expertise-index.md +52 -0
- package/docs/reference/git-flow.md +43 -0
- package/docs/reference/hooks.md +87 -0
- package/docs/reference/host-exports.md +50 -0
- package/docs/reference/launch-checklist.md +172 -0
- package/docs/reference/marketplace-listings.md +76 -0
- package/docs/reference/release-process.md +34 -0
- package/docs/reference/roles-reference.md +77 -0
- package/docs/reference/skills.md +33 -0
- package/docs/reference/templates.md +29 -0
- package/docs/reference/tooling-cli.md +94 -0
- package/docs/truth-claims.yaml +222 -0
- package/expertise/PROGRESS.md +63 -0
- package/expertise/README.md +18 -0
- package/expertise/antipatterns/PROGRESS.md +56 -0
- package/expertise/antipatterns/backend/api-design-antipatterns.md +1271 -0
- package/expertise/antipatterns/backend/auth-antipatterns.md +1195 -0
- package/expertise/antipatterns/backend/caching-antipatterns.md +622 -0
- package/expertise/antipatterns/backend/database-antipatterns.md +1038 -0
- package/expertise/antipatterns/backend/index.md +24 -0
- package/expertise/antipatterns/backend/microservices-antipatterns.md +850 -0
- package/expertise/antipatterns/code/architecture-antipatterns.md +919 -0
- package/expertise/antipatterns/code/async-antipatterns.md +622 -0
- package/expertise/antipatterns/code/code-smells.md +1186 -0
- package/expertise/antipatterns/code/dependency-antipatterns.md +1209 -0
- package/expertise/antipatterns/code/error-handling-antipatterns.md +1360 -0
- package/expertise/antipatterns/code/index.md +27 -0
- package/expertise/antipatterns/code/naming-and-abstraction.md +1118 -0
- package/expertise/antipatterns/code/state-management-antipatterns.md +1076 -0
- package/expertise/antipatterns/code/testing-antipatterns.md +1053 -0
- package/expertise/antipatterns/design/accessibility-antipatterns.md +1136 -0
- package/expertise/antipatterns/design/dark-patterns.md +1121 -0
- package/expertise/antipatterns/design/index.md +22 -0
- package/expertise/antipatterns/design/ui-antipatterns.md +1202 -0
- package/expertise/antipatterns/design/ux-antipatterns.md +680 -0
- package/expertise/antipatterns/frontend/css-layout-antipatterns.md +691 -0
- package/expertise/antipatterns/frontend/flutter-antipatterns.md +1827 -0
- package/expertise/antipatterns/frontend/index.md +23 -0
- package/expertise/antipatterns/frontend/mobile-antipatterns.md +573 -0
- package/expertise/antipatterns/frontend/react-antipatterns.md +1128 -0
- package/expertise/antipatterns/frontend/spa-antipatterns.md +1235 -0
- package/expertise/antipatterns/index.md +31 -0
- package/expertise/antipatterns/performance/index.md +20 -0
- package/expertise/antipatterns/performance/performance-antipatterns.md +1013 -0
- package/expertise/antipatterns/performance/premature-optimization.md +623 -0
- package/expertise/antipatterns/performance/scaling-antipatterns.md +785 -0
- package/expertise/antipatterns/process/ai-coding-antipatterns.md +853 -0
- package/expertise/antipatterns/process/code-review-antipatterns.md +656 -0
- package/expertise/antipatterns/process/deployment-antipatterns.md +920 -0
- package/expertise/antipatterns/process/index.md +23 -0
- package/expertise/antipatterns/process/technical-debt-antipatterns.md +647 -0
- package/expertise/antipatterns/security/index.md +20 -0
- package/expertise/antipatterns/security/secrets-antipatterns.md +849 -0
- package/expertise/antipatterns/security/security-theater.md +843 -0
- package/expertise/antipatterns/security/vulnerability-patterns.md +801 -0
- package/expertise/architecture/PROGRESS.md +70 -0
- package/expertise/architecture/data/caching-architecture.md +671 -0
- package/expertise/architecture/data/data-consistency.md +574 -0
- package/expertise/architecture/data/data-modeling.md +536 -0
- package/expertise/architecture/data/event-streams-and-queues.md +634 -0
- package/expertise/architecture/data/index.md +25 -0
- package/expertise/architecture/data/search-architecture.md +663 -0
- package/expertise/architecture/data/sql-vs-nosql.md +708 -0
- package/expertise/architecture/decisions/architecture-decision-records.md +640 -0
- package/expertise/architecture/decisions/build-vs-buy.md +616 -0
- package/expertise/architecture/decisions/index.md +23 -0
- package/expertise/architecture/decisions/monolith-to-microservices.md +790 -0
- package/expertise/architecture/decisions/technology-selection.md +616 -0
- package/expertise/architecture/distributed/cap-theorem-and-tradeoffs.md +800 -0
- package/expertise/architecture/distributed/circuit-breaker-bulkhead.md +741 -0
- package/expertise/architecture/distributed/consensus-and-coordination.md +796 -0
- package/expertise/architecture/distributed/distributed-systems-fundamentals.md +564 -0
- package/expertise/architecture/distributed/idempotency-and-retry.md +796 -0
- package/expertise/architecture/distributed/index.md +25 -0
- package/expertise/architecture/distributed/saga-pattern.md +797 -0
- package/expertise/architecture/foundations/architectural-thinking.md +460 -0
- package/expertise/architecture/foundations/coupling-and-cohesion.md +770 -0
- package/expertise/architecture/foundations/design-principles-solid.md +649 -0
- package/expertise/architecture/foundations/domain-driven-design.md +719 -0
- package/expertise/architecture/foundations/index.md +25 -0
- package/expertise/architecture/foundations/separation-of-concerns.md +472 -0
- package/expertise/architecture/foundations/twelve-factor-app.md +797 -0
- package/expertise/architecture/index.md +34 -0
- package/expertise/architecture/integration/api-design-graphql.md +638 -0
- package/expertise/architecture/integration/api-design-grpc.md +804 -0
- package/expertise/architecture/integration/api-design-rest.md +892 -0
- package/expertise/architecture/integration/index.md +25 -0
- package/expertise/architecture/integration/third-party-integration.md +795 -0
- package/expertise/architecture/integration/webhooks-and-callbacks.md +1152 -0
- package/expertise/architecture/integration/websockets-realtime.md +791 -0
- package/expertise/architecture/mobile-architecture/index.md +22 -0
- package/expertise/architecture/mobile-architecture/mobile-app-architecture.md +780 -0
- package/expertise/architecture/mobile-architecture/mobile-backend-for-frontend.md +670 -0
- package/expertise/architecture/mobile-architecture/offline-first.md +719 -0
- package/expertise/architecture/mobile-architecture/push-and-sync.md +782 -0
- package/expertise/architecture/patterns/cqrs-event-sourcing.md +717 -0
- package/expertise/architecture/patterns/event-driven.md +797 -0
- package/expertise/architecture/patterns/hexagonal-clean-architecture.md +870 -0
- package/expertise/architecture/patterns/index.md +27 -0
- package/expertise/architecture/patterns/layered-architecture.md +736 -0
- package/expertise/architecture/patterns/microservices.md +753 -0
- package/expertise/architecture/patterns/modular-monolith.md +692 -0
- package/expertise/architecture/patterns/monolith.md +626 -0
- package/expertise/architecture/patterns/plugin-architecture.md +735 -0
- package/expertise/architecture/patterns/serverless.md +780 -0
- package/expertise/architecture/scaling/database-scaling.md +615 -0
- package/expertise/architecture/scaling/feature-flags-and-rollouts.md +757 -0
- package/expertise/architecture/scaling/horizontal-vs-vertical.md +606 -0
- package/expertise/architecture/scaling/index.md +24 -0
- package/expertise/architecture/scaling/multi-tenancy.md +800 -0
- package/expertise/architecture/scaling/stateless-design.md +787 -0
- package/expertise/backend/embedded-firmware.md +625 -0
- package/expertise/backend/go.md +853 -0
- package/expertise/backend/index.md +24 -0
- package/expertise/backend/java-spring.md +448 -0
- package/expertise/backend/node-typescript.md +625 -0
- package/expertise/backend/python-fastapi.md +724 -0
- package/expertise/backend/rust.md +458 -0
- package/expertise/backend/solidity.md +711 -0
- package/expertise/composition-map.yaml +443 -0
- package/expertise/content/foundations/content-modeling.md +395 -0
- package/expertise/content/foundations/editorial-standards.md +449 -0
- package/expertise/content/foundations/index.md +24 -0
- package/expertise/content/foundations/microcopy.md +455 -0
- package/expertise/content/foundations/terminology-governance.md +509 -0
- package/expertise/content/index.md +34 -0
- package/expertise/content/patterns/accessibility-copy.md +518 -0
- package/expertise/content/patterns/index.md +24 -0
- package/expertise/content/patterns/notification-content.md +433 -0
- package/expertise/content/patterns/sample-content.md +486 -0
- package/expertise/content/patterns/state-copy.md +439 -0
- package/expertise/design/PROGRESS.md +58 -0
- package/expertise/design/disciplines/dark-mode-theming.md +577 -0
- package/expertise/design/disciplines/design-systems.md +595 -0
- package/expertise/design/disciplines/index.md +25 -0
- package/expertise/design/disciplines/information-architecture.md +800 -0
- package/expertise/design/disciplines/interaction-design.md +788 -0
- package/expertise/design/disciplines/responsive-design.md +552 -0
- package/expertise/design/disciplines/usability-testing.md +516 -0
- package/expertise/design/disciplines/user-research.md +792 -0
- package/expertise/design/foundations/accessibility-design.md +796 -0
- package/expertise/design/foundations/color-theory.md +797 -0
- package/expertise/design/foundations/iconography.md +795 -0
- package/expertise/design/foundations/index.md +26 -0
- package/expertise/design/foundations/motion-and-animation.md +653 -0
- package/expertise/design/foundations/rtl-design.md +585 -0
- package/expertise/design/foundations/spacing-and-layout.md +607 -0
- package/expertise/design/foundations/typography.md +800 -0
- package/expertise/design/foundations/visual-hierarchy.md +761 -0
- package/expertise/design/index.md +32 -0
- package/expertise/design/patterns/authentication-flows.md +474 -0
- package/expertise/design/patterns/content-consumption.md +789 -0
- package/expertise/design/patterns/data-display.md +618 -0
- package/expertise/design/patterns/e-commerce.md +1494 -0
- package/expertise/design/patterns/feedback-and-states.md +642 -0
- package/expertise/design/patterns/forms-and-input.md +819 -0
- package/expertise/design/patterns/gamification.md +801 -0
- package/expertise/design/patterns/index.md +31 -0
- package/expertise/design/patterns/microinteractions.md +449 -0
- package/expertise/design/patterns/navigation.md +800 -0
- package/expertise/design/patterns/notifications.md +705 -0
- package/expertise/design/patterns/onboarding.md +700 -0
- package/expertise/design/patterns/search-and-filter.md +601 -0
- package/expertise/design/patterns/settings-and-preferences.md +768 -0
- package/expertise/design/patterns/social-and-community.md +748 -0
- package/expertise/design/platforms/desktop-native.md +612 -0
- package/expertise/design/platforms/index.md +25 -0
- package/expertise/design/platforms/mobile-android.md +825 -0
- package/expertise/design/platforms/mobile-cross-platform.md +983 -0
- package/expertise/design/platforms/mobile-ios.md +699 -0
- package/expertise/design/platforms/tablet.md +794 -0
- package/expertise/design/platforms/web-dashboard.md +790 -0
- package/expertise/design/platforms/web-responsive.md +550 -0
- package/expertise/design/psychology/behavioral-nudges.md +449 -0
- package/expertise/design/psychology/cognitive-load.md +1191 -0
- package/expertise/design/psychology/error-psychology.md +778 -0
- package/expertise/design/psychology/index.md +22 -0
- package/expertise/design/psychology/persuasive-design.md +736 -0
- package/expertise/design/psychology/user-mental-models.md +623 -0
- package/expertise/design/tooling/open-pencil.md +266 -0
- package/expertise/frontend/angular.md +1073 -0
- package/expertise/frontend/desktop-electron.md +546 -0
- package/expertise/frontend/flutter.md +782 -0
- package/expertise/frontend/index.md +27 -0
- package/expertise/frontend/native-android.md +409 -0
- package/expertise/frontend/native-ios.md +490 -0
- package/expertise/frontend/react-native.md +1160 -0
- package/expertise/frontend/react.md +808 -0
- package/expertise/frontend/vue.md +1089 -0
- package/expertise/humanize/domain-rules-code.md +79 -0
- package/expertise/humanize/domain-rules-content.md +67 -0
- package/expertise/humanize/domain-rules-technical-docs.md +56 -0
- package/expertise/humanize/index.md +35 -0
- package/expertise/humanize/self-audit-checklist.md +87 -0
- package/expertise/humanize/sentence-patterns.md +218 -0
- package/expertise/humanize/vocabulary-blacklist.md +105 -0
- package/expertise/i18n/PROGRESS.md +65 -0
- package/expertise/i18n/advanced/accessibility-and-i18n.md +28 -0
- package/expertise/i18n/advanced/bidirectional-text-algorithm.md +38 -0
- package/expertise/i18n/advanced/complex-scripts.md +30 -0
- package/expertise/i18n/advanced/performance-and-i18n.md +27 -0
- package/expertise/i18n/advanced/testing-i18n.md +28 -0
- package/expertise/i18n/content/content-adaptation.md +23 -0
- package/expertise/i18n/content/locale-specific-formatting.md +23 -0
- package/expertise/i18n/content/machine-translation-integration.md +28 -0
- package/expertise/i18n/content/translation-management.md +29 -0
- package/expertise/i18n/foundations/date-time-calendars.md +67 -0
- package/expertise/i18n/foundations/i18n-architecture.md +272 -0
- package/expertise/i18n/foundations/locale-and-language-tags.md +79 -0
- package/expertise/i18n/foundations/numbers-currency-units.md +61 -0
- package/expertise/i18n/foundations/pluralization-and-gender.md +109 -0
- package/expertise/i18n/foundations/string-externalization.md +236 -0
- package/expertise/i18n/foundations/text-direction-bidi.md +241 -0
- package/expertise/i18n/foundations/unicode-and-encoding.md +86 -0
- package/expertise/i18n/index.md +38 -0
- package/expertise/i18n/platform/backend-i18n.md +31 -0
- package/expertise/i18n/platform/flutter-i18n.md +148 -0
- package/expertise/i18n/platform/native-android-i18n.md +36 -0
- package/expertise/i18n/platform/native-ios-i18n.md +36 -0
- package/expertise/i18n/platform/react-i18n.md +103 -0
- package/expertise/i18n/platform/web-css-i18n.md +81 -0
- package/expertise/i18n/rtl/arabic-specific.md +175 -0
- package/expertise/i18n/rtl/hebrew-specific.md +149 -0
- package/expertise/i18n/rtl/rtl-animations-and-transitions.md +111 -0
- package/expertise/i18n/rtl/rtl-forms-and-input.md +161 -0
- package/expertise/i18n/rtl/rtl-fundamentals.md +211 -0
- package/expertise/i18n/rtl/rtl-icons-and-images.md +181 -0
- package/expertise/i18n/rtl/rtl-layout-mirroring.md +252 -0
- package/expertise/i18n/rtl/rtl-navigation-and-gestures.md +107 -0
- package/expertise/i18n/rtl/rtl-testing-and-qa.md +147 -0
- package/expertise/i18n/rtl/rtl-typography.md +160 -0
- package/expertise/index.md +113 -0
- package/expertise/index.yaml +216 -0
- package/expertise/infrastructure/cloud-aws.md +597 -0
- package/expertise/infrastructure/cloud-gcp.md +599 -0
- package/expertise/infrastructure/cybersecurity.md +816 -0
- package/expertise/infrastructure/database-mongodb.md +447 -0
- package/expertise/infrastructure/database-postgres.md +400 -0
- package/expertise/infrastructure/devops-cicd.md +787 -0
- package/expertise/infrastructure/index.md +27 -0
- package/expertise/performance/PROGRESS.md +50 -0
- package/expertise/performance/backend/api-latency.md +1204 -0
- package/expertise/performance/backend/background-jobs.md +506 -0
- package/expertise/performance/backend/connection-pooling.md +1209 -0
- package/expertise/performance/backend/database-query-optimization.md +515 -0
- package/expertise/performance/backend/index.md +23 -0
- package/expertise/performance/backend/rate-limiting-and-throttling.md +971 -0
- package/expertise/performance/foundations/algorithmic-complexity.md +954 -0
- package/expertise/performance/foundations/caching-strategies.md +489 -0
- package/expertise/performance/foundations/concurrency-and-parallelism.md +847 -0
- package/expertise/performance/foundations/index.md +24 -0
- package/expertise/performance/foundations/measuring-and-profiling.md +440 -0
- package/expertise/performance/foundations/memory-management.md +964 -0
- package/expertise/performance/foundations/performance-budgets.md +1314 -0
- package/expertise/performance/index.md +31 -0
- package/expertise/performance/infrastructure/auto-scaling.md +1059 -0
- package/expertise/performance/infrastructure/cdn-and-edge.md +1081 -0
- package/expertise/performance/infrastructure/index.md +22 -0
- package/expertise/performance/infrastructure/load-balancing.md +1081 -0
- package/expertise/performance/infrastructure/observability.md +1079 -0
- package/expertise/performance/mobile/index.md +23 -0
- package/expertise/performance/mobile/mobile-animations.md +544 -0
- package/expertise/performance/mobile/mobile-memory-battery.md +416 -0
- package/expertise/performance/mobile/mobile-network.md +452 -0
- package/expertise/performance/mobile/mobile-rendering.md +599 -0
- package/expertise/performance/mobile/mobile-startup-time.md +505 -0
- package/expertise/performance/platform-specific/flutter-performance.md +647 -0
- package/expertise/performance/platform-specific/index.md +22 -0
- package/expertise/performance/platform-specific/node-performance.md +1307 -0
- package/expertise/performance/platform-specific/postgres-performance.md +1366 -0
- package/expertise/performance/platform-specific/react-performance.md +1403 -0
- package/expertise/performance/web/bundle-optimization.md +1239 -0
- package/expertise/performance/web/image-and-media.md +636 -0
- package/expertise/performance/web/index.md +24 -0
- package/expertise/performance/web/network-optimization.md +1133 -0
- package/expertise/performance/web/rendering-performance.md +1098 -0
- package/expertise/performance/web/ssr-and-hydration.md +918 -0
- package/expertise/performance/web/web-vitals.md +1374 -0
- package/expertise/quality/accessibility.md +985 -0
- package/expertise/quality/evidence-based-verification.md +499 -0
- package/expertise/quality/index.md +24 -0
- package/expertise/quality/ml-model-audit.md +614 -0
- package/expertise/quality/performance.md +600 -0
- package/expertise/quality/testing-api.md +891 -0
- package/expertise/quality/testing-mobile.md +496 -0
- package/expertise/quality/testing-web.md +849 -0
- package/expertise/security/PROGRESS.md +54 -0
- package/expertise/security/agentic-identity.md +540 -0
- package/expertise/security/compliance-frameworks.md +601 -0
- package/expertise/security/data/data-encryption.md +364 -0
- package/expertise/security/data/data-privacy-gdpr.md +692 -0
- package/expertise/security/data/database-security.md +1171 -0
- package/expertise/security/data/index.md +22 -0
- package/expertise/security/data/pii-handling.md +531 -0
- package/expertise/security/foundations/authentication.md +1041 -0
- package/expertise/security/foundations/authorization.md +603 -0
- package/expertise/security/foundations/cryptography.md +1001 -0
- package/expertise/security/foundations/index.md +25 -0
- package/expertise/security/foundations/owasp-top-10.md +1354 -0
- package/expertise/security/foundations/secrets-management.md +1217 -0
- package/expertise/security/foundations/secure-sdlc.md +700 -0
- package/expertise/security/foundations/supply-chain-security.md +698 -0
- package/expertise/security/index.md +31 -0
- package/expertise/security/infrastructure/cloud-security-aws.md +1296 -0
- package/expertise/security/infrastructure/cloud-security-gcp.md +1376 -0
- package/expertise/security/infrastructure/container-security.md +721 -0
- package/expertise/security/infrastructure/incident-response.md +1295 -0
- package/expertise/security/infrastructure/index.md +24 -0
- package/expertise/security/infrastructure/logging-and-monitoring.md +1618 -0
- package/expertise/security/infrastructure/network-security.md +1337 -0
- package/expertise/security/mobile/index.md +23 -0
- package/expertise/security/mobile/mobile-android-security.md +1218 -0
- package/expertise/security/mobile/mobile-binary-protection.md +1229 -0
- package/expertise/security/mobile/mobile-data-storage.md +1265 -0
- package/expertise/security/mobile/mobile-ios-security.md +1401 -0
- package/expertise/security/mobile/mobile-network-security.md +1520 -0
- package/expertise/security/smart-contract-security.md +594 -0
- package/expertise/security/testing/index.md +22 -0
- package/expertise/security/testing/penetration-testing.md +1258 -0
- package/expertise/security/testing/security-code-review.md +1765 -0
- package/expertise/security/testing/threat-modeling.md +1074 -0
- package/expertise/security/testing/vulnerability-scanning.md +1062 -0
- package/expertise/security/web/api-security.md +586 -0
- package/expertise/security/web/cors-and-headers.md +433 -0
- package/expertise/security/web/csrf.md +562 -0
- package/expertise/security/web/file-upload.md +1477 -0
- package/expertise/security/web/index.md +25 -0
- package/expertise/security/web/injection.md +1375 -0
- package/expertise/security/web/session-management.md +1101 -0
- package/expertise/security/web/xss.md +1158 -0
- package/exports/README.md +17 -0
- package/exports/hosts/claude/.claude/agents/clarifier.md +42 -0
- package/exports/hosts/claude/.claude/agents/content-author.md +63 -0
- package/exports/hosts/claude/.claude/agents/designer.md +55 -0
- package/exports/hosts/claude/.claude/agents/executor.md +55 -0
- package/exports/hosts/claude/.claude/agents/learner.md +51 -0
- package/exports/hosts/claude/.claude/agents/planner.md +53 -0
- package/exports/hosts/claude/.claude/agents/researcher.md +43 -0
- package/exports/hosts/claude/.claude/agents/reviewer.md +54 -0
- package/exports/hosts/claude/.claude/agents/specifier.md +47 -0
- package/exports/hosts/claude/.claude/agents/verifier.md +71 -0
- package/exports/hosts/claude/.claude/commands/author.md +42 -0
- package/exports/hosts/claude/.claude/commands/clarify.md +38 -0
- package/exports/hosts/claude/.claude/commands/design-review.md +46 -0
- package/exports/hosts/claude/.claude/commands/design.md +44 -0
- package/exports/hosts/claude/.claude/commands/discover.md +37 -0
- package/exports/hosts/claude/.claude/commands/execute.md +48 -0
- package/exports/hosts/claude/.claude/commands/learn.md +38 -0
- package/exports/hosts/claude/.claude/commands/plan-review.md +42 -0
- package/exports/hosts/claude/.claude/commands/plan.md +39 -0
- package/exports/hosts/claude/.claude/commands/prepare-next.md +37 -0
- package/exports/hosts/claude/.claude/commands/review.md +40 -0
- package/exports/hosts/claude/.claude/commands/run-audit.md +41 -0
- package/exports/hosts/claude/.claude/commands/spec-challenge.md +41 -0
- package/exports/hosts/claude/.claude/commands/specify.md +38 -0
- package/exports/hosts/claude/.claude/commands/verify.md +37 -0
- package/exports/hosts/claude/.claude/settings.json +34 -0
- package/exports/hosts/claude/CLAUDE.md +19 -0
- package/exports/hosts/claude/export.manifest.json +38 -0
- package/exports/hosts/claude/host-package.json +67 -0
- package/exports/hosts/codex/AGENTS.md +19 -0
- package/exports/hosts/codex/export.manifest.json +38 -0
- package/exports/hosts/codex/host-package.json +41 -0
- package/exports/hosts/cursor/.cursor/hooks.json +16 -0
- package/exports/hosts/cursor/.cursor/rules/wazir-core.mdc +19 -0
- package/exports/hosts/cursor/export.manifest.json +38 -0
- package/exports/hosts/cursor/host-package.json +42 -0
- package/exports/hosts/gemini/GEMINI.md +19 -0
- package/exports/hosts/gemini/export.manifest.json +38 -0
- package/exports/hosts/gemini/host-package.json +41 -0
- package/hooks/README.md +18 -0
- package/hooks/definitions/loop_cap_guard.yaml +21 -0
- package/hooks/definitions/post_tool_capture.yaml +24 -0
- package/hooks/definitions/pre_compact_summary.yaml +19 -0
- package/hooks/definitions/pre_tool_capture_route.yaml +19 -0
- package/hooks/definitions/protected_path_write_guard.yaml +19 -0
- package/hooks/definitions/session_start.yaml +19 -0
- package/hooks/definitions/stop_handoff_harvest.yaml +20 -0
- package/hooks/loop-cap-guard +17 -0
- package/hooks/post-tool-lint +36 -0
- package/hooks/protected-path-write-guard +17 -0
- package/hooks/session-start +41 -0
- package/llms-full.txt +2355 -0
- package/llms.txt +43 -0
- package/package.json +79 -0
- package/roles/README.md +20 -0
- package/roles/clarifier.md +42 -0
- package/roles/content-author.md +63 -0
- package/roles/designer.md +55 -0
- package/roles/executor.md +55 -0
- package/roles/learner.md +51 -0
- package/roles/planner.md +53 -0
- package/roles/researcher.md +43 -0
- package/roles/reviewer.md +54 -0
- package/roles/specifier.md +47 -0
- package/roles/verifier.md +71 -0
- package/schemas/README.md +24 -0
- package/schemas/accepted-learning.schema.json +20 -0
- package/schemas/author-artifact.schema.json +156 -0
- package/schemas/clarification.schema.json +19 -0
- package/schemas/design-artifact.schema.json +80 -0
- package/schemas/docs-claim.schema.json +18 -0
- package/schemas/export-manifest.schema.json +20 -0
- package/schemas/hook.schema.json +67 -0
- package/schemas/host-export-package.schema.json +18 -0
- package/schemas/implementation-plan.schema.json +19 -0
- package/schemas/proposed-learning.schema.json +19 -0
- package/schemas/research.schema.json +18 -0
- package/schemas/review.schema.json +29 -0
- package/schemas/run-manifest.schema.json +18 -0
- package/schemas/spec-challenge.schema.json +18 -0
- package/schemas/spec.schema.json +20 -0
- package/schemas/usage.schema.json +102 -0
- package/schemas/verification-proof.schema.json +29 -0
- package/schemas/wazir-manifest.schema.json +173 -0
- package/skills/README.md +40 -0
- package/skills/brainstorming/SKILL.md +77 -0
- package/skills/debugging/SKILL.md +50 -0
- package/skills/design/SKILL.md +61 -0
- package/skills/dispatching-parallel-agents/SKILL.md +128 -0
- package/skills/executing-plans/SKILL.md +70 -0
- package/skills/finishing-a-development-branch/SKILL.md +169 -0
- package/skills/humanize/SKILL.md +123 -0
- package/skills/init-pipeline/SKILL.md +124 -0
- package/skills/prepare-next/SKILL.md +20 -0
- package/skills/receiving-code-review/SKILL.md +123 -0
- package/skills/requesting-code-review/SKILL.md +105 -0
- package/skills/requesting-code-review/code-reviewer.md +108 -0
- package/skills/run-audit/SKILL.md +197 -0
- package/skills/scan-project/SKILL.md +41 -0
- package/skills/self-audit/SKILL.md +153 -0
- package/skills/subagent-driven-development/SKILL.md +154 -0
- package/skills/subagent-driven-development/code-quality-reviewer-prompt.md +26 -0
- package/skills/subagent-driven-development/implementer-prompt.md +102 -0
- package/skills/subagent-driven-development/spec-reviewer-prompt.md +61 -0
- package/skills/tdd/SKILL.md +23 -0
- package/skills/using-git-worktrees/SKILL.md +163 -0
- package/skills/using-skills/SKILL.md +95 -0
- package/skills/verification/SKILL.md +22 -0
- package/skills/wazir/SKILL.md +463 -0
- package/skills/writing-plans/SKILL.md +30 -0
- package/skills/writing-skills/SKILL.md +157 -0
- package/skills/writing-skills/anthropic-best-practices.md +122 -0
- package/skills/writing-skills/persuasion-principles.md +50 -0
- package/templates/README.md +20 -0
- package/templates/artifacts/README.md +10 -0
- package/templates/artifacts/accepted-learning.md +19 -0
- package/templates/artifacts/accepted-learning.template.json +12 -0
- package/templates/artifacts/author.md +74 -0
- package/templates/artifacts/author.template.json +19 -0
- package/templates/artifacts/clarification.md +21 -0
- package/templates/artifacts/clarification.template.json +12 -0
- package/templates/artifacts/execute-notes.md +19 -0
- package/templates/artifacts/implementation-plan.md +21 -0
- package/templates/artifacts/implementation-plan.template.json +11 -0
- package/templates/artifacts/learning-proposal.md +19 -0
- package/templates/artifacts/next-run-handoff.md +21 -0
- package/templates/artifacts/plan-review.md +19 -0
- package/templates/artifacts/proposed-learning.template.json +12 -0
- package/templates/artifacts/research.md +21 -0
- package/templates/artifacts/research.template.json +12 -0
- package/templates/artifacts/review-findings.md +19 -0
- package/templates/artifacts/review.template.json +11 -0
- package/templates/artifacts/run-manifest.template.json +8 -0
- package/templates/artifacts/spec-challenge.md +19 -0
- package/templates/artifacts/spec-challenge.template.json +11 -0
- package/templates/artifacts/spec.md +21 -0
- package/templates/artifacts/spec.template.json +12 -0
- package/templates/artifacts/verification-proof.md +19 -0
- package/templates/artifacts/verification-proof.template.json +11 -0
- package/templates/examples/accepted-learning.example.json +14 -0
- package/templates/examples/author.example.json +152 -0
- package/templates/examples/clarification.example.json +15 -0
- package/templates/examples/docs-claim.example.json +8 -0
- package/templates/examples/export-manifest.example.json +7 -0
- package/templates/examples/host-export-package.example.json +11 -0
- package/templates/examples/implementation-plan.example.json +17 -0
- package/templates/examples/proposed-learning.example.json +13 -0
- package/templates/examples/research.example.json +15 -0
- package/templates/examples/research.example.md +6 -0
- package/templates/examples/review.example.json +17 -0
- package/templates/examples/run-manifest.example.json +9 -0
- package/templates/examples/spec-challenge.example.json +14 -0
- package/templates/examples/spec.example.json +21 -0
- package/templates/examples/verification-proof.example.json +21 -0
- package/templates/examples/wazir-manifest.example.yaml +65 -0
- package/templates/task-definition-schema.md +99 -0
- package/tooling/README.md +20 -0
- package/tooling/src/adapters/context-mode.js +50 -0
- package/tooling/src/capture/command.js +376 -0
- package/tooling/src/capture/store.js +99 -0
- package/tooling/src/capture/usage.js +270 -0
- package/tooling/src/checks/branches.js +50 -0
- package/tooling/src/checks/brand-truth.js +110 -0
- package/tooling/src/checks/changelog.js +231 -0
- package/tooling/src/checks/command-registry.js +36 -0
- package/tooling/src/checks/commits.js +102 -0
- package/tooling/src/checks/docs-drift.js +103 -0
- package/tooling/src/checks/docs-truth.js +201 -0
- package/tooling/src/checks/runtime-surface.js +156 -0
- package/tooling/src/cli.js +116 -0
- package/tooling/src/command-options.js +56 -0
- package/tooling/src/commands/validate.js +320 -0
- package/tooling/src/doctor/command.js +91 -0
- package/tooling/src/export/command.js +77 -0
- package/tooling/src/export/compiler.js +498 -0
- package/tooling/src/guards/loop-cap-guard.js +52 -0
- package/tooling/src/guards/protected-path-write-guard.js +67 -0
- package/tooling/src/index/command.js +152 -0
- package/tooling/src/index/storage.js +1061 -0
- package/tooling/src/index/summarizers.js +261 -0
- package/tooling/src/loaders.js +18 -0
- package/tooling/src/project-root.js +22 -0
- package/tooling/src/recall/command.js +225 -0
- package/tooling/src/schema-validator.js +30 -0
- package/tooling/src/state-root.js +40 -0
- package/tooling/src/status/command.js +71 -0
- package/wazir.manifest.yaml +135 -0
- package/workflows/README.md +19 -0
- package/workflows/author.md +42 -0
- package/workflows/clarify.md +38 -0
- package/workflows/design-review.md +46 -0
- package/workflows/design.md +44 -0
- package/workflows/discover.md +37 -0
- package/workflows/execute.md +48 -0
- package/workflows/learn.md +38 -0
- package/workflows/plan-review.md +42 -0
- package/workflows/plan.md +39 -0
- package/workflows/prepare-next.md +37 -0
- package/workflows/review.md +40 -0
- package/workflows/run-audit.md +41 -0
- package/workflows/spec-challenge.md +41 -0
- package/workflows/specify.md +38 -0
- package/workflows/verify.md +37 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"host": "codex",
|
|
3
|
+
"source_hashes": {
|
|
4
|
+
"wazir.manifest.yaml": "2a57e262d071283504311ead7daaa8444c0c1895243f048036f79c501dfa4356",
|
|
5
|
+
"roles/clarifier.md": "1135b98d548937b5009bd77d292ceee29f806acc9cae245e5e18ccb8be05173e",
|
|
6
|
+
"roles/content-author.md": "cc20b80bd70ab68b3239a9cf56bf1ffc2c06843d38afc6b190844b35a1d73c3e",
|
|
7
|
+
"roles/designer.md": "8a0a9846965aa03ac00d0d71cde58f529aa8fb79908a481cb8ca3ff09d5af8df",
|
|
8
|
+
"roles/executor.md": "0de6cff7284d0bdf5fd3995e6cd5f66ad9479853829e4586fa6f793a4cb189c7",
|
|
9
|
+
"roles/learner.md": "4a7e4635c0fbd2def794f017ca6ef5d47b6ea8dfaa5e85eeeecece61256f21a1",
|
|
10
|
+
"roles/planner.md": "a8714eceaeb73ee1f0bb22030a00243881326b77d88b34b0bdd01fcba567aa69",
|
|
11
|
+
"roles/researcher.md": "1f521aecbb65680dd7c9747483acf8c34febb2159300dd4a39dc11fa857a3782",
|
|
12
|
+
"roles/reviewer.md": "a5d3ca44b6be2c432df02d8ce7889bdadf954582f5559ae7f4e24b05806a766b",
|
|
13
|
+
"roles/specifier.md": "9eb2dbe5319a87b2332c7d13601dcb70ca1a655adf947f473687e268dcd92fea",
|
|
14
|
+
"roles/verifier.md": "ce8e200439190643a02ffe31f72e4b4ec319ccff9f0841cc3138eb517af5fed3",
|
|
15
|
+
"workflows/author.md": "81844443743540b21dd990fa93e59d8898216e498acde920e7007f8b81cef107",
|
|
16
|
+
"workflows/clarify.md": "06354f7624ba2819fe10678eee05676bc737473194f444f7f7a9b0be1a9f036f",
|
|
17
|
+
"workflows/design-review.md": "0e48be715e11c719dee6d207970544eaaa86d755c9813b358e2b6d79afaeff90",
|
|
18
|
+
"workflows/design.md": "c68e78d3d078f9bba7a7b58b2c606ee1a2dd7b15f16567abab31adf3925e261e",
|
|
19
|
+
"workflows/discover.md": "af21ff43a57cce34ce37fbc84e82961d24968a2b95692d081b1697011f559ad8",
|
|
20
|
+
"workflows/execute.md": "49f4b4b22e50aac17c501d4b2d81b51acb82a7938f4a89f076552686cff7795d",
|
|
21
|
+
"workflows/learn.md": "9b1955a00eb0ea47af08a3639c3cbc2f15b8eab6cc02127e829bc8c83b0a52b5",
|
|
22
|
+
"workflows/plan-review.md": "fe6193122f7026dd92ced8ee1ae07279520d34b22a242260419cbb1d8bf7f99e",
|
|
23
|
+
"workflows/plan.md": "6e3a376b85c30e1887b5f667d28b51635a4332e05f892e49a17ae710c6ef247b",
|
|
24
|
+
"workflows/prepare-next.md": "8769b692be6d9fddf3b3f36fee6888159fb9fb2a5c31360cdbc9402e0f43fc27",
|
|
25
|
+
"workflows/review.md": "aaeaf7ab4515e325084a77e75e18b325295f8d16799f71f8b7cd0ec67c52c0d6",
|
|
26
|
+
"workflows/run-audit.md": "e582f767967dc3fb6aaeb938ad1672e7bed18bf044055ce8c45c2114251b787a",
|
|
27
|
+
"workflows/spec-challenge.md": "69c4114579a210bfe1333e92c382c771a6507ce71c4aecdff40f50c1818e06e2",
|
|
28
|
+
"workflows/specify.md": "477f7b651112383ea681d31d1fcecba7f3107946829f5660afbce9d97b7af4bd",
|
|
29
|
+
"workflows/verify.md": "3a568f1b32f6ece7a3d1382b0c75700337016cbee5d24ad8229a57339dc0ee98",
|
|
30
|
+
"hooks/definitions/loop_cap_guard.yaml": "143ecda8f47dd299182dfe9cea2fb3f15a82a8d1f179b100a9e539d83f639b57",
|
|
31
|
+
"hooks/definitions/post_tool_capture.yaml": "a773cd6e18972dee8eef3b7cb06fd1d319a71de4588897cebfbe643f6781a3b2",
|
|
32
|
+
"hooks/definitions/pre_compact_summary.yaml": "daa0175d79f3e0127c5ce86a7a2f8df0be3f58b5c94fe749da715a17c7b2d04e",
|
|
33
|
+
"hooks/definitions/pre_tool_capture_route.yaml": "3c2663380ff3cd09f09de5b96bcf6123266fa74d8a03dfb2d6fbe40a43fb13cf",
|
|
34
|
+
"hooks/definitions/protected_path_write_guard.yaml": "6683d41778b823e2a4e606065597569aa04363f091e135e165de9732f1fc2171",
|
|
35
|
+
"hooks/definitions/session_start.yaml": "9383fcf1f8304c87e57726478a461706c0fc73dc62bcc4d8661f2eeffa43a82d",
|
|
36
|
+
"hooks/definitions/stop_handoff_harvest.yaml": "67a3c0a8bb7cb66b88e77dc79e748082e964d278c47935662c453922a846482b"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"host": "codex",
|
|
3
|
+
"sources": [
|
|
4
|
+
"wazir.manifest.yaml",
|
|
5
|
+
"roles/clarifier.md",
|
|
6
|
+
"roles/content-author.md",
|
|
7
|
+
"roles/designer.md",
|
|
8
|
+
"roles/executor.md",
|
|
9
|
+
"roles/learner.md",
|
|
10
|
+
"roles/planner.md",
|
|
11
|
+
"roles/researcher.md",
|
|
12
|
+
"roles/reviewer.md",
|
|
13
|
+
"roles/specifier.md",
|
|
14
|
+
"roles/verifier.md",
|
|
15
|
+
"workflows/author.md",
|
|
16
|
+
"workflows/clarify.md",
|
|
17
|
+
"workflows/design-review.md",
|
|
18
|
+
"workflows/design.md",
|
|
19
|
+
"workflows/discover.md",
|
|
20
|
+
"workflows/execute.md",
|
|
21
|
+
"workflows/learn.md",
|
|
22
|
+
"workflows/plan-review.md",
|
|
23
|
+
"workflows/plan.md",
|
|
24
|
+
"workflows/prepare-next.md",
|
|
25
|
+
"workflows/review.md",
|
|
26
|
+
"workflows/run-audit.md",
|
|
27
|
+
"workflows/spec-challenge.md",
|
|
28
|
+
"workflows/specify.md",
|
|
29
|
+
"workflows/verify.md",
|
|
30
|
+
"hooks/definitions/loop_cap_guard.yaml",
|
|
31
|
+
"hooks/definitions/post_tool_capture.yaml",
|
|
32
|
+
"hooks/definitions/pre_compact_summary.yaml",
|
|
33
|
+
"hooks/definitions/pre_tool_capture_route.yaml",
|
|
34
|
+
"hooks/definitions/protected_path_write_guard.yaml",
|
|
35
|
+
"hooks/definitions/session_start.yaml",
|
|
36
|
+
"hooks/definitions/stop_handoff_harvest.yaml"
|
|
37
|
+
],
|
|
38
|
+
"files": [
|
|
39
|
+
"AGENTS.md"
|
|
40
|
+
]
|
|
41
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hooks": [
|
|
3
|
+
{
|
|
4
|
+
"name": "protected-path-write-guard",
|
|
5
|
+
"command": "./hooks/protected-path-write-guard"
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
"name": "loop-cap-guard",
|
|
9
|
+
"command": "./hooks/loop-cap-guard"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"name": "session-start",
|
|
13
|
+
"command": "./hooks/session-start"
|
|
14
|
+
}
|
|
15
|
+
]
|
|
16
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Wazir for Cursor
|
|
2
|
+
|
|
3
|
+
This host package is generated from the canonical Wazir sources.
|
|
4
|
+
|
|
5
|
+
## Canonical facts
|
|
6
|
+
|
|
7
|
+
- project: Wazir
|
|
8
|
+
- hosts: claude, codex, gemini, cursor
|
|
9
|
+
- phases: clarify, discover, specify, spec_challenge, author, design, design_review, plan, plan_review, execute, verify, review, learn, prepare_next
|
|
10
|
+
- roles: clarifier, researcher, specifier, content-author, designer, planner, executor, verifier, reviewer, learner
|
|
11
|
+
- protected paths: input, roles, workflows, schemas, exports/hosts
|
|
12
|
+
- state root default: ~/.wazir/projects/{project_slug}
|
|
13
|
+
|
|
14
|
+
## Source of truth
|
|
15
|
+
|
|
16
|
+
- `wazir.manifest.yaml`
|
|
17
|
+
- `roles/*.md`
|
|
18
|
+
- `workflows/*.md`
|
|
19
|
+
- `hooks/definitions/*.yaml`
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"host": "cursor",
|
|
3
|
+
"source_hashes": {
|
|
4
|
+
"wazir.manifest.yaml": "2a57e262d071283504311ead7daaa8444c0c1895243f048036f79c501dfa4356",
|
|
5
|
+
"roles/clarifier.md": "1135b98d548937b5009bd77d292ceee29f806acc9cae245e5e18ccb8be05173e",
|
|
6
|
+
"roles/content-author.md": "cc20b80bd70ab68b3239a9cf56bf1ffc2c06843d38afc6b190844b35a1d73c3e",
|
|
7
|
+
"roles/designer.md": "8a0a9846965aa03ac00d0d71cde58f529aa8fb79908a481cb8ca3ff09d5af8df",
|
|
8
|
+
"roles/executor.md": "0de6cff7284d0bdf5fd3995e6cd5f66ad9479853829e4586fa6f793a4cb189c7",
|
|
9
|
+
"roles/learner.md": "4a7e4635c0fbd2def794f017ca6ef5d47b6ea8dfaa5e85eeeecece61256f21a1",
|
|
10
|
+
"roles/planner.md": "a8714eceaeb73ee1f0bb22030a00243881326b77d88b34b0bdd01fcba567aa69",
|
|
11
|
+
"roles/researcher.md": "1f521aecbb65680dd7c9747483acf8c34febb2159300dd4a39dc11fa857a3782",
|
|
12
|
+
"roles/reviewer.md": "a5d3ca44b6be2c432df02d8ce7889bdadf954582f5559ae7f4e24b05806a766b",
|
|
13
|
+
"roles/specifier.md": "9eb2dbe5319a87b2332c7d13601dcb70ca1a655adf947f473687e268dcd92fea",
|
|
14
|
+
"roles/verifier.md": "ce8e200439190643a02ffe31f72e4b4ec319ccff9f0841cc3138eb517af5fed3",
|
|
15
|
+
"workflows/author.md": "81844443743540b21dd990fa93e59d8898216e498acde920e7007f8b81cef107",
|
|
16
|
+
"workflows/clarify.md": "06354f7624ba2819fe10678eee05676bc737473194f444f7f7a9b0be1a9f036f",
|
|
17
|
+
"workflows/design-review.md": "0e48be715e11c719dee6d207970544eaaa86d755c9813b358e2b6d79afaeff90",
|
|
18
|
+
"workflows/design.md": "c68e78d3d078f9bba7a7b58b2c606ee1a2dd7b15f16567abab31adf3925e261e",
|
|
19
|
+
"workflows/discover.md": "af21ff43a57cce34ce37fbc84e82961d24968a2b95692d081b1697011f559ad8",
|
|
20
|
+
"workflows/execute.md": "49f4b4b22e50aac17c501d4b2d81b51acb82a7938f4a89f076552686cff7795d",
|
|
21
|
+
"workflows/learn.md": "9b1955a00eb0ea47af08a3639c3cbc2f15b8eab6cc02127e829bc8c83b0a52b5",
|
|
22
|
+
"workflows/plan-review.md": "fe6193122f7026dd92ced8ee1ae07279520d34b22a242260419cbb1d8bf7f99e",
|
|
23
|
+
"workflows/plan.md": "6e3a376b85c30e1887b5f667d28b51635a4332e05f892e49a17ae710c6ef247b",
|
|
24
|
+
"workflows/prepare-next.md": "8769b692be6d9fddf3b3f36fee6888159fb9fb2a5c31360cdbc9402e0f43fc27",
|
|
25
|
+
"workflows/review.md": "aaeaf7ab4515e325084a77e75e18b325295f8d16799f71f8b7cd0ec67c52c0d6",
|
|
26
|
+
"workflows/run-audit.md": "e582f767967dc3fb6aaeb938ad1672e7bed18bf044055ce8c45c2114251b787a",
|
|
27
|
+
"workflows/spec-challenge.md": "69c4114579a210bfe1333e92c382c771a6507ce71c4aecdff40f50c1818e06e2",
|
|
28
|
+
"workflows/specify.md": "477f7b651112383ea681d31d1fcecba7f3107946829f5660afbce9d97b7af4bd",
|
|
29
|
+
"workflows/verify.md": "3a568f1b32f6ece7a3d1382b0c75700337016cbee5d24ad8229a57339dc0ee98",
|
|
30
|
+
"hooks/definitions/loop_cap_guard.yaml": "143ecda8f47dd299182dfe9cea2fb3f15a82a8d1f179b100a9e539d83f639b57",
|
|
31
|
+
"hooks/definitions/post_tool_capture.yaml": "a773cd6e18972dee8eef3b7cb06fd1d319a71de4588897cebfbe643f6781a3b2",
|
|
32
|
+
"hooks/definitions/pre_compact_summary.yaml": "daa0175d79f3e0127c5ce86a7a2f8df0be3f58b5c94fe749da715a17c7b2d04e",
|
|
33
|
+
"hooks/definitions/pre_tool_capture_route.yaml": "3c2663380ff3cd09f09de5b96bcf6123266fa74d8a03dfb2d6fbe40a43fb13cf",
|
|
34
|
+
"hooks/definitions/protected_path_write_guard.yaml": "6683d41778b823e2a4e606065597569aa04363f091e135e165de9732f1fc2171",
|
|
35
|
+
"hooks/definitions/session_start.yaml": "9383fcf1f8304c87e57726478a461706c0fc73dc62bcc4d8661f2eeffa43a82d",
|
|
36
|
+
"hooks/definitions/stop_handoff_harvest.yaml": "67a3c0a8bb7cb66b88e77dc79e748082e964d278c47935662c453922a846482b"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"host": "cursor",
|
|
3
|
+
"sources": [
|
|
4
|
+
"wazir.manifest.yaml",
|
|
5
|
+
"roles/clarifier.md",
|
|
6
|
+
"roles/content-author.md",
|
|
7
|
+
"roles/designer.md",
|
|
8
|
+
"roles/executor.md",
|
|
9
|
+
"roles/learner.md",
|
|
10
|
+
"roles/planner.md",
|
|
11
|
+
"roles/researcher.md",
|
|
12
|
+
"roles/reviewer.md",
|
|
13
|
+
"roles/specifier.md",
|
|
14
|
+
"roles/verifier.md",
|
|
15
|
+
"workflows/author.md",
|
|
16
|
+
"workflows/clarify.md",
|
|
17
|
+
"workflows/design-review.md",
|
|
18
|
+
"workflows/design.md",
|
|
19
|
+
"workflows/discover.md",
|
|
20
|
+
"workflows/execute.md",
|
|
21
|
+
"workflows/learn.md",
|
|
22
|
+
"workflows/plan-review.md",
|
|
23
|
+
"workflows/plan.md",
|
|
24
|
+
"workflows/prepare-next.md",
|
|
25
|
+
"workflows/review.md",
|
|
26
|
+
"workflows/run-audit.md",
|
|
27
|
+
"workflows/spec-challenge.md",
|
|
28
|
+
"workflows/specify.md",
|
|
29
|
+
"workflows/verify.md",
|
|
30
|
+
"hooks/definitions/loop_cap_guard.yaml",
|
|
31
|
+
"hooks/definitions/post_tool_capture.yaml",
|
|
32
|
+
"hooks/definitions/pre_compact_summary.yaml",
|
|
33
|
+
"hooks/definitions/pre_tool_capture_route.yaml",
|
|
34
|
+
"hooks/definitions/protected_path_write_guard.yaml",
|
|
35
|
+
"hooks/definitions/session_start.yaml",
|
|
36
|
+
"hooks/definitions/stop_handoff_harvest.yaml"
|
|
37
|
+
],
|
|
38
|
+
"files": [
|
|
39
|
+
".cursor/hooks.json",
|
|
40
|
+
".cursor/rules/wazir-core.mdc"
|
|
41
|
+
]
|
|
42
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Wazir for Gemini
|
|
2
|
+
|
|
3
|
+
This host package is generated from the canonical Wazir sources.
|
|
4
|
+
|
|
5
|
+
## Canonical facts
|
|
6
|
+
|
|
7
|
+
- project: Wazir
|
|
8
|
+
- hosts: claude, codex, gemini, cursor
|
|
9
|
+
- phases: clarify, discover, specify, spec_challenge, author, design, design_review, plan, plan_review, execute, verify, review, learn, prepare_next
|
|
10
|
+
- roles: clarifier, researcher, specifier, content-author, designer, planner, executor, verifier, reviewer, learner
|
|
11
|
+
- protected paths: input, roles, workflows, schemas, exports/hosts
|
|
12
|
+
- state root default: ~/.wazir/projects/{project_slug}
|
|
13
|
+
|
|
14
|
+
## Source of truth
|
|
15
|
+
|
|
16
|
+
- `wazir.manifest.yaml`
|
|
17
|
+
- `roles/*.md`
|
|
18
|
+
- `workflows/*.md`
|
|
19
|
+
- `hooks/definitions/*.yaml`
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"host": "gemini",
|
|
3
|
+
"source_hashes": {
|
|
4
|
+
"wazir.manifest.yaml": "2a57e262d071283504311ead7daaa8444c0c1895243f048036f79c501dfa4356",
|
|
5
|
+
"roles/clarifier.md": "1135b98d548937b5009bd77d292ceee29f806acc9cae245e5e18ccb8be05173e",
|
|
6
|
+
"roles/content-author.md": "cc20b80bd70ab68b3239a9cf56bf1ffc2c06843d38afc6b190844b35a1d73c3e",
|
|
7
|
+
"roles/designer.md": "8a0a9846965aa03ac00d0d71cde58f529aa8fb79908a481cb8ca3ff09d5af8df",
|
|
8
|
+
"roles/executor.md": "0de6cff7284d0bdf5fd3995e6cd5f66ad9479853829e4586fa6f793a4cb189c7",
|
|
9
|
+
"roles/learner.md": "4a7e4635c0fbd2def794f017ca6ef5d47b6ea8dfaa5e85eeeecece61256f21a1",
|
|
10
|
+
"roles/planner.md": "a8714eceaeb73ee1f0bb22030a00243881326b77d88b34b0bdd01fcba567aa69",
|
|
11
|
+
"roles/researcher.md": "1f521aecbb65680dd7c9747483acf8c34febb2159300dd4a39dc11fa857a3782",
|
|
12
|
+
"roles/reviewer.md": "a5d3ca44b6be2c432df02d8ce7889bdadf954582f5559ae7f4e24b05806a766b",
|
|
13
|
+
"roles/specifier.md": "9eb2dbe5319a87b2332c7d13601dcb70ca1a655adf947f473687e268dcd92fea",
|
|
14
|
+
"roles/verifier.md": "ce8e200439190643a02ffe31f72e4b4ec319ccff9f0841cc3138eb517af5fed3",
|
|
15
|
+
"workflows/author.md": "81844443743540b21dd990fa93e59d8898216e498acde920e7007f8b81cef107",
|
|
16
|
+
"workflows/clarify.md": "06354f7624ba2819fe10678eee05676bc737473194f444f7f7a9b0be1a9f036f",
|
|
17
|
+
"workflows/design-review.md": "0e48be715e11c719dee6d207970544eaaa86d755c9813b358e2b6d79afaeff90",
|
|
18
|
+
"workflows/design.md": "c68e78d3d078f9bba7a7b58b2c606ee1a2dd7b15f16567abab31adf3925e261e",
|
|
19
|
+
"workflows/discover.md": "af21ff43a57cce34ce37fbc84e82961d24968a2b95692d081b1697011f559ad8",
|
|
20
|
+
"workflows/execute.md": "49f4b4b22e50aac17c501d4b2d81b51acb82a7938f4a89f076552686cff7795d",
|
|
21
|
+
"workflows/learn.md": "9b1955a00eb0ea47af08a3639c3cbc2f15b8eab6cc02127e829bc8c83b0a52b5",
|
|
22
|
+
"workflows/plan-review.md": "fe6193122f7026dd92ced8ee1ae07279520d34b22a242260419cbb1d8bf7f99e",
|
|
23
|
+
"workflows/plan.md": "6e3a376b85c30e1887b5f667d28b51635a4332e05f892e49a17ae710c6ef247b",
|
|
24
|
+
"workflows/prepare-next.md": "8769b692be6d9fddf3b3f36fee6888159fb9fb2a5c31360cdbc9402e0f43fc27",
|
|
25
|
+
"workflows/review.md": "aaeaf7ab4515e325084a77e75e18b325295f8d16799f71f8b7cd0ec67c52c0d6",
|
|
26
|
+
"workflows/run-audit.md": "e582f767967dc3fb6aaeb938ad1672e7bed18bf044055ce8c45c2114251b787a",
|
|
27
|
+
"workflows/spec-challenge.md": "69c4114579a210bfe1333e92c382c771a6507ce71c4aecdff40f50c1818e06e2",
|
|
28
|
+
"workflows/specify.md": "477f7b651112383ea681d31d1fcecba7f3107946829f5660afbce9d97b7af4bd",
|
|
29
|
+
"workflows/verify.md": "3a568f1b32f6ece7a3d1382b0c75700337016cbee5d24ad8229a57339dc0ee98",
|
|
30
|
+
"hooks/definitions/loop_cap_guard.yaml": "143ecda8f47dd299182dfe9cea2fb3f15a82a8d1f179b100a9e539d83f639b57",
|
|
31
|
+
"hooks/definitions/post_tool_capture.yaml": "a773cd6e18972dee8eef3b7cb06fd1d319a71de4588897cebfbe643f6781a3b2",
|
|
32
|
+
"hooks/definitions/pre_compact_summary.yaml": "daa0175d79f3e0127c5ce86a7a2f8df0be3f58b5c94fe749da715a17c7b2d04e",
|
|
33
|
+
"hooks/definitions/pre_tool_capture_route.yaml": "3c2663380ff3cd09f09de5b96bcf6123266fa74d8a03dfb2d6fbe40a43fb13cf",
|
|
34
|
+
"hooks/definitions/protected_path_write_guard.yaml": "6683d41778b823e2a4e606065597569aa04363f091e135e165de9732f1fc2171",
|
|
35
|
+
"hooks/definitions/session_start.yaml": "9383fcf1f8304c87e57726478a461706c0fc73dc62bcc4d8661f2eeffa43a82d",
|
|
36
|
+
"hooks/definitions/stop_handoff_harvest.yaml": "67a3c0a8bb7cb66b88e77dc79e748082e964d278c47935662c453922a846482b"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"host": "gemini",
|
|
3
|
+
"sources": [
|
|
4
|
+
"wazir.manifest.yaml",
|
|
5
|
+
"roles/clarifier.md",
|
|
6
|
+
"roles/content-author.md",
|
|
7
|
+
"roles/designer.md",
|
|
8
|
+
"roles/executor.md",
|
|
9
|
+
"roles/learner.md",
|
|
10
|
+
"roles/planner.md",
|
|
11
|
+
"roles/researcher.md",
|
|
12
|
+
"roles/reviewer.md",
|
|
13
|
+
"roles/specifier.md",
|
|
14
|
+
"roles/verifier.md",
|
|
15
|
+
"workflows/author.md",
|
|
16
|
+
"workflows/clarify.md",
|
|
17
|
+
"workflows/design-review.md",
|
|
18
|
+
"workflows/design.md",
|
|
19
|
+
"workflows/discover.md",
|
|
20
|
+
"workflows/execute.md",
|
|
21
|
+
"workflows/learn.md",
|
|
22
|
+
"workflows/plan-review.md",
|
|
23
|
+
"workflows/plan.md",
|
|
24
|
+
"workflows/prepare-next.md",
|
|
25
|
+
"workflows/review.md",
|
|
26
|
+
"workflows/run-audit.md",
|
|
27
|
+
"workflows/spec-challenge.md",
|
|
28
|
+
"workflows/specify.md",
|
|
29
|
+
"workflows/verify.md",
|
|
30
|
+
"hooks/definitions/loop_cap_guard.yaml",
|
|
31
|
+
"hooks/definitions/post_tool_capture.yaml",
|
|
32
|
+
"hooks/definitions/pre_compact_summary.yaml",
|
|
33
|
+
"hooks/definitions/pre_tool_capture_route.yaml",
|
|
34
|
+
"hooks/definitions/protected_path_write_guard.yaml",
|
|
35
|
+
"hooks/definitions/session_start.yaml",
|
|
36
|
+
"hooks/definitions/stop_handoff_harvest.yaml"
|
|
37
|
+
],
|
|
38
|
+
"files": [
|
|
39
|
+
"GEMINI.md"
|
|
40
|
+
]
|
|
41
|
+
}
|
package/hooks/README.md
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# hooks/
|
|
2
|
+
|
|
3
|
+
This directory holds canonical hook definitions and hook-related documentation.
|
|
4
|
+
|
|
5
|
+
Allowed:
|
|
6
|
+
|
|
7
|
+
- canonical hook definitions
|
|
8
|
+
- hook guard rules
|
|
9
|
+
- capture and observability behavior
|
|
10
|
+
|
|
11
|
+
Not allowed:
|
|
12
|
+
|
|
13
|
+
- host-only ad hoc scripts without canonical definitions
|
|
14
|
+
|
|
15
|
+
Rules:
|
|
16
|
+
|
|
17
|
+
- Canonical hook definitions validate against the hook schema.
|
|
18
|
+
- Host exports map from this layer to native hooks or wrapper fallbacks.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
id: loop_cap_guard
|
|
2
|
+
trigger: loop_cap_guard
|
|
3
|
+
description: Stop additional loop iterations after the configured phase cap is reached.
|
|
4
|
+
input_contract:
|
|
5
|
+
required:
|
|
6
|
+
- run_id
|
|
7
|
+
- phase
|
|
8
|
+
allowed_side_effects:
|
|
9
|
+
- read_status
|
|
10
|
+
- block_execution
|
|
11
|
+
output_contract:
|
|
12
|
+
produces:
|
|
13
|
+
- guard_decision
|
|
14
|
+
failure_behavior:
|
|
15
|
+
mode: block
|
|
16
|
+
exit_code: 43
|
|
17
|
+
host_fallback:
|
|
18
|
+
claude: native_or_wrapper
|
|
19
|
+
codex: wrapper_command
|
|
20
|
+
gemini: wrapper_command
|
|
21
|
+
cursor: native_or_wrapper
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
id: post_tool_capture
|
|
2
|
+
trigger: post_tool_capture
|
|
3
|
+
description: Capture command output, append events, update status, and record usage after tool execution.
|
|
4
|
+
input_contract:
|
|
5
|
+
required:
|
|
6
|
+
- command
|
|
7
|
+
- exit_code
|
|
8
|
+
allowed_side_effects:
|
|
9
|
+
- write_capture_file
|
|
10
|
+
- append_event
|
|
11
|
+
- update_status
|
|
12
|
+
- update_usage
|
|
13
|
+
output_contract:
|
|
14
|
+
produces:
|
|
15
|
+
- events.ndjson
|
|
16
|
+
- usage.json
|
|
17
|
+
failure_behavior:
|
|
18
|
+
mode: capture
|
|
19
|
+
exit_code: 0
|
|
20
|
+
host_fallback:
|
|
21
|
+
claude: native_hook
|
|
22
|
+
codex: wrapper_command
|
|
23
|
+
gemini: wrapper_command
|
|
24
|
+
cursor: native_or_wrapper
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
id: pre_compact_summary
|
|
2
|
+
trigger: pre_compact_summary
|
|
3
|
+
description: Summarize captured output before context compaction or handoff.
|
|
4
|
+
input_contract:
|
|
5
|
+
required:
|
|
6
|
+
- run_id
|
|
7
|
+
allowed_side_effects:
|
|
8
|
+
- write_summary
|
|
9
|
+
output_contract:
|
|
10
|
+
produces:
|
|
11
|
+
- summary.md
|
|
12
|
+
failure_behavior:
|
|
13
|
+
mode: warn
|
|
14
|
+
exit_code: 0
|
|
15
|
+
host_fallback:
|
|
16
|
+
claude: native_or_wrapper
|
|
17
|
+
codex: wrapper_command
|
|
18
|
+
gemini: wrapper_command
|
|
19
|
+
cursor: wrapper_command
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
id: pre_tool_capture_route
|
|
2
|
+
trigger: pre_tool_capture_route
|
|
3
|
+
description: Route large command output away from model context and into captured artifacts.
|
|
4
|
+
input_contract:
|
|
5
|
+
required:
|
|
6
|
+
- command
|
|
7
|
+
allowed_side_effects:
|
|
8
|
+
- create_capture_target
|
|
9
|
+
output_contract:
|
|
10
|
+
produces:
|
|
11
|
+
- capture_path
|
|
12
|
+
failure_behavior:
|
|
13
|
+
mode: warn
|
|
14
|
+
exit_code: 0
|
|
15
|
+
host_fallback:
|
|
16
|
+
claude: native_hook
|
|
17
|
+
codex: wrapper_command
|
|
18
|
+
gemini: wrapper_command
|
|
19
|
+
cursor: native_or_wrapper
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
id: protected_path_write_guard
|
|
2
|
+
trigger: protected_path_write_guard
|
|
3
|
+
description: Block writes to protected canonical paths outside approved regeneration flows.
|
|
4
|
+
input_contract:
|
|
5
|
+
required:
|
|
6
|
+
- target_path
|
|
7
|
+
allowed_side_effects:
|
|
8
|
+
- block_write
|
|
9
|
+
output_contract:
|
|
10
|
+
produces:
|
|
11
|
+
- guard_decision
|
|
12
|
+
failure_behavior:
|
|
13
|
+
mode: block
|
|
14
|
+
exit_code: 42
|
|
15
|
+
host_fallback:
|
|
16
|
+
claude: native_or_wrapper
|
|
17
|
+
codex: wrapper_command
|
|
18
|
+
gemini: wrapper_command
|
|
19
|
+
cursor: native_or_wrapper
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
id: session_start
|
|
2
|
+
trigger: session_start
|
|
3
|
+
description: Initialize run-local status capture and bootstrap summaries.
|
|
4
|
+
input_contract:
|
|
5
|
+
required:
|
|
6
|
+
- project_root
|
|
7
|
+
allowed_side_effects: []
|
|
8
|
+
output_contract:
|
|
9
|
+
produces:
|
|
10
|
+
- skill_bootstrap_text
|
|
11
|
+
- cli_bootstrap_guidance
|
|
12
|
+
failure_behavior:
|
|
13
|
+
mode: capture
|
|
14
|
+
exit_code: 0
|
|
15
|
+
host_fallback:
|
|
16
|
+
claude: native_hook
|
|
17
|
+
codex: wrapper_command
|
|
18
|
+
gemini: wrapper_command
|
|
19
|
+
cursor: native_or_wrapper
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
id: stop_handoff_harvest
|
|
2
|
+
trigger: stop_handoff_harvest
|
|
3
|
+
description: Harvest final handoff notes and persist stop-time observability data.
|
|
4
|
+
input_contract:
|
|
5
|
+
required:
|
|
6
|
+
- run_id
|
|
7
|
+
allowed_side_effects:
|
|
8
|
+
- append_event
|
|
9
|
+
- write_handoff
|
|
10
|
+
output_contract:
|
|
11
|
+
produces:
|
|
12
|
+
- summary.md
|
|
13
|
+
failure_behavior:
|
|
14
|
+
mode: capture
|
|
15
|
+
exit_code: 0
|
|
16
|
+
host_fallback:
|
|
17
|
+
claude: native_hook
|
|
18
|
+
codex: wrapper_command
|
|
19
|
+
gemini: wrapper_command
|
|
20
|
+
cursor: native_or_wrapper
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { readFileSync } from 'node:fs';
|
|
4
|
+
|
|
5
|
+
import { evaluateLoopCapGuard } from '../tooling/src/guards/loop-cap-guard.js';
|
|
6
|
+
|
|
7
|
+
try {
|
|
8
|
+
const input = readFileSync(0, 'utf8');
|
|
9
|
+
const payload = input.trim() ? JSON.parse(input) : {};
|
|
10
|
+
const decision = evaluateLoopCapGuard(payload);
|
|
11
|
+
|
|
12
|
+
process.stdout.write(`${JSON.stringify({ guard_decision: decision })}\n`);
|
|
13
|
+
process.exit(decision.allowed ? 0 : 43);
|
|
14
|
+
} catch (error) {
|
|
15
|
+
process.stderr.write(`${error.message}\n`);
|
|
16
|
+
process.exit(1);
|
|
17
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
3
|
+
import { execFileSync } from 'node:child_process';
|
|
4
|
+
|
|
5
|
+
function readPayload() {
|
|
6
|
+
try {
|
|
7
|
+
const raw = readFileSync(0, 'utf-8').trim();
|
|
8
|
+
if (raw.length === 0) return null;
|
|
9
|
+
return JSON.parse(raw);
|
|
10
|
+
} catch {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const payload = readPayload();
|
|
16
|
+
const envFile = process.env.CLAUDE_TOOL_FILE_PATH;
|
|
17
|
+
const filePath = payload?.tool_input?.file_path ?? envFile;
|
|
18
|
+
|
|
19
|
+
if (!filePath || !filePath.endsWith('.js')) {
|
|
20
|
+
process.exit(0);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
if (!existsSync(filePath)) {
|
|
24
|
+
process.exit(0);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
try {
|
|
28
|
+
execFileSync('node', ['--check', filePath], { stdio: 'pipe' });
|
|
29
|
+
process.exit(0);
|
|
30
|
+
} catch (err) {
|
|
31
|
+
const stderr = err && typeof err === 'object' && 'stderr' in err
|
|
32
|
+
? String(err.stderr)
|
|
33
|
+
: String(err);
|
|
34
|
+
process.stderr.write(`Syntax error in ${filePath}:\n${stderr}\n`);
|
|
35
|
+
process.exit(2);
|
|
36
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { readFileSync } from 'node:fs';
|
|
4
|
+
|
|
5
|
+
import { evaluateProtectedPathWriteGuard } from '../tooling/src/guards/protected-path-write-guard.js';
|
|
6
|
+
|
|
7
|
+
try {
|
|
8
|
+
const input = readFileSync(0, 'utf8');
|
|
9
|
+
const payload = input.trim() ? JSON.parse(input) : {};
|
|
10
|
+
const decision = evaluateProtectedPathWriteGuard(payload);
|
|
11
|
+
|
|
12
|
+
process.stdout.write(`${JSON.stringify({ guard_decision: decision })}\n`);
|
|
13
|
+
process.exit(decision.allowed ? 0 : 42);
|
|
14
|
+
} catch (error) {
|
|
15
|
+
process.stderr.write(`${error.message}\n`);
|
|
16
|
+
process.exit(1);
|
|
17
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
3
|
+
import { dirname, join } from 'node:path';
|
|
4
|
+
import { fileURLToPath } from 'node:url';
|
|
5
|
+
|
|
6
|
+
const hooksDir = dirname(fileURLToPath(import.meta.url));
|
|
7
|
+
const projectRoot = dirname(hooksDir);
|
|
8
|
+
const skillFile = join(projectRoot, 'skills', 'using-skills', 'SKILL.md');
|
|
9
|
+
|
|
10
|
+
if (existsSync(skillFile)) {
|
|
11
|
+
const content = readFileSync(skillFile, 'utf-8');
|
|
12
|
+
process.stdout.write(
|
|
13
|
+
`<EXTREMELY_IMPORTANT>\n` +
|
|
14
|
+
`You have skills.\n\n` +
|
|
15
|
+
`**Below is the full content of your 'wz:using-skills' skill:**\n\n` +
|
|
16
|
+
`${content}\n` +
|
|
17
|
+
`</EXTREMELY_IMPORTANT>\n`,
|
|
18
|
+
);
|
|
19
|
+
} else {
|
|
20
|
+
process.stdout.write(
|
|
21
|
+
`<system-reminder>\n` +
|
|
22
|
+
`WARNING: wz:using-skills skill not found at ${skillFile}\n` +
|
|
23
|
+
`The Wazir skill bootstrap is not available. Skills will not be auto-discovered.\n` +
|
|
24
|
+
`Run: check that skills/using-skills/SKILL.md exists.\n` +
|
|
25
|
+
`</system-reminder>\n`,
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
process.stdout.write(
|
|
30
|
+
`<cli-bootstrap-guidance>\n` +
|
|
31
|
+
`## CLI Bootstrap\n\n` +
|
|
32
|
+
`Run the following checks at session start:\n\n` +
|
|
33
|
+
`1. Run \`wazir doctor --json\` to check repo health.\n` +
|
|
34
|
+
`2. Run \`wazir index refresh\` to update the index.\n` +
|
|
35
|
+
` - If no index exists, run \`wazir index build && wazir index summarize --tier all\`.\n` +
|
|
36
|
+
`3. Check \`<state-root>/runs/latest\` for previous run ID.\n` +
|
|
37
|
+
` - If previous run is incomplete, resume it.\n` +
|
|
38
|
+
` - Otherwise run \`wazir capture init --run <new-id> --phase clarify --status starting\`.\n` +
|
|
39
|
+
`</cli-bootstrap-guidance>\n`,
|
|
40
|
+
);
|
|
41
|
+
process.exit(0);
|