@event4u/agent-config 2.26.0 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agent-src/commands/agent-handoff.md +15 -3
- package/.agent-src/commands/agent-status.md +12 -0
- package/.agent-src/commands/agents/audit.md +12 -0
- package/.agent-src/commands/agents/init.md +12 -0
- package/.agent-src/commands/agents/optimize.md +12 -0
- package/.agent-src/commands/agents/user/accept.md +12 -0
- package/.agent-src/commands/agents/user/init.md +12 -0
- package/.agent-src/commands/agents/user/review.md +12 -0
- package/.agent-src/commands/agents/user/show.md +12 -0
- package/.agent-src/commands/agents/user/update.md +12 -0
- package/.agent-src/commands/agents/user.md +12 -0
- package/.agent-src/commands/agents.md +12 -0
- package/.agent-src/commands/analyze-reference-repo.md +15 -3
- package/.agent-src/commands/bug-fix.md +12 -0
- package/.agent-src/commands/bug-investigate.md +13 -1
- package/.agent-src/commands/challenge-me/vision.md +12 -0
- package/.agent-src/commands/challenge-me/with-docs.md +12 -0
- package/.agent-src/commands/challenge-me.md +12 -0
- package/.agent-src/commands/chat-history/import.md +16 -4
- package/.agent-src/commands/chat-history/learn.md +15 -3
- package/.agent-src/commands/chat-history/show.md +17 -5
- package/.agent-src/commands/chat-history.md +14 -2
- package/.agent-src/commands/check-current-md.md +12 -0
- package/.agent-src/commands/commit/in-chunks.md +12 -0
- package/.agent-src/commands/commit.md +12 -0
- package/.agent-src/commands/compress.md +12 -0
- package/.agent-src/commands/context/create.md +17 -5
- package/.agent-src/commands/context/refactor.md +15 -3
- package/.agent-src/commands/context.md +12 -0
- package/.agent-src/commands/cost-report.md +12 -0
- package/.agent-src/commands/council/analysis.md +15 -3
- package/.agent-src/commands/council/debate.md +17 -5
- package/.agent-src/commands/council/default.md +17 -5
- package/.agent-src/commands/council/design.md +12 -0
- package/.agent-src/commands/council/optimize.md +12 -0
- package/.agent-src/commands/council/pr.md +12 -0
- package/.agent-src/commands/council.md +13 -1
- package/.agent-src/commands/create-pr/description-only.md +12 -0
- package/.agent-src/commands/create-pr.md +39 -0
- package/.agent-src/commands/e2e-heal.md +12 -0
- package/.agent-src/commands/e2e-plan.md +12 -0
- package/.agent-src/commands/estimate-ticket.md +12 -0
- package/.agent-src/commands/feature/dev.md +13 -1
- package/.agent-src/commands/feature/explore.md +12 -0
- package/.agent-src/commands/feature/plan.md +14 -2
- package/.agent-src/commands/feature/refactor.md +12 -0
- package/.agent-src/commands/feature/roadmap.md +12 -0
- package/.agent-src/commands/feature.md +12 -0
- package/.agent-src/commands/fix/ci.md +12 -0
- package/.agent-src/commands/fix/portability.md +12 -0
- package/.agent-src/commands/fix/pr-bot-comments.md +12 -0
- package/.agent-src/commands/fix/pr-comments.md +12 -0
- package/.agent-src/commands/fix/pr-developer-comments.md +12 -0
- package/.agent-src/commands/fix/refs.md +12 -0
- package/.agent-src/commands/fix/seeder.md +12 -0
- package/.agent-src/commands/fix.md +12 -0
- package/.agent-src/commands/ghostwriter/delete.md +20 -8
- package/.agent-src/commands/ghostwriter/fetch.md +19 -7
- package/.agent-src/commands/ghostwriter/list.md +19 -7
- package/.agent-src/commands/ghostwriter/show.md +14 -2
- package/.agent-src/commands/ghostwriter/write.md +15 -3
- package/.agent-src/commands/ghostwriter.md +14 -2
- package/.agent-src/commands/grill-me.md +12 -0
- package/.agent-src/commands/implement-ticket.md +12 -0
- package/.agent-src/commands/install-via-agent.md +129 -0
- package/.agent-src/commands/jira-ticket.md +12 -0
- package/.agent-src/commands/judge/on-diff.md +12 -0
- package/.agent-src/commands/judge/solo.md +12 -0
- package/.agent-src/commands/judge/steps.md +12 -0
- package/.agent-src/commands/judge.md +12 -0
- package/.agent-src/commands/memory/add.md +12 -0
- package/.agent-src/commands/memory/learn-low-impact.md +18 -6
- package/.agent-src/commands/memory/load.md +12 -0
- package/.agent-src/commands/memory/mine-session.md +12 -0
- package/.agent-src/commands/memory/promote.md +12 -0
- package/.agent-src/commands/memory/propose.md +12 -0
- package/.agent-src/commands/memory.md +12 -0
- package/.agent-src/commands/mode.md +12 -0
- package/.agent-src/commands/module/create.md +12 -0
- package/.agent-src/commands/module/explore.md +13 -1
- package/.agent-src/commands/module.md +12 -0
- package/.agent-src/commands/optimize/agents-dir.md +14 -2
- package/.agent-src/commands/optimize/augmentignore.md +12 -0
- package/.agent-src/commands/optimize/rtk.md +12 -0
- package/.agent-src/commands/optimize/skills.md +12 -0
- package/.agent-src/commands/optimize-prompt.md +12 -0
- package/.agent-src/commands/optimize.md +12 -0
- package/.agent-src/commands/orchestrate.md +13 -1
- package/.agent-src/commands/override/create.md +12 -0
- package/.agent-src/commands/override/manage.md +12 -0
- package/.agent-src/commands/override.md +12 -0
- package/.agent-src/commands/package-reset.md +12 -0
- package/.agent-src/commands/package-test.md +12 -0
- package/.agent-src/commands/post-as/ghostwriter.md +12 -0
- package/.agent-src/commands/post-as/me.md +13 -1
- package/.agent-src/commands/post-as.md +12 -0
- package/.agent-src/commands/prepare-for-review.md +12 -0
- package/.agent-src/commands/project-analyze.md +27 -15
- package/.agent-src/commands/project-health.md +13 -1
- package/.agent-src/commands/quality-fix.md +12 -0
- package/.agent-src/commands/refine-ticket.md +12 -0
- package/.agent-src/commands/research/deep.md +12 -0
- package/.agent-src/commands/research/report.md +12 -0
- package/.agent-src/commands/research.md +12 -0
- package/.agent-src/commands/review-changes.md +12 -0
- package/.agent-src/commands/review-routing.md +12 -0
- package/.agent-src/commands/roadmap/ai-council.md +15 -3
- package/.agent-src/commands/roadmap/create.md +13 -1
- package/.agent-src/commands/roadmap/process-full.md +12 -0
- package/.agent-src/commands/roadmap/process-phase.md +12 -0
- package/.agent-src/commands/roadmap/process-step.md +12 -0
- package/.agent-src/commands/roadmap.md +12 -0
- package/.agent-src/commands/rule-compliance-audit.md +12 -0
- package/.agent-src/commands/set-cost-profile.md +12 -0
- package/.agent-src/commands/sync-agent-settings.md +12 -0
- package/.agent-src/commands/sync-gitignore/fix.md +32 -13
- package/.agent-src/commands/sync-gitignore.md +13 -1
- package/.agent-src/commands/tests/create.md +12 -0
- package/.agent-src/commands/tests/execute.md +12 -0
- package/.agent-src/commands/tests.md +12 -0
- package/.agent-src/commands/threat-model.md +12 -0
- package/.agent-src/commands/update-form-request-messages.md +12 -0
- package/.agent-src/commands/upstream-contribute.md +12 -0
- package/.agent-src/commands/video/from-script.md +13 -1
- package/.agent-src/commands/video/scene.md +12 -0
- package/.agent-src/commands/video/stitch.md +13 -1
- package/.agent-src/commands/video/storyboard.md +12 -0
- package/.agent-src/commands/video.md +13 -1
- package/.agent-src/commands/work.md +12 -0
- package/.agent-src/contexts/augment-infrastructure.md +2 -2
- package/.agent-src/contexts/authority/scope-mechanics.md +11 -0
- package/.agent-src/contexts/contracts/agents-md-anatomy.md +1 -1
- package/.agent-src/contexts/documentation-hierarchy.md +2 -2
- package/.agent-src/contexts/execution/cheap-question-mechanics.md +81 -0
- package/.agent-src/contexts/execution/roadmap-process-loop.md +19 -0
- package/.agent-src/ghostwriter/README.md +2 -2
- package/.agent-src/ghostwriter/fictional-fixture-v1.md +1 -1
- package/.agent-src/personas/README.md +1 -1
- package/.agent-src/personas/advisors/contrarian.md +1 -1
- package/.agent-src/personas/advisors/executor.md +1 -1
- package/.agent-src/personas/advisors/expansionist.md +1 -1
- package/.agent-src/personas/advisors/first-principles.md +1 -1
- package/.agent-src/personas/advisors/outsider.md +1 -1
- package/.agent-src/rules/agent-authority.md +12 -0
- package/.agent-src/rules/analysis-skill-routing.md +12 -0
- package/.agent-src/rules/architecture.md +13 -1
- package/.agent-src/rules/artifact-drafting-protocol.md +13 -1
- package/.agent-src/rules/artifact-engagement-recording.md +13 -1
- package/.agent-src/rules/ask-when-uncertain.md +12 -0
- package/.agent-src/rules/augment-edit-discipline.md +13 -1
- package/.agent-src/rules/augment-source-of-truth.md +13 -1
- package/.agent-src/rules/autonomous-execution.md +13 -1
- package/.agent-src/rules/caveman-speak.md +15 -3
- package/.agent-src/rules/cli-output-handling.md +13 -1
- package/.agent-src/rules/command-suggestion-policy.md +13 -1
- package/.agent-src/rules/commit-conventions.md +13 -1
- package/.agent-src/rules/commit-policy.md +12 -0
- package/.agent-src/rules/context-hygiene.md +51 -3
- package/.agent-src/rules/copilot-routing.md +13 -1
- package/.agent-src/rules/devcontainer-routing.md +13 -1
- package/.agent-src/rules/direct-answers.md +12 -0
- package/.agent-src/rules/docker-commands.md +13 -1
- package/.agent-src/rules/domain-adoption-policy.md +17 -5
- package/.agent-src/rules/domain-safety-disclaimer.md +13 -1
- package/.agent-src/rules/domain-safety-pii.md +13 -1
- package/.agent-src/rules/domain-safety-retention.md +13 -1
- package/.agent-src/rules/downstream-changes.md +13 -1
- package/.agent-src/rules/engineering-safety-floor.md +102 -0
- package/.agent-src/rules/external-reference-deep-dive.md +13 -1
- package/.agent-src/rules/fast-path-marker-visibility.md +21 -1
- package/.agent-src/rules/finance-safety-floor.md +114 -0
- package/.agent-src/rules/framework-neutrality-in-generic-skills.md +13 -1
- package/.agent-src/rules/git-history-discipline.md +14 -2
- package/.agent-src/rules/guidelines.md +12 -0
- package/.agent-src/rules/improve-before-implement.md +13 -1
- package/.agent-src/rules/invite-challenge.md +13 -1
- package/.agent-src/rules/language-and-tone.md +12 -0
- package/.agent-src/rules/laravel-routing.md +13 -1
- package/.agent-src/rules/laravel-translations.md +13 -1
- package/.agent-src/rules/low-impact-corpus-privacy-floor.md +17 -5
- package/.agent-src/rules/markdown-safe-codeblocks.md +13 -1
- package/.agent-src/rules/media-governance-routing.md +27 -15
- package/.agent-src/rules/minimal-safe-diff.md +13 -1
- package/.agent-src/rules/missing-tool-handling.md +13 -1
- package/.agent-src/rules/model-recommendation.md +13 -1
- package/.agent-src/rules/no-attribution-footers.md +13 -1
- package/.agent-src/rules/no-cheap-questions.md +46 -32
- package/.agent-src/rules/no-roadmap-references.md +28 -16
- package/.agent-src/rules/non-destructive-by-default.md +12 -0
- package/.agent-src/rules/onboarding-gate.md +19 -6
- package/.agent-src/rules/package-ci-checks.md +12 -0
- package/.agent-src/rules/persona-governance.md +13 -1
- package/.agent-src/rules/php-coding.md +13 -1
- package/.agent-src/rules/preservation-guard.md +13 -1
- package/.agent-src/rules/provider-lifecycle-discipline.md +18 -6
- package/.agent-src/rules/reviewer-awareness.md +13 -1
- package/.agent-src/rules/roadmap-ci-steps-policy.md +13 -1
- package/.agent-src/rules/roadmap-progress-sync.md +18 -1
- package/.agent-src/rules/role-mode-adherence.md +13 -1
- package/.agent-src/rules/rule-type-governance.md +13 -1
- package/.agent-src/rules/runtime-safety.md +13 -1
- package/.agent-src/rules/scope-control.md +12 -0
- package/.agent-src/rules/security-sensitive-stop.md +13 -1
- package/.agent-src/rules/size-enforcement.md +12 -0
- package/.agent-src/rules/skill-improvement-trigger.md +13 -1
- package/.agent-src/rules/skill-quality.md +13 -1
- package/.agent-src/rules/slash-command-routing-policy.md +13 -1
- package/.agent-src/rules/strategy-safety-floor.md +114 -0
- package/.agent-src/rules/symfony-routing.md +13 -1
- package/.agent-src/rules/think-before-action.md +13 -1
- package/.agent-src/rules/token-efficiency.md +13 -1
- package/.agent-src/rules/token-optimizer-maintenance.md +12 -0
- package/.agent-src/rules/tool-safety.md +13 -1
- package/.agent-src/rules/ui-audit-gate.md +13 -1
- package/.agent-src/rules/upstream-proposal.md +13 -1
- package/.agent-src/rules/user-interaction.md +13 -1
- package/.agent-src/rules/user-interrupt-priority.md +12 -0
- package/.agent-src/rules/verify-before-complete.md +12 -0
- package/.agent-src/skills/accessibility-auditor/SKILL.md +12 -0
- package/.agent-src/skills/activation-design/SKILL.md +12 -0
- package/.agent-src/skills/adr-create/SKILL.md +12 -0
- package/.agent-src/skills/adversarial-review/SKILL.md +12 -0
- package/.agent-src/skills/agent-docs-writing/SKILL.md +16 -4
- package/.agent-src/skills/agents-md-thin-root/SKILL.md +28 -10
- package/.agent-src/skills/ai-council/SKILL.md +28 -15
- package/.agent-src/skills/analysis-autonomous-mode/SKILL.md +12 -0
- package/.agent-src/skills/analysis-skill-router/SKILL.md +12 -0
- package/.agent-src/skills/api-design/SKILL.md +13 -3
- package/.agent-src/skills/api-endpoint/SKILL.md +12 -0
- package/.agent-src/skills/api-testing/SKILL.md +12 -0
- package/.agent-src/skills/architecture-review-lens/SKILL.md +12 -0
- package/.agent-src/skills/artisan-commands/SKILL.md +12 -0
- package/.agent-src/skills/async-python-patterns/SKILL.md +13 -1
- package/.agent-src/skills/authz-review/SKILL.md +12 -2
- package/.agent-src/skills/aws-infrastructure/SKILL.md +12 -0
- package/.agent-src/skills/blade-ui/SKILL.md +12 -0
- package/.agent-src/skills/blast-radius-analyzer/SKILL.md +12 -0
- package/.agent-src/skills/bug-analyzer/SKILL.md +14 -2
- package/.agent-src/skills/build-buy-partner/SKILL.md +12 -0
- package/.agent-src/skills/canvas-design/SKILL.md +12 -0
- package/.agent-src/skills/character-consistency/SKILL.md +23 -11
- package/.agent-src/skills/check-refs/SKILL.md +12 -0
- package/.agent-src/skills/churn-prevention/SKILL.md +12 -0
- package/.agent-src/skills/code-refactoring/SKILL.md +16 -4
- package/.agent-src/skills/code-review/SKILL.md +12 -0
- package/.agent-src/skills/command-routing/SKILL.md +12 -0
- package/.agent-src/skills/command-writing/SKILL.md +14 -2
- package/.agent-src/skills/comp-banding/SKILL.md +12 -0
- package/.agent-src/skills/competitive-moat-analysis/SKILL.md +12 -2
- package/.agent-src/skills/competitive-positioning/SKILL.md +12 -2
- package/.agent-src/skills/composer-packages/SKILL.md +12 -0
- package/.agent-src/skills/compress-memory/SKILL.md +12 -0
- package/.agent-src/skills/content-funnel-design/SKILL.md +12 -2
- package/.agent-src/skills/context-authoring/SKILL.md +18 -6
- package/.agent-src/skills/context-document/SKILL.md +17 -5
- package/.agent-src/skills/contracts-cognition/SKILL.md +12 -2
- package/.agent-src/skills/conventional-commits-writing/SKILL.md +12 -0
- package/.agent-src/skills/copilot-agents-optimization/SKILL.md +13 -1
- package/.agent-src/skills/copilot-config/SKILL.md +12 -0
- package/.agent-src/skills/customer-research/SKILL.md +12 -0
- package/.agent-src/skills/dashboard-design/SKILL.md +12 -0
- package/.agent-src/skills/data-flow-mapper/SKILL.md +12 -0
- package/.agent-src/skills/data-handling-judgment/SKILL.md +12 -2
- package/.agent-src/skills/database/SKILL.md +14 -2
- package/.agent-src/skills/dcf-modeling/SKILL.md +12 -2
- package/.agent-src/skills/deal-qualification-meddic/SKILL.md +12 -2
- package/.agent-src/skills/decision-record/SKILL.md +12 -0
- package/.agent-src/skills/deep-reading-analyst/SKILL.md +12 -0
- package/.agent-src/skills/defense-in-depth/SKILL.md +13 -1
- package/.agent-src/skills/dependency-upgrade/SKILL.md +12 -0
- package/.agent-src/skills/description-assist/SKILL.md +12 -0
- package/.agent-src/skills/design-review/SKILL.md +12 -0
- package/.agent-src/skills/devcontainer/SKILL.md +12 -0
- package/.agent-src/skills/developer-like-execution/SKILL.md +12 -0
- package/.agent-src/skills/discovery-interview/SKILL.md +12 -2
- package/.agent-src/skills/doc-coauthoring/SKILL.md +12 -0
- package/.agent-src/skills/docker/SKILL.md +12 -0
- package/.agent-src/skills/editorial-calendar/SKILL.md +12 -2
- package/.agent-src/skills/eloquent/SKILL.md +12 -0
- package/.agent-src/skills/eloquent/evals/triggers.json +1 -1
- package/.agent-src/skills/error-handling-patterns/SKILL.md +13 -1
- package/.agent-src/skills/estimate-ticket/SKILL.md +12 -0
- package/.agent-src/skills/existing-ui-audit/SKILL.md +12 -0
- package/.agent-src/skills/expansion-playbook/SKILL.md +12 -0
- package/.agent-src/skills/fe-design/SKILL.md +12 -0
- package/.agent-src/skills/feature-planning/SKILL.md +12 -0
- package/.agent-src/skills/file-editor/SKILL.md +12 -0
- package/.agent-src/skills/finishing-a-development-branch/SKILL.md +12 -0
- package/.agent-src/skills/flux/SKILL.md +12 -0
- package/.agent-src/skills/forecast-accuracy/SKILL.md +12 -2
- package/.agent-src/skills/forecasting/SKILL.md +12 -2
- package/.agent-src/skills/form-handler/SKILL.md +12 -0
- package/.agent-src/skills/fundraising-narrative/SKILL.md +12 -2
- package/.agent-src/skills/funnel-analysis/SKILL.md +12 -0
- package/.agent-src/skills/git-workflow/SKILL.md +12 -0
- package/.agent-src/skills/github-ci/SKILL.md +12 -0
- package/.agent-src/skills/grafana/SKILL.md +12 -0
- package/.agent-src/skills/gtm-launch/SKILL.md +12 -2
- package/.agent-src/skills/guideline-writing/SKILL.md +12 -0
- package/.agent-src/skills/hiring-loop-design/SKILL.md +12 -0
- package/.agent-src/skills/incident-commander/SKILL.md +12 -2
- package/.agent-src/skills/jira-integration/SKILL.md +12 -0
- package/.agent-src/skills/jobs-events/SKILL.md +12 -0
- package/.agent-src/skills/judge-bug-hunter/SKILL.md +12 -0
- package/.agent-src/skills/judge-code-quality/SKILL.md +12 -0
- package/.agent-src/skills/judge-security-auditor/SKILL.md +12 -0
- package/.agent-src/skills/judge-test-coverage/SKILL.md +12 -0
- package/.agent-src/skills/laravel/SKILL.md +12 -0
- package/.agent-src/skills/laravel-api-endpoint/SKILL.md +15 -3
- package/.agent-src/skills/laravel-dto/SKILL.md +14 -2
- package/.agent-src/skills/laravel-horizon/SKILL.md +12 -0
- package/.agent-src/skills/laravel-mail/SKILL.md +12 -0
- package/.agent-src/skills/laravel-middleware/SKILL.md +12 -0
- package/.agent-src/skills/laravel-migration/SKILL.md +12 -0
- package/.agent-src/skills/laravel-notifications/SKILL.md +12 -0
- package/.agent-src/skills/laravel-pennant/SKILL.md +12 -0
- package/.agent-src/skills/laravel-pulse/SKILL.md +12 -0
- package/.agent-src/skills/laravel-reverb/SKILL.md +12 -0
- package/.agent-src/skills/laravel-scheduling/SKILL.md +12 -0
- package/.agent-src/skills/laravel-validation/SKILL.md +12 -0
- package/.agent-src/skills/laravel-websocket/SKILL.md +12 -0
- package/.agent-src/skills/launch-readiness/SKILL.md +12 -2
- package/.agent-src/skills/learning-to-rule-or-skill/SKILL.md +15 -3
- package/.agent-src/skills/lint-skills/SKILL.md +12 -0
- package/.agent-src/skills/livewire/SKILL.md +12 -0
- package/.agent-src/skills/livewire-architect/SKILL.md +12 -0
- package/.agent-src/skills/logging-monitoring/SKILL.md +12 -0
- package/.agent-src/skills/market-entry-analysis/SKILL.md +12 -0
- package/.agent-src/skills/markitdown/SKILL.md +14 -2
- package/.agent-src/skills/mcp/SKILL.md +12 -0
- package/.agent-src/skills/mcp-builder/SKILL.md +14 -2
- package/.agent-src/skills/md-language-check/SKILL.md +13 -1
- package/.agent-src/skills/memory-consolidation/SKILL.md +12 -0
- package/.agent-src/skills/merge-conflicts/SKILL.md +12 -0
- package/.agent-src/skills/messaging-architecture/SKILL.md +12 -2
- package/.agent-src/skills/migration-architect/SKILL.md +12 -0
- package/.agent-src/skills/mobile-e2e-strategy/SKILL.md +12 -0
- package/.agent-src/skills/module-management/SKILL.md +12 -0
- package/.agent-src/skills/motion-choreographer/SKILL.md +16 -4
- package/.agent-src/skills/multi-tenancy/SKILL.md +14 -2
- package/.agent-src/skills/nextjs-patterns/SKILL.md +12 -0
- package/.agent-src/skills/okr-tree-modeling/SKILL.md +12 -2
- package/.agent-src/skills/onboarding-design/SKILL.md +12 -0
- package/.agent-src/skills/onboarding-program/SKILL.md +12 -0
- package/.agent-src/skills/one-on-one-cadence/SKILL.md +12 -0
- package/.agent-src/skills/openapi/SKILL.md +13 -1
- package/.agent-src/skills/org-design/SKILL.md +12 -0
- package/.agent-src/skills/override-management/SKILL.md +12 -0
- package/.agent-src/skills/perf-feedback-craft/SKILL.md +12 -0
- package/.agent-src/skills/performance/SKILL.md +12 -0
- package/.agent-src/skills/performance-analysis/SKILL.md +12 -0
- package/.agent-src/skills/persona-writing/SKILL.md +12 -0
- package/.agent-src/skills/pest-testing/SKILL.md +12 -0
- package/.agent-src/skills/php-coder/SKILL.md +12 -0
- package/.agent-src/skills/php-debugging/SKILL.md +12 -0
- package/.agent-src/skills/php-service/SKILL.md +12 -0
- package/.agent-src/skills/pipeline-strategy/SKILL.md +12 -2
- package/.agent-src/skills/pixar-storyteller/SKILL.md +17 -5
- package/.agent-src/skills/playwright-architect/SKILL.md +12 -2
- package/.agent-src/skills/playwright-testing/SKILL.md +12 -0
- package/.agent-src/skills/po-discovery/SKILL.md +12 -0
- package/.agent-src/skills/positioning-strategy/SKILL.md +12 -0
- package/.agent-src/skills/privacy-review/SKILL.md +12 -2
- package/.agent-src/skills/project-analysis-core/SKILL.md +12 -0
- package/.agent-src/skills/project-analysis-hypothesis-driven/SKILL.md +12 -0
- package/.agent-src/skills/project-analysis-laravel/SKILL.md +12 -0
- package/.agent-src/skills/project-analysis-nextjs/SKILL.md +12 -0
- package/.agent-src/skills/project-analysis-node-express/SKILL.md +12 -0
- package/.agent-src/skills/project-analysis-react/SKILL.md +12 -0
- package/.agent-src/skills/project-analysis-symfony/SKILL.md +12 -0
- package/.agent-src/skills/project-analysis-zend-laminas/SKILL.md +12 -0
- package/.agent-src/skills/project-analyzer/SKILL.md +30 -18
- package/.agent-src/skills/project-docs/SKILL.md +25 -13
- package/.agent-src/skills/prompt-engineering-patterns/SKILL.md +13 -1
- package/.agent-src/skills/prompt-optimizer/SKILL.md +13 -1
- package/.agent-src/skills/quality-tools/SKILL.md +12 -2
- package/.agent-src/skills/react-native-setup/SKILL.md +12 -0
- package/.agent-src/skills/react-shadcn-ui/SKILL.md +12 -0
- package/.agent-src/skills/readme-reviewer/SKILL.md +64 -3
- package/.agent-src/skills/readme-writing/SKILL.md +64 -4
- package/.agent-src/skills/readme-writing-package/SKILL.md +60 -5
- package/.agent-src/skills/receiving-code-review/SKILL.md +12 -0
- package/.agent-src/skills/refine-prompt/SKILL.md +13 -1
- package/.agent-src/skills/refine-ticket/SKILL.md +14 -2
- package/.agent-src/skills/refine-ticket/detection-map.yml +2 -2
- package/.agent-src/skills/release-comms/SKILL.md +12 -2
- package/.agent-src/skills/repomix-packer/SKILL.md +13 -1
- package/.agent-src/skills/requesting-code-review/SKILL.md +12 -0
- package/.agent-src/skills/retention-loops/SKILL.md +12 -0
- package/.agent-src/skills/review-routing/SKILL.md +12 -0
- package/.agent-src/skills/rice-prioritization/SKILL.md +12 -0
- package/.agent-src/skills/risk-officer/SKILL.md +12 -0
- package/.agent-src/skills/roadmap-management/SKILL.md +12 -0
- package/.agent-src/skills/roadmap-writing/SKILL.md +12 -0
- package/.agent-src/skills/rtk-output-filtering/SKILL.md +12 -0
- package/.agent-src/skills/rule-refactor/SKILL.md +15 -3
- package/.agent-src/skills/rule-writing/SKILL.md +13 -1
- package/.agent-src/skills/runway-cognition/SKILL.md +12 -2
- package/.agent-src/skills/scenario-modeling/SKILL.md +12 -2
- package/.agent-src/skills/scene-expander/SKILL.md +18 -6
- package/.agent-src/skills/script-writing/SKILL.md +13 -1
- package/.agent-src/skills/secrets-management/SKILL.md +13 -3
- package/.agent-src/skills/security/SKILL.md +12 -0
- package/.agent-src/skills/security-audit/SKILL.md +12 -0
- package/.agent-src/skills/sentry-integration/SKILL.md +12 -0
- package/.agent-src/skills/sequential-thinking/SKILL.md +12 -0
- package/.agent-src/skills/skill-improvement-pipeline/SKILL.md +12 -0
- package/.agent-src/skills/skill-management/SKILL.md +12 -0
- package/.agent-src/skills/skill-reviewer/SKILL.md +12 -0
- package/.agent-src/skills/skill-writing/SKILL.md +12 -0
- package/.agent-src/skills/sql-writing/SKILL.md +12 -0
- package/.agent-src/skills/stakeholder-tradeoff/SKILL.md +12 -0
- package/.agent-src/skills/subagent-orchestration/SKILL.md +13 -1
- package/.agent-src/skills/symfony-workflow/SKILL.md +12 -0
- package/.agent-src/skills/systematic-debugging/SKILL.md +53 -0
- package/.agent-src/skills/tailwind-engineer/SKILL.md +12 -0
- package/.agent-src/skills/tech-debt-tracker/SKILL.md +12 -2
- package/.agent-src/skills/technical-specification/SKILL.md +12 -0
- package/.agent-src/skills/terraform/SKILL.md +12 -0
- package/.agent-src/skills/terragrunt/SKILL.md +12 -0
- package/.agent-src/skills/test-driven-development/SKILL.md +12 -0
- package/.agent-src/skills/test-performance/SKILL.md +13 -1
- package/.agent-src/skills/testing-anti-patterns/SKILL.md +13 -1
- package/.agent-src/skills/threat-modeling/SKILL.md +12 -0
- package/.agent-src/skills/throughput-vs-morale-tradeoff/SKILL.md +12 -0
- package/.agent-src/skills/token-optimizer/SKILL.md +12 -0
- package/.agent-src/skills/traefik/SKILL.md +12 -0
- package/.agent-src/skills/ui-component-architect/SKILL.md +12 -0
- package/.agent-src/skills/unit-economics-modeling/SKILL.md +12 -2
- package/.agent-src/skills/universal-project-analysis/SKILL.md +12 -0
- package/.agent-src/skills/upstream-contribute/SKILL.md +12 -0
- package/.agent-src/skills/using-git-worktrees/SKILL.md +12 -0
- package/.agent-src/skills/validate-feature-fit/SKILL.md +12 -0
- package/.agent-src/skills/verify-completion-evidence/SKILL.md +12 -0
- package/.agent-src/skills/video-director/SKILL.md +18 -6
- package/.agent-src/skills/vision-articulation/SKILL.md +12 -0
- package/.agent-src/skills/voc-extract/SKILL.md +12 -2
- package/.agent-src/skills/voice-and-tone-design/SKILL.md +12 -2
- package/.agent-src/templates/agent-settings.md +5 -5
- package/.agent-src/templates/agents/agent-project-settings.example.yml +1 -1
- package/.agent-src/templates/agents/memory/ownership.example.yml +1 -1
- package/.agent-src/templates/agents/proposal.example.md +12 -0
- package/.agent-src/templates/command.md +1 -1
- package/.agent-src/templates/contexts/auth-model.md +2 -2
- package/.agent-src/templates/contexts/data-sensitivity.md +3 -3
- package/.agent-src/templates/contexts/deployment-order.md +2 -2
- package/.agent-src/templates/contexts/observability.md +3 -3
- package/.agent-src/templates/contexts/tenant-boundaries.md +3 -3
- package/.agent-src/templates/contexts.md +1 -1
- package/.agent-src/templates/hooks/pre-commit-frontmatter +66 -0
- package/.agent-src/templates/hooks/pre-commit-roadmap-progress +78 -39
- package/.agent-src/templates/rule.md +1 -1
- package/.agent-src/templates/scripts/work_engine/_lib/agent_settings.py +7 -4
- package/.agent-src/templates/scripts/work_engine/cli.py +6 -6
- package/.agent-src/templates/scripts/work_engine/emitters.py +29 -4
- package/.agent-src/templates/scripts/work_engine/hooks/builtin/decision_trace.py +3 -3
- package/.agent-src/templates/scripts/work_engine/orchestration.py +25 -11
- package/.agent-src/templates/scripts/work_engine/state.py +53 -0
- package/.agent-src/templates/skill-archive-note.md +4 -4
- package/.claude-plugin/marketplace.json +2 -2
- package/AGENTS.md +12 -9
- package/CHANGELOG.md +268 -90
- package/CONTRIBUTING.md +61 -0
- package/README.md +173 -558
- package/config/agent-settings.template.yml +11 -8
- package/config/discovery/packs.yml +162 -0
- package/config/discovery/unassigned-artefacts.yml +68 -0
- package/config/discovery/workspaces.yml +59 -0
- package/config/gitignore-block.txt +36 -23
- package/dist/cli/agent-config.js +199 -0
- package/dist/cli/agent-config.js.map +1 -0
- package/dist/cli/bash/runBash.js +40 -0
- package/dist/cli/bash/runBash.js.map +1 -0
- package/dist/cli/commands/doctorShell.js +91 -0
- package/dist/cli/commands/doctorShell.js.map +1 -0
- package/dist/cli/commands/packs.js +59 -0
- package/dist/cli/commands/packs.js.map +1 -0
- package/dist/cli/commands/settings.js +35 -0
- package/dist/cli/commands/settings.js.map +1 -0
- package/dist/cli/commands/uiServe.js +119 -0
- package/dist/cli/commands/uiServe.js.map +1 -0
- package/dist/cli/commands/versions.js +64 -0
- package/dist/cli/commands/versions.js.map +1 -0
- package/dist/cli/commands/workspaces.js +58 -0
- package/dist/cli/commands/workspaces.js.map +1 -0
- package/dist/cli/discovery/loadManifest.js +62 -0
- package/dist/cli/discovery/loadManifest.js.map +1 -0
- package/dist/cli/log/logger.js +41 -0
- package/dist/cli/log/logger.js.map +1 -0
- package/dist/cli/paths.js +60 -0
- package/dist/cli/paths.js.map +1 -0
- package/dist/cli/python/resolvePython.js +38 -0
- package/dist/cli/python/resolvePython.js.map +1 -0
- package/dist/cli/registry.js +77 -0
- package/dist/cli/registry.js.map +1 -0
- package/dist/discovery/deprecation-report.md +7 -0
- package/dist/discovery/discovery-manifest.json +9893 -0
- package/dist/discovery/discovery-manifest.json.sha256 +1 -0
- package/dist/discovery/discovery-manifest.summary.md +93 -0
- package/dist/discovery/orphan-report.md +10 -0
- package/dist/discovery/packs.json +1002 -0
- package/dist/discovery/trust-report.md +26 -0
- package/dist/discovery/workspaces.json +705 -0
- package/dist/mcp/awesome-mcp-servers.row.md +1 -0
- package/dist/mcp/mcp-cloudflare-catalogue.json +27 -0
- package/dist/mcp/registry-manifest.json +63 -0
- package/dist/router.json +1623 -0
- package/dist/server/app.js +125 -0
- package/dist/server/app.js.map +1 -0
- package/dist/server/io/atomicMultiWrite.js +204 -0
- package/dist/server/io/atomicMultiWrite.js.map +1 -0
- package/dist/server/io/atomicWrite.js +79 -0
- package/dist/server/io/atomicWrite.js.map +1 -0
- package/dist/server/io/substituteTemplate.js +87 -0
- package/dist/server/io/substituteTemplate.js.map +1 -0
- package/dist/server/io/yamlIO.js +162 -0
- package/dist/server/io/yamlIO.js.map +1 -0
- package/dist/server/port.js +97 -0
- package/dist/server/port.js.map +1 -0
- package/dist/server/routes/discovery.js +72 -0
- package/dist/server/routes/discovery.js.map +1 -0
- package/dist/server/routes/ping.js +57 -0
- package/dist/server/routes/ping.js.map +1 -0
- package/dist/server/routes/schema.js +41 -0
- package/dist/server/routes/schema.js.map +1 -0
- package/dist/server/routes/settings.js +236 -0
- package/dist/server/routes/settings.js.map +1 -0
- package/dist/server/routes/userMd.js +127 -0
- package/dist/server/routes/userMd.js.map +1 -0
- package/dist/server/routes/wizard.js +374 -0
- package/dist/server/routes/wizard.js.map +1 -0
- package/dist/server/schemas/settings.js +137 -0
- package/dist/server/schemas/settings.js.map +1 -0
- package/dist/server/token.js +75 -0
- package/dist/server/token.js.map +1 -0
- package/dist/server/writeRoot.js +84 -0
- package/dist/server/writeRoot.js.map +1 -0
- package/dist/server/writeRoot.test.js +91 -0
- package/dist/server/writeRoot.test.js.map +1 -0
- package/dist/shared/userMd/formAdapter.js +83 -0
- package/dist/shared/userMd/formAdapter.js.map +1 -0
- package/dist/shared/userMd/schema.js +46 -0
- package/dist/shared/userMd/schema.js.map +1 -0
- package/dist/shared/userMd/utils.js +88 -0
- package/dist/shared/userMd/utils.js.map +1 -0
- package/dist/ui/assets/index-D-DY1ywI.js +35 -0
- package/dist/ui/assets/index-D-DY1ywI.js.map +1 -0
- package/dist/ui/assets/index-Dqfhmg-d.css +1 -0
- package/dist/ui/index.html +14 -0
- package/docs/adrs/caveman/0001-default-off-until-bench.md +2 -2
- package/docs/adrs/cost/0001-hard-stop-hook.md +1 -1
- package/docs/adrs/router/0001-three-tier-routing.md +5 -5
- package/docs/adrs/schema/0001-json-schema-frontmatter.md +4 -4
- package/docs/adrs/schema/README.md +1 -1
- package/docs/adrs/smoke/0001-per-tier-smoke-scripts.md +3 -3
- package/docs/architecture/setup-vs-settings-shared-surface.md +114 -0
- package/docs/architecture.md +3 -2
- package/docs/archive/CHANGELOG-pre-2.2.0.md +7 -7
- package/docs/archive/CHANGELOG-pre-3.0.0.md +130 -0
- package/docs/archive/CHANGELOG-pre-3.1.0.md +167 -0
- package/docs/catalog.md +92 -100
- package/docs/contracts/CHANGELOG-conventions.md +1 -1
- package/docs/contracts/STABILITY.md +1 -1
- package/docs/contracts/adr-architectural-consensus-mechanism.md +5 -5
- package/docs/contracts/adr-chat-history-split.md +1 -1
- package/docs/contracts/adr-implement-ticket-runtime.md +1 -1
- package/docs/contracts/adr-install-user-type-axis.md +1 -1
- package/docs/contracts/adr-mcp-runtime.md +2 -2
- package/docs/contracts/agent-user-schema.md +17 -11
- package/docs/contracts/ai-council-config.md +13 -13
- package/docs/contracts/audit-log-v1.md +2 -2
- package/docs/contracts/command-clusters.md +2 -2
- package/docs/contracts/compression-default-kill-criterion.md +3 -3
- package/docs/contracts/consumer-bridge.md +79 -0
- package/docs/contracts/decision-trace-v1.md +5 -5
- package/docs/contracts/discovery-manifest.md +209 -0
- package/docs/contracts/discovery-manifest.schema.json +219 -0
- package/docs/contracts/explain-trace.schema.json +144 -0
- package/docs/contracts/file-ownership-matrix.json +288 -328
- package/docs/contracts/file-ownership-matrix.md +1 -1
- package/docs/contracts/frontmatter-contract.md +140 -0
- package/docs/contracts/ghostwriter-schema.md +3 -3
- package/docs/contracts/gui-wizard.md +223 -0
- package/docs/contracts/hook-architecture-v1.md +10 -10
- package/docs/contracts/installer-agent-mode.md +137 -0
- package/docs/contracts/kernel-membership.md +5 -5
- package/docs/contracts/linter-structural-model.md +3 -3
- package/docs/contracts/load-context-schema.md +5 -5
- package/docs/contracts/local-server-api.md +134 -0
- package/docs/contracts/low-impact-corpus-format.md +1 -1
- package/docs/contracts/mcp-cloud-scope.md +2 -2
- package/docs/contracts/mcp-discovery-phase-notice.md +1 -1
- package/docs/contracts/mcp-phase-1-scope.md +5 -4
- package/docs/contracts/mcp-registry-manifest.schema.json +129 -0
- package/docs/contracts/mcp-tool-inventory.md +9 -9
- package/docs/contracts/mcp-tool-stub-envelope.md +1 -1
- package/docs/contracts/memory-visibility-v1.md +2 -2
- package/docs/contracts/multi-tool-projection-fidelity.md +3 -3
- package/docs/contracts/namespace.md +7 -7
- package/docs/contracts/one-off-script-lifecycle.md +1 -1
- package/docs/contracts/package-self-orientation.md +1 -1
- package/docs/contracts/provider-lifecycle.md +7 -7
- package/docs/contracts/router-blending.md +1 -1
- package/docs/contracts/rule-classification.md +2 -2
- package/docs/contracts/rule-router.md +4 -4
- package/docs/contracts/settings-api.md +207 -0
- package/docs/contracts/settings-gui-agent-mode.schema.json +128 -0
- package/docs/contracts/smoke-contracts.md +3 -3
- package/docs/contracts/tier-3-contrib-plugin.md +1 -1
- package/docs/contracts/trust-and-safety.md +144 -0
- package/docs/contracts/universal-skills.md +1 -1
- package/docs/contracts/write-engine.md +1 -1
- package/docs/customization.md +139 -13
- package/docs/decisions/ADR-001-kernel-swap-deferred.md +1 -1
- package/docs/decisions/ADR-002-kernel-bucket-overrides.md +1 -1
- package/docs/decisions/ADR-004-rule-governance-pruning.md +8 -8
- package/docs/decisions/ADR-006-skill-tools-python-pilot.md +5 -5
- package/docs/decisions/ADR-007-agent-discovery-scopes.md +16 -4
- package/docs/decisions/ADR-008-installed-tools-manifest.md +2 -2
- package/docs/decisions/ADR-010-profile-pack-preset-boundary.md +2 -2
- package/docs/decisions/ADR-011-domain-pack-readiness.md +4 -4
- package/docs/decisions/ADR-012-typescript-cli-shell.md +162 -0
- package/docs/decisions/ADR-013-discovery-frontmatter-contract.md +234 -0
- package/docs/decisions/ADR-014-gui-framework-choice.md +136 -0
- package/docs/decisions/ADR-015-discovery-manifest-contract.md +146 -0
- package/docs/decisions/ADR-016-installer-architecture.md +189 -0
- package/docs/decisions/ADR-017-monorepo-physical-layout.md +261 -0
- package/docs/decisions/ADR-018-trust-and-safety-layer.md +159 -0
- package/docs/decisions/ADR-019-router-json-dist-location.md +124 -0
- package/docs/decisions/ADR-020-global-only-consumer-scope.md +123 -0
- package/docs/decisions/ADR-021-deployment-shape.md +153 -0
- package/docs/decisions/ADR-rule-kernel-and-router.md +2 -2
- package/docs/decisions/INDEX.md +10 -0
- package/docs/deploy/connector-setup.md +129 -0
- package/docs/deploy/env-vars.md +70 -0
- package/docs/deploy/policy-cookbook.md +130 -0
- package/docs/deploy/quickstart.md +112 -0
- package/docs/distribution/mcp-submission-checklist.md +95 -0
- package/docs/distribution/public-install-smoke.md +68 -0
- package/docs/distribution/registries.md +55 -0
- package/docs/distribution/telemetry-privacy.md +128 -0
- package/docs/distribution/telemetry-schema.md +174 -0
- package/docs/distribution/topics-equivalents-decay-policy.md +51 -0
- package/docs/examples/agent-user.example.md +3 -1
- package/docs/featured-skills.md +95 -0
- package/docs/getting-started-by-role.md +19 -1
- package/docs/getting-started.md +5 -4
- package/docs/guidelines/agent-infra/ask-when-uncertain-demos.md +1 -1
- package/docs/guidelines/agent-infra/installed-tools-manifest.md +11 -8
- package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +10 -1
- package/docs/guidelines/agent-infra/rule-type-governance.md +2 -2
- package/docs/guidelines/agent-infra/tool-integration.md +1 -1
- package/docs/guidelines/docs/readme-size-and-splitting.md +53 -1
- package/docs/guidelines/php/api-design.md +1 -1
- package/docs/guidelines/prompt-templates.md +2 -2
- package/docs/hook-payload-capture.md +3 -3
- package/docs/installation.md +39 -18
- package/docs/maintainers/dev-mode.md +105 -0
- package/docs/migrations/commands-1.15.0.md +3 -3
- package/docs/parity/bench-ruflo.json +1 -1
- package/docs/parity/ruflo.md +3 -3
- package/docs/profiles.md +1 -1
- package/docs/quality.md +2 -2
- package/docs/recruits/_template.md +3 -3
- package/docs/setup/enterprise-and-offline.md +3 -3
- package/docs/setup/mcp-server-docker.md +5 -3
- package/docs/setup/per-ide/claude-desktop.md +3 -2
- package/docs/skills-catalog.md +62 -18
- package/docs/wizard.md +156 -0
- package/llms.txt +61 -17
- package/package.json +63 -3
- package/scripts/__pycache__/validate_frontmatter.cpython-312.pyc +0 -0
- package/scripts/_archive/README.md +2 -2
- package/scripts/_archive/_p4_migrate.py +1 -1
- package/scripts/_cli/cmd_doctor.py +155 -7
- package/scripts/_cli/cmd_explain.py +108 -3
- package/scripts/_cli/cmd_migrate.py +2 -2
- package/scripts/_cli/cmd_migrate_to_global.py +415 -0
- package/scripts/_cli/cmd_settings_migrate.py +146 -0
- package/scripts/_cli/explain_last/__init__.py +122 -0
- package/scripts/_cli/explain_last/assumptions.py +59 -0
- package/scripts/_cli/explain_last/council.py +105 -0
- package/scripts/_cli/explain_last/halt.py +44 -0
- package/scripts/_cli/explain_last/inputs.py +125 -0
- package/scripts/_cli/explain_last/memory.py +94 -0
- package/scripts/_cli/explain_last/provider.py +52 -0
- package/scripts/_cli/explain_last/render.py +52 -0
- package/scripts/_cli/explain_last/route.py +59 -0
- package/scripts/_cli/explain_last/scrubber.py +105 -0
- package/scripts/_cli/explain_last/sections/__init__.py +35 -0
- package/scripts/_cli/explain_last/sections/assumptions.py +21 -0
- package/scripts/_cli/explain_last/sections/council.py +27 -0
- package/scripts/_cli/explain_last/sections/halt.py +31 -0
- package/scripts/_cli/explain_last/sections/header.py +24 -0
- package/scripts/_cli/explain_last/sections/inputs.py +27 -0
- package/scripts/_cli/explain_last/sections/memory.py +21 -0
- package/scripts/_cli/explain_last/sections/pack.py +16 -0
- package/scripts/_cli/explain_last/sections/provider.py +26 -0
- package/scripts/_cli/explain_last/sections/route.py +22 -0
- package/scripts/_cli/explain_last/state_loader.py +76 -0
- package/scripts/_dispatch.bash +987 -0
- package/scripts/_lib/__pycache__/__init__.cpython-312.pyc +0 -0
- package/scripts/_lib/__pycache__/agent_src.cpython-312.pyc +0 -0
- package/scripts/_lib/agent_settings.py +7 -4
- package/scripts/_lib/agent_src.py +157 -0
- package/scripts/_lib/agents_overlay.py +3 -3
- package/scripts/_phase4_bucket.py +210 -0
- package/scripts/agent-config +50 -947
- package/scripts/ai-video/adapters/higgsfield.sh +1 -1
- package/scripts/ai-video/adapters/sora.sh +1 -1
- package/scripts/ai-video/test-pipeline.sh +2 -2
- package/scripts/ai_council/_default_prices.py +5 -5
- package/scripts/ai_council/advisors.py +1 -1
- package/scripts/ai_council/clients.py +2 -2
- package/scripts/ai_council/compile_corpus.py +9 -8
- package/scripts/ai_council/config.py +3 -3
- package/scripts/ai_council/events_log.py +8 -4
- package/scripts/ai_council/low_impact_corpus.py +1 -1
- package/scripts/ai_council/low_impact_intake.py +1 -1
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_budget_v2_audit.py +2 -2
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_structural_optimization.py +1 -1
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_tier_retrofit.py +3 -3
- package/scripts/ai_council/pricing.py +8 -7
- package/scripts/ai_council/probation_gate.py +1 -1
- package/scripts/ai_council/redact_low_impact_entry.py +1 -1
- package/scripts/ai_council/session.py +13 -13
- package/scripts/ai_council/shadow_dispatch.py +2 -2
- package/scripts/annotate_discovery.py +149 -0
- package/scripts/audit_adr_coverage.py +1 -1
- package/scripts/audit_auto_rules.py +2 -2
- package/scripts/audit_cloud_compatibility.py +1 -1
- package/scripts/audit_command_surface.py +2 -2
- package/scripts/audit_likelihood.py +4 -4
- package/scripts/audit_overlap.py +3 -3
- package/scripts/audit_skill_descriptions.py +18 -6
- package/scripts/audit_user_type_axis.py +1 -1
- package/scripts/build_discovery_manifest.py +658 -0
- package/scripts/build_mcp_registry_manifest.py +181 -0
- package/scripts/build_rule_trigger_matrix.py +2 -2
- package/scripts/capture_showcase_session.py +1 -1
- package/scripts/chat_history.py +5 -5
- package/scripts/check_always_budget.py +7 -2
- package/scripts/check_artefact_checksums.py +104 -0
- package/scripts/check_cluster_patterns.py +20 -4
- package/scripts/check_command_count_messaging.py +33 -14
- package/scripts/check_council_layout.py +26 -20
- package/scripts/check_council_references.py +53 -14
- package/scripts/check_discovery_determinism.py +70 -0
- package/scripts/check_kernel_rule_bundle.py +2 -2
- package/scripts/check_no_roadmap_refs.py +2 -2
- package/scripts/check_one_off_location.py +1 -1
- package/scripts/check_overlay_cascade_subdirs.py +7 -3
- package/scripts/check_public_links.py +2 -2
- package/scripts/check_references.py +19 -23
- package/scripts/check_release_includes_discovery.py +61 -0
- package/scripts/check_reply_consistency.py +32 -9
- package/scripts/check_template_pin_drift.py +24 -7
- package/scripts/check_token_optimizer_freshness.py +18 -3
- package/scripts/ci_summary.py +2 -2
- package/scripts/ci_time_ratio.py +1 -1
- package/scripts/command_suggester/__init__.py +1 -1
- package/scripts/compile_router.py +34 -2
- package/scripts/compress.py +162 -44
- package/scripts/config/presets.py +19 -1
- package/scripts/config/profiles.py +16 -1
- package/scripts/context_hygiene_hook.py +2 -2
- package/scripts/council_cli.py +22 -22
- package/scripts/council_prune.py +3 -3
- package/scripts/discovery_stats.py +70 -0
- package/scripts/expected_perms.json +47 -0
- package/scripts/extract_audit_patterns.py +2 -2
- package/scripts/gen_discovery_baseline.py +127 -0
- package/scripts/generate_index.py +78 -46
- package/scripts/generate_ownership_matrix.py +99 -44
- package/scripts/generate_pack_manifests.py +183 -0
- package/scripts/hook_manifest.yaml +5 -5
- package/scripts/hooks/cline-dispatcher.sh +1 -1
- package/scripts/hooks/cowork-dispatcher.sh +1 -1
- package/scripts/hooks/dispatch_hook.py +3 -3
- package/scripts/hooks/gemini-dispatcher.sh +1 -1
- package/scripts/hooks/replay_hook.py +1 -1
- package/scripts/hooks/state_io.py +5 -5
- package/scripts/hooks_doctor.py +4 -4
- package/scripts/install +18 -1
- package/scripts/install-hooks.sh +2 -2
- package/scripts/install.py +937 -62
- package/scripts/install.sh +147 -27
- package/scripts/inventory_frontmatter.py +1 -1
- package/scripts/lint_agents_layout.py +183 -0
- package/scripts/lint_agents_md.py +1 -1
- package/scripts/lint_archived_skills.py +35 -19
- package/scripts/lint_artefact_frontmatter.py +180 -0
- package/scripts/lint_bench_corpus.py +14 -2
- package/scripts/lint_command_tiers.py +15 -2
- package/scripts/lint_discovery_manifest.py +136 -0
- package/scripts/lint_discovery_vocabulary.py +148 -0
- package/scripts/lint_explain_trace.py +80 -0
- package/scripts/lint_featured_skills.py +139 -0
- package/scripts/lint_framework_leakage.py +33 -6
- package/scripts/lint_framework_leakage_allowlist.json +63 -62
- package/scripts/lint_ghostwriter_source.py +1 -1
- package/scripts/lint_global_paths.py +147 -0
- package/scripts/lint_load_context.py +3 -3
- package/scripts/lint_mcp_registry_manifest.py +69 -0
- package/scripts/lint_media_policy_linkage.py +6 -6
- package/scripts/lint_orchestration_dsl.py +6 -3
- package/scripts/lint_pack_boundaries.py +147 -0
- package/scripts/lint_pack_first_win.py +103 -0
- package/scripts/lint_positioning.py +143 -0
- package/scripts/lint_readme_jargon.py +131 -0
- package/scripts/lint_readme_size.py +33 -0
- package/scripts/lint_rule_interactions.py +23 -5
- package/scripts/lint_rule_tiers.py +14 -5
- package/scripts/lint_skill_tools.py +1 -1
- package/scripts/lint_topics_yaml.py +89 -0
- package/scripts/lint_trust_coherence.py +212 -0
- package/scripts/mcp_server/consumer_tool_catalog.json +3 -3
- package/scripts/mcp_server/telemetry.py +2 -2
- package/scripts/mcp_server/tools.py +27 -11
- package/scripts/mcp_telemetry_health.py +2 -2
- package/scripts/mcp_telemetry_store.py +1 -1
- package/scripts/measure_augment_budget.py +3 -3
- package/scripts/measure_density.py +2 -2
- package/scripts/measure_frugality_savings.py +3 -3
- package/scripts/measure_roadmap_trajectory.py +1 -1
- package/scripts/measure_rule_budget.py +25 -7
- package/scripts/memory_report.py +1 -1
- package/scripts/migrate_command_suggestions.py +3 -3
- package/scripts/minimal_safe_diff_hook.py +1 -1
- package/scripts/move_artefact.py +143 -0
- package/scripts/new_skill.py +148 -0
- package/scripts/onboarding_gate_hook.py +4 -4
- package/scripts/plan_physical_move.py +353 -0
- package/scripts/prepack-check.mjs +62 -0
- package/scripts/probe_projection_fidelity.py +2 -2
- package/scripts/refine_ticket_detect.py +31 -8
- package/scripts/schemas/command.schema.json +45 -1
- package/scripts/schemas/persona.schema.json +1 -1
- package/scripts/schemas/rule.schema.json +44 -4
- package/scripts/schemas/skill.schema.json +41 -1
- package/scripts/score_skill_selection.py +1 -1
- package/scripts/skill_collision_clusters.py +1 -1
- package/scripts/skill_linter.py +250 -120
- package/scripts/skill_overlap.py +1 -1
- package/scripts/skill_tools/run_block_d_eval.py +1 -1
- package/scripts/skill_trigger_eval.py +28 -8
- package/scripts/skill_usage_collect.py +3 -3
- package/scripts/skill_usage_report.py +3 -3
- package/scripts/smoke/kernel.sh +1 -1
- package/scripts/smoke/router.sh +24 -5
- package/scripts/smoke/skills.sh +15 -7
- package/scripts/smoke_quickstart.py +12 -3
- package/scripts/snapshot_agent_outputs.py +144 -0
- package/scripts/spotcheck_thin_root.py +1 -1
- package/scripts/sync_github_metadata.py +147 -0
- package/scripts/sync_gitignore.py +15 -5
- package/scripts/update_counts.py +45 -17
- package/scripts/update_prices.py +4 -3
- package/scripts/validate_decision_engine.py +9 -1
- package/scripts/validate_discovery_manifest.py +94 -0
- package/scripts/validate_frontmatter.py +39 -20
- package/scripts/verify_before_complete_hook.py +1 -1
- package/scripts/verify_physical_move.py +185 -0
- package/scripts/verify_roadmap_closure.py +1 -1
- package/templates/agent-user.md +34 -0
- package/templates/agent-user.yml +21 -0
- package/templates/minimal/agents-overrides-readme.md +46 -0
- package/templates/minimal/overrides-gitkeep +2 -0
- package/.agent-src/commands/onboard.md +0 -467
- package/templates/minimal/agents-gitkeep +0 -2
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# Policy cookbook — internal AI OS
|
|
2
|
+
|
|
3
|
+
> **Status**: 🚧 **skeleton**. Phase 3 of
|
|
4
|
+
> [`road-to-internal-ai-os-deployment.md`](../../agents/roadmaps/road-to-internal-ai-os-deployment.md)
|
|
5
|
+
> is **not yet implemented**. This file documents the **shape** that
|
|
6
|
+
> central org policy will take so operators can review the contract
|
|
7
|
+
> before code lands. Every section below is normative-once-shipped.
|
|
8
|
+
>
|
|
9
|
+
> Open design questions live in
|
|
10
|
+
> [`agents/tmp/council-question-central-policy.md`](../../agents/tmp/council-question-central-policy.md).
|
|
11
|
+
|
|
12
|
+
## Audience
|
|
13
|
+
|
|
14
|
+
An admin at a deploying organization who needs to set org-wide floors
|
|
15
|
+
(and ceilings) that individual users cannot escape.
|
|
16
|
+
|
|
17
|
+
## File location (planned)
|
|
18
|
+
|
|
19
|
+
```text
|
|
20
|
+
/etc/event4u/policy.yaml # inside the container
|
|
21
|
+
${POLICY_PATH:-./policy.yaml} # bind-mounted from the host
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
The file is the source of truth. A future admin UI generates this
|
|
25
|
+
file, never the other way around.
|
|
26
|
+
|
|
27
|
+
## Inheritance model (planned)
|
|
28
|
+
|
|
29
|
+
```text
|
|
30
|
+
default → org policy → user settings
|
|
31
|
+
↑ ↑
|
|
32
|
+
| └── user-only knobs (preferred name,
|
|
33
|
+
| IDE, bot icon)
|
|
34
|
+
└── shared knobs (autonomy ceiling, redaction
|
|
35
|
+
allowlist, provider allowlist, cost cap) —
|
|
36
|
+
org wins; user cannot escape upward.
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Schema sketch (planned)
|
|
40
|
+
|
|
41
|
+
```yaml
|
|
42
|
+
# /etc/event4u/policy.yaml — example, not yet enforced.
|
|
43
|
+
version: 1
|
|
44
|
+
|
|
45
|
+
autonomy:
|
|
46
|
+
ceiling: review # never | review | apply-low | apply-medium
|
|
47
|
+
user_can_lower: true
|
|
48
|
+
|
|
49
|
+
redaction:
|
|
50
|
+
allowlist_paths: [] # paths users are allowed to disable redaction for
|
|
51
|
+
block_paths: # paths where redaction is mandatory
|
|
52
|
+
- "**/secrets/**"
|
|
53
|
+
- "**/credentials/**"
|
|
54
|
+
|
|
55
|
+
providers:
|
|
56
|
+
allowlist:
|
|
57
|
+
- openai
|
|
58
|
+
- anthropic
|
|
59
|
+
cost_cap_usd_per_day_per_user: 25
|
|
60
|
+
cost_cap_usd_per_day_total: 500
|
|
61
|
+
|
|
62
|
+
audit:
|
|
63
|
+
retention_days: 90
|
|
64
|
+
include_read_actions: false # only state-changing requests by default
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Recipes (planned)
|
|
68
|
+
|
|
69
|
+
### Lock autonomy at "review" for all users
|
|
70
|
+
|
|
71
|
+
```yaml
|
|
72
|
+
autonomy:
|
|
73
|
+
ceiling: review
|
|
74
|
+
user_can_lower: false
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### Cap monthly spend per user
|
|
78
|
+
|
|
79
|
+
```yaml
|
|
80
|
+
providers:
|
|
81
|
+
cost_cap_usd_per_day_per_user: 5 # ≈ $150/mo at max
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### Restrict providers to those with EU data residency
|
|
85
|
+
|
|
86
|
+
```yaml
|
|
87
|
+
providers:
|
|
88
|
+
allowlist:
|
|
89
|
+
- anthropic-eu
|
|
90
|
+
- mistral
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Mandate redaction for `infrastructure/`
|
|
94
|
+
|
|
95
|
+
```yaml
|
|
96
|
+
redaction:
|
|
97
|
+
block_paths:
|
|
98
|
+
- "infrastructure/**"
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## Hot reload (planned)
|
|
102
|
+
|
|
103
|
+
The server will watch `POLICY_PATH` and apply changes within ~2 s
|
|
104
|
+
without a restart. Sessions are not invalidated; only new
|
|
105
|
+
permissions checks see the new policy. A `policy_reloaded` audit
|
|
106
|
+
event lands on each successful reload.
|
|
107
|
+
|
|
108
|
+
## Versioning (planned)
|
|
109
|
+
|
|
110
|
+
Operators are expected to check `policy.yaml` into their **own** git
|
|
111
|
+
repo (separate from this project) and mount it read-only into the
|
|
112
|
+
container. `version: 1` is the only currently-defined schema version;
|
|
113
|
+
breaking changes will bump the version + ship a migrator.
|
|
114
|
+
|
|
115
|
+
## What's not yet here
|
|
116
|
+
|
|
117
|
+
- Schema is not validated by the running server.
|
|
118
|
+
- Hot-reload is not wired.
|
|
119
|
+
- Admin UI does not exist.
|
|
120
|
+
- Audit log table does not exist.
|
|
121
|
+
|
|
122
|
+
All of the above land in Phase 3. Until then, per-user
|
|
123
|
+
`.agent-settings.yml` is the only enforcement surface.
|
|
124
|
+
|
|
125
|
+
## Cross-references
|
|
126
|
+
|
|
127
|
+
- 🚧 Reserved ADR slot: `docs/decisions/ADR-023-central-policy.md`.
|
|
128
|
+
- Council question: [`agents/tmp/council-question-central-policy.md`](../../agents/tmp/council-question-central-policy.md).
|
|
129
|
+
- Env contract: [`env-vars.md`](env-vars.md) (`POLICY_PATH`).
|
|
130
|
+
- Quickstart: [`quickstart.md`](quickstart.md).
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# Quickstart — internal AI OS
|
|
2
|
+
|
|
3
|
+
> **Status**: skeleton. Phase 6 of
|
|
4
|
+
> [`road-to-internal-ai-os-deployment.md`](../../agents/roadmaps/road-to-internal-ai-os-deployment.md).
|
|
5
|
+
> The artefacts referenced (Compose, env contract, healthcheck) land in
|
|
6
|
+
> Phase 1; **Phases 2–5 (auth, policy, team context, connectors) are
|
|
7
|
+
> not yet implemented**. Sections flagged `🚧` describe surfaces that
|
|
8
|
+
> only become real after those phases ship.
|
|
9
|
+
|
|
10
|
+
## Audience
|
|
11
|
+
|
|
12
|
+
A platform / DevOps engineer at a 5–50-person company who wants to
|
|
13
|
+
host `@event4u/agent-config` once for the team behind their existing
|
|
14
|
+
reverse proxy.
|
|
15
|
+
|
|
16
|
+
## Prerequisites
|
|
17
|
+
|
|
18
|
+
- Docker Engine ≥ 24 with Compose v2.
|
|
19
|
+
- Reverse proxy (nginx / Caddy / Traefik / ALB) terminating TLS at
|
|
20
|
+
a hostname you control.
|
|
21
|
+
- One free TCP port to forward to the container (default 8787).
|
|
22
|
+
- 🚧 **Phase 2+** — your company's SSO / OIDC discovery URL + client
|
|
23
|
+
credentials.
|
|
24
|
+
|
|
25
|
+
## Five-minute path
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
# 1. Clone the deployment artefacts.
|
|
29
|
+
git clone https://github.com/event4u-app/agent-config.git
|
|
30
|
+
cd agent-config/packages/core/deploy
|
|
31
|
+
|
|
32
|
+
# 2. Copy and edit the environment file.
|
|
33
|
+
cp .env.example .env
|
|
34
|
+
${EDITOR:-vi} .env
|
|
35
|
+
# Required: ALLOWED_HOSTS=your.host:443
|
|
36
|
+
# Required: POSTGRES_PASSWORD=<long random>
|
|
37
|
+
|
|
38
|
+
# 3. Boot.
|
|
39
|
+
docker compose up -d
|
|
40
|
+
|
|
41
|
+
# 4. Verify.
|
|
42
|
+
curl -fsS http://127.0.0.1:8787/api/v1/health | jq
|
|
43
|
+
# {
|
|
44
|
+
# "status": "ok",
|
|
45
|
+
# "version": "x.y.z",
|
|
46
|
+
# "uptime_seconds": 12,
|
|
47
|
+
# "storage_mode": "filesystem",
|
|
48
|
+
# "session_backend": "memory",
|
|
49
|
+
# ...
|
|
50
|
+
# }
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Environment contract
|
|
54
|
+
|
|
55
|
+
The full table of variables, their defaults, and validation rules
|
|
56
|
+
lives in [`env-vars.md`](env-vars.md). The minimum a production
|
|
57
|
+
deployment must override:
|
|
58
|
+
|
|
59
|
+
- `ALLOWED_HOSTS` — comma-separated host\:port allowlist for the
|
|
60
|
+
`Host` header. Non-loopback bind without this **refuses to boot**.
|
|
61
|
+
- `POSTGRES_PASSWORD` — `agent-config` user's password.
|
|
62
|
+
- `SESSION_SECRET` — 32-byte random; rotates user sessions when
|
|
63
|
+
changed.
|
|
64
|
+
- 🚧 **Phase 2+** — `AUTH_MODE=oidc` + `OIDC_*` block.
|
|
65
|
+
|
|
66
|
+
## Reverse-proxy template (Caddy)
|
|
67
|
+
|
|
68
|
+
```caddyfile
|
|
69
|
+
your.host {
|
|
70
|
+
reverse_proxy 127.0.0.1:8787
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
The container ships plain HTTP; TLS is the proxy's job. See ADR-021
|
|
75
|
+
for the rationale.
|
|
76
|
+
|
|
77
|
+
## Healthcheck
|
|
78
|
+
|
|
79
|
+
Every 10 s the Compose `agent-config` service hits
|
|
80
|
+
`/api/v1/health` (1-rps rate limit means this lands inside the
|
|
81
|
+
budget). A non-200 response for two consecutive cycles flips the
|
|
82
|
+
service to `unhealthy` and the orchestrator restarts it.
|
|
83
|
+
|
|
84
|
+
## What's not yet here
|
|
85
|
+
|
|
86
|
+
| Capability | Phase | Status |
|
|
87
|
+
|---|---|---|
|
|
88
|
+
| SSO / OIDC login | 2 | 🚧 deferred (security-sensitive) |
|
|
89
|
+
| Central org policy | 3 | 🚧 deferred |
|
|
90
|
+
| Team context (shared rules / skills) | 4 | 🚧 deferred |
|
|
91
|
+
| Linear / GitHub / Slack connectors | 5 | 🚧 deferred |
|
|
92
|
+
|
|
93
|
+
Until those land, the deployed instance is a **single-tenant** AI OS
|
|
94
|
+
shared via the reverse proxy. Lock the proxy down with HTTP basic
|
|
95
|
+
auth or an IP allowlist for v1.
|
|
96
|
+
|
|
97
|
+
## Troubleshooting
|
|
98
|
+
|
|
99
|
+
- **Container exits with `BIND_HOST=0.0.0.0 requires ALLOWED_HOSTS`** —
|
|
100
|
+
add `ALLOWED_HOSTS` to `.env` and `docker compose up -d` again.
|
|
101
|
+
- **`/api/v1/health` returns 503 with `storage_unavailable`** —
|
|
102
|
+
Postgres has not finished its first-boot init. Wait 15 s and retry.
|
|
103
|
+
- **Wizard 404s on every route** — reverse proxy is stripping the
|
|
104
|
+
`Host` header; either preserve it (`proxy_set_header Host $host`)
|
|
105
|
+
or add the proxy hostname to `ALLOWED_HOSTS`.
|
|
106
|
+
|
|
107
|
+
## Cross-references
|
|
108
|
+
|
|
109
|
+
- ADR-021 — [deployment shape](../decisions/ADR-021-deployment-shape.md).
|
|
110
|
+
- Env contract — [env-vars.md](env-vars.md).
|
|
111
|
+
- 🚧 Policy guide — [policy-cookbook.md](policy-cookbook.md) (Phase 3).
|
|
112
|
+
- 🚧 Connector setup — [connector-setup.md](connector-setup.md) (Phase 5).
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# MCP registry submission checklist
|
|
2
|
+
|
|
3
|
+
> One-shot procedure for opening a submission PR to an external MCP
|
|
4
|
+
> registry. The manifest under `dist/mcp/` is the source of truth;
|
|
5
|
+
> this file is what the maintainer runs through at submission time.
|
|
6
|
+
|
|
7
|
+
## Before submitting
|
|
8
|
+
|
|
9
|
+
1. Confirm the npm package is published with **2FA-required** for new
|
|
10
|
+
releases. A downstream user clicking the registry link must not
|
|
11
|
+
land on a hijacked release.
|
|
12
|
+
2. Re-run the builder so payloads reflect the current package:
|
|
13
|
+
```bash
|
|
14
|
+
python3 scripts/build_discovery_manifest.py --write --strict
|
|
15
|
+
python3 scripts/build_mcp_registry_manifest.py --write --strict
|
|
16
|
+
python3 scripts/lint_mcp_registry_manifest.py
|
|
17
|
+
```
|
|
18
|
+
3. Confirm `dist/mcp/registry-manifest.json` `package.version`
|
|
19
|
+
matches the latest published npm version (or the version about to
|
|
20
|
+
be released in the same change set).
|
|
21
|
+
|
|
22
|
+
## Per-registry steps
|
|
23
|
+
|
|
24
|
+
### `awesome-mcp-servers`
|
|
25
|
+
|
|
26
|
+
- Upstream: <https://github.com/punkpeye/awesome-mcp-servers>
|
|
27
|
+
- Target file: `README.md`, section **"Server Frameworks / Agents"**.
|
|
28
|
+
*Verify the section heading before each submission — upstream
|
|
29
|
+
reorganises occasionally.*
|
|
30
|
+
- Payload to paste: the row in `dist/mcp/awesome-mcp-servers.row.md`.
|
|
31
|
+
```bash
|
|
32
|
+
cat dist/mcp/awesome-mcp-servers.row.md
|
|
33
|
+
```
|
|
34
|
+
- Open the upstream PR. Title: `Add @event4u/agent-config`.
|
|
35
|
+
- After opening, update `dist/mcp/registry-manifest.json`:
|
|
36
|
+
```jsonc
|
|
37
|
+
{
|
|
38
|
+
"id": "awesome-mcp-servers",
|
|
39
|
+
"status": "pending", // → "listed" once merged, "rejected" if closed
|
|
40
|
+
"submitted_at": "YYYY-MM-DD",
|
|
41
|
+
"pr_url": "https://github.com/punkpeye/awesome-mcp-servers/pull/NNN",
|
|
42
|
+
"last_verified": null
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
Then commit the manifest change as a follow-up.
|
|
46
|
+
|
|
47
|
+
### `mcp-cloudflare-catalogue`
|
|
48
|
+
|
|
49
|
+
- Upstream: <https://github.com/cloudflare/mcp-server-cloudflare>
|
|
50
|
+
- Target file: the catalogue JSON file the repository documents
|
|
51
|
+
(verify path against the upstream README before each submission).
|
|
52
|
+
- Payload to paste: the JSON object in
|
|
53
|
+
`dist/mcp/mcp-cloudflare-catalogue.json`.
|
|
54
|
+
```bash
|
|
55
|
+
cat dist/mcp/mcp-cloudflare-catalogue.json
|
|
56
|
+
```
|
|
57
|
+
- Same lifecycle update as above once the PR is open.
|
|
58
|
+
|
|
59
|
+
## After the upstream PR closes
|
|
60
|
+
|
|
61
|
+
The submission PR can end in three states. Each maps to a `status`
|
|
62
|
+
value in the manifest. Do **not** silently drop entries.
|
|
63
|
+
|
|
64
|
+
- **merged** → `status: "listed"`, set `last_verified` to today, open
|
|
65
|
+
the live listing once and confirm the link still resolves to this
|
|
66
|
+
package. Refresh `last_verified` every release.
|
|
67
|
+
- **closed without merge** → `status: "rejected"`. Leave
|
|
68
|
+
`submitted_at` and `pr_url` populated so the rejection is
|
|
69
|
+
auditable. Do **not** auto-resubmit; the next attempt is a
|
|
70
|
+
judgment call by the maintainer.
|
|
71
|
+
- **listing removed later** → `status: "unlisted"`. Refresh
|
|
72
|
+
`last_verified` to the date of removal so the audit trail is
|
|
73
|
+
intact.
|
|
74
|
+
|
|
75
|
+
`scripts/lint_mcp_registry_manifest.py` exits non-zero if any
|
|
76
|
+
registry entry uses a value outside the four-state enum.
|
|
77
|
+
|
|
78
|
+
## Submitting to a new registry
|
|
79
|
+
|
|
80
|
+
The schema's `id` vocabulary is closed (`awesome-mcp-servers`,
|
|
81
|
+
`mcp-cloudflare-catalogue`). Adding a third registry is a
|
|
82
|
+
**schema-version bump**:
|
|
83
|
+
|
|
84
|
+
1. Update `docs/contracts/mcp-registry-manifest.schema.json`:
|
|
85
|
+
add the new `id` value, bump the top-level `version` const if
|
|
86
|
+
the field shape changes.
|
|
87
|
+
2. Update `scripts/build_mcp_registry_manifest.py`'s
|
|
88
|
+
`REGISTRIES_SEED` with the new entry (id, label,
|
|
89
|
+
listing_format, submission_url, rendered_payload).
|
|
90
|
+
3. Add a new renderer for the rendered payload (Markdown row,
|
|
91
|
+
JSON entry, or whatever the new registry expects).
|
|
92
|
+
4. Add a new payload-shape check to
|
|
93
|
+
`scripts/lint_mcp_registry_manifest.py`.
|
|
94
|
+
5. Land it as its own PR so the schema change is reviewed
|
|
95
|
+
independently of the submission itself.
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Public Install Smoke
|
|
2
|
+
|
|
3
|
+
Cross-platform install matrix for the two consumer entrypoints.
|
|
4
|
+
|
|
5
|
+
> **Authority** — Phase 1 of [`road-to-product-adoption.md`](../../agents/roadmaps/road-to-product-adoption.md). The matrix is the regression guard for Phases 3–5 of that roadmap.
|
|
6
|
+
|
|
7
|
+
## What the matrix runs
|
|
8
|
+
|
|
9
|
+
Workflow: [`.github/workflows/smoke-public-install.yml`](../../.github/workflows/smoke-public-install.yml).
|
|
10
|
+
|
|
11
|
+
| Axis | Values | Total |
|
|
12
|
+
|---|---|---|
|
|
13
|
+
| OS | `ubuntu-latest` · `macos-latest` · `windows-latest` | 3 |
|
|
14
|
+
| Node | `20` · `22` | 2 |
|
|
15
|
+
| Install path | `setup.sh` (curl) · `agent-config init` (npx bin) · `--dry-run --yes` headless leg | 3 |
|
|
16
|
+
| Total legs | | **18** |
|
|
17
|
+
|
|
18
|
+
Each leg builds a local tarball from the current checkout, extracts it, then invokes the consumer entrypoint against a temp project root. The matrix proves "our installer is correct" — not "the npm registry is reachable".
|
|
19
|
+
|
|
20
|
+
## Triggers
|
|
21
|
+
|
|
22
|
+
| Trigger | Purpose |
|
|
23
|
+
|---|---|
|
|
24
|
+
| Pull request (path-filtered) | Catch regressions before merge when installer files change |
|
|
25
|
+
| Push to `main` / `master` | Lock the baseline so a green main can be released without surprises |
|
|
26
|
+
| Weekly cron `0 6 * * 1` (Mon 06:00 UTC) | Catch drift from upstream toolchain / registry changes even when no PR touched our installer |
|
|
27
|
+
| `workflow_dispatch` | Manual run for incident triage |
|
|
28
|
+
|
|
29
|
+
## What the matrix proves
|
|
30
|
+
|
|
31
|
+
- `curl … setup.sh \| bash` resolves a tarball, extracts it, runs `scripts/install`, exits 0 on every OS / Node combination.
|
|
32
|
+
- `npx @event4u/agent-config init` (simulated via `scripts/agent-config init` on the extracted tarball) writes `.claude/` and `.agent-settings.yml` to the target project on every OS / Node combination.
|
|
33
|
+
- The headless `--dry-run --yes` leg accepts non-interactive flags, produces no file writes, exits 0.
|
|
34
|
+
|
|
35
|
+
## What the matrix deliberately does NOT prove
|
|
36
|
+
|
|
37
|
+
- **Provider credentials.** No OpenAI / Anthropic keys in CI; the `agent-config setup` wizard's provider validation step is exercised by unit tests in `tests/cli/` and `packages/core/installer/tests/`, not this matrix.
|
|
38
|
+
- **The GUI wizard in a real browser.** The `ui:serve` boot path is covered by `vitest` (`tests/cli/uiServe.test.ts`); end-to-end wizard interactions are deferred to a follow-up roadmap.
|
|
39
|
+
- **Network fetch from the public npm registry.** The matrix uses a local tarball on purpose so a flaky registry doesn't fail the smoke. Real-registry health is covered by `publish-npm.yml` after release.
|
|
40
|
+
- **Tooling beyond `claude-code`.** The matrix installs a single tool target to keep wall-clock short. The full per-tool matrix lives in [`tests.yml`](../../.github/workflows/tests.yml) (`install-tests` job, sharded × 4).
|
|
41
|
+
|
|
42
|
+
## Failure policy
|
|
43
|
+
|
|
44
|
+
- Any leg red → **block merge** (status check required on `main`).
|
|
45
|
+
- Weekly cron red → file an issue with the `regression` label and the failing leg's URL; do not auto-retry.
|
|
46
|
+
- A leg that flakes twice in 14 days → freeze, audit `tests/test_one_liner_entrypoints.sh` for non-determinism, only un-freeze after a green run on three consecutive cron cycles.
|
|
47
|
+
|
|
48
|
+
## Adapting the test scope
|
|
49
|
+
|
|
50
|
+
The matrix invokes [`tests/test_one_liner_entrypoints.sh`](../../tests/test_one_liner_entrypoints.sh) plus the inline dry-run leg. Adding a new install path means adding a `test_*` function to that shell script — the matrix picks it up automatically.
|
|
51
|
+
|
|
52
|
+
## Roadmap deviations
|
|
53
|
+
|
|
54
|
+
The Phase 1 roadmap referenced two surfaces that never landed in code:
|
|
55
|
+
|
|
56
|
+
| Roadmap text | Reality | Adaptation |
|
|
57
|
+
|---|---|---|
|
|
58
|
+
| `--no-ui` flag | CLI surface is `--yes` (non-interactive) + `--dry-run` (no writes) | Headless leg uses `--yes --dry-run` |
|
|
59
|
+
| `AGENT_CONFIG_NO_UI=1` env | Not implemented; non-interactive mode is detected via stdin TTY + `--yes` | Same — `--yes` is the canonical CI-safe entry |
|
|
60
|
+
|
|
61
|
+
These deviations are recorded here so a future maintainer reading the roadmap doesn't search for flags that don't exist. The intent of the roadmap step — prove the installer survives headless CI — is preserved.
|
|
62
|
+
|
|
63
|
+
## See also
|
|
64
|
+
|
|
65
|
+
- [`tests/test_one_liner_entrypoints.sh`](../../tests/test_one_liner_entrypoints.sh) — the smoke harness invoked per matrix leg.
|
|
66
|
+
- [`scripts/install`](../../scripts/install) — the consumer-facing installer orchestrator.
|
|
67
|
+
- [`.github/workflows/tests.yml`](../../.github/workflows/tests.yml) — the broader install integration matrix (Linux + macOS, 35 tests × 4 shards).
|
|
68
|
+
- [`agents/roadmaps/road-to-product-adoption.md`](../../agents/roadmaps/road-to-product-adoption.md) — parent roadmap and acceptance criteria.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# External Registry Submissions
|
|
2
|
+
|
|
3
|
+
Track third-party registries / directories we want this package to surface in. Submissions are **human-owner** — they require a GitHub account interacting with another org's PR review or with the GitHub UI to flip settings.
|
|
4
|
+
|
|
5
|
+
> **Authority** — Phase 2 of [`road-to-product-adoption.md`](../../agents/roadmaps/road-to-product-adoption.md). The autonomous roadmap pass cannot open PRs in third-party repos; this file is the handoff.
|
|
6
|
+
|
|
7
|
+
## Submission status
|
|
8
|
+
|
|
9
|
+
| # | Registry | URL | Submission shape | Status | PR link |
|
|
10
|
+
|---|---|---|---|---|---|
|
|
11
|
+
| 1 | `punkpeye/awesome-mcp-servers` | <https://github.com/punkpeye/awesome-mcp-servers> | One-line entry under the agent-tooling section, links to `README.md` hero anchor | ⬜ open | — |
|
|
12
|
+
| 2 | `mcp.so` | <https://mcp.so/> | Submit via the directory form; same one-line shape | ⬜ open | — |
|
|
13
|
+
| 3 | `mcpservers.org` | <https://mcpservers.org/> | Submit via the directory form; same one-line shape (verify URL current at submission time) | ⬜ open | — |
|
|
14
|
+
|
|
15
|
+
## Submission template
|
|
16
|
+
|
|
17
|
+
Use this exact text for the awesome-list entry. Adjust the link anchor per directory.
|
|
18
|
+
|
|
19
|
+
```markdown
|
|
20
|
+
- [event4u/agent-config](https://github.com/event4u-app/agent-config#readme) — Universal AI Agent OS. Audited skills, governance rules, commands, and templates for Claude Code, Cursor, Windsurf, Copilot. Bring your own provider.
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Submission checklist
|
|
24
|
+
|
|
25
|
+
Before opening any submission PR:
|
|
26
|
+
|
|
27
|
+
- [ ] `README.md` hero block is the current shape (no stale claims).
|
|
28
|
+
- [ ] `Public install smoke (3 OS × 2 Node)` badge is green on `main` for the last 3 cron cycles.
|
|
29
|
+
- [ ] `package.json` `keywords` mirror `.github/topics.yml` `topics:` list (audit per Phase 2.4).
|
|
30
|
+
- [ ] `LICENSE` and `CONTRIBUTING.md` are current.
|
|
31
|
+
|
|
32
|
+
## GitHub Discussions
|
|
33
|
+
|
|
34
|
+
Roadmap Phase 2 Step 5 calls for opening three Discussions categories: `Show & Tell`, `Q&A`, `Ideas`. This requires repo-admin in the GitHub UI (Settings → Features → Discussions). The README hero should then link to Discussions, not Issues, for first-touch questions.
|
|
35
|
+
|
|
36
|
+
- [ ] Discussions enabled at `https://github.com/event4u-app/agent-config/discussions`
|
|
37
|
+
- [ ] Three categories created: `Show & Tell`, `Q&A`, `Ideas` (no more — keep the surface narrow)
|
|
38
|
+
- [ ] README hero updated to link to Discussions for first-touch questions
|
|
39
|
+
|
|
40
|
+
## Audit cadence
|
|
41
|
+
|
|
42
|
+
Run a topic / keyword reality check **every quarter**:
|
|
43
|
+
|
|
44
|
+
1. Run three search queries on GitHub: `AI agent governance`, `MCP skill registry`, `AI video pipeline`.
|
|
45
|
+
2. For each, verify this repo surfaces within page 2.
|
|
46
|
+
3. If not, audit `.github/topics.yml` for missing topics and `package.json` `keywords` for alignment.
|
|
47
|
+
4. Update `notes:` / `equivalents:` in `.github/topics.yml` and re-run `task sync-github-topics`.
|
|
48
|
+
|
|
49
|
+
## See also
|
|
50
|
+
|
|
51
|
+
- [`.github/topics.yml`](../../.github/topics.yml) — source of truth for GitHub topics.
|
|
52
|
+
- [`package.json`](../../package.json) — `keywords` array, must mirror topics by category.
|
|
53
|
+
- [`docs/distribution/topics-equivalents-decay-policy.md`](./topics-equivalents-decay-policy.md) — when to add / retire `equivalents:` entries.
|
|
54
|
+
- [`docs/distribution/mcp-submission-checklist.md`](./mcp-submission-checklist.md) — MCP-specific submission checklist.
|
|
55
|
+
- [`agents/roadmaps/road-to-product-adoption.md`](../../agents/roadmaps/road-to-product-adoption.md) — parent roadmap.
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# Install-Funnel Telemetry — Privacy
|
|
2
|
+
|
|
3
|
+
> **3-minute read.** This page explains what the `@event4u/agent-config`
|
|
4
|
+
> installer collects when you opt in, what it never collects, and how to
|
|
5
|
+
> opt out.
|
|
6
|
+
|
|
7
|
+
## TL;DR
|
|
8
|
+
|
|
9
|
+
- **Off by default.** You see one prompt during install. If you do nothing,
|
|
10
|
+
nothing is sent.
|
|
11
|
+
- **Anonymous.** No IP, no machine ID, no project name, no file paths.
|
|
12
|
+
- **Short retention.** Raw events live 14 days; sessions live 2 hours.
|
|
13
|
+
- **One-click off.** `--no-telemetry`, the wizard "No thanks" button, or
|
|
14
|
+
unsetting `TELEMETRY_OPT_IN=1` for the next install.
|
|
15
|
+
|
|
16
|
+
## 1. What we collect (only if you opt in)
|
|
17
|
+
|
|
18
|
+
Per install attempt, we send one event per funnel stage with these fields:
|
|
19
|
+
|
|
20
|
+
- **Funnel stage** — one of: `started`, `wizard_opt_in_seen`,
|
|
21
|
+
`wizard_opt_in_accepted`, `packs_selected`, `applied`,
|
|
22
|
+
`first_command_run`, `errored`.
|
|
23
|
+
- **Entry path** — `npx`, `curl`, or `gui`.
|
|
24
|
+
- **Host agent family** — coarse bucket: `vscode`, `jetbrains`, `cli`,
|
|
25
|
+
`browser`, or `unknown`. Specific tool names (Cursor, Copilot, Windsurf)
|
|
26
|
+
are collapsed into the family bucket.
|
|
27
|
+
- **Operating-system family** — `linux`, `macos`, or `windows`.
|
|
28
|
+
- **Node major version** — `20` or `22`.
|
|
29
|
+
- **agent-config version** — the semver string of the installer release.
|
|
30
|
+
- **Pack categories** — a list of broad categories from a fixed enum
|
|
31
|
+
(`finance`, `founder`, `engineering`, `content`, `consultant`, `meta`,
|
|
32
|
+
`other`). Specific pack names are never sent.
|
|
33
|
+
- **Wizard used** — boolean.
|
|
34
|
+
- **Duration bucket** — one of `<30s`, `30s-2m`, `2m-10m`, `>10m`. We never
|
|
35
|
+
send millisecond timings.
|
|
36
|
+
- **Error class** (only on `errored`) — one of `network`, `filesystem`,
|
|
37
|
+
`config_invalid`, `dependency`, `unknown`. Never a stack, never a
|
|
38
|
+
message.
|
|
39
|
+
- **Session ID** — a 128-bit random token issued by our server with a
|
|
40
|
+
2-hour time-to-live, used to stitch the funnel. It is never persisted
|
|
41
|
+
on your machine.
|
|
42
|
+
|
|
43
|
+
The full wire contract is in [`telemetry-schema.md`](telemetry-schema.md).
|
|
44
|
+
|
|
45
|
+
## 2. What we NEVER collect
|
|
46
|
+
|
|
47
|
+
- IP address. Cloudflare drops it before our worker reads the request body;
|
|
48
|
+
our code does not log `cf-connecting-ip`.
|
|
49
|
+
- Machine identifiers — no MAC, no hostname, no username, no home directory.
|
|
50
|
+
- Project name, project path, repository slug, git remote URL.
|
|
51
|
+
- Pack names (only the coarse `pack_categories` enum).
|
|
52
|
+
- File paths of any kind.
|
|
53
|
+
- Error stacks, error messages, or any freeform error text.
|
|
54
|
+
- Anything you typed: prompts, ticket IDs, ad-hoc commands.
|
|
55
|
+
- Sub-bucket timing (no `duration_ms`).
|
|
56
|
+
|
|
57
|
+
## 3. How to opt out
|
|
58
|
+
|
|
59
|
+
Three paths, any one works:
|
|
60
|
+
|
|
61
|
+
1. **Wizard (browser GUI)** — click "No thanks" on the telemetry screen.
|
|
62
|
+
This is the default focus; pressing Enter without picking declines.
|
|
63
|
+
2. **CLI / TUI** — answer `n` at the telemetry prompt (default `n`).
|
|
64
|
+
3. **CI / `--yes` mode** — telemetry is **always off** unless you pass
|
|
65
|
+
`--telemetry-opt-in` explicitly. There is no implicit consent in
|
|
66
|
+
non-interactive runs.
|
|
67
|
+
|
|
68
|
+
You can also disable telemetry for one specific install by setting
|
|
69
|
+
`AGENT_CONFIG_NO_TELEMETRY=1` in the environment.
|
|
70
|
+
|
|
71
|
+
## 4. Per-install scope — choice is never persisted
|
|
72
|
+
|
|
73
|
+
The opt-in choice applies **only to the current install session**. We do
|
|
74
|
+
not write a preference file under your project, your home directory, or
|
|
75
|
+
anywhere else. If you run the installer again, you will see the prompt
|
|
76
|
+
again. This is intentional — every install is an explicit consent moment.
|
|
77
|
+
|
|
78
|
+
## 5. How long we keep it
|
|
79
|
+
|
|
80
|
+
| What | Storage | Time to live |
|
|
81
|
+
|---|---|---|
|
|
82
|
+
| Session ID + stage events | Cloudflare KV | 14 days |
|
|
83
|
+
| Session token only | Cloudflare KV | 2 hours |
|
|
84
|
+
| Weekly aggregates (no session ID) | Cloudflare KV | 24 months |
|
|
85
|
+
|
|
86
|
+
Aggregates contain only counts — number of installs per stage, per OS, per
|
|
87
|
+
entry path. No identifier survives beyond 14 days.
|
|
88
|
+
|
|
89
|
+
## 6. Where the source lives, who can see the data
|
|
90
|
+
|
|
91
|
+
- Client SDK source — [`packages/core/installer/src/telemetry/`](../../packages/core/installer/src/telemetry/).
|
|
92
|
+
- Worker source — [`packages/cloud/telemetry-worker/`](../../packages/cloud/telemetry-worker/).
|
|
93
|
+
- Aggregates are visible only to the named maintainers of
|
|
94
|
+
`event4u/agent-config`. No third-party access. No advertising integration.
|
|
95
|
+
No resale.
|
|
96
|
+
|
|
97
|
+
## 7. Remote kill-switch
|
|
98
|
+
|
|
99
|
+
We host a public feature-flag JSON. If we ever need to disable telemetry
|
|
100
|
+
across all installs — for an incident, a privacy concern, or a deprecation
|
|
101
|
+
— we flip the flag to `enabled: false`. The installer reads the flag
|
|
102
|
+
before opening a session; if disabled, no events are sent regardless of
|
|
103
|
+
your opt-in choice. The flag defaults to `false` when unreachable.
|
|
104
|
+
|
|
105
|
+
## 8. Legal basis
|
|
106
|
+
|
|
107
|
+
Lawful basis under the General Data Protection Regulation is consent
|
|
108
|
+
under Article 6(1)(a). You give consent by clicking "opt in" or passing
|
|
109
|
+
`--telemetry-opt-in`; you withdraw consent by choosing any of the opt-out
|
|
110
|
+
paths in §3. Withdrawal applies to all future installs immediately.
|
|
111
|
+
|
|
112
|
+
Because session IDs are server-issued, short-lived (2 hours), and not
|
|
113
|
+
combined with re-identifying quasi-identifiers, the resulting records are
|
|
114
|
+
designed to fall outside the GDPR Art. 4(1) definition of personal data.
|
|
115
|
+
We treat them as personal data anyway for safety.
|
|
116
|
+
|
|
117
|
+
## 9. Changes to this policy
|
|
118
|
+
|
|
119
|
+
Material changes ship as a new section in this file plus a bump of
|
|
120
|
+
`schema_version` in the wire format. Non-material changes (typo fixes,
|
|
121
|
+
clearer wording) ship as plain edits. The current version corresponds to
|
|
122
|
+
`schema_version: "1"` in [`telemetry-schema.md`](telemetry-schema.md).
|
|
123
|
+
|
|
124
|
+
## See also
|
|
125
|
+
|
|
126
|
+
- [`telemetry-schema.md`](telemetry-schema.md) — full wire contract.
|
|
127
|
+
- `agents/roadmaps/road-to-product-adoption.md § Phase 4`.
|
|
128
|
+
- `non-destructive-by-default` — why worker deploy is a separate PR.
|