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
|
@@ -4,6 +4,7 @@ Source files for the unified `.memory/` scaffold that `npm run build` copies int
|
|
|
4
4
|
|
|
5
5
|
## What lives here
|
|
6
6
|
- `pipeline/` — raw/wiki/schema processing utilities
|
|
7
|
+
- `pipeline/progress/` — canonical pipeline progress scaffold shared by all runtimes
|
|
7
8
|
- `mcp-server/` — stdio MCP server exposing memory tools
|
|
8
9
|
- `hooks/` — Claude Code hook entrypoints
|
|
9
10
|
- `migrate/` — legacy memory migration
|
|
@@ -12,8 +12,16 @@ The kit installs the MCP **server/runtime** into the workspace. Tool-specific MC
|
|
|
12
12
|
## Initial bootstrap
|
|
13
13
|
For an existing project:
|
|
14
14
|
1. wire your tool's MCP client to this server entrypoint
|
|
15
|
-
2.
|
|
16
|
-
3.
|
|
15
|
+
2. start the workspace-local daemon so it writes `.memory/runtime/cfsa-memory-daemon.json`
|
|
16
|
+
3. run the initial memory compile (`memory_compile` or the direct compile fallback)
|
|
17
|
+
4. verify graph/index artifacts exist under `.memory/schema/` and `.memory/wiki/`
|
|
18
|
+
|
|
19
|
+
## Workspace-local routing contract
|
|
20
|
+
- preferred client config is just `command: node` plus `args: [".memory/mcp-server/client.mjs"]`
|
|
21
|
+
- `daemon.mjs` publishes `projectRoot`, `memoryRoot`, `endpoint`, and `healthUrl` into `.memory/runtime/cfsa-memory-daemon.json`
|
|
22
|
+
- `client.mjs` reads that runtime state for the current workspace before proxying MCP requests
|
|
23
|
+
- `client.mjs` validates `/health` and rejects mismatched `projectRoot` values instead of silently talking to another workspace's daemon
|
|
24
|
+
- host/port env can still be used when you intentionally need custom daemon startup behavior
|
|
17
25
|
|
|
18
26
|
## Extension pattern
|
|
19
27
|
Expose new memory capabilities by adding a tool file under `tools/` and wiring it into `index.mjs`.
|
|
@@ -1,15 +1,51 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { buildDaemonEndpoints, fetchHealth, readDaemonState, resolveProjectRoot } from "./runtime.mjs";
|
|
2
|
+
|
|
3
|
+
const projectRoot = resolveProjectRoot();
|
|
4
|
+
const state = readDaemonState(projectRoot);
|
|
5
|
+
const envEndpoint = process.env.CFSA_MEMORY_URL || null;
|
|
6
|
+
const envHealthUrl = process.env.CFSA_MEMORY_HEALTH_URL || null;
|
|
7
|
+
const fallbackEndpoint = `http://${process.env.CFSA_MEMORY_HOST || "127.0.0.1"}:${process.env.CFSA_MEMORY_PORT || "4317"}/mcp`;
|
|
8
|
+
const fallbackHealthUrl = envHealthUrl || fallbackEndpoint.replace(/\/mcp$/, "/health");
|
|
9
|
+
|
|
10
|
+
function resolveConnectionTarget() {
|
|
11
|
+
if (state) {
|
|
12
|
+
return { source: "runtime-state", ...buildDaemonEndpoints(state) };
|
|
13
|
+
}
|
|
14
|
+
if (envEndpoint || envHealthUrl) {
|
|
15
|
+
return {
|
|
16
|
+
source: "environment",
|
|
17
|
+
endpoint: envEndpoint || fallbackEndpoint,
|
|
18
|
+
healthUrl: envHealthUrl || (envEndpoint || fallbackEndpoint).replace(/\/mcp$/, "/health"),
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
return {
|
|
22
|
+
source: "fallback",
|
|
23
|
+
endpoint: fallbackEndpoint,
|
|
24
|
+
healthUrl: fallbackHealthUrl,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
const connection = resolveConnectionTarget();
|
|
3
29
|
|
|
4
30
|
async function ensureReady() {
|
|
5
31
|
for (let attempt = 0; attempt < 20; attempt += 1) {
|
|
6
32
|
try {
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
33
|
+
const health = await fetchHealth(connection.healthUrl);
|
|
34
|
+
const daemonProjectRoot = health?.projectRoot;
|
|
35
|
+
if (daemonProjectRoot && daemonProjectRoot !== projectRoot) {
|
|
36
|
+
throw new Error(`Workspace mismatch: client for ${projectRoot} is pointing at daemon for ${daemonProjectRoot}`);
|
|
37
|
+
}
|
|
38
|
+
if (!daemonProjectRoot && state?.projectRoot) {
|
|
39
|
+
throw new Error(`Workspace identity missing from daemon health response at ${connection.healthUrl}`);
|
|
40
|
+
}
|
|
41
|
+
return true;
|
|
42
|
+
} catch (error) {
|
|
43
|
+
if (error instanceof Error && error.message.startsWith("Workspace ")) {
|
|
44
|
+
throw error;
|
|
45
|
+
}
|
|
46
|
+
if (error instanceof Error && error.message.startsWith("Workspace identity missing")) {
|
|
47
|
+
throw error;
|
|
10
48
|
}
|
|
11
|
-
} catch {
|
|
12
|
-
// retry
|
|
13
49
|
}
|
|
14
50
|
await new Promise((resolve) => setTimeout(resolve, 150));
|
|
15
51
|
}
|
|
@@ -25,17 +61,24 @@ process.stdin.on("data", async (chunk) => {
|
|
|
25
61
|
for (const line of lines) {
|
|
26
62
|
const trimmed = line.trim();
|
|
27
63
|
if (!trimmed) continue;
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
64
|
+
let requestId = null;
|
|
65
|
+
try {
|
|
66
|
+
const parsed = JSON.parse(trimmed);
|
|
67
|
+
requestId = parsed?.id ?? null;
|
|
68
|
+
const ready = await ensureReady();
|
|
69
|
+
if (!ready) {
|
|
70
|
+
process.stdout.write(`${JSON.stringify({ jsonrpc: "2.0", id: requestId, error: { code: -32000, message: "cfsa-memory-daemon is not ready" } })}\n`);
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
const response = await fetch(connection.endpoint, {
|
|
74
|
+
method: "POST",
|
|
75
|
+
headers: { "content-type": "application/json" },
|
|
76
|
+
body: trimmed,
|
|
77
|
+
});
|
|
78
|
+
const text = await response.text();
|
|
79
|
+
process.stdout.write(`${text}\n`);
|
|
80
|
+
} catch (error) {
|
|
81
|
+
process.stdout.write(`${JSON.stringify({ jsonrpc: "2.0", id: requestId, error: { code: -32000, message: error instanceof Error ? error.message : String(error) } })}\n`);
|
|
32
82
|
}
|
|
33
|
-
const response = await fetch(endpoint, {
|
|
34
|
-
method: "POST",
|
|
35
|
-
headers: { "content-type": "application/json" },
|
|
36
|
-
body: trimmed,
|
|
37
|
-
});
|
|
38
|
-
const text = await response.text();
|
|
39
|
-
process.stdout.write(`${text}\n`);
|
|
40
83
|
}
|
|
41
84
|
});
|
|
@@ -5,12 +5,14 @@ import { memoryGraphQuery } from "./tools/graph.mjs";
|
|
|
5
5
|
import { memoryIngest, memoryLogDaily, memoryGetActiveBlockers } from "./tools/ingest.mjs";
|
|
6
6
|
import { memoryLint } from "./tools/lint.mjs";
|
|
7
7
|
import { memoryContext, memoryQuery, memorySemanticStatus } from "./tools/query.mjs";
|
|
8
|
-
import { clearDaemonState, writeDaemonState } from "./runtime.mjs";
|
|
8
|
+
import { clearDaemonState, resolveProjectRoot, workspaceMemoryRoot, writeDaemonState } from "./runtime.mjs";
|
|
9
9
|
|
|
10
10
|
const host = process.env.CFSA_MEMORY_HOST || "127.0.0.1";
|
|
11
11
|
const preferredPort = Number(process.env.CFSA_MEMORY_PORT || 4317);
|
|
12
|
-
const projectRoot =
|
|
12
|
+
const projectRoot = resolveProjectRoot();
|
|
13
|
+
const memoryRoot = workspaceMemoryRoot(projectRoot);
|
|
13
14
|
let actualPort = preferredPort;
|
|
15
|
+
const startedAt = new Date().toISOString();
|
|
14
16
|
|
|
15
17
|
const tools = {
|
|
16
18
|
memory_flush: memoryFlush,
|
|
@@ -44,8 +46,11 @@ function statePayload(extra = {}) {
|
|
|
44
46
|
host,
|
|
45
47
|
port: actualPort,
|
|
46
48
|
requestedPort: preferredPort,
|
|
49
|
+
endpoint: `http://${host}:${actualPort}/mcp`,
|
|
47
50
|
healthUrl: `http://${host}:${actualPort}/health`,
|
|
48
|
-
|
|
51
|
+
projectRoot,
|
|
52
|
+
memoryRoot,
|
|
53
|
+
startedAt,
|
|
49
54
|
...extra,
|
|
50
55
|
};
|
|
51
56
|
}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from "node:fs";
|
|
2
|
-
import {
|
|
2
|
+
import { join, resolve } from "node:path";
|
|
3
3
|
|
|
4
|
-
export function
|
|
4
|
+
export function resolveProjectRoot(root = process.env.CFSA_MEMORY_PROJECT_ROOT || process.cwd()) {
|
|
5
|
+
return resolve(root);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export function getRuntimeDir(root = resolveProjectRoot()) {
|
|
5
9
|
return join(root, ".memory", "runtime");
|
|
6
10
|
}
|
|
7
11
|
|
|
8
|
-
export function ensureRuntimeDir(root =
|
|
12
|
+
export function ensureRuntimeDir(root = resolveProjectRoot()) {
|
|
9
13
|
const runtimeDir = getRuntimeDir(root);
|
|
10
14
|
if (!existsSync(runtimeDir)) {
|
|
11
15
|
mkdirSync(runtimeDir, { recursive: true });
|
|
@@ -13,28 +17,55 @@ export function ensureRuntimeDir(root = process.cwd()) {
|
|
|
13
17
|
return runtimeDir;
|
|
14
18
|
}
|
|
15
19
|
|
|
16
|
-
export function pidFile(root =
|
|
20
|
+
export function pidFile(root = resolveProjectRoot()) {
|
|
17
21
|
return join(getRuntimeDir(root), "cfsa-memory-daemon.pid");
|
|
18
22
|
}
|
|
19
23
|
|
|
20
|
-
export function stateFile(root =
|
|
24
|
+
export function stateFile(root = resolveProjectRoot()) {
|
|
21
25
|
return join(getRuntimeDir(root), "cfsa-memory-daemon.json");
|
|
22
26
|
}
|
|
23
27
|
|
|
28
|
+
export function workspaceMemoryRoot(root = resolveProjectRoot()) {
|
|
29
|
+
return join(root, ".memory");
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export function buildDaemonEndpoints(state) {
|
|
33
|
+
const host = state.host || "127.0.0.1";
|
|
34
|
+
const port = state.port;
|
|
35
|
+
const healthUrl = state.healthUrl || `http://${host}:${port}/health`;
|
|
36
|
+
const endpoint = state.endpoint || `http://${host}:${port}/mcp`;
|
|
37
|
+
return { endpoint, healthUrl };
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export function normalizeDaemonState(root, state = {}) {
|
|
41
|
+
const projectRoot = resolveProjectRoot(root);
|
|
42
|
+
const memoryRoot = state.memoryRoot ? resolve(state.memoryRoot) : workspaceMemoryRoot(projectRoot);
|
|
43
|
+
const normalized = {
|
|
44
|
+
...state,
|
|
45
|
+
projectRoot,
|
|
46
|
+
memoryRoot,
|
|
47
|
+
};
|
|
48
|
+
const { endpoint, healthUrl } = buildDaemonEndpoints(normalized);
|
|
49
|
+
normalized.endpoint = endpoint;
|
|
50
|
+
normalized.healthUrl = healthUrl;
|
|
51
|
+
return normalized;
|
|
52
|
+
}
|
|
53
|
+
|
|
24
54
|
export function writeDaemonState(root, state) {
|
|
25
55
|
ensureRuntimeDir(root);
|
|
26
|
-
|
|
27
|
-
writeFileSync(
|
|
56
|
+
const normalized = normalizeDaemonState(root, state);
|
|
57
|
+
writeFileSync(stateFile(root), `${JSON.stringify(normalized, null, 2)}\n`, "utf8");
|
|
58
|
+
writeFileSync(pidFile(root), `${normalized.pid}\n`, "utf8");
|
|
28
59
|
}
|
|
29
60
|
|
|
30
|
-
export function readDaemonState(root =
|
|
61
|
+
export function readDaemonState(root = resolveProjectRoot()) {
|
|
31
62
|
if (!existsSync(stateFile(root))) {
|
|
32
63
|
return null;
|
|
33
64
|
}
|
|
34
|
-
return JSON.parse(readFileSync(stateFile(root), "utf8"));
|
|
65
|
+
return normalizeDaemonState(root, JSON.parse(readFileSync(stateFile(root), "utf8")));
|
|
35
66
|
}
|
|
36
67
|
|
|
37
|
-
export function clearDaemonState(root =
|
|
68
|
+
export function clearDaemonState(root = resolveProjectRoot()) {
|
|
38
69
|
if (existsSync(pidFile(root))) rmSync(pidFile(root), { force: true });
|
|
39
70
|
if (existsSync(stateFile(root))) rmSync(stateFile(root), { force: true });
|
|
40
71
|
}
|
|
@@ -48,13 +79,19 @@ export function processExists(pid) {
|
|
|
48
79
|
}
|
|
49
80
|
}
|
|
50
81
|
|
|
82
|
+
export async function fetchHealth(url) {
|
|
83
|
+
const response = await fetch(url);
|
|
84
|
+
if (!response.ok) {
|
|
85
|
+
throw new Error(`Health check failed with status ${response.status}`);
|
|
86
|
+
}
|
|
87
|
+
return response.json();
|
|
88
|
+
}
|
|
89
|
+
|
|
51
90
|
export async function waitForHealth(url, retries = 20, delayMs = 150) {
|
|
52
91
|
for (let attempt = 0; attempt < retries; attempt += 1) {
|
|
53
92
|
try {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
return true;
|
|
57
|
-
}
|
|
93
|
+
await fetchHealth(url);
|
|
94
|
+
return true;
|
|
58
95
|
} catch {
|
|
59
96
|
// keep retrying
|
|
60
97
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { spawn } from "node:child_process";
|
|
2
2
|
import { existsSync } from "node:fs";
|
|
3
3
|
import { join } from "node:path";
|
|
4
|
-
import { clearDaemonState, processExists, readDaemonState, waitForHealth } from "./runtime.mjs";
|
|
4
|
+
import { clearDaemonState, processExists, readDaemonState, resolveProjectRoot, waitForHealth } from "./runtime.mjs";
|
|
5
5
|
|
|
6
|
-
const root =
|
|
6
|
+
const root = resolveProjectRoot();
|
|
7
7
|
const daemonPath = join(root, ".memory", "mcp-server", "daemon.mjs");
|
|
8
8
|
if (!existsSync(daemonPath)) {
|
|
9
9
|
console.error(`Missing daemon at ${daemonPath}`);
|
|
@@ -25,10 +25,12 @@ if (current?.pid && processExists(current.pid)) {
|
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
const child = spawn("node", [daemonPath], {
|
|
28
|
+
cwd: root,
|
|
28
29
|
detached: true,
|
|
29
30
|
stdio: "ignore",
|
|
30
31
|
env: {
|
|
31
32
|
...process.env,
|
|
33
|
+
CFSA_MEMORY_PROJECT_ROOT: root,
|
|
32
34
|
CFSA_MEMORY_HOST: host,
|
|
33
35
|
CFSA_MEMORY_PORT: String(port),
|
|
34
36
|
},
|
|
@@ -10,6 +10,7 @@ const LEGACY_MAP = [
|
|
|
10
10
|
{ source: ".claude/memory/decisions.md", target: "wiki/decisions.md" },
|
|
11
11
|
{ source: ".claude/memory/blockers.md", target: "wiki/blockers.md" },
|
|
12
12
|
{ source: ".claude/progress/memory", targetDir: "wiki/knowledge", runtime: "claude-progress" },
|
|
13
|
+
{ source: ".codex/progress/memory", targetDir: "wiki/knowledge", runtime: "codex-progress" },
|
|
13
14
|
{ source: ".agent/progress/memory", targetDir: "wiki/knowledge", runtime: "agent-progress" },
|
|
14
15
|
{ source: ".factory/memory", targetDir: "wiki/knowledge", runtime: "factory-memory" },
|
|
15
16
|
{ source: ".factory/progress/memory", targetDir: "wiki/knowledge", runtime: "factory-progress" },
|
|
@@ -10,6 +10,7 @@ Unified memory pipeline utilities.
|
|
|
10
10
|
- `spec-graph.mjs` — extract typed spec graph nodes/edges and Obsidian relationship hubs
|
|
11
11
|
- `query.mjs` — query the compiled schema/index
|
|
12
12
|
- `lint.mjs` — validate the scaffold and compiled outputs
|
|
13
|
+
- `progress/` — canonical phase, slice, session, and spec-pipeline state scaffold
|
|
13
14
|
|
|
14
15
|
## Extension pattern
|
|
15
16
|
Add small focused modules and keep compile/query behavior reusable by both hooks and the MCP server.
|
package/template/CLAUDE.md
CHANGED
|
@@ -56,9 +56,9 @@ The pipeline enforces a **progressive decision lock** — each stage locks decis
|
|
|
56
56
|
.factory/
|
|
57
57
|
├── skills/ # All pipeline skills (workflows + rules + utilities as SKILL.md)
|
|
58
58
|
├── skill-library/ # Factory-owned skill library
|
|
59
|
-
|
|
60
|
-
└── progress/ # Pipeline progress tracking
|
|
59
|
+
└── instructions/ # Core directives (workflow, tech-stack, patterns)
|
|
61
60
|
.memory/ # Canonical shared project memory / Obsidian-friendly vault
|
|
61
|
+
├── pipeline/progress/ # Shared pipeline progress tracking
|
|
62
62
|
docs/
|
|
63
63
|
├── plans/ # User project specifications (output directory)
|
|
64
64
|
│ ├── ideation/
|
|
@@ -183,7 +183,7 @@ The `template/` directory is what gets published to npm. It's built from:
|
|
|
183
183
|
- `docs/` (full directory, but `.memory/wiki/specs/` and `.memory/wiki/specs/audits/` content is stripped)
|
|
184
184
|
- Root config files (`GEMINI.md`, `AGENTS.md`, `CLAUDE.md`, `CODEX.md`)
|
|
185
185
|
|
|
186
|
-
Session-specific data is excluded (`.
|
|
186
|
+
Session-specific data is excluded (`.memory/pipeline/progress/*.md` runtime session artifacts where applicable, and `.memory/raw/*` generated runtime captures).
|
|
187
187
|
|
|
188
188
|
## Key Documentation
|
|
189
189
|
|
|
@@ -217,7 +217,7 @@ If ideation-index.md doesn't exist, the pipeline hasn't started — tell user to
|
|
|
217
217
|
|
|
218
218
|
This is enforced by:
|
|
219
219
|
- **Session Continuity Protocols** (`.claude/skills/session-continuity/protocols/`)
|
|
220
|
-
- **Progress Tracking** (`.
|
|
220
|
+
- **Progress Tracking** (`.memory/pipeline/progress/spec-pipeline.md`)
|
|
221
221
|
- **Pattern Extraction** (`.claude/skills/session-continuity/protocols/04-pattern-extraction.md`)
|
|
222
222
|
|
|
223
223
|
## Common Tasks
|
package/template/CODEX.md
CHANGED
|
@@ -7,7 +7,7 @@ This file provides guidance to Codex when working with code in this repository.
|
|
|
7
7
|
**CFSA Antigravity** is a Constraint-First Specification Architecture pipeline that transforms raw ideas into exhaustively specified, test-driven, production-quality code through progressive gates. This repository is the kit source, not a destination product.
|
|
8
8
|
|
|
9
9
|
- **Entry Point**: `npx cfsa-antigravity init`
|
|
10
|
-
- **Codex support model**: Codex uses `CODEX.md` for repo guidance and the
|
|
10
|
+
- **Codex support model**: Codex uses `CODEX.md` for repo guidance and the standalone `.codex/` runtime for workflow skills, rules, instructions, and skill library content
|
|
11
11
|
- **Core Philosophy**: production-grade from line one, no throwaway code, no deferred quality
|
|
12
12
|
|
|
13
13
|
## Essential Commands
|
|
@@ -20,11 +20,11 @@ npm run changeset
|
|
|
20
20
|
|
|
21
21
|
## Runtime Model
|
|
22
22
|
|
|
23
|
-
Codex is a first-class supported agent target
|
|
23
|
+
Codex is a first-class supported agent target with its own `.codex/` runtime tree.
|
|
24
24
|
|
|
25
25
|
Instead:
|
|
26
26
|
|
|
27
|
-
- `cfsa-antigravity init --agent codex` installs the
|
|
27
|
+
- `cfsa-antigravity init --agent codex` installs the standalone `.codex/` runtime
|
|
28
28
|
- `CODEX.md` provides Codex-specific repository guidance
|
|
29
29
|
- `AGENTS.md` remains the generic pipeline config shipped to installed projects
|
|
30
30
|
- `.memory/` is the canonical shared memory root installed into the project for cross-runtime continuity
|
|
@@ -47,8 +47,8 @@ If the Codex runtime has its own MCP client configuration surface beyond `.mcp.j
|
|
|
47
47
|
## What To Read First
|
|
48
48
|
|
|
49
49
|
1. `AGENTS.md`
|
|
50
|
-
2. `.
|
|
51
|
-
3. `.
|
|
50
|
+
2. `.codex/instructions/workflow.md`
|
|
51
|
+
3. `.codex/instructions/commands.md`
|
|
52
52
|
4. `docs/README.md`
|
|
53
53
|
5. `docs/kit-architecture.md`
|
|
54
54
|
|
|
@@ -66,53 +66,6 @@ If you change Codex support, keep these aligned:
|
|
|
66
66
|
- CLI help and argument parsing in `bin/cli.mjs`
|
|
67
67
|
- Root documentation (`README.md`, `docs/README.md`, `docs/kit-architecture.md`)
|
|
68
68
|
- Root config sync (`CODEX.md` copied into `template/`)
|
|
69
|
+
- Runtime sync (`.codex/` copied into `template/.codex/`)
|
|
69
70
|
- Template integrity checks in `scripts/check-template-integrity.sh`
|
|
70
71
|
- shared MCP daemon/client contract in `.memory/mcp-server/`
|
|
71
|
-
|
|
72
|
-
## What To Read First
|
|
73
|
-
|
|
74
|
-
1. `AGENTS.md`
|
|
75
|
-
2. `.agent/instructions/workflow.md`
|
|
76
|
-
3. `.agent/instructions/commands.md`
|
|
77
|
-
4. `docs/README.md`
|
|
78
|
-
5. `docs/kit-architecture.md`
|
|
79
|
-
|
|
80
|
-
## Contribution Notes
|
|
81
|
-
|
|
82
|
-
- Do not edit `template/` directly
|
|
83
|
-
- Update source files first, then run `npm run build`
|
|
84
|
-
- Run `npm run check` before considering the task complete
|
|
85
|
-
- Preserve `{{PLACEHOLDER}}` markers in kit source files
|
|
86
|
-
|
|
87
|
-
## Codex Alignment
|
|
88
|
-
|
|
89
|
-
If you change Codex support, keep these aligned:
|
|
90
|
-
|
|
91
|
-
- CLI help and argument parsing in `bin/cli.mjs`
|
|
92
|
-
- Root documentation (`README.md`, `docs/README.md`, `docs/kit-architecture.md`)
|
|
93
|
-
- Root config sync (`CODEX.md` copied into `template/`)
|
|
94
|
-
- Template integrity checks in `scripts/check-template-integrity.sh`
|
|
95
|
-
|
|
96
|
-
## What To Read First
|
|
97
|
-
|
|
98
|
-
1. `AGENTS.md`
|
|
99
|
-
2. `.agent/instructions/workflow.md`
|
|
100
|
-
3. `.agent/instructions/commands.md`
|
|
101
|
-
4. `docs/README.md`
|
|
102
|
-
5. `docs/kit-architecture.md`
|
|
103
|
-
|
|
104
|
-
## Contribution Notes
|
|
105
|
-
|
|
106
|
-
- Do not edit `template/` directly
|
|
107
|
-
- Update source files first, then run `npm run build`
|
|
108
|
-
- Run `npm run check` before considering the task complete
|
|
109
|
-
- Preserve `{{PLACEHOLDER}}` markers in kit source files
|
|
110
|
-
|
|
111
|
-
## Codex Alignment
|
|
112
|
-
|
|
113
|
-
If you change Codex support, keep these aligned:
|
|
114
|
-
|
|
115
|
-
- CLI help and argument parsing in `bin/cli.mjs`
|
|
116
|
-
- Root documentation (`README.md`, `docs/README.md`, `docs/kit-architecture.md`)
|
|
117
|
-
- Root config sync (`CODEX.md` copied into `template/`)
|
|
118
|
-
- Template integrity checks in `scripts/check-template-integrity.sh`
|
package/template/GEMINI.md
CHANGED
|
@@ -164,8 +164,8 @@ Before acting on any task, detect the current pipeline phase from filesystem mar
|
|
|
164
164
|
| Decomposition done | IA shards in `.memory/wiki/specs/ia/` | `/write-architecture-spec` |
|
|
165
165
|
| Spec writing | BE/FE specs exist | `/write-be-spec`, `/write-fe-spec` |
|
|
166
166
|
| Planning | Phase plan in `.memory/wiki/specs/phases/` | `/plan-phase` |
|
|
167
|
-
| Workspace setup | Phase plan exists, no `.
|
|
168
|
-
| Implementation | `.
|
|
167
|
+
| Workspace setup | Phase plan exists, no `.memory/pipeline/progress/` content | `/setup-workspace` → `/verify-infrastructure` |
|
|
168
|
+
| Implementation | `.memory/pipeline/progress/` has content | `/implement-slice` |
|
|
169
169
|
|
|
170
170
|
**Use this table to gate every action.** If a user runs a command that doesn't match their current phase, explain what phase they're in and what to run instead.
|
|
171
171
|
|
package/template/docs/README.md
CHANGED
|
@@ -176,6 +176,8 @@ npx cfsa-antigravity init
|
|
|
176
176
|
|
|
177
177
|
The kit installs the memory **server/runtime** only. `.mcp.json` and other tool-specific MCP client settings are user-managed.
|
|
178
178
|
|
|
179
|
+
The MCP routing contract is workspace-local: the daemon writes `.memory/runtime/cfsa-memory-daemon.json`, the client reads that file for the current workspace, then validates the daemon's `projectRoot` from `/health` before proxying requests. This prevents cross-workspace collisions when multiple projects have daemons running.
|
|
180
|
+
|
|
179
181
|
### Initial graph compile for existing projects
|
|
180
182
|
|
|
181
183
|
After installing or updating the `.memory` runtime in an existing project:
|
|
@@ -215,6 +217,7 @@ The current implementation uses a local semantic backend designed to be upgraded
|
|
|
215
217
|
```bash
|
|
216
218
|
git clone https://github.com/RepairYourTech/cfsa-antigravity.git
|
|
217
219
|
cp -r cfsa-antigravity/.agent /path/to/your-project/
|
|
220
|
+
cp -r cfsa-antigravity/.codex /path/to/your-project/
|
|
218
221
|
cp -r cfsa-antigravity/docs /path/to/your-project/
|
|
219
222
|
cp cfsa-antigravity/GEMINI.md /path/to/your-project/
|
|
220
223
|
cp cfsa-antigravity/AGENTS.md /path/to/your-project/
|
|
@@ -226,7 +229,7 @@ cp cfsa-antigravity/CODEX.md /path/to/your-project/
|
|
|
226
229
|
| Agent | What to Do |
|
|
227
230
|
|-------|------------|
|
|
228
231
|
| **Antigravity** | Both `AGENTS.md` and `GEMINI.md` are present — bootstrap fills both during `/create-prd`. |
|
|
229
|
-
| **Codex** | Use `CODEX.md` for repo guidance and the
|
|
232
|
+
| **Codex** | Use `CODEX.md` for repo guidance and the standalone `.codex/` runtime installed via `cfsa-antigravity init --agent codex`. |
|
|
230
233
|
| **Gemini CLI** | `GEMINI.md` is your agent config. Bootstrap fills it during `/create-prd`. |
|
|
231
234
|
| **Claude Code** | Use the standalone `.claude/` runtime installed via `cfsa-antigravity init --agent claude` |
|
|
232
235
|
| **Factory Droid** | Use the standalone `.factory/` runtime installed via `cfsa-antigravity init --agent factory` |
|
|
@@ -240,7 +243,7 @@ cp cfsa-antigravity/CODEX.md /path/to/your-project/
|
|
|
240
243
|
> Do not hide the runtime directory your agent/editor needs to index.
|
|
241
244
|
>
|
|
242
245
|
> - Antigravity-style installs use `.agent/`
|
|
243
|
-
> - Codex installs
|
|
246
|
+
> - Codex installs use `.codex/`
|
|
244
247
|
> - Claude Code installs use `.claude/`
|
|
245
248
|
> - Factory Droid installs use `.factory/`
|
|
246
249
|
>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
**Purpose:** Provide a high-level map of the agentic machinery that powers CFSA Antigravity.
|
|
4
4
|
|
|
5
|
-
This document serves as a guide to understanding how the CFSA kit is organized across its agent runtimes. The
|
|
5
|
+
This document serves as a guide to understanding how the CFSA kit is organized across its agent runtimes. The `.agent/` runtime serves Antigravity-style installs, `.codex/` serves Codex installs, and `.claude/` owns Claude-specific execution assets. A shared project-level `.memory/` root now provides the canonical cross-runtime memory layer.
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -11,30 +11,35 @@ This document serves as a guide to understanding how the CFSA kit is organized a
|
|
|
11
11
|
The kit ships multiple runtime trees in this repository:
|
|
12
12
|
|
|
13
13
|
```text
|
|
14
|
-
.agent/ #
|
|
14
|
+
.agent/ # Antigravity runtime
|
|
15
15
|
├── instructions/
|
|
16
|
-
├── progress/
|
|
17
16
|
├── rules/
|
|
18
17
|
├── skill-library/
|
|
19
18
|
├── skills/
|
|
20
19
|
└── workflows/
|
|
21
20
|
|
|
21
|
+
.codex/ # Codex runtime
|
|
22
|
+
├── instructions/
|
|
23
|
+
├── rules/
|
|
24
|
+
├── skill-library/
|
|
25
|
+
└── skills/
|
|
26
|
+
|
|
22
27
|
.claude/ # Claude Code runtime
|
|
23
28
|
├── commands/
|
|
24
29
|
├── instructions/
|
|
25
|
-
├── progress/
|
|
26
30
|
├── rules/
|
|
27
31
|
├── skill-library/
|
|
28
32
|
└── skills/
|
|
29
33
|
|
|
30
34
|
.factory/ # Factory Droid runtime
|
|
31
35
|
├── instructions/
|
|
32
|
-
├── progress/
|
|
33
36
|
├── skill-library/
|
|
34
37
|
└── skills/
|
|
35
38
|
|
|
36
39
|
.memory/ # Canonical shared project memory / Obsidian vault
|
|
37
40
|
├── .obsidian/
|
|
41
|
+
├── pipeline/
|
|
42
|
+
│ └── progress/ # Canonical phase, slice, session, and spec-pipeline state
|
|
38
43
|
├── raw/
|
|
39
44
|
├── wiki/
|
|
40
45
|
├── schema/
|
|
@@ -44,29 +49,39 @@ The kit ships multiple runtime trees in this repository:
|
|
|
44
49
|
└── migrate/
|
|
45
50
|
```
|
|
46
51
|
|
|
47
|
-
`.agent/`, `.claude/`, and `.factory/` implement the same CFSA pipeline for different agent environments. Codex uses the
|
|
52
|
+
`.agent/`, `.codex/`, `.claude/`, and `.factory/` implement the same CFSA pipeline for different agent environments. Codex uses the `.codex/` runtime plus the root `CODEX.md` guidance file. Each runtime owns its own execution assets. Shared project state lives under `.memory/`.
|
|
48
53
|
|
|
49
54
|
The `.memory/` directory is not just an internal store; it is intended to be an Obsidian-friendly vault within the project space so humans and agents can browse the same memory corpus directly. It also mirrors durable `.memory/wiki/specs/` artifacts into graph-friendly vault notes so IA/BE/FE specs, phase plans, and related knowledge become traversable Obsidian graph nodes. Runtime clients should connect to one shared project-local memory daemon rather than each spawning their own isolated server process.
|
|
50
55
|
|
|
56
|
+
That routing is now workspace-safe: the daemon publishes `projectRoot`, `memoryRoot`, and endpoint metadata into `.memory/runtime/cfsa-memory-daemon.json` and its `/health` payload; the client resolves the local workspace daemon from that runtime state and rejects mismatched workspace identity instead of trusting a shared default port.
|
|
57
|
+
|
|
51
58
|
### Antigravity Runtime Components
|
|
52
59
|
|
|
53
60
|
```text
|
|
54
61
|
.agent/
|
|
55
62
|
├── instructions/ # Core directives (the "brainstem")
|
|
56
|
-
├── progress/ # State and memory (the "hippocampus")
|
|
57
63
|
├── rules/ # Non-negotiable constraints (the "laws")
|
|
58
64
|
├── skill-library/ # Installable skill packages (the "toolbox")
|
|
59
65
|
├── skills/ # Active capabilities (the "tools")
|
|
60
66
|
└── workflows/ # Structured processes (the "playbooks")
|
|
61
67
|
```
|
|
62
68
|
|
|
69
|
+
### Codex Runtime Components
|
|
70
|
+
|
|
71
|
+
```text
|
|
72
|
+
.codex/
|
|
73
|
+
├── instructions/ # Core directives for Codex runtime
|
|
74
|
+
├── rules/ # Always-on constraints
|
|
75
|
+
├── skill-library/ # Codex-owned installable skill packages
|
|
76
|
+
└── skills/ # Active Codex capabilities, including pipeline workflow skills
|
|
77
|
+
```
|
|
78
|
+
|
|
63
79
|
### Claude Runtime Components
|
|
64
80
|
|
|
65
81
|
```text
|
|
66
82
|
.claude/
|
|
67
83
|
├── commands/ # Slash command shims
|
|
68
84
|
├── instructions/ # Core directives for Claude runtime
|
|
69
|
-
├── progress/ # Claude pipeline state
|
|
70
85
|
├── rules/ # Always-on constraints
|
|
71
86
|
├── skill-library/ # Claude-owned installable skill packages
|
|
72
87
|
├── skills/ # Active Claude capabilities
|
|
@@ -227,12 +242,12 @@ Each CX entry includes which nodes interact, confidence level, 5 synthesis quest
|
|
|
227
242
|
|
|
228
243
|
Agents are inherently stateless across conversations. The kit uses the **Session Continuity** protocol to provide a persistent memory system.
|
|
229
244
|
|
|
230
|
-
###
|
|
245
|
+
### Canonical Progress Directory
|
|
231
246
|
|
|
232
|
-
|
|
247
|
+
All runtimes use `.memory/pipeline/progress/` for phase tracking, spec-pipeline tracking, and session resumption. Runtime-local progress folders are legacy migration inputs only; new workflow, skill, and rule instructions must not point agents at `.agent/progress/`, `.codex/progress/`, `.claude/progress/`, or `.factory/progress/`.
|
|
233
248
|
|
|
234
249
|
```text
|
|
235
|
-
.
|
|
250
|
+
.memory/pipeline/progress/
|
|
236
251
|
├── index.md # Master checklist — phases + overall %
|
|
237
252
|
├── spec-pipeline.md # Spec completion tracker (IA/BE/FE per shard)
|
|
238
253
|
├── phases/
|
|
@@ -249,7 +264,7 @@ Antigravity uses `.agent/progress/`. Claude Code uses `.claude/progress/`. Both
|
|
|
249
264
|
|
|
250
265
|
> **Adaptive Granularity Rule**: A slice gets its own file in `slices/` only when it has ≥3 acceptance criteria. Slices with 1–2 criteria are tracked inline in the phase file. This prevents file explosion for simple specs while giving granular tracking for complex ones.
|
|
251
266
|
|
|
252
|
-
> **Runtime vs. pre-shipped files**: The `phases/`, `slices/`, and `
|
|
267
|
+
> **Runtime vs. pre-shipped files**: The `phases/`, `slices/`, `sessions/`, and `memory/` directories ship as empty scaffolds under `.memory/pipeline/progress/`. Runtime-generated markdown inside them is created by `/plan-phase` (Protocol 2: Progress Generation), `/implement-slice` (Protocol 3: Progress Update), and session close.
|
|
253
268
|
|
|
254
269
|
### Flow
|
|
255
270
|
|
|
@@ -264,16 +279,16 @@ The only canonical memory system shipped by the kit is the project-level `.memor
|
|
|
264
279
|
|
|
265
280
|
- `.claude/memory/` is bridge documentation only
|
|
266
281
|
- `.factory/memory/` is bridge documentation only
|
|
267
|
-
- `.agent/progress/memory
|
|
282
|
+
- `.agent/progress/memory/`, `.codex/progress/memory/`, `.claude/progress/memory/`, and `.factory/progress/memory/` are legacy migration inputs, not primary memory stores
|
|
268
283
|
|
|
269
284
|
All new shared memory behavior should target `.memory/`.
|
|
270
285
|
|
|
271
286
|
### Unified memory architecture
|
|
272
287
|
|
|
273
|
-
The kit now separates runtime execution
|
|
288
|
+
The kit now separates runtime execution assets from shared project state:
|
|
274
289
|
|
|
275
|
-
-
|
|
276
|
-
- Canonical cross-runtime memory lives under `.memory/`
|
|
290
|
+
- Canonical progress state lives under `.memory/pipeline/progress/`
|
|
291
|
+
- Canonical cross-runtime memory lives under `.memory/wiki/`
|
|
277
292
|
- Claude can use hooks in `.claude/settings.json` to flush and compile memory automatically when the user chooses to wire them
|
|
278
293
|
- All runtimes can access the same memory through their own MCP client config -> `cfsa-memory` -> `.memory/mcp-server/client.mjs` -> shared daemon `.memory/mcp-server/daemon.mjs`
|
|
279
294
|
|
|
@@ -315,7 +330,7 @@ The power of the kit comes from how these modules interact:
|
|
|
315
330
|
|
|
316
331
|
* **Workflows call Skills:** A workflow like `/create-prd` will explicitly instruct the agent to use the `technical-writer` and `brainstorming` skills.
|
|
317
332
|
* **Rules constrain Workflows:** While a workflow dictates the *steps*, the rules dictate *how* those steps are performed (e.g., `/implement-slice` must obey `tdd-contract-first.md`).
|
|
318
|
-
* **State informs Execution:** Each runtime reads from
|
|
333
|
+
* **State informs Execution:** Each runtime reads from the shared progress directory (`.memory/pipeline/progress/`) to contextualize execution based on past decisions and current active phases.
|
|
319
334
|
|
|
320
335
|
### Frontmatter `skills:` Semantic
|
|
321
336
|
|
|
@@ -437,7 +452,7 @@ Workflows are designed to end with explicit NEXT STEPS. An agent shouldn't guess
|
|
|
437
452
|
|
|
438
453
|
## 6. Kit Maintenance Checklist
|
|
439
454
|
|
|
440
|
-
**When a new workflow or shard is added to a runtime tree (`.agent/workflows
|
|
455
|
+
**When a new workflow or shard is added to a runtime tree (`.agent/workflows/`, `.codex/skills/<workflow>/SKILL.md`, or `.claude/skills/<workflow>/SKILL.md`):**
|
|
441
456
|
|
|
442
457
|
- [ ] Add a row to the `AGENTS.md` Pipeline Workflow Table
|
|
443
458
|
- [ ] Add a matching row to the `GEMINI.md` Pipeline Workflow Table (must stay in sync with `AGENTS.md`)
|
|
@@ -445,7 +460,7 @@ Workflows are designed to end with explicit NEXT STEPS. An agent shouldn't guess
|
|
|
445
460
|
- [ ] If the workflow uses new prd-template reference files, add them to `prd-templates/SKILL.md`
|
|
446
461
|
- [ ] If the workflow introduces a new skill, add it to the matching runtime's `skill-library/MANIFEST.md`
|
|
447
462
|
|
|
448
|
-
**When a new rule is added to a runtime tree (`.agent/rules
|
|
463
|
+
**When a new rule is added to a runtime tree (`.agent/rules/`, `.codex/rules/`, or `.claude/rules/`):**
|
|
449
464
|
|
|
450
465
|
- [ ] Add a row to the `GEMINI.md` Agent Rules table
|
|
451
466
|
- [ ] If the rule uses `{{PLACEHOLDER}}` values, follow the placeholder checklist below
|
|
@@ -475,6 +490,8 @@ Examples:
|
|
|
475
490
|
```bash
|
|
476
491
|
echo '.agent/' >> .git/info/exclude
|
|
477
492
|
# or
|
|
493
|
+
echo '.codex/' >> .git/info/exclude
|
|
494
|
+
# or
|
|
478
495
|
echo '.claude/' >> .git/info/exclude
|
|
479
496
|
```
|
|
480
497
|
|