takomi 2.0.4
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/README.md +422 -0
- package/assets/.agent/skills/agent-recovery/SKILL.md +147 -0
- package/assets/.agent/skills/ai-avatar-video/SKILL.md +153 -0
- package/assets/.agent/skills/ai-marketing-videos/SKILL.md +295 -0
- package/assets/.agent/skills/ai-podcast-creation/SKILL.md +292 -0
- package/assets/.agent/skills/ai-product-photography/SKILL.md +269 -0
- package/assets/.agent/skills/ai-sdk/SKILL.md +77 -0
- package/assets/.agent/skills/ai-sdk/references/ai-gateway.md +66 -0
- package/assets/.agent/skills/ai-sdk/references/common-errors.md +443 -0
- package/assets/.agent/skills/ai-sdk/references/type-safe-agents.md +204 -0
- package/assets/.agent/skills/ai-social-media-content/SKILL.md +253 -0
- package/assets/.agent/skills/ai-voice-cloning/SKILL.md +276 -0
- package/assets/.agent/skills/algorithmic-art/LICENSE.txt +202 -0
- package/assets/.agent/skills/algorithmic-art/SKILL.md +405 -0
- package/assets/.agent/skills/algorithmic-art/templates/generator_template.js +223 -0
- package/assets/.agent/skills/algorithmic-art/templates/viewer.html +599 -0
- package/assets/.agent/skills/audit-website/SKILL.md +631 -0
- package/assets/.agent/skills/audit-website/agents/openai.yaml +6 -0
- package/assets/.agent/skills/audit-website/assets/icon-large.png +0 -0
- package/assets/.agent/skills/audit-website/assets/icon-small.svg +41 -0
- package/assets/.agent/skills/audit-website/references/OUTPUT-FORMAT.md +250 -0
- package/assets/.agent/skills/avoid-feature-creep/SKILL.md +307 -0
- package/assets/.agent/skills/avoid-feature-creep/agents/openai.yaml +3 -0
- package/assets/.agent/skills/avoid-feature-creep/assets/large-logo.png +0 -0
- package/assets/.agent/skills/avoid-feature-creep/assets/small-logo.svg +17 -0
- package/assets/.agent/skills/building-native-ui/SKILL.md +320 -0
- package/assets/.agent/skills/building-native-ui/references/animations.md +220 -0
- package/assets/.agent/skills/building-native-ui/references/controls.md +270 -0
- package/assets/.agent/skills/building-native-ui/references/form-sheet.md +227 -0
- package/assets/.agent/skills/building-native-ui/references/gradients.md +106 -0
- package/assets/.agent/skills/building-native-ui/references/icons.md +213 -0
- package/assets/.agent/skills/building-native-ui/references/media.md +198 -0
- package/assets/.agent/skills/building-native-ui/references/route-structure.md +229 -0
- package/assets/.agent/skills/building-native-ui/references/search.md +248 -0
- package/assets/.agent/skills/building-native-ui/references/storage.md +121 -0
- package/assets/.agent/skills/building-native-ui/references/tabs.md +368 -0
- package/assets/.agent/skills/building-native-ui/references/toolbar-and-headers.md +284 -0
- package/assets/.agent/skills/building-native-ui/references/visual-effects.md +197 -0
- package/assets/.agent/skills/building-native-ui/references/webgpu-three.md +605 -0
- package/assets/.agent/skills/building-native-ui/references/zoom-transitions.md +158 -0
- package/assets/.agent/skills/code-review/SKILL.md +81 -0
- package/assets/.agent/skills/component-analysis/SKILL.md +103 -0
- package/assets/.agent/skills/context7/SKILL.md +85 -0
- package/assets/.agent/skills/convex/SKILL.md +62 -0
- package/assets/.agent/skills/convex/agents/openai.yaml +3 -0
- package/assets/.agent/skills/convex/assets/large-logo.png +0 -0
- package/assets/.agent/skills/convex/assets/small-logo.svg +17 -0
- package/assets/.agent/skills/convex-agents/SKILL.md +516 -0
- package/assets/.agent/skills/convex-agents/agents/openai.yaml +3 -0
- package/assets/.agent/skills/convex-agents/assets/large-logo.png +0 -0
- package/assets/.agent/skills/convex-agents/assets/small-logo.svg +17 -0
- package/assets/.agent/skills/convex-best-practices/SKILL.md +369 -0
- package/assets/.agent/skills/convex-best-practices/agents/openai.yaml +3 -0
- package/assets/.agent/skills/convex-best-practices/assets/large-logo.png +0 -0
- package/assets/.agent/skills/convex-best-practices/assets/small-logo.svg +17 -0
- package/assets/.agent/skills/convex-component-authoring/SKILL.md +457 -0
- package/assets/.agent/skills/convex-component-authoring/agents/openai.yaml +3 -0
- package/assets/.agent/skills/convex-component-authoring/assets/large-logo.png +0 -0
- package/assets/.agent/skills/convex-component-authoring/assets/small-logo.svg +17 -0
- package/assets/.agent/skills/convex-cron-jobs/SKILL.md +604 -0
- package/assets/.agent/skills/convex-cron-jobs/agents/openai.yaml +3 -0
- package/assets/.agent/skills/convex-cron-jobs/assets/large-logo.png +0 -0
- package/assets/.agent/skills/convex-cron-jobs/assets/small-logo.svg +17 -0
- package/assets/.agent/skills/convex-file-storage/SKILL.md +467 -0
- package/assets/.agent/skills/convex-file-storage/agents/openai.yaml +3 -0
- package/assets/.agent/skills/convex-file-storage/assets/large-logo.png +0 -0
- package/assets/.agent/skills/convex-file-storage/assets/small-logo.svg +17 -0
- package/assets/.agent/skills/convex-functions/SKILL.md +458 -0
- package/assets/.agent/skills/convex-functions/agents/openai.yaml +3 -0
- package/assets/.agent/skills/convex-functions/assets/large-logo.png +0 -0
- package/assets/.agent/skills/convex-functions/assets/small-logo.svg +17 -0
- package/assets/.agent/skills/convex-http-actions/SKILL.md +733 -0
- package/assets/.agent/skills/convex-http-actions/agents/openai.yaml +3 -0
- package/assets/.agent/skills/convex-http-actions/assets/large-logo.png +0 -0
- package/assets/.agent/skills/convex-http-actions/assets/small-logo.svg +17 -0
- package/assets/.agent/skills/convex-migrations/SKILL.md +712 -0
- package/assets/.agent/skills/convex-migrations/agents/openai.yaml +3 -0
- package/assets/.agent/skills/convex-migrations/assets/large-logo.png +0 -0
- package/assets/.agent/skills/convex-migrations/assets/small-logo.svg +17 -0
- package/assets/.agent/skills/convex-realtime/SKILL.md +443 -0
- package/assets/.agent/skills/convex-realtime/agents/openai.yaml +3 -0
- package/assets/.agent/skills/convex-realtime/assets/large-logo.png +0 -0
- package/assets/.agent/skills/convex-realtime/assets/small-logo.svg +17 -0
- package/assets/.agent/skills/convex-schema-validator/SKILL.md +400 -0
- package/assets/.agent/skills/convex-schema-validator/agents/openai.yaml +3 -0
- package/assets/.agent/skills/convex-schema-validator/assets/large-logo.png +0 -0
- package/assets/.agent/skills/convex-schema-validator/assets/small-logo.svg +17 -0
- package/assets/.agent/skills/convex-security-audit/SKILL.md +539 -0
- package/assets/.agent/skills/convex-security-audit/agents/openai.yaml +3 -0
- package/assets/.agent/skills/convex-security-audit/assets/large-logo.png +0 -0
- package/assets/.agent/skills/convex-security-audit/assets/small-logo.svg +17 -0
- package/assets/.agent/skills/convex-security-check/SKILL.md +378 -0
- package/assets/.agent/skills/convex-security-check/agents/openai.yaml +3 -0
- package/assets/.agent/skills/convex-security-check/assets/large-logo.png +0 -0
- package/assets/.agent/skills/convex-security-check/assets/small-logo.svg +17 -0
- package/assets/.agent/skills/copywriting/SKILL.md +251 -0
- package/assets/.agent/skills/copywriting/references/copy-frameworks.md +338 -0
- package/assets/.agent/skills/copywriting/references/natural-transitions.md +252 -0
- package/assets/.agent/skills/crafting-effective-readmes/SKILL.md +78 -0
- package/assets/.agent/skills/crafting-effective-readmes/references/art-of-readme.md +536 -0
- package/assets/.agent/skills/crafting-effective-readmes/references/make-a-readme.md +119 -0
- package/assets/.agent/skills/crafting-effective-readmes/references/standard-readme-example-maximal.md +68 -0
- package/assets/.agent/skills/crafting-effective-readmes/references/standard-readme-example-minimal.md +21 -0
- package/assets/.agent/skills/crafting-effective-readmes/references/standard-readme-spec.md +242 -0
- package/assets/.agent/skills/crafting-effective-readmes/section-checklist.md +17 -0
- package/assets/.agent/skills/crafting-effective-readmes/style-guide.md +13 -0
- package/assets/.agent/skills/crafting-effective-readmes/templates/internal.md +106 -0
- package/assets/.agent/skills/crafting-effective-readmes/templates/oss.md +77 -0
- package/assets/.agent/skills/crafting-effective-readmes/templates/personal.md +51 -0
- package/assets/.agent/skills/crafting-effective-readmes/templates/xdg-config.md +71 -0
- package/assets/.agent/skills/crafting-effective-readmes/using-references.md +35 -0
- package/assets/.agent/skills/docx/LICENSE.txt +30 -0
- package/assets/.agent/skills/docx/SKILL.md +481 -0
- package/assets/.agent/skills/docx/scripts/accept_changes.py +135 -0
- package/assets/.agent/skills/docx/scripts/comment.py +318 -0
- package/assets/.agent/skills/docx/scripts/office/helpers/merge_runs.py +199 -0
- package/assets/.agent/skills/docx/scripts/office/helpers/simplify_redlines.py +197 -0
- package/assets/.agent/skills/docx/scripts/office/pack.py +159 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/mce/mc.xsd +75 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/assets/.agent/skills/docx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/assets/.agent/skills/docx/scripts/office/soffice.py +183 -0
- package/assets/.agent/skills/docx/scripts/office/unpack.py +132 -0
- package/assets/.agent/skills/docx/scripts/office/validate.py +111 -0
- package/assets/.agent/skills/docx/scripts/office/validators/base.py +847 -0
- package/assets/.agent/skills/docx/scripts/office/validators/docx.py +446 -0
- package/assets/.agent/skills/docx/scripts/office/validators/pptx.py +275 -0
- package/assets/.agent/skills/docx/scripts/office/validators/redlining.py +247 -0
- package/assets/.agent/skills/docx/scripts/templates/comments.xml +3 -0
- package/assets/.agent/skills/docx/scripts/templates/commentsExtended.xml +3 -0
- package/assets/.agent/skills/docx/scripts/templates/commentsExtensible.xml +3 -0
- package/assets/.agent/skills/docx/scripts/templates/commentsIds.xml +3 -0
- package/assets/.agent/skills/docx/scripts/templates/people.xml +3 -0
- package/assets/.agent/skills/domain-name-brainstormer/SKILL.md +212 -0
- package/assets/.agent/skills/frontend-design/LICENSE.txt +177 -0
- package/assets/.agent/skills/frontend-design/SKILL.md +42 -0
- package/assets/.agent/skills/gemini/SKILL.md +223 -0
- package/assets/.agent/skills/git-worktree/SKILL.md +78 -0
- package/assets/.agent/skills/github-ops/SKILL.md +220 -0
- package/assets/.agent/skills/github-ops/scripts/publish_issues.ps1 +443 -0
- package/assets/.agent/skills/github-ops/scripts/smart-ops.ps1 +128 -0
- package/assets/.agent/skills/github-ops/scripts/smart-ops.sh +130 -0
- package/assets/.agent/skills/global-brand-namer/SKILL.md +119 -0
- package/assets/.agent/skills/global-brand-namer/references/language-matrices.md +196 -0
- package/assets/.agent/skills/global-brand-namer/references/saas-modifiers.md +132 -0
- package/assets/.agent/skills/google-trends/SKILL.md +157 -0
- package/assets/.agent/skills/google-trends/scripts/package.json +17 -0
- package/assets/.agent/skills/google-trends/scripts/pnpm-lock.yaml +31 -0
- package/assets/.agent/skills/google-trends/scripts/search.js +168 -0
- package/assets/.agent/skills/high-fidelity-extraction/SKILL.md +59 -0
- package/assets/.agent/skills/jules/SKILL.md +196 -0
- package/assets/.agent/skills/marketing-ideas/SKILL.md +166 -0
- package/assets/.agent/skills/marketing-ideas/references/ideas-by-category.md +347 -0
- package/assets/.agent/skills/monorepo-management/SKILL.md +623 -0
- package/assets/.agent/skills/nextjs-standards/SKILL.md +194 -0
- package/assets/.agent/skills/nextjs-standards/scripts/vibe-verify.py +150 -0
- package/assets/.agent/skills/nextjs-standards/templates/Coding_Guidelines.md +337 -0
- package/assets/.agent/skills/nextjs-standards/templates/Issue_Template.md +194 -0
- package/assets/.agent/skills/optimize-agent-context/SKILL.md +97 -0
- package/assets/.agent/skills/pdf/LICENSE.txt +30 -0
- package/assets/.agent/skills/pdf/SKILL.md +314 -0
- package/assets/.agent/skills/pdf/forms.md +294 -0
- package/assets/.agent/skills/pdf/reference.md +612 -0
- package/assets/.agent/skills/pdf/scripts/check_bounding_boxes.py +65 -0
- package/assets/.agent/skills/pdf/scripts/check_fillable_fields.py +11 -0
- package/assets/.agent/skills/pdf/scripts/convert_pdf_to_images.py +33 -0
- package/assets/.agent/skills/pdf/scripts/create_validation_image.py +37 -0
- package/assets/.agent/skills/pdf/scripts/extract_form_field_info.py +122 -0
- package/assets/.agent/skills/pdf/scripts/extract_form_structure.py +115 -0
- package/assets/.agent/skills/pdf/scripts/fill_fillable_fields.py +98 -0
- package/assets/.agent/skills/pdf/scripts/fill_pdf_form_with_annotations.py +107 -0
- package/assets/.agent/skills/pptx/LICENSE.txt +30 -0
- package/assets/.agent/skills/pptx/SKILL.md +232 -0
- package/assets/.agent/skills/pptx/editing.md +205 -0
- package/assets/.agent/skills/pptx/pptxgenjs.md +420 -0
- package/assets/.agent/skills/pptx/scripts/add_slide.py +195 -0
- package/assets/.agent/skills/pptx/scripts/clean.py +286 -0
- package/assets/.agent/skills/pptx/scripts/office/helpers/merge_runs.py +199 -0
- package/assets/.agent/skills/pptx/scripts/office/helpers/simplify_redlines.py +197 -0
- package/assets/.agent/skills/pptx/scripts/office/pack.py +159 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/mce/mc.xsd +75 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/assets/.agent/skills/pptx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/assets/.agent/skills/pptx/scripts/office/soffice.py +183 -0
- package/assets/.agent/skills/pptx/scripts/office/unpack.py +132 -0
- package/assets/.agent/skills/pptx/scripts/office/validate.py +111 -0
- package/assets/.agent/skills/pptx/scripts/office/validators/base.py +847 -0
- package/assets/.agent/skills/pptx/scripts/office/validators/docx.py +446 -0
- package/assets/.agent/skills/pptx/scripts/office/validators/pptx.py +275 -0
- package/assets/.agent/skills/pptx/scripts/office/validators/redlining.py +247 -0
- package/assets/.agent/skills/pptx/scripts/thumbnail.py +289 -0
- package/assets/.agent/skills/pricing-strategy/SKILL.md +227 -0
- package/assets/.agent/skills/pricing-strategy/references/research-methods.md +146 -0
- package/assets/.agent/skills/pricing-strategy/references/tier-structure.md +223 -0
- package/assets/.agent/skills/programmatic-seo/SKILL.md +236 -0
- package/assets/.agent/skills/programmatic-seo/references/playbooks.md +293 -0
- package/assets/.agent/skills/prompt-engineering/SKILL.md +342 -0
- package/assets/.agent/skills/remotion/SKILL.md +45 -0
- package/assets/.agent/skills/remotion/rules/3d.md +86 -0
- package/assets/.agent/skills/remotion/rules/animations.md +29 -0
- package/assets/.agent/skills/remotion/rules/assets/charts-bar-chart.tsx +173 -0
- package/assets/.agent/skills/remotion/rules/assets/text-animations-typewriter.tsx +100 -0
- package/assets/.agent/skills/remotion/rules/assets/text-animations-word-highlight.tsx +108 -0
- package/assets/.agent/skills/remotion/rules/assets.md +78 -0
- package/assets/.agent/skills/remotion/rules/audio.md +172 -0
- package/assets/.agent/skills/remotion/rules/calculate-metadata.md +104 -0
- package/assets/.agent/skills/remotion/rules/can-decode.md +75 -0
- package/assets/.agent/skills/remotion/rules/charts.md +58 -0
- package/assets/.agent/skills/remotion/rules/compositions.md +141 -0
- package/assets/.agent/skills/remotion/rules/display-captions.md +126 -0
- package/assets/.agent/skills/remotion/rules/extract-frames.md +229 -0
- package/assets/.agent/skills/remotion/rules/fonts.md +152 -0
- package/assets/.agent/skills/remotion/rules/get-audio-duration.md +58 -0
- package/assets/.agent/skills/remotion/rules/get-video-dimensions.md +68 -0
- package/assets/.agent/skills/remotion/rules/get-video-duration.md +58 -0
- package/assets/.agent/skills/remotion/rules/gifs.md +138 -0
- package/assets/.agent/skills/remotion/rules/images.md +130 -0
- package/assets/.agent/skills/remotion/rules/import-srt-captions.md +67 -0
- package/assets/.agent/skills/remotion/rules/lottie.md +68 -0
- package/assets/.agent/skills/remotion/rules/maps.md +403 -0
- package/assets/.agent/skills/remotion/rules/measuring-dom-nodes.md +35 -0
- package/assets/.agent/skills/remotion/rules/measuring-text.md +143 -0
- package/assets/.agent/skills/remotion/rules/parameters.md +98 -0
- package/assets/.agent/skills/remotion/rules/sequencing.md +118 -0
- package/assets/.agent/skills/remotion/rules/tailwind.md +11 -0
- package/assets/.agent/skills/remotion/rules/text-animations.md +20 -0
- package/assets/.agent/skills/remotion/rules/timing.md +179 -0
- package/assets/.agent/skills/remotion/rules/transcribe-captions.md +19 -0
- package/assets/.agent/skills/remotion/rules/transitions.md +122 -0
- package/assets/.agent/skills/remotion/rules/trimming.md +53 -0
- package/assets/.agent/skills/remotion/rules/videos.md +171 -0
- package/assets/.agent/skills/security-audit/SKILL.md +184 -0
- package/assets/.agent/skills/seo-ready/SKILL.md +140 -0
- package/assets/.agent/skills/seo-ready/references/aeo-geo-patterns.md +279 -0
- package/assets/.agent/skills/seo-ready/references/ai-writing-detection.md +190 -0
- package/assets/.agent/skills/skill-creator/LICENSE.txt +202 -0
- package/assets/.agent/skills/skill-creator/SKILL.md +356 -0
- package/assets/.agent/skills/skill-creator/references/output-patterns.md +82 -0
- package/assets/.agent/skills/skill-creator/references/workflows.md +28 -0
- package/assets/.agent/skills/skill-creator/scripts/__pycache__/quick_validate.cpython-311.pyc +0 -0
- package/assets/.agent/skills/skill-creator/scripts/init_skill.py +303 -0
- package/assets/.agent/skills/skill-creator/scripts/package_skill.py +110 -0
- package/assets/.agent/skills/skill-creator/scripts/quick_validate.py +95 -0
- package/assets/.agent/skills/social-content/SKILL.md +277 -0
- package/assets/.agent/skills/social-content/references/platforms.md +163 -0
- package/assets/.agent/skills/social-content/references/post-templates.md +171 -0
- package/assets/.agent/skills/social-content/references/reverse-engineering.md +190 -0
- package/assets/.agent/skills/spawn-task/SKILL.md +130 -0
- package/assets/.agent/skills/stitch/SKILL.md +258 -0
- package/assets/.agent/skills/stitch/design-md/README.md +34 -0
- package/assets/.agent/skills/stitch/design-md/SKILL.md +172 -0
- package/assets/.agent/skills/stitch/design-md/examples/DESIGN.md +154 -0
- package/assets/.agent/skills/stitch/enhance-prompt/README.md +34 -0
- package/assets/.agent/skills/stitch/enhance-prompt/SKILL.md +204 -0
- package/assets/.agent/skills/stitch/enhance-prompt/references/KEYWORDS.md +114 -0
- package/assets/.agent/skills/stitch/react-components/README.md +36 -0
- package/assets/.agent/skills/stitch/react-components/SKILL.md +47 -0
- package/assets/.agent/skills/stitch/react-components/examples/gold-standard-card.tsx +80 -0
- package/assets/.agent/skills/stitch/react-components/package-lock.json +231 -0
- package/assets/.agent/skills/stitch/react-components/package.json +16 -0
- package/assets/.agent/skills/stitch/react-components/resources/architecture-checklist.md +15 -0
- package/assets/.agent/skills/stitch/react-components/resources/component-template.tsx +37 -0
- package/assets/.agent/skills/stitch/react-components/resources/stitch-api-reference.md +14 -0
- package/assets/.agent/skills/stitch/react-components/resources/style-guide.json +27 -0
- package/assets/.agent/skills/stitch/react-components/scripts/fetch-stitch.sh +30 -0
- package/assets/.agent/skills/stitch/react-components/scripts/validate.js +68 -0
- package/assets/.agent/skills/stitch/remotion/README.md +105 -0
- package/assets/.agent/skills/stitch/remotion/SKILL.md +393 -0
- package/assets/.agent/skills/stitch/remotion/examples/WalkthroughComposition.tsx +78 -0
- package/assets/.agent/skills/stitch/remotion/examples/screens.json +56 -0
- package/assets/.agent/skills/stitch/remotion/resources/composition-checklist.md +124 -0
- package/assets/.agent/skills/stitch/remotion/resources/screen-slide-template.tsx +123 -0
- package/assets/.agent/skills/stitch/remotion/scripts/download-stitch-asset.sh +38 -0
- package/assets/.agent/skills/stitch/shadcn-ui/README.md +248 -0
- package/assets/.agent/skills/stitch/shadcn-ui/SKILL.md +326 -0
- package/assets/.agent/skills/stitch/shadcn-ui/examples/auth-layout.tsx +177 -0
- package/assets/.agent/skills/stitch/shadcn-ui/examples/data-table.tsx +313 -0
- package/assets/.agent/skills/stitch/shadcn-ui/examples/form-pattern.tsx +177 -0
- package/assets/.agent/skills/stitch/shadcn-ui/resources/component-catalog.md +481 -0
- package/assets/.agent/skills/stitch/shadcn-ui/resources/customization-guide.md +516 -0
- package/assets/.agent/skills/stitch/shadcn-ui/resources/migration-guide.md +463 -0
- package/assets/.agent/skills/stitch/shadcn-ui/resources/setup-guide.md +412 -0
- package/assets/.agent/skills/stitch/shadcn-ui/scripts/verify-setup.sh +134 -0
- package/assets/.agent/skills/stitch/stitch-loop/README.md +54 -0
- package/assets/.agent/skills/stitch/stitch-loop/SKILL.md +203 -0
- package/assets/.agent/skills/stitch/stitch-loop/examples/SITE.md +73 -0
- package/assets/.agent/skills/stitch/stitch-loop/examples/next-prompt.md +25 -0
- package/assets/.agent/skills/stitch/stitch-loop/resources/baton-schema.md +61 -0
- package/assets/.agent/skills/stitch/stitch-loop/resources/site-template.md +104 -0
- package/assets/.agent/skills/subagent-driven-development/SKILL.md +242 -0
- package/assets/.agent/skills/subagent-driven-development/code-quality-reviewer-prompt.md +20 -0
- package/assets/.agent/skills/subagent-driven-development/implementer-prompt.md +78 -0
- package/assets/.agent/skills/subagent-driven-development/spec-reviewer-prompt.md +61 -0
- package/assets/.agent/skills/sync-docs/SKILL.md +88 -0
- package/assets/.agent/skills/twitter-automation/SKILL.md +157 -0
- package/assets/.agent/skills/ui-ux-pro-max/README.md +488 -0
- package/assets/.agent/skills/ui-ux-pro-max/SKILL.md +293 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/icons.csv +101 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/prompts.csv +24 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/styles.csv +59 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/assets/.agent/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-311.pyc +0 -0
- package/assets/.agent/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-311.pyc +0 -0
- package/assets/.agent/skills/ui-ux-pro-max/scripts/core.py +258 -0
- package/assets/.agent/skills/ui-ux-pro-max/scripts/design_system.py +1067 -0
- package/assets/.agent/skills/ui-ux-pro-max/scripts/search.py +106 -0
- package/assets/.agent/skills/upgrading-expo/SKILL.md +125 -0
- package/assets/.agent/skills/upgrading-expo/references/expo-av-to-audio.md +132 -0
- package/assets/.agent/skills/upgrading-expo/references/expo-av-to-video.md +160 -0
- package/assets/.agent/skills/upgrading-expo/references/native-tabs.md +124 -0
- package/assets/.agent/skills/upgrading-expo/references/new-architecture.md +79 -0
- package/assets/.agent/skills/upgrading-expo/references/react-19.md +79 -0
- package/assets/.agent/skills/upgrading-expo/references/react-compiler.md +59 -0
- package/assets/.agent/skills/web-design-guidelines/SKILL.md +39 -0
- package/assets/.agent/skills/webapp-testing/LICENSE.txt +202 -0
- package/assets/.agent/skills/webapp-testing/SKILL.md +96 -0
- package/assets/.agent/skills/webapp-testing/examples/console_logging.py +35 -0
- package/assets/.agent/skills/webapp-testing/examples/element_discovery.py +40 -0
- package/assets/.agent/skills/webapp-testing/examples/static_html_automation.py +33 -0
- package/assets/.agent/skills/webapp-testing/scripts/with_server.py +106 -0
- package/assets/.agent/skills/xlsx/LICENSE.txt +30 -0
- package/assets/.agent/skills/xlsx/SKILL.md +292 -0
- package/assets/.agent/skills/xlsx/scripts/office/helpers/merge_runs.py +199 -0
- package/assets/.agent/skills/xlsx/scripts/office/helpers/simplify_redlines.py +197 -0
- package/assets/.agent/skills/xlsx/scripts/office/pack.py +159 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/mce/mc.xsd +75 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/assets/.agent/skills/xlsx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/assets/.agent/skills/xlsx/scripts/office/soffice.py +183 -0
- package/assets/.agent/skills/xlsx/scripts/office/unpack.py +132 -0
- package/assets/.agent/skills/xlsx/scripts/office/validate.py +111 -0
- package/assets/.agent/skills/xlsx/scripts/office/validators/base.py +847 -0
- package/assets/.agent/skills/xlsx/scripts/office/validators/docx.py +446 -0
- package/assets/.agent/skills/xlsx/scripts/office/validators/pptx.py +275 -0
- package/assets/.agent/skills/xlsx/scripts/office/validators/redlining.py +247 -0
- package/assets/.agent/skills/xlsx/scripts/recalc.py +184 -0
- package/assets/.agent/skills/youtube-pipeline/SKILL.md +194 -0
- package/assets/.agent/skills/youtube-pipeline/resources/youtube-phase1-strategy.md +224 -0
- package/assets/.agent/skills/youtube-pipeline/resources/youtube-phase2-packaging.md +148 -0
- package/assets/.agent/skills/youtube-pipeline/resources/youtube-phase3-scripting.md +197 -0
- package/assets/.agent/skills/youtube-pipeline/resources/youtube-phase3.5-shorts.md +271 -0
- package/assets/.agent/skills/youtube-pipeline/resources/youtube-phase4-production.md +193 -0
- package/assets/.agent/skills/youtube-pipeline/resources/youtube-phase5-repurposing.md +159 -0
- package/assets/.agent/skills/youtube-pipeline/resources/youtube-pipeline.md +161 -0
- package/assets/.agent/skills/youtube-pipeline/scripts/parse_yt_studio.ps1 +150 -0
- package/assets/.agent/workflows/LEGACY/ANTIGRAVITY_TOOLBOX.md +200 -0
- package/assets/.agent/workflows/LEGACY/analyze_component.md +141 -0
- package/assets/.agent/workflows/LEGACY/build_vibecode_project.md +154 -0
- package/assets/.agent/workflows/LEGACY/build_vibecode_project_v2.md +158 -0
- package/assets/.agent/workflows/LEGACY/deep_code_audit.md +79 -0
- package/assets/.agent/workflows/LEGACY/gemini-orchestrate.md +63 -0
- package/assets/.agent/workflows/LEGACY/git_worktree.md +71 -0
- package/assets/.agent/workflows/LEGACY/init_smart_ops.md +101 -0
- package/assets/.agent/workflows/LEGACY/init_vibecode_genesis_v1.md +137 -0
- package/assets/.agent/workflows/LEGACY/multi_agent_strategy.md +62 -0
- package/assets/.agent/workflows/LEGACY/orchestrate.md +321 -0
- package/assets/.agent/workflows/LEGACY/seo_ready.md +249 -0
- package/assets/.agent/workflows/LEGACY/vibe-orchestrator.md +305 -0
- package/assets/.agent/workflows/LEGACY/youtube-phase1-strategy.md +224 -0
- package/assets/.agent/workflows/LEGACY/youtube-phase2-packaging.md +148 -0
- package/assets/.agent/workflows/LEGACY/youtube-phase3-scripting.md +197 -0
- package/assets/.agent/workflows/LEGACY/youtube-phase3.5-shorts.md +271 -0
- package/assets/.agent/workflows/LEGACY/youtube-phase4-production.md +193 -0
- package/assets/.agent/workflows/LEGACY/youtube-phase5-repurposing.md +159 -0
- package/assets/.agent/workflows/LEGACY/youtube-pipeline.md +161 -0
- package/assets/.agent/workflows/README.md +537 -0
- package/assets/.agent/workflows/Vercel Ai SDK.md +34083 -0
- package/assets/.agent/workflows/agent_reset.md +173 -0
- package/assets/.agent/workflows/escalate.md +112 -0
- package/assets/.agent/workflows/migrate.md +135 -0
- package/assets/.agent/workflows/mode-architect.md +422 -0
- package/assets/.agent/workflows/mode-ask.md +294 -0
- package/assets/.agent/workflows/mode-code.md +481 -0
- package/assets/.agent/workflows/mode-debug.md +407 -0
- package/assets/.agent/workflows/mode-orchestrator.md +222 -0
- package/assets/.agent/workflows/mode-review.md +341 -0
- package/assets/.agent/workflows/mode-visionary.md +186 -0
- package/assets/.agent/workflows/optimize-agent-context.md +54 -0
- package/assets/.agent/workflows/remotion-build.md +323 -0
- package/assets/.agent/workflows/reverse_genesis.md +132 -0
- package/assets/.agent/workflows/review_code.md +133 -0
- package/assets/.agent/workflows/spawn-jstar-code-review.md +121 -0
- package/assets/.agent/workflows/stitch.md +149 -0
- package/assets/.agent/workflows/vibe-build.md +271 -0
- package/assets/.agent/workflows/vibe-continueBuild.md +184 -0
- package/assets/.agent/workflows/vibe-design.md +98 -0
- package/assets/.agent/workflows/vibe-finalize.md +208 -0
- package/assets/.agent/workflows/vibe-genesis.md +191 -0
- package/assets/.agent/workflows/vibe-primeAgent.md +110 -0
- package/assets/.agent/workflows/vibe-spawnTask.md +188 -0
- package/assets/.agent/workflows/vibe-syncDocs.md +90 -0
- package/assets/Legacy/0 VibeCode User Manual.md +175 -0
- package/assets/Legacy/1 Project Genesis Protocol The VibeCode Workflow.md +89 -0
- package/assets/Legacy/2/342/234/250 ULTIMATE ORCHESTRATION PROMPT/342/234/250.md" +114 -0
- package/assets/Legacy/3 Design System Genesis Protocol.md +75 -0
- package/assets/Legacy/3.1.1 my_design_system_rules.md +177 -0
- package/assets/Legacy/3.1.2 Material You M3 Genesis Protocol.md +73 -0
- package/assets/Legacy/4 The Ultimate GitHub Issue Meta-Prompt Template.md +54 -0
- package/assets/Legacy/5 The Escalation & Handoff Protocol.md +97 -0
- package/assets/Legacy/8 The Seamless Migration Meta-Prompt (Your Reusable Tool).md +38 -0
- package/assets/Legacy/9 The Reverse Genesis Protocol.md +75 -0
- package/assets/Takomi-Agents/custom_modes.yaml +1252 -0
- package/assets/Takomi-Agents/kilo-code-settings.json +1 -0
- package/assets/Takomi-Agents/vibe-architect.yaml +473 -0
- package/assets/Takomi-Agents/vibe-ask.yaml +395 -0
- package/assets/Takomi-Agents/vibe-code.yaml +522 -0
- package/assets/Takomi-Agents/vibe-debug.yaml +448 -0
- package/assets/Takomi-Agents/vibe-orchestrator.yaml +763 -0
- package/assets/Takomi-Agents/vibe-review.yaml +459 -0
- package/assets/Takomi-Agents/vibe-visionary.yaml +607 -0
- package/bin/takomi.js +2 -0
- package/package.json +42 -0
- package/src/cli.js +638 -0
- package/src/harness.js +281 -0
- package/src/store.js +239 -0
- package/src/utils.js +447 -0
package/src/cli.js
ADDED
|
@@ -0,0 +1,638 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import prompts from 'prompts';
|
|
3
|
+
import pc from 'picocolors';
|
|
4
|
+
import figlet from 'figlet';
|
|
5
|
+
import fs from 'fs-extra';
|
|
6
|
+
import path from 'path';
|
|
7
|
+
import {
|
|
8
|
+
PATHS,
|
|
9
|
+
getWorkflows,
|
|
10
|
+
getSkills,
|
|
11
|
+
copySpecificWorkflows,
|
|
12
|
+
copySpecificSkills,
|
|
13
|
+
copyAllWorkflows,
|
|
14
|
+
copyAllSkills,
|
|
15
|
+
copyAgentReadme,
|
|
16
|
+
copyAgentYamls,
|
|
17
|
+
copyLegacyManual,
|
|
18
|
+
updateWorkflows,
|
|
19
|
+
updateSkills,
|
|
20
|
+
updateAgentYamls,
|
|
21
|
+
updateLegacyManual,
|
|
22
|
+
downloadDirectoryFromGitHub,
|
|
23
|
+
} from './utils.js';
|
|
24
|
+
import {
|
|
25
|
+
detectHarnesses,
|
|
26
|
+
printHarnessStatus,
|
|
27
|
+
syncToAllHarnesses,
|
|
28
|
+
syncToHarness,
|
|
29
|
+
} from './harness.js';
|
|
30
|
+
import {
|
|
31
|
+
STORE_PATH,
|
|
32
|
+
initGlobalStore,
|
|
33
|
+
getManifest,
|
|
34
|
+
writeManifest,
|
|
35
|
+
populateSkills,
|
|
36
|
+
populateWorkflows,
|
|
37
|
+
populateAgentYamls,
|
|
38
|
+
getStoreSkills,
|
|
39
|
+
getStoreWorkflows,
|
|
40
|
+
isStoreInitialized,
|
|
41
|
+
} from './store.js';
|
|
42
|
+
|
|
43
|
+
const program = new Command();
|
|
44
|
+
|
|
45
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
46
|
+
// takomi init (EXISTING — Backward Compatible)
|
|
47
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
48
|
+
|
|
49
|
+
async function init() {
|
|
50
|
+
console.log(pc.magenta(figlet.textSync('Takomi', { horizontalLayout: 'full' })));
|
|
51
|
+
console.log(pc.cyan(' Your AI team. Activated. 🚀\n'));
|
|
52
|
+
|
|
53
|
+
const response = await prompts([
|
|
54
|
+
{
|
|
55
|
+
type: 'multiselect',
|
|
56
|
+
name: 'components',
|
|
57
|
+
message: 'What components do you want to spawn?',
|
|
58
|
+
choices: [
|
|
59
|
+
{ title: '.agent Folder (Workflows & Skills)', value: 'agent', selected: true, description: 'Recommended for Cursor/Windsurf' },
|
|
60
|
+
{ title: 'Agent YAMLs', value: 'yamls', description: 'For Kilo Code / Deep Source' },
|
|
61
|
+
{ title: 'Legacy Manual Protocols', value: 'legacy', description: 'Browser-based prompts' }
|
|
62
|
+
],
|
|
63
|
+
min: 1,
|
|
64
|
+
hint: '- Space to select. Return to submit'
|
|
65
|
+
},
|
|
66
|
+
// Workflow Selection (Only if .agent is selected)
|
|
67
|
+
{
|
|
68
|
+
type: (prev, values) => values.components.includes('agent') ? 'select' : null,
|
|
69
|
+
name: 'workflowMode',
|
|
70
|
+
message: 'How should we install Workflows?',
|
|
71
|
+
choices: [
|
|
72
|
+
{ title: 'Install Core Workflows (Recommended)', value: 'core' },
|
|
73
|
+
{ title: 'Install All Workflows', value: 'all' },
|
|
74
|
+
{ title: 'Install All (Exclude Legacy)', value: 'no-legacy' },
|
|
75
|
+
{ title: 'Select Specific Workflows', value: 'custom' }
|
|
76
|
+
]
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
type: (prev, values) => values.workflowMode === 'custom' ? 'multiselect' : null,
|
|
80
|
+
name: 'selectedWorkflows',
|
|
81
|
+
message: 'Select workflows to install:',
|
|
82
|
+
choices: async () => {
|
|
83
|
+
const workflows = await getWorkflows();
|
|
84
|
+
return workflows.map(w => ({ title: w, value: w }));
|
|
85
|
+
},
|
|
86
|
+
hint: '- Space to select. Return to submit'
|
|
87
|
+
},
|
|
88
|
+
// Skill Selection (Only if .agent is selected)
|
|
89
|
+
{
|
|
90
|
+
type: (prev, values) => values.components.includes('agent') ? 'select' : null,
|
|
91
|
+
name: 'skillMode',
|
|
92
|
+
message: 'How should we install Skills?',
|
|
93
|
+
choices: [
|
|
94
|
+
{ title: 'Install Core Skills (Recommended)', value: 'core' },
|
|
95
|
+
{ title: 'Install All Skills', value: 'all' },
|
|
96
|
+
{ title: 'Select Specific Skills', value: 'custom' }
|
|
97
|
+
]
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
type: (prev, values) => values.skillMode === 'custom' ? 'multiselect' : null,
|
|
101
|
+
name: 'selectedSkills',
|
|
102
|
+
message: 'Select skills to install:',
|
|
103
|
+
choices: async () => {
|
|
104
|
+
const skills = await getSkills();
|
|
105
|
+
return skills.map(s => ({ title: s, value: s }));
|
|
106
|
+
},
|
|
107
|
+
hint: '- Space to select. Return to submit'
|
|
108
|
+
},
|
|
109
|
+
// Destination
|
|
110
|
+
{
|
|
111
|
+
type: 'text',
|
|
112
|
+
name: 'path',
|
|
113
|
+
message: 'Where should we spawn these files?',
|
|
114
|
+
initial: './'
|
|
115
|
+
}
|
|
116
|
+
]);
|
|
117
|
+
|
|
118
|
+
if (!response.components) return; // User cancelled
|
|
119
|
+
|
|
120
|
+
const destRoot = path.resolve(process.cwd(), response.path);
|
|
121
|
+
console.log(pc.dim(`\nSpawning resources into: ${destRoot}...\n`));
|
|
122
|
+
|
|
123
|
+
try {
|
|
124
|
+
// 0. Install from local assets
|
|
125
|
+
console.log(pc.cyan('📦 Installing from local bundle...\n'));
|
|
126
|
+
|
|
127
|
+
// 1. Handle .agent Folder
|
|
128
|
+
if (response.components.includes('agent')) {
|
|
129
|
+
const agentDest = path.join(destRoot, '.agent');
|
|
130
|
+
const workflowsDest = path.join(agentDest, 'workflows');
|
|
131
|
+
const skillsDest = path.join(agentDest, 'skills');
|
|
132
|
+
|
|
133
|
+
await fs.ensureDir(agentDest);
|
|
134
|
+
await fs.ensureDir(workflowsDest);
|
|
135
|
+
|
|
136
|
+
// Handle Workflows
|
|
137
|
+
if (response.workflowMode === 'core') {
|
|
138
|
+
console.log(pc.green('✔ Downloading Core Workflows...'));
|
|
139
|
+
const coreWorkflows = [
|
|
140
|
+
'vibe-genesis.md', 'vibe-design.md', 'vibe-build.md',
|
|
141
|
+
'vibe-continueBuild.md', 'vibe-finalize.md', 'vibe-spawnTask.md',
|
|
142
|
+
'vibe-primeAgent.md', 'vibe-syncDocs.md', 'stitch.md',
|
|
143
|
+
'mode-orchestrator.md', 'mode-architect.md', 'mode-code.md',
|
|
144
|
+
'mode-debug.md', 'mode-ask.md', 'mode-review.md', 'mode-visionary.md'
|
|
145
|
+
];
|
|
146
|
+
await copySpecificWorkflows(coreWorkflows, workflowsDest);
|
|
147
|
+
} else if (response.workflowMode === 'all') {
|
|
148
|
+
console.log(pc.green('✔ Downloading all workflows...'));
|
|
149
|
+
await copyAllWorkflows(workflowsDest, false);
|
|
150
|
+
} else if (response.workflowMode === 'no-legacy') {
|
|
151
|
+
console.log(pc.green('✔ Downloading workflows (skipping legacy)...'));
|
|
152
|
+
await copyAllWorkflows(workflowsDest, true);
|
|
153
|
+
} else if (response.workflowMode === 'custom' && response.selectedWorkflows) {
|
|
154
|
+
console.log(pc.green(`✔ Downloading ${response.selectedWorkflows.length} specific workflows...`));
|
|
155
|
+
await copySpecificWorkflows(response.selectedWorkflows, workflowsDest);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
await fs.ensureDir(skillsDest);
|
|
159
|
+
|
|
160
|
+
// Handle Skills
|
|
161
|
+
if (response.skillMode === 'core') {
|
|
162
|
+
console.log(pc.green('✔ Downloading Core Skills...'));
|
|
163
|
+
const coreSkills = [
|
|
164
|
+
'ai-sdk', 'code-review', 'component-analysis',
|
|
165
|
+
'nextjs-standards', 'security-audit', 'spawn-task',
|
|
166
|
+
'stitch', 'sync-docs'
|
|
167
|
+
];
|
|
168
|
+
await copySpecificSkills(coreSkills, skillsDest);
|
|
169
|
+
} else if (response.skillMode === 'all') {
|
|
170
|
+
console.log(pc.green('✔ Downloading all skills...'));
|
|
171
|
+
await copyAllSkills(skillsDest);
|
|
172
|
+
} else if (response.skillMode === 'custom' && response.selectedSkills) {
|
|
173
|
+
console.log(pc.green(`✔ Downloading ${response.selectedSkills.length} specific skills...`));
|
|
174
|
+
await copySpecificSkills(response.selectedSkills, skillsDest);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
// Copy .agent/README.md if it exists
|
|
178
|
+
await copyAgentReadme(path.join(agentDest, 'README.md'));
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
// 2. Handle Agent YAMLs
|
|
182
|
+
if (response.components.includes('yamls')) {
|
|
183
|
+
console.log(pc.green('✔ Downloading Agent YAMLs...'));
|
|
184
|
+
const yamlDest = path.join(destRoot, 'Takomi-Agents');
|
|
185
|
+
await copyAgentYamls(yamlDest);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
// 3. Handle Legacy Manual
|
|
189
|
+
if (response.components.includes('legacy')) {
|
|
190
|
+
console.log(pc.green('✔ Downloading Legacy Protocols...'));
|
|
191
|
+
const legacyDest = path.join(destRoot, 'Legacy-Protocols');
|
|
192
|
+
await copyLegacyManual(legacyDest);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
console.log(pc.magenta('\n✨ Your toolkit is ready. Let\'s build something extraordinary. ✨'));
|
|
196
|
+
console.log(pc.white(`\nNext steps:`));
|
|
197
|
+
if (response.components.includes('agent')) {
|
|
198
|
+
console.log(pc.gray(`1. Your .agent folder is armed and ready.`));
|
|
199
|
+
console.log(pc.gray(`2. Type '/init_vibecode_genesis' in your IDE to begin.`));
|
|
200
|
+
}
|
|
201
|
+
console.log(pc.dim(`\n💡 Pro tip: Run "takomi install" to sync this toolkit across all your IDEs.\n`));
|
|
202
|
+
|
|
203
|
+
} catch (error) {
|
|
204
|
+
console.error(pc.red('Error during installation:'), error);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
209
|
+
// takomi install (NEW — Global Setup + Harness Routing)
|
|
210
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
211
|
+
|
|
212
|
+
async function install() {
|
|
213
|
+
console.log(pc.magenta(figlet.textSync('Takomi', { horizontalLayout: 'full' })));
|
|
214
|
+
console.log(pc.cyan(' 🌐 One install. Every IDE. Zero friction.\n'));
|
|
215
|
+
|
|
216
|
+
// 1. Detect harnesses
|
|
217
|
+
const detected = detectHarnesses();
|
|
218
|
+
printHarnessStatus(detected);
|
|
219
|
+
|
|
220
|
+
if (detected.length === 0) {
|
|
221
|
+
console.log(pc.yellow(' No AI harnesses detected on this machine.'));
|
|
222
|
+
console.log(pc.dim(' We support: Antigravity, KiloCode, Windsurf, Cursor, Gemini CLI'));
|
|
223
|
+
console.log(pc.dim(' Run "takomi init" instead for per-project setup.\n'));
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
// 2. Let user select which harnesses to configure
|
|
228
|
+
const harnessResponse = await prompts({
|
|
229
|
+
type: 'multiselect',
|
|
230
|
+
name: 'harnesses',
|
|
231
|
+
message: 'Which harnesses should we configure?',
|
|
232
|
+
choices: detected.map(h => ({
|
|
233
|
+
title: h.name,
|
|
234
|
+
value: h.id,
|
|
235
|
+
selected: true,
|
|
236
|
+
description: path.relative(process.env.USERPROFILE || process.env.HOME || '', h.rootPath),
|
|
237
|
+
})),
|
|
238
|
+
min: 1,
|
|
239
|
+
hint: '- Space to select. Return to submit',
|
|
240
|
+
});
|
|
241
|
+
|
|
242
|
+
if (!harnessResponse.harnesses || harnessResponse.harnesses.length === 0) return;
|
|
243
|
+
|
|
244
|
+
const selectedHarnesses = detected.filter(h => harnessResponse.harnesses.includes(h.id));
|
|
245
|
+
|
|
246
|
+
// 3. Ask what to install
|
|
247
|
+
const contentResponse = await prompts([
|
|
248
|
+
{
|
|
249
|
+
type: 'multiselect',
|
|
250
|
+
name: 'content',
|
|
251
|
+
message: 'What should we install globally?',
|
|
252
|
+
choices: [
|
|
253
|
+
{ title: 'Skills', value: 'skills', selected: true, description: `${(await getSkills()).length} available` },
|
|
254
|
+
{ title: 'Workflows', value: 'workflows', selected: true, description: `${(await getWorkflows()).length} available` },
|
|
255
|
+
{ title: 'Agent YAMLs (custom_modes.yaml → KiloCode)', value: 'yamls', selected: selectedHarnesses.some(h => h.id === 'kilocode'), description: 'For KiloCode modes' },
|
|
256
|
+
],
|
|
257
|
+
min: 1,
|
|
258
|
+
hint: '- Space to select. Return to submit',
|
|
259
|
+
},
|
|
260
|
+
// Skill pack selection
|
|
261
|
+
{
|
|
262
|
+
type: (prev, values) => values.content.includes('skills') ? 'select' : null,
|
|
263
|
+
name: 'skillMode',
|
|
264
|
+
message: 'Which skill pack?',
|
|
265
|
+
choices: [
|
|
266
|
+
{ title: 'Core (8 essentials)', value: 'core', description: 'ai-sdk, code-review, nextjs-standards...' },
|
|
267
|
+
{ title: `All (${(await getSkills()).length} skills)`, value: 'all' },
|
|
268
|
+
{ title: 'Custom selection', value: 'custom' },
|
|
269
|
+
],
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
type: (prev, values) => values.skillMode === 'custom' ? 'multiselect' : null,
|
|
273
|
+
name: 'selectedSkills',
|
|
274
|
+
message: 'Select skills:',
|
|
275
|
+
choices: async () => {
|
|
276
|
+
const skills = await getSkills();
|
|
277
|
+
return skills.map(s => ({ title: s, value: s }));
|
|
278
|
+
},
|
|
279
|
+
hint: '- Space to select. Return to submit',
|
|
280
|
+
},
|
|
281
|
+
// Workflow pack selection
|
|
282
|
+
{
|
|
283
|
+
type: (prev, values) => values.content.includes('workflows') ? 'select' : null,
|
|
284
|
+
name: 'workflowMode',
|
|
285
|
+
message: 'Which workflow pack?',
|
|
286
|
+
choices: [
|
|
287
|
+
{ title: 'Core (16 essentials)', value: 'core', description: 'vibe-build, mode-architect...' },
|
|
288
|
+
{ title: `All (${(await getWorkflows()).length} workflows)`, value: 'all' },
|
|
289
|
+
{ title: 'All (Exclude Legacy)', value: 'no-legacy' },
|
|
290
|
+
{ title: 'Custom selection', value: 'custom' },
|
|
291
|
+
],
|
|
292
|
+
},
|
|
293
|
+
{
|
|
294
|
+
type: (prev, values) => values.workflowMode === 'custom' ? 'multiselect' : null,
|
|
295
|
+
name: 'selectedWorkflows',
|
|
296
|
+
message: 'Select workflows:',
|
|
297
|
+
choices: async () => {
|
|
298
|
+
const workflows = await getWorkflows();
|
|
299
|
+
return workflows.map(w => ({ title: w, value: w }));
|
|
300
|
+
},
|
|
301
|
+
hint: '- Space to select. Return to submit',
|
|
302
|
+
},
|
|
303
|
+
]);
|
|
304
|
+
|
|
305
|
+
if (!contentResponse.content) return;
|
|
306
|
+
|
|
307
|
+
try {
|
|
308
|
+
// 4. Initialize global store
|
|
309
|
+
console.log(pc.cyan(`\n📦 Creating global store (${STORE_PATH})...\n`));
|
|
310
|
+
await initGlobalStore();
|
|
311
|
+
|
|
312
|
+
// 5. Populate store from package assets
|
|
313
|
+
if (contentResponse.content.includes('skills')) {
|
|
314
|
+
const skillMode = contentResponse.skillMode === 'custom'
|
|
315
|
+
? contentResponse.selectedSkills
|
|
316
|
+
: contentResponse.skillMode;
|
|
317
|
+
const skills = await populateSkills(skillMode);
|
|
318
|
+
console.log(pc.green(` ✔ ${skills.length} skills loaded into store`));
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
if (contentResponse.content.includes('workflows')) {
|
|
322
|
+
const workflowMode = contentResponse.workflowMode === 'custom'
|
|
323
|
+
? contentResponse.selectedWorkflows
|
|
324
|
+
: contentResponse.workflowMode;
|
|
325
|
+
const workflows = await populateWorkflows(workflowMode);
|
|
326
|
+
console.log(pc.green(` ✔ ${workflows.length} workflows loaded into store`));
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
if (contentResponse.content.includes('yamls')) {
|
|
330
|
+
const yamls = await populateAgentYamls();
|
|
331
|
+
console.log(pc.green(` ✔ ${yamls.length} agent YAMLs loaded into store`));
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
// 6. Sync store to all selected harnesses
|
|
335
|
+
console.log(pc.cyan('\n📡 Syncing to harnesses...\n'));
|
|
336
|
+
await syncToAllHarnesses(selectedHarnesses, STORE_PATH);
|
|
337
|
+
|
|
338
|
+
// 7. Update manifest
|
|
339
|
+
const manifest = await getManifest();
|
|
340
|
+
manifest.linkedHarnesses = selectedHarnesses.map(h => h.id);
|
|
341
|
+
manifest.installed.skills = await getStoreSkills();
|
|
342
|
+
manifest.installed.workflows = await getStoreWorkflows();
|
|
343
|
+
await writeManifest(manifest);
|
|
344
|
+
|
|
345
|
+
// 8. Summary
|
|
346
|
+
console.log(pc.magenta('\n✨ Your command center is live. ✨'));
|
|
347
|
+
console.log(pc.white(`\n Store: ${STORE_PATH}`));
|
|
348
|
+
console.log(pc.white(` Connected: ${selectedHarnesses.map(h => h.name).join(', ')}`));
|
|
349
|
+
console.log(pc.dim(`\n Add skills: takomi add <github-url>`));
|
|
350
|
+
console.log(pc.dim(` Sync updates: takomi sync\n`));
|
|
351
|
+
|
|
352
|
+
} catch (error) {
|
|
353
|
+
console.error(pc.red('\nError during global installation:'), error);
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
358
|
+
// takomi sync (NEW — Re-sync store to all harnesses)
|
|
359
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
360
|
+
|
|
361
|
+
async function sync() {
|
|
362
|
+
console.log(pc.magenta('📡 Syncing your toolkit to all connected IDEs...\n'));
|
|
363
|
+
|
|
364
|
+
// Check if global store exists
|
|
365
|
+
if (!await isStoreInitialized()) {
|
|
366
|
+
console.log(pc.yellow('No command center found. Run "takomi install" first.\n'));
|
|
367
|
+
return;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
const manifest = await getManifest();
|
|
371
|
+
const detected = detectHarnesses();
|
|
372
|
+
|
|
373
|
+
if (detected.length === 0) {
|
|
374
|
+
console.log(pc.yellow('No AI harnesses detected.\n'));
|
|
375
|
+
return;
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
// Let user pick which harnesses to sync to
|
|
379
|
+
const response = await prompts({
|
|
380
|
+
type: 'multiselect',
|
|
381
|
+
name: 'harnesses',
|
|
382
|
+
message: 'Sync to which harnesses?',
|
|
383
|
+
choices: detected.map(h => ({
|
|
384
|
+
title: h.name,
|
|
385
|
+
value: h.id,
|
|
386
|
+
selected: manifest.linkedHarnesses.includes(h.id),
|
|
387
|
+
})),
|
|
388
|
+
min: 1,
|
|
389
|
+
hint: '- Space to select. Return to submit',
|
|
390
|
+
});
|
|
391
|
+
|
|
392
|
+
if (!response.harnesses || response.harnesses.length === 0) return;
|
|
393
|
+
|
|
394
|
+
const selectedHarnesses = detected.filter(h => response.harnesses.includes(h.id));
|
|
395
|
+
|
|
396
|
+
console.log(pc.cyan('\n📡 Syncing from global store...\n'));
|
|
397
|
+
await syncToAllHarnesses(selectedHarnesses, STORE_PATH);
|
|
398
|
+
|
|
399
|
+
// Update manifest with current harnesses
|
|
400
|
+
manifest.linkedHarnesses = [...new Set([...manifest.linkedHarnesses, ...response.harnesses])];
|
|
401
|
+
await writeManifest(manifest);
|
|
402
|
+
|
|
403
|
+
const skills = await getStoreSkills();
|
|
404
|
+
const workflows = await getStoreWorkflows();
|
|
405
|
+
console.log(pc.magenta(`\n✨ ${skills.length} skills and ${workflows.length} workflows synced to ${selectedHarnesses.length} IDE(s). Ready to build.\n`));
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
409
|
+
// takomi add <url> (NEW — Fetch remote skills from GitHub)
|
|
410
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
411
|
+
|
|
412
|
+
async function add(url) {
|
|
413
|
+
console.log(pc.magenta('📥 Adding new capabilities to your toolkit...\n'));
|
|
414
|
+
|
|
415
|
+
// Parse GitHub URL → owner/repo
|
|
416
|
+
const match = url.match(/github\.com\/([^/]+\/[^/]+)/);
|
|
417
|
+
if (!match) {
|
|
418
|
+
console.log(pc.red('That doesn\'t look like a GitHub URL. Expected: https://github.com/owner/repo'));
|
|
419
|
+
return;
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
const repoSlug = match[1].replace(/\.git$/, '');
|
|
423
|
+
console.log(pc.dim(` Repo: ${repoSlug}\n`));
|
|
424
|
+
|
|
425
|
+
// Initialize store if needed
|
|
426
|
+
await initGlobalStore();
|
|
427
|
+
|
|
428
|
+
// Try to find skills in common locations
|
|
429
|
+
const skillsDest = path.join(STORE_PATH, 'skills');
|
|
430
|
+
const workflowsDest = path.join(STORE_PATH, 'workflows');
|
|
431
|
+
|
|
432
|
+
console.log(pc.cyan('📡 Fetching from GitHub...\n'));
|
|
433
|
+
|
|
434
|
+
// Try assets/.agent/skills/ first (Takomi structure)
|
|
435
|
+
let skillCount = await downloadDirectoryFromGitHub(
|
|
436
|
+
'assets/.agent/skills',
|
|
437
|
+
skillsDest,
|
|
438
|
+
null,
|
|
439
|
+
250
|
|
440
|
+
);
|
|
441
|
+
|
|
442
|
+
// Fallback: try .agent/skills/
|
|
443
|
+
if (skillCount === 0) {
|
|
444
|
+
skillCount = await downloadDirectoryFromGitHub(
|
|
445
|
+
'.agent/skills',
|
|
446
|
+
skillsDest,
|
|
447
|
+
null,
|
|
448
|
+
250
|
|
449
|
+
);
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
// Try workflows
|
|
453
|
+
let workflowCount = await downloadDirectoryFromGitHub(
|
|
454
|
+
'assets/.agent/workflows',
|
|
455
|
+
workflowsDest,
|
|
456
|
+
(item) => item.name.endsWith('.md'),
|
|
457
|
+
250
|
|
458
|
+
);
|
|
459
|
+
|
|
460
|
+
if (workflowCount === 0) {
|
|
461
|
+
workflowCount = await downloadDirectoryFromGitHub(
|
|
462
|
+
'.agent/workflows',
|
|
463
|
+
workflowsDest,
|
|
464
|
+
(item) => item.name.endsWith('.md'),
|
|
465
|
+
250
|
|
466
|
+
);
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
if (skillCount === 0 && workflowCount === 0) {
|
|
470
|
+
console.log(pc.yellow(' No skills or workflows found in repo.'));
|
|
471
|
+
console.log(pc.dim(' Expected structure: .agent/skills/ or assets/.agent/skills/\n'));
|
|
472
|
+
return;
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
console.log(pc.green(`\n ✔ ${skillCount} skills and ${workflowCount} workflows added to your command center.`));
|
|
476
|
+
|
|
477
|
+
// Update manifest
|
|
478
|
+
const manifest = await getManifest();
|
|
479
|
+
manifest.installed.skills = await getStoreSkills();
|
|
480
|
+
manifest.installed.workflows = await getStoreWorkflows();
|
|
481
|
+
await writeManifest(manifest);
|
|
482
|
+
|
|
483
|
+
// Offer to sync
|
|
484
|
+
if (manifest.linkedHarnesses.length > 0) {
|
|
485
|
+
const syncResponse = await prompts({
|
|
486
|
+
type: 'confirm',
|
|
487
|
+
name: 'doSync',
|
|
488
|
+
message: 'Push these to your connected IDEs now?',
|
|
489
|
+
initial: true,
|
|
490
|
+
});
|
|
491
|
+
|
|
492
|
+
if (syncResponse.doSync) {
|
|
493
|
+
const detected = detectHarnesses();
|
|
494
|
+
const linked = detected.filter(h => manifest.linkedHarnesses.includes(h.id));
|
|
495
|
+
await syncToAllHarnesses(linked, STORE_PATH);
|
|
496
|
+
console.log(pc.magenta(`\n✨ Live on ${linked.length} IDE(s). You're armed and ready.\n`));
|
|
497
|
+
}
|
|
498
|
+
} else {
|
|
499
|
+
console.log(pc.dim('\n Run "takomi sync" when you want to push these to your IDEs.\n'));
|
|
500
|
+
}
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
504
|
+
// takomi harnesses (NEW — Show detected harnesses + status)
|
|
505
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
506
|
+
|
|
507
|
+
async function harnesses() {
|
|
508
|
+
console.log(pc.magenta('🔌 Your Connected IDEs\n'));
|
|
509
|
+
|
|
510
|
+
const detected = detectHarnesses();
|
|
511
|
+
printHarnessStatus(detected);
|
|
512
|
+
|
|
513
|
+
// Show store status if initialized
|
|
514
|
+
if (await isStoreInitialized()) {
|
|
515
|
+
const manifest = await getManifest();
|
|
516
|
+
const skills = await getStoreSkills();
|
|
517
|
+
const workflows = await getStoreWorkflows();
|
|
518
|
+
|
|
519
|
+
console.log(pc.cyan('📦 Command Center Status\n'));
|
|
520
|
+
console.log(pc.white(` Location: ${STORE_PATH}`));
|
|
521
|
+
console.log(pc.white(` Skills: ${skills.length} ready to deploy`));
|
|
522
|
+
console.log(pc.white(` Workflows: ${workflows.length} available`));
|
|
523
|
+
console.log(pc.white(` Connected: ${manifest.linkedHarnesses.join(', ') || 'none'}`));
|
|
524
|
+
console.log(pc.dim(` Updated: ${manifest.updatedAt}\n`));
|
|
525
|
+
} else {
|
|
526
|
+
console.log(pc.dim(' No command center yet. Run "takomi install" to build your toolkit.\n'));
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
|
|
530
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
531
|
+
// Command Registration
|
|
532
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
533
|
+
|
|
534
|
+
program
|
|
535
|
+
.name('takomi')
|
|
536
|
+
.description('Your AI team. Activated. 🎯')
|
|
537
|
+
.version('2.0.0');
|
|
538
|
+
|
|
539
|
+
// Per-project setup (backward compatible)
|
|
540
|
+
program
|
|
541
|
+
.command('init')
|
|
542
|
+
.description('Drop Takomi into this project')
|
|
543
|
+
.action(init);
|
|
544
|
+
|
|
545
|
+
// Global installer (NEW)
|
|
546
|
+
program
|
|
547
|
+
.command('install')
|
|
548
|
+
.description('Build your global command center')
|
|
549
|
+
.action(install);
|
|
550
|
+
|
|
551
|
+
// Re-sync (NEW)
|
|
552
|
+
program
|
|
553
|
+
.command('sync')
|
|
554
|
+
.description('Push updates to all connected IDEs')
|
|
555
|
+
.action(sync);
|
|
556
|
+
|
|
557
|
+
// Add remote skills (NEW)
|
|
558
|
+
program
|
|
559
|
+
.command('add <url>')
|
|
560
|
+
.description('Import skills from any GitHub repo')
|
|
561
|
+
.action(add);
|
|
562
|
+
|
|
563
|
+
// Show harness status (NEW)
|
|
564
|
+
program
|
|
565
|
+
.command('harnesses')
|
|
566
|
+
.description('See your toolkit status and connected IDEs')
|
|
567
|
+
.action(harnesses);
|
|
568
|
+
|
|
569
|
+
// Update from GitHub (EXISTING — enhanced)
|
|
570
|
+
program
|
|
571
|
+
.command('update')
|
|
572
|
+
.description('Pull fresh resources from GitHub')
|
|
573
|
+
.action(async () => {
|
|
574
|
+
console.log(pc.magenta('📡 Updating your toolkit from GitHub...\n'));
|
|
575
|
+
|
|
576
|
+
const storeExists = await isStoreInitialized();
|
|
577
|
+
|
|
578
|
+
const response = await prompts([
|
|
579
|
+
{
|
|
580
|
+
type: 'multiselect',
|
|
581
|
+
name: 'components',
|
|
582
|
+
message: 'What components do you want to update from GitHub?',
|
|
583
|
+
choices: [
|
|
584
|
+
{ title: '.agent (Workflows & Skills)', value: 'agent', selected: true },
|
|
585
|
+
{ title: 'Agent YAMLs', value: 'yamls' },
|
|
586
|
+
{ title: 'Legacy Protocols', value: 'legacy' },
|
|
587
|
+
...(storeExists ? [{ title: 'Global Store', value: 'global', description: 'Update ~/.takomi/' }] : []),
|
|
588
|
+
],
|
|
589
|
+
hint: '- Space to select. Return to submit'
|
|
590
|
+
}
|
|
591
|
+
]);
|
|
592
|
+
|
|
593
|
+
if (!response.components || response.components.length === 0) return;
|
|
594
|
+
|
|
595
|
+
const destRoot = process.cwd();
|
|
596
|
+
|
|
597
|
+
if (response.components.includes('agent')) {
|
|
598
|
+
const agentDest = path.join(destRoot, '.agent');
|
|
599
|
+
await updateWorkflows(path.join(agentDest, 'workflows'));
|
|
600
|
+
await updateSkills(path.join(agentDest, 'skills'));
|
|
601
|
+
}
|
|
602
|
+
|
|
603
|
+
if (response.components.includes('yamls')) {
|
|
604
|
+
await updateAgentYamls(path.join(destRoot, 'Takomi-Agents'));
|
|
605
|
+
}
|
|
606
|
+
|
|
607
|
+
if (response.components.includes('legacy')) {
|
|
608
|
+
await updateLegacyManual(path.join(destRoot, 'Legacy-Protocols'));
|
|
609
|
+
}
|
|
610
|
+
|
|
611
|
+
// Update global store if selected
|
|
612
|
+
if (response.components.includes('global')) {
|
|
613
|
+
console.log(pc.cyan('\n📡 Updating global store from package assets...\n'));
|
|
614
|
+
const skills = await populateSkills('all');
|
|
615
|
+
const workflows = await populateWorkflows('all');
|
|
616
|
+
const yamls = await populateAgentYamls();
|
|
617
|
+
console.log(pc.green(` ✔ ${skills.length} skills, ${workflows.length} workflows, ${yamls.length} YAMLs updated`));
|
|
618
|
+
|
|
619
|
+
// Auto-sync to linked harnesses
|
|
620
|
+
const manifest = await getManifest();
|
|
621
|
+
if (manifest.linkedHarnesses.length > 0) {
|
|
622
|
+
const detected = detectHarnesses();
|
|
623
|
+
const linked = detected.filter(h => manifest.linkedHarnesses.includes(h.id));
|
|
624
|
+
if (linked.length > 0) {
|
|
625
|
+
console.log(pc.cyan('\n📡 Auto-syncing to linked harnesses...\n'));
|
|
626
|
+
await syncToAllHarnesses(linked, STORE_PATH);
|
|
627
|
+
}
|
|
628
|
+
}
|
|
629
|
+
|
|
630
|
+
manifest.installed.skills = await getStoreSkills();
|
|
631
|
+
manifest.installed.workflows = await getStoreWorkflows();
|
|
632
|
+
await writeManifest(manifest);
|
|
633
|
+
}
|
|
634
|
+
|
|
635
|
+
console.log(pc.magenta('\n✨ Your toolkit is fresh and ready to ship.'));
|
|
636
|
+
});
|
|
637
|
+
|
|
638
|
+
program.parse();
|