@synapta/skills 0.1.1 → 0.2.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/dist/index.js +11 -4
- package/package.json +3 -4
- package/skills/ATTRIBUTION.md +80 -0
- package/skills/accessibility-audit/SKILL.md +325 -0
- package/skills/accessibility-audit/reference/wcag-checklist.md +103 -0
- package/skills/apns-notifier/SKILL.md +86 -0
- package/skills/approval-policy-enforcer/SKILL.md +66 -0
- package/skills/apps-sdk-builder/LICENSE.txt +201 -0
- package/skills/apps-sdk-builder/SKILL.md +328 -0
- package/skills/apps-sdk-builder/agents/openai.yaml +13 -0
- package/skills/apps-sdk-builder/references/app-archetypes.md +132 -0
- package/skills/apps-sdk-builder/references/apps-sdk-docs-workflow.md +135 -0
- package/skills/apps-sdk-builder/references/interactive-state-sync-patterns.md +113 -0
- package/skills/apps-sdk-builder/references/repo-contract-and-validation.md +93 -0
- package/skills/apps-sdk-builder/references/search-fetch-standard.md +67 -0
- package/skills/apps-sdk-builder/references/upstream-example-workflow.md +79 -0
- package/skills/apps-sdk-builder/references/window-openai-patterns.md +79 -0
- package/skills/apps-sdk-builder/scripts/scaffold_node_ext_apps.mjs +606 -0
- package/skills/architecture-selector/SKILL.md +64 -0
- package/skills/backlog-planner/SKILL.md +68 -0
- package/skills/carplay-entitlement-checker/SKILL.md +82 -0
- package/skills/concept-deepener/SKILL.md +86 -0
- package/skills/concept-discovery/SKILL.md +517 -0
- package/skills/concept-discovery/assets/sample-analysis.json +81 -0
- package/skills/concept-discovery/expected_outputs/sample-enum-dictionary.md +25 -0
- package/skills/concept-discovery/expected_outputs/sample-page-user-list.md +83 -0
- package/skills/concept-discovery/expected_outputs/sample-prd-readme.md +43 -0
- package/skills/concept-discovery/references/framework-patterns.md +228 -0
- package/skills/concept-discovery/references/prd-quality-checklist.md +65 -0
- package/skills/concept-discovery/scripts/codebase_analyzer.py +732 -0
- package/skills/concept-discovery/scripts/prd_scaffolder.py +435 -0
- package/skills/dast-zap/SKILL.md +453 -0
- package/skills/dast-zap/assets/.gitkeep +9 -0
- package/skills/dast-zap/assets/github_action.yml +207 -0
- package/skills/dast-zap/assets/gitlab_ci.yml +226 -0
- package/skills/dast-zap/assets/zap_automation.yaml +196 -0
- package/skills/dast-zap/assets/zap_context.xml +192 -0
- package/skills/dast-zap/references/EXAMPLE.md +40 -0
- package/skills/dast-zap/references/api_testing_guide.md +475 -0
- package/skills/dast-zap/references/authentication_guide.md +431 -0
- package/skills/dast-zap/references/false_positive_handling.md +427 -0
- package/skills/dast-zap/references/owasp_mapping.md +255 -0
- package/skills/dep-sbom-scan/SKILL.md +466 -0
- package/skills/deploy-cloudflare/SKILL.md +930 -0
- package/skills/deploy-docker/SKILL.md +55 -0
- package/skills/deploy-fly/SKILL.md +228 -0
- package/skills/deploy-k8s/SKILL.md +108 -0
- package/skills/deploy-k8s/assets/logo.png +0 -0
- package/skills/deploy-k8s/docs/README.md +29 -0
- package/skills/deploy-k8s/docs/SUMMARY.md +56 -0
- package/skills/deploy-k8s/docs/advanced/token-efficiency.md +61 -0
- package/skills/deploy-k8s/docs/architecture/multi-tenancy.md +96 -0
- package/skills/deploy-k8s/docs/architecture/storage-and-state.md +102 -0
- package/skills/deploy-k8s/docs/architecture/workload-patterns.md +87 -0
- package/skills/deploy-k8s/docs/book.json +16 -0
- package/skills/deploy-k8s/docs/community/changelog.md +34 -0
- package/skills/deploy-k8s/docs/community/contributing.md +67 -0
- package/skills/deploy-k8s/docs/core-concepts/failure-modes.md +153 -0
- package/skills/deploy-k8s/docs/core-concepts/philosophy.md +83 -0
- package/skills/deploy-k8s/docs/core-concepts/workflow.md +124 -0
- package/skills/deploy-k8s/docs/examples/bad-patterns.md +47 -0
- package/skills/deploy-k8s/docs/examples/do-dont-checklist.md +37 -0
- package/skills/deploy-k8s/docs/examples/good-patterns.md +49 -0
- package/skills/deploy-k8s/docs/failure-modes/api-drift.md +104 -0
- package/skills/deploy-k8s/docs/failure-modes/fragile-rollouts.md +99 -0
- package/skills/deploy-k8s/docs/failure-modes/insecure-workload-defaults.md +80 -0
- package/skills/deploy-k8s/docs/failure-modes/network-exposure.md +98 -0
- package/skills/deploy-k8s/docs/failure-modes/privilege-sprawl.md +91 -0
- package/skills/deploy-k8s/docs/failure-modes/resource-starvation.md +85 -0
- package/skills/deploy-k8s/docs/getting-started/installation.md +152 -0
- package/skills/deploy-k8s/docs/getting-started/quick-start.md +115 -0
- package/skills/deploy-k8s/docs/guides/helm-patterns.md +71 -0
- package/skills/deploy-k8s/docs/guides/kustomize-patterns.md +65 -0
- package/skills/deploy-k8s/docs/guides/observability.md +67 -0
- package/skills/deploy-k8s/docs/guides/security-hardening.md +59 -0
- package/skills/deploy-k8s/docs/guides/validation-and-policy.md +66 -0
- package/skills/deploy-k8s/docs/integrations/mcp-integration.md +52 -0
- package/skills/deploy-k8s/docs/package-lock.json +2892 -0
- package/skills/deploy-k8s/docs/package.json +13 -0
- package/skills/deploy-k8s/references/api-drift.md +298 -0
- package/skills/deploy-k8s/references/conditional/aks-patterns.md +70 -0
- package/skills/deploy-k8s/references/conditional/eks-patterns.md +79 -0
- package/skills/deploy-k8s/references/conditional/gitops-controllers.md +71 -0
- package/skills/deploy-k8s/references/conditional/gke-patterns.md +74 -0
- package/skills/deploy-k8s/references/conditional/observability-stacks.md +80 -0
- package/skills/deploy-k8s/references/conditional/openshift-patterns.md +67 -0
- package/skills/deploy-k8s/references/daemonset-operator-patterns.md +155 -0
- package/skills/deploy-k8s/references/deployment-patterns.md +146 -0
- package/skills/deploy-k8s/references/do-dont-patterns.md +87 -0
- package/skills/deploy-k8s/references/examples-bad.md +282 -0
- package/skills/deploy-k8s/references/examples-good.md +440 -0
- package/skills/deploy-k8s/references/fragile-rollouts.md +303 -0
- package/skills/deploy-k8s/references/helm-patterns.md +203 -0
- package/skills/deploy-k8s/references/insecure-workload-defaults.md +300 -0
- package/skills/deploy-k8s/references/job-patterns.md +120 -0
- package/skills/deploy-k8s/references/kustomize-patterns.md +239 -0
- package/skills/deploy-k8s/references/multi-tenancy.md +343 -0
- package/skills/deploy-k8s/references/network-exposure.md +481 -0
- package/skills/deploy-k8s/references/observability.md +302 -0
- package/skills/deploy-k8s/references/privilege-sprawl.md +273 -0
- package/skills/deploy-k8s/references/resource-starvation.md +374 -0
- package/skills/deploy-k8s/references/security-hardening.md +209 -0
- package/skills/deploy-k8s/references/stateful-patterns.md +130 -0
- package/skills/deploy-k8s/references/storage-and-state.md +330 -0
- package/skills/deploy-k8s/references/validation-and-policy.md +242 -0
- package/skills/deploy-railway/SKILL.md +235 -0
- package/skills/deploy-railway/references/analyze-db-mongo.md +84 -0
- package/skills/deploy-railway/references/analyze-db-mysql.md +254 -0
- package/skills/deploy-railway/references/analyze-db-postgres.md +479 -0
- package/skills/deploy-railway/references/analyze-db-redis.md +208 -0
- package/skills/deploy-railway/references/analyze-db.md +344 -0
- package/skills/deploy-railway/references/configure.md +309 -0
- package/skills/deploy-railway/references/deploy.md +195 -0
- package/skills/deploy-railway/references/operate.md +214 -0
- package/skills/deploy-railway/references/request.md +248 -0
- package/skills/deploy-railway/references/setup.md +312 -0
- package/skills/deploy-railway/scripts/analyze-mongo.py +1549 -0
- package/skills/deploy-railway/scripts/analyze-mysql.py +1195 -0
- package/skills/deploy-railway/scripts/analyze-postgres.py +3058 -0
- package/skills/deploy-railway/scripts/analyze-redis.py +1090 -0
- package/skills/deploy-railway/scripts/dal.py +671 -0
- package/skills/deploy-railway/scripts/enable-pg-stats.py +170 -0
- package/skills/deploy-railway/scripts/pg-extensions.py +370 -0
- package/skills/deploy-railway/scripts/railway-api.sh +52 -0
- package/skills/deploy-ssh/SKILL.md +91 -0
- package/skills/deploy-vercel/SKILL.md +304 -0
- package/skills/deploy-vercel/resources/deploy-codex.sh +301 -0
- package/skills/deploy-vercel/resources/deploy.sh +301 -0
- package/skills/docs-runbooks/SKILL.md +399 -0
- package/skills/drive-status-renderer/SKILL.md +62 -0
- package/skills/iac-scan/SKILL.md +680 -0
- package/skills/iac-scan/assets/.gitkeep +9 -0
- package/skills/iac-scan/assets/checkov_config.yaml +94 -0
- package/skills/iac-scan/assets/github_actions.yml +199 -0
- package/skills/iac-scan/assets/gitlab_ci.yml +218 -0
- package/skills/iac-scan/assets/pre_commit_config.yaml +92 -0
- package/skills/iac-scan/references/EXAMPLE.md +40 -0
- package/skills/iac-scan/references/compliance_mapping.md +237 -0
- package/skills/iac-scan/references/custom_policies.md +460 -0
- package/skills/iac-scan/references/suppression_guide.md +431 -0
- package/skills/incident-briefing/SKILL.md +66 -0
- package/skills/incident-triage/SKILL.md +481 -0
- package/{LICENSE → skills/mcp-builder/LICENSE.txt} +15 -14
- package/skills/mcp-builder/SKILL.md +244 -0
- package/skills/mcp-builder/reference/evaluation.md +602 -0
- package/skills/mcp-builder/reference/mcp_best_practices.md +249 -0
- package/skills/mcp-builder/reference/node_mcp_server.md +970 -0
- package/skills/mcp-builder/reference/python_mcp_server.md +719 -0
- package/skills/mcp-builder/scripts/connections.py +151 -0
- package/skills/mcp-builder/scripts/evaluation.py +373 -0
- package/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
- package/skills/mcp-builder/scripts/requirements.txt +2 -0
- package/skills/mobile-pairing/SKILL.md +52 -0
- package/skills/ops-sre/SKILL.md +297 -0
- package/skills/playwright-qa/LICENSE.txt +201 -0
- package/skills/playwright-qa/NOTICE.txt +14 -0
- package/skills/playwright-qa/SKILL.md +156 -0
- package/skills/playwright-qa/agents/openai.yaml +6 -0
- package/skills/playwright-qa/assets/playwright-small.svg +3 -0
- package/skills/playwright-qa/assets/playwright.png +0 -0
- package/skills/playwright-qa/references/cli.md +116 -0
- package/skills/playwright-qa/references/workflows.md +95 -0
- package/skills/playwright-qa/scripts/playwright_cli.sh +25 -0
- package/skills/release-publish/SKILL.md +85 -0
- package/skills/repo-bootstrap/SKILL.md +92 -0
- package/skills/repo-bootstrap/assets/example-workflows/validate-agents.yml +89 -0
- package/skills/repo-bootstrap/assets/root-thin.md +141 -0
- package/skills/repo-bootstrap/assets/root-verbose.md +149 -0
- package/skills/repo-bootstrap/assets/scoped/backend-go.md +107 -0
- package/skills/repo-bootstrap/assets/scoped/backend-php.md +94 -0
- package/skills/repo-bootstrap/assets/scoped/backend-python.md +84 -0
- package/skills/repo-bootstrap/assets/scoped/backend-typescript.md +89 -0
- package/skills/repo-bootstrap/assets/scoped/claude-code-skill.md +101 -0
- package/skills/repo-bootstrap/assets/scoped/cli.md +83 -0
- package/skills/repo-bootstrap/assets/scoped/concourse.md +196 -0
- package/skills/repo-bootstrap/assets/scoped/ddev.md +68 -0
- package/skills/repo-bootstrap/assets/scoped/docker.md +160 -0
- package/skills/repo-bootstrap/assets/scoped/documentation.md +98 -0
- package/skills/repo-bootstrap/assets/scoped/examples.md +96 -0
- package/skills/repo-bootstrap/assets/scoped/frontend-typescript.md +88 -0
- package/skills/repo-bootstrap/assets/scoped/github-actions.md +174 -0
- package/skills/repo-bootstrap/assets/scoped/gitlab-ci.md +174 -0
- package/skills/repo-bootstrap/assets/scoped/oro-bundle.md +209 -0
- package/skills/repo-bootstrap/assets/scoped/oro-project.md +170 -0
- package/skills/repo-bootstrap/assets/scoped/python-modern.md +170 -0
- package/skills/repo-bootstrap/assets/scoped/resources.md +96 -0
- package/skills/repo-bootstrap/assets/scoped/skill-repo.md +139 -0
- package/skills/repo-bootstrap/assets/scoped/symfony.md +168 -0
- package/skills/repo-bootstrap/assets/scoped/testing.md +87 -0
- package/skills/repo-bootstrap/assets/scoped/typo3-docs.md +103 -0
- package/skills/repo-bootstrap/assets/scoped/typo3-extension.md +133 -0
- package/skills/repo-bootstrap/assets/scoped/typo3-project.md +137 -0
- package/skills/repo-bootstrap/assets/scoped/typo3-testing.md +80 -0
- package/skills/repo-bootstrap/checkpoints.yaml +279 -0
- package/skills/repo-bootstrap/evals/evals.json +385 -0
- package/skills/repo-bootstrap/references/ai-contribution-guidelines.md +63 -0
- package/skills/repo-bootstrap/references/ai-tool-compatibility.md +223 -0
- package/skills/repo-bootstrap/references/directory-coverage.md +82 -0
- package/skills/repo-bootstrap/references/examples/coding-agent-cli/AGENTS.md +70 -0
- package/skills/repo-bootstrap/references/examples/coding-agent-cli/go.mod +3 -0
- package/skills/repo-bootstrap/references/examples/coding-agent-cli/scripts-AGENTS.md +389 -0
- package/skills/repo-bootstrap/references/examples/express-api-ts/.env.example +13 -0
- package/skills/repo-bootstrap/references/examples/express-api-ts/AGENTS.md +91 -0
- package/skills/repo-bootstrap/references/examples/express-api-ts/package.json +33 -0
- package/skills/repo-bootstrap/references/examples/express-api-ts/pnpm-lock.yaml +3 -0
- package/skills/repo-bootstrap/references/examples/express-api-ts/src/AGENTS.md +91 -0
- package/skills/repo-bootstrap/references/examples/express-api-ts/src/config.ts +28 -0
- package/skills/repo-bootstrap/references/examples/express-api-ts/src/controllers/userController.ts +74 -0
- package/skills/repo-bootstrap/references/examples/express-api-ts/src/index.ts +26 -0
- package/skills/repo-bootstrap/references/examples/express-api-ts/src/middleware/errorHandler.ts +45 -0
- package/skills/repo-bootstrap/references/examples/express-api-ts/src/middleware/requestLogger.ts +18 -0
- package/skills/repo-bootstrap/references/examples/express-api-ts/src/routes/health.ts +18 -0
- package/skills/repo-bootstrap/references/examples/express-api-ts/src/routes/users.ts +13 -0
- package/skills/repo-bootstrap/references/examples/express-api-ts/src/utils/errors.ts +40 -0
- package/skills/repo-bootstrap/references/examples/express-api-ts/src/utils/logger.ts +14 -0
- package/skills/repo-bootstrap/references/examples/express-api-ts/tsconfig.json +24 -0
- package/skills/repo-bootstrap/references/examples/fastapi-app/.env.example +19 -0
- package/skills/repo-bootstrap/references/examples/fastapi-app/AGENTS.md +92 -0
- package/skills/repo-bootstrap/references/examples/fastapi-app/pyproject.toml +88 -0
- package/skills/repo-bootstrap/references/examples/fastapi-app/src/AGENTS.md +85 -0
- package/skills/repo-bootstrap/references/examples/fastapi-app/src/__init__.py +3 -0
- package/skills/repo-bootstrap/references/examples/fastapi-app/src/config.py +49 -0
- package/skills/repo-bootstrap/references/examples/fastapi-app/src/main.py +66 -0
- package/skills/repo-bootstrap/references/examples/fastapi-app/src/models/__init__.py +13 -0
- package/skills/repo-bootstrap/references/examples/fastapi-app/src/models/item.py +43 -0
- package/skills/repo-bootstrap/references/examples/fastapi-app/src/models/user.py +40 -0
- package/skills/repo-bootstrap/references/examples/fastapi-app/src/routes/__init__.py +5 -0
- package/skills/repo-bootstrap/references/examples/fastapi-app/src/routes/health.py +20 -0
- package/skills/repo-bootstrap/references/examples/fastapi-app/src/routes/items.py +61 -0
- package/skills/repo-bootstrap/references/examples/fastapi-app/src/routes/users.py +55 -0
- package/skills/repo-bootstrap/references/examples/fastapi-app/src/services/__init__.py +6 -0
- package/skills/repo-bootstrap/references/examples/fastapi-app/src/services/item_service.py +77 -0
- package/skills/repo-bootstrap/references/examples/fastapi-app/src/services/user_service.py +69 -0
- package/skills/repo-bootstrap/references/examples/fastapi-app/uv.lock +4 -0
- package/skills/repo-bootstrap/references/examples/go-api-with-react-admin/.scopes +3 -0
- package/skills/repo-bootstrap/references/examples/go-api-with-react-admin/AGENTS.md +86 -0
- package/skills/repo-bootstrap/references/examples/go-api-with-react-admin/admin/package.json +20 -0
- package/skills/repo-bootstrap/references/examples/go-api-with-react-admin/admin/src/App.tsx +5 -0
- package/skills/repo-bootstrap/references/examples/go-api-with-react-admin/cmd/api/main.go +7 -0
- package/skills/repo-bootstrap/references/examples/go-api-with-react-admin/go.mod +2 -0
- package/skills/repo-bootstrap/references/examples/go-api-with-react-admin/main.go +7 -0
- package/skills/repo-bootstrap/references/examples/go-with-internal-web-tsx/.scopes +3 -0
- package/skills/repo-bootstrap/references/examples/go-with-internal-web-tsx/AGENTS.md +89 -0
- package/skills/repo-bootstrap/references/examples/go-with-internal-web-tsx/go.mod +2 -0
- package/skills/repo-bootstrap/references/examples/go-with-internal-web-tsx/internal/web/AGENTS.md +90 -0
- package/skills/repo-bootstrap/references/examples/go-with-internal-web-tsx/internal/web/package.json +17 -0
- package/skills/repo-bootstrap/references/examples/go-with-internal-web-tsx/internal/web/src/App.tsx +1 -0
- package/skills/repo-bootstrap/references/examples/go-with-internal-web-tsx/internal/web/src/Button.tsx +1 -0
- package/skills/repo-bootstrap/references/examples/go-with-internal-web-tsx/internal/web/src/Footer.tsx +1 -0
- package/skills/repo-bootstrap/references/examples/go-with-internal-web-tsx/internal/web/src/Header.tsx +1 -0
- package/skills/repo-bootstrap/references/examples/go-with-internal-web-tsx/internal/web/src/Sidebar.tsx +1 -0
- package/skills/repo-bootstrap/references/examples/go-with-internal-web-tsx/main.go +7 -0
- package/skills/repo-bootstrap/references/examples/go-with-internal-web-tsx/package-lock.json +0 -0
- package/skills/repo-bootstrap/references/examples/go-with-internal-web-tsx/package.json +12 -0
- package/skills/repo-bootstrap/references/examples/ldap-selfservice/AGENTS.md +70 -0
- package/skills/repo-bootstrap/references/examples/ldap-selfservice/go.mod +3 -0
- package/skills/repo-bootstrap/references/examples/ldap-selfservice/internal-AGENTS.md +371 -0
- package/skills/repo-bootstrap/references/examples/ldap-selfservice/internal-web-AGENTS.md +448 -0
- package/skills/repo-bootstrap/references/examples/php-with-frontend/.scopes +3 -0
- package/skills/repo-bootstrap/references/examples/php-with-frontend/AGENTS.md +91 -0
- package/skills/repo-bootstrap/references/examples/php-with-frontend/composer.json +8 -0
- package/skills/repo-bootstrap/references/examples/php-with-frontend/package.json +15 -0
- package/skills/repo-bootstrap/references/examples/php-with-frontend/pnpm-lock.yaml +0 -0
- package/skills/repo-bootstrap/references/examples/php-with-frontend/src/Controller.php +3 -0
- package/skills/repo-bootstrap/references/examples/php-with-frontend/web/AGENTS.md +92 -0
- package/skills/repo-bootstrap/references/examples/php-with-frontend/web/package.json +26 -0
- package/skills/repo-bootstrap/references/examples/php-with-frontend/web/src/App.tsx +3 -0
- package/skills/repo-bootstrap/references/examples/php-with-frontend/web/src/Button.tsx +10 -0
- package/skills/repo-bootstrap/references/examples/php-with-frontend/web/src/Footer.tsx +9 -0
- package/skills/repo-bootstrap/references/examples/php-with-frontend/web/src/Header.tsx +9 -0
- package/skills/repo-bootstrap/references/examples/php-with-frontend/web/src/main.tsx +3 -0
- package/skills/repo-bootstrap/references/examples/php-with-frontend/web/tsconfig.json +13 -0
- package/skills/repo-bootstrap/references/examples/pnpm-workspace/AGENTS.md +75 -0
- package/skills/repo-bootstrap/references/examples/pnpm-workspace/package.json +7 -0
- package/skills/repo-bootstrap/references/examples/pnpm-workspace/packages/web/package.json +11 -0
- package/skills/repo-bootstrap/references/examples/pnpm-workspace/packages/web/src/index.ts +11 -0
- package/skills/repo-bootstrap/references/examples/pnpm-workspace/pnpm-lock.yaml +42 -0
- package/skills/repo-bootstrap/references/examples/pnpm-workspace/pnpm-workspace.yaml +2 -0
- package/skills/repo-bootstrap/references/examples/simple-ldap-go/AGENTS.md +70 -0
- package/skills/repo-bootstrap/references/examples/simple-ldap-go/examples-AGENTS.md +45 -0
- package/skills/repo-bootstrap/references/examples/simple-ldap-go/go.mod +3 -0
- package/skills/repo-bootstrap/references/examples/t3x-rte-ckeditor-image/AGENTS.md +70 -0
- package/skills/repo-bootstrap/references/examples/t3x-rte-ckeditor-image/Classes-AGENTS.md +392 -0
- package/skills/repo-bootstrap/references/examples/t3x-rte-ckeditor-image/composer.json +8 -0
- package/skills/repo-bootstrap/references/feedback-memory-schema.md +135 -0
- package/skills/repo-bootstrap/references/git-hooks-setup.md +79 -0
- package/skills/repo-bootstrap/references/output-structure.md +124 -0
- package/skills/repo-bootstrap/references/scripts-guide.md +175 -0
- package/skills/repo-bootstrap/references/verification-guide.md +137 -0
- package/skills/repo-bootstrap/scripts/analyze-git-history.sh +315 -0
- package/skills/repo-bootstrap/scripts/check-freshness.sh +230 -0
- package/skills/repo-bootstrap/scripts/detect-golden-samples.sh +161 -0
- package/skills/repo-bootstrap/scripts/detect-heuristics.sh +93 -0
- package/skills/repo-bootstrap/scripts/detect-project.sh +486 -0
- package/skills/repo-bootstrap/scripts/detect-scopes.sh +330 -0
- package/skills/repo-bootstrap/scripts/detect-utilities.sh +133 -0
- package/skills/repo-bootstrap/scripts/extract-adrs.sh +194 -0
- package/skills/repo-bootstrap/scripts/extract-agent-configs.sh +331 -0
- package/skills/repo-bootstrap/scripts/extract-architecture-rules.sh +522 -0
- package/skills/repo-bootstrap/scripts/extract-ci-commands.sh +385 -0
- package/skills/repo-bootstrap/scripts/extract-ci-rules.sh +384 -0
- package/skills/repo-bootstrap/scripts/extract-commands.sh +358 -0
- package/skills/repo-bootstrap/scripts/extract-documentation.sh +308 -0
- package/skills/repo-bootstrap/scripts/extract-github-rulesets.sh +96 -0
- package/skills/repo-bootstrap/scripts/extract-github-settings.sh +88 -0
- package/skills/repo-bootstrap/scripts/extract-ide-settings.sh +228 -0
- package/skills/repo-bootstrap/scripts/extract-platform-files.sh +290 -0
- package/skills/repo-bootstrap/scripts/extract-quality-configs.sh +442 -0
- package/skills/repo-bootstrap/scripts/generate-agents.sh +2424 -0
- package/skills/repo-bootstrap/scripts/generate-file-map.sh +153 -0
- package/skills/repo-bootstrap/scripts/lib/config-root.sh +211 -0
- package/skills/repo-bootstrap/scripts/lib/summary.sh +244 -0
- package/skills/repo-bootstrap/scripts/lib/template.sh +397 -0
- package/skills/repo-bootstrap/scripts/validate-structure.sh +324 -0
- package/skills/repo-bootstrap/scripts/verify-commands.sh +615 -0
- package/skills/repo-bootstrap/scripts/verify-content.sh +302 -0
- package/skills/schema-api-contracts/SKILL.md +56 -0
- package/skills/secret-hygiene/SKILL.md +511 -0
- package/skills/secret-hygiene/assets/.gitkeep +9 -0
- package/skills/secret-hygiene/assets/config-balanced.toml +81 -0
- package/skills/secret-hygiene/assets/config-custom.toml +178 -0
- package/skills/secret-hygiene/assets/config-strict.toml +48 -0
- package/skills/secret-hygiene/assets/github-action.yml +181 -0
- package/skills/secret-hygiene/assets/gitlab-ci.yml +257 -0
- package/skills/secret-hygiene/assets/precommit-config.yaml +70 -0
- package/skills/secret-hygiene/references/EXAMPLE.md +40 -0
- package/skills/secret-hygiene/references/compliance_mapping.md +538 -0
- package/skills/secret-hygiene/references/detection_rules.md +276 -0
- package/skills/secret-hygiene/references/false_positives.md +598 -0
- package/skills/secret-hygiene/references/remediation_guide.md +530 -0
- package/skills/stack-selector/SKILL.md +56 -0
- package/skills/telegram-control/SKILL.md +110 -0
- package/skills/telegram-control/references/architecture.md +184 -0
- package/skills/telegram-control/references/convex.md +173 -0
- package/skills/telegram-control/references/error_handling.md +212 -0
- package/skills/telegram-control/references/initial_setup.md +165 -0
- package/skills/telegram-control/references/telegram_api.md +156 -0
- package/skills/telegram-control/scripts/cancel_message.ts +53 -0
- package/skills/telegram-control/scripts/list_scheduled.ts +103 -0
- package/skills/telegram-control/scripts/logger.ts +121 -0
- package/skills/telegram-control/scripts/proxy-util.ts +11 -0
- package/skills/telegram-control/scripts/schedule_message.ts +216 -0
- package/skills/telegram-control/scripts/send_message.ts +115 -0
- package/skills/telegram-control/scripts/setup.ts +185 -0
- package/skills/telegram-control/scripts/types.ts +75 -0
- package/skills/telegram-control/scripts/view_history.ts +74 -0
- package/skills/test-strategy/SKILL.md +352 -0
- package/skills/threat-model/SKILL.md +303 -0
- package/skills/threat-model/examples/example-output.md +196 -0
- package/skills/threat-model/template.md +96 -0
- package/skills/ts-lint/SKILL.md +80 -0
- package/skills/ui-flow/SKILL.md +668 -0
- package/skills/voice-command-router/SKILL.md +51 -0
- package/skills/widget-live-activity-sync/SKILL.md +66 -0
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# verify-content.sh - Verify AGENTS.md content against actual codebase state
|
|
3
|
+
# This script checks if documented information matches reality.
|
|
4
|
+
#
|
|
5
|
+
# CRITICAL: Never trust existing AGENTS.md content. Always verify.
|
|
6
|
+
set -euo pipefail
|
|
7
|
+
|
|
8
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
9
|
+
|
|
10
|
+
PROJECT_DIR="${1:-.}"
|
|
11
|
+
VERBOSE=false
|
|
12
|
+
FIX_MODE=false
|
|
13
|
+
EXIT_CODE=0
|
|
14
|
+
|
|
15
|
+
# Colors
|
|
16
|
+
RED='\033[0;31m'
|
|
17
|
+
GREEN='\033[0;32m'
|
|
18
|
+
YELLOW='\033[1;33m'
|
|
19
|
+
NC='\033[0m'
|
|
20
|
+
|
|
21
|
+
# Parse flags
|
|
22
|
+
while [[ $# -gt 0 ]]; do
|
|
23
|
+
case $1 in
|
|
24
|
+
--verbose|-v)
|
|
25
|
+
VERBOSE=true
|
|
26
|
+
shift
|
|
27
|
+
;;
|
|
28
|
+
--fix)
|
|
29
|
+
FIX_MODE=true
|
|
30
|
+
shift
|
|
31
|
+
;;
|
|
32
|
+
--help|-h)
|
|
33
|
+
cat <<EOF
|
|
34
|
+
Usage: verify-content.sh [PROJECT_DIR] [OPTIONS]
|
|
35
|
+
|
|
36
|
+
Verify AGENTS.md content against actual codebase state.
|
|
37
|
+
|
|
38
|
+
This script extracts information from the actual codebase and compares
|
|
39
|
+
it against what's documented in AGENTS.md files. Reports discrepancies
|
|
40
|
+
that need manual review or correction.
|
|
41
|
+
|
|
42
|
+
Options:
|
|
43
|
+
--verbose, -v Show detailed comparison output
|
|
44
|
+
--fix Suggest fixes for common issues
|
|
45
|
+
--help, -h Show this help message
|
|
46
|
+
|
|
47
|
+
Verification checks:
|
|
48
|
+
1. Documented files exist (scripts, modules, tests)
|
|
49
|
+
2. Documented commands work (make targets)
|
|
50
|
+
3. Counts are accurate (module count, script count)
|
|
51
|
+
4. Descriptions match actual docstrings
|
|
52
|
+
|
|
53
|
+
Exit codes:
|
|
54
|
+
0 - All checks passed
|
|
55
|
+
1 - Discrepancies found
|
|
56
|
+
2 - Error running verification
|
|
57
|
+
|
|
58
|
+
Examples:
|
|
59
|
+
verify-content.sh . # Verify current project
|
|
60
|
+
verify-content.sh /path/to/project -v # Verbose output
|
|
61
|
+
verify-content.sh . --fix # Show fix suggestions
|
|
62
|
+
EOF
|
|
63
|
+
exit 0
|
|
64
|
+
;;
|
|
65
|
+
*)
|
|
66
|
+
PROJECT_DIR="$1"
|
|
67
|
+
shift
|
|
68
|
+
;;
|
|
69
|
+
esac
|
|
70
|
+
done
|
|
71
|
+
|
|
72
|
+
cd "$PROJECT_DIR"
|
|
73
|
+
|
|
74
|
+
echo "Verifying AGENTS.md content in: $(pwd)"
|
|
75
|
+
echo ""
|
|
76
|
+
|
|
77
|
+
# Track issues
|
|
78
|
+
declare -a ISSUES=()
|
|
79
|
+
|
|
80
|
+
add_issue() {
|
|
81
|
+
local severity="$1"
|
|
82
|
+
local message="$2"
|
|
83
|
+
ISSUES+=("[$severity] $message")
|
|
84
|
+
EXIT_CODE=1
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
log_check() {
|
|
88
|
+
if [ "$VERBOSE" = true ]; then
|
|
89
|
+
echo " Checking: $1"
|
|
90
|
+
fi
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
# ============================================================================
|
|
94
|
+
# VERIFICATION FUNCTIONS
|
|
95
|
+
# ============================================================================
|
|
96
|
+
|
|
97
|
+
# shellcheck disable=SC2329 # Called indirectly by verification driver
|
|
98
|
+
verify_file_exists() {
|
|
99
|
+
local file="$1"
|
|
100
|
+
local source="$2"
|
|
101
|
+
if [ ! -f "$file" ] && [ ! -d "$file" ]; then
|
|
102
|
+
add_issue "ERROR" "File documented in $source does not exist: $file"
|
|
103
|
+
return 1
|
|
104
|
+
fi
|
|
105
|
+
return 0
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
verify_makefile_target() {
|
|
109
|
+
local target="$1"
|
|
110
|
+
if [ -f "Makefile" ]; then
|
|
111
|
+
# Check in main Makefile and includes
|
|
112
|
+
if ! grep -rq "^${target}:" Makefile Makefile.d/ 2>/dev/null; then
|
|
113
|
+
add_issue "WARN" "Makefile target may not exist: $target"
|
|
114
|
+
return 1
|
|
115
|
+
fi
|
|
116
|
+
fi
|
|
117
|
+
return 0
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
extract_documented_files() {
|
|
121
|
+
local agents_file="$1"
|
|
122
|
+
# Extract file references like `filename.sh`, `filename.py`, etc.
|
|
123
|
+
grep -oE '\`[a-zA-Z0-9_-]+\.(sh|py|go|php|ts|js|json)\`' "$agents_file" 2>/dev/null | tr -d '`' | sort -u || true
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
extract_documented_scripts() {
|
|
127
|
+
local agents_file="$1"
|
|
128
|
+
# Extract script references like install_python.sh, guide.sh
|
|
129
|
+
grep -oE '\b[a-zA-Z0-9_-]+\.sh\b' "$agents_file" 2>/dev/null | sort -u || true
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
# ============================================================================
|
|
133
|
+
# ROOT AGENTS.MD VERIFICATION
|
|
134
|
+
# ============================================================================
|
|
135
|
+
|
|
136
|
+
echo "=== Verifying Root AGENTS.md ==="
|
|
137
|
+
|
|
138
|
+
if [ -f "AGENTS.md" ]; then
|
|
139
|
+
echo -e "${GREEN}✓${NC} Root AGENTS.md exists"
|
|
140
|
+
|
|
141
|
+
# Check documented make targets
|
|
142
|
+
log_check "Makefile targets"
|
|
143
|
+
DOCUMENTED_TARGETS=$(grep -oE 'make [a-z_-]+' AGENTS.md | sed 's/make //' | sort -u)
|
|
144
|
+
for target in $DOCUMENTED_TARGETS; do
|
|
145
|
+
verify_makefile_target "$target" || true
|
|
146
|
+
done
|
|
147
|
+
|
|
148
|
+
# Check for module count claims
|
|
149
|
+
log_check "Module counts"
|
|
150
|
+
MODULE_COUNTS=$(grep -oE '[0-9]+ (Python )?modules?' AGENTS.md | grep -oE '[0-9]+' || true)
|
|
151
|
+
for count in $MODULE_COUNTS; do
|
|
152
|
+
# Try to find actual module directories
|
|
153
|
+
for dir in src cli_audit lib Classes app; do
|
|
154
|
+
if [ -d "$dir" ]; then
|
|
155
|
+
ACTUAL_COUNT=$(find "$dir" -maxdepth 1 -name "*.py" -o -name "*.php" -o -name "*.go" 2>/dev/null | wc -l)
|
|
156
|
+
if [ "$ACTUAL_COUNT" -gt 0 ] && [ "$count" != "$ACTUAL_COUNT" ]; then
|
|
157
|
+
add_issue "WARN" "Module count mismatch in $dir: documented=$count, actual=$ACTUAL_COUNT"
|
|
158
|
+
fi
|
|
159
|
+
fi
|
|
160
|
+
done
|
|
161
|
+
done
|
|
162
|
+
|
|
163
|
+
# Check for script count claims
|
|
164
|
+
log_check "Script counts"
|
|
165
|
+
SCRIPT_COUNTS=$(grep -oE '[0-9]+ (Bash )?scripts?' AGENTS.md | grep -oE '[0-9]+' || true)
|
|
166
|
+
if [ -d "scripts" ] && [ -n "$SCRIPT_COUNTS" ]; then
|
|
167
|
+
ACTUAL_SCRIPTS=$(find scripts -maxdepth 1 -name "*.sh" 2>/dev/null | wc -l)
|
|
168
|
+
for count in $SCRIPT_COUNTS; do
|
|
169
|
+
if [ "$count" != "$ACTUAL_SCRIPTS" ]; then
|
|
170
|
+
add_issue "WARN" "Script count mismatch: documented=$count, actual=$ACTUAL_SCRIPTS"
|
|
171
|
+
fi
|
|
172
|
+
done
|
|
173
|
+
fi
|
|
174
|
+
else
|
|
175
|
+
add_issue "ERROR" "Root AGENTS.md does not exist"
|
|
176
|
+
fi
|
|
177
|
+
|
|
178
|
+
echo ""
|
|
179
|
+
|
|
180
|
+
# ============================================================================
|
|
181
|
+
# SCOPED AGENTS.MD VERIFICATION
|
|
182
|
+
# ============================================================================
|
|
183
|
+
|
|
184
|
+
echo "=== Verifying Scoped AGENTS.md Files ==="
|
|
185
|
+
|
|
186
|
+
# Find all scoped AGENTS.md files
|
|
187
|
+
SCOPED_FILES=$(find . -mindepth 2 -name "AGENTS.md" -not -path "./.git/*" 2>/dev/null || true)
|
|
188
|
+
|
|
189
|
+
for scoped_file in $SCOPED_FILES; do
|
|
190
|
+
scope_dir=$(dirname "$scoped_file")
|
|
191
|
+
scope_name=$(basename "$scope_dir")
|
|
192
|
+
echo ""
|
|
193
|
+
echo "Checking: $scoped_file"
|
|
194
|
+
|
|
195
|
+
# Extract and verify documented files
|
|
196
|
+
log_check "Documented files exist"
|
|
197
|
+
DOCUMENTED=$(extract_documented_files "$scoped_file")
|
|
198
|
+
|
|
199
|
+
for doc_file in $DOCUMENTED; do
|
|
200
|
+
# Check if file exists relative to scope or project root
|
|
201
|
+
if [ ! -f "${scope_dir}/${doc_file}" ] && [ ! -f "./${doc_file}" ] && [ ! -f "scripts/${doc_file}" ]; then
|
|
202
|
+
# Special handling for common false positives
|
|
203
|
+
case "$doc_file" in
|
|
204
|
+
*.json|*.md|*.yml|*.yaml)
|
|
205
|
+
# Config files might be in various locations, skip
|
|
206
|
+
;;
|
|
207
|
+
*)
|
|
208
|
+
add_issue "ERROR" "File documented in $scoped_file does not exist: $doc_file"
|
|
209
|
+
;;
|
|
210
|
+
esac
|
|
211
|
+
fi
|
|
212
|
+
done
|
|
213
|
+
|
|
214
|
+
# For scripts/ scope, verify all documented scripts exist
|
|
215
|
+
if [ "$scope_name" = "scripts" ]; then
|
|
216
|
+
log_check "Script files exist"
|
|
217
|
+
SCRIPTS=$(extract_documented_scripts "$scoped_file")
|
|
218
|
+
for script in $SCRIPTS; do
|
|
219
|
+
# Check multiple locations: scripts/, scripts/lib/, ./
|
|
220
|
+
if [ ! -f "scripts/$script" ] && [ ! -f "scripts/lib/$script" ] && [ ! -f "./$script" ]; then
|
|
221
|
+
# Skip if it's in a commit message example (common pattern: feat(scripts): add xxx.sh)
|
|
222
|
+
if grep -q "feat(scripts):.*$script\|fix(scripts):.*$script\|chore(scripts):.*$script" "$scoped_file" 2>/dev/null; then
|
|
223
|
+
[ "$VERBOSE" = true ] && echo " Skipping $script (commit message example)"
|
|
224
|
+
continue
|
|
225
|
+
fi
|
|
226
|
+
add_issue "ERROR" "Script documented but does not exist: $script"
|
|
227
|
+
fi
|
|
228
|
+
done
|
|
229
|
+
|
|
230
|
+
# Check for undocumented scripts
|
|
231
|
+
log_check "All scripts documented"
|
|
232
|
+
if [ -d "scripts" ]; then
|
|
233
|
+
for actual_script in scripts/*.sh; do
|
|
234
|
+
script_name=$(basename "$actual_script")
|
|
235
|
+
if ! grep -q "$script_name" "$scoped_file" 2>/dev/null; then
|
|
236
|
+
add_issue "WARN" "Script exists but not documented: $script_name"
|
|
237
|
+
fi
|
|
238
|
+
done
|
|
239
|
+
fi
|
|
240
|
+
fi
|
|
241
|
+
|
|
242
|
+
# For tests/ scope, verify test file listing
|
|
243
|
+
if [ "$scope_name" = "tests" ]; then
|
|
244
|
+
log_check "Test files documented"
|
|
245
|
+
if [ -d "tests" ]; then
|
|
246
|
+
for test_file in tests/test_*.py; do
|
|
247
|
+
if [ -f "$test_file" ]; then
|
|
248
|
+
test_name=$(basename "$test_file")
|
|
249
|
+
if ! grep -q "$test_name" "$scoped_file" 2>/dev/null; then
|
|
250
|
+
add_issue "WARN" "Test file exists but not documented: $test_name"
|
|
251
|
+
fi
|
|
252
|
+
fi
|
|
253
|
+
done
|
|
254
|
+
fi
|
|
255
|
+
fi
|
|
256
|
+
|
|
257
|
+
echo -e "${GREEN}✓${NC} Checked: $scoped_file"
|
|
258
|
+
done
|
|
259
|
+
|
|
260
|
+
# ============================================================================
|
|
261
|
+
# SUMMARY
|
|
262
|
+
# ============================================================================
|
|
263
|
+
|
|
264
|
+
echo ""
|
|
265
|
+
echo "=== Verification Summary ==="
|
|
266
|
+
|
|
267
|
+
if [ ${#ISSUES[@]} -eq 0 ]; then
|
|
268
|
+
echo -e "${GREEN}✓ All verification checks passed!${NC}"
|
|
269
|
+
else
|
|
270
|
+
echo -e "${RED}Found ${#ISSUES[@]} issue(s):${NC}"
|
|
271
|
+
echo ""
|
|
272
|
+
for issue in "${ISSUES[@]}"; do
|
|
273
|
+
case "$issue" in
|
|
274
|
+
*ERROR*)
|
|
275
|
+
echo -e " ${RED}$issue${NC}"
|
|
276
|
+
;;
|
|
277
|
+
*WARN*)
|
|
278
|
+
echo -e " ${YELLOW}$issue${NC}"
|
|
279
|
+
;;
|
|
280
|
+
*)
|
|
281
|
+
echo " $issue"
|
|
282
|
+
;;
|
|
283
|
+
esac
|
|
284
|
+
done
|
|
285
|
+
|
|
286
|
+
if [ "$FIX_MODE" = true ]; then
|
|
287
|
+
echo ""
|
|
288
|
+
echo "=== Fix Suggestions ==="
|
|
289
|
+
echo "1. Run extraction scripts to get actual state:"
|
|
290
|
+
echo " $SCRIPT_DIR/detect-project.sh ."
|
|
291
|
+
echo " $SCRIPT_DIR/extract-commands.sh ."
|
|
292
|
+
echo ""
|
|
293
|
+
echo "2. Compare extracted info with AGENTS.md content"
|
|
294
|
+
echo ""
|
|
295
|
+
echo "3. Update AGENTS.md files with verified information"
|
|
296
|
+
echo ""
|
|
297
|
+
echo "4. Re-run this verification: $0 . --verbose"
|
|
298
|
+
fi
|
|
299
|
+
fi
|
|
300
|
+
|
|
301
|
+
echo ""
|
|
302
|
+
exit $EXIT_CODE
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: schema-api-contracts
|
|
3
|
+
description: Define the data model and API contracts before implementation. Single source of truth (Zod or Prisma), generate types and client SDKs from there. Contract tests are non-negotiable.
|
|
4
|
+
triggers: [synapta schema, API contract, OpenAPI, tRPC, Zod schema, Prisma schema, data model]
|
|
5
|
+
network: off
|
|
6
|
+
tools: [Read, Write, Glob]
|
|
7
|
+
source:
|
|
8
|
+
origin: authored-by-synapta
|
|
9
|
+
reason: "Existing community repos in this space are codegen tools, not contract-first skills."
|
|
10
|
+
citation_patterns:
|
|
11
|
+
- "Zod (https://zod.dev)"
|
|
12
|
+
- "Prisma (https://prisma.io)"
|
|
13
|
+
- "OpenAPI (https://www.openapis.org)"
|
|
14
|
+
- "tRPC (https://trpc.io)"
|
|
15
|
+
- "Contract-First API Design — Harrison Cramer (https://harrisoncramer.me/contract-first-api-design/)"
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# Schema & API Contracts
|
|
19
|
+
|
|
20
|
+
Contracts come before code. Code generation from contracts, not the other way around.
|
|
21
|
+
|
|
22
|
+
## Choose ONE source of truth
|
|
23
|
+
|
|
24
|
+
| Source-of-truth | Generates | When to use |
|
|
25
|
+
|---|---|---|
|
|
26
|
+
| **Zod** (or Valibot/ArkType) | TypeScript types, runtime validators, optional OpenAPI/JSON Schema | TypeScript-first stack; Synapta uses this in `packages/shared-schemas` |
|
|
27
|
+
| **Prisma schema** | DB tables + migrations + TypeScript client | When the DB is the primary contract surface |
|
|
28
|
+
| **OpenAPI YAML** | Server stubs, client SDKs in many languages | Public REST APIs with non-TS clients |
|
|
29
|
+
| **GraphQL SDL** | Resolvers, clients, fragment-aware types | Federated services with diverse client field needs |
|
|
30
|
+
| **Protobuf** | RPC stubs across languages | Internal binary RPC (gRPC) |
|
|
31
|
+
|
|
32
|
+
**Anti-pattern**: maintaining two contracts (e.g. Prisma + OpenAPI by hand). Pick one and generate the other.
|
|
33
|
+
|
|
34
|
+
## Process
|
|
35
|
+
|
|
36
|
+
1. **Choose the source-of-truth** for the project. Document the choice in an ADR.
|
|
37
|
+
2. **Write the schemas**. Group by aggregate, not by table. Use clear names; avoid shorthand.
|
|
38
|
+
3. **Generate types + clients** with the canonical tooling for the chosen source:
|
|
39
|
+
- Zod → infer types, no extra step
|
|
40
|
+
- Prisma → `prisma generate`
|
|
41
|
+
- OpenAPI → `openapi-typescript` (TS) / `openapi-generator-cli` (other)
|
|
42
|
+
- GraphQL → `graphql-codegen`
|
|
43
|
+
4. **Write contract tests** that exercise both sides of the wire. A contract test fails when client and server diverge — before deploy, not after.
|
|
44
|
+
5. **Version the contract** explicitly (`/v1/`, `/v2/`). Never silently change a public contract.
|
|
45
|
+
|
|
46
|
+
## Deliverables
|
|
47
|
+
|
|
48
|
+
- Schema files in `packages/shared-schemas/` (TS) or `schema/` (other languages)
|
|
49
|
+
- Generated types committed (do not gitignore)
|
|
50
|
+
- Contract tests under `tests/contract/`
|
|
51
|
+
- Migration plan if evolving an existing contract (deprecate → coexist → remove)
|
|
52
|
+
- ADR documenting the choice + tradeoffs
|
|
53
|
+
|
|
54
|
+
## Synapta default
|
|
55
|
+
|
|
56
|
+
Zod schemas in `packages/shared-schemas/src/index.ts` are the single source of truth across CLI ↔ gateway ↔ MCP ↔ iOS codegen (via `scripts/codegen-ios-models.mjs` — Zod → Swift `Codable`).
|