@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,320 @@
|
|
|
1
|
+
# Wazir CLI
|
|
2
|
+
|
|
3
|
+
The `wazir` CLI is the validation, indexing, and export tool for the Wazir
|
|
4
|
+
engineering OS kit. It has no background processes and no server — it is a stateless
|
|
5
|
+
command-line utility that operates on the repo and a configurable state root.
|
|
6
|
+
|
|
7
|
+
**Design principle:** validation is the primary capability. Every command either prevents
|
|
8
|
+
a fake-green state (validate/doctor/export --check) or supports structured run tracking
|
|
9
|
+
(capture/status/index/recall).
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Installation
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
# From the repo root
|
|
17
|
+
npm install
|
|
18
|
+
|
|
19
|
+
# The CLI is available as:
|
|
20
|
+
npx wazir <command>
|
|
21
|
+
|
|
22
|
+
# Or via the package bin after global install:
|
|
23
|
+
npm install -g .
|
|
24
|
+
wazir <command>
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Requires Node.js 18+. No external services required.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Root Discovery
|
|
32
|
+
|
|
33
|
+
The CLI walks upward from the current working directory until it finds
|
|
34
|
+
`wazir.manifest.yaml`. This means all commands work correctly from any nested
|
|
35
|
+
subdirectory inside the project.
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Command Reference
|
|
40
|
+
|
|
41
|
+
### Validate
|
|
42
|
+
|
|
43
|
+
Validate sub-commands enforce correctness of the manifest, hooks, docs, and code
|
|
44
|
+
hygiene. All exit `0` on pass, `1` on failure, `2` for reserved/incomplete commands.
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
wazir validate manifest
|
|
48
|
+
```
|
|
49
|
+
Validates `wazir.manifest.yaml` against `schemas/wazir-manifest.schema.json`
|
|
50
|
+
and checks that all required repo paths declared in the manifest actually exist.
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
wazir validate hooks
|
|
54
|
+
```
|
|
55
|
+
Validates every hook definition in `hooks/definitions/` against `schemas/hook.schema.json`
|
|
56
|
+
and checks the manifest hook roster for completeness.
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
wazir validate docs
|
|
60
|
+
```
|
|
61
|
+
Validates `docs/truth-claims.yaml`, cross-checks documented CLI commands against the
|
|
62
|
+
active CLI surface, and rejects broken local Markdown links.
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
wazir validate brand
|
|
66
|
+
```
|
|
67
|
+
Enforces canonical product naming across the Wazir surface — rejects prohibited
|
|
68
|
+
terms listed in the manifest's `prohibited_terms` array.
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
wazir validate runtime
|
|
72
|
+
```
|
|
73
|
+
Rejects non-canonical runtime wrappers, repo-local task/state paths, and forbidden
|
|
74
|
+
runtime-only package surfaces.
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
wazir validate branches [--branch <name>]
|
|
78
|
+
```
|
|
79
|
+
Validates the current (or specified) branch name against allowed git-flow patterns.
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
wazir validate commits [--base <ref>] [--head <ref>]
|
|
83
|
+
```
|
|
84
|
+
Validates conventional commit format for commits in the specified range (or auto-detected
|
|
85
|
+
base to HEAD).
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
wazir validate changelog [--require-entries] [--base <ref>]
|
|
89
|
+
```
|
|
90
|
+
Validates `CHANGELOG.md` structure. With `--require-entries` and `--base`, enforces that
|
|
91
|
+
new entries have been added since the base ref.
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
wazir validate artifacts # reserved — exits 2
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
### Export
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
wazir export build
|
|
103
|
+
```
|
|
104
|
+
Compiles host packages from canonical sources into `exports/hosts/*`. Validates the
|
|
105
|
+
manifest and hooks first, then reads all declared role and workflow files, writes
|
|
106
|
+
host-specific files, and records SHA-256 source hashes for drift detection.
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
wazir export --check
|
|
110
|
+
```
|
|
111
|
+
Drift check: re-hashes current canonical sources and compares against the stored hashes
|
|
112
|
+
in each `exports/hosts/<host>/export.manifest.json`. Exits non-zero when any source has
|
|
113
|
+
changed since the last build.
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
### Doctor
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
wazir doctor
|
|
121
|
+
```
|
|
122
|
+
Full surface health check: runs manifest validation, hooks validation, state-root policy
|
|
123
|
+
check, and verifies host export directory presence. Recommended before any release or
|
|
124
|
+
major merge.
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
### Index
|
|
129
|
+
|
|
130
|
+
The index stores a SQLite-backed symbol and outline map under the configured state root.
|
|
131
|
+
Useful for agents that need fast symbol lookup without reading every file.
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
wazir index build [--state-root <path>]
|
|
135
|
+
```
|
|
136
|
+
Builds the local index from scratch. Parses supported languages (JS, TS, Python, Go,
|
|
137
|
+
Rust, Java, SQL, JSON, YAML, Markdown) using built-in heuristic parsers.
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
wazir index refresh [--state-root <path>]
|
|
141
|
+
```
|
|
142
|
+
Incrementally refreshes indexed files using stored content hashes — skips unchanged files.
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
wazir index stats [--state-root <path>]
|
|
146
|
+
```
|
|
147
|
+
Reports file count, symbol count, and outline entry count for the current index.
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
wazir index search-symbols <query> [--state-root <path>]
|
|
151
|
+
```
|
|
152
|
+
Searches indexed symbol names.
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
wazir index get-symbol <name-or-id> [--state-root <path>]
|
|
156
|
+
```
|
|
157
|
+
Returns a stored symbol record by name or ID.
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
wazir index get-file-outline <file-path> [--state-root <path>]
|
|
161
|
+
```
|
|
162
|
+
Returns indexed outline entries for a file.
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
### Recall
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
wazir recall file <file-path> --start <line> --end <line> [--state-root <path>]
|
|
170
|
+
```
|
|
171
|
+
Returns an exact line-bounded slice from an indexed file without reading the whole file
|
|
172
|
+
into context.
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
wazir recall symbol <name-or-id> [--state-root <path>]
|
|
176
|
+
```
|
|
177
|
+
Returns an exact slice for an indexed symbol match — file path, line range, and content.
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
### Status
|
|
182
|
+
|
|
183
|
+
```bash
|
|
184
|
+
wazir status --run-id <id> [--state-root <path>]
|
|
185
|
+
```
|
|
186
|
+
Reads run status directly from `<state-root>/runs/<run-id>/status.json` and prints
|
|
187
|
+
current phase, status, and loop counts.
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
### Capture
|
|
192
|
+
|
|
193
|
+
The capture commands support structured run tracking. Agents use these to maintain an
|
|
194
|
+
auditable ledger of events, phase transitions, and large tool outputs.
|
|
195
|
+
|
|
196
|
+
```bash
|
|
197
|
+
wazir capture init --run-id <id> [--state-root <path>]
|
|
198
|
+
```
|
|
199
|
+
Creates a run ledger: `status.json`, `events.ndjson`, and a `captures/` directory under
|
|
200
|
+
`<state-root>/runs/<run-id>/`.
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
wazir capture event --run-id <id> --type <event-type> [--phase <phase>] \
|
|
204
|
+
[--status <status>] [--state-root <path>]
|
|
205
|
+
```
|
|
206
|
+
Appends a structured event to `events.ndjson` and can update `phase`, `status`, and
|
|
207
|
+
loop counts in `status.json`.
|
|
208
|
+
|
|
209
|
+
```bash
|
|
210
|
+
wazir capture route --run-id <id> --name <capture-name> [--state-root <path>]
|
|
211
|
+
```
|
|
212
|
+
Reserves a run-local capture file path for large tool output — returns the path so the
|
|
213
|
+
agent knows where to write.
|
|
214
|
+
|
|
215
|
+
```bash
|
|
216
|
+
wazir capture output --run-id <id> --name <capture-name> --content <content> \
|
|
217
|
+
[--state-root <path>]
|
|
218
|
+
```
|
|
219
|
+
Writes captured tool output to the reserved file and records a `post_tool_capture` event.
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
wazir capture summary --run-id <id> --content <content> [--state-root <path>]
|
|
223
|
+
```
|
|
224
|
+
Writes `summary.md` and records the chosen summary or handoff event.
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## Exit Codes
|
|
229
|
+
|
|
230
|
+
| Code | Meaning |
|
|
231
|
+
|---|---|
|
|
232
|
+
| `0` | Check passed / command succeeded |
|
|
233
|
+
| `1` | Invalid input or validation failure |
|
|
234
|
+
| `2` | Command surface exists but implementation is intentionally incomplete |
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
## State Root
|
|
239
|
+
|
|
240
|
+
All index, recall, status, and capture commands accept `--state-root <path>` to override
|
|
241
|
+
where run state lives. The default is `~/.wazir/projects/<project-slug>/` as declared
|
|
242
|
+
in `wazir.manifest.yaml`.
|
|
243
|
+
|
|
244
|
+
This keeps all run-time state outside the repo, preventing accidental commits of agent
|
|
245
|
+
session data.
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
## Common Workflows
|
|
250
|
+
|
|
251
|
+
**Before merging a PR:**
|
|
252
|
+
```bash
|
|
253
|
+
wazir validate manifest
|
|
254
|
+
wazir validate hooks
|
|
255
|
+
wazir validate docs
|
|
256
|
+
wazir export --check
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
**Full health check:**
|
|
260
|
+
```bash
|
|
261
|
+
wazir doctor
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
**After editing roles or workflows, rebuild exports:**
|
|
265
|
+
```bash
|
|
266
|
+
wazir export build
|
|
267
|
+
wazir export --check # verify no drift
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
**Start a new agent run:**
|
|
271
|
+
```bash
|
|
272
|
+
wazir capture init --run-id run-$(date +%s)
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
---
|
|
276
|
+
|
|
277
|
+
## Extending the CLI
|
|
278
|
+
|
|
279
|
+
1. Add a new check file to `tooling/src/checks/` following the pattern of existing
|
|
280
|
+
check modules.
|
|
281
|
+
2. Register it in `tooling/src/checks/command-registry.js`.
|
|
282
|
+
3. Wire it into `tooling/src/commands/validate.js` as a sub-command.
|
|
283
|
+
4. Document the new command in `docs/tooling-cli.md`.
|
|
284
|
+
5. Add a truth claim entry to `docs/truth-claims.yaml` so `wazir validate docs`
|
|
285
|
+
can verify the documented command matches the implemented behavior.
|
|
286
|
+
6. Add a test in `tooling/tests/` — all commands must have automated coverage before
|
|
287
|
+
they leave `reserved` status.
|
|
288
|
+
|
|
289
|
+
---
|
|
290
|
+
|
|
291
|
+
## Source Layout
|
|
292
|
+
|
|
293
|
+
```
|
|
294
|
+
tooling/src/
|
|
295
|
+
cli.js Entry point, argument parsing, command dispatch
|
|
296
|
+
loaders.js YAML/JSON file readers
|
|
297
|
+
schema-validator.js AJV-backed validator (JSON Schema Draft 2020-12)
|
|
298
|
+
project-root.js Upward manifest discovery
|
|
299
|
+
state-root.js State root resolution with --state-root override
|
|
300
|
+
command-options.js Shared option definitions
|
|
301
|
+
commands/
|
|
302
|
+
validate.js Validate sub-command dispatcher
|
|
303
|
+
checks/
|
|
304
|
+
command-registry.js Registry of all validate sub-commands
|
|
305
|
+
manifest.js manifest check
|
|
306
|
+
branches.js branch name check
|
|
307
|
+
commits.js conventional commit check
|
|
308
|
+
changelog.js changelog structure check
|
|
309
|
+
docs-truth.js docs truth-claims check
|
|
310
|
+
brand-truth.js brand naming check
|
|
311
|
+
runtime-surface.js runtime wrapper check
|
|
312
|
+
export/
|
|
313
|
+
command.js export build / --check entry
|
|
314
|
+
compiler.js canonical source collector + host package writer
|
|
315
|
+
index/ SQLite index build/refresh/search
|
|
316
|
+
recall/ Line-bounded file and symbol recall
|
|
317
|
+
capture/ Run ledger: init/event/route/output/summary
|
|
318
|
+
doctor/ Full surface health check
|
|
319
|
+
status/ Run status reader
|
|
320
|
+
```
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
# Wazir Workflows
|
|
2
|
+
|
|
3
|
+
**The complete engineering pipeline — from raw idea to production-grade code.**
|
|
4
|
+
|
|
5
|
+

|
|
6
|
+

|
|
7
|
+

|
|
8
|
+
|
|
9
|
+
Wazir workflows are the sequencing backbone of the engineering OS. Every workflow is a canonical phase entrypoint: host-neutral, artifact-driven, and gated by explicit approval contracts. You don't skip phases. You don't merge ambiguity forward. You ship code that is provably correct against a spec that was adversarially challenged before a line was written.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## The Full Pipeline
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
┌──────────────────────────────────────────────────────────────────┐
|
|
17
|
+
│ WAZIR PIPELINE │
|
|
18
|
+
├──────────────────────────────────────────────────────────────────┤
|
|
19
|
+
│ │
|
|
20
|
+
│ INPUT │
|
|
21
|
+
│ │ │
|
|
22
|
+
│ ▼ │
|
|
23
|
+
│ [1] CLARIFY ──────── clarifier ──── scope + questions │
|
|
24
|
+
│ │ │
|
|
25
|
+
│ ▼ │
|
|
26
|
+
│ [2] DISCOVER ─────── researcher ─── cited findings │
|
|
27
|
+
│ │ │
|
|
28
|
+
│ ▼ │
|
|
29
|
+
│ [3] SPECIFY ──────── specifier ──── spec + AC ★ GATE │
|
|
30
|
+
│ │ │
|
|
31
|
+
│ ▼ │
|
|
32
|
+
│ [4] SPEC-CHALLENGE ─ reviewer ───── challenge findings ★ GATE │
|
|
33
|
+
│ │ │
|
|
34
|
+
│ ▼ │
|
|
35
|
+
│ [5] AUTHOR ───────── content-author microcopy + i18n ★ GATE │
|
|
36
|
+
│ │ │
|
|
37
|
+
│ ▼ │
|
|
38
|
+
│ [6] DESIGN ───────── designer ───── .fig + tokens + code ★ GATE│
|
|
39
|
+
│ │ │
|
|
40
|
+
│ ▼ │
|
|
41
|
+
│ [7] DESIGN-REVIEW ── reviewer ───── review findings ★ GATE │
|
|
42
|
+
│ │ │
|
|
43
|
+
│ ▼ │
|
|
44
|
+
│ [8] PLAN ─────────── planner ────── impl. plan ★ GATE │
|
|
45
|
+
│ │ │
|
|
46
|
+
│ ▼ │
|
|
47
|
+
│ [9] PLAN-REVIEW ──── reviewer ───── plan findings ★ GATE │
|
|
48
|
+
│ │ │
|
|
49
|
+
│ ▼ │
|
|
50
|
+
│ [10] EXECUTE ──────── executor ───── code + docs │
|
|
51
|
+
│ │ │
|
|
52
|
+
│ ▼ │
|
|
53
|
+
│ [11] VERIFY ──────── verifier ────── proof artifact ★ GATE │
|
|
54
|
+
│ │ │
|
|
55
|
+
│ ▼ │
|
|
56
|
+
│ [12] REVIEW ──────── reviewer ────── findings + verdict ★ GATE │
|
|
57
|
+
│ │ │
|
|
58
|
+
│ ▼ │
|
|
59
|
+
│ [13] LEARN ───────── learner ─────── learning artifacts ★ GATE │
|
|
60
|
+
│ │ │
|
|
61
|
+
│ ▼ │
|
|
62
|
+
│ [14] PREPARE-NEXT ── planner ─────── handoff │
|
|
63
|
+
│ │ │
|
|
64
|
+
│ ▼ │
|
|
65
|
+
│ NEXT RUN / DONE │
|
|
66
|
+
│ │
|
|
67
|
+
│ ★ = explicit human approval gate │
|
|
68
|
+
└──────────────────────────────────────────────────────────────────┘
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
> [!NOTE]
|
|
72
|
+
> The `author`, `design`, and `design-review` phases are skippable. `author` is skipped when a project has no user-facing content needs. `design` and `design-review` are skipped when a project has no visual design needs or when the open-pencil MCP adapter is not available. All other phases are mandatory.
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Workflow Reference Table
|
|
77
|
+
|
|
78
|
+
| # | Workflow | Role | Trigger | Key Outputs | Approval Gate |
|
|
79
|
+
|---|----------|------|---------|-------------|---------------|
|
|
80
|
+
| 1 | [clarify](clarify.md) | `clarifier` | Input briefing files arrive | Clarification artifact, unresolved questions, scope summary | Soft — escalate material ambiguity |
|
|
81
|
+
| 2 | [discover](discover.md) | `researcher` | Clarified scope approved | Research artifact, cited findings | Soft — unsupported research blocked |
|
|
82
|
+
| 3 | [specify](specify.md) | `specifier` | Research artifacts ready | Spec artifact, acceptance criteria, assumptions | **Hard — human approval required** |
|
|
83
|
+
| 4 | [spec-challenge](spec-challenge.md) | `reviewer` | Draft spec produced | Challenge findings | **Hard — findings must be resolved** |
|
|
84
|
+
| 5 | [author](author.md) | `content-author` | Spec challenge closed | Microcopy, i18n keys, glossary, seed data, coverage matrix | **Hard — human approval required** |
|
|
85
|
+
| 6 | [design](design.md) | `designer` | Author approved (or skipped) | `.fig` file, exported code, design tokens, screenshots | **Hard — human approval required** |
|
|
86
|
+
| 7 | [design-review](design-review.md) | `reviewer` | Design artifact produced | Review findings with severity | **Hard — blocking findings stop planning** |
|
|
87
|
+
| 8 | [plan](plan.md) | `planner` | Design reviewed (or skipped) | Implementation plan, ordered tasks | **Hard — human approval required** |
|
|
88
|
+
| 9 | [plan-review](plan-review.md) | `reviewer` | Draft plan produced | Plan findings, revised tasks | **Hard — blocking findings stop execution** |
|
|
89
|
+
| 10 | [execute](execute.md) | `executor` | Plan approved | Code changes, docs changes, execution notes | Soft — no new scope without approval |
|
|
90
|
+
| 11 | [verify](verify.md) | `verifier` | Execution batch complete | Verification proof artifact | **Hard — no completion claim without proof** |
|
|
91
|
+
| 12 | [review](review.md) | `reviewer` | Verification proof produced | Findings, no-findings verdict | **Hard — blocking findings stop completion** |
|
|
92
|
+
| 13 | [learn](learn.md) | `learner` | Review verdict accepted | Proposed learning artifacts, experiment summaries | **Hard — explicit review + scope tags required** |
|
|
93
|
+
| 14 | [prepare-next](prepare-next.md) | `planner` | Learn phase complete | Next-step handoff, scoped context summary | Soft — no implicit carry-forward |
|
|
94
|
+
|
|
95
|
+
### Bonus Workflow
|
|
96
|
+
|
|
97
|
+
| Workflow | Role | Purpose |
|
|
98
|
+
|----------|------|---------|
|
|
99
|
+
| [run-audit](run-audit.md) *(coming soon)* | `researcher` | Structured codebase/branch audit — produces findings report or plan doc |
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## Philosophy: Why This Pipeline Exists
|
|
104
|
+
|
|
105
|
+
### Problems It Solves
|
|
106
|
+
|
|
107
|
+
Most AI coding loops fail in the same five ways:
|
|
108
|
+
|
|
109
|
+
1. **Ambiguity laundering** — unclear requirements get papered over and explode in execution
|
|
110
|
+
2. **Spec-less planning** — plans are written before acceptance criteria exist
|
|
111
|
+
3. **Rubber-stamp review** — review phases that generate no findings because the reviewer is also the implementor
|
|
112
|
+
4. **Completion theater** — "done" is declared without runnable proof
|
|
113
|
+
5. **Context rot** — stale assumptions from prior runs silently corrupt the next
|
|
114
|
+
|
|
115
|
+
Wazir's pipeline is designed to make each of these failure modes structurally impossible or explicitly visible.
|
|
116
|
+
|
|
117
|
+
### Design Principles
|
|
118
|
+
|
|
119
|
+
**Artifact-driven handoff.** Every phase produces a named artifact. The next phase consumes it. Nothing is passed via vibes or conversation history.
|
|
120
|
+
|
|
121
|
+
**Adversarial review at three chokepoints.** `spec-challenge`, `plan-review`, and `review` are all run by the `reviewer` role — never the phase author. Red-teaming is structural, not optional.
|
|
122
|
+
|
|
123
|
+
**Hard gates before irreversible work.** Approval gates sit precisely at the points where rework cost spikes: before writing a spec into a plan, before writing a plan into code, before declaring code complete.
|
|
124
|
+
|
|
125
|
+
**Host-neutral contracts.** Workflow files contain zero host-specific syntax. Host adapters (Claude, Codex, Gemini, Cursor) are generated from these canonical contracts at export time.
|
|
126
|
+
|
|
127
|
+
**No implicit carry-forward.** The `prepare-next` workflow exists precisely to make context handoff explicit. You cannot silently carry stale learnings into the next run.
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## Entering and Exiting the Pipeline
|
|
132
|
+
|
|
133
|
+
### Full run (greenfield feature)
|
|
134
|
+
|
|
135
|
+
Start at `clarify`. Run every phase in order. All gates must be passed.
|
|
136
|
+
|
|
137
|
+
### Mid-pipeline entry (approved spec exists)
|
|
138
|
+
|
|
139
|
+
If a spec artifact already exists and has been approved, enter at `author` (or `design` if author is skipped, or `plan` if both are skipped). You must still have valid upstream artifacts — the pipeline checks inputs, not just phase names.
|
|
140
|
+
|
|
141
|
+
### Execution-only entry (plan exists)
|
|
142
|
+
|
|
143
|
+
If an approved plan exists from a prior run, enter at `execute`. Wire the plan artifact as the execute input. Do not re-run planning without invalidating the existing plan.
|
|
144
|
+
|
|
145
|
+
### Audit entry (out-of-band)
|
|
146
|
+
|
|
147
|
+
`run-audit` is an independent workflow. It does not require prior pipeline state. It produces a report artifact or a plan doc in `docs/plans/` for handoff to `plan`.
|
|
148
|
+
|
|
149
|
+
### Exiting early
|
|
150
|
+
|
|
151
|
+
You may exit after any gate with a formal partial-completion artifact. The next session enters at the point of exit. `prepare-next` must always run before session end if the pipeline is incomplete.
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## Artifact Locations
|
|
156
|
+
|
|
157
|
+
State and artifacts live outside the repo by default:
|
|
158
|
+
|
|
159
|
+
```
|
|
160
|
+
~/.wazir/projects/<project-slug>/
|
|
161
|
+
runs/
|
|
162
|
+
<run-id>/
|
|
163
|
+
clarification.md
|
|
164
|
+
research.md
|
|
165
|
+
spec.md
|
|
166
|
+
spec-challenge.md
|
|
167
|
+
author/
|
|
168
|
+
design/
|
|
169
|
+
design-review.md
|
|
170
|
+
plan.md
|
|
171
|
+
plan-review.md
|
|
172
|
+
execution-notes.md
|
|
173
|
+
verification-proof.md
|
|
174
|
+
review-findings.md
|
|
175
|
+
learnings.md
|
|
176
|
+
prepare-next.md
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## Related
|
|
182
|
+
|
|
183
|
+
- [Architecture](../../../concepts/architecture.md)
|
|
184
|
+
- [Roles and Workflows](../../../concepts/roles-and-workflows.md)
|
|
185
|
+
- [Skills](../../../reference/skills.md)
|
|
186
|
+
- [Hooks](../../../reference/hooks.md)
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
# author
|
|
2
|
+
|
|
3
|
+
**Phase 5 — From approved spec to production-ready content, before a single pixel is designed.**
|
|
4
|
+
|
|
5
|
+

|
|
6
|
+

|
|
7
|
+

|
|
8
|
+

|
|
9
|
+

|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## One-Line Purpose
|
|
14
|
+
|
|
15
|
+
Write and package all non-code content artifacts — microcopy, i18n keys, seed data, glossary, asset metadata, notification templates, and a content coverage matrix — so that design and implementation work from real content, not placeholders.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Pipeline Position
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
SPEC-CHALLENGE
|
|
23
|
+
|
|
|
24
|
+
v
|
|
25
|
+
+---------+
|
|
26
|
+
| AUTHOR | <-- YOU ARE HERE
|
|
27
|
+
+---------+
|
|
28
|
+
|
|
|
29
|
+
v
|
|
30
|
+
DESIGN (or PLAN if design skipped)
|
|
31
|
+
|
|
|
32
|
+
v
|
|
33
|
+
DESIGN-REVIEW ...
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Role Responsible
|
|
39
|
+
|
|
40
|
+
`content-author`
|
|
41
|
+
|
|
42
|
+
The content author writes all user-facing text, locale keys, and supporting content from the approved spec. The content author does not design UI or write application code — it produces content artifacts that the designer and executor consume. The distinction matters: a content artifact is the source of truth for all user-facing text; it is not a suggestion.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Trigger
|
|
47
|
+
|
|
48
|
+
All of the following are true:
|
|
49
|
+
|
|
50
|
+
- Spec artifact exists and is approved
|
|
51
|
+
- Spec challenge findings are resolved (no outstanding blocking findings)
|
|
52
|
+
- Project has user-facing content needs (this phase is skippable — see Skip Conditions below)
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Skip Conditions
|
|
57
|
+
|
|
58
|
+
`author` may be skipped when:
|
|
59
|
+
|
|
60
|
+
1. The task has no user-facing text, notifications, or locale-sensitive output (a CLI tool, a background service, a data migration, a purely visual design change with no new copy)
|
|
61
|
+
2. All required content already exists in the project's locale files and only needs wiring
|
|
62
|
+
|
|
63
|
+
When skipped, proceed directly to `design` (or `plan` if design is also skipped). The plan must note the absence of an author artifact. Any content decisions become the executor's responsibility, constrained by the spec's acceptance criteria.
|
|
64
|
+
|
|
65
|
+
> [!NOTE]
|
|
66
|
+
> Skipping the author phase is a deliberate trade-off, not a shortcut. Content decisions that should be authored will instead be made ad hoc during design or implementation. This is acceptable for non-content work; it is a risk for user-facing features with multiple locales or brand constraints.
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Steps
|
|
71
|
+
|
|
72
|
+
1. **Load the approved spec and research artifacts.** Identify all UI states, screens, notifications, and interactions that require text content.
|
|
73
|
+
|
|
74
|
+
2. **Load existing glossary and locale sources** (if available). If no glossary or locale files exist (per research findings), note this and proceed with spec-derived terminology only.
|
|
75
|
+
|
|
76
|
+
3. **Author microcopy for every UI state.** For each screen and state referenced in the spec:
|
|
77
|
+
- Empty state, loading state, error state, success state
|
|
78
|
+
- Edge case states (rate limited, offline, expired, forbidden)
|
|
79
|
+
- Interactive element labels (buttons, links, tooltips)
|
|
80
|
+
|
|
81
|
+
4. **Define i18n keys.** Create key definitions with values for every required locale. Use the project's existing key naming convention if one exists.
|
|
82
|
+
|
|
83
|
+
5. **Write seed and fixture content.** Produce realistic test data values for development, testing, and demo environments. No lorem ipsum, no "test123", no "John Doe".
|
|
84
|
+
|
|
85
|
+
6. **Build the terminology glossary.** Define domain terms used in this feature's content. Resolve any conflicts with existing glossary entries.
|
|
86
|
+
|
|
87
|
+
7. **Produce asset metadata.** Write alt text for images, labels for icons, ARIA descriptions for interactive elements.
|
|
88
|
+
|
|
89
|
+
8. **Write notification templates.** Author email, push, and in-app notification content referenced in the spec.
|
|
90
|
+
|
|
91
|
+
9. **Generate the content coverage matrix.** Map every screen to every key to every locale. Flag gaps.
|
|
92
|
+
|
|
93
|
+
10. **Flag layout-sensitive content.** Identify translations or content that is significantly longer than the primary locale and flag for designer awareness.
|
|
94
|
+
|
|
95
|
+
11. **Produce the author artifact.** Package all content outputs as a single named artifact.
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## Input Artifacts
|
|
100
|
+
|
|
101
|
+
| Artifact | Location | Required |
|
|
102
|
+
|----------|----------|----------|
|
|
103
|
+
| Approved spec artifact | Run state | Yes |
|
|
104
|
+
| Research artifact | Run state | Yes |
|
|
105
|
+
| Existing glossary/locale sources | Repo or external | Optional |
|
|
106
|
+
| Brand/style guidelines | Repo or external | Optional |
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## Output Artifacts
|
|
111
|
+
|
|
112
|
+
| Artifact | Description |
|
|
113
|
+
|----------|-------------|
|
|
114
|
+
| Microcopy tables | All UI text for every state, screen, and interaction |
|
|
115
|
+
| i18n key definitions | Key-to-value mappings for all required locales |
|
|
116
|
+
| Seed/fixture content | Realistic test data for dev, test, and demo |
|
|
117
|
+
| Terminology glossary | Domain term definitions for consistency |
|
|
118
|
+
| Asset metadata manifest | Alt text, icon labels, ARIA descriptions |
|
|
119
|
+
| Notification templates | Email, push, and in-app transactional content |
|
|
120
|
+
| Content coverage matrix | Screen-to-key-to-locale completeness mapping |
|
|
121
|
+
| Author artifact (combined) | All of the above packaged as a single named artifact |
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Approval Gate
|
|
126
|
+
|
|
127
|
+
> [!IMPORTANT]
|
|
128
|
+
> **Explicit human approval is required before design begins.** The human reviews the authored content at this gate. Content informs every visual decision — button widths, banner heights, text wrapping behavior. Errors here cascade through design, planning, and execution. The cost of fixing a copy mistake increases at every downstream phase.
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## Example Run
|
|
133
|
+
|
|
134
|
+
**Spec inputs (abbreviated):**
|
|
135
|
+
- AC-1: Toggle visible at all viewport widths with label text
|
|
136
|
+
- AC-3: localStorage persistence notification
|
|
137
|
+
- AC-4: Correct rendering at 768px breakpoint (label may truncate)
|
|
138
|
+
|
|
139
|
+
**Author artifact produced:**
|
|
140
|
+
|
|
141
|
+
```
|
|
142
|
+
author/
|
|
143
|
+
microcopy/
|
|
144
|
+
dark-mode-toggle.md <- all toggle states and labels
|
|
145
|
+
dark-mode-notifications.md <- preference saved/restored messages
|
|
146
|
+
i18n/
|
|
147
|
+
dark-mode.keys.json <- key definitions, en-US + es-ES values
|
|
148
|
+
seed/
|
|
149
|
+
dark-mode-fixtures.json <- test data values
|
|
150
|
+
glossary/
|
|
151
|
+
dark-mode-terms.md <- dark mode, light mode, system preference
|
|
152
|
+
coverage/
|
|
153
|
+
dark-mode-matrix.md <- screen-to-key-to-locale mapping
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
**Key content decisions (documented in artifact):**
|
|
157
|
+
- Toggle label: "Dark mode" (not "Dark theme" or "Night mode") per glossary
|
|
158
|
+
- es-ES toggle label "Modo oscuro" is same character count — no layout flag needed
|
|
159
|
+
- Notification on preference save: "Preference saved" (transient toast, 3s)
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## Common Mistakes
|
|
164
|
+
|
|
165
|
+
| Mistake | Impact | Prevention |
|
|
166
|
+
|---------|--------|------------|
|
|
167
|
+
| Using placeholder text (lorem ipsum, TBD) | Placeholders leak to production; design is sized for wrong content | Every text field must have production-ready copy |
|
|
168
|
+
| Missing locale entries for some keys | Shipped feature shows raw keys in some locales | Content coverage matrix must show 100% for all required locales |
|
|
169
|
+
| Authoring content not in the spec | Scope creep into design and execution | Author only what the acceptance criteria require |
|
|
170
|
+
| Ignoring layout impact of long translations | Designer creates frames that break with production text | Flag translations >15% longer than primary locale |
|
|
171
|
+
| Inconsistent terminology across screens | Users see "dark mode" on one screen and "night theme" on another | Glossary is a required output; all copy must use glossary terms |
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
## Related
|
|
176
|
+
|
|
177
|
+
- [Overview — All Workflows](README.md)
|
|
178
|
+
- [Previous: spec-challenge](spec-challenge.md)
|
|
179
|
+
- [Next: design](design.md)
|
|
180
|
+
- [Architecture (author phase)](../../../concepts/architecture.md)
|
|
181
|
+
- [Roles and Workflows](../../../concepts/roles-and-workflows.md)
|