@synapta/skills 0.1.0 → 0.1.2
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-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,168 @@
|
|
|
1
|
+
<!-- Managed by agent: keep sections and order; edit content, not structure. Last updated: {{TIMESTAMP}} -->
|
|
2
|
+
|
|
3
|
+
# AGENTS.md — {{SCOPE_NAME}}
|
|
4
|
+
|
|
5
|
+
<!-- AGENTS-GENERATED:START overview -->
|
|
6
|
+
## Overview
|
|
7
|
+
{{SCOPE_DESCRIPTION}}
|
|
8
|
+
<!-- AGENTS-GENERATED:END overview -->
|
|
9
|
+
|
|
10
|
+
<!-- AGENTS-GENERATED:START filemap -->
|
|
11
|
+
## Key Files
|
|
12
|
+
{{SCOPE_FILE_MAP}}
|
|
13
|
+
<!-- AGENTS-GENERATED:END filemap -->
|
|
14
|
+
|
|
15
|
+
<!-- AGENTS-GENERATED:START golden-samples -->
|
|
16
|
+
## Golden Samples (follow these patterns)
|
|
17
|
+
{{SCOPE_GOLDEN_SAMPLES}}
|
|
18
|
+
<!-- AGENTS-GENERATED:END golden-samples -->
|
|
19
|
+
|
|
20
|
+
<!-- AGENTS-GENERATED:START setup -->
|
|
21
|
+
## Setup & environment
|
|
22
|
+
{{INSTALL_LINE}}
|
|
23
|
+
{{PHP_VERSION_LINE}}
|
|
24
|
+
{{SYMFONY_VERSION_LINE}}
|
|
25
|
+
{{DATABASE_LINE}}
|
|
26
|
+
<!-- AGENTS-GENERATED:END setup -->
|
|
27
|
+
|
|
28
|
+
<!-- AGENTS-GENERATED:START structure -->
|
|
29
|
+
## Directory structure
|
|
30
|
+
```
|
|
31
|
+
src/
|
|
32
|
+
Controller/ → HTTP controllers
|
|
33
|
+
Entity/ → Doctrine entities
|
|
34
|
+
Repository/ → Doctrine repositories
|
|
35
|
+
Service/ → Business logic services
|
|
36
|
+
Form/ → Form types
|
|
37
|
+
EventSubscriber/ → Event subscribers
|
|
38
|
+
Command/ → Console commands
|
|
39
|
+
Security/ → Voters, authenticators
|
|
40
|
+
config/
|
|
41
|
+
packages/ → Bundle configuration
|
|
42
|
+
routes/ → Routing configuration
|
|
43
|
+
services.yaml → Service definitions
|
|
44
|
+
templates/ → Twig templates
|
|
45
|
+
migrations/ → Doctrine migrations
|
|
46
|
+
tests/ → PHPUnit tests
|
|
47
|
+
```
|
|
48
|
+
<!-- AGENTS-GENERATED:END structure -->
|
|
49
|
+
|
|
50
|
+
<!-- AGENTS-GENERATED:START commands -->
|
|
51
|
+
## Build & tests
|
|
52
|
+
{{COMMANDS_TABLE}}
|
|
53
|
+
<!-- AGENTS-GENERATED:END commands -->
|
|
54
|
+
|
|
55
|
+
<!-- AGENTS-GENERATED:START code-style -->
|
|
56
|
+
## Code style & conventions
|
|
57
|
+
- **PSR-12** coding standard with strict types
|
|
58
|
+
- Use **constructor injection** for dependencies
|
|
59
|
+
- Controllers are thin: delegate to services
|
|
60
|
+
- Use **attributes** for routing, validation, ORM mapping
|
|
61
|
+
- Services are autowired by default
|
|
62
|
+
|
|
63
|
+
### Naming conventions
|
|
64
|
+
| Type | Convention | Example |
|
|
65
|
+
|------|------------|---------|
|
|
66
|
+
| Controller | `<Entity>Controller` | `UserController` |
|
|
67
|
+
| Service | `<Domain>Service` or `<Domain>Manager` | `UserService` |
|
|
68
|
+
| Repository | `<Entity>Repository` | `UserRepository` |
|
|
69
|
+
| Form | `<Entity>Type` | `UserType` |
|
|
70
|
+
| Event | `<Entity><Action>Event` | `UserCreatedEvent` |
|
|
71
|
+
| Command | `app:<domain>:<action>` | `app:user:import` |
|
|
72
|
+
<!-- AGENTS-GENERATED:END code-style -->
|
|
73
|
+
|
|
74
|
+
<!-- AGENTS-GENERATED:START patterns -->
|
|
75
|
+
## Symfony-specific patterns
|
|
76
|
+
|
|
77
|
+
### Controller with form handling
|
|
78
|
+
```php
|
|
79
|
+
#[Route('/user/new', name: 'user_new')]
|
|
80
|
+
public function new(Request $request, EntityManagerInterface $em): Response
|
|
81
|
+
{
|
|
82
|
+
$user = new User();
|
|
83
|
+
$form = $this->createForm(UserType::class, $user);
|
|
84
|
+
$form->handleRequest($request);
|
|
85
|
+
|
|
86
|
+
if ($form->isSubmitted() && $form->isValid()) {
|
|
87
|
+
$em->persist($user);
|
|
88
|
+
$em->flush();
|
|
89
|
+
return $this->redirectToRoute('user_show', ['id' => $user->getId()]);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
return $this->render('user/new.html.twig', ['form' => $form]);
|
|
93
|
+
}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Service with dependency injection
|
|
97
|
+
```php
|
|
98
|
+
final class UserService
|
|
99
|
+
{
|
|
100
|
+
public function __construct(
|
|
101
|
+
private readonly UserRepository $userRepository,
|
|
102
|
+
private readonly EventDispatcherInterface $dispatcher,
|
|
103
|
+
) {}
|
|
104
|
+
|
|
105
|
+
public function createUser(string $email): User
|
|
106
|
+
{
|
|
107
|
+
$user = new User($email);
|
|
108
|
+
$this->userRepository->save($user, flush: true);
|
|
109
|
+
$this->dispatcher->dispatch(new UserCreatedEvent($user));
|
|
110
|
+
return $user;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### Custom console command
|
|
116
|
+
```php
|
|
117
|
+
#[AsCommand(name: 'app:user:import', description: 'Import users from CSV')]
|
|
118
|
+
final class ImportUsersCommand extends Command
|
|
119
|
+
{
|
|
120
|
+
protected function execute(InputInterface $input, OutputInterface $output): int
|
|
121
|
+
{
|
|
122
|
+
// Implementation
|
|
123
|
+
return Command::SUCCESS;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
```
|
|
127
|
+
<!-- AGENTS-GENERATED:END patterns -->
|
|
128
|
+
|
|
129
|
+
<!-- AGENTS-GENERATED:START security -->
|
|
130
|
+
## Security & safety
|
|
131
|
+
- Use **Voters** for authorization logic, not inline checks
|
|
132
|
+
- Store secrets in `.env.local` (never commit)
|
|
133
|
+
- Use **CSRF tokens** for all forms
|
|
134
|
+
- Enable **security headers** via NelmioSecurityBundle
|
|
135
|
+
- Validate all input with Symfony Validator constraints
|
|
136
|
+
- Use **parameterized queries** (Doctrine handles this)
|
|
137
|
+
<!-- AGENTS-GENERATED:END security -->
|
|
138
|
+
|
|
139
|
+
<!-- AGENTS-GENERATED:START checklist -->
|
|
140
|
+
## PR/commit checklist
|
|
141
|
+
{{PHPSTAN_CHECKLIST_LINE}}
|
|
142
|
+
{{CS_CHECKLIST_LINE}}
|
|
143
|
+
{{TEST_CHECKLIST_LINE}}
|
|
144
|
+
- [ ] Migrations are reversible (`down()` method works)
|
|
145
|
+
- [ ] New routes have proper security annotations
|
|
146
|
+
- [ ] Services are properly autowired (no manual config needed)
|
|
147
|
+
- [ ] Cache cleared: `bin/console cache:clear`
|
|
148
|
+
<!-- AGENTS-GENERATED:END checklist -->
|
|
149
|
+
|
|
150
|
+
<!-- AGENTS-GENERATED:START examples -->
|
|
151
|
+
## Patterns to Follow
|
|
152
|
+
> **Prefer looking at real code in this repo over generic examples.**
|
|
153
|
+
> See **Golden Samples** section above for files that demonstrate correct patterns.
|
|
154
|
+
<!-- AGENTS-GENERATED:END examples -->
|
|
155
|
+
|
|
156
|
+
<!-- AGENTS-GENERATED:START help -->
|
|
157
|
+
## When stuck
|
|
158
|
+
- Symfony docs: https://symfony.com/doc/current/
|
|
159
|
+
- Best practices: https://symfony.com/doc/current/best_practices.html
|
|
160
|
+
- Check existing controllers/services for patterns
|
|
161
|
+
- Run `bin/console debug:router` to inspect routes
|
|
162
|
+
- Run `bin/console debug:container` to inspect services
|
|
163
|
+
- Review root AGENTS.md for project-wide conventions
|
|
164
|
+
<!-- AGENTS-GENERATED:END help -->
|
|
165
|
+
|
|
166
|
+
## House Rules (project-specific)
|
|
167
|
+
<!-- This section is NOT auto-generated - add your project-specific rules here -->
|
|
168
|
+
{{HOUSE_RULES}}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
<!-- Managed by agent: keep sections and order; edit content, not structure. Last updated: {{TIMESTAMP}} -->
|
|
2
|
+
|
|
3
|
+
# AGENTS.md — {{SCOPE_NAME}}
|
|
4
|
+
|
|
5
|
+
<!-- AGENTS-GENERATED:START overview -->
|
|
6
|
+
## Overview
|
|
7
|
+
{{SCOPE_DESCRIPTION}}
|
|
8
|
+
<!-- AGENTS-GENERATED:END overview -->
|
|
9
|
+
|
|
10
|
+
<!-- AGENTS-GENERATED:START filemap -->
|
|
11
|
+
## Key Files
|
|
12
|
+
{{SCOPE_FILE_MAP}}
|
|
13
|
+
<!-- AGENTS-GENERATED:END filemap -->
|
|
14
|
+
|
|
15
|
+
<!-- AGENTS-GENERATED:START golden-samples -->
|
|
16
|
+
## Golden Samples (follow these patterns)
|
|
17
|
+
{{SCOPE_GOLDEN_SAMPLES}}
|
|
18
|
+
<!-- AGENTS-GENERATED:END golden-samples -->
|
|
19
|
+
|
|
20
|
+
<!-- AGENTS-GENERATED:START setup -->
|
|
21
|
+
## Setup & environment
|
|
22
|
+
- Install dev dependencies before running tests
|
|
23
|
+
- Some tests may require additional setup (see individual test files)
|
|
24
|
+
- Use the project's test framework consistently
|
|
25
|
+
<!-- AGENTS-GENERATED:END setup -->
|
|
26
|
+
|
|
27
|
+
<!-- AGENTS-GENERATED:START commands -->
|
|
28
|
+
## Running tests
|
|
29
|
+
{{TEST_LINE}}
|
|
30
|
+
{{TEST_SINGLE_LINE}}
|
|
31
|
+
{{TEST_COVERAGE_LINE}}
|
|
32
|
+
{{TEST_WATCH_LINE}}
|
|
33
|
+
<!-- AGENTS-GENERATED:END commands -->
|
|
34
|
+
|
|
35
|
+
<!-- AGENTS-GENERATED:START organization -->
|
|
36
|
+
## Test organization
|
|
37
|
+
- Group tests by feature or module
|
|
38
|
+
- Name test files to match source files (e.g., `foo_test.go`, `foo.test.ts`)
|
|
39
|
+
- Use descriptive test names that explain the expected behavior
|
|
40
|
+
- Keep fixtures and mocks in dedicated directories
|
|
41
|
+
<!-- AGENTS-GENERATED:END organization -->
|
|
42
|
+
|
|
43
|
+
<!-- AGENTS-GENERATED:START code-style -->
|
|
44
|
+
## Code style & conventions
|
|
45
|
+
- One assertion per test when possible
|
|
46
|
+
- Use descriptive test names: `test_should_return_error_when_input_is_empty`
|
|
47
|
+
- Avoid testing implementation details; focus on behavior
|
|
48
|
+
- Keep tests independent - no shared mutable state
|
|
49
|
+
- Mock external dependencies (network, filesystem, time)
|
|
50
|
+
- Use table-driven tests for multiple similar cases
|
|
51
|
+
<!-- AGENTS-GENERATED:END code-style -->
|
|
52
|
+
|
|
53
|
+
<!-- AGENTS-GENERATED:START security -->
|
|
54
|
+
## Security & safety
|
|
55
|
+
- Never commit real credentials in test fixtures
|
|
56
|
+
- Use environment variables or mock services for sensitive data
|
|
57
|
+
- Sanitize any test data that might contain PII
|
|
58
|
+
- Ensure test databases are isolated from production
|
|
59
|
+
<!-- AGENTS-GENERATED:END security -->
|
|
60
|
+
|
|
61
|
+
<!-- AGENTS-GENERATED:START checklist -->
|
|
62
|
+
## PR/commit checklist
|
|
63
|
+
- [ ] All tests pass locally
|
|
64
|
+
- [ ] New functionality has corresponding tests
|
|
65
|
+
- [ ] Test names describe expected behavior
|
|
66
|
+
- [ ] No hardcoded credentials or sensitive data
|
|
67
|
+
- [ ] Mocks are appropriate and maintainable
|
|
68
|
+
- [ ] Coverage hasn't decreased significantly
|
|
69
|
+
<!-- AGENTS-GENERATED:END checklist -->
|
|
70
|
+
|
|
71
|
+
<!-- AGENTS-GENERATED:START examples -->
|
|
72
|
+
## Patterns to Follow
|
|
73
|
+
> **Prefer looking at real code in this repo over generic examples.**
|
|
74
|
+
> See **Golden Samples** section above for files that demonstrate correct patterns.
|
|
75
|
+
<!-- AGENTS-GENERATED:END examples -->
|
|
76
|
+
|
|
77
|
+
<!-- AGENTS-GENERATED:START help -->
|
|
78
|
+
## When stuck
|
|
79
|
+
- Check existing tests for patterns
|
|
80
|
+
- Review test framework documentation
|
|
81
|
+
- Ensure test isolation (no shared state)
|
|
82
|
+
- Check root AGENTS.md for project conventions
|
|
83
|
+
<!-- AGENTS-GENERATED:END help -->
|
|
84
|
+
|
|
85
|
+
## House Rules (project-specific)
|
|
86
|
+
<!-- This section is NOT auto-generated - add your project-specific rules here -->
|
|
87
|
+
{{HOUSE_RULES}}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
<!-- Managed by agent: keep sections and order; edit content, not structure. Last updated: {{TIMESTAMP}} -->
|
|
2
|
+
|
|
3
|
+
# AGENTS.md — {{SCOPE_NAME}}
|
|
4
|
+
|
|
5
|
+
<!-- AGENTS-GENERATED:START overview -->
|
|
6
|
+
## Overview
|
|
7
|
+
TYPO3 extension documentation (RST format for docs.typo3.org). **Use the `typo3-docs` skill** for comprehensive guidance.
|
|
8
|
+
<!-- AGENTS-GENERATED:END overview -->
|
|
9
|
+
|
|
10
|
+
<!-- AGENTS-GENERATED:START filemap -->
|
|
11
|
+
## Key Files
|
|
12
|
+
{{SCOPE_FILE_MAP}}
|
|
13
|
+
<!-- AGENTS-GENERATED:END filemap -->
|
|
14
|
+
|
|
15
|
+
<!-- AGENTS-GENERATED:START golden-samples -->
|
|
16
|
+
## Golden Samples (follow these patterns)
|
|
17
|
+
{{SCOPE_GOLDEN_SAMPLES}}
|
|
18
|
+
<!-- AGENTS-GENERATED:END golden-samples -->
|
|
19
|
+
|
|
20
|
+
<!-- AGENTS-GENERATED:START structure -->
|
|
21
|
+
## Structure (docs.typo3.org standard)
|
|
22
|
+
```
|
|
23
|
+
Documentation/
|
|
24
|
+
├── Index.rst # Main entry point (required)
|
|
25
|
+
├── Settings.cfg # Sphinx configuration (required)
|
|
26
|
+
├── Includes.rst.txt # Shared includes
|
|
27
|
+
├── Introduction/
|
|
28
|
+
│ └── Index.rst
|
|
29
|
+
├── Installation/
|
|
30
|
+
│ └── Index.rst
|
|
31
|
+
├── Configuration/
|
|
32
|
+
│ └── Index.rst
|
|
33
|
+
├── Editor/
|
|
34
|
+
│ └── Index.rst
|
|
35
|
+
├── Developer/
|
|
36
|
+
│ └── Index.rst
|
|
37
|
+
└── Images/
|
|
38
|
+
└── *.png, *.svg
|
|
39
|
+
```
|
|
40
|
+
<!-- AGENTS-GENERATED:END structure -->
|
|
41
|
+
|
|
42
|
+
<!-- AGENTS-GENERATED:START commands -->
|
|
43
|
+
## Rendering Docs
|
|
44
|
+
| Task | Command |
|
|
45
|
+
|------|---------|
|
|
46
|
+
| Render locally | `docker run --rm -v $(pwd):/project ghcr.io/typo3-documentation/render-guides:latest` |
|
|
47
|
+
| Preview | Open `Documentation-GENERATED-temp/Index.html` |
|
|
48
|
+
| Clean | `rm -rf Documentation-GENERATED-temp/` |
|
|
49
|
+
<!-- AGENTS-GENERATED:END commands -->
|
|
50
|
+
|
|
51
|
+
<!-- AGENTS-GENERATED:START patterns -->
|
|
52
|
+
## Key Patterns (TYPO3-specific)
|
|
53
|
+
- Use RST format, **not Markdown**
|
|
54
|
+
- Use TYPO3 directives: `confval`, `versionadded`, `deprecated`, `t3-field-list-table`
|
|
55
|
+
- Include code with `.. code-block:: php` or `.. literalinclude::`
|
|
56
|
+
- Cross-reference with `:ref:` and proper labels
|
|
57
|
+
- **Screenshots MANDATORY** for backend modules, config screens, UI workflows
|
|
58
|
+
- Store in `Documentation/Images/`, use `.. figure::` with `:zoom: lightbox`
|
|
59
|
+
<!-- AGENTS-GENERATED:END patterns -->
|
|
60
|
+
|
|
61
|
+
<!-- AGENTS-GENERATED:START screenshots -->
|
|
62
|
+
## Screenshots (MANDATORY for UI)
|
|
63
|
+
```rst
|
|
64
|
+
.. figure:: /Images/Configuration/ExtensionSettings.png
|
|
65
|
+
:alt: Extension configuration showing API settings
|
|
66
|
+
:zoom: lightbox
|
|
67
|
+
:class: with-border with-shadow
|
|
68
|
+
|
|
69
|
+
Configure the extension in Admin Tools > Settings
|
|
70
|
+
```
|
|
71
|
+
- Format: **PNG only**
|
|
72
|
+
- Zoom modes: `lightbox` (default), `gallery` (tutorials), `inline` (diagrams)
|
|
73
|
+
- Always include `:alt:` text
|
|
74
|
+
<!-- AGENTS-GENERATED:END screenshots -->
|
|
75
|
+
|
|
76
|
+
<!-- AGENTS-GENERATED:START code-style -->
|
|
77
|
+
## RST Style
|
|
78
|
+
- Headings: `=` for H1, `-` for H2, `~` for H3, `^` for H4
|
|
79
|
+
- Line length: ~80 characters for readability
|
|
80
|
+
- One sentence per line (for better diffs)
|
|
81
|
+
- Use `.. note::`, `.. warning::`, `.. tip::` for admonitions
|
|
82
|
+
- Tables: use `.. t3-field-list-table::` or grid tables
|
|
83
|
+
<!-- AGENTS-GENERATED:END code-style -->
|
|
84
|
+
|
|
85
|
+
<!-- AGENTS-GENERATED:START checklist -->
|
|
86
|
+
## PR Checklist
|
|
87
|
+
- [ ] RST syntax valid (renders without errors)
|
|
88
|
+
- [ ] All internal links resolve
|
|
89
|
+
- [ ] Images have `:alt:` text and `:zoom: lightbox`
|
|
90
|
+
- [ ] **Screenshots exist** for all backend/config/UI sections
|
|
91
|
+
- [ ] Code examples are tested
|
|
92
|
+
- [ ] Follows docs.typo3.org structure
|
|
93
|
+
<!-- AGENTS-GENERATED:END checklist -->
|
|
94
|
+
|
|
95
|
+
<!-- AGENTS-GENERATED:START skill-reference -->
|
|
96
|
+
## Skill Reference
|
|
97
|
+
> For RST syntax, TYPO3 directives, screenshots, and docs.typo3.org deployment:
|
|
98
|
+
> **Invoke skill:** `typo3-docs`
|
|
99
|
+
<!-- AGENTS-GENERATED:END skill-reference -->
|
|
100
|
+
|
|
101
|
+
## House Rules (project-specific)
|
|
102
|
+
<!-- This section is NOT auto-generated - add your project-specific rules here -->
|
|
103
|
+
{{HOUSE_RULES}}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
<!-- Managed by agent: keep sections and order; edit content, not structure. Last updated: {{TIMESTAMP}} -->
|
|
2
|
+
|
|
3
|
+
# AGENTS.md — {{SCOPE_NAME}}
|
|
4
|
+
|
|
5
|
+
<!-- AGENTS-GENERATED:START overview -->
|
|
6
|
+
## Overview
|
|
7
|
+
{{SCOPE_DESCRIPTION}}
|
|
8
|
+
<!-- AGENTS-GENERATED:END overview -->
|
|
9
|
+
|
|
10
|
+
<!-- AGENTS-GENERATED:START filemap -->
|
|
11
|
+
## Key Files
|
|
12
|
+
{{SCOPE_FILE_MAP}}
|
|
13
|
+
<!-- AGENTS-GENERATED:END filemap -->
|
|
14
|
+
|
|
15
|
+
<!-- AGENTS-GENERATED:START golden-samples -->
|
|
16
|
+
## Golden Samples (follow these patterns)
|
|
17
|
+
{{SCOPE_GOLDEN_SAMPLES}}
|
|
18
|
+
<!-- AGENTS-GENERATED:END golden-samples -->
|
|
19
|
+
|
|
20
|
+
<!-- AGENTS-GENERATED:START setup -->
|
|
21
|
+
## Setup & environment
|
|
22
|
+
{{INSTALL_LINE}}
|
|
23
|
+
{{PHP_VERSION_LINE}}
|
|
24
|
+
{{TYPO3_VERSION_LINE}}
|
|
25
|
+
{{DEV_SETUP_LINE}}
|
|
26
|
+
{{REQUIRED_EXTENSIONS_LINE}}
|
|
27
|
+
<!-- AGENTS-GENERATED:END setup -->
|
|
28
|
+
|
|
29
|
+
<!-- AGENTS-GENERATED:START structure -->
|
|
30
|
+
## Directory structure
|
|
31
|
+
```
|
|
32
|
+
Classes/ → PHP classes (PSR-4: Vendor\ExtKey\)
|
|
33
|
+
Controller/ → Backend/Frontend controllers
|
|
34
|
+
Domain/ → Model, Repository, Validator
|
|
35
|
+
Service/ → Business logic services
|
|
36
|
+
ViewHelpers/ → Fluid ViewHelpers
|
|
37
|
+
Configuration/ → TYPO3 configuration
|
|
38
|
+
TCA/ → Table Configuration Array
|
|
39
|
+
TypoScript/ → TypoScript setup/constants
|
|
40
|
+
FlexForms/ → FlexForm XML definitions
|
|
41
|
+
Backend/ → Backend module config
|
|
42
|
+
Resources/
|
|
43
|
+
Private/ → Templates, Partials, Layouts (Fluid)
|
|
44
|
+
Public/ → CSS, JS, Icons
|
|
45
|
+
Tests/
|
|
46
|
+
Unit/ → PHPUnit unit tests
|
|
47
|
+
Functional/ → Functional tests with DB
|
|
48
|
+
Documentation/ → RST documentation for docs.typo3.org
|
|
49
|
+
```
|
|
50
|
+
<!-- AGENTS-GENERATED:END structure -->
|
|
51
|
+
|
|
52
|
+
<!-- AGENTS-GENERATED:START commands -->
|
|
53
|
+
## Build & tests
|
|
54
|
+
{{COMMANDS_TABLE}}
|
|
55
|
+
{{DDEV_ALTERNATIVE}}
|
|
56
|
+
<!-- AGENTS-GENERATED:END commands -->
|
|
57
|
+
|
|
58
|
+
<!-- AGENTS-GENERATED:START code-style -->
|
|
59
|
+
## Code style & conventions
|
|
60
|
+
- **PSR-12** + TYPO3 CGL (Coding Guidelines)
|
|
61
|
+
- Strict types: `declare(strict_types=1);` in all PHP files
|
|
62
|
+
- Namespace: `{{VENDOR}}\{{EXT_KEY}}\` (PSR-4 from Classes/)
|
|
63
|
+
- Use dependency injection via `Services.yaml`, not `GeneralUtility::makeInstance()`
|
|
64
|
+
- Extbase conventions for domain models and repositories
|
|
65
|
+
- Fluid templates: use `<f:` and custom ViewHelpers
|
|
66
|
+
- TCA: use TYPO3 API, not raw SQL for schema
|
|
67
|
+
- Never use `$GLOBALS['TYPO3_DB']` (deprecated since v8)
|
|
68
|
+
|
|
69
|
+
### Naming conventions
|
|
70
|
+
| Type | Convention | Example |
|
|
71
|
+
|------|------------|---------|
|
|
72
|
+
| Extension key | `lowercase_underscore` | `my_extension` |
|
|
73
|
+
| Composer name | `vendor/ext-key` | `vendor/my-extension` |
|
|
74
|
+
| Namespace | `Vendor\ExtKey\` | `Vendor\MyExtension\` |
|
|
75
|
+
| Controller | `*Controller` | `BlogController` |
|
|
76
|
+
| Repository | `*Repository` | `PostRepository` |
|
|
77
|
+
| ViewHelper | `*ViewHelper` | `FormatDateViewHelper` |
|
|
78
|
+
<!-- AGENTS-GENERATED:END code-style -->
|
|
79
|
+
|
|
80
|
+
<!-- AGENTS-GENERATED:START security -->
|
|
81
|
+
## Security & safety
|
|
82
|
+
- **Always use QueryBuilder** or Extbase repositories - never raw SQL
|
|
83
|
+
- **Escape output** in Fluid: `{variable}` auto-escapes, use `<f:format.raw>` only when safe
|
|
84
|
+
- **CSRF protection**: use `\TYPO3\CMS\Core\FormProtection\FormProtectionFactory` for forms
|
|
85
|
+
- **Access checks**: use `$GLOBALS['BE_USER']->check()` for backend
|
|
86
|
+
- **File handling**: use FAL (File Abstraction Layer), never direct file paths
|
|
87
|
+
- **Never trust user input**: validate via Extbase validators or custom validation
|
|
88
|
+
<!-- AGENTS-GENERATED:END security -->
|
|
89
|
+
|
|
90
|
+
<!-- AGENTS-GENERATED:START checklist -->
|
|
91
|
+
## PR/commit checklist
|
|
92
|
+
{{CI_CHECKLIST_LINE}}
|
|
93
|
+
{{PHPSTAN_CHECKLIST_LINE}}
|
|
94
|
+
- [ ] ext_emconf.php version updated if releasing
|
|
95
|
+
- [ ] TCA changes have matching SQL in ext_tables.sql
|
|
96
|
+
- [ ] Documentation updated in Documentation/
|
|
97
|
+
- [ ] No deprecated TYPO3 APIs (run Extension Scanner)
|
|
98
|
+
{{TYPO3_VERSION_CHECKLIST_LINE}}
|
|
99
|
+
<!-- AGENTS-GENERATED:END checklist -->
|
|
100
|
+
|
|
101
|
+
<!-- AGENTS-GENERATED:START examples -->
|
|
102
|
+
## Patterns to Follow
|
|
103
|
+
> **Prefer looking at real code in this repo over generic examples.**
|
|
104
|
+
> See **Golden Samples** section above for files that demonstrate correct patterns.
|
|
105
|
+
<!-- AGENTS-GENERATED:END examples -->
|
|
106
|
+
|
|
107
|
+
<!-- AGENTS-GENERATED:START upgrade -->
|
|
108
|
+
## TYPO3 upgrade considerations
|
|
109
|
+
- Run **Extension Scanner** before upgrading: Backend → Upgrade → Scan Extension Files
|
|
110
|
+
- Use **Rector** for automated migrations: `vendor/bin/rector process`
|
|
111
|
+
- Check **deprecation log** in TYPO3 backend
|
|
112
|
+
- Review [TYPO3 Changelog](https://docs.typo3.org/c/typo3/cms-core/main/en-us/Index.html) for breaking changes
|
|
113
|
+
<!-- AGENTS-GENERATED:END upgrade -->
|
|
114
|
+
|
|
115
|
+
<!-- AGENTS-GENERATED:START help -->
|
|
116
|
+
## When stuck
|
|
117
|
+
- TYPO3 Documentation: https://docs.typo3.org
|
|
118
|
+
- TCA Reference: https://docs.typo3.org/m/typo3/reference-tca/main/en-us/
|
|
119
|
+
- Core API: https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/
|
|
120
|
+
- Extbase Guide: https://docs.typo3.org/m/typo3/book-extbasefluid/main/en-us/
|
|
121
|
+
- Check existing patterns in EXT:core or EXT:backend
|
|
122
|
+
- Review root AGENTS.md for project-wide conventions
|
|
123
|
+
<!-- AGENTS-GENERATED:END help -->
|
|
124
|
+
|
|
125
|
+
<!-- AGENTS-GENERATED:START skill-reference -->
|
|
126
|
+
## Skill Reference
|
|
127
|
+
> For TYPO3 extension standards, TER compliance, and conformance checks:
|
|
128
|
+
> **Invoke skill:** `typo3-conformance`
|
|
129
|
+
<!-- AGENTS-GENERATED:END skill-reference -->
|
|
130
|
+
|
|
131
|
+
## House Rules (project-specific)
|
|
132
|
+
<!-- This section is NOT auto-generated - add your project-specific rules here -->
|
|
133
|
+
{{HOUSE_RULES}}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
<!-- Managed by agent: keep sections and order; edit content, not structure. Last updated: {{TIMESTAMP}} -->
|
|
2
|
+
|
|
3
|
+
# AGENTS.md — {{SCOPE_NAME}}
|
|
4
|
+
|
|
5
|
+
<!-- AGENTS-GENERATED:START overview -->
|
|
6
|
+
## Overview
|
|
7
|
+
{{SCOPE_DESCRIPTION}}
|
|
8
|
+
<!-- AGENTS-GENERATED:END overview -->
|
|
9
|
+
|
|
10
|
+
<!-- AGENTS-GENERATED:START filemap -->
|
|
11
|
+
## Key Files
|
|
12
|
+
{{SCOPE_FILE_MAP}}
|
|
13
|
+
<!-- AGENTS-GENERATED:END filemap -->
|
|
14
|
+
|
|
15
|
+
<!-- AGENTS-GENERATED:START golden-samples -->
|
|
16
|
+
## Golden Samples (follow these patterns)
|
|
17
|
+
{{SCOPE_GOLDEN_SAMPLES}}
|
|
18
|
+
<!-- AGENTS-GENERATED:END golden-samples -->
|
|
19
|
+
|
|
20
|
+
<!-- AGENTS-GENERATED:START setup -->
|
|
21
|
+
## Setup & environment
|
|
22
|
+
{{INSTALL_LINE}}
|
|
23
|
+
{{PHP_VERSION_LINE}}
|
|
24
|
+
{{TYPO3_VERSION_LINE}}
|
|
25
|
+
{{DEV_SETUP_LINE}}
|
|
26
|
+
{{COMPOSER_MODE_LINE}}
|
|
27
|
+
<!-- AGENTS-GENERATED:END setup -->
|
|
28
|
+
|
|
29
|
+
<!-- AGENTS-GENERATED:START structure -->
|
|
30
|
+
## Directory structure
|
|
31
|
+
```
|
|
32
|
+
public/ → Web root (DocumentRoot)
|
|
33
|
+
typo3/ → TYPO3 backend assets
|
|
34
|
+
typo3conf/ → Configuration (legacy, avoid)
|
|
35
|
+
fileadmin/ → User uploads (FAL)
|
|
36
|
+
index.php → Entry point
|
|
37
|
+
config/ → Project configuration
|
|
38
|
+
sites/ → Site configurations (YAML)
|
|
39
|
+
<site>/
|
|
40
|
+
config.yaml → Site routing, languages
|
|
41
|
+
system/ → System-wide settings
|
|
42
|
+
settings.php → LocalConfiguration equivalent
|
|
43
|
+
additional.php → AdditionalConfiguration
|
|
44
|
+
var/ → Runtime data (cache, logs)
|
|
45
|
+
cache/ → Cache files
|
|
46
|
+
log/ → Log files
|
|
47
|
+
session/ → Session data
|
|
48
|
+
vendor/ → Composer dependencies
|
|
49
|
+
packages/ → Local extensions (recommended)
|
|
50
|
+
my_extension/ → Custom extension
|
|
51
|
+
```
|
|
52
|
+
<!-- AGENTS-GENERATED:END structure -->
|
|
53
|
+
|
|
54
|
+
<!-- AGENTS-GENERATED:START commands -->
|
|
55
|
+
## Build & tests
|
|
56
|
+
{{COMMANDS_TABLE}}
|
|
57
|
+
<!-- AGENTS-GENERATED:END commands -->
|
|
58
|
+
|
|
59
|
+
<!-- AGENTS-GENERATED:START code-style -->
|
|
60
|
+
## Code style & conventions
|
|
61
|
+
- **PSR-12** + TYPO3 CGL (Coding Guidelines)
|
|
62
|
+
- Strict types: `declare(strict_types=1);` in all PHP files
|
|
63
|
+
- Use **Composer Mode** for all extensions
|
|
64
|
+
- Site configuration in `config/sites/` (not database)
|
|
65
|
+
- Use environment variables for sensitive config
|
|
66
|
+
- Avoid `typo3conf/` - use `config/` and `packages/` instead
|
|
67
|
+
|
|
68
|
+
### Project vs Extension code
|
|
69
|
+
| Type | Location | Purpose |
|
|
70
|
+
|------|----------|---------|
|
|
71
|
+
| Local extensions | `packages/` | Custom functionality |
|
|
72
|
+
| Site config | `config/sites/` | Routing, languages |
|
|
73
|
+
| System config | `config/system/` | TYPO3 settings |
|
|
74
|
+
| Templates | Extension `Resources/` | Fluid templates |
|
|
75
|
+
<!-- AGENTS-GENERATED:END code-style -->
|
|
76
|
+
|
|
77
|
+
<!-- AGENTS-GENERATED:START extensions -->
|
|
78
|
+
## Extension management
|
|
79
|
+
- **Composer-only**: All extensions via `composer require`
|
|
80
|
+
- **Local packages**: Use `packages/` with path repository
|
|
81
|
+
- **Never use Extension Manager** for production
|
|
82
|
+
- Lock extension versions in `composer.lock`
|
|
83
|
+
|
|
84
|
+
### Adding local extension
|
|
85
|
+
```json
|
|
86
|
+
{
|
|
87
|
+
"repositories": [
|
|
88
|
+
{"type": "path", "url": "packages/*"}
|
|
89
|
+
],
|
|
90
|
+
"require": {
|
|
91
|
+
"vendor/my-extension": "@dev"
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
```
|
|
95
|
+
<!-- AGENTS-GENERATED:END extensions -->
|
|
96
|
+
|
|
97
|
+
<!-- AGENTS-GENERATED:START security -->
|
|
98
|
+
## Security & safety
|
|
99
|
+
- **Environment variables**: Use for DB credentials, encryption key
|
|
100
|
+
- **Restrict backend access**: Use `.htaccess` or server config
|
|
101
|
+
- **Disable install tool**: Remove `ENABLE_INSTALL_TOOL` after setup
|
|
102
|
+
- **File permissions**: Strict permissions on `var/`, `config/`
|
|
103
|
+
- **HTTPS only**: Enforce in site configuration
|
|
104
|
+
- **Update regularly**: Security updates for core and extensions
|
|
105
|
+
<!-- AGENTS-GENERATED:END security -->
|
|
106
|
+
|
|
107
|
+
<!-- AGENTS-GENERATED:START deployment -->
|
|
108
|
+
## Deployment
|
|
109
|
+
- Use `composer install --no-dev --optimize-autoloader`
|
|
110
|
+
- Clear caches: `vendor/bin/typo3 cache:flush`
|
|
111
|
+
- Warmup caches: `vendor/bin/typo3 cache:warmup`
|
|
112
|
+
- Run database migrations: `vendor/bin/typo3 database:updateschema`
|
|
113
|
+
- Never deploy `var/cache/` or `var/session/`
|
|
114
|
+
<!-- AGENTS-GENERATED:END deployment -->
|
|
115
|
+
|
|
116
|
+
<!-- AGENTS-GENERATED:START checklist -->
|
|
117
|
+
## PR/commit checklist
|
|
118
|
+
{{CI_CHECKLIST_LINE}}
|
|
119
|
+
- [ ] Site configuration is valid YAML
|
|
120
|
+
- [ ] No hardcoded credentials or paths
|
|
121
|
+
- [ ] Extensions installed via Composer only
|
|
122
|
+
- [ ] Database schema changes documented
|
|
123
|
+
{{TYPO3_VERSION_CHECKLIST_LINE}}
|
|
124
|
+
<!-- AGENTS-GENERATED:END checklist -->
|
|
125
|
+
|
|
126
|
+
<!-- AGENTS-GENERATED:START help -->
|
|
127
|
+
## When stuck
|
|
128
|
+
- TYPO3 Documentation: https://docs.typo3.org
|
|
129
|
+
- Installation Guide: https://docs.typo3.org/m/typo3/tutorial-getting-started/main/en-us/
|
|
130
|
+
- Site Configuration: https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ApiOverview/SiteHandling/
|
|
131
|
+
- Console Commands: `vendor/bin/typo3 list`
|
|
132
|
+
- Review root AGENTS.md for project-wide conventions
|
|
133
|
+
<!-- AGENTS-GENERATED:END help -->
|
|
134
|
+
|
|
135
|
+
## House Rules (project-specific)
|
|
136
|
+
<!-- This section is NOT auto-generated - add your project-specific rules here -->
|
|
137
|
+
{{HOUSE_RULES}}
|