@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,509 @@
|
|
|
1
|
+
# Terminology Governance -- Content Foundation Module
|
|
2
|
+
|
|
3
|
+
> **Category:** Content Foundation
|
|
4
|
+
> **Applies to:** All platforms -- Web, iOS, Android, Desktop
|
|
5
|
+
> **Last updated:** 2026-03-14
|
|
6
|
+
> **Sources:** ISO 704 (Terminology Work -- Principles and Methods), LISA Best Practices, Translation Memory Exchange (TMX), TBX (TermBase eXchange), OASIS, SAE J2450, Phrase TMS, Memsource, memoQ, SDL MultiTerm
|
|
7
|
+
|
|
8
|
+
Terminology governance is the practice of deciding what words a product uses, keeping
|
|
9
|
+
those decisions consistent across screens, locales, and teams, and managing how terms
|
|
10
|
+
evolve over time. Without governance, "workspace" in one screen becomes "project" in
|
|
11
|
+
another and "environment" in a third -- each referring to the same concept.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 1. Why Terminology Governance Matters
|
|
16
|
+
|
|
17
|
+
### 1.1 The Cost of Inconsistency
|
|
18
|
+
|
|
19
|
+
- **Support tickets.** Users search help docs for "workspace" but the docs say
|
|
20
|
+
"project." They file a ticket because they can't find the answer.
|
|
21
|
+
- **Translation cost.** If the source language uses 3 terms for the same concept,
|
|
22
|
+
translators create 3 translations. At 40 locales, that's 120 strings instead of 40.
|
|
23
|
+
- **Onboarding friction.** New users learn one term in a tutorial, encounter a
|
|
24
|
+
different term in the product, and wonder if they mean different things.
|
|
25
|
+
- **Legal exposure.** In regulated industries (healthcare, finance), term ambiguity
|
|
26
|
+
in user agreements can create compliance risk.
|
|
27
|
+
|
|
28
|
+
### 1.2 What a Glossary Solves
|
|
29
|
+
|
|
30
|
+
A product glossary (also called a termbase) is a controlled vocabulary that maps each
|
|
31
|
+
concept to exactly one canonical term. It answers:
|
|
32
|
+
|
|
33
|
+
- What is the **approved term** for this concept? ("workspace" -- not "project" or
|
|
34
|
+
"environment")
|
|
35
|
+
- What terms are **deprecated**? ("project" was used in v1 but replaced by
|
|
36
|
+
"workspace" in v2)
|
|
37
|
+
- What is the **definition**? (A workspace is a top-level container for collections,
|
|
38
|
+
members, and settings.)
|
|
39
|
+
- What are the **translations**? (fr: "espace de travail", de: "Arbeitsbereich",
|
|
40
|
+
ar: "area_al_amal")
|
|
41
|
+
- What is the **context**? (Used in navigation, settings, and billing.)
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## 2. Term Anatomy
|
|
46
|
+
|
|
47
|
+
### 2.1 Term Record Structure
|
|
48
|
+
|
|
49
|
+
Every term in the glossary should capture these fields:
|
|
50
|
+
|
|
51
|
+
| Field | Purpose | Example |
|
|
52
|
+
|--------------------|------------------------------------------------|---------------------------------|
|
|
53
|
+
| Canonical term | The approved word | Workspace |
|
|
54
|
+
| Definition | What it means in this product | Top-level container for... |
|
|
55
|
+
| Part of speech | Noun, verb, adjective | Noun |
|
|
56
|
+
| Context | Where it appears in the product | Nav, settings, billing, API |
|
|
57
|
+
| Synonyms (banned) | Terms that mean the same but must not be used | Project, environment, space |
|
|
58
|
+
| Related terms | Terms that are related but distinct | Collection, team, organization |
|
|
59
|
+
| Status | Active, deprecated, proposed | Active |
|
|
60
|
+
| Introduced in | Version or date the term entered the product | v2.0 (2025-06-01) |
|
|
61
|
+
| Deprecated in | Version or date (if deprecated) | -- |
|
|
62
|
+
| Notes | Usage guidance, edge cases | Always lowercase in UI copy |
|
|
63
|
+
| Locale variants | Approved translations per locale | fr: espace de travail |
|
|
64
|
+
|
|
65
|
+
### 2.2 Term Types
|
|
66
|
+
|
|
67
|
+
| Type | Description | Example |
|
|
68
|
+
|---------------------|------------------------------------------------|---------------------------------|
|
|
69
|
+
| Product term | Concept specific to your product | Workspace, Flow, Sprint |
|
|
70
|
+
| Domain term | Industry-standard concept | Invoice, API key, webhook |
|
|
71
|
+
| UI term | Standard interface element name | Button, modal, dropdown |
|
|
72
|
+
| Action term | Verb used for user actions | Create, delete, archive, export |
|
|
73
|
+
| Status term | State of an object | Active, paused, draft, failed |
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## 3. Canonical vs Colloquial Terms
|
|
78
|
+
|
|
79
|
+
### 3.1 The Disambiguation Problem
|
|
80
|
+
|
|
81
|
+
Users and stakeholders use informal terms that may not match the product's canonical
|
|
82
|
+
vocabulary. Governance must bridge this gap without forcing unnatural language.
|
|
83
|
+
|
|
84
|
+
| Canonical (in product) | Colloquial (users say) | Guidance |
|
|
85
|
+
|------------------------|-----------------------------|----------------------------------|
|
|
86
|
+
| Workspace | Project, space, environment | Product uses "workspace" only |
|
|
87
|
+
| Organization | Company, team, org | "org" acceptable in compact UI |
|
|
88
|
+
| Collection | Folder, group, bucket | Never use "folder" (implies FS) |
|
|
89
|
+
| Deploy | Push, ship, release | Use "deploy" in all contexts |
|
|
90
|
+
| Webhook | Callback, hook, notification| "Webhook" is the standard |
|
|
91
|
+
| API key | Token, secret, credentials | "API key" specifically; "token" |
|
|
92
|
+
| | | is a different concept |
|
|
93
|
+
|
|
94
|
+
### 3.2 Rules for Choosing Canonical Terms
|
|
95
|
+
|
|
96
|
+
1. **Use the term your users already use.** If 80% of users say "project" and your
|
|
97
|
+
product says "workspace," you are fighting your users. Either adopt "project" or
|
|
98
|
+
have a very good reason (like "project" is a sub-concept of "workspace").
|
|
99
|
+
2. **Use the industry-standard term when one exists.** "Webhook" not "push
|
|
100
|
+
notification endpoint." "OAuth" not "third-party sign-in protocol."
|
|
101
|
+
3. **Prefer shorter terms.** "Team" over "team organization unit." "Deploy" over
|
|
102
|
+
"deployment operation."
|
|
103
|
+
4. **Prefer concrete terms over abstract ones.** "Dashboard" (specific) over "home
|
|
104
|
+
screen" (vague). "Invoice" (concrete) over "billing document" (abstract).
|
|
105
|
+
5. **Never use internal jargon in user-facing copy.** If the engineering team calls it
|
|
106
|
+
a "reconciliation job," the user sees "sync" or "update."
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## 4. Cross-Locale Alignment
|
|
111
|
+
|
|
112
|
+
### 4.1 The Translation Challenge
|
|
113
|
+
|
|
114
|
+
A canonical English term must map to exactly one term per locale. Without governance,
|
|
115
|
+
translators make independent choices, producing inconsistency:
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
English: "Workspace"
|
|
119
|
+
French translator A: "Espace de travail"
|
|
120
|
+
French translator B: "Espace projet"
|
|
121
|
+
French translator C: "Zone de travail"
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
All three are valid French, but the product now has three translations for one concept.
|
|
125
|
+
|
|
126
|
+
### 4.2 Termbase-Driven Translation
|
|
127
|
+
|
|
128
|
+
1. **Create the termbase before starting translation.** Translators receive the
|
|
129
|
+
termbase alongside the strings. The termbase is the authority.
|
|
130
|
+
2. **Lock approved translations.** In the Translation Management System (TMS), mark
|
|
131
|
+
approved term translations as locked. The TMS warns translators if they deviate.
|
|
132
|
+
3. **Provide context in the termbase.** "Workspace" in a code editor means something
|
|
133
|
+
different from "workspace" in a project management tool. Include a product-specific
|
|
134
|
+
definition and screenshot.
|
|
135
|
+
4. **Review new terms with in-locale reviewers.** Native speakers in each target
|
|
136
|
+
locale should validate that the chosen translation is natural and unambiguous in
|
|
137
|
+
their market.
|
|
138
|
+
5. **Handle untranslatable terms explicitly.** Some terms (brand names, technical
|
|
139
|
+
terms like "API") stay in English across all locales. Mark these as "do not
|
|
140
|
+
translate" (DNT) in the termbase.
|
|
141
|
+
|
|
142
|
+
### 4.3 Do-Not-Translate (DNT) List
|
|
143
|
+
|
|
144
|
+
| Term category | Examples | Guidance |
|
|
145
|
+
|------------------------|------------------------------|----------------------------------|
|
|
146
|
+
| Brand names | GitHub, Stripe, Kubernetes | Never translate |
|
|
147
|
+
| Protocol names | OAuth, HTTPS, WebSocket | Never translate |
|
|
148
|
+
| Programming terms | API, SDK, JSON, YAML | Never translate |
|
|
149
|
+
| Product features (branded) | "Flows" (if branded) | Never translate; explain locally |
|
|
150
|
+
| Proper nouns | John Doe (in examples) | Adapt to locale-appropriate names|
|
|
151
|
+
| UI labels (sometimes) | OK, Cancel | Usually translate; check locale |
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## 5. Conflict Resolution
|
|
156
|
+
|
|
157
|
+
### 5.1 When Conflicts Arise
|
|
158
|
+
|
|
159
|
+
Term conflicts occur when:
|
|
160
|
+
|
|
161
|
+
- Two teams use different terms for the same concept
|
|
162
|
+
- A new feature introduces a term that collides with an existing one
|
|
163
|
+
- A translation contradicts an established locale term
|
|
164
|
+
- Users complain that the product's term doesn't match their expectations
|
|
165
|
+
|
|
166
|
+
### 5.2 Resolution Process
|
|
167
|
+
|
|
168
|
+
```
|
|
169
|
+
1. IDENTIFY -- Document the conflict: what terms, what concepts, where used
|
|
170
|
+
2. RESEARCH -- Check user research, support tickets, competitor products,
|
|
171
|
+
industry standards, and locale implications
|
|
172
|
+
3. PROPOSE -- Draft 2-3 options with pros/cons for each
|
|
173
|
+
4. DECIDE -- Content owner (or designated terminology steward) makes the call
|
|
174
|
+
5. UPDATE -- Update the termbase, string files, docs, and UI simultaneously
|
|
175
|
+
6. ANNOUNCE -- Notify engineering, design, support, and translation teams
|
|
176
|
+
7. DEPRECATE -- Mark the old term as deprecated with a pointer to the replacement
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
### 5.3 Decision Criteria
|
|
180
|
+
|
|
181
|
+
When evaluating competing terms, score each on:
|
|
182
|
+
|
|
183
|
+
| Criterion | Weight | Question |
|
|
184
|
+
|-----------------------|--------|-----------------------------------------------|
|
|
185
|
+
| User familiarity | High | Do users already use this term? |
|
|
186
|
+
| Industry alignment | High | Is this the standard industry term? |
|
|
187
|
+
| Brevity | Medium | Is it short enough for buttons and tabs? |
|
|
188
|
+
| Translatability | Medium | Can it be cleanly translated to target locales?|
|
|
189
|
+
| Uniqueness | Medium | Does it collide with other product terms? |
|
|
190
|
+
| Searchability | Low | Can users find it in search/help? |
|
|
191
|
+
| Trademark risk | Low | Is it trademarked by a competitor? |
|
|
192
|
+
|
|
193
|
+
### 5.4 Example Conflict Resolution
|
|
194
|
+
|
|
195
|
+
**Conflict:** The billing team calls it "subscription." The product team calls it
|
|
196
|
+
"plan." The API calls it "license." Users search for "pricing."
|
|
197
|
+
|
|
198
|
+
**Research:**
|
|
199
|
+
- Support tickets: 60% say "plan," 30% say "subscription," 10% say "pricing."
|
|
200
|
+
- Competitors (Slack, GitHub, Notion): all use "plan" for the tier and "subscription"
|
|
201
|
+
for the recurring payment relationship.
|
|
202
|
+
|
|
203
|
+
**Decision:** "Plan" = the tier (Free, Pro, Enterprise). "Subscription" = the billing
|
|
204
|
+
relationship (active, canceled, past due). "Pricing" = the public page listing plans.
|
|
205
|
+
"License" deprecated in user-facing contexts.
|
|
206
|
+
|
|
207
|
+
**Termbase update:**
|
|
208
|
+
| Term | Definition | Status | Banned synonyms |
|
|
209
|
+
|--------------|-------------------------------------|------------|-------------------|
|
|
210
|
+
| Plan | A tier of features and limits | Active | License, package |
|
|
211
|
+
| Subscription | The billing relationship to a plan | Active | Membership |
|
|
212
|
+
| Pricing | The public page listing plans | Active | Rates, fees |
|
|
213
|
+
| License | (deprecated -- use "plan") | Deprecated | -- |
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
## 6. Domain Research
|
|
218
|
+
|
|
219
|
+
### 6.1 When to Research
|
|
220
|
+
|
|
221
|
+
Research terms when:
|
|
222
|
+
|
|
223
|
+
- Entering a new industry vertical (healthcare, finance, education)
|
|
224
|
+
- Adding a feature that uses domain-specific concepts
|
|
225
|
+
- Users report confusion about existing terms
|
|
226
|
+
- Expanding to a new locale where industry terms may differ
|
|
227
|
+
|
|
228
|
+
### 6.2 Research Sources
|
|
229
|
+
|
|
230
|
+
| Source | What it provides | When to use |
|
|
231
|
+
|-------------------------|-----------------------------------------------|-------------------------------|
|
|
232
|
+
| User interviews | Terms users actually say | Always |
|
|
233
|
+
| Support ticket analysis | Terms users search for and fail to find | Before renaming anything |
|
|
234
|
+
| Competitor products | Industry conventions | When entering a new vertical |
|
|
235
|
+
| Industry standards | Regulated or standardized terminology | Healthcare, finance, legal |
|
|
236
|
+
| ISO / W3C / IETF docs | Formal definitions | Technical standards |
|
|
237
|
+
| In-locale reviewers | Cultural and linguistic validation | Before launching in new locale|
|
|
238
|
+
| Analytics (search logs) | What users type when looking for a concept | Post-launch optimization |
|
|
239
|
+
|
|
240
|
+
### 6.3 Research Deliverable
|
|
241
|
+
|
|
242
|
+
A term research document should contain:
|
|
243
|
+
|
|
244
|
+
```
|
|
245
|
+
Term: [the concept being named]
|
|
246
|
+
Context: [where it appears in the product]
|
|
247
|
+
|
|
248
|
+
Candidate terms:
|
|
249
|
+
1. [term A] -- used by [competitors/standards/users]. Pros: ... Cons: ...
|
|
250
|
+
2. [term B] -- used by [competitors/standards/users]. Pros: ... Cons: ...
|
|
251
|
+
3. [term C] -- used by [competitors/standards/users]. Pros: ... Cons: ...
|
|
252
|
+
|
|
253
|
+
User evidence:
|
|
254
|
+
- [N]% of support tickets use term [X]
|
|
255
|
+
- [N] out of [M] interviewees used term [Y]
|
|
256
|
+
|
|
257
|
+
Recommendation: [term] because [rationale]
|
|
258
|
+
Locale implications: [any translation concerns]
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
---
|
|
262
|
+
|
|
263
|
+
## 7. Term Lifecycle
|
|
264
|
+
|
|
265
|
+
### 7.1 Lifecycle Stages
|
|
266
|
+
|
|
267
|
+
```
|
|
268
|
+
PROPOSED -> APPROVED -> ACTIVE -> DEPRECATED -> REMOVED
|
|
269
|
+
|
|
270
|
+
PROPOSED: Suggested by any team member. Under review.
|
|
271
|
+
APPROVED: Accepted by the terminology steward. Not yet in the product.
|
|
272
|
+
ACTIVE: In the product, in the termbase, in translations.
|
|
273
|
+
DEPRECATED: Replaced by a new term. Old term still appears in legacy contexts.
|
|
274
|
+
Product shows the new term; docs mention the old term for migration.
|
|
275
|
+
REMOVED: Old term no longer appears anywhere in the product.
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
### 7.2 Deprecation Protocol
|
|
279
|
+
|
|
280
|
+
When a term is deprecated:
|
|
281
|
+
|
|
282
|
+
1. **Add a termbase entry** marking it as deprecated with a pointer to the replacement.
|
|
283
|
+
2. **Update all string files** to use the new term. Run a project-wide search to catch
|
|
284
|
+
every occurrence.
|
|
285
|
+
3. **Update documentation, help center, and API docs.** Add a note: "Formerly known
|
|
286
|
+
as [old term]."
|
|
287
|
+
4. **Add a redirect** if the old term appeared in URLs.
|
|
288
|
+
5. **Keep the old term in search indexes** for 2 major versions. Users who learned the
|
|
289
|
+
old term need to find the new one by searching the old one.
|
|
290
|
+
6. **Notify translators** that the old locale variants are deprecated and the new term
|
|
291
|
+
needs translation.
|
|
292
|
+
|
|
293
|
+
### 7.3 Version Tracking
|
|
294
|
+
|
|
295
|
+
| Term | v1.0 | v2.0 | v3.0 | Notes |
|
|
296
|
+
|------------|----------|-------------|----------|---------------------------|
|
|
297
|
+
| Project | Active | Deprecated | Removed | Replaced by "Workspace" |
|
|
298
|
+
| Workspace | -- | Active | Active | Replaced "Project" |
|
|
299
|
+
| Flow | -- | -- | Active | New concept in v3.0 |
|
|
300
|
+
| Pipeline | Active | Active | Deprecated| Replaced by "Flow" in v3 |
|
|
301
|
+
|
|
302
|
+
---
|
|
303
|
+
|
|
304
|
+
## 8. Glossary File Formats
|
|
305
|
+
|
|
306
|
+
### 8.1 Simple Format (Markdown)
|
|
307
|
+
|
|
308
|
+
For small teams and products with fewer than 100 terms:
|
|
309
|
+
|
|
310
|
+
```markdown
|
|
311
|
+
# Product Glossary
|
|
312
|
+
|
|
313
|
+
## Workspace
|
|
314
|
+
**Definition:** A top-level container for collections, members, and settings.
|
|
315
|
+
**Part of speech:** Noun
|
|
316
|
+
**Status:** Active (v2.0)
|
|
317
|
+
**Banned synonyms:** Project, environment, space
|
|
318
|
+
**Translations:** fr: espace de travail | de: Arbeitsbereich | ja: waaku supeesu
|
|
319
|
+
**Notes:** Always lowercase in UI copy unless at the start of a sentence.
|
|
320
|
+
|
|
321
|
+
## Collection
|
|
322
|
+
**Definition:** A group of related items within a workspace.
|
|
323
|
+
**Part of speech:** Noun
|
|
324
|
+
**Status:** Active (v1.0)
|
|
325
|
+
**Banned synonyms:** Folder, group, bucket
|
|
326
|
+
**Translations:** fr: collection | de: Sammlung | ja: korekushon
|
|
327
|
+
**Notes:** Never use "folder" -- it implies a filesystem metaphor.
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
### 8.2 Machine-Readable Format (TBX)
|
|
331
|
+
|
|
332
|
+
For integration with Translation Management Systems:
|
|
333
|
+
|
|
334
|
+
```xml
|
|
335
|
+
<termEntry id="workspace">
|
|
336
|
+
<descrip type="definition">A top-level container for collections, members,
|
|
337
|
+
and settings.</descrip>
|
|
338
|
+
<descrip type="context">Navigation, settings, billing, API</descrip>
|
|
339
|
+
<langSet xml:lang="en">
|
|
340
|
+
<tig>
|
|
341
|
+
<term>workspace</term>
|
|
342
|
+
<termNote type="termType">canonical</termNote>
|
|
343
|
+
<termNote type="administrativeStatus">preferredTerm-admn-sts</termNote>
|
|
344
|
+
</tig>
|
|
345
|
+
<tig>
|
|
346
|
+
<term>project</term>
|
|
347
|
+
<termNote type="termType">synonym</termNote>
|
|
348
|
+
<termNote type="administrativeStatus">deprecatedTerm-admn-sts</termNote>
|
|
349
|
+
</tig>
|
|
350
|
+
</langSet>
|
|
351
|
+
<langSet xml:lang="fr">
|
|
352
|
+
<tig>
|
|
353
|
+
<term>espace de travail</term>
|
|
354
|
+
<termNote type="administrativeStatus">preferredTerm-admn-sts</termNote>
|
|
355
|
+
</tig>
|
|
356
|
+
</langSet>
|
|
357
|
+
</termEntry>
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
### 8.3 JSON Format
|
|
361
|
+
|
|
362
|
+
For integration with CI/CD and linting tools:
|
|
363
|
+
|
|
364
|
+
```json
|
|
365
|
+
{
|
|
366
|
+
"workspace": {
|
|
367
|
+
"definition": "A top-level container for collections, members, and settings.",
|
|
368
|
+
"partOfSpeech": "noun",
|
|
369
|
+
"status": "active",
|
|
370
|
+
"since": "v2.0",
|
|
371
|
+
"bannedSynonyms": ["project", "environment", "space"],
|
|
372
|
+
"relatedTerms": ["collection", "team", "organization"],
|
|
373
|
+
"translations": {
|
|
374
|
+
"fr": "espace de travail",
|
|
375
|
+
"de": "Arbeitsbereich",
|
|
376
|
+
"ja": "waaku supeesu"
|
|
377
|
+
},
|
|
378
|
+
"notes": "Always lowercase in UI copy unless at start of sentence."
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
---
|
|
384
|
+
|
|
385
|
+
## 9. Enforcement
|
|
386
|
+
|
|
387
|
+
### 9.1 Automated Enforcement
|
|
388
|
+
|
|
389
|
+
| Method | What it catches | When to run |
|
|
390
|
+
|-------------------------|---------------------------------------------|------------------------|
|
|
391
|
+
| String file linter | Banned synonyms in translation source files | CI on every PR |
|
|
392
|
+
| Spell-check dictionary | Unapproved terms in docs and UI | CI on every PR |
|
|
393
|
+
| TMS term check | Translator deviation from approved terms | During translation |
|
|
394
|
+
| Search log analysis | User confusion signals (search, no result) | Monthly review |
|
|
395
|
+
| PR review checklist | New terms introduced without termbase entry | Code review |
|
|
396
|
+
|
|
397
|
+
### 9.2 Linting Rule Example
|
|
398
|
+
|
|
399
|
+
A custom lint rule that flags banned synonyms in string files:
|
|
400
|
+
|
|
401
|
+
```javascript
|
|
402
|
+
// .glossary-lint.config.js
|
|
403
|
+
module.exports = {
|
|
404
|
+
rules: [
|
|
405
|
+
{
|
|
406
|
+
term: "workspace",
|
|
407
|
+
bannedSynonyms: ["project", "environment", "space"],
|
|
408
|
+
message: "Use 'workspace' instead. See glossary: /docs/glossary.md#workspace"
|
|
409
|
+
},
|
|
410
|
+
{
|
|
411
|
+
term: "deploy",
|
|
412
|
+
bannedSynonyms: ["push", "ship", "release"],
|
|
413
|
+
message: "Use 'deploy' for this action. See glossary: /docs/glossary.md#deploy"
|
|
414
|
+
}
|
|
415
|
+
]
|
|
416
|
+
};
|
|
417
|
+
```
|
|
418
|
+
|
|
419
|
+
### 9.3 Human Enforcement
|
|
420
|
+
|
|
421
|
+
1. **Terminology steward.** Designate one person (usually a content designer or
|
|
422
|
+
technical writer) as the owner of the glossary. They approve new terms, resolve
|
|
423
|
+
conflicts, and coordinate with translation.
|
|
424
|
+
2. **PR review gate.** Any PR that introduces a new user-facing string gets reviewed
|
|
425
|
+
for terminology compliance.
|
|
426
|
+
3. **Quarterly audit.** Review the glossary against the live product. Flag terms that
|
|
427
|
+
have drifted or are no longer used.
|
|
428
|
+
|
|
429
|
+
---
|
|
430
|
+
|
|
431
|
+
## 10. Common Mistakes in AI-Generated Terminology
|
|
432
|
+
|
|
433
|
+
### 10.1 Synonym Drift
|
|
434
|
+
|
|
435
|
+
**The problem:** AI generates "workspace" in one component and "project space" in
|
|
436
|
+
another. Each generation draws from its training distribution without a canonical
|
|
437
|
+
glossary constraint.
|
|
438
|
+
|
|
439
|
+
**How to fix:** Include the glossary in the AI prompt context. Explicitly list
|
|
440
|
+
"canonical term: workspace. Banned synonyms: project, space, environment."
|
|
441
|
+
|
|
442
|
+
### 10.2 Inventing Branded Terms
|
|
443
|
+
|
|
444
|
+
**The problem:** AI creates novel branded terminology ("Acme SmartSync", "DataBridge
|
|
445
|
+
Pro") for features that should use generic, descriptive names.
|
|
446
|
+
|
|
447
|
+
**How to fix:** Unless the product strategy explicitly calls for branded feature names,
|
|
448
|
+
use descriptive terms. "Automatic sync" not "SmartSync."
|
|
449
|
+
|
|
450
|
+
### 10.3 Inconsistent Verb Tense
|
|
451
|
+
|
|
452
|
+
**The problem:** AI uses "Created" (past), "Creating" (present progressive), and
|
|
453
|
+
"Create" (imperative) for the same action across different screens.
|
|
454
|
+
|
|
455
|
+
**How to fix:** Define canonical verbs in the glossary with approved tense:
|
|
456
|
+
- Button: "Create" (imperative)
|
|
457
|
+
- Status: "Creating" (progressive) or "Created" (completed)
|
|
458
|
+
- Confirmation: "Created" (past)
|
|
459
|
+
|
|
460
|
+
### 10.4 Technical Leakage
|
|
461
|
+
|
|
462
|
+
**The problem:** AI surfaces internal terminology in user-facing copy: "The
|
|
463
|
+
reconciliation job failed" or "Null reference in user entity."
|
|
464
|
+
|
|
465
|
+
**How to fix:** Maintain a list of internal-only terms that must never appear in
|
|
466
|
+
user-facing strings. Add a lint rule to flag them.
|
|
467
|
+
|
|
468
|
+
---
|
|
469
|
+
|
|
470
|
+
## 11. Quick Reference Checklist
|
|
471
|
+
|
|
472
|
+
### Glossary Setup
|
|
473
|
+
- [ ] **Every product concept has exactly one canonical term**
|
|
474
|
+
- [ ] **Every term has a definition, status, and context**
|
|
475
|
+
- [ ] **Banned synonyms are listed for every canonical term**
|
|
476
|
+
- [ ] **Do-not-translate terms are explicitly marked**
|
|
477
|
+
- [ ] **Glossary is versioned alongside the product**
|
|
478
|
+
|
|
479
|
+
### Cross-Locale
|
|
480
|
+
- [ ] **Termbase provided to translators before translation starts**
|
|
481
|
+
- [ ] **Approved translations locked in the TMS**
|
|
482
|
+
- [ ] **In-locale reviewers validated the translations**
|
|
483
|
+
- [ ] **Untranslatable terms marked as DNT**
|
|
484
|
+
|
|
485
|
+
### Enforcement
|
|
486
|
+
- [ ] **String file linter checks for banned synonyms in CI**
|
|
487
|
+
- [ ] **PR review includes terminology check**
|
|
488
|
+
- [ ] **Quarterly audit scheduled**
|
|
489
|
+
- [ ] **Terminology steward designated**
|
|
490
|
+
|
|
491
|
+
### Lifecycle
|
|
492
|
+
- [ ] **New terms go through PROPOSED -> APPROVED -> ACTIVE**
|
|
493
|
+
- [ ] **Deprecated terms have a pointer to the replacement**
|
|
494
|
+
- [ ] **Old terms remain searchable for 2 major versions**
|
|
495
|
+
- [ ] **Docs and help center updated when terms change**
|
|
496
|
+
|
|
497
|
+
---
|
|
498
|
+
|
|
499
|
+
**Sources:**
|
|
500
|
+
|
|
501
|
+
- [ISO 704 -- Terminology Work: Principles and Methods](https://www.iso.org/standard/79077.html)
|
|
502
|
+
- [TBX (TermBase eXchange) -- ISO 30042](https://www.tbxinfo.net)
|
|
503
|
+
- [LISA -- Globalization Industry Best Practices](https://www.lisa.org)
|
|
504
|
+
- [Phrase -- Terminology Management](https://phrase.com/blog/posts/terminology-management/)
|
|
505
|
+
- [SDL MultiTerm -- Terminology Management](https://www.trados.com/products/multiterm/)
|
|
506
|
+
- [memoQ -- Terminology Guide](https://docs.memoq.com/current/en/Places/term-bases.html)
|
|
507
|
+
- [Google Developer Documentation Style Guide -- Word List](https://developers.google.com/style/word-list)
|
|
508
|
+
- [Microsoft Terminology -- Microsoft Style Guide](https://learn.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/term-collections/)
|
|
509
|
+
- [W3C -- Internationalization Best Practices for Terminology](https://www.w3.org/International/techniques/)
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Directory Purpose
|
|
2
|
+
|
|
3
|
+
The `content` directory provides expertise for writing, structuring, and governing user-facing text in software products. It covers microcopy, dynamic string architecture, editorial standards, and terminology management -- the craft of content that ships inside interfaces.
|
|
4
|
+
|
|
5
|
+
# Key Concepts
|
|
6
|
+
|
|
7
|
+
- UX writing and microcopy patterns
|
|
8
|
+
- Dynamic and localizable string design
|
|
9
|
+
- Editorial voice, tone, and governance
|
|
10
|
+
- Terminology lifecycle and glossary management
|
|
11
|
+
|
|
12
|
+
# File Map
|
|
13
|
+
|
|
14
|
+
- `index.md` -- semantic map of the content directory
|
|
15
|
+
|
|
16
|
+
# Subdirectories
|
|
17
|
+
|
|
18
|
+
- `/foundations` -- microcopy, content modeling, editorial standards, and terminology governance
|
|
19
|
+
- `/patterns` -- reusable content patterns for UI states, notifications, accessibility copy, and sample data
|
|
20
|
+
|
|
21
|
+
# Reading Guide
|
|
22
|
+
|
|
23
|
+
If writing UI copy (buttons, errors, tooltips) -> read `/foundations/microcopy.md`
|
|
24
|
+
If designing strings that include variables, plurals, or conditionals -> read `/foundations/content-modeling.md`
|
|
25
|
+
If establishing or auditing editorial rules -> read `/foundations/editorial-standards.md`
|
|
26
|
+
If managing a product glossary or resolving term conflicts -> read `/foundations/terminology-governance.md`
|
|
27
|
+
If writing error, empty, or loading state copy -> read `/patterns/state-copy.md`
|
|
28
|
+
If structuring push notifications or emails -> read `/patterns/notification-content.md`
|
|
29
|
+
If improving screen reader text or cognitive accessibility -> read `/patterns/accessibility-copy.md`
|
|
30
|
+
|
|
31
|
+
# Relationship to Other Domains
|
|
32
|
+
|
|
33
|
+
- **i18n** -- The `i18n` domain covers the technical plumbing of localization (ICU MessageFormat syntax, CLDR rules, string externalization file formats). This `content` domain covers the writing decisions that feed into that plumbing: what the strings say, how they are structured for translation, and what editorial rules govern them.
|
|
34
|
+
- **design** -- The `design` domain covers visual hierarchy and layout. This `content` domain covers the text that lives inside those layouts: button labels, error messages, empty states, and tooltips.
|