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,99 @@
|
|
|
1
|
+
# CFSA Pipeline for Codex
|
|
2
|
+
|
|
3
|
+
This directory contains the CFSA (Constraint-First Specification Architecture) pipeline adapted for Codex.
|
|
4
|
+
|
|
5
|
+
## Directory Structure
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
.codex/
|
|
9
|
+
├── skills/ # Pipeline workflow skills and utilities
|
|
10
|
+
│ ├── workflows/ # Main pipeline workflows (ideate, create-prd, etc.)
|
|
11
|
+
│ ├── setup/ # Setup and bootstrap skills
|
|
12
|
+
│ └── utilities/ # Helper skills (resolution, templates, etc.)
|
|
13
|
+
├── rules/ # Always-active rules that apply to every task
|
|
14
|
+
├── instructions/ # Core directives (workflow, tech-stack, patterns)
|
|
15
|
+
├── skill-library/ # Codex-owned skill library
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Project root canonical memory / Obsidian vault:
|
|
19
|
+
|
|
20
|
+
```text
|
|
21
|
+
.memory/
|
|
22
|
+
├── .obsidian/ # Vault config stored inside the project
|
|
23
|
+
├── raw/ # Append-only session and event captures
|
|
24
|
+
├── wiki/ # Compiled patterns, decisions, blockers, and knowledge
|
|
25
|
+
├── schema/ # Machine-readable retrieval artifacts
|
|
26
|
+
├── mcp-server/ # Shared memory MCP server
|
|
27
|
+
├── hooks/ # Optional hook entrypoints
|
|
28
|
+
└── migrate/ # Legacy memory import helpers
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
The `.memory/` directory is the canonical project memory layer and is designed to function as an Obsidian-friendly vault inside the project.
|
|
32
|
+
|
|
33
|
+
A Codex install also gets the shared `.memory/` runtime scaffold, including:
|
|
34
|
+
- the `cfsa-memory` server under `.memory/mcp-server/`
|
|
35
|
+
- daemon startup helpers under `.memory/mcp-server/start.mjs`
|
|
36
|
+
- compile/runtime helpers under `.memory/pipeline/` and `.memory/hooks/`
|
|
37
|
+
|
|
38
|
+
Tool-specific MCP client config is user-managed. If you want Codex to talk to the shared memory daemon, add the appropriate MCP client config yourself and then run the initial compile before opening Obsidian at `.memory/`.
|
|
39
|
+
|
|
40
|
+
Codex should point at `.memory/mcp-server/client.mjs`. That client now resolves the daemon from the current workspace's `.memory/runtime/cfsa-memory-daemon.json` and validates the daemon's `projectRoot` from `/health`, so a Codex session in one repo will not silently proxy into another repo's daemon.
|
|
41
|
+
|
|
42
|
+
All runtimes should read and write shared project memory through `.memory/` and the MCP bridge.
|
|
43
|
+
|
|
44
|
+
```text
|
|
45
|
+
Shared memory access path
|
|
46
|
+
Codex / Antigravity / Claude / Factory
|
|
47
|
+
-> runtime MCP client config
|
|
48
|
+
-> .mcp.json -> cfsa-memory -> .memory/mcp-server/client.mjs
|
|
49
|
+
-> shared daemon at .memory/mcp-server/daemon.mjs
|
|
50
|
+
-> .memory/wiki/* and .memory/schema/*
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Parallel Structure
|
|
54
|
+
|
|
55
|
+
This directory is the standalone Codex runtime for the CFSA pipeline. It sits alongside the other runtimes in this repository, but `.codex/` owns its Codex execution assets locally.
|
|
56
|
+
|
|
57
|
+
## Key Differences from Antigravity Version
|
|
58
|
+
|
|
59
|
+
1. **Skills vs Workflows**: Codex uses skills instead of passive workflow markdown files
|
|
60
|
+
2. **Task System**: Uses Codex's task and progress conventions for tracking
|
|
61
|
+
3. **Progress + Shared Memory**: Uses `.memory/pipeline/progress/` for Codex pipeline state and project-level `.memory/` for canonical cross-runtime memory
|
|
62
|
+
4. **Invocation**: Workflows are invoked as skills rather than slash commands in markdown
|
|
63
|
+
5. **MCP**: Codex can connect to the shared `cfsa-memory` MCP bridge when configured by the user
|
|
64
|
+
|
|
65
|
+
## Installation
|
|
66
|
+
|
|
67
|
+
To install the Codex version:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
npx cfsa-antigravity init --agent codex
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
For the Antigravity version (default):
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
npx cfsa-antigravity init
|
|
77
|
+
# or
|
|
78
|
+
npx cfsa-antigravity init --agent antigravity
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Pipeline Stages
|
|
82
|
+
|
|
83
|
+
The CFSA pipeline follows these stages regardless of the agent system:
|
|
84
|
+
|
|
85
|
+
1. **Discovery** (`/ideate`) — Raw idea → structured ideation
|
|
86
|
+
2. **Design** (`/create-prd`) → Architecture, tech stack, security model
|
|
87
|
+
3. **Specification** (`/write-*-spec`) → Detailed specs per layer
|
|
88
|
+
4. **Planning** (`/plan-phase`) → Dependency-ordered TDD slices
|
|
89
|
+
5. **Setup** (`/setup-workspace`) → Project scaffold, CI/CD, infrastructure
|
|
90
|
+
6. **Implementation** (`/implement-slice`) → TDD vertical slices
|
|
91
|
+
7. **Validation** (`/validate-phase`) → Quality gates and readiness checks
|
|
92
|
+
|
|
93
|
+
## Getting Started
|
|
94
|
+
|
|
95
|
+
After installation, start the pipeline with the ideate workflow to begin your project.
|
|
96
|
+
|
|
97
|
+
## Documentation
|
|
98
|
+
|
|
99
|
+
See the main project documentation in `docs/` for complete pipeline guides.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Development Commands
|
|
2
|
+
|
|
3
|
+
<!--
|
|
4
|
+
THIS FILE IS A TEMPLATE.
|
|
5
|
+
The /bootstrap-agents workflow fills per-surface command sections below.
|
|
6
|
+
For single-surface projects, one flat section is written.
|
|
7
|
+
For multi-surface projects, one section per surface.
|
|
8
|
+
-->
|
|
9
|
+
|
|
10
|
+
<!-- Bootstrap writes command sections here. Each surface from the map gets its own section. -->
|
|
11
|
+
<!-- Single-surface projects get a flat layout (no surface header). -->
|
|
12
|
+
|
|
13
|
+
{{COMMAND_SECTIONS}}
|
|
14
|
+
|
|
15
|
+
## Validation (run after every code change)
|
|
16
|
+
|
|
17
|
+
The validation command runs all checks for the primary surface. For multi-surface projects, run each surface's validation command.
|
|
18
|
+
|
|
19
|
+
// turbo
|
|
20
|
+
```bash
|
|
21
|
+
{{VALIDATION_COMMAND}}
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
All checks must pass before marking any task complete.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
ideation/
|
|
2
|
+
├── surfaces/
|
|
3
|
+
│ ├── web/
|
|
4
|
+
│ │ ├── webdomain-01/ (top domain)
|
|
5
|
+
│ │ │ ├── 01.01-consumer-web/ (sub domain)
|
|
6
|
+
│ │ │ │ └── 01.01.01-consumer-web-{{feat01}}.md
|
|
7
|
+
│ │ │ │ └── 01.01.02-consumer-web-{{feat02}}.md
|
|
8
|
+
│ │ │ │ └── cunsumer-web-crosscut.md (sub domain CX)
|
|
9
|
+
│ │ │ │ └── consumer-web-index.md (sub domain index)
|
|
10
|
+
│ │ └── webdomain-02/ (top domain)
|
|
11
|
+
│ │ │ ├── 01.02-education-hub/ (sub domain)
|
|
12
|
+
│ │ │ │ └── 01.02.01-education-hub-{{feat01}}.md
|
|
13
|
+
│ │ │ │ └── 01.02.02-education-hub-{{feat02}}.md
|
|
14
|
+
│ │ │ │ └── education-hub-crosscut.md (sub domain CX)
|
|
15
|
+
│ │ │ │ └── education-hub-index.md (sub domain index)
|
|
16
|
+
│ │ ├── webdomain-cx.md (top domain cx)
|
|
17
|
+
│ │ ├── webdomain-index.md (top domain index)
|
|
18
|
+
│ ├── desktop/
|
|
19
|
+
│ │ ├── desktopdomain-01/ (top domain)
|
|
20
|
+
│ └── mobile/
|
|
21
|
+
│ ├── mobiledomain-01/ (top domain)
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Code Patterns & Conventions
|
|
2
|
+
|
|
3
|
+
<!--
|
|
4
|
+
THIS FILE IS A TEMPLATE.
|
|
5
|
+
The /bootstrap-agents workflow will fill in your project-specific patterns.
|
|
6
|
+
Sections marked with {{PLACEHOLDER}} will be replaced.
|
|
7
|
+
-->
|
|
8
|
+
|
|
9
|
+
## TypeScript → skills: `clean-code`, `typescript-advanced-patterns`
|
|
10
|
+
- **Strict mode** everywhere — `strict: true` in tsconfig
|
|
11
|
+
- **Explicit types** — No `any`, no implicit returns
|
|
12
|
+
- **{{CONTRACT_LIBRARY}} validation** — All API inputs validated with {{CONTRACT_LIBRARY}} schemas
|
|
13
|
+
- **Self-documenting** — Clear naming over comments
|
|
14
|
+
- **{{CONTRACT_LIBRARY}} inference** — Derive types from {{CONTRACT_LIBRARY}} schemas (e.g., `z.infer<typeof schema>` for Zod, type inference for Pydantic)
|
|
15
|
+
|
|
16
|
+
## File Organization → skill: `clean-code`
|
|
17
|
+
- **File size limits** — Per-type limits (enforced by extensibility rule): 200 lines for components (.tsx), 300 for utilities (.ts), 150 for schemas (.schema.ts), 400 for tests (.test.ts), 100 for config files
|
|
18
|
+
- **Single responsibility** — One component/module per file
|
|
19
|
+
- **Named exports** — No default exports for utilities
|
|
20
|
+
- **Direct imports** — Import from specific files, avoid barrel files
|
|
21
|
+
|
|
22
|
+
## Components
|
|
23
|
+
<!-- {{FRAMEWORK_PATTERNS}} — Filled by /bootstrap-agents based on chosen frontend framework -->
|
|
24
|
+
> ⚠️ **Framework component patterns not yet configured.** Run /bootstrap-agents with FRAMEWORK_PATTERNS to fill this section. Until then, follow the framework's official documentation for component conventions and apply the naming and file organisation rules above.
|
|
25
|
+
|
|
26
|
+
## API & Data → skill: `rest-api-design`
|
|
27
|
+
- **Input validation** — {{CONTRACT_LIBRARY}} schemas on every endpoint
|
|
28
|
+
- **Error format** — Consistent: `{ success: boolean, data?: T, error?: { code, message } }`
|
|
29
|
+
- **No magic strings** — Constants and enums for repeated values
|
|
30
|
+
- **Rate limiting** — On all public-facing endpoints
|
|
31
|
+
|
|
32
|
+
## Security → skill: `security-scanning-security-hardening`
|
|
33
|
+
- **No secrets in client code** — Server-side only, environment variables
|
|
34
|
+
- **CSP headers** — Content Security Policy on all responses
|
|
35
|
+
- **Input sanitization** — Prevent XSS, injection attacks
|
|
36
|
+
- **CORS configured** — Explicit allowed origins, no wildcards in production
|
|
37
|
+
|
|
38
|
+
## Naming
|
|
39
|
+
- **Files:** kebab-case (`user-profile.tsx`)
|
|
40
|
+
- **Components:** PascalCase (`UserProfile`)
|
|
41
|
+
- **Functions:** camelCase (`getUserById`)
|
|
42
|
+
- **Constants:** SCREAMING_SNAKE (`MAX_RETRY_COUNT`)
|
|
43
|
+
- **Types/Interfaces:** PascalCase (`UserSession`)
|
|
44
|
+
|
|
45
|
+
## What NOT to Do
|
|
46
|
+
- No `console.log` in committed code — Use a structured logging utility
|
|
47
|
+
- No `// TODO` — Lazy placeholders are banned. If the information you need genuinely doesn't exist yet, use a `// BOUNDARY:` stub (see rule: `boundary-not-placeholder`)
|
|
48
|
+
- No `any` type — Ever
|
|
49
|
+
- No inline styles — Use CSS classes or scoped styles
|
|
50
|
+
- No hardcoded URLs — Use environment config
|
|
51
|
+
- No barrel files (`index.ts`) — Import directly from source files
|
|
52
|
+
|
|
53
|
+
<!--
|
|
54
|
+
Add project-specific sections below as your stack evolves:
|
|
55
|
+
## State & Data
|
|
56
|
+
## Caching
|
|
57
|
+
## Observability
|
|
58
|
+
## Payments
|
|
59
|
+
## Email
|
|
60
|
+
## Images
|
|
61
|
+
-->
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Project Structure
|
|
2
|
+
|
|
3
|
+
<!--
|
|
4
|
+
THIS FILE IS A TEMPLATE.
|
|
5
|
+
The /bootstrap-agents workflow will fill in your project-specific structure.
|
|
6
|
+
-->
|
|
7
|
+
|
|
8
|
+
## Current Layout
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
{{PROJECT_STRUCTURE}}
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Architecture Separation
|
|
15
|
+
|
|
16
|
+
| Concern | Location | Runtime |
|
|
17
|
+
|---------|----------|---------|
|
|
18
|
+
| {{ARCHITECTURE_TABLE}} |
|
|
19
|
+
|
|
20
|
+
## Protected Files (Do Not Modify Without Approval)
|
|
21
|
+
- `AGENTS.md` — Project agent config
|
|
22
|
+
- `.memory/wiki/specs/ENGINEERING-STANDARDS.md` — Quality bar
|
|
23
|
+
- `.codex/instructions/*` — Agent rules
|
|
24
|
+
- `package.json` — Dependencies (add carefully)
|
|
25
|
+
- `tsconfig.json` — TypeScript config
|
|
26
|
+
|
|
27
|
+
## Notes
|
|
28
|
+
- Codex agent config lives in `.codex/`
|
|
29
|
+
- Frontend and API may be separately deployed depending on architecture
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# Tech Stack
|
|
2
|
+
|
|
3
|
+
<!--
|
|
4
|
+
THIS FILE IS A TEMPLATE.
|
|
5
|
+
The setup-cfsa skill fills the Surface Stack Map and Global Settings below.
|
|
6
|
+
Empty cells are marked with — (not applicable) or ⚠️ (not yet resolved).
|
|
7
|
+
-->
|
|
8
|
+
|
|
9
|
+
## Surface Stack Map
|
|
10
|
+
|
|
11
|
+
The surface stack map is the **single source of truth** for all per-surface stack decisions and cross-cutting project-wide skills. Every workflow that needs to load skills or run commands resolves them from this map — NOT from scattered placeholders.
|
|
12
|
+
|
|
13
|
+
### How Codex Workflows Use This Map
|
|
14
|
+
|
|
15
|
+
**Surface-aware workflows** (spec-writing, implementation):
|
|
16
|
+
1. Determine the shard/slice's surface from its directory path or surface tag
|
|
17
|
+
2. Look up the row for that surface in the Per-Surface table below
|
|
18
|
+
3. Load all skills listed in the required column(s) — cells are comma-separated lists
|
|
19
|
+
4. Resolve each skill through the 4-tier resolution chain (see `.codex/skills/utilities/resolve-skill.md`)
|
|
20
|
+
5. Skip cells marked `—` (not applicable for this surface)
|
|
21
|
+
|
|
22
|
+
**Cross-cutting workflows** (validation, infrastructure verification):
|
|
23
|
+
1. Read the Cross-Cutting Skills table below
|
|
24
|
+
2. Load all skills listed in the required category
|
|
25
|
+
3. Resolve through 4-tier chain if not already present
|
|
26
|
+
|
|
27
|
+
**Single-surface projects**: The Per-Surface table has exactly one row. All lookups resolve identically to a flat scalar model. No conditional logic needed.
|
|
28
|
+
|
|
29
|
+
### Per-Surface Skills
|
|
30
|
+
|
|
31
|
+
Each cell is a comma-separated list of skill directory names from `.codex/skills/`. Use `—` for "not applicable."
|
|
32
|
+
|
|
33
|
+
<!-- Bootstrap fills this table. One row per confirmed surface + a `shared` row for cross-surface backend. -->
|
|
34
|
+
|
|
35
|
+
| Surface | Languages | BE Frameworks | FE Frameworks | FE Design | ORMs | State Mgmt | Databases | Unit Tests | E2E Tests | Test Cmd | Validation Cmd | Lint Cmd | Build Cmd | Dev Cmd | Package Mgr |
|
|
36
|
+
|---------|-----------|---------------|---------------|-----------|------|------------|-----------|------------|-----------|----------|----------------|----------|-----------|---------|-------------|
|
|
37
|
+
| {{SURFACE_ROW}} |
|
|
38
|
+
|
|
39
|
+
> **Multi-value cells**: A surface can list multiple skills per column (e.g., `tailwind, vanilla-css` or `supabase, surrealdb, pglite`). Workflows iterate and load ALL listed skills.
|
|
40
|
+
|
|
41
|
+
> **Shared row**: The `shared` surface represents cross-surface backend infrastructure (API layer, shared database, etc.). Shards in `.memory/wiki/specs/shared/` resolve against this row.
|
|
42
|
+
|
|
43
|
+
### Cross-Cutting Skills
|
|
44
|
+
|
|
45
|
+
Project-wide skills that don't vary per surface. Each value column is also comma-separated.
|
|
46
|
+
|
|
47
|
+
<!-- Bootstrap fills this table from project-wide tech stack decisions. -->
|
|
48
|
+
|
|
49
|
+
| Category | Skills |
|
|
50
|
+
|----------|--------|
|
|
51
|
+
| Auth | {{AUTH}} |
|
|
52
|
+
| CI/CD | {{CI_CD}} |
|
|
53
|
+
| Hosting | {{HOSTING}} |
|
|
54
|
+
| Security | {{SECURITY}} |
|
|
55
|
+
| API Design | {{API_DESIGN}} |
|
|
56
|
+
| Accessibility | {{ACCESSIBILITY}} |
|
|
57
|
+
| Contract Library | {{CONTRACT_LIBRARY}} |
|
|
58
|
+
|
|
59
|
+
### Map Verification
|
|
60
|
+
|
|
61
|
+
A valid surface stack map must satisfy:
|
|
62
|
+
1. **At least one row** in the Per-Surface table (even single-surface projects)
|
|
63
|
+
2. **Languages column is never empty** — every surface has at least one language
|
|
64
|
+
3. **Test Cmd column is never empty** — every surface must be testable
|
|
65
|
+
4. **No `⚠️` cells** — all skill resolution must be complete before implementation begins
|
|
66
|
+
|
|
67
|
+
Verification gates in `workflow-plan-phase` and `workflow-implement-slice` check these conditions. See `.codex/skills/setup/setup-verify.md` for the full verification procedure.
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Global Settings
|
|
72
|
+
|
|
73
|
+
<!-- These are project-wide values, not per-surface. Bootstrap fills them. -->
|
|
74
|
+
|
|
75
|
+
| Setting | Value |
|
|
76
|
+
|---------|-------|
|
|
77
|
+
| Project Name | {{PROJECT_NAME}} |
|
|
78
|
+
| Description | {{DESCRIPTION}} |
|
|
79
|
+
| Stack Summary | {{TECH_STACK_SUMMARY}} |
|
|
80
|
+
| Surfaces | {{SURFACES}} |
|
|
81
|
+
| Architecture Doc | {{ARCHITECTURE_DOC}} |
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Installed Skills
|
|
86
|
+
|
|
87
|
+
<!-- Updated by setup-provision-skills after skill discovery and provisioning -->
|
|
88
|
+
{{INSTALLED_SKILLS}}
|
|
89
|
+
|
|
90
|
+
## Reference
|
|
91
|
+
|
|
92
|
+
- [Architecture Design](../../{{ARCHITECTURE_DOC}}) — full system design with rationale
|
|
93
|
+
- [Engineering Standards](../../.memory/wiki/specs/ENGINEERING-STANDARDS.md) — Quality thresholds
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Mandatory Execution Sequence
|
|
2
|
+
|
|
3
|
+
Before taking any action on a task:
|
|
4
|
+
|
|
5
|
+
## 1. Understand Context
|
|
6
|
+
- Read the agent config file at project root (`AGENTS.md` for Antigravity, `GEMINI.md` for Gemini CLI, or equivalent for your agent)
|
|
7
|
+
- Read relevant `.codex/instructions/` files for the task type
|
|
8
|
+
- Check [Engineering Standards](../../.memory/wiki/specs/ENGINEERING-STANDARDS.md) for quality bar — if this file doesn't exist yet, the pipeline hasn't reached /create-prd; run /ideate then /create-prd first
|
|
9
|
+
- **Session Resumption**: If `.memory/pipeline/progress/index.md` exists, read `.codex/skills/session-continuity/protocols/01-session-resumption.md` and follow the **Session Resumption Protocol** to load cross-session context and identify the resumption point
|
|
10
|
+
|
|
11
|
+
## 2. Check Skills
|
|
12
|
+
- Scan `.codex/skills/` for applicable skills
|
|
13
|
+
- Load relevant skill SKILL.md before proceeding
|
|
14
|
+
- Key skills: `brainstorming` (before creative work), `tdd-workflow` (before features), `clean-code` (during review)
|
|
15
|
+
|
|
16
|
+
## 3. Execute
|
|
17
|
+
|
|
18
|
+
> **Non-negotiable:** This project does not ship MVPs. Every line you write is
|
|
19
|
+
> production code. There is no "rough draft" phase.
|
|
20
|
+
|
|
21
|
+
- Follow the task requirements
|
|
22
|
+
- Write production-grade code from the start — no exceptions, no "clean up later"
|
|
23
|
+
- No placeholder implementations or `// TODO` comments — if the information you need genuinely doesn't exist yet, use a `// BOUNDARY:` stub with typed interface, tracking issue, and sentinel test (see rule: `boundary-not-placeholder`)
|
|
24
|
+
- No deferred quality — if it's not ready for production, it's not ready to commit
|
|
25
|
+
- **Cost-blind execution** — The cost of API calls, tokens, or compute to complete your work is NEVER your concern. Do not estimate, report, or factor operational AI costs into any decision. The only cost constraints that matter are user-defined project constraints (e.g., "keep hosting costs low," "prefer client-side compute"). If the user hasn't defined a cost constraint, cost is not a factor.
|
|
26
|
+
- **Proactive effort mindset** — When you estimate a task will take significant effort, that is a signal to commit harder, not to defer. Small task? Get it done immediately. Large task? Buckle in, communicate progress, and work through it systematically. Time estimates drive commitment, never avoidance.
|
|
27
|
+
|
|
28
|
+
## 4. Validate (MANDATORY)
|
|
29
|
+
After **every** code change, run:
|
|
30
|
+
```bash
|
|
31
|
+
See `.codex/instructions/commands.md` for the validation command.
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Do NOT mark a task complete until all validations pass.
|
|
35
|
+
|
|
36
|
+
## 5. Learn (MANDATORY)
|
|
37
|
+
|
|
38
|
+
After completing a workflow or substantial task:
|
|
39
|
+
|
|
40
|
+
- **Pattern Extraction**: Read `.codex/skills/session-continuity/protocols/04-pattern-extraction.md` and follow the **Pattern Extraction Protocol**. Reflect on what worked, what didn't, and log reusable patterns to `memory/patterns.md`. Skip only if the task was trivial (routine, nothing new learned).
|
|
41
|
+
- **Session Close**: Read `.codex/skills/session-continuity/protocols/05-session-close.md` and follow the **Session Close Protocol**. Write a session log to `.memory/pipeline/progress/sessions/` so the next session can resume cleanly.
|
|
42
|
+
|
|
43
|
+
> These steps are **not optional**. They are what differentiate a pipeline that gets
|
|
44
|
+
> smarter over time from one that repeats the same mistakes.
|
|
45
|
+
|
|
46
|
+
## 6. Recommend Next Step (MANDATORY)
|
|
47
|
+
|
|
48
|
+
Before reporting completion via `notify_user`:
|
|
49
|
+
- Check the pipeline progress state (`.memory/pipeline/progress/spec-pipeline.md` or equivalent)
|
|
50
|
+
- Propose the next valid pipeline command to the user
|
|
51
|
+
- If multiple valid next steps exist, list them with brief context
|
|
52
|
+
- Never end a conversation without telling the user what to do next
|
|
53
|
+
|
|
54
|
+
> This closes the gap where individual workflow files include "next step" sections,
|
|
55
|
+
> but agents don't read those files at session start. This step ensures the
|
|
56
|
+
> recommendation happens regardless.
|
|
57
|
+
|
|
58
|
+
## Principles
|
|
59
|
+
|
|
60
|
+
- **Ask before assuming** — Clarify ambiguous requirements
|
|
61
|
+
- **Small changes** — Commit frequently, keep diffs reviewable
|
|
62
|
+
- **Test first** — Write failing tests before implementation — no exceptions
|
|
63
|
+
- **Security always** — Validate inputs, sanitize outputs, never expose secrets
|
|
64
|
+
- **Work is the job** — Never use the size, complexity, or duration of a task as a reason to reduce quality or scope. Large tasks get more effort, not less quality.
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: TODOs and placeholders are banned — boundary stubs are allowed ONLY when required information doesn't exist yet
|
|
3
|
+
trigger: always_on
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Boundary Not Placeholder
|
|
7
|
+
|
|
8
|
+
## The Rule
|
|
9
|
+
|
|
10
|
+
**Lazy placeholders are banned. Boundary stubs are allowed under strict conditions.**
|
|
11
|
+
|
|
12
|
+
The difference is not about effort, complexity, or scope — it is about
|
|
13
|
+
**whether the information you need to do the work exists.**
|
|
14
|
+
|
|
15
|
+
## What Is NEVER a Valid Reason for a Stub
|
|
16
|
+
|
|
17
|
+
| Excuse | Why It's Not Valid |
|
|
18
|
+
|--------|-------------------|
|
|
19
|
+
| "This is a lot of work" | Amount of work is irrelevant. Do the work. |
|
|
20
|
+
| "This spans outside the current task" | If the spec exists, you have the information. Do it. |
|
|
21
|
+
| "This is complex" | Complexity is not an obstacle if the spec defines the behavior. |
|
|
22
|
+
| "I'll come back to this" | No you won't. Do it now. |
|
|
23
|
+
| "This should be a separate PR" | Code organization ≠ deferred implementation. |
|
|
24
|
+
| "This needs refactoring first" | Refactor, then implement. Don't stub. |
|
|
25
|
+
| "The test is passing without it" | Then your test is incomplete. Fix the test. |
|
|
26
|
+
| "This is boilerplate" | Boilerplate is still production code. Write it. |
|
|
27
|
+
| "This will cost X in API calls/tokens" | Your operational cost is never a factor. Do the work. |
|
|
28
|
+
| "This will take a long time" | Time is a signal to commit harder, not to defer. |
|
|
29
|
+
| "For efficiency, I'll skip this" | Efficiency means doing it right, not doing less. |
|
|
30
|
+
|
|
31
|
+
## The ONLY Valid Reason for a Boundary Stub
|
|
32
|
+
|
|
33
|
+
> **The spec, schema, or contract that defines the required behavior has not
|
|
34
|
+
> been written yet.** You literally cannot implement it because the information
|
|
35
|
+
> that tells you *what* to implement does not yet exist in any document,
|
|
36
|
+
> schema file, or codebase artifact.
|
|
37
|
+
|
|
38
|
+
Examples of genuinely valid boundaries:
|
|
39
|
+
|
|
40
|
+
| Situation | Why It's Valid |
|
|
41
|
+
|-----------|---------------|
|
|
42
|
+
| Auth middleware spec is in a future shard that hasn't been written | No IA/BE spec exists for the auth behavior |
|
|
43
|
+
| Payment webhook handler depends on a Stripe integration spec not yet created | No contract defines the webhook payload shape |
|
|
44
|
+
| Component needs data from an API endpoint whose BE spec doesn't exist yet | No schema defines the response format |
|
|
45
|
+
| Feature depends on a third-party SDK that hasn't been evaluated yet | No architecture decision has been made |
|
|
46
|
+
|
|
47
|
+
## The Three-Part Test
|
|
48
|
+
|
|
49
|
+
Before writing a boundary stub, answer ALL THREE questions:
|
|
50
|
+
|
|
51
|
+
1. **Does a spec exist for this behavior?** (IA shard, BE spec, FE spec, contract)
|
|
52
|
+
- If YES → you have the information. Implement it. No stub allowed.
|
|
53
|
+
- If NO → proceed to question 2.
|
|
54
|
+
|
|
55
|
+
2. **Could you write the spec right now?**
|
|
56
|
+
- If YES → write the spec first, then implement. No stub allowed.
|
|
57
|
+
- If NO (requires a user decision, external dependency, or upstream spec) → proceed to question 3.
|
|
58
|
+
|
|
59
|
+
3. **Is this blocking the current slice from being testable and functional?**
|
|
60
|
+
- If YES → write a boundary stub (see requirements below).
|
|
61
|
+
- If NO → omit it entirely. Don't stub what you don't need yet.
|
|
62
|
+
|
|
63
|
+
## Boundary Stub Requirements
|
|
64
|
+
|
|
65
|
+
If — and ONLY if — all three tests pass, a boundary stub must include:
|
|
66
|
+
|
|
67
|
+
### 1. Typed Interface
|
|
68
|
+
```typescript
|
|
69
|
+
// ✅ Boundary stub — typed interface for future auth middleware
|
|
70
|
+
// BOUNDARY: Requires IA shard 04 (authentication) — not yet specified
|
|
71
|
+
// TRACKING: #123
|
|
72
|
+
export interface AuthMiddleware {
|
|
73
|
+
requireAuth: (roles: string[]) => RequestHandler;
|
|
74
|
+
validateToken: (token: string) => Promise<AuthResult>;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// Temporary: returns a no-op until auth spec is written
|
|
78
|
+
export const authMiddleware: AuthMiddleware = {
|
|
79
|
+
requireAuth: (_roles) => (_req, _res, next) => next(),
|
|
80
|
+
validateToken: async (_token) => ({ valid: false, reason: 'auth-not-implemented' }),
|
|
81
|
+
};
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### 2. Tracking Issue
|
|
85
|
+
Every boundary stub MUST have a linked GitHub issue that includes:
|
|
86
|
+
- Which spec is missing (e.g., "IA shard 04: Authentication")
|
|
87
|
+
- What the stub currently does (e.g., "no-op passthrough")
|
|
88
|
+
- What it should do when the spec is written
|
|
89
|
+
|
|
90
|
+
### 3. Sentinel Test
|
|
91
|
+
|
|
92
|
+
The sentinel test must verify that calling the function returns a structured boundary response — not `undefined` or an error. Specific assertion syntax depends on your test framework:
|
|
93
|
+
|
|
94
|
+
- **Jest / Vitest**: `expect(fn()).resolves.toEqual({ ... })`
|
|
95
|
+
- **pytest**: `assert fn() == { ... }`
|
|
96
|
+
- **Rust**: `assert_eq!(fn(), BoundaryResponse { ... })`
|
|
97
|
+
|
|
98
|
+
The test exists to remind the team the stub is still active. When the real implementation replaces the stub, this test is replaced with full behavioral tests.
|
|
99
|
+
|
|
100
|
+
### 4. BOUNDARY Comment Prefix
|
|
101
|
+
All boundary stubs use the `BOUNDARY:` prefix (not `TODO:`):
|
|
102
|
+
```typescript
|
|
103
|
+
// BOUNDARY: Requires BE spec for payment-webhooks — not yet written
|
|
104
|
+
// TRACKING: #456
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
This makes boundary stubs greppable and distinguishable from lazy TODOs:
|
|
108
|
+
```bash
|
|
109
|
+
grep -r "BOUNDARY:" src/ # Shows legitimate cross-cutting boundaries
|
|
110
|
+
grep -r "TODO:" src/ # Should return ZERO results
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## What Gets Flagged in Code Review
|
|
114
|
+
|
|
115
|
+
| Pattern | Verdict |
|
|
116
|
+
|---------|---------|
|
|
117
|
+
| `// TODO: implement later` | ❌ **Rejected.** Lazy placeholder. |
|
|
118
|
+
| `// TODO: add error handling` | ❌ **Rejected.** Error handling is part of the current work. |
|
|
119
|
+
| `throw new Error('not implemented')` | ❌ **Rejected.** Empty implementation. |
|
|
120
|
+
| `// BOUNDARY: Requires IA shard 04` + typed interface + issue + sentinel test | ✅ **Allowed.** Information genuinely doesn't exist. |
|
|
121
|
+
| `test.skip('auth integration')` without linked issue | ❌ **Rejected.** Skipped tests need accountability. |
|
|
122
|
+
| `test.skip('auth integration') // BOUNDARY: #123` | ✅ **Allowed.** Tracked and accountable. |
|
|
123
|
+
|
|
124
|
+
## Summary
|
|
125
|
+
|
|
126
|
+
```
|
|
127
|
+
┌─────────────────────────┐
|
|
128
|
+
│ Can I implement this? │
|
|
129
|
+
└────────┬────────────────┘
|
|
130
|
+
│
|
|
131
|
+
┌────────▼────────────────┐
|
|
132
|
+
│ Does the spec exist? │
|
|
133
|
+
└────────┬────────────────┘
|
|
134
|
+
YES │ NO
|
|
135
|
+
┌────────▼───┐ ┌────▼──────────────┐
|
|
136
|
+
│ IMPLEMENT. │ │ Can I write the │
|
|
137
|
+
│ No excuses.│ │ spec right now? │
|
|
138
|
+
└────────────┘ └────┬──────────────┘
|
|
139
|
+
YES │ NO
|
|
140
|
+
┌─────────▼──┐ ┌────▼──────────────┐
|
|
141
|
+
│ Write spec, │ │ Boundary stub: │
|
|
142
|
+
│ then impl. │ │ typed interface + │
|
|
143
|
+
└─────────────┘ │ tracking issue + │
|
|
144
|
+
│ sentinel test │
|
|
145
|
+
└──────────────────┘
|
|
146
|
+
```
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Code plus tests plus tracking equals done — never mark complete without updating progress files
|
|
3
|
+
trigger: always_on
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Completion Checklist
|
|
7
|
+
|
|
8
|
+
> Code complete ≠ done. Tests pass ≠ done.
|
|
9
|
+
> Code complete + tests pass + tracking updated = DONE.
|
|
10
|
+
|
|
11
|
+
## The Problem
|
|
12
|
+
|
|
13
|
+
Working code is only half the job of a software engineer. The other half is communicating
|
|
14
|
+
that work, updating shared state, releasing locks, and documenting decisions so the rest of
|
|
15
|
+
the team (or your future self) can understand what happened.
|
|
16
|
+
|
|
17
|
+
When an agent reports a task as "complete" without updating the progress tracking files,
|
|
18
|
+
it breaks the pipeline. The next agent won't know what's done, dependencies get blocked,
|
|
19
|
+
and the human operator loses visibility.
|
|
20
|
+
|
|
21
|
+
## The Rule
|
|
22
|
+
|
|
23
|
+
**You are never "done" just because the code works and the tests pass.**
|
|
24
|
+
|
|
25
|
+
Before concluding any workflow, task, or slice — and especially before calling `notify_user`
|
|
26
|
+
to report completion — you must verify you have completed the administrative checklist.
|
|
27
|
+
|
|
28
|
+
## The Definition of Done
|
|
29
|
+
|
|
30
|
+
A unit of work is only DONE when:
|
|
31
|
+
|
|
32
|
+
1. **The Code**: Implementation meets the contract and acceptance criteria.
|
|
33
|
+
2. **The Tests**: All tests pass (validation step is green).
|
|
34
|
+
3. **The Tracking**: Progress markdown files in `.memory/pipeline/progress/` are updated.
|
|
35
|
+
- Acceptance criteria marked `[x]`
|
|
36
|
+
- Slice/Task marked `[x]`
|
|
37
|
+
- Phase progress fractions updated (e.g., `3/10` → `4/10`)
|
|
38
|
+
- Overall progress fractions updated
|
|
39
|
+
4. **The Locks**: All task claims (`[!]` flags and `files:` blocks) are removed.
|
|
40
|
+
5. **The Memory**: The unified project memory in `.memory/wiki/` is checked:
|
|
41
|
+
- `patterns.md` — Any patterns observed (what worked, what failed) logged per Protocol 04. **User corrections are logged as anti-patterns.**
|
|
42
|
+
- `decisions.md` — Any non-trivial decisions logged per Protocol 06
|
|
43
|
+
- `blockers.md` — Any blockers hit logged with status and impact
|
|
44
|
+
- See rule: `memory-capture` for triggers and format
|
|
45
|
+
6. **The Session Log**: A session close log exists in `.memory/pipeline/progress/sessions/`.
|
|
46
|
+
- Follow `.codex/skills/session-continuity/protocols/05-session-close.md` — write what was accomplished, deferred, and where the next session should start
|
|
47
|
+
7. **The Next Step**: The user is told what comes next in the pipeline.
|
|
48
|
+
- Read the pipeline progress file (`.memory/pipeline/progress/spec-pipeline.md` or equivalent)
|
|
49
|
+
- Propose the next valid pipeline command based on current state
|
|
50
|
+
- If multiple options exist, present them as a numbered list with brief context
|
|
51
|
+
- If the pipeline stage is complete, say so explicitly
|
|
52
|
+
|
|
53
|
+
## Enforcement
|
|
54
|
+
|
|
55
|
+
If you are following a workflow that includes a "Completion Gate" or a checklist for
|
|
56
|
+
updating progress files, **you may not skip it**.
|
|
57
|
+
|
|
58
|
+
If you skip the progress tracking steps, you have failed the task, regardless of how
|
|
59
|
+
good the code is.
|
|
60
|
+
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Failing test before any fix — reproduce the bug first, then fix it
|
|
3
|
+
trigger: always_on
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Debug-by-Test
|
|
7
|
+
|
|
8
|
+
> Reproduce first. Fix second. Never touch production code until you have a failing test that proves the bug exists.
|
|
9
|
+
|
|
10
|
+
## The Rule
|
|
11
|
+
|
|
12
|
+
**When a bug, error, or unexpected behavior is encountered:**
|
|
13
|
+
|
|
14
|
+
1. **STOP.** Do not touch the source code.
|
|
15
|
+
2. **Write a failing test** that reproduces the exact bug.
|
|
16
|
+
3. **Run it.** Confirm it fails for the right reason.
|
|
17
|
+
4. **Now fix the code.** Make the failing test pass.
|
|
18
|
+
5. **Run all tests.** Confirm nothing else broke.
|
|
19
|
+
|
|
20
|
+
This is non-negotiable. No "I can see the problem, let me just fix it."
|
|
21
|
+
|
|
22
|
+
## Why
|
|
23
|
+
|
|
24
|
+
| Without this rule | With this rule |
|
|
25
|
+
|---|---|
|
|
26
|
+
| You guess at the fix, change code, hope it works | You prove the bug exists before touching anything |
|
|
27
|
+
| "Fixed" bugs silently reappear | The test catches regressions forever |
|
|
28
|
+
| You fix the symptom, not the cause | The test forces you to understand the actual behavior |
|
|
29
|
+
| No proof the fix works | Green test IS the proof |
|
|
30
|
+
|
|
31
|
+
## Applies To
|
|
32
|
+
|
|
33
|
+
| Scenario | What To Do |
|
|
34
|
+
|----------|-----------|
|
|
35
|
+
| User reports a bug | Write a test reproducing it → fix → green |
|
|
36
|
+
| Test failure during development | Isolate with a minimal test → fix → green |
|
|
37
|
+
| Unexpected runtime error | Write a test triggering the error → fix → green |
|
|
38
|
+
| "This isn't working right" | Write a test showing the wrong behavior → fix → green |
|
|
39
|
+
| Spec/workflow bug (non-code) | Document the expected vs actual behavior before changing the spec |
|
|
40
|
+
|
|
41
|
+
## What Gets Flagged
|
|
42
|
+
|
|
43
|
+
| Pattern | Verdict |
|
|
44
|
+
|---------|---------|
|
|
45
|
+
| Changing source code before writing a failing test | ❌ Rejected. Write the test first. |
|
|
46
|
+
| "I can see the issue, let me fix it quickly" | ❌ Rejected. Quick fixes skip understanding. |
|
|
47
|
+
| Writing a test AFTER the fix to prove it works | ❌ Rejected. That's backwards — you don't know what you actually fixed. |
|
|
48
|
+
| Failing test → source fix → all tests green | ✅ Correct. |
|
|
49
|
+
| Non-code bug → document expected vs actual → then fix | ✅ Correct. |
|