@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,170 @@
|
|
|
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
|
+
{{ORO_VERSION_LINE}}
|
|
25
|
+
{{DATABASE_LINE}}
|
|
26
|
+
{{MESSAGE_QUEUE_LINE}}
|
|
27
|
+
<!-- AGENTS-GENERATED:END setup -->
|
|
28
|
+
|
|
29
|
+
<!-- AGENTS-GENERATED:START structure -->
|
|
30
|
+
## Directory structure
|
|
31
|
+
```
|
|
32
|
+
bin/
|
|
33
|
+
console → Symfony console entry point
|
|
34
|
+
config/
|
|
35
|
+
bundles.php → Registered bundles
|
|
36
|
+
config.yml → Main configuration
|
|
37
|
+
config_dev.yml → Development overrides
|
|
38
|
+
config_prod.yml → Production settings
|
|
39
|
+
parameters.yml → Environment parameters
|
|
40
|
+
security.yml → Security configuration
|
|
41
|
+
oro/
|
|
42
|
+
bundles.yml → Oro bundle registration
|
|
43
|
+
public/
|
|
44
|
+
index.php → Web entry point
|
|
45
|
+
bundles/ → Bundle assets
|
|
46
|
+
src/
|
|
47
|
+
Acme/ → Custom bundles
|
|
48
|
+
Bundle/
|
|
49
|
+
MyBundle/
|
|
50
|
+
var/
|
|
51
|
+
cache/ → Cache files
|
|
52
|
+
logs/ → Log files
|
|
53
|
+
attachment/ → File attachments
|
|
54
|
+
migrations/
|
|
55
|
+
Schema/ → Doctrine schema migrations
|
|
56
|
+
Data/ → Data migrations/fixtures
|
|
57
|
+
```
|
|
58
|
+
<!-- AGENTS-GENERATED:END structure -->
|
|
59
|
+
|
|
60
|
+
<!-- AGENTS-GENERATED:START commands -->
|
|
61
|
+
## Build & tests
|
|
62
|
+
{{COMMANDS_TABLE}}
|
|
63
|
+
<!-- AGENTS-GENERATED:END commands -->
|
|
64
|
+
|
|
65
|
+
<!-- AGENTS-GENERATED:START code-style -->
|
|
66
|
+
## Code style & conventions
|
|
67
|
+
- **PSR-12** coding standard
|
|
68
|
+
- Strict types: `declare(strict_types=1);`
|
|
69
|
+
- Symfony best practices + Oro conventions
|
|
70
|
+
- Bundle-based architecture for all custom code
|
|
71
|
+
- Use Oro's config-based approach (YAML over annotations)
|
|
72
|
+
- Dependency injection via `services.yml`
|
|
73
|
+
|
|
74
|
+
### Project structure rules
|
|
75
|
+
| Type | Location | Purpose |
|
|
76
|
+
|------|----------|---------|
|
|
77
|
+
| Custom bundles | `src/Vendor/Bundle/` | All custom functionality |
|
|
78
|
+
| Overrides | `config/` | Configuration overrides |
|
|
79
|
+
| Migrations | `migrations/` | Application-level migrations |
|
|
80
|
+
| Assets | `public/bundles/` | Compiled/copied assets |
|
|
81
|
+
<!-- AGENTS-GENERATED:END code-style -->
|
|
82
|
+
|
|
83
|
+
<!-- AGENTS-GENERATED:START oro-commands -->
|
|
84
|
+
## Oro CLI commands
|
|
85
|
+
```bash
|
|
86
|
+
# Installation & setup
|
|
87
|
+
bin/console oro:install # Full installation
|
|
88
|
+
bin/console oro:platform:update # Update after code changes
|
|
89
|
+
|
|
90
|
+
# Cache management
|
|
91
|
+
bin/console cache:clear # Clear cache
|
|
92
|
+
bin/console oro:assets:install # Install bundle assets
|
|
93
|
+
bin/console oro:localization:dump # Dump translations
|
|
94
|
+
|
|
95
|
+
# Database & migrations
|
|
96
|
+
bin/console doctrine:migrations:migrate # Run migrations
|
|
97
|
+
bin/console oro:migration:data:load # Load data migrations
|
|
98
|
+
|
|
99
|
+
# Message queue (required for Oro)
|
|
100
|
+
bin/console oro:message-queue:consume # Process queue
|
|
101
|
+
bin/console oro:cron # Run cron jobs
|
|
102
|
+
|
|
103
|
+
# Development
|
|
104
|
+
bin/console debug:router # List routes
|
|
105
|
+
bin/console debug:container # Debug DI container
|
|
106
|
+
```
|
|
107
|
+
<!-- AGENTS-GENERATED:END oro-commands -->
|
|
108
|
+
|
|
109
|
+
<!-- AGENTS-GENERATED:START message-queue -->
|
|
110
|
+
## Message Queue
|
|
111
|
+
Oro requires a running message queue consumer for:
|
|
112
|
+
- Email sending
|
|
113
|
+
- Search indexing
|
|
114
|
+
- Workflow processing
|
|
115
|
+
- Data import/export
|
|
116
|
+
|
|
117
|
+
**Development:** Run `bin/console oro:message-queue:consume` in terminal
|
|
118
|
+
**Production:** Use supervisor or systemd to keep consumer running
|
|
119
|
+
<!-- AGENTS-GENERATED:END message-queue -->
|
|
120
|
+
|
|
121
|
+
<!-- AGENTS-GENERATED:START security -->
|
|
122
|
+
## Security & safety
|
|
123
|
+
- **Parameters**: Use `parameters.yml` for sensitive values (not in git)
|
|
124
|
+
- **OAuth2**: Configure for API authentication
|
|
125
|
+
- **ACL**: Define permissions in bundle `acl.yml`
|
|
126
|
+
- **HTTPS**: Enforce in production
|
|
127
|
+
- **Secrets**: Use Symfony secrets for production credentials
|
|
128
|
+
- **Session**: Configure secure session handling
|
|
129
|
+
<!-- AGENTS-GENERATED:END security -->
|
|
130
|
+
|
|
131
|
+
<!-- AGENTS-GENERATED:START deployment -->
|
|
132
|
+
## Deployment
|
|
133
|
+
```bash
|
|
134
|
+
# Production deployment steps
|
|
135
|
+
composer install --no-dev --optimize-autoloader
|
|
136
|
+
bin/console cache:clear --env=prod
|
|
137
|
+
bin/console oro:platform:update --env=prod --force
|
|
138
|
+
bin/console oro:assets:install --env=prod
|
|
139
|
+
bin/console assetic:dump --env=prod
|
|
140
|
+
```
|
|
141
|
+
- Always run `oro:platform:update` after code changes
|
|
142
|
+
- Restart message queue consumer after deployment
|
|
143
|
+
- Warm up cache before switching to new release
|
|
144
|
+
<!-- AGENTS-GENERATED:END deployment -->
|
|
145
|
+
|
|
146
|
+
<!-- AGENTS-GENERATED:START checklist -->
|
|
147
|
+
## PR/commit checklist
|
|
148
|
+
{{CACHE_CHECKLIST_LINE}}
|
|
149
|
+
{{PHPSTAN_CHECKLIST_LINE}}
|
|
150
|
+
{{UNIT_TEST_CHECKLIST_LINE}}
|
|
151
|
+
- [ ] Bundle registered in `config/oro/bundles.yml`
|
|
152
|
+
- [ ] Migrations reversible and tested
|
|
153
|
+
- [ ] Assets installed: `bin/console oro:assets:install`
|
|
154
|
+
- [ ] Message queue tested with consumer running
|
|
155
|
+
- [ ] ACL permissions defined for new entities
|
|
156
|
+
<!-- AGENTS-GENERATED:END checklist -->
|
|
157
|
+
|
|
158
|
+
<!-- AGENTS-GENERATED:START help -->
|
|
159
|
+
## When stuck
|
|
160
|
+
- Oro Documentation: https://doc.oroinc.com
|
|
161
|
+
- Installation: https://doc.oroinc.com/backend/setup/
|
|
162
|
+
- Backend Architecture: https://doc.oroinc.com/backend/architecture/
|
|
163
|
+
- CLI Commands: `bin/console list oro`
|
|
164
|
+
- Check `vendor/oro/` bundles for reference implementations
|
|
165
|
+
- Review root AGENTS.md for project-wide conventions
|
|
166
|
+
<!-- AGENTS-GENERATED:END help -->
|
|
167
|
+
|
|
168
|
+
## House Rules (project-specific)
|
|
169
|
+
<!-- This section is NOT auto-generated - add your project-specific rules here -->
|
|
170
|
+
{{HOUSE_RULES}}
|
|
@@ -0,0 +1,170 @@
|
|
|
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
|
+
{{PYTHON_VERSION_LINE}}
|
|
23
|
+
{{PACKAGE_MANAGER_LINE}}
|
|
24
|
+
{{VENV_LINE}}
|
|
25
|
+
{{ENV_VARS_LINE}}
|
|
26
|
+
<!-- AGENTS-GENERATED:END setup -->
|
|
27
|
+
|
|
28
|
+
<!-- AGENTS-GENERATED:START structure -->
|
|
29
|
+
## Project configuration
|
|
30
|
+
All tool config lives in `pyproject.toml` -- no `setup.cfg`, `setup.py`, `tox.ini`, or scattered config files.
|
|
31
|
+
|
|
32
|
+
```toml
|
|
33
|
+
[project] # PEP 621 metadata
|
|
34
|
+
[build-system] # Build backend (hatchling, setuptools, flit, pdm)
|
|
35
|
+
[tool.ruff] # Linting + formatting (replaces black, isort, flake8, pylint)
|
|
36
|
+
[tool.ruff.lint] # Lint rule selection
|
|
37
|
+
[tool.mypy] # Static type checking
|
|
38
|
+
[tool.pytest.ini_options] # Test configuration
|
|
39
|
+
[tool.coverage] # Coverage settings
|
|
40
|
+
```
|
|
41
|
+
<!-- AGENTS-GENERATED:END structure -->
|
|
42
|
+
|
|
43
|
+
<!-- AGENTS-GENERATED:START commands -->
|
|
44
|
+
## Build & tests
|
|
45
|
+
|
|
46
|
+
| Command | Purpose | ~Time |
|
|
47
|
+
|---------|---------|-------|
|
|
48
|
+
{{RUFF_CHECK_LINE}}
|
|
49
|
+
{{RUFF_FORMAT_LINE}}
|
|
50
|
+
{{MYPY_LINE}}
|
|
51
|
+
{{PYTEST_LINE}}
|
|
52
|
+
{{PYTEST_COV_LINE}}
|
|
53
|
+
{{BUILD_LINE}}
|
|
54
|
+
<!-- AGENTS-GENERATED:END commands -->
|
|
55
|
+
|
|
56
|
+
<!-- AGENTS-GENERATED:START code-style -->
|
|
57
|
+
## Code style & conventions
|
|
58
|
+
|
|
59
|
+
### Ruff (linting + formatting)
|
|
60
|
+
- Ruff replaces black, isort, flake8, pylint, pyflakes, pycodestyle in one tool
|
|
61
|
+
- Format: `ruff format .` -- black-compatible, deterministic
|
|
62
|
+
- Lint: `ruff check . --fix` -- auto-fix safe rules
|
|
63
|
+
- Config in `pyproject.toml` under `[tool.ruff]`
|
|
64
|
+
- Common rule sets: `E` (pycodestyle), `F` (pyflakes), `I` (isort), `UP` (pyupgrade), `B` (bugbear)
|
|
65
|
+
|
|
66
|
+
### Type hints (mypy)
|
|
67
|
+
- All functions must have type annotations (parameters + return)
|
|
68
|
+
- Use `mypy --strict` or configure strictness in `pyproject.toml`
|
|
69
|
+
- Modern syntax: `str | None` not `Optional[str]`, `list[int]` not `List[int]`
|
|
70
|
+
- Use `typing.TypeAlias` for complex types
|
|
71
|
+
- Use `Protocol` for structural subtyping (duck typing with types)
|
|
72
|
+
|
|
73
|
+
### Naming conventions
|
|
74
|
+
| Type | Convention | Example |
|
|
75
|
+
|------|------------|---------|
|
|
76
|
+
| Module | `snake_case` | `user_service.py` |
|
|
77
|
+
| Class | `PascalCase` | `UserService` |
|
|
78
|
+
| Function | `snake_case` | `get_user_by_id()` |
|
|
79
|
+
| Constant | `UPPER_SNAKE_CASE` | `MAX_RETRIES` |
|
|
80
|
+
| Type variable | `PascalCase` | `T = TypeVar("T")` |
|
|
81
|
+
| Private | `_leading_underscore` | `_internal_helper()` |
|
|
82
|
+
|
|
83
|
+
### Docstrings
|
|
84
|
+
- Google style preferred (compatible with Sphinx napoleon)
|
|
85
|
+
- Required for all public modules, classes, functions
|
|
86
|
+
- Include `Args:`, `Returns:`, `Raises:` sections
|
|
87
|
+
|
|
88
|
+
### Imports
|
|
89
|
+
- Ruff handles import sorting (`I` rules) -- no separate isort needed
|
|
90
|
+
- Group: stdlib, third-party, local (Ruff enforces this)
|
|
91
|
+
- Prefer absolute imports; relative only within package internals
|
|
92
|
+
<!-- AGENTS-GENERATED:END code-style -->
|
|
93
|
+
|
|
94
|
+
<!-- AGENTS-GENERATED:START testing -->
|
|
95
|
+
## Testing (pytest)
|
|
96
|
+
- Test files: `tests/` directory, files named `test_*.py`
|
|
97
|
+
- Test functions: `test_<description>()` -- no class needed for simple tests
|
|
98
|
+
- Fixtures: prefer `conftest.py` for shared fixtures
|
|
99
|
+
- Parametrize: use `@pytest.mark.parametrize` for data-driven tests
|
|
100
|
+
- Markers: `@pytest.mark.slow`, `@pytest.mark.integration` for selective runs
|
|
101
|
+
- Coverage: `pytest --cov=src --cov-report=term-missing`
|
|
102
|
+
- Assert style: plain `assert` (pytest rewrites for detailed output)
|
|
103
|
+
<!-- AGENTS-GENERATED:END testing -->
|
|
104
|
+
|
|
105
|
+
<!-- AGENTS-GENERATED:START dependency-management -->
|
|
106
|
+
## Dependency management
|
|
107
|
+
|
|
108
|
+
### uv (recommended)
|
|
109
|
+
```bash
|
|
110
|
+
uv sync # Install deps from uv.lock
|
|
111
|
+
uv add <package> # Add dependency
|
|
112
|
+
uv add --dev <package> # Add dev dependency
|
|
113
|
+
uv run pytest # Run in managed venv
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### poetry
|
|
117
|
+
```bash
|
|
118
|
+
poetry install # Install deps from poetry.lock
|
|
119
|
+
poetry add <package> # Add dependency
|
|
120
|
+
poetry add --group dev <p> # Add dev dependency
|
|
121
|
+
poetry run pytest # Run in managed venv
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### pip (fallback)
|
|
125
|
+
```bash
|
|
126
|
+
python -m venv .venv && source .venv/bin/activate
|
|
127
|
+
pip install -e ".[dev]" # Install with dev extras
|
|
128
|
+
```
|
|
129
|
+
<!-- AGENTS-GENERATED:END dependency-management -->
|
|
130
|
+
|
|
131
|
+
<!-- AGENTS-GENERATED:START security -->
|
|
132
|
+
## Security & safety
|
|
133
|
+
- Validate and sanitize all user inputs
|
|
134
|
+
- Use parameterized queries for database access (SQLAlchemy, asyncpg)
|
|
135
|
+
- Never use dynamic code evaluation functions with untrusted data
|
|
136
|
+
- Sensitive data: never log or expose in errors
|
|
137
|
+
- File paths: validate and use `pathlib.Path` for all path operations
|
|
138
|
+
- Subprocess: use list args, never `shell=True` with user input
|
|
139
|
+
- Dependencies: pin versions in lockfile, audit with `pip-audit` or `safety`
|
|
140
|
+
<!-- AGENTS-GENERATED:END security -->
|
|
141
|
+
|
|
142
|
+
<!-- AGENTS-GENERATED:START checklist -->
|
|
143
|
+
## PR/commit checklist
|
|
144
|
+
- [ ] `ruff check .` passes (no lint errors)
|
|
145
|
+
- [ ] `ruff format --check .` passes (formatting clean)
|
|
146
|
+
- [ ] `mypy .` passes (no type errors)
|
|
147
|
+
- [ ] `pytest` passes (all tests green)
|
|
148
|
+
- [ ] New public functions have type hints and docstrings
|
|
149
|
+
- [ ] No `# type: ignore` without explanation comment
|
|
150
|
+
<!-- AGENTS-GENERATED:END checklist -->
|
|
151
|
+
|
|
152
|
+
<!-- AGENTS-GENERATED:START examples -->
|
|
153
|
+
## Patterns to Follow
|
|
154
|
+
> **Prefer looking at real code in this repo over generic examples.**
|
|
155
|
+
> See **Golden Samples** section above for files that demonstrate correct patterns.
|
|
156
|
+
<!-- AGENTS-GENERATED:END examples -->
|
|
157
|
+
|
|
158
|
+
<!-- AGENTS-GENERATED:START help -->
|
|
159
|
+
## When stuck
|
|
160
|
+
- Python docs: https://docs.python.org
|
|
161
|
+
- Ruff rules reference: https://docs.astral.sh/ruff/rules/
|
|
162
|
+
- mypy cheat sheet: https://mypy.readthedocs.io/en/stable/cheat_sheet_py3.html
|
|
163
|
+
- pytest docs: https://docs.pytest.org
|
|
164
|
+
- Review existing patterns in this codebase
|
|
165
|
+
- Check root AGENTS.md for project-wide conventions
|
|
166
|
+
<!-- AGENTS-GENERATED:END help -->
|
|
167
|
+
|
|
168
|
+
## House Rules (project-specific)
|
|
169
|
+
<!-- This section is NOT auto-generated - add your project-specific rules here -->
|
|
170
|
+
{{HOUSE_RULES}}
|
|
@@ -0,0 +1,96 @@
|
|
|
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
|
+
- Resources are typically consumed by other parts of the application
|
|
23
|
+
- Some resources may need preprocessing or compilation
|
|
24
|
+
- Check build scripts for resource handling
|
|
25
|
+
<!-- AGENTS-GENERATED:END setup -->
|
|
26
|
+
|
|
27
|
+
<!-- AGENTS-GENERATED:START types -->
|
|
28
|
+
## Resource types
|
|
29
|
+
- **Templates**: HTML, email, or text templates
|
|
30
|
+
- **Static assets**: Images, fonts, icons, stylesheets
|
|
31
|
+
- **Configuration**: Default configs, schema files, fixtures
|
|
32
|
+
- **Localization**: Translation files, locale data
|
|
33
|
+
- **Data files**: JSON, YAML, CSV for static data
|
|
34
|
+
<!-- AGENTS-GENERATED:END types -->
|
|
35
|
+
|
|
36
|
+
<!-- AGENTS-GENERATED:START organization -->
|
|
37
|
+
## Organization conventions
|
|
38
|
+
- Group resources by type: `templates/`, `images/`, `locales/`
|
|
39
|
+
- Use consistent naming: lowercase, hyphens for spaces
|
|
40
|
+
- Keep related resources together
|
|
41
|
+
- Version large binary assets carefully (consider Git LFS)
|
|
42
|
+
<!-- AGENTS-GENERATED:END organization -->
|
|
43
|
+
|
|
44
|
+
<!-- AGENTS-GENERATED:START code-style -->
|
|
45
|
+
## Code style & conventions
|
|
46
|
+
- Use descriptive file names: `user-profile-template.html` not `template1.html`
|
|
47
|
+
- Keep templates simple - logic belongs in code, not templates
|
|
48
|
+
- Use consistent indentation in structured files (JSON, YAML, XML)
|
|
49
|
+
- Document template variables and their expected values
|
|
50
|
+
- Optimize images before committing (compress, resize)
|
|
51
|
+
<!-- AGENTS-GENERATED:END code-style -->
|
|
52
|
+
|
|
53
|
+
<!-- AGENTS-GENERATED:START templates -->
|
|
54
|
+
## Template best practices
|
|
55
|
+
- Use clear placeholder syntax: `{{variable}}` or `${variable}`
|
|
56
|
+
- Document all required variables in comments or README
|
|
57
|
+
- Keep templates focused - one purpose per template
|
|
58
|
+
- Use partials/includes for reusable components
|
|
59
|
+
<!-- AGENTS-GENERATED:END templates -->
|
|
60
|
+
|
|
61
|
+
<!-- AGENTS-GENERATED:START security -->
|
|
62
|
+
## Security & safety
|
|
63
|
+
- Never store secrets in resource files
|
|
64
|
+
- Validate all resource files that accept user input
|
|
65
|
+
- Sanitize template variables to prevent injection
|
|
66
|
+
- Review images/assets for embedded metadata (EXIF, etc.)
|
|
67
|
+
- Use CSP-safe inline styles when applicable
|
|
68
|
+
<!-- AGENTS-GENERATED:END security -->
|
|
69
|
+
|
|
70
|
+
<!-- AGENTS-GENERATED:START checklist -->
|
|
71
|
+
## PR/commit checklist
|
|
72
|
+
- [ ] File names are descriptive and consistent
|
|
73
|
+
- [ ] Images are optimized (compressed, correct size)
|
|
74
|
+
- [ ] Templates have documented variables
|
|
75
|
+
- [ ] No sensitive data in resources
|
|
76
|
+
- [ ] Structured files are valid (JSON, YAML syntax)
|
|
77
|
+
- [ ] Changes tested with consuming code
|
|
78
|
+
<!-- AGENTS-GENERATED:END checklist -->
|
|
79
|
+
|
|
80
|
+
<!-- AGENTS-GENERATED:START examples -->
|
|
81
|
+
## Patterns to Follow
|
|
82
|
+
> **Prefer looking at real code in this repo over generic examples.**
|
|
83
|
+
> See **Golden Samples** section above for files that demonstrate correct patterns.
|
|
84
|
+
<!-- AGENTS-GENERATED:END examples -->
|
|
85
|
+
|
|
86
|
+
<!-- AGENTS-GENERATED:START help -->
|
|
87
|
+
## When stuck
|
|
88
|
+
- Check how resources are consumed in the codebase
|
|
89
|
+
- Look for build/preprocessing scripts
|
|
90
|
+
- Review existing resources for patterns
|
|
91
|
+
- Check root AGENTS.md for project conventions
|
|
92
|
+
<!-- AGENTS-GENERATED:END help -->
|
|
93
|
+
|
|
94
|
+
## House Rules (project-specific)
|
|
95
|
+
<!-- This section is NOT auto-generated - add your project-specific rules here -->
|
|
96
|
+
{{HOUSE_RULES}}
|
|
@@ -0,0 +1,139 @@
|
|
|
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
|
+
- **Plugin manifest**: `.claude-plugin/plugin.json` (name, version, skills array, author URL)
|
|
23
|
+
- **Skills**: `skills/<name>/SKILL.md` — one per domain
|
|
24
|
+
- **Licensing**: Split MIT (code) + CC-BY-SA-4.0 (content) — entity: `Netresearch DTT GmbH`
|
|
25
|
+
- **CI**: Reusable workflows from `netresearch/skill-repo-skill` (`validate.yml`, `auto-merge-deps.yml`)
|
|
26
|
+
<!-- AGENTS-GENERATED:END setup -->
|
|
27
|
+
|
|
28
|
+
<!-- AGENTS-GENERATED:START structure -->
|
|
29
|
+
## Directory structure
|
|
30
|
+
```
|
|
31
|
+
.claude-plugin/
|
|
32
|
+
plugin.json → Plugin manifest (name, version, skills, author)
|
|
33
|
+
skills/
|
|
34
|
+
<skill-name>/
|
|
35
|
+
SKILL.md → Skill definition (max 500 words)
|
|
36
|
+
assets/ → Templates, scoped AGENTS.md templates
|
|
37
|
+
scripts/ → Shell scripts (bash 4.3+, ShellCheck clean)
|
|
38
|
+
references/ → Extended docs, golden samples, examples
|
|
39
|
+
checkpoints/ → Checkpoint definitions (YAML)
|
|
40
|
+
LICENSE-MIT → MIT license for code
|
|
41
|
+
LICENSE-CC-BY-SA-4.0 → CC-BY-SA-4.0 for content
|
|
42
|
+
.github/
|
|
43
|
+
workflows/
|
|
44
|
+
lint.yml → Calls skill-repo-skill validate.yml@main
|
|
45
|
+
auto-merge-deps.yml → Calls skill-repo-skill auto-merge-deps.yml@main
|
|
46
|
+
```
|
|
47
|
+
<!-- AGENTS-GENERATED:END structure -->
|
|
48
|
+
|
|
49
|
+
<!-- AGENTS-GENERATED:START commands -->
|
|
50
|
+
## Build & tests
|
|
51
|
+
{{LINT_LINE}}
|
|
52
|
+
{{VALIDATE_LINE}}
|
|
53
|
+
{{SHELLCHECK_LINE}}
|
|
54
|
+
<!-- AGENTS-GENERATED:END commands -->
|
|
55
|
+
|
|
56
|
+
<!-- AGENTS-GENERATED:START code-style -->
|
|
57
|
+
## Code style & conventions
|
|
58
|
+
|
|
59
|
+
### SKILL.md rules
|
|
60
|
+
- Max **500 words** — keep it focused and actionable
|
|
61
|
+
- Use `references/` for extended documentation (no word limit)
|
|
62
|
+
- Front matter: `name`, `description`, `license`, `compatibility`, `metadata`, `allowed-tools`
|
|
63
|
+
- Instructions are FOR AGENTS, not humans — be prescriptive, not descriptive
|
|
64
|
+
|
|
65
|
+
### plugin.json rules
|
|
66
|
+
- `version`: semver, bump on release
|
|
67
|
+
- `author.url`: must be a valid URL
|
|
68
|
+
- `skills[].name` must match directory name under `skills/`
|
|
69
|
+
|
|
70
|
+
### Shell scripts
|
|
71
|
+
- Shebang: `#!/usr/bin/env bash`
|
|
72
|
+
- `set -euo pipefail` at top
|
|
73
|
+
- ShellCheck clean (no suppressions without justification)
|
|
74
|
+
- Use `"$var"` quoting everywhere
|
|
75
|
+
|
|
76
|
+
### Templates
|
|
77
|
+
- Use `{{PLACEHOLDER}}` syntax — whole-line placeholders only
|
|
78
|
+
- Wrap auto-generated sections in `<!-- AGENTS-GENERATED:START name -->` / `<!-- AGENTS-GENERATED:END name -->`
|
|
79
|
+
|
|
80
|
+
### Licensing
|
|
81
|
+
- Entity name: **Netresearch DTT GmbH** (never "Netresearch GmbH & Co. KG")
|
|
82
|
+
- Code files (`.sh`, `.py`, `.json`): MIT
|
|
83
|
+
- Content files (`.md`, `.yaml`): CC-BY-SA-4.0
|
|
84
|
+
<!-- AGENTS-GENERATED:END code-style -->
|
|
85
|
+
|
|
86
|
+
<!-- AGENTS-GENERATED:START checkpoints -->
|
|
87
|
+
## Checkpoints (verification)
|
|
88
|
+
- `checkpoints.yaml` defines verifiable steps agents can run
|
|
89
|
+
- Each checkpoint: `name`, `command`, `expected` (exit code or output pattern)
|
|
90
|
+
- Agents run checkpoints after completing tasks to verify correctness
|
|
91
|
+
- Keep checkpoints fast (<10s each)
|
|
92
|
+
<!-- AGENTS-GENERATED:END checkpoints -->
|
|
93
|
+
|
|
94
|
+
<!-- AGENTS-GENERATED:START security -->
|
|
95
|
+
## Security & safety
|
|
96
|
+
- Never include secrets or credentials in skills
|
|
97
|
+
- Validate all user inputs in scripts
|
|
98
|
+
- Use placeholder values in examples: `your-api-key`, `example.com`
|
|
99
|
+
- Review generated content for sensitive information
|
|
100
|
+
- Shell scripts: quote all variables, avoid `eval` with user input
|
|
101
|
+
<!-- AGENTS-GENERATED:END security -->
|
|
102
|
+
|
|
103
|
+
<!-- AGENTS-GENERATED:START ci -->
|
|
104
|
+
## CI/CD
|
|
105
|
+
- **Validate workflow**: Runs on PR — markdown lint, YAML lint, ShellCheck, plugin.json schema
|
|
106
|
+
- **Auto-merge deps**: Merges Renovate/Dependabot PRs after CI passes
|
|
107
|
+
- Config files (`.markdownlint-cli2.jsonc`, `.yamllint.yml`) are per-repo; validate.yml provides defaults if missing
|
|
108
|
+
- **Releasing**: bump `plugin.json` version, create signed tag, push — release workflow handles the rest
|
|
109
|
+
<!-- AGENTS-GENERATED:END ci -->
|
|
110
|
+
|
|
111
|
+
<!-- AGENTS-GENERATED:START checklist -->
|
|
112
|
+
## PR/commit checklist
|
|
113
|
+
- [ ] SKILL.md is under 500 words
|
|
114
|
+
- [ ] `plugin.json` version bumped if releasing
|
|
115
|
+
- [ ] Shell scripts pass ShellCheck
|
|
116
|
+
- [ ] Templates use whole-line `{{PLACEHOLDER}}` syntax
|
|
117
|
+
- [ ] Golden samples exist for key patterns
|
|
118
|
+
- [ ] Checkpoints are verifiable (fast, deterministic)
|
|
119
|
+
- [ ] Entity name is "Netresearch DTT GmbH" in all license files
|
|
120
|
+
- [ ] No trailing blank lines in YAML files
|
|
121
|
+
<!-- AGENTS-GENERATED:END checklist -->
|
|
122
|
+
|
|
123
|
+
<!-- AGENTS-GENERATED:START examples -->
|
|
124
|
+
## Patterns to Follow
|
|
125
|
+
> **Prefer looking at real code in this repo over generic examples.**
|
|
126
|
+
> See **Golden Samples** section above for files that demonstrate correct patterns.
|
|
127
|
+
<!-- AGENTS-GENERATED:END examples -->
|
|
128
|
+
|
|
129
|
+
<!-- AGENTS-GENERATED:START help -->
|
|
130
|
+
## When stuck
|
|
131
|
+
- Check existing skill repos for patterns (e.g., `agent-rules-skill`, `go-development-skill`)
|
|
132
|
+
- Review `skill-repo-skill` for CI workflow definitions
|
|
133
|
+
- Test skills locally with `claude --skill <name>`
|
|
134
|
+
- Check root AGENTS.md for project conventions
|
|
135
|
+
<!-- AGENTS-GENERATED:END help -->
|
|
136
|
+
|
|
137
|
+
## House Rules (project-specific)
|
|
138
|
+
<!-- This section is NOT auto-generated - add your project-specific rules here -->
|
|
139
|
+
{{HOUSE_RULES}}
|