aios-core 2.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/.aios-core/.session/current-session.json +14 -0
- package/.aios-core/cli/commands/generate/index.js +222 -0
- package/.aios-core/cli/commands/manifest/index.js +46 -0
- package/.aios-core/cli/commands/manifest/regenerate.js +96 -0
- package/.aios-core/cli/commands/manifest/validate.js +66 -0
- package/.aios-core/cli/commands/mcp/add.js +234 -0
- package/.aios-core/cli/commands/mcp/index.js +76 -0
- package/.aios-core/cli/commands/mcp/link.js +217 -0
- package/.aios-core/cli/commands/mcp/setup.js +164 -0
- package/.aios-core/cli/commands/mcp/status.js +183 -0
- package/.aios-core/cli/commands/metrics/cleanup.js +91 -0
- package/.aios-core/cli/commands/metrics/index.js +65 -0
- package/.aios-core/cli/commands/metrics/record.js +154 -0
- package/.aios-core/cli/commands/metrics/seed.js +126 -0
- package/.aios-core/cli/commands/metrics/show.js +209 -0
- package/.aios-core/cli/commands/migrate/analyze.js +353 -0
- package/.aios-core/cli/commands/migrate/backup.js +352 -0
- package/.aios-core/cli/commands/migrate/execute.js +292 -0
- package/.aios-core/cli/commands/migrate/index.js +441 -0
- package/.aios-core/cli/commands/migrate/rollback.js +323 -0
- package/.aios-core/cli/commands/migrate/update-imports.js +396 -0
- package/.aios-core/cli/commands/migrate/validate.js +452 -0
- package/.aios-core/cli/commands/qa/index.js +56 -0
- package/.aios-core/cli/commands/qa/run.js +163 -0
- package/.aios-core/cli/commands/qa/status.js +195 -0
- package/.aios-core/cli/commands/workers/formatters/info-formatter.js +274 -0
- package/.aios-core/cli/commands/workers/formatters/list-table.js +265 -0
- package/.aios-core/cli/commands/workers/formatters/list-tree.js +159 -0
- package/.aios-core/cli/commands/workers/index.js +56 -0
- package/.aios-core/cli/commands/workers/info.js +194 -0
- package/.aios-core/cli/commands/workers/list.js +214 -0
- package/.aios-core/cli/commands/workers/search-filters.js +185 -0
- package/.aios-core/cli/commands/workers/search-keyword.js +310 -0
- package/.aios-core/cli/commands/workers/search-semantic.js +293 -0
- package/.aios-core/cli/commands/workers/search.js +154 -0
- package/.aios-core/cli/commands/workers/utils/pagination.js +102 -0
- package/.aios-core/cli/index.js +128 -0
- package/.aios-core/cli/utils/output-formatter-cli.js +232 -0
- package/.aios-core/cli/utils/score-calculator.js +221 -0
- package/.aios-core/core/README.md +229 -0
- package/.aios-core/core/config/config-cache.js +233 -0
- package/.aios-core/core/config/config-loader.js +277 -0
- package/.aios-core/core/data/agent-config-requirements.yaml +368 -0
- package/.aios-core/core/data/aios-kb.md +924 -0
- package/.aios-core/core/data/workflow-patterns.yaml +267 -0
- package/.aios-core/core/docs/SHARD-TRANSLATION-GUIDE.md +335 -0
- package/.aios-core/core/docs/component-creation-guide.md +458 -0
- package/.aios-core/core/docs/session-update-pattern.md +307 -0
- package/.aios-core/core/docs/template-syntax.md +267 -0
- package/.aios-core/core/docs/troubleshooting-guide.md +625 -0
- package/.aios-core/core/elicitation/agent-elicitation.js +272 -0
- package/.aios-core/core/elicitation/elicitation-engine.js +479 -0
- package/.aios-core/core/elicitation/session-manager.js +320 -0
- package/.aios-core/core/elicitation/task-elicitation.js +281 -0
- package/.aios-core/core/elicitation/workflow-elicitation.js +315 -0
- package/.aios-core/core/index.esm.js +42 -0
- package/.aios-core/core/index.js +76 -0
- package/.aios-core/core/manifest/manifest-generator.js +386 -0
- package/.aios-core/core/manifest/manifest-validator.js +429 -0
- package/.aios-core/core/mcp/config-migrator.js +340 -0
- package/.aios-core/core/mcp/global-config-manager.js +369 -0
- package/.aios-core/core/mcp/index.js +34 -0
- package/.aios-core/core/mcp/os-detector.js +188 -0
- package/.aios-core/core/mcp/symlink-manager.js +413 -0
- package/.aios-core/core/migration/migration-config.yaml +83 -0
- package/.aios-core/core/migration/module-mapping.yaml +89 -0
- package/.aios-core/core/quality-gates/base-layer.js +134 -0
- package/.aios-core/core/quality-gates/checklist-generator.js +329 -0
- package/.aios-core/core/quality-gates/focus-area-recommender.js +359 -0
- package/.aios-core/core/quality-gates/human-review-orchestrator.js +529 -0
- package/.aios-core/core/quality-gates/layer1-precommit.js +336 -0
- package/.aios-core/core/quality-gates/layer2-pr-automation.js +324 -0
- package/.aios-core/core/quality-gates/layer3-human-review.js +348 -0
- package/.aios-core/core/quality-gates/notification-manager.js +550 -0
- package/.aios-core/core/quality-gates/quality-gate-config.yaml +86 -0
- package/.aios-core/core/quality-gates/quality-gate-manager.js +601 -0
- package/.aios-core/core/registry/README.md +179 -0
- package/.aios-core/core/registry/build-registry.js +452 -0
- package/.aios-core/core/registry/registry-loader.js +330 -0
- package/.aios-core/core/registry/registry-schema.json +166 -0
- package/.aios-core/core/registry/service-registry.json +6586 -0
- package/.aios-core/core/registry/validate-registry.js +340 -0
- package/.aios-core/core/session/context-detector.js +229 -0
- package/.aios-core/core/session/context-loader.js +288 -0
- package/.aios-core/core/utils/output-formatter.js +298 -0
- package/.aios-core/core/utils/security-utils.js +333 -0
- package/.aios-core/core/utils/yaml-validator.js +419 -0
- package/.aios-core/core-config.yaml +382 -0
- package/.aios-core/data/agent-config-requirements.yaml +368 -0
- package/.aios-core/data/aios-kb.md +924 -0
- package/.aios-core/data/technical-preferences.md +4 -0
- package/.aios-core/data/workflow-patterns.yaml +267 -0
- package/.aios-core/development/README.md +142 -0
- package/.aios-core/development/agent-teams/team-all.yaml +15 -0
- package/.aios-core/development/agent-teams/team-fullstack.yaml +18 -0
- package/.aios-core/development/agent-teams/team-ide-minimal.yaml +10 -0
- package/.aios-core/development/agent-teams/team-no-ui.yaml +13 -0
- package/.aios-core/development/agent-teams/team-qa-focused.yaml +155 -0
- package/.aios-core/development/agents/aios-master.md +339 -0
- package/.aios-core/development/agents/analyst.md +195 -0
- package/.aios-core/development/agents/architect.md +359 -0
- package/.aios-core/development/agents/data-engineer.md +468 -0
- package/.aios-core/development/agents/dev.md +390 -0
- package/.aios-core/development/agents/devops.md +398 -0
- package/.aios-core/development/agents/pm.md +198 -0
- package/.aios-core/development/agents/po.md +256 -0
- package/.aios-core/development/agents/qa.md +312 -0
- package/.aios-core/development/agents/sm.md +220 -0
- package/.aios-core/development/agents/ux-design-expert.md +451 -0
- package/.aios-core/development/scripts/agent-assignment-resolver.js +231 -0
- package/.aios-core/development/scripts/agent-config-loader.js +624 -0
- package/.aios-core/development/scripts/agent-exit-hooks.js +96 -0
- package/.aios-core/development/scripts/apply-inline-greeting-all-agents.js +146 -0
- package/.aios-core/development/scripts/audit-agent-config.js +380 -0
- package/.aios-core/development/scripts/backlog-manager.js +404 -0
- package/.aios-core/development/scripts/batch-update-agents-session-context.js +95 -0
- package/.aios-core/development/scripts/decision-context.js +228 -0
- package/.aios-core/development/scripts/decision-log-generator.js +293 -0
- package/.aios-core/development/scripts/decision-log-indexer.js +284 -0
- package/.aios-core/development/scripts/decision-recorder.js +168 -0
- package/.aios-core/development/scripts/dev-context-loader.js +297 -0
- package/.aios-core/development/scripts/generate-greeting.js +160 -0
- package/.aios-core/development/scripts/greeting-builder.js +866 -0
- package/.aios-core/development/scripts/greeting-config-cli.js +85 -0
- package/.aios-core/development/scripts/greeting-preference-manager.js +145 -0
- package/.aios-core/development/scripts/migrate-task-to-v2.js +377 -0
- package/.aios-core/development/scripts/story-index-generator.js +337 -0
- package/.aios-core/development/scripts/story-manager.js +375 -0
- package/.aios-core/development/scripts/story-update-hook.js +259 -0
- package/.aios-core/development/scripts/task-identifier-resolver.js +145 -0
- package/.aios-core/development/scripts/test-greeting-system.js +142 -0
- package/.aios-core/development/scripts/validate-task-v2.js +319 -0
- package/.aios-core/development/scripts/workflow-navigator.js +214 -0
- package/.aios-core/development/tasks/add-mcp.md +319 -0
- package/.aios-core/development/tasks/advanced-elicitation.md +319 -0
- package/.aios-core/development/tasks/analyst-facilitate-brainstorming.md +342 -0
- package/.aios-core/development/tasks/analyze-framework.md +697 -0
- package/.aios-core/development/tasks/analyze-performance.md +637 -0
- package/.aios-core/development/tasks/apply-qa-fixes.md +340 -0
- package/.aios-core/development/tasks/architect-analyze-impact.md +827 -0
- package/.aios-core/development/tasks/audit-codebase.md +429 -0
- package/.aios-core/development/tasks/audit-tailwind-config.md +270 -0
- package/.aios-core/development/tasks/audit-utilities.md +358 -0
- package/.aios-core/development/tasks/bootstrap-shadcn-library.md +286 -0
- package/.aios-core/development/tasks/brownfield-create-epic.md +486 -0
- package/.aios-core/development/tasks/brownfield-create-story.md +357 -0
- package/.aios-core/development/tasks/build-component.md +478 -0
- package/.aios-core/development/tasks/calculate-roi.md +455 -0
- package/.aios-core/development/tasks/ci-cd-configuration.md +764 -0
- package/.aios-core/development/tasks/cleanup-utilities.md +670 -0
- package/.aios-core/development/tasks/collaborative-edit.md +1109 -0
- package/.aios-core/development/tasks/compose-molecule.md +284 -0
- package/.aios-core/development/tasks/consolidate-patterns.md +414 -0
- package/.aios-core/development/tasks/correct-course.md +280 -0
- package/.aios-core/development/tasks/create-agent.md +322 -0
- package/.aios-core/development/tasks/create-brownfield-story.md +727 -0
- package/.aios-core/development/tasks/create-deep-research-prompt.md +499 -0
- package/.aios-core/development/tasks/create-doc.md +316 -0
- package/.aios-core/development/tasks/create-next-story.md +774 -0
- package/.aios-core/development/tasks/create-suite.md +284 -0
- package/.aios-core/development/tasks/create-task.md +372 -0
- package/.aios-core/development/tasks/create-workflow.md +371 -0
- package/.aios-core/development/tasks/db-analyze-hotpaths.md +572 -0
- package/.aios-core/development/tasks/db-apply-migration.md +381 -0
- package/.aios-core/development/tasks/db-bootstrap.md +642 -0
- package/.aios-core/development/tasks/db-domain-modeling.md +693 -0
- package/.aios-core/development/tasks/db-dry-run.md +293 -0
- package/.aios-core/development/tasks/db-env-check.md +260 -0
- package/.aios-core/development/tasks/db-expansion-pack-integration.md +663 -0
- package/.aios-core/development/tasks/db-explain.md +631 -0
- package/.aios-core/development/tasks/db-impersonate.md +495 -0
- package/.aios-core/development/tasks/db-load-csv.md +593 -0
- package/.aios-core/development/tasks/db-policy-apply.md +653 -0
- package/.aios-core/development/tasks/db-rls-audit.md +411 -0
- package/.aios-core/development/tasks/db-rollback.md +739 -0
- package/.aios-core/development/tasks/db-run-sql.md +613 -0
- package/.aios-core/development/tasks/db-schema-audit.md +1011 -0
- package/.aios-core/development/tasks/db-seed.md +390 -0
- package/.aios-core/development/tasks/db-smoke-test.md +351 -0
- package/.aios-core/development/tasks/db-snapshot.md +569 -0
- package/.aios-core/development/tasks/db-supabase-setup.md +712 -0
- package/.aios-core/development/tasks/db-verify-order.md +515 -0
- package/.aios-core/development/tasks/deprecate-component.md +957 -0
- package/.aios-core/development/tasks/dev-apply-qa-fixes.md +318 -0
- package/.aios-core/development/tasks/dev-backlog-debt.md +469 -0
- package/.aios-core/development/tasks/dev-develop-story.md +846 -0
- package/.aios-core/development/tasks/dev-improve-code-quality.md +873 -0
- package/.aios-core/development/tasks/dev-optimize-performance.md +1034 -0
- package/.aios-core/development/tasks/dev-suggest-refactoring.md +871 -0
- package/.aios-core/development/tasks/dev-validate-next-story.md +349 -0
- package/.aios-core/development/tasks/document-project.md +553 -0
- package/.aios-core/development/tasks/environment-bootstrap.md +1311 -0
- package/.aios-core/development/tasks/execute-checklist.md +301 -0
- package/.aios-core/development/tasks/export-design-tokens-dtcg.md +274 -0
- package/.aios-core/development/tasks/extend-pattern.md +269 -0
- package/.aios-core/development/tasks/extract-tokens.md +467 -0
- package/.aios-core/development/tasks/facilitate-brainstorming-session.md +518 -0
- package/.aios-core/development/tasks/generate-ai-frontend-prompt.md +261 -0
- package/.aios-core/development/tasks/generate-documentation.md +284 -0
- package/.aios-core/development/tasks/generate-migration-strategy.md +522 -0
- package/.aios-core/development/tasks/generate-shock-report.md +501 -0
- package/.aios-core/development/tasks/github-devops-github-pr-automation.md +427 -0
- package/.aios-core/development/tasks/github-devops-pre-push-quality-gate.md +733 -0
- package/.aios-core/development/tasks/github-devops-repository-cleanup.md +374 -0
- package/.aios-core/development/tasks/github-devops-version-management.md +483 -0
- package/.aios-core/development/tasks/improve-self.md +823 -0
- package/.aios-core/development/tasks/index-docs.md +388 -0
- package/.aios-core/development/tasks/init-project-status.md +506 -0
- package/.aios-core/development/tasks/integrate-expansion-pack.md +314 -0
- package/.aios-core/development/tasks/kb-mode-interaction.md +284 -0
- package/.aios-core/development/tasks/learn-patterns.md +901 -0
- package/.aios-core/development/tasks/mcp-workflow.md +437 -0
- package/.aios-core/development/tasks/modify-agent.md +382 -0
- package/.aios-core/development/tasks/modify-task.md +425 -0
- package/.aios-core/development/tasks/modify-workflow.md +466 -0
- package/.aios-core/development/tasks/po-backlog-add.md +370 -0
- package/.aios-core/development/tasks/po-manage-story-backlog.md +523 -0
- package/.aios-core/development/tasks/po-pull-story-from-clickup.md +540 -0
- package/.aios-core/development/tasks/po-pull-story.md +316 -0
- package/.aios-core/development/tasks/po-stories-index.md +351 -0
- package/.aios-core/development/tasks/po-sync-story-to-clickup.md +457 -0
- package/.aios-core/development/tasks/po-sync-story.md +303 -0
- package/.aios-core/development/tasks/pr-automation.md +701 -0
- package/.aios-core/development/tasks/propose-modification.md +843 -0
- package/.aios-core/development/tasks/qa-backlog-add-followup.md +425 -0
- package/.aios-core/development/tasks/qa-gate.md +374 -0
- package/.aios-core/development/tasks/qa-generate-tests.md +1175 -0
- package/.aios-core/development/tasks/qa-nfr-assess.md +558 -0
- package/.aios-core/development/tasks/qa-review-proposal.md +1158 -0
- package/.aios-core/development/tasks/qa-review-story.md +683 -0
- package/.aios-core/development/tasks/qa-risk-profile.md +567 -0
- package/.aios-core/development/tasks/qa-run-tests.md +277 -0
- package/.aios-core/development/tasks/qa-test-design.md +388 -0
- package/.aios-core/development/tasks/qa-trace-requirements.md +477 -0
- package/.aios-core/development/tasks/release-management.md +723 -0
- package/.aios-core/development/tasks/security-audit.md +554 -0
- package/.aios-core/development/tasks/security-scan.md +790 -0
- package/.aios-core/development/tasks/setup-database.md +741 -0
- package/.aios-core/development/tasks/setup-design-system.md +462 -0
- package/.aios-core/development/tasks/setup-github.md +874 -0
- package/.aios-core/development/tasks/setup-llm-routing.md +229 -0
- package/.aios-core/development/tasks/setup-mcp-docker.md +584 -0
- package/.aios-core/development/tasks/shard-doc.md +538 -0
- package/.aios-core/development/tasks/sm-create-next-story.md +480 -0
- package/.aios-core/development/tasks/sync-documentation.md +865 -0
- package/.aios-core/development/tasks/tailwind-upgrade.md +294 -0
- package/.aios-core/development/tasks/test-as-user.md +621 -0
- package/.aios-core/development/tasks/test-validation-task.md +171 -0
- package/.aios-core/development/tasks/undo-last.md +347 -0
- package/.aios-core/development/tasks/update-manifest.md +410 -0
- package/.aios-core/development/tasks/ux-create-wireframe.md +617 -0
- package/.aios-core/development/tasks/ux-ds-scan-artifact.md +672 -0
- package/.aios-core/development/tasks/ux-user-research.md +559 -0
- package/.aios-core/development/tasks/validate-next-story.md +423 -0
- package/.aios-core/development/tasks/validate-structure.md +243 -0
- package/.aios-core/development/workflows/README.md +84 -0
- package/.aios-core/development/workflows/brownfield-fullstack.yaml +297 -0
- package/.aios-core/development/workflows/brownfield-service.yaml +187 -0
- package/.aios-core/development/workflows/brownfield-ui.yaml +197 -0
- package/.aios-core/development/workflows/greenfield-fullstack.yaml +333 -0
- package/.aios-core/development/workflows/greenfield-service.yaml +206 -0
- package/.aios-core/development/workflows/greenfield-ui.yaml +235 -0
- package/.aios-core/docs/SHARD-TRANSLATION-GUIDE.md +335 -0
- package/.aios-core/docs/component-creation-guide.md +458 -0
- package/.aios-core/docs/session-update-pattern.md +307 -0
- package/.aios-core/docs/standards/AGENT-PERSONALIZATION-STANDARD-V1.md +572 -0
- package/.aios-core/docs/standards/AIOS-COLOR-PALETTE-QUICK-REFERENCE.md +185 -0
- package/.aios-core/docs/standards/AIOS-COLOR-PALETTE-V2.1.md +354 -0
- package/.aios-core/docs/standards/AIOS-FRAMEWORK-MASTER.md +1963 -0
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1-COMPLETE.md +821 -0
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1-SUMMARY.md +1190 -0
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1.md +439 -0
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.2-SUMMARY.md +1339 -0
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO.md +5398 -0
- package/.aios-core/docs/standards/EXECUTOR-DECISION-TREE.md +697 -0
- package/.aios-core/docs/standards/OPEN-SOURCE-VS-SERVICE-DIFFERENCES.md +511 -0
- package/.aios-core/docs/standards/QUALITY-GATES-SPECIFICATION.md +556 -0
- package/.aios-core/docs/standards/STANDARDS-INDEX.md +210 -0
- package/.aios-core/docs/standards/STORY-TEMPLATE-V2-SPECIFICATION.md +550 -0
- package/.aios-core/docs/standards/TASK-FORMAT-SPECIFICATION-V1.md +1414 -0
- package/.aios-core/docs/standards/V3-ARCHITECTURAL-DECISIONS.md +523 -0
- package/.aios-core/docs/template-syntax.md +267 -0
- package/.aios-core/docs/troubleshooting-guide.md +625 -0
- package/.aios-core/elicitation/agent-elicitation.js +272 -0
- package/.aios-core/elicitation/task-elicitation.js +281 -0
- package/.aios-core/elicitation/workflow-elicitation.js +315 -0
- package/.aios-core/index.d.ts +8 -0
- package/.aios-core/index.esm.js +16 -0
- package/.aios-core/index.js +16 -0
- package/.aios-core/infrastructure/README.md +126 -0
- package/.aios-core/infrastructure/index.js +199 -0
- package/.aios-core/infrastructure/integrations/pm-adapters/README.md +59 -0
- package/.aios-core/infrastructure/integrations/pm-adapters/clickup-adapter.js +345 -0
- package/.aios-core/infrastructure/integrations/pm-adapters/github-adapter.js +392 -0
- package/.aios-core/infrastructure/integrations/pm-adapters/jira-adapter.js +448 -0
- package/.aios-core/infrastructure/integrations/pm-adapters/local-adapter.js +175 -0
- package/.aios-core/infrastructure/scripts/_archived/final-todo-count.js +122 -0
- package/.aios-core/infrastructure/scripts/_archived/fix-yaml-formatting.js +89 -0
- package/.aios-core/infrastructure/scripts/_archived/migration-generator.js +780 -0
- package/.aios-core/infrastructure/scripts/_archived/migration-path-generator.js +950 -0
- package/.aios-core/infrastructure/scripts/_archived/phase2-entrada-saida-errors.js +425 -0
- package/.aios-core/infrastructure/scripts/_archived/phase2-spot-check.js +132 -0
- package/.aios-core/infrastructure/scripts/_archived/phase3-tools-scripts-validation.js +381 -0
- package/.aios-core/infrastructure/scripts/_archived/phase4-metadata-performance.js +203 -0
- package/.aios-core/infrastructure/scripts/_archived/test-yaml-parsing.js +24 -0
- package/.aios-core/infrastructure/scripts/_archived/verify-yaml-fix.js +51 -0
- package/.aios-core/infrastructure/scripts/aios-validator.js +294 -0
- package/.aios-core/infrastructure/scripts/approval-workflow.js +643 -0
- package/.aios-core/infrastructure/scripts/atomic-layer-classifier.js +308 -0
- package/.aios-core/infrastructure/scripts/backup-manager.js +607 -0
- package/.aios-core/infrastructure/scripts/batch-creator.js +608 -0
- package/.aios-core/infrastructure/scripts/branch-manager.js +391 -0
- package/.aios-core/infrastructure/scripts/capability-analyzer.js +535 -0
- package/.aios-core/infrastructure/scripts/clickup-helpers.js +226 -0
- package/.aios-core/infrastructure/scripts/code-quality-improver.js +1312 -0
- package/.aios-core/infrastructure/scripts/commit-message-generator.js +850 -0
- package/.aios-core/infrastructure/scripts/component-generator.js +738 -0
- package/.aios-core/infrastructure/scripts/component-metadata.js +627 -0
- package/.aios-core/infrastructure/scripts/component-search.js +277 -0
- package/.aios-core/infrastructure/scripts/config-cache.js +322 -0
- package/.aios-core/infrastructure/scripts/config-loader.js +349 -0
- package/.aios-core/infrastructure/scripts/conflict-resolver.js +675 -0
- package/.aios-core/infrastructure/scripts/coverage-analyzer.js +882 -0
- package/.aios-core/infrastructure/scripts/dependency-analyzer.js +638 -0
- package/.aios-core/infrastructure/scripts/dependency-impact-analyzer.js +703 -0
- package/.aios-core/infrastructure/scripts/diff-generator.js +129 -0
- package/.aios-core/infrastructure/scripts/documentation-integrity/brownfield-analyzer.js +501 -0
- package/.aios-core/infrastructure/scripts/documentation-integrity/config-generator.js +329 -0
- package/.aios-core/infrastructure/scripts/documentation-integrity/deployment-config-loader.js +282 -0
- package/.aios-core/infrastructure/scripts/documentation-integrity/doc-generator.js +331 -0
- package/.aios-core/infrastructure/scripts/documentation-integrity/gitignore-generator.js +313 -0
- package/.aios-core/infrastructure/scripts/documentation-integrity/index.js +74 -0
- package/.aios-core/infrastructure/scripts/documentation-integrity/mode-detector.js +358 -0
- package/.aios-core/infrastructure/scripts/documentation-synchronizer.js +1432 -0
- package/.aios-core/infrastructure/scripts/framework-analyzer.js +746 -0
- package/.aios-core/infrastructure/scripts/git-config-detector.js +293 -0
- package/.aios-core/infrastructure/scripts/git-wrapper.js +443 -0
- package/.aios-core/infrastructure/scripts/improvement-engine.js +758 -0
- package/.aios-core/infrastructure/scripts/improvement-validator.js +710 -0
- package/.aios-core/infrastructure/scripts/llm-routing/install-llm-routing.js +267 -0
- package/.aios-core/infrastructure/scripts/llm-routing/templates/claude-free.cmd +80 -0
- package/.aios-core/infrastructure/scripts/llm-routing/templates/claude-free.sh +62 -0
- package/.aios-core/infrastructure/scripts/llm-routing/templates/claude-max.cmd +26 -0
- package/.aios-core/infrastructure/scripts/llm-routing/templates/claude-max.sh +18 -0
- package/.aios-core/infrastructure/scripts/modification-risk-assessment.js +970 -0
- package/.aios-core/infrastructure/scripts/modification-validator.js +555 -0
- package/.aios-core/infrastructure/scripts/output-formatter.js +297 -0
- package/.aios-core/infrastructure/scripts/performance-analyzer.js +758 -0
- package/.aios-core/infrastructure/scripts/performance-and-error-resolver.js +258 -0
- package/.aios-core/infrastructure/scripts/performance-optimizer.js +1902 -0
- package/.aios-core/infrastructure/scripts/performance-tracker.js +452 -0
- package/.aios-core/infrastructure/scripts/pm-adapter-factory.js +181 -0
- package/.aios-core/infrastructure/scripts/pm-adapter.js +134 -0
- package/.aios-core/infrastructure/scripts/project-status-loader.js +445 -0
- package/.aios-core/infrastructure/scripts/refactoring-suggester.js +1139 -0
- package/.aios-core/infrastructure/scripts/repository-detector.js +64 -0
- package/.aios-core/infrastructure/scripts/sandbox-tester.js +618 -0
- package/.aios-core/infrastructure/scripts/security-checker.js +359 -0
- package/.aios-core/infrastructure/scripts/source-tree-guardian/index.js +375 -0
- package/.aios-core/infrastructure/scripts/source-tree-guardian/manifest-generator.js +410 -0
- package/.aios-core/infrastructure/scripts/source-tree-guardian/rules/naming-rules.yaml +285 -0
- package/.aios-core/infrastructure/scripts/source-tree-guardian/rules/placement-rules.yaml +262 -0
- package/.aios-core/infrastructure/scripts/source-tree-guardian/validator.js +468 -0
- package/.aios-core/infrastructure/scripts/spot-check-validator.js +149 -0
- package/.aios-core/infrastructure/scripts/status-mapper.js +115 -0
- package/.aios-core/infrastructure/scripts/template-engine.js +240 -0
- package/.aios-core/infrastructure/scripts/template-validator.js +279 -0
- package/.aios-core/infrastructure/scripts/test-generator.js +844 -0
- package/.aios-core/infrastructure/scripts/test-quality-assessment.js +1081 -0
- package/.aios-core/infrastructure/scripts/test-utilities-fast.js +126 -0
- package/.aios-core/infrastructure/scripts/test-utilities.js +200 -0
- package/.aios-core/infrastructure/scripts/tool-resolver.js +360 -0
- package/.aios-core/infrastructure/scripts/transaction-manager.js +590 -0
- package/.aios-core/infrastructure/scripts/usage-analytics.js +634 -0
- package/.aios-core/infrastructure/scripts/validate-output-pattern.js +213 -0
- package/.aios-core/infrastructure/scripts/visual-impact-generator.js +1056 -0
- package/.aios-core/infrastructure/scripts/yaml-validator.js +397 -0
- package/.aios-core/infrastructure/templates/coderabbit.yaml.template +279 -0
- package/.aios-core/infrastructure/templates/core-config/core-config-brownfield.tmpl.yaml +182 -0
- package/.aios-core/infrastructure/templates/core-config/core-config-greenfield.tmpl.yaml +127 -0
- package/.aios-core/infrastructure/templates/github-workflows/README.md +109 -0
- package/.aios-core/infrastructure/templates/github-workflows/ci.yml.template +169 -0
- package/.aios-core/infrastructure/templates/github-workflows/pr-automation.yml.template +330 -0
- package/.aios-core/infrastructure/templates/github-workflows/release.yml.template +196 -0
- package/.aios-core/infrastructure/templates/gitignore/gitignore-aios-base.tmpl +63 -0
- package/.aios-core/infrastructure/templates/gitignore/gitignore-brownfield-merge.tmpl +18 -0
- package/.aios-core/infrastructure/templates/gitignore/gitignore-node.tmpl +85 -0
- package/.aios-core/infrastructure/templates/gitignore/gitignore-python.tmpl +145 -0
- package/.aios-core/infrastructure/templates/project-docs/coding-standards-tmpl.md +346 -0
- package/.aios-core/infrastructure/templates/project-docs/source-tree-tmpl.md +177 -0
- package/.aios-core/infrastructure/templates/project-docs/tech-stack-tmpl.md +267 -0
- package/.aios-core/infrastructure/tests/project-status-loader.test.js +394 -0
- package/.aios-core/infrastructure/tests/regression-suite-v2.md +621 -0
- package/.aios-core/infrastructure/tests/utilities-audit-results.json +501 -0
- package/.aios-core/infrastructure/tests/validate-module.js +97 -0
- package/.aios-core/infrastructure/tools/README.md +222 -0
- package/.aios-core/infrastructure/tools/cli/github-cli.yaml +200 -0
- package/.aios-core/infrastructure/tools/cli/llm-routing.yaml +126 -0
- package/.aios-core/infrastructure/tools/cli/railway-cli.yaml +260 -0
- package/.aios-core/infrastructure/tools/cli/supabase-cli.yaml +224 -0
- package/.aios-core/infrastructure/tools/local/ffmpeg.yaml +261 -0
- package/.aios-core/infrastructure/tools/mcp/21st-dev-magic.yaml +127 -0
- package/.aios-core/infrastructure/tools/mcp/browser.yaml +103 -0
- package/.aios-core/infrastructure/tools/mcp/clickup.yaml +534 -0
- package/.aios-core/infrastructure/tools/mcp/context7.yaml +78 -0
- package/.aios-core/infrastructure/tools/mcp/desktop-commander.yaml +180 -0
- package/.aios-core/infrastructure/tools/mcp/exa.yaml +103 -0
- package/.aios-core/infrastructure/tools/mcp/google-workspace.yaml +930 -0
- package/.aios-core/infrastructure/tools/mcp/n8n.yaml +551 -0
- package/.aios-core/infrastructure/tools/mcp/supabase.yaml +808 -0
- package/.aios-core/install-manifest.yaml +347 -0
- package/.aios-core/manifests/agents.csv +1 -0
- package/.aios-core/manifests/schema/manifest-schema.json +190 -0
- package/.aios-core/manifests/tasks.csv +121 -0
- package/.aios-core/manifests/workers.csv +204 -0
- package/.aios-core/package.json +103 -0
- package/.aios-core/product/README.md +56 -0
- package/.aios-core/product/checklists/architect-checklist.md +444 -0
- package/.aios-core/product/checklists/change-checklist.md +183 -0
- package/.aios-core/product/checklists/database-design-checklist.md +119 -0
- package/.aios-core/product/checklists/dba-predeploy-checklist.md +97 -0
- package/.aios-core/product/checklists/dba-rollback-checklist.md +99 -0
- package/.aios-core/product/checklists/pm-checklist.md +376 -0
- package/.aios-core/product/checklists/po-master-checklist.md +442 -0
- package/.aios-core/product/checklists/pre-push-checklist.md +108 -0
- package/.aios-core/product/checklists/release-checklist.md +122 -0
- package/.aios-core/product/checklists/story-dod-checklist.md +102 -0
- package/.aios-core/product/checklists/story-draft-checklist.md +216 -0
- package/.aios-core/product/data/brainstorming-techniques.md +37 -0
- package/.aios-core/product/data/elicitation-methods.md +135 -0
- package/.aios-core/product/data/mode-selection-best-practices.md +471 -0
- package/.aios-core/product/data/test-levels-framework.md +149 -0
- package/.aios-core/product/data/test-priorities-matrix.md +175 -0
- package/.aios-core/product/templates/1mcp-config.yaml +225 -0
- package/.aios-core/product/templates/activation-instructions-inline-greeting.yaml +63 -0
- package/.aios-core/product/templates/activation-instructions-template.md +258 -0
- package/.aios-core/product/templates/adr.hbs +125 -0
- package/.aios-core/product/templates/agent-template.yaml +121 -0
- package/.aios-core/product/templates/architecture-tmpl.yaml +651 -0
- package/.aios-core/product/templates/brainstorming-output-tmpl.yaml +156 -0
- package/.aios-core/product/templates/brownfield-architecture-tmpl.yaml +476 -0
- package/.aios-core/product/templates/brownfield-prd-tmpl.yaml +280 -0
- package/.aios-core/product/templates/changelog-template.md +134 -0
- package/.aios-core/product/templates/command-rationalization-matrix.md +152 -0
- package/.aios-core/product/templates/competitor-analysis-tmpl.yaml +293 -0
- package/.aios-core/product/templates/component-react-tmpl.tsx +98 -0
- package/.aios-core/product/templates/dbdr.hbs +241 -0
- package/.aios-core/product/templates/design-story-tmpl.yaml +587 -0
- package/.aios-core/product/templates/ds-artifact-analysis.md +70 -0
- package/.aios-core/product/templates/engine/elicitation.js +298 -0
- package/.aios-core/product/templates/engine/index.js +308 -0
- package/.aios-core/product/templates/engine/loader.js +231 -0
- package/.aios-core/product/templates/engine/renderer.js +343 -0
- package/.aios-core/product/templates/engine/schemas/adr.schema.json +102 -0
- package/.aios-core/product/templates/engine/schemas/dbdr.schema.json +205 -0
- package/.aios-core/product/templates/engine/schemas/epic.schema.json +175 -0
- package/.aios-core/product/templates/engine/schemas/pmdr.schema.json +175 -0
- package/.aios-core/product/templates/engine/schemas/prd-v2.schema.json +300 -0
- package/.aios-core/product/templates/engine/schemas/prd.schema.json +152 -0
- package/.aios-core/product/templates/engine/schemas/story.schema.json +222 -0
- package/.aios-core/product/templates/engine/schemas/task.schema.json +154 -0
- package/.aios-core/product/templates/engine/validator.js +294 -0
- package/.aios-core/product/templates/epic.hbs +212 -0
- package/.aios-core/product/templates/eslintrc-security.json +32 -0
- package/.aios-core/product/templates/front-end-architecture-tmpl.yaml +206 -0
- package/.aios-core/product/templates/front-end-spec-tmpl.yaml +349 -0
- package/.aios-core/product/templates/fullstack-architecture-tmpl.yaml +805 -0
- package/.aios-core/product/templates/github-actions-cd.yml +212 -0
- package/.aios-core/product/templates/github-actions-ci.yml +172 -0
- package/.aios-core/product/templates/github-pr-template.md +67 -0
- package/.aios-core/product/templates/gordon-mcp.yaml +140 -0
- package/.aios-core/product/templates/ide-rules/antigravity-rules.md +115 -0
- package/.aios-core/product/templates/ide-rules/claude-rules.md +221 -0
- package/.aios-core/product/templates/ide-rules/cline-rules.md +84 -0
- package/.aios-core/product/templates/ide-rules/copilot-rules.md +92 -0
- package/.aios-core/product/templates/ide-rules/cursor-rules.md +115 -0
- package/.aios-core/product/templates/ide-rules/gemini-rules.md +85 -0
- package/.aios-core/product/templates/ide-rules/roo-rules.md +86 -0
- package/.aios-core/product/templates/ide-rules/trae-rules.md +104 -0
- package/.aios-core/product/templates/ide-rules/windsurf-rules.md +80 -0
- package/.aios-core/product/templates/index-strategy-tmpl.yaml +53 -0
- package/.aios-core/product/templates/market-research-tmpl.yaml +252 -0
- package/.aios-core/product/templates/mcp-workflow.js +271 -0
- package/.aios-core/product/templates/migration-plan-tmpl.yaml +1022 -0
- package/.aios-core/product/templates/migration-strategy-tmpl.md +524 -0
- package/.aios-core/product/templates/personalized-agent-template.md +258 -0
- package/.aios-core/product/templates/personalized-checklist-template.md +340 -0
- package/.aios-core/product/templates/personalized-task-template-v2.md +905 -0
- package/.aios-core/product/templates/personalized-task-template.md +344 -0
- package/.aios-core/product/templates/personalized-template-file.yaml +322 -0
- package/.aios-core/product/templates/personalized-workflow-template.yaml +460 -0
- package/.aios-core/product/templates/pmdr.hbs +186 -0
- package/.aios-core/product/templates/prd-tmpl.yaml +202 -0
- package/.aios-core/product/templates/prd-v2.0.hbs +216 -0
- package/.aios-core/product/templates/prd.hbs +201 -0
- package/.aios-core/product/templates/project-brief-tmpl.yaml +221 -0
- package/.aios-core/product/templates/qa-gate-tmpl.yaml +240 -0
- package/.aios-core/product/templates/rls-policies-tmpl.yaml +1203 -0
- package/.aios-core/product/templates/schema-design-tmpl.yaml +428 -0
- package/.aios-core/product/templates/shock-report-tmpl.html +502 -0
- package/.aios-core/product/templates/state-persistence-tmpl.yaml +219 -0
- package/.aios-core/product/templates/story-tmpl.yaml +332 -0
- package/.aios-core/product/templates/story.hbs +263 -0
- package/.aios-core/product/templates/task-execution-report.md +495 -0
- package/.aios-core/product/templates/task-template.md +123 -0
- package/.aios-core/product/templates/task.hbs +170 -0
- package/.aios-core/product/templates/tmpl-comment-on-examples.sql +158 -0
- package/.aios-core/product/templates/tmpl-migration-script.sql +91 -0
- package/.aios-core/product/templates/tmpl-rls-granular-policies.sql +104 -0
- package/.aios-core/product/templates/tmpl-rls-kiss-policy.sql +10 -0
- package/.aios-core/product/templates/tmpl-rls-roles.sql +135 -0
- package/.aios-core/product/templates/tmpl-rls-simple.sql +77 -0
- package/.aios-core/product/templates/tmpl-rls-tenant.sql +152 -0
- package/.aios-core/product/templates/tmpl-rollback-script.sql +77 -0
- package/.aios-core/product/templates/tmpl-seed-data.sql +140 -0
- package/.aios-core/product/templates/tmpl-smoke-test.sql +16 -0
- package/.aios-core/product/templates/tmpl-staging-copy-merge.sql +139 -0
- package/.aios-core/product/templates/tmpl-stored-proc.sql +140 -0
- package/.aios-core/product/templates/tmpl-trigger.sql +152 -0
- package/.aios-core/product/templates/tmpl-view-materialized.sql +133 -0
- package/.aios-core/product/templates/tmpl-view.sql +177 -0
- package/.aios-core/product/templates/token-exports-css-tmpl.css +240 -0
- package/.aios-core/product/templates/token-exports-tailwind-tmpl.js +395 -0
- package/.aios-core/product/templates/tokens-schema-tmpl.yaml +305 -0
- package/.aios-core/product/templates/workflow-template.yaml +134 -0
- package/.aios-core/quality/metrics-collector.js +572 -0
- package/.aios-core/quality/metrics-hook.js +260 -0
- package/.aios-core/quality/schemas/quality-metrics.schema.json +233 -0
- package/.aios-core/quality/seed-metrics.js +336 -0
- package/.aios-core/scripts/README.md +354 -0
- package/.aios-core/scripts/aios-doc-template.md +325 -0
- package/.aios-core/scripts/batch-migrate-phase1.ps1 +36 -0
- package/.aios-core/scripts/batch-migrate-phase2.ps1 +88 -0
- package/.aios-core/scripts/batch-migrate-phase3.ps1 +45 -0
- package/.aios-core/scripts/command-execution-hook.js +201 -0
- package/.aios-core/scripts/context-detector.js +226 -0
- package/.aios-core/scripts/elicitation-engine.js +385 -0
- package/.aios-core/scripts/elicitation-session-manager.js +300 -0
- package/.aios-core/scripts/migrate-framework-docs.sh +300 -0
- package/.aios-core/scripts/session-context-loader.js +286 -0
- package/.aios-core/scripts/test-template-system.js +941 -0
- package/.aios-core/scripts/validate-phase1.ps1 +35 -0
- package/.aios-core/scripts/workflow-management.md +69 -0
- package/.aios-core/tasks/find-component.md.legacy +391 -0
- package/.aios-core/tasks/generate-commit-message.md.legacy +426 -0
- package/.aios-core/tasks/generate-migration.md.legacy +382 -0
- package/.aios-core/tasks/rollback-modification.md.legacy +307 -0
- package/.aios-core/tasks/update-tests.md.legacy +283 -0
- package/.aios-core/user-guide.md +1413 -0
- package/.aios-core/working-in-the-brownfield.md +361 -0
- package/.claude/CLAUDE.md +221 -0
- package/LICENSE +48 -0
- package/README.md +703 -0
- package/bin/aios-init-old.js +532 -0
- package/bin/aios-init-v4.js +390 -0
- package/bin/aios-init.backup-v1.1.4.js +352 -0
- package/bin/aios-init.js +736 -0
- package/bin/aios-minimal.js +26 -0
- package/bin/aios.js +279 -0
- package/bin/migrate-pm-config.js +219 -0
- package/bin/modules/env-config.js +436 -0
- package/bin/modules/mcp-installer.js +383 -0
- package/bin/utils/install-errors.js +339 -0
- package/bin/utils/install-transaction.js +445 -0
- package/index.d.ts +19 -0
- package/index.esm.js +21 -0
- package/index.js +94 -0
- package/package.json +161 -0
- package/packages/installer/package.json +39 -0
- package/packages/installer/src/config/configure-environment.js +312 -0
- package/packages/installer/src/config/templates/core-config-template.js +183 -0
- package/packages/installer/src/config/templates/env-template.js +127 -0
- package/packages/installer/src/config/validation/config-validator.js +243 -0
- package/packages/installer/src/detection/detect-project-type.js +81 -0
- package/packages/installer/src/wizard/wizard.js +244 -0
- package/packages/installer/tests/integration/environment-configuration.test.js +328 -0
- package/packages/installer/tests/integration/wizard-detection.test.js +349 -0
- package/packages/installer/tests/unit/config-validator.test.js +315 -0
- package/packages/installer/tests/unit/detection/detect-project-type.test.js +401 -0
- package/packages/installer/tests/unit/env-template.test.js +185 -0
- package/src/config/ide-configs.js +189 -0
- package/src/installer/aios-core-installer.js +319 -0
- package/src/installer/dependency-installer.js +335 -0
- package/src/utils/aios-colors.js +234 -0
- package/src/wizard/feedback.js +218 -0
- package/src/wizard/ide-config-generator.js +488 -0
- package/src/wizard/ide-selector.js +84 -0
- package/src/wizard/index.js +589 -0
- package/src/wizard/questions.js +249 -0
- package/src/wizard/validation/index.js +120 -0
- package/src/wizard/validation/report-generator.js +269 -0
- package/src/wizard/validation/troubleshooting-system.js +346 -0
- package/src/wizard/validation/validators/config-validator.js +362 -0
- package/src/wizard/validation/validators/dependency-validator.js +333 -0
- package/src/wizard/validation/validators/file-structure-validator.js +181 -0
- package/src/wizard/validation/validators/mcp-health-checker.js +310 -0
- package/src/wizard/validators.js +274 -0
- package/templates/squad/LICENSE +21 -0
- package/templates/squad/README.md +37 -0
- package/templates/squad/agents/example-agent.yaml +36 -0
- package/templates/squad/package.json +19 -0
- package/templates/squad/squad.yaml +25 -0
- package/templates/squad/tasks/example-task.yaml +46 -0
- package/templates/squad/templates/example-template.md +24 -0
- package/templates/squad/tests/example-agent.test.js +53 -0
- package/templates/squad/workflows/example-workflow.yaml +54 -0
- package/tools/package-builder.js +35 -0
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Quality Metrics Seed Data Generator
|
|
3
|
+
*
|
|
4
|
+
* Generates realistic seed data for testing the metrics dashboard.
|
|
5
|
+
* Creates 30 days of historical data with realistic patterns.
|
|
6
|
+
*
|
|
7
|
+
* @module quality/seed-metrics
|
|
8
|
+
* @version 1.0.0
|
|
9
|
+
* @story 3.11a - Quality Gates Metrics Collector
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
const { MetricsCollector, createEmptyMetrics } = require('./metrics-collector');
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Generate a random integer between min and max (inclusive)
|
|
16
|
+
* @param {number} min - Minimum value
|
|
17
|
+
* @param {number} max - Maximum value
|
|
18
|
+
* @returns {number} Random integer
|
|
19
|
+
*/
|
|
20
|
+
function randomInt(min, max) {
|
|
21
|
+
return Math.floor(Math.random() * (max - min + 1)) + min;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Generate a random boolean with given probability of true
|
|
26
|
+
* @param {number} probability - Probability of true (0-1)
|
|
27
|
+
* @returns {boolean} Random boolean
|
|
28
|
+
*/
|
|
29
|
+
function randomBool(probability = 0.5) {
|
|
30
|
+
return Math.random() < probability;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Generate realistic Layer 1 (pre-commit) run
|
|
35
|
+
* @param {Date} timestamp - Run timestamp
|
|
36
|
+
* @returns {Object} Run data
|
|
37
|
+
*/
|
|
38
|
+
function generateLayer1Run(timestamp) {
|
|
39
|
+
// Layer 1 has high pass rate (90-95%)
|
|
40
|
+
const passed = randomBool(0.92);
|
|
41
|
+
|
|
42
|
+
// Duration varies: passed runs are faster
|
|
43
|
+
const baseDuration = passed ? randomInt(2000, 5000) : randomInt(4000, 8000);
|
|
44
|
+
|
|
45
|
+
// Findings: 0-2 for passed, 1-5 for failed
|
|
46
|
+
const findingsCount = passed ? randomInt(0, 2) : randomInt(1, 5);
|
|
47
|
+
|
|
48
|
+
return {
|
|
49
|
+
timestamp: timestamp.toISOString(),
|
|
50
|
+
layer: 1,
|
|
51
|
+
passed,
|
|
52
|
+
durationMs: baseDuration,
|
|
53
|
+
findingsCount,
|
|
54
|
+
metadata: {
|
|
55
|
+
triggeredBy: randomBool(0.8) ? 'hook' : 'cli',
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Generate realistic Layer 2 (PR automation) run
|
|
62
|
+
* @param {Date} timestamp - Run timestamp
|
|
63
|
+
* @returns {Object} Run data
|
|
64
|
+
*/
|
|
65
|
+
function generateLayer2Run(timestamp) {
|
|
66
|
+
// Layer 2 has moderate pass rate (85-90%)
|
|
67
|
+
const passed = randomBool(0.87);
|
|
68
|
+
|
|
69
|
+
// PR reviews take longer
|
|
70
|
+
const baseDuration = randomInt(120000, 600000); // 2-10 minutes
|
|
71
|
+
|
|
72
|
+
// CodeRabbit findings distribution
|
|
73
|
+
const crActive = randomBool(0.95); // CodeRabbit active 95% of time
|
|
74
|
+
const crCritical = passed ? 0 : randomInt(0, 2);
|
|
75
|
+
const crHigh = passed ? randomInt(0, 1) : randomInt(1, 4);
|
|
76
|
+
const crMedium = randomInt(0, 5);
|
|
77
|
+
const crLow = randomInt(1, 8);
|
|
78
|
+
const crTotal = crCritical + crHigh + crMedium + crLow;
|
|
79
|
+
|
|
80
|
+
// Quinn findings
|
|
81
|
+
const quinnFindings = randomInt(0, 6);
|
|
82
|
+
const categories = [
|
|
83
|
+
'test-coverage',
|
|
84
|
+
'documentation',
|
|
85
|
+
'error-handling',
|
|
86
|
+
'performance',
|
|
87
|
+
'security',
|
|
88
|
+
'code-style',
|
|
89
|
+
'maintainability',
|
|
90
|
+
];
|
|
91
|
+
const topCategories = categories
|
|
92
|
+
.sort(() => Math.random() - 0.5)
|
|
93
|
+
.slice(0, randomInt(1, 3));
|
|
94
|
+
|
|
95
|
+
return {
|
|
96
|
+
timestamp: timestamp.toISOString(),
|
|
97
|
+
layer: 2,
|
|
98
|
+
passed,
|
|
99
|
+
durationMs: baseDuration,
|
|
100
|
+
findingsCount: crTotal + quinnFindings,
|
|
101
|
+
metadata: {
|
|
102
|
+
triggeredBy: 'pr',
|
|
103
|
+
coderabbit: crActive ? {
|
|
104
|
+
findingsCount: crTotal,
|
|
105
|
+
severityBreakdown: {
|
|
106
|
+
critical: crCritical,
|
|
107
|
+
high: crHigh,
|
|
108
|
+
medium: crMedium,
|
|
109
|
+
low: crLow,
|
|
110
|
+
},
|
|
111
|
+
} : null,
|
|
112
|
+
quinn: {
|
|
113
|
+
findingsCount: quinnFindings,
|
|
114
|
+
topCategories,
|
|
115
|
+
},
|
|
116
|
+
},
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Generate realistic Layer 3 (human review) run
|
|
122
|
+
* @param {Date} timestamp - Run timestamp
|
|
123
|
+
* @returns {Object} Run data
|
|
124
|
+
*/
|
|
125
|
+
function generateLayer3Run(timestamp) {
|
|
126
|
+
// Layer 3 has highest pass rate (95-98%)
|
|
127
|
+
const passed = randomBool(0.96);
|
|
128
|
+
|
|
129
|
+
// Human reviews vary widely in time
|
|
130
|
+
const baseDuration = randomInt(300000, 1800000); // 5-30 minutes
|
|
131
|
+
|
|
132
|
+
// Findings are usually minimal at this stage
|
|
133
|
+
const findingsCount = passed ? randomInt(0, 1) : randomInt(1, 3);
|
|
134
|
+
|
|
135
|
+
return {
|
|
136
|
+
timestamp: timestamp.toISOString(),
|
|
137
|
+
layer: 3,
|
|
138
|
+
passed,
|
|
139
|
+
durationMs: baseDuration,
|
|
140
|
+
findingsCount,
|
|
141
|
+
metadata: {
|
|
142
|
+
triggeredBy: 'manual',
|
|
143
|
+
reviewer: randomBool(0.7) ? 'human' : 'team-lead',
|
|
144
|
+
},
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Generate seed data for a specified number of days
|
|
150
|
+
* @param {Object} options - Generation options
|
|
151
|
+
* @param {number} [options.days=30] - Number of days of history
|
|
152
|
+
* @param {number} [options.runsPerDay=8] - Average runs per day
|
|
153
|
+
* @param {boolean} [options.weekendReduction=true] - Reduce weekend activity
|
|
154
|
+
* @returns {Object} Generated metrics data
|
|
155
|
+
*/
|
|
156
|
+
function generateSeedData(options = {}) {
|
|
157
|
+
const days = options.days || 30;
|
|
158
|
+
const runsPerDay = options.runsPerDay || 8;
|
|
159
|
+
const weekendReduction = options.weekendReduction !== false;
|
|
160
|
+
|
|
161
|
+
const metrics = createEmptyMetrics();
|
|
162
|
+
const history = [];
|
|
163
|
+
|
|
164
|
+
const now = new Date();
|
|
165
|
+
|
|
166
|
+
// Generate history for each day
|
|
167
|
+
for (let d = days; d >= 0; d--) {
|
|
168
|
+
const dayDate = new Date(now);
|
|
169
|
+
dayDate.setDate(dayDate.getDate() - d);
|
|
170
|
+
dayDate.setHours(9, 0, 0, 0); // Start at 9 AM
|
|
171
|
+
|
|
172
|
+
const dayOfWeek = dayDate.getDay();
|
|
173
|
+
const isWeekend = dayOfWeek === 0 || dayOfWeek === 6;
|
|
174
|
+
|
|
175
|
+
// Reduce runs on weekends
|
|
176
|
+
const dayRuns = isWeekend && weekendReduction
|
|
177
|
+
? Math.floor(runsPerDay * 0.3)
|
|
178
|
+
: runsPerDay + randomInt(-2, 2);
|
|
179
|
+
|
|
180
|
+
for (let r = 0; r < Math.max(1, dayRuns); r++) {
|
|
181
|
+
// Spread runs throughout the workday (9 AM - 6 PM)
|
|
182
|
+
const runTime = new Date(dayDate);
|
|
183
|
+
runTime.setHours(9 + randomInt(0, 9), randomInt(0, 59), randomInt(0, 59));
|
|
184
|
+
|
|
185
|
+
// Layer distribution: Layer 1 most common, Layer 3 least common
|
|
186
|
+
const layerRoll = Math.random();
|
|
187
|
+
let layer;
|
|
188
|
+
if (layerRoll < 0.6) {
|
|
189
|
+
layer = 1;
|
|
190
|
+
} else if (layerRoll < 0.9) {
|
|
191
|
+
layer = 2;
|
|
192
|
+
} else {
|
|
193
|
+
layer = 3;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
let run;
|
|
197
|
+
switch (layer) {
|
|
198
|
+
case 1:
|
|
199
|
+
run = generateLayer1Run(runTime);
|
|
200
|
+
break;
|
|
201
|
+
case 2:
|
|
202
|
+
run = generateLayer2Run(runTime);
|
|
203
|
+
break;
|
|
204
|
+
case 3:
|
|
205
|
+
run = generateLayer3Run(runTime);
|
|
206
|
+
break;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
history.push(run);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
// Sort history by timestamp
|
|
214
|
+
history.sort((a, b) => new Date(a.timestamp) - new Date(b.timestamp));
|
|
215
|
+
metrics.history = history;
|
|
216
|
+
|
|
217
|
+
// Calculate layer aggregates
|
|
218
|
+
for (let layer = 1; layer <= 3; layer++) {
|
|
219
|
+
const layerKey = `layer${layer}`;
|
|
220
|
+
const layerRuns = history.filter((r) => r.layer === layer);
|
|
221
|
+
|
|
222
|
+
if (layerRuns.length > 0) {
|
|
223
|
+
const passedRuns = layerRuns.filter((r) => r.passed).length;
|
|
224
|
+
const totalDuration = layerRuns.reduce((sum, r) => sum + r.durationMs, 0);
|
|
225
|
+
|
|
226
|
+
metrics.layers[layerKey].passRate = passedRuns / layerRuns.length;
|
|
227
|
+
metrics.layers[layerKey].avgTimeMs = Math.round(totalDuration / layerRuns.length);
|
|
228
|
+
metrics.layers[layerKey].totalRuns = layerRuns.length;
|
|
229
|
+
metrics.layers[layerKey].lastRun = layerRuns[layerRuns.length - 1].timestamp;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
// Calculate Layer 2 specific metrics
|
|
234
|
+
const layer2Runs = history.filter((r) => r.layer === 2);
|
|
235
|
+
if (layer2Runs.length > 0) {
|
|
236
|
+
let totalCrFindings = 0;
|
|
237
|
+
let crCritical = 0, crHigh = 0, crMedium = 0, crLow = 0;
|
|
238
|
+
let quinnFindings = 0;
|
|
239
|
+
const allCategories = [];
|
|
240
|
+
|
|
241
|
+
layer2Runs.forEach((r) => {
|
|
242
|
+
if (r.metadata?.coderabbit) {
|
|
243
|
+
const cr = r.metadata.coderabbit;
|
|
244
|
+
totalCrFindings += cr.findingsCount || 0;
|
|
245
|
+
crCritical += cr.severityBreakdown?.critical || 0;
|
|
246
|
+
crHigh += cr.severityBreakdown?.high || 0;
|
|
247
|
+
crMedium += cr.severityBreakdown?.medium || 0;
|
|
248
|
+
crLow += cr.severityBreakdown?.low || 0;
|
|
249
|
+
}
|
|
250
|
+
if (r.metadata?.quinn) {
|
|
251
|
+
quinnFindings += r.metadata.quinn.findingsCount || 0;
|
|
252
|
+
allCategories.push(...(r.metadata.quinn.topCategories || []));
|
|
253
|
+
}
|
|
254
|
+
});
|
|
255
|
+
|
|
256
|
+
// Top categories by frequency
|
|
257
|
+
const categoryCount = {};
|
|
258
|
+
allCategories.forEach((cat) => {
|
|
259
|
+
categoryCount[cat] = (categoryCount[cat] || 0) + 1;
|
|
260
|
+
});
|
|
261
|
+
const topCategories = Object.entries(categoryCount)
|
|
262
|
+
.sort((a, b) => b[1] - a[1])
|
|
263
|
+
.slice(0, 5)
|
|
264
|
+
.map(([cat]) => cat);
|
|
265
|
+
|
|
266
|
+
metrics.layers.layer2.autoCatchRate = totalCrFindings / layer2Runs.length;
|
|
267
|
+
metrics.layers.layer2.coderabbit = {
|
|
268
|
+
active: true,
|
|
269
|
+
findingsCount: totalCrFindings,
|
|
270
|
+
severityBreakdown: {
|
|
271
|
+
critical: crCritical,
|
|
272
|
+
high: crHigh,
|
|
273
|
+
medium: crMedium,
|
|
274
|
+
low: crLow,
|
|
275
|
+
},
|
|
276
|
+
};
|
|
277
|
+
metrics.layers.layer2.quinn = {
|
|
278
|
+
findingsCount: quinnFindings,
|
|
279
|
+
topCategories,
|
|
280
|
+
};
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
// Generate trend data
|
|
284
|
+
const trendDays = Math.min(days, 30);
|
|
285
|
+
for (let d = trendDays; d >= 0; d--) {
|
|
286
|
+
const trendDate = new Date(now);
|
|
287
|
+
trendDate.setDate(trendDate.getDate() - d);
|
|
288
|
+
const dateStr = trendDate.toISOString().split('T')[0];
|
|
289
|
+
|
|
290
|
+
// Daily pass rate
|
|
291
|
+
const dayRuns = history.filter((r) =>
|
|
292
|
+
r.timestamp.startsWith(dateStr),
|
|
293
|
+
);
|
|
294
|
+
if (dayRuns.length > 0) {
|
|
295
|
+
const passedToday = dayRuns.filter((r) => r.passed).length;
|
|
296
|
+
metrics.trends.passRates.push({
|
|
297
|
+
date: dateStr,
|
|
298
|
+
value: passedToday / dayRuns.length,
|
|
299
|
+
});
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
// Daily auto-catch rate (Layer 2)
|
|
303
|
+
const layer2DayRuns = dayRuns.filter((r) => r.layer === 2);
|
|
304
|
+
if (layer2DayRuns.length > 0) {
|
|
305
|
+
const findings = layer2DayRuns.reduce((sum, r) => sum + (r.findingsCount || 0), 0);
|
|
306
|
+
metrics.trends.autoCatchRate.push({
|
|
307
|
+
date: dateStr,
|
|
308
|
+
value: findings / layer2DayRuns.length,
|
|
309
|
+
});
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
metrics.lastUpdated = new Date().toISOString();
|
|
314
|
+
|
|
315
|
+
return metrics;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
/**
|
|
319
|
+
* Seed the metrics file with generated data
|
|
320
|
+
* @param {Object} options - Seed options
|
|
321
|
+
* @returns {Promise<Object>} Generated metrics
|
|
322
|
+
*/
|
|
323
|
+
async function seedMetrics(options = {}) {
|
|
324
|
+
const collector = new MetricsCollector(options);
|
|
325
|
+
const metrics = generateSeedData(options);
|
|
326
|
+
await collector.save(metrics);
|
|
327
|
+
return metrics;
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
module.exports = {
|
|
331
|
+
generateSeedData,
|
|
332
|
+
seedMetrics,
|
|
333
|
+
generateLayer1Run,
|
|
334
|
+
generateLayer2Run,
|
|
335
|
+
generateLayer3Run,
|
|
336
|
+
};
|
|
@@ -0,0 +1,354 @@
|
|
|
1
|
+
# AIOS Utils - Utility Scripts Library
|
|
2
|
+
|
|
3
|
+
This directory contains 68+ utility scripts that provide automation, validation, and helper functions for AIOS-FULLSTACK agents and workflows.
|
|
4
|
+
|
|
5
|
+
## Categories
|
|
6
|
+
|
|
7
|
+
### 🔍 **Core Validation & Analysis**
|
|
8
|
+
Scripts for validating AIOS structures and analyzing code quality.
|
|
9
|
+
|
|
10
|
+
- **aios-validator.js** - Validates AIOS structures (agents, tasks, workflows, stories)
|
|
11
|
+
- **capability-analyzer.js** - Analyzes agent capabilities and requirements
|
|
12
|
+
- **compatibility-checker.js** - Checks compatibility between components
|
|
13
|
+
- **coverage-analyzer.js** - Analyzes test coverage metrics
|
|
14
|
+
- **dependency-analyzer.js** - Analyzes dependencies and their impacts
|
|
15
|
+
- **dependency-impact-analyzer.js** - Predicts impact of dependency changes
|
|
16
|
+
|
|
17
|
+
### 📋 **Story & Task Management**
|
|
18
|
+
Tools for managing development stories, tasks, and workflows.
|
|
19
|
+
|
|
20
|
+
- **story-manager.js** - Complete story lifecycle management
|
|
21
|
+
- Create, update, delete stories
|
|
22
|
+
- Track progress and status
|
|
23
|
+
- Manage checkboxes and file lists
|
|
24
|
+
- Integration with ClickUp
|
|
25
|
+
|
|
26
|
+
- **batch-creator.js** - Batch creation of stories/tasks
|
|
27
|
+
- **task-router.js** - Routes tasks to appropriate agents
|
|
28
|
+
- **workflow-orchestrator.js** - Orchestrates multi-step workflows
|
|
29
|
+
|
|
30
|
+
### 🔧 **Tool & Integration Management**
|
|
31
|
+
Scripts for managing tools, MCPs, and external integrations.
|
|
32
|
+
|
|
33
|
+
- **tool-resolver.js** - Discovers and validates available tools
|
|
34
|
+
- CLI tools detection
|
|
35
|
+
- MCP server validation
|
|
36
|
+
- Capability matching
|
|
37
|
+
- Environment verification
|
|
38
|
+
|
|
39
|
+
- **clickup-helpers.js** - ClickUp API utility functions
|
|
40
|
+
- Task operations
|
|
41
|
+
- Sprint management
|
|
42
|
+
- Custom fields handling
|
|
43
|
+
- Webhook utilities
|
|
44
|
+
|
|
45
|
+
### 🧩 **Component Generation**
|
|
46
|
+
Generators for creating various component types.
|
|
47
|
+
|
|
48
|
+
- **component-generator.js** - Generates React/Vue/Angular components
|
|
49
|
+
- **component-metadata.js** - Extracts component metadata
|
|
50
|
+
- **component-preview.js** - Generates component previews
|
|
51
|
+
- **component-search.js** - Searches for components in codebase
|
|
52
|
+
- **test-generator.js** - Generates test suites
|
|
53
|
+
- **migration-generator.js** - Generates database migrations
|
|
54
|
+
- **schema-generator.js** - Generates schema definitions
|
|
55
|
+
|
|
56
|
+
### 📝 **Documentation & Code Quality**
|
|
57
|
+
Tools for maintaining documentation and code quality.
|
|
58
|
+
|
|
59
|
+
- **documentation-synchronizer.js** - Syncs documentation with code
|
|
60
|
+
- **code-quality-improver.js** - Suggests code quality improvements
|
|
61
|
+
- **commit-message-generator.js** - Generates semantic commit messages
|
|
62
|
+
- **changelog-generator.js** - Generates CHANGELOG entries
|
|
63
|
+
- **diff-generator.js** - Generates structured diffs
|
|
64
|
+
|
|
65
|
+
### 🔄 **Version Control & Git**
|
|
66
|
+
Git workflow automation and version control helpers.
|
|
67
|
+
|
|
68
|
+
- **branch-manager.js** - Manages Git branches
|
|
69
|
+
- **conflict-manager.js** - Handles merge conflicts
|
|
70
|
+
- **conflict-resolver.js** - Resolves common conflict patterns
|
|
71
|
+
- **pr-validator.js** - Validates pull requests
|
|
72
|
+
- **release-manager.js** - Manages releases and versioning
|
|
73
|
+
|
|
74
|
+
### 💾 **Backup & Recovery**
|
|
75
|
+
Data backup and recovery utilities.
|
|
76
|
+
|
|
77
|
+
- **backup-manager.js** - Automated backups
|
|
78
|
+
- Story backups
|
|
79
|
+
- Configuration backups
|
|
80
|
+
- Code snapshots
|
|
81
|
+
- Rollback capabilities
|
|
82
|
+
|
|
83
|
+
- **recovery-manager.js** - Recovery operations
|
|
84
|
+
- **snapshot-manager.js** - Manages code snapshots
|
|
85
|
+
|
|
86
|
+
### 🎯 **Workflow Automation**
|
|
87
|
+
Scripts for automating development workflows.
|
|
88
|
+
|
|
89
|
+
- **approval-workflow.js** - Handles approval workflows
|
|
90
|
+
- **change-propagation-predictor.js** - Predicts change impacts
|
|
91
|
+
- **elicitation-engine.js** - Interactive requirement gathering
|
|
92
|
+
- **qa-automation.js** - Automated QA workflows
|
|
93
|
+
- **test-orchestrator.js** - Orchestrates test execution
|
|
94
|
+
|
|
95
|
+
### 🔌 **API & Integration**
|
|
96
|
+
API helpers and integration utilities.
|
|
97
|
+
|
|
98
|
+
- **api-client-generator.js** - Generates API clients
|
|
99
|
+
- **webhook-manager.js** - Manages webhooks
|
|
100
|
+
- **supabase-helpers.js** - Supabase utility functions
|
|
101
|
+
- **railway-helpers.js** - Railway deployment helpers
|
|
102
|
+
|
|
103
|
+
### 🧪 **Testing Utilities**
|
|
104
|
+
Testing support and test data management.
|
|
105
|
+
|
|
106
|
+
- **test-data-generator.js** - Generates test data
|
|
107
|
+
- **mock-generator.js** - Generates mocks and stubs
|
|
108
|
+
- **performance-profiler.js** - Profiles performance
|
|
109
|
+
- **security-scanner.js** - Scans for security issues
|
|
110
|
+
|
|
111
|
+
### 🗄️ **Data Management**
|
|
112
|
+
Data transformation and management tools.
|
|
113
|
+
|
|
114
|
+
- **yaml-parser.js** - YAML parsing with validation
|
|
115
|
+
- **json-transformer.js** - JSON transformation utilities
|
|
116
|
+
- **markdown-processor.js** - Markdown processing
|
|
117
|
+
- **template-engine.js** - Template rendering engine
|
|
118
|
+
|
|
119
|
+
### 🔐 **Security & Validation**
|
|
120
|
+
Security scanning and input validation.
|
|
121
|
+
|
|
122
|
+
- **secret-scanner.js** - Scans for exposed secrets
|
|
123
|
+
- **input-validator.js** - Validates user inputs
|
|
124
|
+
- **permission-checker.js** - Checks permissions
|
|
125
|
+
- **rate-limiter.js** - Rate limiting utilities
|
|
126
|
+
|
|
127
|
+
### 📊 **Monitoring & Logging**
|
|
128
|
+
Logging, monitoring, and observability tools.
|
|
129
|
+
|
|
130
|
+
- **logger.js** - Structured logging
|
|
131
|
+
- **metrics-collector.js** - Collects metrics
|
|
132
|
+
- **health-checker.js** - Health check utilities
|
|
133
|
+
- **error-tracker.js** - Error tracking and reporting
|
|
134
|
+
|
|
135
|
+
### 🎨 **UI & Presentation**
|
|
136
|
+
UI generation and formatting utilities.
|
|
137
|
+
|
|
138
|
+
- **markdown-renderer.js** - Renders Markdown to HTML
|
|
139
|
+
- **syntax-highlighter.js** - Syntax highlighting
|
|
140
|
+
- **diagram-generator.js** - Generates diagrams
|
|
141
|
+
- **report-formatter.js** - Formats reports
|
|
142
|
+
|
|
143
|
+
## Usage Examples
|
|
144
|
+
|
|
145
|
+
### Story Management
|
|
146
|
+
|
|
147
|
+
```javascript
|
|
148
|
+
const { StoryManager } = require('./story-manager');
|
|
149
|
+
|
|
150
|
+
// Create new story
|
|
151
|
+
const story = await StoryManager.create({
|
|
152
|
+
title: 'Implement user authentication',
|
|
153
|
+
epic: 'User Management',
|
|
154
|
+
assignee: '@dev'
|
|
155
|
+
});
|
|
156
|
+
|
|
157
|
+
// Update story progress
|
|
158
|
+
await story.updateTask(taskId, { status: 'completed' });
|
|
159
|
+
|
|
160
|
+
// Get story status
|
|
161
|
+
const status = await story.getStatus();
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### Tool Discovery
|
|
165
|
+
|
|
166
|
+
```javascript
|
|
167
|
+
const { resolveTools } = require('./tool-resolver');
|
|
168
|
+
|
|
169
|
+
// Get all available tools
|
|
170
|
+
const tools = await resolveTools();
|
|
171
|
+
|
|
172
|
+
// Get specific tool category
|
|
173
|
+
const mcpServers = await resolveTools({
|
|
174
|
+
category: 'mcp',
|
|
175
|
+
required: true
|
|
176
|
+
});
|
|
177
|
+
|
|
178
|
+
// Check tool availability
|
|
179
|
+
const isAvailable = await resolveTools.checkTool('gh');
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### Component Generation
|
|
183
|
+
|
|
184
|
+
```javascript
|
|
185
|
+
const { generateComponent } = require('./component-generator');
|
|
186
|
+
|
|
187
|
+
// Generate React component
|
|
188
|
+
await generateComponent({
|
|
189
|
+
name: 'UserProfile',
|
|
190
|
+
type: 'react',
|
|
191
|
+
props: ['user', 'onEdit'],
|
|
192
|
+
features: ['typescript', 'tests']
|
|
193
|
+
});
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### Validation
|
|
197
|
+
|
|
198
|
+
```javascript
|
|
199
|
+
const { validate } = require('./aios-validator');
|
|
200
|
+
|
|
201
|
+
// Validate agent definition
|
|
202
|
+
const result = await validate.agent('path/to/agent.yaml');
|
|
203
|
+
|
|
204
|
+
// Validate story structure
|
|
205
|
+
const storyValid = await validate.story('docs/stories/1.1-feature.md');
|
|
206
|
+
|
|
207
|
+
// Validate workflow
|
|
208
|
+
const workflowValid = await validate.workflow('workflows/deploy.yaml');
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
## Best Practices
|
|
212
|
+
|
|
213
|
+
### 1. Error Handling
|
|
214
|
+
|
|
215
|
+
All utilities use consistent error handling:
|
|
216
|
+
|
|
217
|
+
```javascript
|
|
218
|
+
try {
|
|
219
|
+
const result = await utility.operation();
|
|
220
|
+
return result;
|
|
221
|
+
} catch (error) {
|
|
222
|
+
if (error.code === 'VALIDATION_ERROR') {
|
|
223
|
+
// Handle validation errors
|
|
224
|
+
}
|
|
225
|
+
throw error;
|
|
226
|
+
}
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
### 2. Configuration
|
|
230
|
+
|
|
231
|
+
Utilities read configuration from `core-config.yaml`:
|
|
232
|
+
|
|
233
|
+
```javascript
|
|
234
|
+
const config = require('../core-config.yaml');
|
|
235
|
+
const utilsLocation = config.utilsLocation;
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
### 3. Logging
|
|
239
|
+
|
|
240
|
+
Use the built-in logger for consistent output:
|
|
241
|
+
|
|
242
|
+
```javascript
|
|
243
|
+
const logger = require('./logger');
|
|
244
|
+
|
|
245
|
+
logger.info('Operation started', { context });
|
|
246
|
+
logger.error('Operation failed', { error });
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### 4. Testing
|
|
250
|
+
|
|
251
|
+
Each utility should have corresponding tests:
|
|
252
|
+
|
|
253
|
+
```javascript
|
|
254
|
+
// Example: aios-validator.test.js
|
|
255
|
+
describe('aios-validator', () => {
|
|
256
|
+
it('validates agent structure', async () => {
|
|
257
|
+
const result = await validate.agent(validAgent);
|
|
258
|
+
expect(result.valid).toBe(true);
|
|
259
|
+
});
|
|
260
|
+
});
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
## Adding New Utilities
|
|
264
|
+
|
|
265
|
+
### Structure
|
|
266
|
+
|
|
267
|
+
```javascript
|
|
268
|
+
/**
|
|
269
|
+
* @file utility-name.js
|
|
270
|
+
* @description Brief description of what this utility does
|
|
271
|
+
*/
|
|
272
|
+
|
|
273
|
+
const config = require('../core-config.yaml');
|
|
274
|
+
const logger = require('./logger');
|
|
275
|
+
|
|
276
|
+
class UtilityName {
|
|
277
|
+
constructor(options = {}) {
|
|
278
|
+
this.options = options;
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
async mainOperation(params) {
|
|
282
|
+
try {
|
|
283
|
+
// Implementation
|
|
284
|
+
logger.info('Operation successful');
|
|
285
|
+
return result;
|
|
286
|
+
} catch (error) {
|
|
287
|
+
logger.error('Operation failed', { error });
|
|
288
|
+
throw error;
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
module.exports = UtilityName;
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
### Documentation
|
|
297
|
+
|
|
298
|
+
1. Add JSDoc comments
|
|
299
|
+
2. Include usage examples
|
|
300
|
+
3. Document all parameters
|
|
301
|
+
4. List error codes
|
|
302
|
+
5. Update this README
|
|
303
|
+
|
|
304
|
+
### Testing
|
|
305
|
+
|
|
306
|
+
1. Create corresponding `.test.js` file
|
|
307
|
+
2. Test happy path
|
|
308
|
+
3. Test error cases
|
|
309
|
+
4. Test edge cases
|
|
310
|
+
5. Run: `npm test utils/utility-name.test.js`
|
|
311
|
+
|
|
312
|
+
## Troubleshooting
|
|
313
|
+
|
|
314
|
+
### Utility Not Found
|
|
315
|
+
|
|
316
|
+
```bash
|
|
317
|
+
# Verify utility exists
|
|
318
|
+
ls -la .aios-core/scripts/utility-name.js
|
|
319
|
+
|
|
320
|
+
# Check require path
|
|
321
|
+
node -e "require('./.aios-core/scripts/utility-name')"
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
### Permission Errors
|
|
325
|
+
|
|
326
|
+
```bash
|
|
327
|
+
# Check file permissions
|
|
328
|
+
chmod +x .aios-core/scripts/*.js
|
|
329
|
+
|
|
330
|
+
# Check directory permissions
|
|
331
|
+
ls -ld .aios-core/scripts/
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
### Configuration Issues
|
|
335
|
+
|
|
336
|
+
```bash
|
|
337
|
+
# Validate core-config.yaml
|
|
338
|
+
node .aios-core/scripts/aios-validator.js --config
|
|
339
|
+
|
|
340
|
+
# Check utilsLocation setting
|
|
341
|
+
grep utilsLocation .aios-core/core-config.yaml
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
## Related Documentation
|
|
345
|
+
|
|
346
|
+
- [Tools Directory](../tools/README.md)
|
|
347
|
+
- [Agent Development Guide](../../docs/agent-guide.md)
|
|
348
|
+
- [Core Configuration](../core-config.yaml)
|
|
349
|
+
- [Testing Guide](../../docs/testing-guide.md)
|
|
350
|
+
|
|
351
|
+
---
|
|
352
|
+
|
|
353
|
+
*Last updated: 2025-10-22 - Documentation Sync Initiative*
|
|
354
|
+
*Total utilities: 68 scripts*
|