cfsa-antigravity 3.0.2 → 3.1.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/README.md +27 -10
- package/bin/cli.mjs +7 -6
- package/package.json +1 -1
- package/template/.agent/PRDS/codex-runtime-support.md +2 -2
- package/template/.agent/TASKS/codex-runtime-support.md +2 -2
- package/template/.agent/instructions/workflow.md +3 -3
- package/template/.agent/kit-sync.md +3 -3
- package/template/.agent/rules/completion-checklist.md +3 -3
- package/template/.agent/skills/parallel-agents/SKILL.md +1 -1
- package/template/.agent/skills/session-continuity/SKILL.md +6 -6
- package/template/.agent/skills/session-continuity/protocols/01-session-resumption.md +1 -1
- package/template/.agent/skills/session-continuity/protocols/02-progress-generation.md +3 -3
- package/template/.agent/skills/session-continuity/protocols/03-progress-update.md +4 -4
- package/template/.agent/skills/session-continuity/protocols/07-spec-pipeline-generation.md +1 -1
- package/template/.agent/skills/session-continuity/protocols/08-spec-pipeline-update.md +2 -2
- package/template/.agent/skills/session-continuity/protocols/11-parallel-synthesis.md +1 -1
- package/template/.agent/workflows/create-prd-architecture.md +2 -2
- package/template/.agent/workflows/create-prd-design-system.md +2 -2
- package/template/.agent/workflows/create-prd-security.md +2 -2
- package/template/.agent/workflows/create-prd-stack.md +2 -2
- package/template/.agent/workflows/create-prd.md +2 -2
- package/template/.agent/workflows/decompose-architecture-validate.md +1 -1
- package/template/.agent/workflows/decompose-architecture.md +2 -2
- package/template/.agent/workflows/ideate.md +2 -2
- package/template/.agent/workflows/implement-slice-setup.md +1 -1
- package/template/.agent/workflows/implement-slice-tdd.md +3 -3
- package/template/.agent/workflows/implement-slice.md +2 -2
- package/template/.agent/workflows/plan-phase-preflight.md +2 -2
- package/template/.agent/workflows/plan-phase-write.md +2 -2
- package/template/.agent/workflows/plan-phase.md +2 -2
- package/template/.agent/workflows/setup-workspace.md +2 -2
- package/template/.agent/workflows/update-architecture-map.md +1 -1
- package/template/.agent/workflows/validate-phase-quality.md +1 -1
- package/template/.agent/workflows/validate-phase-readiness.md +2 -2
- package/template/.agent/workflows/validate-phase.md +2 -2
- package/template/.agent/workflows/verify-infrastructure.md +1 -1
- package/template/.agent/workflows/write-architecture-spec-deepen.md +3 -3
- package/template/.agent/workflows/write-architecture-spec-design.md +1 -1
- package/template/.agent/workflows/write-architecture-spec.md +3 -3
- package/template/.agent/workflows/write-be-spec-classify.md +1 -1
- package/template/.agent/workflows/write-be-spec-write.md +3 -3
- package/template/.agent/workflows/write-be-spec.md +3 -3
- package/template/.agent/workflows/write-fe-spec-classify.md +1 -1
- package/template/.agent/workflows/write-fe-spec-write.md +2 -2
- package/template/.agent/workflows/write-fe-spec.md +3 -3
- package/template/.claude/README.md +3 -1
- package/template/.claude/instructions/workflow.md +3 -3
- package/template/.claude/kit-sync.md +3 -3
- package/template/.claude/rules/completion-checklist.md +3 -3
- package/template/.claude/skills/parallel-agents/SKILL.md +1 -1
- package/template/.claude/skills/plan-phase/SKILL.md +2 -2
- package/template/.claude/skills/plan-phase-preflight/SKILL.md +2 -2
- package/template/.claude/skills/session-continuity/SKILL.md +6 -6
- package/template/.claude/skills/session-continuity/protocols/01-session-resumption.md +1 -1
- package/template/.claude/skills/session-continuity/protocols/02-progress-generation.md +3 -3
- package/template/.claude/skills/session-continuity/protocols/03-progress-update.md +4 -4
- package/template/.claude/skills/session-continuity/protocols/07-spec-pipeline-generation.md +1 -1
- package/template/.claude/skills/session-continuity/protocols/08-spec-pipeline-update.md +2 -2
- package/template/.claude/skills/session-continuity/protocols/11-parallel-synthesis.md +1 -1
- package/template/.claude/skills/setup/setup-cfsa.md +1 -1
- package/template/.claude/skills/write-architecture-spec/SKILL.md +2 -2
- package/template/.claude/skills/write-architecture-spec-deepen/SKILL.md +1 -1
- package/template/.claude/skills/write-architecture-spec-design/SKILL.md +1 -1
- package/template/.claude/skills/write-be-spec/SKILL.md +3 -3
- package/template/.claude/skills/write-be-spec-classify/SKILL.md +1 -1
- package/template/.claude/skills/write-be-spec-write/SKILL.md +1 -1
- package/template/.claude/skills/write-fe-spec/SKILL.md +3 -3
- package/template/.claude/skills/write-fe-spec-write/SKILL.md +1 -1
- package/template/.codex/README.md +99 -0
- package/template/.codex/instructions/commands.md +24 -0
- package/template/.codex/instructions/example.md +21 -0
- package/template/.codex/instructions/patterns.md +61 -0
- package/template/.codex/instructions/structure.md +29 -0
- package/template/.codex/instructions/tech-stack.md +93 -0
- package/template/.codex/instructions/workflow.md +64 -0
- package/template/.codex/kit-sync.md +6 -0
- package/template/.codex/rules/boundary-not-placeholder.md +146 -0
- package/template/.codex/rules/completion-checklist.md +60 -0
- package/template/.codex/rules/debug-by-test.md +49 -0
- package/template/.codex/rules/decision-classification.md +113 -0
- package/template/.codex/rules/extensibility.md +52 -0
- package/template/.codex/rules/memory-capture.md +84 -0
- package/template/.codex/rules/question-vs-command.md +91 -0
- package/template/.codex/rules/security-first.md +54 -0
- package/template/.codex/rules/single-question.md +59 -0
- package/template/.codex/rules/skill-mcp-first.md +45 -0
- package/template/.codex/rules/source-before-ask.md +93 -0
- package/template/.codex/rules/specificity-standards.md +64 -0
- package/template/.codex/rules/tdd-contract-first.md +67 -0
- package/template/.codex/rules/vertical-slices.md +83 -0
- package/template/.codex/skill-library/MANIFEST.md +498 -0
- package/template/.codex/skill-library/README.md +38 -0
- package/template/.codex/skill-library/meta/claude-code/README.md +9 -0
- package/template/.codex/skill-library/meta/claude-code/agent-development/SKILL.md +415 -0
- package/template/.codex/skill-library/meta/claude-code/hook-development/SKILL.md +712 -0
- package/template/.codex/skill-library/meta/claude-code/plugin-structure/SKILL.md +476 -0
- package/template/.codex/skill-library/meta/mcp-builder/SKILL.md +236 -0
- package/template/.codex/skill-library/meta/product-marketing-context/SKILL.md +241 -0
- package/template/.codex/skill-library/meta/tmux-processes/SKILL.md +210 -0
- package/template/.codex/skill-library/meta/using-tmux-for-interactive-commands/SKILL.md +178 -0
- package/template/.codex/skill-library/stack/3d/threejs-pro/SKILL.md +300 -0
- package/template/.codex/skill-library/stack/ai/ai-sdk/SKILL.md +77 -0
- package/template/.codex/skill-library/stack/ai/langchain/SKILL.md +530 -0
- package/template/.codex/skill-library/stack/ai/ollama/SKILL.md +321 -0
- package/template/.codex/skill-library/stack/ai/openai-sdk/SKILL.md +549 -0
- package/template/.codex/skill-library/stack/analytics/google-analytics/SKILL.md +153 -0
- package/template/.codex/skill-library/stack/api/graphql/SKILL.md +1061 -0
- package/template/.codex/skill-library/stack/api/trpc/SKILL.md +576 -0
- package/template/.codex/skill-library/stack/auth/authjs/SKILL.md +569 -0
- package/template/.codex/skill-library/stack/auth/clerk/SKILL.md +590 -0
- package/template/.codex/skill-library/stack/auth/firebase-auth/SKILL.md +734 -0
- package/template/.codex/skill-library/stack/auth/lucia/SKILL.md +230 -0
- package/template/.codex/skill-library/stack/auth/supabase-auth/SKILL.md +293 -0
- package/template/.codex/skill-library/stack/cms/payload-cms/SKILL.md +573 -0
- package/template/.codex/skill-library/stack/cms/shopify/SKILL.md +1193 -0
- package/template/.codex/skill-library/stack/cms/wordpress/SKILL.md +1104 -0
- package/template/.codex/skill-library/stack/css/sass-scss/SKILL.md +1121 -0
- package/template/.codex/skill-library/stack/css/tailwind-css-patterns/SKILL.md +863 -0
- package/template/.codex/skill-library/stack/css/tailwind-design-system/SKILL.md +490 -0
- package/template/.codex/skill-library/stack/css/vanilla-css/SKILL.md +1078 -0
- package/template/.codex/skill-library/stack/databases/clickhouse/SKILL.md +311 -0
- package/template/.codex/skill-library/stack/databases/influxdb/SKILL.md +280 -0
- package/template/.codex/skill-library/stack/databases/lancedb/SKILL.md +415 -0
- package/template/.codex/skill-library/stack/databases/mongodb/SKILL.md +1169 -0
- package/template/.codex/skill-library/stack/databases/neo4j/SKILL.md +839 -0
- package/template/.codex/skill-library/stack/databases/pgvector/SKILL.md +241 -0
- package/template/.codex/skill-library/stack/databases/pinecone/SKILL.md +212 -0
- package/template/.codex/skill-library/stack/databases/postgresql/SKILL.md +658 -0
- package/template/.codex/skill-library/stack/databases/qdrant/SKILL.md +312 -0
- package/template/.codex/skill-library/stack/databases/redis/SKILL.md +1079 -0
- package/template/.codex/skill-library/stack/databases/spacetimedb/SKILL.md +532 -0
- package/template/.codex/skill-library/stack/databases/sqlite/SKILL.md +1132 -0
- package/template/.codex/skill-library/stack/databases/supabase/SKILL.md +640 -0
- package/template/.codex/skill-library/stack/databases/surrealdb-expert/SKILL.md +945 -0
- package/template/.codex/skill-library/stack/databases/timescaledb/SKILL.md +745 -0
- package/template/.codex/skill-library/stack/databases/weaviate/SKILL.md +218 -0
- package/template/.codex/skill-library/stack/devops/git-advanced/SKILL.md +972 -0
- package/template/.codex/skill-library/stack/devops/git-workflow/SKILL.md +420 -0
- package/template/.codex/skill-library/stack/devops/github-actions/SKILL.md +554 -0
- package/template/.codex/skill-library/stack/devops/kubernetes/SKILL.md +950 -0
- package/template/.codex/skill-library/stack/devops/nginx/SKILL.md +841 -0
- package/template/.codex/skill-library/stack/devops/terraform/SKILL.md +860 -0
- package/template/.codex/skill-library/stack/email/resend/SKILL.md +391 -0
- package/template/.codex/skill-library/stack/extensions/chrome-extension/SKILL.md +375 -0
- package/template/.codex/skill-library/stack/extensions/plasmo/SKILL.md +195 -0
- package/template/.codex/skill-library/stack/extensions/vscode-extension/SKILL.md +453 -0
- package/template/.codex/skill-library/stack/extensions/wxt/SKILL.md +216 -0
- package/template/.codex/skill-library/stack/feature-flags/flagsmith/SKILL.md +187 -0
- package/template/.codex/skill-library/stack/feature-flags/launchdarkly/SKILL.md +183 -0
- package/template/.codex/skill-library/stack/feature-flags/posthog-flags/SKILL.md +189 -0
- package/template/.codex/skill-library/stack/frameworks/astro-framework/SKILL.md +162 -0
- package/template/.codex/skill-library/stack/frameworks/electron/SKILL.md +1286 -0
- package/template/.codex/skill-library/stack/frameworks/fastapi/SKILL.md +650 -0
- package/template/.codex/skill-library/stack/frameworks/hono/SKILL.md +90 -0
- package/template/.codex/skill-library/stack/frameworks/nestjs/SKILL.md +878 -0
- package/template/.codex/skill-library/stack/frameworks/nextjs/SKILL.md +635 -0
- package/template/.codex/skill-library/stack/frameworks/nuxt/SKILL.md +564 -0
- package/template/.codex/skill-library/stack/frameworks/svelte5/SKILL.md +81 -0
- package/template/.codex/skill-library/stack/frameworks/svelte5/references/events.md +353 -0
- package/template/.codex/skill-library/stack/frameworks/svelte5/references/migration.md +339 -0
- package/template/.codex/skill-library/stack/frameworks/svelte5/references/performance.md +443 -0
- package/template/.codex/skill-library/stack/frameworks/svelte5/references/runes.md +394 -0
- package/template/.codex/skill-library/stack/frameworks/svelte5/references/snippets.md +291 -0
- package/template/.codex/skill-library/stack/frameworks/svelte5/references/sveltekit.md +401 -0
- package/template/.codex/skill-library/stack/frameworks/svelte5/references/typescript.md +305 -0
- package/template/.codex/skill-library/stack/frameworks/sveltekit/SKILL.md +614 -0
- package/template/.codex/skill-library/stack/frameworks/tauri/SKILL.md +920 -0
- package/template/.codex/skill-library/stack/gamedev/godot/SKILL.md +1032 -0
- package/template/.codex/skill-library/stack/gamedev/unity/SKILL.md +1175 -0
- package/template/.codex/skill-library/stack/hosting/aws/SKILL.md +467 -0
- package/template/.codex/skill-library/stack/hosting/cloudflare/SKILL.md +201 -0
- package/template/.codex/skill-library/stack/hosting/docker-expert/SKILL.md +409 -0
- package/template/.codex/skill-library/stack/hosting/vercel/SKILL.md +484 -0
- package/template/.codex/skill-library/stack/languages/bash-scripting/SKILL.md +773 -0
- package/template/.codex/skill-library/stack/languages/c-cpp/SKILL.md +712 -0
- package/template/.codex/skill-library/stack/languages/gdscript/SKILL.md +789 -0
- package/template/.codex/skill-library/stack/languages/go/SKILL.md +664 -0
- package/template/.codex/skill-library/stack/languages/java/SKILL.md +778 -0
- package/template/.codex/skill-library/stack/languages/kotlin/SKILL.md +665 -0
- package/template/.codex/skill-library/stack/languages/python/SKILL.md +678 -0
- package/template/.codex/skill-library/stack/languages/rust/SKILL.md +673 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/SKILL.md +141 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/advanced-generics.md +90 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/branded-types.md +57 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/builder-pattern.md +71 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/common-pitfalls.md +135 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/conditional-types.md +27 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/decorators.md +98 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/discriminated-unions.md +62 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/mapped-types.md +53 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/performance-best-practices.md +104 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/template-literal-types.md +49 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/testing-types.md +112 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/type-guards.md +70 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/type-inference.md +101 -0
- package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/utility-types.md +98 -0
- package/template/.codex/skill-library/stack/languages/vanilla-javascript/SKILL.md +803 -0
- package/template/.codex/skill-library/stack/messaging/kafka/SKILL.md +235 -0
- package/template/.codex/skill-library/stack/messaging/nats/SKILL.md +147 -0
- package/template/.codex/skill-library/stack/messaging/rabbitmq/SKILL.md +178 -0
- package/template/.codex/skill-library/stack/messaging/sqs/SKILL.md +187 -0
- package/template/.codex/skill-library/stack/mobile/expo-react-native/SKILL.md +665 -0
- package/template/.codex/skill-library/stack/mobile/flutter/SKILL.md +316 -0
- package/template/.codex/skill-library/stack/mobile/kotlin-compose/SKILL.md +215 -0
- package/template/.codex/skill-library/stack/mobile/react-native/SKILL.md +337 -0
- package/template/.codex/skill-library/stack/mobile/swiftui/SKILL.md +261 -0
- package/template/.codex/skill-library/stack/monitoring/posthog/SKILL.md +396 -0
- package/template/.codex/skill-library/stack/monitoring/sentry/SKILL.md +509 -0
- package/template/.codex/skill-library/stack/notifications/fcm/SKILL.md +229 -0
- package/template/.codex/skill-library/stack/notifications/sendgrid/SKILL.md +220 -0
- package/template/.codex/skill-library/stack/notifications/twilio/SKILL.md +204 -0
- package/template/.codex/skill-library/stack/observability/datadog/SKILL.md +179 -0
- package/template/.codex/skill-library/stack/observability/distributed-tracing/SKILL.md +140 -0
- package/template/.codex/skill-library/stack/observability/opentelemetry/SKILL.md +164 -0
- package/template/.codex/skill-library/stack/observability/prometheus-grafana/SKILL.md +246 -0
- package/template/.codex/skill-library/stack/observability/python-observability/SKILL.md +158 -0
- package/template/.codex/skill-library/stack/orm/drizzle-orm/SKILL.md +613 -0
- package/template/.codex/skill-library/stack/orm/prisma/SKILL.md +744 -0
- package/template/.codex/skill-library/stack/payments/lemonsqueezy/SKILL.md +393 -0
- package/template/.codex/skill-library/stack/payments/stripe-integration/SKILL.md +457 -0
- package/template/.codex/skill-library/stack/queue/bullmq/SKILL.md +385 -0
- package/template/.codex/skill-library/stack/queue/inngest/SKILL.md +438 -0
- package/template/.codex/skill-library/stack/realtime/socketio/SKILL.md +595 -0
- package/template/.codex/skill-library/stack/search/algolia/SKILL.md +206 -0
- package/template/.codex/skill-library/stack/search/elasticsearch/SKILL.md +248 -0
- package/template/.codex/skill-library/stack/search/meilisearch/SKILL.md +385 -0
- package/template/.codex/skill-library/stack/search/typesense/SKILL.md +189 -0
- package/template/.codex/skill-library/stack/security/crypto-patterns/SKILL.md +437 -0
- package/template/.codex/skill-library/stack/security/csp-cors-headers/SKILL.md +588 -0
- package/template/.codex/skill-library/stack/security/dependency-auditing/SKILL.md +560 -0
- package/template/.codex/skill-library/stack/security/input-sanitization/SKILL.md +430 -0
- package/template/.codex/skill-library/stack/security/owasp-web-security/SKILL.md +421 -0
- package/template/.codex/skill-library/stack/state/tanstack-query/SKILL.md +637 -0
- package/template/.codex/skill-library/stack/state/zustand/SKILL.md +483 -0
- package/template/.codex/skill-library/stack/storage/aws-s3/SKILL.md +415 -0
- package/template/.codex/skill-library/stack/storage/cloudflare-r2/SKILL.md +252 -0
- package/template/.codex/skill-library/stack/storage/gcs/SKILL.md +229 -0
- package/template/.codex/skill-library/stack/testing/playwright/SKILL.md +641 -0
- package/template/.codex/skill-library/stack/testing/storybook/SKILL.md +923 -0
- package/template/.codex/skill-library/stack/testing/testing-library/SKILL.md +872 -0
- package/template/.codex/skill-library/stack/testing/vitest/SKILL.md +714 -0
- package/template/.codex/skill-library/stack/ui/react-best-practices/SKILL.md +877 -0
- package/template/.codex/skill-library/stack/ui/react-composition-patterns/SKILL.md +1107 -0
- package/template/.codex/skill-library/stack/ui/react-flow/SKILL.md +425 -0
- package/template/.codex/skill-library/stack/ui/shadcn-ui/SKILL.md +703 -0
- package/template/.codex/skill-library/stack/ui/svelte-flow/SKILL.md +390 -0
- package/template/.codex/skill-library/surface/api/api-caching/SKILL.md +458 -0
- package/template/.codex/skill-library/surface/api/api-documentation-openapi/SKILL.md +697 -0
- package/template/.codex/skill-library/surface/api/api-error-handling/SKILL.md +478 -0
- package/template/.codex/skill-library/surface/api/api-security-checklist/SKILL.md +147 -0
- package/template/.codex/skill-library/surface/api/email-best-practices/SKILL.md +59 -0
- package/template/.codex/skill-library/surface/api/rate-limiting-abuse-protection/SKILL.md +147 -0
- package/template/.codex/skill-library/surface/api/webhook-design/SKILL.md +752 -0
- package/template/.codex/skill-library/surface/cli/cli-configuration-management/SKILL.md +445 -0
- package/template/.codex/skill-library/surface/cli/cli-error-diagnostics/SKILL.md +515 -0
- package/template/.codex/skill-library/surface/cli/cli-shell-integration/SKILL.md +479 -0
- package/template/.codex/skill-library/surface/cli/cli-ux-design/SKILL.md +477 -0
- package/template/.codex/skill-library/surface/desktop/desktop-app-distribution/SKILL.md +416 -0
- package/template/.codex/skill-library/surface/desktop/desktop-security-sandboxing/SKILL.md +407 -0
- package/template/.codex/skill-library/surface/desktop/desktop-ux-conventions/SKILL.md +361 -0
- package/template/.codex/skill-library/surface/desktop/native-os-integration/SKILL.md +563 -0
- package/template/.codex/skill-library/surface/extension/browser-extension-patterns/SKILL.md +482 -0
- package/template/.codex/skill-library/surface/extension/plugin-architecture-design/SKILL.md +632 -0
- package/template/.codex/skill-library/surface/extension/vscode-extension-development/SKILL.md +728 -0
- package/template/.codex/skill-library/surface/mobile/app-store-submission/SKILL.md +304 -0
- package/template/.codex/skill-library/surface/mobile/mobile-offline-sync/SKILL.md +443 -0
- package/template/.codex/skill-library/surface/mobile/mobile-responsive-patterns/SKILL.md +432 -0
- package/template/.codex/skill-library/surface/mobile/push-notifications/SKILL.md +495 -0
- package/template/.codex/skill-library/surface/web/accessibility-compliance/SKILL.md +827 -0
- package/template/.codex/skill-library/surface/web/ai-seo/SKILL.md +398 -0
- package/template/.codex/skill-library/surface/web/ai-seo/references/content-patterns.md +285 -0
- package/template/.codex/skill-library/surface/web/ai-seo/references/platform-ranking-factors.md +152 -0
- package/template/.codex/skill-library/surface/web/analytics-tracking/SKILL.md +309 -0
- package/template/.codex/skill-library/surface/web/analytics-tracking/references/event-library.md +260 -0
- package/template/.codex/skill-library/surface/web/analytics-tracking/references/ga4-implementation.md +300 -0
- package/template/.codex/skill-library/surface/web/analytics-tracking/references/gtm-implementation.md +390 -0
- package/template/.codex/skill-library/surface/web/authentication-ui-flows/SKILL.md +530 -0
- package/template/.codex/skill-library/surface/web/dark-mode-theming/SKILL.md +516 -0
- package/template/.codex/skill-library/surface/web/design-reference-data/SKILL.md +105 -0
- package/template/.codex/skill-library/surface/web/design-reference-data/data/charts.csv +26 -0
- package/template/.codex/skill-library/surface/web/design-reference-data/data/colors.csv +97 -0
- package/template/.codex/skill-library/surface/web/design-reference-data/data/landing.csv +31 -0
- package/template/.codex/skill-library/surface/web/design-reference-data/data/styles.csv +59 -0
- package/template/.codex/skill-library/surface/web/design-reference-data/data/typography.csv +58 -0
- package/template/.codex/skill-library/surface/web/design-reference-data/data/ux-guidelines.csv +100 -0
- package/template/.codex/skill-library/surface/web/design-reference-data/scripts/core.py +258 -0
- package/template/.codex/skill-library/surface/web/design-reference-data/scripts/design_system.py +1067 -0
- package/template/.codex/skill-library/surface/web/design-reference-data/scripts/search.py +106 -0
- package/template/.codex/skill-library/surface/web/form-handling-validation/SKILL.md +675 -0
- package/template/.codex/skill-library/surface/web/frontend-design/SKILL.md +1393 -0
- package/template/.codex/skill-library/surface/web/frontend-design/templates/cppn-hero.tsx +299 -0
- package/template/.codex/skill-library/surface/web/frontend-design/templates/wave-hero.tsx +875 -0
- package/template/.codex/skill-library/surface/web/frontend-verification/SKILL.md +111 -0
- package/template/.codex/skill-library/surface/web/frontend-verification/scripts/ux_audit.py +739 -0
- package/template/.codex/skill-library/surface/web/i18n-localization/SKILL.md +332 -0
- package/template/.codex/skill-library/surface/web/i18n-localization/references/icu-message-format.md +223 -0
- package/template/.codex/skill-library/surface/web/i18n-localization/references/intl-api-patterns.md +326 -0
- package/template/.codex/skill-library/surface/web/i18n-localization/references/rtl-support.md +298 -0
- package/template/.codex/skill-library/surface/web/offline-first-pwa/SKILL.md +657 -0
- package/template/.codex/skill-library/surface/web/page-cro/SKILL.md +182 -0
- package/template/.codex/skill-library/surface/web/page-cro/references/experiments.md +248 -0
- package/template/.codex/skill-library/surface/web/programmatic-seo/SKILL.md +238 -0
- package/template/.codex/skill-library/surface/web/programmatic-seo/references/playbooks.md +308 -0
- package/template/.codex/skill-library/surface/web/schema-markup/SKILL.md +179 -0
- package/template/.codex/skill-library/surface/web/schema-markup/references/schema-examples.md +398 -0
- package/template/.codex/skill-library/surface/web/seo-audit/SKILL.md +394 -0
- package/template/.codex/skill-library/surface/web/seo-audit/references/ai-writing-detection.md +200 -0
- package/template/.codex/skill-library/surface/web/web-performance-optimization/SKILL.md +646 -0
- package/template/.codex/skill-library/surface/web/web-scraping/SKILL.md +58 -0
- package/template/.codex/skills/README.md +78 -0
- package/template/.codex/skills/accessibility/SKILL.md +522 -0
- package/template/.codex/skills/accessibility/references/WCAG.md +162 -0
- package/template/.codex/skills/accessibility/references/ia-spec-checklist.md +35 -0
- package/template/.codex/skills/adversarial-review/SKILL.md +90 -0
- package/template/.codex/skills/antigravity-workflows/SKILL.md +81 -0
- package/template/.codex/skills/antigravity-workflows/resources/implementation-playbook.md +36 -0
- package/template/.codex/skills/api-design-principles/SKILL.md +169 -0
- package/template/.codex/skills/api-design-principles/assets/api-design-checklist.md +155 -0
- package/template/.codex/skills/api-design-principles/assets/rest-api-template.py +182 -0
- package/template/.codex/skills/api-design-principles/references/graphql-schema-design.md +583 -0
- package/template/.codex/skills/api-design-principles/references/rest-best-practices.md +408 -0
- package/template/.codex/skills/api-design-principles/resources/implementation-playbook.md +513 -0
- package/template/.codex/skills/api-versioning/SKILL.md +166 -0
- package/template/.codex/skills/api-versioning/references/typescript.md +157 -0
- package/template/.codex/skills/architecture-mapping/SKILL.md +219 -0
- package/template/.codex/skills/audit-ambiguity/SKILL.md +54 -0
- package/template/.codex/skills/audit-ambiguity-execute/SKILL.md +86 -0
- package/template/.codex/skills/audit-ambiguity-rubrics/SKILL.md +58 -0
- package/template/.codex/skills/bootstrap-agents/SKILL.md +258 -0
- package/template/.codex/skills/bootstrap-agents-fill/SKILL.md +25 -0
- package/template/.codex/skills/bootstrap-agents-provision/SKILL.md +22 -0
- package/template/.codex/skills/brainstorming/SKILL.md +177 -0
- package/template/.codex/skills/brand-guidelines/SKILL.md +44 -0
- package/template/.codex/skills/clean-code/SKILL.md +196 -0
- package/template/.codex/skills/clean-code/references/typescript.md +126 -0
- package/template/.codex/skills/code-review-pro/SKILL.md +152 -0
- package/template/.codex/skills/concise-planning/SKILL.md +107 -0
- package/template/.codex/skills/create-prd/SKILL.md +94 -0
- package/template/.codex/skills/create-prd-architecture/SKILL.md +72 -0
- package/template/.codex/skills/create-prd-compile/SKILL.md +85 -0
- package/template/.codex/skills/create-prd-design-system/SKILL.md +69 -0
- package/template/.codex/skills/create-prd-security/SKILL.md +66 -0
- package/template/.codex/skills/create-prd-stack/SKILL.md +84 -0
- package/template/.codex/skills/cross-layer-consistency/SKILL.md +117 -0
- package/template/.codex/skills/database-schema-design/SKILL.md +205 -0
- package/template/.codex/skills/database-schema-design/references/relational.md +228 -0
- package/template/.codex/skills/decompose-architecture/SKILL.md +72 -0
- package/template/.codex/skills/decompose-architecture-structure/SKILL.md +62 -0
- package/template/.codex/skills/decompose-architecture-validate/SKILL.md +72 -0
- package/template/.codex/skills/deployment-procedures/SKILL.md +241 -0
- package/template/.codex/skills/design-anti-cliche/SKILL.md +159 -0
- package/template/.codex/skills/design-direction/SKILL.md +45 -0
- package/template/.codex/skills/error-handling-patterns/SKILL.md +226 -0
- package/template/.codex/skills/error-handling-patterns/references/go.md +162 -0
- package/template/.codex/skills/error-handling-patterns/references/python.md +262 -0
- package/template/.codex/skills/error-handling-patterns/references/rust.md +112 -0
- package/template/.codex/skills/error-handling-patterns/references/typescript.md +178 -0
- package/template/.codex/skills/evolve-contract/SKILL.md +24 -0
- package/template/.codex/skills/evolve-feature/SKILL.md +18 -0
- package/template/.codex/skills/evolve-feature-cascade/SKILL.md +24 -0
- package/template/.codex/skills/evolve-feature-classify/SKILL.md +21 -0
- package/template/.codex/skills/find-skills/SKILL.md +145 -0
- package/template/.codex/skills/git-advanced/SKILL.md +972 -0
- package/template/.codex/skills/git-workflow/SKILL.md +420 -0
- package/template/.codex/skills/idea-extraction/SKILL.md +644 -0
- package/template/.codex/skills/ideate/SKILL.md +77 -0
- package/template/.codex/skills/ideate-discover/SKILL.md +89 -0
- package/template/.codex/skills/ideate-extract/SKILL.md +77 -0
- package/template/.codex/skills/ideate-validate/SKILL.md +75 -0
- package/template/.codex/skills/implement-slice/SKILL.md +64 -0
- package/template/.codex/skills/implement-slice-setup/SKILL.md +70 -0
- package/template/.codex/skills/implement-slice-tdd/SKILL.md +78 -0
- package/template/.codex/skills/logging-best-practices/SKILL.md +192 -0
- package/template/.codex/skills/logging-best-practices/references/go.md +49 -0
- package/template/.codex/skills/logging-best-practices/references/python.md +52 -0
- package/template/.codex/skills/logging-best-practices/references/typescript.md +215 -0
- package/template/.codex/skills/migration-management/SKILL.md +200 -0
- package/template/.codex/skills/migration-management/references/relational.md +214 -0
- package/template/.codex/skills/minimalist-surgical-development/SKILL.md +135 -0
- package/template/.codex/skills/parallel-agents/SKILL.md +165 -0
- package/template/.codex/skills/parallel-debugging/SKILL.md +135 -0
- package/template/.codex/skills/parallel-feature-development/SKILL.md +157 -0
- package/template/.codex/skills/performance-budgeting/SKILL.md +144 -0
- package/template/.codex/skills/pipeline-rubrics/SKILL.md +51 -0
- package/template/.codex/skills/pipeline-rubrics/references/architecture-rubric.md +19 -0
- package/template/.codex/skills/pipeline-rubrics/references/be-rubric.md +21 -0
- package/template/.codex/skills/pipeline-rubrics/references/fe-rubric.md +20 -0
- package/template/.codex/skills/pipeline-rubrics/references/ia-rubric.md +19 -0
- package/template/.codex/skills/pipeline-rubrics/references/scoring.md +32 -0
- package/template/.codex/skills/pipeline-rubrics/references/vision-rubric.md +12 -0
- package/template/.codex/skills/plan-phase/SKILL.md +62 -0
- package/template/.codex/skills/plan-phase-preflight/SKILL.md +75 -0
- package/template/.codex/skills/plan-phase-write/SKILL.md +85 -0
- package/template/.codex/skills/prd-templates/SKILL.md +107 -0
- package/template/.codex/skills/prd-templates/references/architecture-completeness-checklist.md +28 -0
- package/template/.codex/skills/prd-templates/references/architecture-design-template.md +88 -0
- package/template/.codex/skills/prd-templates/references/be-spec-classification.md +41 -0
- package/template/.codex/skills/prd-templates/references/be-spec-template.md +107 -0
- package/template/.codex/skills/prd-templates/references/bootstrap-verification-protocol.md +50 -0
- package/template/.codex/skills/prd-templates/references/constraint-exploration.md +41 -0
- package/template/.codex/skills/prd-templates/references/data-placement-template.md +74 -0
- package/template/.codex/skills/prd-templates/references/decision-confirmation-protocol.md +68 -0
- package/template/.codex/skills/prd-templates/references/decision-propagation.md +121 -0
- package/template/.codex/skills/prd-templates/references/decomposition-templates.md +226 -0
- package/template/.codex/skills/prd-templates/references/deep-ideation-loading-protocol.md +114 -0
- package/template/.codex/skills/prd-templates/references/design-system-decisions.md +198 -0
- package/template/.codex/skills/prd-templates/references/design-system-prerequisite-check.md +18 -0
- package/template/.codex/skills/prd-templates/references/domain-exhaustion-criteria.md +37 -0
- package/template/.codex/skills/prd-templates/references/engagement-tier-protocol.md +58 -0
- package/template/.codex/skills/prd-templates/references/engineering-standards-template.md +126 -0
- package/template/.codex/skills/prd-templates/references/evolution-layer-guidance.md +91 -0
- package/template/.codex/skills/prd-templates/references/expansion-modes.md +27 -0
- package/template/.codex/skills/prd-templates/references/fe-classification-procedures.md +47 -0
- package/template/.codex/skills/prd-templates/references/fe-spec-template.md +90 -0
- package/template/.codex/skills/prd-templates/references/feature-ledger-protocol.md +149 -0
- package/template/.codex/skills/prd-templates/references/folder-seeding-protocol.md +77 -0
- package/template/.codex/skills/prd-templates/references/fractal-cx-template.md +58 -0
- package/template/.codex/skills/prd-templates/references/fractal-feature-template.md +93 -0
- package/template/.codex/skills/prd-templates/references/fractal-node-index-template.md +55 -0
- package/template/.codex/skills/prd-templates/references/gate-applicability.md +92 -0
- package/template/.codex/skills/prd-templates/references/ideation-crosscut-template.md +36 -0
- package/template/.codex/skills/prd-templates/references/ideation-index-template.md +111 -0
- package/template/.codex/skills/prd-templates/references/ideation-meta-template.md +126 -0
- package/template/.codex/skills/prd-templates/references/infrastructure-report-template.md +71 -0
- package/template/.codex/skills/prd-templates/references/input-classification.md +23 -0
- package/template/.codex/skills/prd-templates/references/map-guard-protocol.md +65 -0
- package/template/.codex/skills/prd-templates/references/operational-templates.md +116 -0
- package/template/.codex/skills/prd-templates/references/persona-completeness-gate.md +20 -0
- package/template/.codex/skills/prd-templates/references/placeholder-guard-template.md +21 -0
- package/template/.codex/skills/prd-templates/references/placeholder-workflow-mapping.md +50 -0
- package/template/.codex/skills/prd-templates/references/shard-boundary-analysis.md +103 -0
- package/template/.codex/skills/prd-templates/references/shard-split-remediation.md +157 -0
- package/template/.codex/skills/prd-templates/references/skill-loading-protocol.md +36 -0
- package/template/.codex/skills/prd-templates/references/slice-completion-gates.md +29 -0
- package/template/.codex/skills/prd-templates/references/spec-coverage-sweep.md +44 -0
- package/template/.codex/skills/prd-templates/references/surface-model.md +61 -0
- package/template/.codex/skills/prd-templates/references/tdd-testing-policy.md +39 -0
- package/template/.codex/skills/prd-templates/references/vision-template.md +57 -0
- package/template/.codex/skills/prd-templates/references/workflow-checkpoint-protocol.md +112 -0
- package/template/.codex/skills/prd-templates/references/write-verification-protocol.md +57 -0
- package/template/.codex/skills/prompt-engineer/SKILL.md +203 -0
- package/template/.codex/skills/propagate-decision/SKILL.md +18 -0
- package/template/.codex/skills/propagate-decision-apply/SKILL.md +22 -0
- package/template/.codex/skills/propagate-decision-scan/SKILL.md +20 -0
- package/template/.codex/skills/regex-patterns/SKILL.md +333 -0
- package/template/.codex/skills/regex-patterns/references/go.md +44 -0
- package/template/.codex/skills/regex-patterns/references/javascript.md +63 -0
- package/template/.codex/skills/regex-patterns/references/python.md +77 -0
- package/template/.codex/skills/regex-patterns/references/rust.md +43 -0
- package/template/.codex/skills/remediate-pipeline/SKILL.md +18 -0
- package/template/.codex/skills/remediate-pipeline-assess/SKILL.md +21 -0
- package/template/.codex/skills/remediate-pipeline-execute/SKILL.md +23 -0
- package/template/.codex/skills/remediate-shard-split/SKILL.md +21 -0
- package/template/.codex/skills/resolve-ambiguity/SKILL.md +278 -0
- package/template/.codex/skills/security-scanning-security-hardening/SKILL.md +231 -0
- package/template/.codex/skills/session-continuity/SKILL.md +732 -0
- package/template/.codex/skills/session-continuity/protocols/01-session-resumption.md +38 -0
- package/template/.codex/skills/session-continuity/protocols/02-progress-generation.md +85 -0
- package/template/.codex/skills/session-continuity/protocols/03-progress-update.md +70 -0
- package/template/.codex/skills/session-continuity/protocols/04-pattern-extraction.md +60 -0
- package/template/.codex/skills/session-continuity/protocols/05-session-close.md +37 -0
- package/template/.codex/skills/session-continuity/protocols/06-decision-analysis.md +84 -0
- package/template/.codex/skills/session-continuity/protocols/07-spec-pipeline-generation.md +48 -0
- package/template/.codex/skills/session-continuity/protocols/08-spec-pipeline-update.md +65 -0
- package/template/.codex/skills/session-continuity/protocols/09-parallel-claim.md +122 -0
- package/template/.codex/skills/session-continuity/protocols/10-placeholder-verification-gate.md +83 -0
- package/template/.codex/skills/session-continuity/protocols/11-parallel-synthesis.md +21 -0
- package/template/.codex/skills/session-continuity/protocols/ambiguity-gates.md +48 -0
- package/template/.codex/skills/setup/README.md +24 -0
- package/template/.codex/skills/setup/setup-cfsa.md +200 -0
- package/template/.codex/skills/setup/setup-fill-placeholders.md +192 -0
- package/template/.codex/skills/setup/setup-provision-skills.md +82 -0
- package/template/.codex/skills/setup/setup-verify.md +89 -0
- package/template/.codex/skills/setup-workspace/SKILL.md +83 -0
- package/template/.codex/skills/setup-workspace-cicd/SKILL.md +56 -0
- package/template/.codex/skills/setup-workspace-data/SKILL.md +69 -0
- package/template/.codex/skills/setup-workspace-hosting/SKILL.md +59 -0
- package/template/.codex/skills/setup-workspace-scaffold/SKILL.md +72 -0
- package/template/.codex/skills/skill-creator/SKILL.md +203 -0
- package/template/.codex/skills/spec-writing/SKILL.md +110 -0
- package/template/.codex/skills/sync-kit/SKILL.md +23 -0
- package/template/.codex/skills/systematic-debugging/CREATION-LOG.md +119 -0
- package/template/.codex/skills/systematic-debugging/SKILL.md +297 -0
- package/template/.codex/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
- package/template/.codex/skills/systematic-debugging/condition-based-waiting.md +115 -0
- package/template/.codex/skills/systematic-debugging/defense-in-depth.md +122 -0
- package/template/.codex/skills/systematic-debugging/find-polluter.sh +63 -0
- package/template/.codex/skills/systematic-debugging/root-cause-tracing.md +169 -0
- package/template/.codex/skills/systematic-debugging/test-academic.md +14 -0
- package/template/.codex/skills/systematic-debugging/test-pressure-1.md +58 -0
- package/template/.codex/skills/systematic-debugging/test-pressure-2.md +68 -0
- package/template/.codex/skills/systematic-debugging/test-pressure-3.md +69 -0
- package/template/.codex/skills/tdd-workflow/SKILL.md +186 -0
- package/template/.codex/skills/tdd-workflow/references/typescript.md +231 -0
- package/template/.codex/skills/tech-stack-catalog/SKILL.md +49 -0
- package/template/.codex/skills/tech-stack-catalog/references/constraint-questions.md +237 -0
- package/template/.codex/skills/tech-stack-catalog/references/dev-tooling-decisions.md +37 -0
- package/template/.codex/skills/tech-stack-catalog/references/surface-decision-tables.md +69 -0
- package/template/.codex/skills/technical-writer/SKILL.md +242 -0
- package/template/.codex/skills/testing-strategist/SKILL.md +319 -0
- package/template/.codex/skills/testing-strategist/references/typescript.md +328 -0
- package/template/.codex/skills/update-architecture-map/SKILL.md +21 -0
- package/template/.codex/skills/utilities/resolve-skill.md +195 -0
- package/template/.codex/skills/validate-phase/SKILL.md +62 -0
- package/template/.codex/skills/validate-phase-quality/SKILL.md +67 -0
- package/template/.codex/skills/validate-phase-readiness/SKILL.md +74 -0
- package/template/.codex/skills/verification-before-completion/SKILL.md +97 -0
- package/template/.codex/skills/verify-infrastructure/SKILL.md +25 -0
- package/template/.codex/skills/workflow-automation/SKILL.md +166 -0
- package/template/.codex/skills/workflow-automation/references/inngest.md +88 -0
- package/template/.codex/skills/workflow-automation/references/temporal.md +64 -0
- package/template/.codex/skills/write-architecture-spec/SKILL.md +78 -0
- package/template/.codex/skills/write-architecture-spec-deepen/SKILL.md +82 -0
- package/template/.codex/skills/write-architecture-spec-design/SKILL.md +80 -0
- package/template/.codex/skills/write-be-spec/SKILL.md +75 -0
- package/template/.codex/skills/write-be-spec-classify/SKILL.md +80 -0
- package/template/.codex/skills/write-be-spec-write/SKILL.md +99 -0
- package/template/.codex/skills/write-fe-spec/SKILL.md +79 -0
- package/template/.codex/skills/write-fe-spec-classify/SKILL.md +77 -0
- package/template/.codex/skills/write-fe-spec-write/SKILL.md +88 -0
- package/template/.factory/README.md +2 -3
- package/template/.factory/instructions/workflow.md +3 -3
- package/template/.factory/kit-sync.md +3 -3
- package/template/.factory/skills/completion-checklist/SKILL.md +3 -3
- package/template/.factory/skills/parallel-agents/SKILL.md +1 -1
- package/template/.factory/skills/plan-phase/SKILL.md +2 -2
- package/template/.factory/skills/plan-phase-preflight/SKILL.md +2 -2
- package/template/.factory/skills/session-continuity/SKILL.md +6 -6
- package/template/.factory/skills/session-continuity/protocols/01-session-resumption.md +1 -1
- package/template/.factory/skills/session-continuity/protocols/02-progress-generation.md +3 -3
- package/template/.factory/skills/session-continuity/protocols/03-progress-update.md +4 -4
- package/template/.factory/skills/session-continuity/protocols/07-spec-pipeline-generation.md +1 -1
- package/template/.factory/skills/session-continuity/protocols/08-spec-pipeline-update.md +2 -2
- package/template/.factory/skills/session-continuity/protocols/11-parallel-synthesis.md +1 -1
- package/template/.factory/skills/setup-cfsa/SKILL.md +1 -1
- package/template/.factory/skills/write-architecture-spec/SKILL.md +2 -2
- package/template/.factory/skills/write-architecture-spec-deepen/SKILL.md +1 -1
- package/template/.factory/skills/write-architecture-spec-design/SKILL.md +1 -1
- package/template/.factory/skills/write-be-spec/SKILL.md +3 -3
- package/template/.factory/skills/write-be-spec-classify/SKILL.md +1 -1
- package/template/.factory/skills/write-be-spec-write/SKILL.md +1 -1
- package/template/.factory/skills/write-fe-spec/SKILL.md +3 -3
- package/template/.factory/skills/write-fe-spec-write/SKILL.md +1 -1
- package/template/.memory/README.md +1 -0
- package/template/.memory/mcp-server/README.md +10 -2
- package/template/.memory/mcp-server/client.mjs +61 -18
- package/template/.memory/mcp-server/daemon.mjs +8 -3
- package/template/.memory/mcp-server/runtime.mjs +51 -14
- package/template/.memory/mcp-server/start.mjs +4 -2
- package/template/.memory/migrate/migrate-legacy.mjs +1 -0
- package/template/.memory/pipeline/README.md +1 -0
- package/template/CLAUDE.md +4 -4
- package/template/CODEX.md +6 -53
- package/template/GEMINI.md +2 -2
- package/template/docs/README.md +5 -2
- package/template/docs/kit-architecture.md +36 -19
- package/template/docs/progress-state-catalog.md +48 -0
- package/template/.factory/progress/memory/.gitkeep +0 -0
- /package/template/{.agent/progress → .codex/skills/skill-creator/references}/.gitkeep +0 -0
- /package/template/{.agent/progress/memory → .codex/skills/skill-creator/scripts}/.gitkeep +0 -0
- /package/template/{.agent/progress/sessions → .memory/pipeline/progress}/.gitkeep +0 -0
- /package/template/{.claude/progress → .memory/pipeline/progress/memory}/.gitkeep +0 -0
- /package/template/{.claude/progress/memory → .memory/pipeline/progress/phases}/.gitkeep +0 -0
- /package/template/{.claude → .memory/pipeline}/progress/sessions/.gitkeep +0 -0
- /package/template/{.factory/progress → .memory/pipeline/progress/slices}/.gitkeep +0 -0
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
# Design System Decision Options & Output Template
|
|
2
|
+
|
|
3
|
+
Reference material for the `/create-prd-design-system` workflow. Contains option menus for all seven decisions and the canonical output template for `.memory/wiki/specs/design-system.md`.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Navigation Paradigm Options
|
|
8
|
+
|
|
9
|
+
### Web surfaces
|
|
10
|
+
|
|
11
|
+
- **Sidebar + topnav** — Collapsible sidebar for section nav, top bar for global actions. Good for complex apps with deep IA; competes with content width on small screens.
|
|
12
|
+
- **Tab bar (app-style)** — Horizontal tab bar, web app feels like a native app. Limited to 5–7 top-level destinations; unfamiliar on traditional websites.
|
|
13
|
+
- **Full-page transitions** — Each section is a full-page view with navigation between pages. Poor for frequent cross-section navigation; high cognitive load for data-heavy apps.
|
|
14
|
+
- **Command palette primary** — Keyboard-first navigation with minimal visible chrome. High power-user efficiency; steep learning curve, requires discoverability affordances.
|
|
15
|
+
- **Minimal/none** — No persistent navigation; content-first with contextual links. Clean and focused; users may feel lost without orientation cues.
|
|
16
|
+
|
|
17
|
+
### Mobile surfaces
|
|
18
|
+
|
|
19
|
+
- **Bottom tab bar** — iOS/Android standard, 3–5 tabs at screen bottom. Limited to 5 top-level destinations; thumb-friendly.
|
|
20
|
+
- **Drawer + top header** — Slide-out drawer with a persistent top header bar. Supports many sections; discoverability issues — out of sight, out of mind.
|
|
21
|
+
- **Stack navigation only** — Linear forward/back navigation with no persistent tabs. No quick access to unrelated sections; relies on back button.
|
|
22
|
+
- **Tab bar + stack hybrid** — Bottom tabs for top-level sections, stack navigation within each tab. Combines discoverability with depth; tab count still limited.
|
|
23
|
+
|
|
24
|
+
### Desktop (native) surfaces
|
|
25
|
+
|
|
26
|
+
- **Menu bar + sidebar** — OS-native menu bar with sidebar panel. Platform-specific conventions differ (macOS vs Windows vs Linux).
|
|
27
|
+
- **Ribbon (Office-style)** — Grouped toolbar with tabbed ribbon. Heavy initial learning curve; takes vertical space.
|
|
28
|
+
- **Panel system** — Draggable/dockable panels with customizable layout. Window management complexity; steep learning curve.
|
|
29
|
+
- **Sidebar only** — Vertical sidebar as sole navigation element. No menu bar discoverability for infrequent actions.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Page Archetype Options
|
|
34
|
+
|
|
35
|
+
| Archetype | Description | Typical Layout Zones |
|
|
36
|
+
|-----------|-------------|---------------------|
|
|
37
|
+
| **Dashboard** | Data overview with cards/charts | Nav zone · Summary strip · Grid/card zone · Detail panel |
|
|
38
|
+
| **List → Detail** | Browse items, select to view/edit | Nav zone · Filter bar · List zone · Detail zone |
|
|
39
|
+
| **Form** | Multi-step or single-page data entry | Nav zone · Form zone · Action bar |
|
|
40
|
+
| **Content/Article** | Long-form reading with optional sidebar | Nav zone · Content zone · Sidebar/TOC zone |
|
|
41
|
+
| **Settings** | Tabbed or sectioned preference panels | Nav zone · Section nav · Settings zone |
|
|
42
|
+
| **Empty/Onboarding** | First-run or zero-data state | Nav zone · Illustration zone · CTA zone |
|
|
43
|
+
| **Auth** | Login/signup/password-reset | Centered card zone · Background zone |
|
|
44
|
+
| **Error** | 404/500/offline states | Nav zone · Error illustration zone · Recovery CTA |
|
|
45
|
+
|
|
46
|
+
### Example wireframe (Dashboard archetype)
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
┌─────────────────────────────────────┐
|
|
50
|
+
│ Nav Zone │
|
|
51
|
+
├────────┬────────────────────────────┤
|
|
52
|
+
│ │ Summary Strip │
|
|
53
|
+
│ Side ├────────────────────────────┤
|
|
54
|
+
│ bar │ │
|
|
55
|
+
│ Zone │ Content Zone │
|
|
56
|
+
│ │ │
|
|
57
|
+
├────────┴────────────────────────────┤
|
|
58
|
+
│ Action Bar │
|
|
59
|
+
└─────────────────────────────────────┘
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Global Component Categories
|
|
65
|
+
|
|
66
|
+
- **Navigation components** — derived from the navigation paradigm (e.g., TopNav, Sidebar, BottomTabBar, Breadcrumb)
|
|
67
|
+
- **Layout components** — derived from archetypes (e.g., PageShell, ContentArea, Sidebar, ActionBar)
|
|
68
|
+
- **Feedback components** — Loading skeleton, Toast, ErrorBoundary, EmptyState
|
|
69
|
+
- **Form primitives** — Input, Select, Checkbox, Radio, TextArea, DatePicker, FileUpload
|
|
70
|
+
- **Data display** — Table, Card, Badge, Avatar, Stat, Chart container
|
|
71
|
+
- **Overlay components** — Modal, Drawer, Popover, Tooltip, ContextMenu
|
|
72
|
+
- **Action components** — Button, IconButton, Link, Dropdown menu
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Motion Language Options
|
|
77
|
+
|
|
78
|
+
| Level | Description | Typical Durations | Use When |
|
|
79
|
+
|-------|-------------|-------------------|----------|
|
|
80
|
+
| **Instant** | No transitions — all state changes are immediate | 0ms | Performance-critical tools, terminal UIs, accessibility-first products |
|
|
81
|
+
| **Subtle** | Micro-transitions only — fades and opacity shifts | 100–150ms ease-out | Productivity tools, data-dense dashboards, professional/enterprise apps |
|
|
82
|
+
| **Balanced** | Purposeful transitions for navigation and state changes | 150–300ms ease-in-out | Most consumer apps, SaaS products, general-purpose UIs |
|
|
83
|
+
| **Rich** | Expressive animations — page transitions, element choreography, spring physics | 200–500ms spring/cubic-bezier | Marketing sites, creative tools, consumer apps where delight matters |
|
|
84
|
+
|
|
85
|
+
> **Mandatory regardless of level**: All motion must respect `prefers-reduced-motion: reduce`. When reduced motion is active, all animations collapse to instant (0ms) or opacity-only transitions (≤100ms).
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## Data Density Options
|
|
90
|
+
|
|
91
|
+
| Philosophy | Description | Best For | Characteristics |
|
|
92
|
+
|------------|-------------|----------|-----------------|
|
|
93
|
+
| **Compact** | Maximum information per viewport — tight spacing, smaller text, dense tables | Data-heavy dashboards, admin panels, developer tools | 12–14px body text, 4–8px element spacing, minimal whitespace |
|
|
94
|
+
| **Spacious** | Generous whitespace, larger text, breathing room between elements | Consumer apps, marketing, content-focused products | 16–18px body text, 16–24px element spacing, generous padding |
|
|
95
|
+
| **Hybrid** | Context-dependent — compact for data tables/lists, spacious for forms/content | Apps mixing data overview with detail editing | Defined rules for when each density applies |
|
|
96
|
+
|
|
97
|
+
If **Hybrid** is selected, ask the user to define the density rules:
|
|
98
|
+
- Which archetypes get compact density?
|
|
99
|
+
- Which archetypes get spacious density?
|
|
100
|
+
- What is the transition behavior between densities?
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## Global State Design Language Options
|
|
105
|
+
|
|
106
|
+
### Loading states
|
|
107
|
+
|
|
108
|
+
| Option | Description | Best For |
|
|
109
|
+
|--------|-------------|----------|
|
|
110
|
+
| **Skeleton screens** | Grey placeholder shapes matching the expected layout | Content-heavy pages where layout stability matters |
|
|
111
|
+
| **Spinner/shimmer** | Centered spinner or shimmer overlay | Simple actions, modals, inline operations |
|
|
112
|
+
| **Progressive** | Skeleton for page-level, spinner for component-level operations | Complex apps with mixed loading contexts |
|
|
113
|
+
|
|
114
|
+
### Error states
|
|
115
|
+
|
|
116
|
+
- **Inline** — Error message appears near the failed element (forms, field validation)
|
|
117
|
+
- **Toast** — Transient notification for non-blocking errors (network retry, background sync)
|
|
118
|
+
- **Full-page** — Dedicated error page (404, 500, offline)
|
|
119
|
+
- **Error boundary** — Component-level fallback UI (prevents cascade, isolates failure)
|
|
120
|
+
|
|
121
|
+
### Empty states
|
|
122
|
+
|
|
123
|
+
- **Illustration + copy** — Custom illustration with descriptive text and CTA
|
|
124
|
+
- **Minimal** — Text-only with action link
|
|
125
|
+
- **Contextual** — Different empty states per archetype (empty dashboard vs. empty list)
|
|
126
|
+
|
|
127
|
+
**Copy tone**: Helpful / Playful / Neutral — must align with the confirmed design direction.
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## design-system.md Output Template
|
|
132
|
+
|
|
133
|
+
The final `.memory/wiki/specs/design-system.md` must have this exact structure:
|
|
134
|
+
|
|
135
|
+
```markdown
|
|
136
|
+
# Design System
|
|
137
|
+
|
|
138
|
+
> **Confirmed Design Direction**: [confirmed direction from brand-guidelines]
|
|
139
|
+
> **Date**: [YYYY-MM-DD]
|
|
140
|
+
> **Status**: Locked
|
|
141
|
+
|
|
142
|
+
## Navigation Paradigm
|
|
143
|
+
[Confirmed paradigm with rationale]
|
|
144
|
+
[Surface-specific notes if multi-surface project]
|
|
145
|
+
|
|
146
|
+
## Layout Grid
|
|
147
|
+
|
|
148
|
+
| Breakpoint | Columns | Gutter | Max Width |
|
|
149
|
+
|------------|---------|--------|-----------|
|
|
150
|
+
| Mobile (≤768px) | [confirmed] | [confirmed] | [confirmed] |
|
|
151
|
+
| Tablet (769–1024px) | [confirmed] | [confirmed] | [confirmed] |
|
|
152
|
+
| Desktop (≥1025px) | [confirmed] | [confirmed] | [confirmed] |
|
|
153
|
+
|
|
154
|
+
**Grid type**: [confirmed]
|
|
155
|
+
|
|
156
|
+
## Page Archetypes
|
|
157
|
+
|
|
158
|
+
### [Archetype Name]
|
|
159
|
+
**Layout zones**: [nav] | [content] | [sidebar] | [action]
|
|
160
|
+
[Optional: ASCII wireframe for additional clarity]
|
|
161
|
+
|
|
162
|
+
[repeat for each confirmed archetype]
|
|
163
|
+
|
|
164
|
+
## Global Component Inventory
|
|
165
|
+
- `<ComponentName>` — [what it does / what it renders]
|
|
166
|
+
- `<ComponentName>` — [what it does / what it renders]
|
|
167
|
+
[repeat for each confirmed global component]
|
|
168
|
+
|
|
169
|
+
## Motion Language
|
|
170
|
+
**Style**: [confirmed style — Instant / Subtle / Balanced / Rich]
|
|
171
|
+
**Default duration**: [confirmed duration range]
|
|
172
|
+
**Default easing**: [confirmed easing function]
|
|
173
|
+
**Interaction transitions**: [confirmed interaction transition behavior]
|
|
174
|
+
**Reduced-motion policy**: All animations disabled when `prefers-reduced-motion: reduce` is active.
|
|
175
|
+
|
|
176
|
+
## Data Density Philosophy
|
|
177
|
+
**Default density**: [confirmed density — Compact / Spacious / Hybrid]
|
|
178
|
+
**Rules**: [when each density applies — per archetype if hybrid]
|
|
179
|
+
|
|
180
|
+
## Global State Design Language
|
|
181
|
+
|
|
182
|
+
### Loading States
|
|
183
|
+
- **Skeleton screens**: use when [confirmed rule]
|
|
184
|
+
- **Spinner/shimmer**: use when [confirmed rule]
|
|
185
|
+
- **Progressive**: use when [confirmed rule]
|
|
186
|
+
|
|
187
|
+
### Error States
|
|
188
|
+
- **Inline errors**: use when [confirmed rule — e.g., form field validation]
|
|
189
|
+
- **Toast errors**: use when [confirmed rule — e.g., non-blocking network errors]
|
|
190
|
+
- **Full-page errors**: use when [confirmed rule — e.g., 404, 500, offline]
|
|
191
|
+
- **Error boundaries**: use when [confirmed rule — e.g., component-level isolation]
|
|
192
|
+
|
|
193
|
+
### Empty States
|
|
194
|
+
**Illustration style**: [confirmed style]
|
|
195
|
+
**Copy tone**: [confirmed tone — must align with confirmed design direction]
|
|
196
|
+
**CTA**: Every empty state MUST include a primary call-to-action that guides the user toward populating the view.
|
|
197
|
+
[Per-archetype empty state rules if contextual]
|
|
198
|
+
```
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Design System Prerequisite Check
|
|
2
|
+
|
|
3
|
+
Run this check before writing any FE spec.
|
|
4
|
+
|
|
5
|
+
## Procedure
|
|
6
|
+
|
|
7
|
+
1. Check whether `.memory/wiki/specs/design-system.md` exists.
|
|
8
|
+
2. If it does not exist → **stop** and tell the user: _"The design system has not been established yet. Run `/create-prd-design-system` to lock navigation paradigm, layout grid, page archetypes, and global state design language before writing FE specs."_
|
|
9
|
+
3. If it exists → read and extract all seven decision areas: Navigation Paradigm, Layout Grid, Page Archetypes, Global Component Inventory, Motion Language, Data Density Philosophy, and Global State Design Language.
|
|
10
|
+
4. The extracted decisions are **requirements** for this FE spec — any violation is a rubric failure under Dimension 11 (Design System Consistency).
|
|
11
|
+
|
|
12
|
+
## Fail-Fast Validation Checks
|
|
13
|
+
|
|
14
|
+
Verify the following before proceeding. If any check fails, classification must **stop** and instruct the user to run `/create-prd-design-system` to resolve drift before continuing:
|
|
15
|
+
|
|
16
|
+
- **Page archetype match**: At least one page archetype from `design-system.md` applies to the feature being classified. If no archetype matches, the design system is incomplete for this feature.
|
|
17
|
+
- **Global component / navigation compliance**: The navigation paradigm and Global Component Inventory sections are populated (not empty or placeholder). Every navigation element the FE spec will use must exist in the inventory — re-inventing global components is a rubric failure.
|
|
18
|
+
- **Global state design language compliance**: The Loading States, Error States, and Empty States sub-sections are populated with confirmed approaches. The FE spec must use these confirmed patterns — inventing loading/error/empty state patterns outside the design language is a rubric failure.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Domain Exhaustion Criteria
|
|
2
|
+
|
|
3
|
+
Final validation gate before vision compilation. All criteria must pass.
|
|
4
|
+
|
|
5
|
+
| Check | Criteria | Action if Fail |
|
|
6
|
+
|-------|----------|----------------|
|
|
7
|
+
| All leaf nodes ≥ `[DEEP]` | Every feature file in the tree is `[DEEP]` or `[EXHAUSTED]` | Drill remaining feature files |
|
|
8
|
+
| Status propagation correct | Parent nodes reflect their children's status | Update parent indexes |
|
|
9
|
+
| All Must Have features ≥ Level 2 | Every Must Have has sub-features AND edge cases AND Role Lens | Deep Think + drill |
|
|
10
|
+
| Deep Think zero hypotheses | Final Deep Think pass across ALL leaf nodes yields no new hypotheses | Present any new hypotheses, drill if confirmed |
|
|
11
|
+
| All CX files clean | No Medium/Low confidence entries remain at any level — all are High or rejected | Run synthesis questions on pending pairs |
|
|
12
|
+
| Role Lens complete | Every feature file has a populated Role Lens table | Fill missing Role Lens entries |
|
|
13
|
+
| User confirmation | User explicitly confirms "nothing else" for each domain | Ask for each under-explored domain |
|
|
14
|
+
|
|
15
|
+
## Execution Procedure
|
|
16
|
+
|
|
17
|
+
1. Walk the fractal tree. For each leaf node below `[DEEP]`:
|
|
18
|
+
- "Feature [X] in [domain] is still at [status]. Drill deeper or intentionally minimal?"
|
|
19
|
+
- If "drill" → return to `/ideate-discover`
|
|
20
|
+
- If "intentionally minimal" → note in feature file and proceed
|
|
21
|
+
|
|
22
|
+
2. Run **final Deep Think pass**: For each `[DEEP]` leaf node, apply the four Deep Think questions. Present any new hypotheses.
|
|
23
|
+
- If confirmed → drill, update feature files
|
|
24
|
+
- If zero hypotheses → mark `[EXHAUSTED]`, propagate status upward
|
|
25
|
+
|
|
26
|
+
3. Walk ALL CX files at every level. Resolve any Medium/Low confidence entries.
|
|
27
|
+
|
|
28
|
+
4. Verify all feature files have populated Role Lens tables.
|
|
29
|
+
|
|
30
|
+
5. Update `ideation-index.md` progress summary with final counts (total leaf nodes, exhausted count, CX entries confirmed).
|
|
31
|
+
|
|
32
|
+
## Proportionality Check
|
|
33
|
+
|
|
34
|
+
- **Rich inputs**: Total domain file content (all files combined) should be at least 30% of the original source document's line count. If short, identify what was lost.
|
|
35
|
+
- **All inputs**: Each domain with `[DEEP]` or `[EXHAUSTED]` status should have at least 3 sub-areas drilled with edge cases.
|
|
36
|
+
|
|
37
|
+
If proportionality fails, return to `/ideate-discover` for the under-explored areas.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Engagement Tier Protocol
|
|
2
|
+
|
|
3
|
+
**Purpose**: Single source of truth for engagement tier definitions and behavior. Workflows reference this instead of inlining tier blocks.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Tier Definitions
|
|
8
|
+
|
|
9
|
+
| Tier | When | User Experience |
|
|
10
|
+
|------|------|-----------------|
|
|
11
|
+
| **Auto** | 6+ well-constrained axes, experienced user, clear preferences | Agent uses Deep Think reasoning per axis, presents all decisions for batch review at shard end |
|
|
12
|
+
| **Hybrid** | 3-5 axes, some need discussion, some are obvious | Group related decisions, present key choices, auto-confirm obvious ones |
|
|
13
|
+
| **Interactive** | ≤2 axes, novel/uncertain domain, user requests it | Full interview — one decision at a time with options and trade-offs |
|
|
14
|
+
|
|
15
|
+
## Tier Selection
|
|
16
|
+
|
|
17
|
+
Read the user's context:
|
|
18
|
+
1. Count the number of decision axes in the current step
|
|
19
|
+
2. Assess user's familiarity (prior conversations, explicit preferences, technical depth)
|
|
20
|
+
3. Default to **Interactive** if uncertain
|
|
21
|
+
|
|
22
|
+
Present the proposed tier: "I'll approach this as [tier] — [brief rationale]. Want a different level of involvement?"
|
|
23
|
+
|
|
24
|
+
**HARD GATE**: Wait for user acknowledgment before proceeding. If the user requests a different tier, switch.
|
|
25
|
+
|
|
26
|
+
## Behavior by Tier
|
|
27
|
+
|
|
28
|
+
### Auto Tier
|
|
29
|
+
1. For each decision: apply Deep Think reasoning (consider constraints, project goals, prior decisions)
|
|
30
|
+
2. Write the decision with `[AUTO-CONFIRMED — reasoning: ...]` annotation
|
|
31
|
+
3. At shard end: present ALL auto-confirmed decisions in a summary table
|
|
32
|
+
4. User reviews batch — any rejection triggers Interactive re-presentation for that decision
|
|
33
|
+
5. Remove `[AUTO-CONFIRMED]` annotations after batch approval
|
|
34
|
+
|
|
35
|
+
### Hybrid Tier
|
|
36
|
+
1. Group related decisions (e.g., all auth decisions together)
|
|
37
|
+
2. For obvious decisions: present with recommendation, apply if user says "looks good"
|
|
38
|
+
3. For debatable decisions: present options with trade-offs, wait for selection
|
|
39
|
+
4. Follow the decision-confirmation-protocol for each group
|
|
40
|
+
|
|
41
|
+
### Interactive Tier
|
|
42
|
+
1. Present one decision at a time
|
|
43
|
+
2. Include 2-3 options with trade-offs and your recommendation
|
|
44
|
+
3. Wait for explicit selection
|
|
45
|
+
4. Follow the decision-confirmation-protocol for each decision
|
|
46
|
+
|
|
47
|
+
## Gate Classification
|
|
48
|
+
|
|
49
|
+
Not all decisions follow the engagement tier. Some are always user-facing regardless of tier:
|
|
50
|
+
|
|
51
|
+
| Gate Type | Always Interactive? | Examples |
|
|
52
|
+
|-----------|-------------------|----------|
|
|
53
|
+
| **Product** | Yes — user always decides | Feature scope, UX philosophy, pricing |
|
|
54
|
+
| **Architecture** | Yes — present options | Database choice, framework, hosting |
|
|
55
|
+
| **Structural** | No — tier-aware | File naming, directory organization |
|
|
56
|
+
| **Implementation** | No — agent decides | Import ordering, variable naming |
|
|
57
|
+
|
|
58
|
+
See `.codex/rules/decision-classification.md` for the full classification.
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
# Engineering Standards Template
|
|
2
|
+
|
|
3
|
+
Use this template when creating `.memory/wiki/specs/ENGINEERING-STANDARDS.md`. Fill in concrete values based on tech stack decisions — **no TBDs allowed**.
|
|
4
|
+
|
|
5
|
+
```markdown
|
|
6
|
+
# [Project Name] — Engineering Standards
|
|
7
|
+
|
|
8
|
+
> **Architecture**: [link to architecture-design.md]
|
|
9
|
+
> **Date**: YYYY-MM-DD
|
|
10
|
+
> **Status**: Draft | Review | Approved
|
|
11
|
+
|
|
12
|
+
## Test Coverage
|
|
13
|
+
- Minimum unit test coverage: [e.g., 80%]
|
|
14
|
+
- Integration test requirement: [e.g., every API endpoint]
|
|
15
|
+
- E2E test requirement: [e.g., every critical user flow]
|
|
16
|
+
- Coverage tool: [e.g., vitest coverage-v8]
|
|
17
|
+
|
|
18
|
+
## Linting & Formatting
|
|
19
|
+
- Linter: [e.g., ESLint with strict config]
|
|
20
|
+
- Formatter: [e.g., Prettier]
|
|
21
|
+
- Type checker: [e.g., TypeScript strict mode]
|
|
22
|
+
- Pre-commit hooks: [yes/no, tool]
|
|
23
|
+
|
|
24
|
+
## Performance Budgets
|
|
25
|
+
|
|
26
|
+
> **Baseline**: Budgets target [device tier] on [network condition]. Every threshold must have a named enforcement tool — a threshold without an enforcement tool is incomplete.
|
|
27
|
+
|
|
28
|
+
### Web Vitals per page type (web/desktop surfaces only)
|
|
29
|
+
|
|
30
|
+
| Page Type | LCP target | INP target | CLS target | Enforcement Tool |
|
|
31
|
+
|-----------|-----------|-----------|-----------|-----------------|
|
|
32
|
+
| [e.g., Landing] | [e.g., ≤ 2.0 s] | [e.g., ≤ 150 ms] | [e.g., ≤ 0.05] | [e.g., Lighthouse CI] |
|
|
33
|
+
| [e.g., Dashboard] | [e.g., ≤ 2.5 s] | [e.g., ≤ 200 ms] | [e.g., ≤ 0.1] | [e.g., Lighthouse CI] |
|
|
34
|
+
| [e.g., Detail/Form] | [e.g., ≤ 2.0 s] | [e.g., ≤ 100 ms] | [e.g., ≤ 0.05] | [e.g., Lighthouse CI] |
|
|
35
|
+
|
|
36
|
+
### JS Bundle Size per page type (web/desktop surfaces only)
|
|
37
|
+
|
|
38
|
+
| Page Type | Initial JS (gzipped) | Total JS (gzipped) | Enforcement Tool |
|
|
39
|
+
|-----------|---------------------|-------------------|-----------------|
|
|
40
|
+
| [e.g., Landing] | [e.g., ≤ 80 KB] | [e.g., ≤ 150 KB] | [e.g., size-limit] |
|
|
41
|
+
| [e.g., Dashboard] | [e.g., ≤ 150 KB] | [e.g., ≤ 300 KB] | [e.g., size-limit] |
|
|
42
|
+
|
|
43
|
+
### API Response Time per tier
|
|
44
|
+
|
|
45
|
+
| Tier | Description | p50 | p95 | p99 | Enforcement Tool |
|
|
46
|
+
|------|------------|-----|-----|-----|-----------------|
|
|
47
|
+
| Tier 1 — Cached read | [e.g., Response from cache] | [e.g., ≤ 10 ms] | [e.g., ≤ 30 ms] | [e.g., ≤ 50 ms] | [e.g., k6] |
|
|
48
|
+
| Tier 2 — Uncached read | [e.g., Single-entity DB fetch] | [e.g., ≤ 30 ms] | [e.g., ≤ 80 ms] | [e.g., ≤ 150 ms] | [e.g., k6] |
|
|
49
|
+
| Tier 3 — Write | [e.g., Create, update, delete] | [e.g., ≤ 80 ms] | [e.g., ≤ 200 ms] | [e.g., ≤ 400 ms] | [e.g., k6] |
|
|
50
|
+
| Tier 4 — Background | [e.g., Async jobs, external calls] | [Best-effort] | [e.g., ≤ 1000 ms] | [e.g., ≤ 3000 ms] | [e.g., k6] |
|
|
51
|
+
|
|
52
|
+
### DB Query Time per tier
|
|
53
|
+
|
|
54
|
+
| Tier | Description | p50 | p95 | Enforcement Tool |
|
|
55
|
+
|------|------------|-----|-----|-----------------|
|
|
56
|
+
| Tier 1 — Indexed point lookup | [e.g., PK or unique-index fetch] | [e.g., ≤ 5 ms] | [e.g., ≤ 15 ms] | [e.g., pgbench] |
|
|
57
|
+
| Tier 2 — Indexed range scan | [e.g., Range or list on indexed column] | [e.g., ≤ 15 ms] | [e.g., ≤ 50 ms] | [e.g., pgbench] |
|
|
58
|
+
| Tier 3 — Aggregation | [e.g., COUNT, SUM, GROUP BY] | [e.g., ≤ 50 ms] | [e.g., ≤ 150 ms] | [e.g., pgbench] |
|
|
59
|
+
| Tier 4 — Full-text / vector / analytical | [e.g., Search, similarity, reports] | [e.g., ≤ 100 ms] | [e.g., ≤ 300 ms] | [e.g., pgbench] |
|
|
60
|
+
|
|
61
|
+
### Desktop surfaces (if applicable)
|
|
62
|
+
|
|
63
|
+
| Metric | Threshold | Enforcement Tool |
|
|
64
|
+
|--------|----------|-----------------|
|
|
65
|
+
| Cold start | [e.g., ≤ 2 s] | [e.g., platform profiler] |
|
|
66
|
+
| Memory (idle) | [e.g., ≤ 200 MB] | [e.g., platform profiler] |
|
|
67
|
+
| Memory (active) | [e.g., ≤ 500 MB] | [e.g., platform profiler] |
|
|
68
|
+
| Installer size | [e.g., ≤ 100 MB] | [e.g., CI size check] |
|
|
69
|
+
|
|
70
|
+
### Mobile surfaces (if applicable)
|
|
71
|
+
|
|
72
|
+
| Metric | Threshold | Enforcement Tool |
|
|
73
|
+
|--------|----------|-----------------|
|
|
74
|
+
| Cold launch | [e.g., ≤ 1.5 s] | [e.g., platform profiler] |
|
|
75
|
+
| Warm launch | [e.g., ≤ 0.5 s] | [e.g., platform profiler] |
|
|
76
|
+
| Battery drain (active) | [e.g., ≤ 5 %/hr] | [e.g., platform profiler] |
|
|
77
|
+
| Download size | [e.g., ≤ 50 MB] | [e.g., CI size check] |
|
|
78
|
+
|
|
79
|
+
### CLI surfaces (if applicable)
|
|
80
|
+
|
|
81
|
+
| Metric | Threshold | Enforcement Tool |
|
|
82
|
+
|--------|----------|-----------------|
|
|
83
|
+
| Execution time | [e.g., ≤ 500 ms for common operations] | [e.g., hyperfine] |
|
|
84
|
+
| Binary size | [e.g., ≤ 20 MB] | [e.g., CI size check] |
|
|
85
|
+
| Startup latency | [e.g., ≤ 100 ms] | [e.g., hyperfine] |
|
|
86
|
+
|
|
87
|
+
### CI Enforcement
|
|
88
|
+
|
|
89
|
+
| Budget Category | Enforcement Tool | Fail Condition | Fail vs. Warn |
|
|
90
|
+
|----------------|-----------------|----------------|---------------|
|
|
91
|
+
| Web Vitals | [e.g., Lighthouse CI] | [e.g., Score below threshold] | [Fail] |
|
|
92
|
+
| Bundle size | [e.g., size-limit] | [e.g., Exceeds per-page-type cap] | [Fail] |
|
|
93
|
+
| API response time | [e.g., k6] | [e.g., p95 exceeds tier target] | [Warn / Fail after baseline] |
|
|
94
|
+
| DB query time | [e.g., pgbench] | [e.g., p95 exceeds tier target] | [Warn / Fail after baseline] |
|
|
95
|
+
| Desktop/mobile | [e.g., platform profiler] | [e.g., Any metric exceeds threshold] | [Warn] |
|
|
96
|
+
|
|
97
|
+
## Accessibility
|
|
98
|
+
- WCAG level: [e.g., 2.1 AA] (web/mobile)
|
|
99
|
+
- Screen reader testing: [required/optional]
|
|
100
|
+
- Keyboard navigation: [all interactive elements]
|
|
101
|
+
- Platform accessibility APIs: [e.g., UIAccessibility for iOS, AccessibilityNodeInfo for Android]
|
|
102
|
+
|
|
103
|
+
## Security
|
|
104
|
+
- Dependency audit: [e.g., npm audit on every CI run]
|
|
105
|
+
- Dependency audit enforcement: [e.g., Fail on HIGH/CRITICAL, Warn on MODERATE]
|
|
106
|
+
- Secret scanning: [tool/approach]
|
|
107
|
+
- CSP policy: [strict/relaxed + details] (web surfaces)
|
|
108
|
+
- Code signing: [signing certificate strategy] (desktop/mobile surfaces)
|
|
109
|
+
- Security testing tool: [e.g., OWASP ZAP for web, MobSF for mobile, or none] (surface-specific dynamic security scan)
|
|
110
|
+
|
|
111
|
+
## Code Quality
|
|
112
|
+
- Max file length: [e.g., 300 lines]
|
|
113
|
+
- Max function length: [e.g., 50 lines]
|
|
114
|
+
- Max cyclomatic complexity: [e.g., 10]
|
|
115
|
+
- Required documentation: [public APIs / all exports / none]
|
|
116
|
+
|
|
117
|
+
## CI/CD Gates
|
|
118
|
+
- Tests must pass: [yes]
|
|
119
|
+
- Lint must pass: [yes]
|
|
120
|
+
- Type-check must pass: [yes]
|
|
121
|
+
- Build must succeed: [yes]
|
|
122
|
+
- Coverage threshold met: [yes]
|
|
123
|
+
|
|
124
|
+
## Validation Command
|
|
125
|
+
[The single command that enforces all of the above]
|
|
126
|
+
```
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# Evolution Layer Guidance
|
|
2
|
+
|
|
3
|
+
Reference for `/evolve-feature-classify` Step 4 and `/evolve-feature-cascade` Step 1 — specifies what to write at each pipeline layer when evolving a feature.
|
|
4
|
+
|
|
5
|
+
## Entry Point Writing Depth
|
|
6
|
+
|
|
7
|
+
### Ideation Layer (`.memory/wiki/specs/ideation/`)
|
|
8
|
+
|
|
9
|
+
1. **Placement**: Read `ideation-index.md` Structure Map. Identify the domain folder. Create new domain if needed.
|
|
10
|
+
2. **Classification Gate**: Apply Node Classification Gate from `.codex/skills/idea-extraction/SKILL.md` — leaf feature or sub-domain folder.
|
|
11
|
+
3. **Write**: Use `.codex/skills/prd-templates/references/fractal-feature-template.md`. Include:
|
|
12
|
+
- Feature description (what and why)
|
|
13
|
+
- Affected personas
|
|
14
|
+
- Success criteria
|
|
15
|
+
- Constraints
|
|
16
|
+
- Role Lens — which personas interact and how
|
|
17
|
+
4. **Update parent index**: Add to parent domain's `*-index.md` children table
|
|
18
|
+
5. **Update CX files**: If cross-domain interactions exist, update parent `*-cx.md` and/or `ideation-cx.md`
|
|
19
|
+
6. **Update `ideation-index.md`**: Add to MoSCoW Summary at appropriate priority
|
|
20
|
+
|
|
21
|
+
### Architecture Layer (`architecture-design.md`)
|
|
22
|
+
|
|
23
|
+
- Technical constraint description
|
|
24
|
+
- Affected components
|
|
25
|
+
- Non-functional requirements (performance, scalability, compliance)
|
|
26
|
+
- Integration points
|
|
27
|
+
|
|
28
|
+
### IA Layer (specific IA shard)
|
|
29
|
+
|
|
30
|
+
- Domain interactions (new/modified user flows)
|
|
31
|
+
- Contracts (new/modified API contracts)
|
|
32
|
+
- Data models (new entities, fields, relationships)
|
|
33
|
+
- Access control (RBAC implications)
|
|
34
|
+
|
|
35
|
+
### BE Layer (BE spec)
|
|
36
|
+
|
|
37
|
+
- New API endpoints
|
|
38
|
+
- Updated schemas
|
|
39
|
+
- Middleware requirements
|
|
40
|
+
- Validation rules
|
|
41
|
+
|
|
42
|
+
### FE Layer (FE spec)
|
|
43
|
+
|
|
44
|
+
- New components
|
|
45
|
+
- State management updates
|
|
46
|
+
- New routes
|
|
47
|
+
- Accessibility requirements
|
|
48
|
+
|
|
49
|
+
### Phase Plan
|
|
50
|
+
|
|
51
|
+
- New slices or updated slice acceptance criteria
|
|
52
|
+
|
|
53
|
+
## Cascade Layer Guidance
|
|
54
|
+
|
|
55
|
+
When cascading through downstream layers in `/evolve-feature-cascade`:
|
|
56
|
+
|
|
57
|
+
| Layer | What to Add |
|
|
58
|
+
|-------|------------|
|
|
59
|
+
| Architecture | New components, system diagram references, NFRs, integration points |
|
|
60
|
+
| IA | New domain interactions, updated contracts, data model changes, access control updates |
|
|
61
|
+
| BE | New API endpoints, updated schemas, middleware requirements, validation rules |
|
|
62
|
+
| FE | New components, state management updates, new routes, accessibility requirements |
|
|
63
|
+
| Phase plan | New slices or updated slice acceptance criteria |
|
|
64
|
+
|
|
65
|
+
## Impact Assessment Format
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
69
|
+
Implementation Impact
|
|
70
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
71
|
+
In-progress slices affected: [list or "none"]
|
|
72
|
+
Completed slices that may need revisiting: [list or "none"]
|
|
73
|
+
New slices needed: [list or "none"]
|
|
74
|
+
Phase plan update required: [yes/no]
|
|
75
|
+
|
|
76
|
+
Recommended action: [specific next step]
|
|
77
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Completion Summary Format
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
84
|
+
Feature Evolution Complete
|
|
85
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
86
|
+
Entry point: [document]
|
|
87
|
+
Layers updated: [list]
|
|
88
|
+
New content: [summary]
|
|
89
|
+
Implementation: [impact summary]
|
|
90
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
91
|
+
```
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Expansion Mode Options
|
|
2
|
+
|
|
3
|
+
Present these options after engagement tier selection. All input types see the same options.
|
|
4
|
+
|
|
5
|
+
| # | Mode | When to Recommend | Description |
|
|
6
|
+
|---|------|-------------------|-------------|
|
|
7
|
+
| 1 | **Full exploration** | 3+ domains | Breadth-before-depth with Deep Think |
|
|
8
|
+
| 2 | **Process as-is** | Thin input where user is confident | Proceed with what's captured |
|
|
9
|
+
| 3 | **Expand vertically** | Domains exist but are shallow | Drill deeper into existing features |
|
|
10
|
+
| 4 | **Expand horizontally** | Domains are deep but coverage gaps exist | Add new domains |
|
|
11
|
+
| 5 | **Cross-cutting concerns** | Domains mapped but interactions unexplored | Map feature interactions |
|
|
12
|
+
| 6 | **Combination** | User has specific priorities | User specifies dimensions and order |
|
|
13
|
+
| 7 | **Audit ambiguity first** | Unclear whether depth or breadth is needed | Inline ambiguity check before deciding |
|
|
14
|
+
|
|
15
|
+
## Default Recommendations
|
|
16
|
+
|
|
17
|
+
| Input Type | Default |
|
|
18
|
+
|---|---|
|
|
19
|
+
| Rich document (≥3 domains) | Full exploration |
|
|
20
|
+
| Rich document (<3 domains) | Expand vertically |
|
|
21
|
+
| Thin document | Full exploration |
|
|
22
|
+
| Verbal / one-liner | Full exploration |
|
|
23
|
+
| Re-run (continue) | Audit ambiguity first |
|
|
24
|
+
|
|
25
|
+
## Recording
|
|
26
|
+
|
|
27
|
+
Write the selected mode to `ideation-index.md` under `## Expansion Mode` immediately after user selection.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# FE Classification — Accessibility & Conditional Rendering Procedures
|
|
2
|
+
|
|
3
|
+
Procedures used during `/write-fe-spec-classify` Step 4c to build accessibility inventories and conditional rendering matrices.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Accessibility Extraction Gate
|
|
8
|
+
|
|
9
|
+
Build an accessibility inventory table for every interactive component or interaction in this feature:
|
|
10
|
+
|
|
11
|
+
| Component/Interaction | WCAG Req | Keyboard Nav | Screen Reader | IA Source |
|
|
12
|
+
|-----------------------|----------|-------------|--------------|-----------|
|
|
13
|
+
| [component name] | [WCAG level + criterion] | [key bindings + focus order] | [aria-label / role / live region] | [IA shard § section] |
|
|
14
|
+
| [interaction name] | [WCAG level + criterion] | [key bindings + focus order] | [aria-label / role / live region] | [IA shard § section] |
|
|
15
|
+
|
|
16
|
+
**Thin a11y coverage flag**: If an interactive feature has **< 3 accessibility specifications** in the IA shard (fewer than 3 rows in the inventory table for a feature with interactive elements), flag it:
|
|
17
|
+
|
|
18
|
+
> ⚠️ **Thin accessibility coverage** for [feature name]: only [N] a11y specs found in IA shard. Options:
|
|
19
|
+
> 1. Resolve now — add missing WCAG requirements to the IA shard before proceeding
|
|
20
|
+
> 2. Accept thin coverage — proceed with what exists and flag as tech debt
|
|
21
|
+
|
|
22
|
+
**Wait for the user's choice before proceeding.**
|
|
23
|
+
|
|
24
|
+
**Carry-forward instruction**: The accessibility inventory table becomes inline annotations in the `## Component Inventory` section during `/write-fe-spec-write`. Each component's specification must include its WCAG requirements, keyboard navigation, and screen reader behavior directly — not as a separate accessibility section.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Conditional Rendering Enumeration (Step 4c.5)
|
|
29
|
+
|
|
30
|
+
Read the IA shard's `## Access Control` section. Build a **role × feature rendering matrix** for every feature-level component or interaction:
|
|
31
|
+
|
|
32
|
+
| Feature/Component | Free | Paid | Creator | Guardian | Junior | Business | Staff | Admin |
|
|
33
|
+
|-------------------|------|------|---------|----------|--------|----------|-------|-------|
|
|
34
|
+
| [component name] | [hidden/locked/read-only/full] | [hidden/locked/read-only/full] | [hidden/locked/read-only/full] | [hidden/locked/read-only/full] | [hidden/locked/read-only/full] | [hidden/locked/read-only/full] | [hidden/locked/read-only/full] | [hidden/locked/read-only/full] |
|
|
35
|
+
|
|
36
|
+
**Values**: `hidden` (not rendered), `locked` (visible but disabled with upgrade prompt), `read-only` (visible, non-interactive), `full` (full access).
|
|
37
|
+
|
|
38
|
+
**Variant mapping**: Every non-trivial cell (any value other than `full` for the majority role) becomes a **named variant** in the component's `variants` spec in the FE spec. For example, if `Creator` gets `read-only` access to a component while `Paid` gets `full`, the component spec must include a `readOnlyCreator` variant (or equivalent named variant).
|
|
39
|
+
|
|
40
|
+
**Unspecified role × feature combinations**: If the IA shard's `## Access Control` does not specify the rendering state for a particular role × feature combination, flag it explicitly:
|
|
41
|
+
|
|
42
|
+
> ⚠️ **Unspecified role × feature combination**: [component] × [role] is not defined in the IA shard's access control.
|
|
43
|
+
> Options:
|
|
44
|
+
> 1. Define it now — specify the rendering state
|
|
45
|
+
> 2. Apply closest-tier default — inherit from the nearest tier (e.g., Free inherits from the most restrictive, Admin inherits `full`)
|
|
46
|
+
|
|
47
|
+
**Do not assume.** Every cell must be explicitly defined or explicitly defaulted with user confirmation.
|