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,325 @@
|
|
|
1
|
+
# AIOS Document Template Specification
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
AIOS document templates are defined in YAML format to drive interactive document generation and agent interaction. Templates separate structure definition from content generation, making them both human and LLM-agent-friendly.
|
|
6
|
+
|
|
7
|
+
## Template Structure
|
|
8
|
+
|
|
9
|
+
```yaml
|
|
10
|
+
template:
|
|
11
|
+
id: template-identifier
|
|
12
|
+
name: Human Readable Template Name
|
|
13
|
+
version: 1.0
|
|
14
|
+
output:
|
|
15
|
+
format: markdown
|
|
16
|
+
filename: default-path/to/{{filename}}.md
|
|
17
|
+
title: "{{variable}} Document Title"
|
|
18
|
+
|
|
19
|
+
workflow:
|
|
20
|
+
mode: interactive
|
|
21
|
+
elicitation: advanced-elicitation
|
|
22
|
+
|
|
23
|
+
sections:
|
|
24
|
+
- id: section-id
|
|
25
|
+
title: Section Title
|
|
26
|
+
instruction: |
|
|
27
|
+
Detailed instructions for the LLM on how to handle this section
|
|
28
|
+
# ... additional section properties
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Core Fields
|
|
32
|
+
|
|
33
|
+
### Template Metadata
|
|
34
|
+
|
|
35
|
+
- **id**: Unique identifier for the template
|
|
36
|
+
- **name**: Human-readable name displayed in UI
|
|
37
|
+
- **version**: Template version for tracking changes
|
|
38
|
+
- **output.format**: Default "markdown" for document templates
|
|
39
|
+
- **output.filename**: Default output file path (can include variables)
|
|
40
|
+
- **output.title**: Document title (becomes H1 in markdown)
|
|
41
|
+
|
|
42
|
+
### Workflow Configuration
|
|
43
|
+
|
|
44
|
+
- **workflow.mode**: Default interaction mode ("interactive" or "yolo")
|
|
45
|
+
- **workflow.elicitation**: Elicitation task to use ("advanced-elicitation")
|
|
46
|
+
|
|
47
|
+
## Section Properties
|
|
48
|
+
|
|
49
|
+
### Required Fields
|
|
50
|
+
|
|
51
|
+
- **id**: Unique section identifier
|
|
52
|
+
- **title**: Section heading text
|
|
53
|
+
- **instruction**: Detailed guidance for LLM on handling this section
|
|
54
|
+
|
|
55
|
+
### Optional Fields
|
|
56
|
+
|
|
57
|
+
#### Content Control
|
|
58
|
+
|
|
59
|
+
- **type**: Content type hint for structured sections
|
|
60
|
+
- **template**: Fixed template text for section content
|
|
61
|
+
- **item_template**: Template for repeatable items within section
|
|
62
|
+
- **prefix**: Prefix for numbered items (e.g., "FR", "NFR")
|
|
63
|
+
|
|
64
|
+
#### Behavior Flags
|
|
65
|
+
|
|
66
|
+
- **elicit**: Boolean - Apply elicitation after section rendered
|
|
67
|
+
- **repeatable**: Boolean - Section can be repeated multiple times
|
|
68
|
+
- **condition**: String - Condition for including section (e.g., "has ui requirements")
|
|
69
|
+
|
|
70
|
+
#### Agent Permissions
|
|
71
|
+
|
|
72
|
+
- **owner**: String - Agent role that initially creates/populates this section
|
|
73
|
+
- **editors**: Array - List of agent roles allowed to modify this section
|
|
74
|
+
- **readonly**: Boolean - Section cannot be modified after initial creation
|
|
75
|
+
|
|
76
|
+
#### Content Guidance
|
|
77
|
+
|
|
78
|
+
- **examples**: Array of example content (not included in output)
|
|
79
|
+
- **choices**: Object with choice options for common decisions
|
|
80
|
+
- **placeholder**: Default placeholder text
|
|
81
|
+
|
|
82
|
+
#### Structure
|
|
83
|
+
|
|
84
|
+
- **sections**: Array of nested child sections
|
|
85
|
+
|
|
86
|
+
## Supported Types
|
|
87
|
+
|
|
88
|
+
### Content Types
|
|
89
|
+
|
|
90
|
+
- **bullet-list**: Unordered list items
|
|
91
|
+
- **numbered-list**: Ordered list with optional prefix
|
|
92
|
+
- **paragraphs**: Free-form paragraph text
|
|
93
|
+
- **table**: Structured table data
|
|
94
|
+
- **code-block**: Code or configuration blocks
|
|
95
|
+
- **template-text**: Fixed template with variable substitution
|
|
96
|
+
- **mermaid**: Mermaid diagram with specified type and details
|
|
97
|
+
|
|
98
|
+
### Special Types
|
|
99
|
+
|
|
100
|
+
- **repeatable-container**: Container for multiple instances
|
|
101
|
+
- **conditional-block**: Content shown based on conditions
|
|
102
|
+
- **choice-selector**: Present choices to user
|
|
103
|
+
|
|
104
|
+
## Advanced Features
|
|
105
|
+
|
|
106
|
+
### Variable Substitution
|
|
107
|
+
|
|
108
|
+
Use `{{variable_name}}` in titles, templates, and content:
|
|
109
|
+
|
|
110
|
+
```yaml
|
|
111
|
+
title: "Epic {{epic_number}} {{epic_title}}"
|
|
112
|
+
template: "As a {{user_type}}, I want {{action}}, so that {{benefit}}."
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### Conditional Sections
|
|
116
|
+
|
|
117
|
+
```yaml
|
|
118
|
+
- id: ui-section
|
|
119
|
+
title: User Interface Design
|
|
120
|
+
condition: Project has UX/UI Requirements
|
|
121
|
+
instruction: Only include if project has UI components
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### Choice Integration
|
|
125
|
+
|
|
126
|
+
```yaml
|
|
127
|
+
choices:
|
|
128
|
+
architecture: [Monolith, Microservices, Serverless]
|
|
129
|
+
testing: [Unit Only, Unit + Integration, Full Pyramid]
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### Mermaid Diagrams
|
|
133
|
+
|
|
134
|
+
```yaml
|
|
135
|
+
- id: system-architecture
|
|
136
|
+
title: System Architecture Diagram
|
|
137
|
+
type: mermaid
|
|
138
|
+
instruction: Create a system architecture diagram showing key components and data flow
|
|
139
|
+
mermaid_type: flowchart
|
|
140
|
+
details: |
|
|
141
|
+
Show the following components:
|
|
142
|
+
- User interface layer
|
|
143
|
+
- API gateway
|
|
144
|
+
- Core services
|
|
145
|
+
- Database layer
|
|
146
|
+
- External integrations
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
**Supported mermaid_type values:**
|
|
150
|
+
|
|
151
|
+
**Core Diagram Types:**
|
|
152
|
+
|
|
153
|
+
- `flowchart` - Flow charts and process diagrams
|
|
154
|
+
- `sequenceDiagram` - Sequence diagrams for interactions
|
|
155
|
+
- `classDiagram` - Class relationship diagrams (UML)
|
|
156
|
+
- `stateDiagram` - State transition diagrams
|
|
157
|
+
- `erDiagram` - Entity relationship diagrams
|
|
158
|
+
- `gantt` - Gantt charts for timelines
|
|
159
|
+
- `pie` - Pie charts for data visualization
|
|
160
|
+
|
|
161
|
+
**Advanced Diagram Types:**
|
|
162
|
+
|
|
163
|
+
- `journey` - User journey maps
|
|
164
|
+
- `mindmap` - Mindmaps for brainstorming
|
|
165
|
+
- `timeline` - Timeline diagrams for chronological events
|
|
166
|
+
- `quadrantChart` - Quadrant charts for data categorization
|
|
167
|
+
- `xyChart` - XY charts (bar charts, line charts)
|
|
168
|
+
- `sankey` - Sankey diagrams for flow visualization
|
|
169
|
+
|
|
170
|
+
**Specialized Types:**
|
|
171
|
+
|
|
172
|
+
- `c4Context` - C4 context diagrams (experimental)
|
|
173
|
+
- `requirement` - Requirement diagrams
|
|
174
|
+
- `packet` - Network packet diagrams
|
|
175
|
+
- `block` - Block diagrams
|
|
176
|
+
- `kanban` - Kanban boards
|
|
177
|
+
|
|
178
|
+
### Agent Permissions Example
|
|
179
|
+
|
|
180
|
+
```yaml
|
|
181
|
+
- id: story-details
|
|
182
|
+
title: Story
|
|
183
|
+
owner: scrum-master
|
|
184
|
+
editors: [scrum-master]
|
|
185
|
+
readonly: false
|
|
186
|
+
sections:
|
|
187
|
+
- id: dev-notes
|
|
188
|
+
title: Dev Notes
|
|
189
|
+
owner: dev-agent
|
|
190
|
+
editors: [dev-agent]
|
|
191
|
+
readonly: false
|
|
192
|
+
instruction: Implementation notes and technical details
|
|
193
|
+
- id: qa-results
|
|
194
|
+
title: QA Results
|
|
195
|
+
owner: qa-agent
|
|
196
|
+
editors: [qa-agent]
|
|
197
|
+
readonly: true
|
|
198
|
+
instruction: Quality assurance test results
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
### Repeatable Sections
|
|
202
|
+
|
|
203
|
+
```yaml
|
|
204
|
+
- id: epic-details
|
|
205
|
+
title: Epic {{epic_number}} {{epic_title}}
|
|
206
|
+
repeatable: true
|
|
207
|
+
sections:
|
|
208
|
+
- id: story
|
|
209
|
+
title: Story {{epic_number}}.{{story_number}} {{story_title}}
|
|
210
|
+
repeatable: true
|
|
211
|
+
sections:
|
|
212
|
+
- id: criteria
|
|
213
|
+
title: Acceptance Criteria
|
|
214
|
+
type: numbered-list
|
|
215
|
+
item_template: "{{criterion_number}}: {{criteria}}"
|
|
216
|
+
repeatable: true
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
### Examples with Code Blocks
|
|
220
|
+
|
|
221
|
+
````yaml
|
|
222
|
+
examples:
|
|
223
|
+
- "FR6: The system must authenticate users within 2 seconds"
|
|
224
|
+
- |
|
|
225
|
+
```mermaid
|
|
226
|
+
sequenceDiagram
|
|
227
|
+
participant User
|
|
228
|
+
participant API
|
|
229
|
+
participant DB
|
|
230
|
+
User->>API: POST /login
|
|
231
|
+
API->>DB: Validate credentials
|
|
232
|
+
DB-->>API: User data
|
|
233
|
+
API-->>User: JWT token
|
|
234
|
+
```
|
|
235
|
+
- |
|
|
236
|
+
**Architecture Decision Record**
|
|
237
|
+
|
|
238
|
+
**Decision**: Use PostgreSQL for primary database
|
|
239
|
+
**Rationale**: ACID compliance and JSON support needed
|
|
240
|
+
**Consequences**: Requires database management expertise
|
|
241
|
+
````
|
|
242
|
+
|
|
243
|
+
## Section Hierarchy
|
|
244
|
+
|
|
245
|
+
Templates define the complete document structure starting with the first H2 - each level in is the next H#:
|
|
246
|
+
|
|
247
|
+
```yaml
|
|
248
|
+
sections:
|
|
249
|
+
- id: overview
|
|
250
|
+
title: Project Overview
|
|
251
|
+
sections:
|
|
252
|
+
- id: goals
|
|
253
|
+
title: Goals
|
|
254
|
+
- id: scope
|
|
255
|
+
title: Scope
|
|
256
|
+
sections:
|
|
257
|
+
- id: in-scope
|
|
258
|
+
title: In Scope
|
|
259
|
+
- id: out-scope
|
|
260
|
+
title: Out of Scope
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
## Processing Flow
|
|
264
|
+
|
|
265
|
+
1. **Parse Template**: Load and validate YAML structure
|
|
266
|
+
2. **Initialize Workflow**: Set interaction mode and elicitation
|
|
267
|
+
3. **Process Sections**: Handle each section in order:
|
|
268
|
+
- Check conditions
|
|
269
|
+
- Apply instructions
|
|
270
|
+
- Generate content
|
|
271
|
+
- Handle choices and variables
|
|
272
|
+
- Apply elicitation if specified
|
|
273
|
+
- Process nested sections
|
|
274
|
+
4. **Generate Output**: Create clean markdown document
|
|
275
|
+
|
|
276
|
+
## Best Practices
|
|
277
|
+
|
|
278
|
+
### Template Design
|
|
279
|
+
|
|
280
|
+
- Keep instructions clear and specific
|
|
281
|
+
- Use examples for complex content
|
|
282
|
+
- Structure sections logically
|
|
283
|
+
- Include all necessary guidance for LLM
|
|
284
|
+
|
|
285
|
+
### Content Instructions
|
|
286
|
+
|
|
287
|
+
- Be explicit about expected format
|
|
288
|
+
- Include reasoning for decisions
|
|
289
|
+
- Specify interaction patterns
|
|
290
|
+
- Reference other documents when needed
|
|
291
|
+
|
|
292
|
+
### Variable Naming
|
|
293
|
+
|
|
294
|
+
- Use descriptive variable names
|
|
295
|
+
- Follow consistent naming conventions
|
|
296
|
+
- Document expected variable values
|
|
297
|
+
|
|
298
|
+
### Examples Usage
|
|
299
|
+
|
|
300
|
+
- Provide concrete examples for complex sections
|
|
301
|
+
- Include both simple and complex cases
|
|
302
|
+
- Use realistic project scenarios
|
|
303
|
+
- Include code blocks and diagrams when helpful
|
|
304
|
+
|
|
305
|
+
## Validation
|
|
306
|
+
|
|
307
|
+
Templates should be validated for:
|
|
308
|
+
|
|
309
|
+
- Valid YAML syntax
|
|
310
|
+
- Required fields present
|
|
311
|
+
- Consistent section IDs
|
|
312
|
+
- Proper nesting structure
|
|
313
|
+
- Valid variable references
|
|
314
|
+
|
|
315
|
+
## Migration from Legacy
|
|
316
|
+
|
|
317
|
+
When converting from markdown+frontmatter templates:
|
|
318
|
+
|
|
319
|
+
1. Extract embedded `[[LLM:]]` instructions to `instruction` fields
|
|
320
|
+
2. Convert `<<REPEAT>>` blocks to `repeatable: true` sections
|
|
321
|
+
3. Extract `^^CONDITIONS^^` to `condition` fields
|
|
322
|
+
4. Move `@{examples}` to `examples` arrays
|
|
323
|
+
5. Convert `{{placeholders}}` to proper variable syntax
|
|
324
|
+
|
|
325
|
+
This specification ensures templates are both human-readable and machine-processable while maintaining the flexibility needed for complex document generation.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Phase 1 - Batch migrate critical tasks
|
|
2
|
+
|
|
3
|
+
$tasks = @(
|
|
4
|
+
'create-next-story.md',
|
|
5
|
+
'brownfield-create-story.md',
|
|
6
|
+
'brownfield-create-epic.md',
|
|
7
|
+
'create-agent.md',
|
|
8
|
+
'modify-agent.md',
|
|
9
|
+
'create-task.md',
|
|
10
|
+
'qa-gate.md',
|
|
11
|
+
'qa-test-design.md',
|
|
12
|
+
'execute-checklist.md',
|
|
13
|
+
'correct-course.md',
|
|
14
|
+
'create-doc.md',
|
|
15
|
+
'shard-doc.md'
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
$successCount = 0
|
|
19
|
+
$failCount = 0
|
|
20
|
+
|
|
21
|
+
foreach ($task in $tasks) {
|
|
22
|
+
Write-Host "`n=== Migrating $task ===" -ForegroundColor Cyan
|
|
23
|
+
node .aios-core/scripts/migrate-task-to-v2.js ".aios-core/tasks/$task"
|
|
24
|
+
|
|
25
|
+
if ($LASTEXITCODE -eq 0 -or $LASTEXITCODE -eq 1) {
|
|
26
|
+
$successCount++
|
|
27
|
+
} else {
|
|
28
|
+
$failCount++
|
|
29
|
+
Write-Host "Failed to migrate $task" -ForegroundColor Red
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
Write-Host "`n=== Phase 1 Migration Complete ===" -ForegroundColor Green
|
|
34
|
+
Write-Host "Success: $successCount" -ForegroundColor Green
|
|
35
|
+
Write-Host "Failed: $failCount" -ForegroundColor $(if ($failCount -gt 0) { 'Red' } else { 'Green' })
|
|
36
|
+
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# Phase 2 - Batch migrate agent-specific tasks (50 tasks)
|
|
2
|
+
|
|
3
|
+
$tasks = @(
|
|
4
|
+
# Dev Agent Tasks (5 new - 2 already done in Phase 1)
|
|
5
|
+
'dev-apply-qa-fixes.md',
|
|
6
|
+
'dev-improve-code-quality.md',
|
|
7
|
+
'dev-optimize-performance.md',
|
|
8
|
+
'dev-suggest-refactoring.md',
|
|
9
|
+
'dev-backlog-debt.md',
|
|
10
|
+
|
|
11
|
+
# QA Agent Tasks (8 new - 2 already done in Phase 1)
|
|
12
|
+
'qa-generate-tests.md',
|
|
13
|
+
'qa-nfr-assess.md',
|
|
14
|
+
'qa-risk-profile.md',
|
|
15
|
+
'qa-trace-requirements.md',
|
|
16
|
+
'qa-review-proposal.md',
|
|
17
|
+
'qa-review-story.md',
|
|
18
|
+
'qa-run-tests.md',
|
|
19
|
+
'qa-backlog-add-followup.md',
|
|
20
|
+
|
|
21
|
+
# PO/PM/SM Agent Tasks (12 tasks)
|
|
22
|
+
'po-pull-story.md',
|
|
23
|
+
'po-pull-story-from-clickup.md',
|
|
24
|
+
'po-sync-story.md',
|
|
25
|
+
'po-sync-story-to-clickup.md',
|
|
26
|
+
'po-manage-story-backlog.md',
|
|
27
|
+
'po-backlog-add.md',
|
|
28
|
+
'po-stories-index.md',
|
|
29
|
+
'sm-create-next-story.md',
|
|
30
|
+
'pr-automation.md',
|
|
31
|
+
'release-management.md',
|
|
32
|
+
'calculate-roi.md',
|
|
33
|
+
'collaborative-edit.md',
|
|
34
|
+
|
|
35
|
+
# Architect/Analyst Tasks (7 tasks)
|
|
36
|
+
'analyze-framework.md',
|
|
37
|
+
'architect-analyze-impact.md',
|
|
38
|
+
'analyst-facilitate-brainstorming.md',
|
|
39
|
+
'advanced-elicitation.md',
|
|
40
|
+
'create-deep-research-prompt.md',
|
|
41
|
+
'analyze-performance.md',
|
|
42
|
+
|
|
43
|
+
# UX/Data/DevOps Tasks (14 tasks)
|
|
44
|
+
'ux-create-wireframe.md',
|
|
45
|
+
'ux-ds-scan-artifact.md',
|
|
46
|
+
'ux-user-research.md',
|
|
47
|
+
'db-apply-migration.md',
|
|
48
|
+
'db-bootstrap.md',
|
|
49
|
+
'db-dry-run.md',
|
|
50
|
+
'db-env-check.md',
|
|
51
|
+
'db-snapshot.md',
|
|
52
|
+
'github-devops-github-pr-automation.md',
|
|
53
|
+
'github-devops-pre-push-quality-gate.md',
|
|
54
|
+
'github-devops-repository-cleanup.md',
|
|
55
|
+
'github-devops-version-management.md',
|
|
56
|
+
'ci-cd-configuration.md',
|
|
57
|
+
'security-scan.md'
|
|
58
|
+
)
|
|
59
|
+
|
|
60
|
+
Write-Host "Phase 2: Migrating $($tasks.Count) agent-specific tasks..." -ForegroundColor Cyan
|
|
61
|
+
Write-Host ""
|
|
62
|
+
|
|
63
|
+
$successCount = 0
|
|
64
|
+
$failCount = 0
|
|
65
|
+
$startTime = Get-Date
|
|
66
|
+
|
|
67
|
+
foreach ($task in $tasks) {
|
|
68
|
+
Write-Host "Migrating: $task" -ForegroundColor Yellow
|
|
69
|
+
node .aios-core/scripts/migrate-task-to-v2.js ".aios-core/tasks/$task" 2>&1 | Out-Null
|
|
70
|
+
|
|
71
|
+
if ($LASTEXITCODE -eq 0 -or $LASTEXITCODE -eq 1) {
|
|
72
|
+
$successCount++
|
|
73
|
+
Write-Host " OK" -ForegroundColor Green
|
|
74
|
+
} else {
|
|
75
|
+
$failCount++
|
|
76
|
+
Write-Host " FAILED" -ForegroundColor Red
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
$endTime = Get-Date
|
|
81
|
+
$duration = $endTime - $startTime
|
|
82
|
+
|
|
83
|
+
Write-Host ""
|
|
84
|
+
Write-Host "=== Phase 2 Migration Complete ===" -ForegroundColor Green
|
|
85
|
+
Write-Host "Success: $successCount" -ForegroundColor Green
|
|
86
|
+
Write-Host "Failed: $failCount" -ForegroundColor $(if ($failCount -gt 0) { 'Red' } else { 'Green' })
|
|
87
|
+
Write-Host "Duration: $($duration.TotalSeconds) seconds" -ForegroundColor Cyan
|
|
88
|
+
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Phase 3 - Batch migrate remaining utility & support tasks
|
|
2
|
+
|
|
3
|
+
# Get all remaining non-compliant tasks
|
|
4
|
+
$allTasks = Get-ChildItem .aios-core/tasks/*.md | Where-Object { $_.Name -notlike '*v1-backup*' } | ForEach-Object { $_.Name }
|
|
5
|
+
|
|
6
|
+
Write-Host "Finding non-compliant tasks..." -ForegroundColor Cyan
|
|
7
|
+
|
|
8
|
+
$nonCompliantTasks = @()
|
|
9
|
+
|
|
10
|
+
foreach ($task in $allTasks) {
|
|
11
|
+
$result = node .aios-core/scripts/validate-task-v2.js ".aios-core/tasks/$task" 2>&1
|
|
12
|
+
if ($LASTEXITCODE -ne 0) {
|
|
13
|
+
$nonCompliantTasks += $task
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
Write-Host "Phase 3: Migrating $($nonCompliantTasks.Count) remaining tasks..." -ForegroundColor Cyan
|
|
18
|
+
Write-Host ""
|
|
19
|
+
|
|
20
|
+
$successCount = 0
|
|
21
|
+
$failCount = 0
|
|
22
|
+
$startTime = Get-Date
|
|
23
|
+
|
|
24
|
+
foreach ($task in $nonCompliantTasks) {
|
|
25
|
+
Write-Host "Migrating: $task" -ForegroundColor Yellow
|
|
26
|
+
node .aios-core/scripts/migrate-task-to-v2.js ".aios-core/tasks/$task" 2>&1 | Out-Null
|
|
27
|
+
|
|
28
|
+
if ($LASTEXITCODE -eq 0 -or $LASTEXITCODE -eq 1) {
|
|
29
|
+
$successCount++
|
|
30
|
+
Write-Host " OK" -ForegroundColor Green
|
|
31
|
+
} else {
|
|
32
|
+
$failCount++
|
|
33
|
+
Write-Host " FAILED" -ForegroundColor Red
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
$endTime = Get-Date
|
|
38
|
+
$duration = $endTime - $startTime
|
|
39
|
+
|
|
40
|
+
Write-Host ""
|
|
41
|
+
Write-Host "=== Phase 3 Migration Complete ===" -ForegroundColor Green
|
|
42
|
+
Write-Host "Success: $successCount" -ForegroundColor Green
|
|
43
|
+
Write-Host "Failed: $failCount" -ForegroundColor $(if ($failCount -gt 0) { 'Red' } else { 'Green' })
|
|
44
|
+
Write-Host "Duration: $($duration.TotalSeconds) seconds" -ForegroundColor Cyan
|
|
45
|
+
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Command Execution Hook
|
|
4
|
+
*
|
|
5
|
+
* Updates session state after command execution for workflow continuity.
|
|
6
|
+
*
|
|
7
|
+
* Responsibilities:
|
|
8
|
+
* - Track command execution history
|
|
9
|
+
* - Update session type (new → existing → workflow)
|
|
10
|
+
* - Record agent transitions
|
|
11
|
+
* - Enable intelligent greeting adaptation
|
|
12
|
+
*
|
|
13
|
+
* Usage:
|
|
14
|
+
* const { updateSessionAfterCommand } = require('./command-execution-hook');
|
|
15
|
+
* await updateSessionAfterCommand(agentId, commandName);
|
|
16
|
+
*
|
|
17
|
+
* Part of Story 6.1.4: Unified Greeting System Integration
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
const fs = require('fs').promises;
|
|
21
|
+
const path = require('path');
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Session state storage location
|
|
25
|
+
*/
|
|
26
|
+
const SESSION_DIR = path.join(process.cwd(), '.aios-core', '.session');
|
|
27
|
+
const SESSION_FILE = path.join(SESSION_DIR, 'current-session.json');
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Maximum command history to keep
|
|
31
|
+
*/
|
|
32
|
+
const MAX_HISTORY_LENGTH = 10;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Update session state after command execution
|
|
36
|
+
*
|
|
37
|
+
* @param {string} agentId - Current agent ID
|
|
38
|
+
* @param {string} commandName - Executed command name
|
|
39
|
+
* @param {Object} options - Optional metadata
|
|
40
|
+
* @param {string} options.previousAgent - Previous agent (for transitions)
|
|
41
|
+
* @param {any} options.result - Command execution result
|
|
42
|
+
* @returns {Promise<Object>} Updated session state
|
|
43
|
+
*/
|
|
44
|
+
async function updateSessionAfterCommand(agentId, commandName, options = {}) {
|
|
45
|
+
try {
|
|
46
|
+
// Ensure session directory exists
|
|
47
|
+
await fs.mkdir(SESSION_DIR, { recursive: true });
|
|
48
|
+
|
|
49
|
+
// Load current session or create new
|
|
50
|
+
const session = await loadSession();
|
|
51
|
+
|
|
52
|
+
// Update command history
|
|
53
|
+
const commandEntry = {
|
|
54
|
+
command: commandName,
|
|
55
|
+
agent: agentId,
|
|
56
|
+
timestamp: Date.now(),
|
|
57
|
+
success: options.result !== undefined ? !options.result.error : true,
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
session.commandHistory = session.commandHistory || [];
|
|
61
|
+
session.commandHistory.push(commandEntry);
|
|
62
|
+
|
|
63
|
+
// Keep only last MAX_HISTORY_LENGTH commands
|
|
64
|
+
if (session.commandHistory.length > MAX_HISTORY_LENGTH) {
|
|
65
|
+
session.commandHistory = session.commandHistory.slice(-MAX_HISTORY_LENGTH);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// Update session type based on history
|
|
69
|
+
session.sessionType = determineSessionType(session.commandHistory);
|
|
70
|
+
|
|
71
|
+
// Track agent transitions
|
|
72
|
+
if (options.previousAgent && options.previousAgent !== agentId) {
|
|
73
|
+
session.previousAgent = options.previousAgent;
|
|
74
|
+
session.agentTransitions = session.agentTransitions || [];
|
|
75
|
+
session.agentTransitions.push({
|
|
76
|
+
from: options.previousAgent,
|
|
77
|
+
to: agentId,
|
|
78
|
+
timestamp: Date.now(),
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// Update current agent
|
|
83
|
+
session.currentAgent = agentId;
|
|
84
|
+
session.lastUpdated = Date.now();
|
|
85
|
+
|
|
86
|
+
// Save session
|
|
87
|
+
await saveSession(session);
|
|
88
|
+
|
|
89
|
+
return session;
|
|
90
|
+
|
|
91
|
+
} catch (error) {
|
|
92
|
+
console.warn('[command-execution-hook] Failed to update session:', error.message);
|
|
93
|
+
// Non-blocking: return empty session on error
|
|
94
|
+
return {
|
|
95
|
+
sessionType: 'new',
|
|
96
|
+
currentAgent: agentId,
|
|
97
|
+
commandHistory: [],
|
|
98
|
+
lastUpdated: Date.now(),
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Load current session from disk
|
|
105
|
+
* @private
|
|
106
|
+
* @returns {Promise<Object>} Session object
|
|
107
|
+
*/
|
|
108
|
+
async function loadSession() {
|
|
109
|
+
try {
|
|
110
|
+
const content = await fs.readFile(SESSION_FILE, 'utf8');
|
|
111
|
+
return JSON.parse(content);
|
|
112
|
+
} catch (error) {
|
|
113
|
+
if (error.code === 'ENOENT') {
|
|
114
|
+
// New session
|
|
115
|
+
return {
|
|
116
|
+
sessionType: 'new',
|
|
117
|
+
commandHistory: [],
|
|
118
|
+
createdAt: Date.now(),
|
|
119
|
+
lastUpdated: Date.now(),
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
throw error;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Save session to disk
|
|
128
|
+
* @private
|
|
129
|
+
* @param {Object} session - Session object to save
|
|
130
|
+
*/
|
|
131
|
+
async function saveSession(session) {
|
|
132
|
+
await fs.writeFile(
|
|
133
|
+
SESSION_FILE,
|
|
134
|
+
JSON.stringify(session, null, 2),
|
|
135
|
+
'utf8',
|
|
136
|
+
);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Determine session type based on command history
|
|
141
|
+
* @private
|
|
142
|
+
* @param {Array} commandHistory - Command history array
|
|
143
|
+
* @returns {string} Session type (new|existing|workflow)
|
|
144
|
+
*/
|
|
145
|
+
function determineSessionType(commandHistory) {
|
|
146
|
+
if (!commandHistory || commandHistory.length === 0) {
|
|
147
|
+
return 'new';
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
if (commandHistory.length === 1) {
|
|
151
|
+
return 'existing';
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
// Workflow detection: 3+ commands or agent transitions
|
|
155
|
+
if (commandHistory.length >= 3) {
|
|
156
|
+
return 'workflow';
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
return 'existing';
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* Get current session state
|
|
164
|
+
*
|
|
165
|
+
* @returns {Promise<Object>} Current session
|
|
166
|
+
*/
|
|
167
|
+
async function getCurrentSession() {
|
|
168
|
+
try {
|
|
169
|
+
return await loadSession();
|
|
170
|
+
} catch (error) {
|
|
171
|
+
console.warn('[command-execution-hook] Failed to load session:', error.message);
|
|
172
|
+
return {
|
|
173
|
+
sessionType: 'new',
|
|
174
|
+
commandHistory: [],
|
|
175
|
+
createdAt: Date.now(),
|
|
176
|
+
lastUpdated: Date.now(),
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* Clear current session (for testing or manual reset)
|
|
183
|
+
*
|
|
184
|
+
* @returns {Promise<void>}
|
|
185
|
+
*/
|
|
186
|
+
async function clearSession() {
|
|
187
|
+
try {
|
|
188
|
+
await fs.unlink(SESSION_FILE);
|
|
189
|
+
} catch (error) {
|
|
190
|
+
if (error.code !== 'ENOENT') {
|
|
191
|
+
throw error;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
module.exports = {
|
|
197
|
+
updateSessionAfterCommand,
|
|
198
|
+
getCurrentSession,
|
|
199
|
+
clearSession,
|
|
200
|
+
};
|
|
201
|
+
|