@azerogluemin/ai-bootstrap 0.2.1
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/CHANGELOG.md +157 -0
- package/LICENSE +21 -0
- package/README.md +146 -0
- package/bin/init.js +10 -0
- package/dist/applier/agents-installer.d.ts +12 -0
- package/dist/applier/agents-installer.js +75 -0
- package/dist/applier/agents-installer.js.map +1 -0
- package/dist/applier/bundle-definitions.d.ts +7 -0
- package/dist/applier/bundle-definitions.js +98 -0
- package/dist/applier/bundle-definitions.js.map +1 -0
- package/dist/applier/index.d.ts +9 -0
- package/dist/applier/index.js +147 -0
- package/dist/applier/index.js.map +1 -0
- package/dist/applier/mcp-catalog.d.ts +29 -0
- package/dist/applier/mcp-catalog.js +755 -0
- package/dist/applier/mcp-catalog.js.map +1 -0
- package/dist/applier/mcp-config.d.ts +29 -0
- package/dist/applier/mcp-config.js +123 -0
- package/dist/applier/mcp-config.js.map +1 -0
- package/dist/applier/profile-writer.d.ts +2 -0
- package/dist/applier/profile-writer.js +60 -0
- package/dist/applier/profile-writer.js.map +1 -0
- package/dist/applier/projects-writer.d.ts +2 -0
- package/dist/applier/projects-writer.js +108 -0
- package/dist/applier/projects-writer.js.map +1 -0
- package/dist/applier/settings-writer.d.ts +2 -0
- package/dist/applier/settings-writer.js +74 -0
- package/dist/applier/settings-writer.js.map +1 -0
- package/dist/applier/skills-installer.d.ts +12 -0
- package/dist/applier/skills-installer.js +90 -0
- package/dist/applier/skills-installer.js.map +1 -0
- package/dist/commands/backup.d.ts +1 -0
- package/dist/commands/backup.js +269 -0
- package/dist/commands/backup.js.map +1 -0
- package/dist/commands/doctor.d.ts +1 -0
- package/dist/commands/doctor.js +185 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/mcp.d.ts +1 -0
- package/dist/commands/mcp.js +142 -0
- package/dist/commands/mcp.js.map +1 -0
- package/dist/commands/telemetry.d.ts +1 -0
- package/dist/commands/telemetry.js +85 -0
- package/dist/commands/telemetry.js.map +1 -0
- package/dist/commands/update.d.ts +7 -0
- package/dist/commands/update.js +62 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +113 -0
- package/dist/index.js.map +1 -0
- package/dist/steps/1-profile.d.ts +2 -0
- package/dist/steps/1-profile.js +81 -0
- package/dist/steps/1-profile.js.map +1 -0
- package/dist/steps/2-projects.d.ts +5 -0
- package/dist/steps/2-projects.js +81 -0
- package/dist/steps/2-projects.js.map +1 -0
- package/dist/steps/3-bundles.d.ts +4 -0
- package/dist/steps/3-bundles.js +95 -0
- package/dist/steps/3-bundles.js.map +1 -0
- package/dist/steps/4-mcps.d.ts +3 -0
- package/dist/steps/4-mcps.js +79 -0
- package/dist/steps/4-mcps.js.map +1 -0
- package/dist/steps/5-memory.d.ts +6 -0
- package/dist/steps/5-memory.js +51 -0
- package/dist/steps/5-memory.js.map +1 -0
- package/dist/steps/6-github.d.ts +5 -0
- package/dist/steps/6-github.js +34 -0
- package/dist/steps/6-github.js.map +1 -0
- package/dist/types.d.ts +57 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/paths.d.ts +10 -0
- package/dist/utils/paths.js +35 -0
- package/dist/utils/paths.js.map +1 -0
- package/dist/utils/permissions.d.ts +15 -0
- package/dist/utils/permissions.js +37 -0
- package/dist/utils/permissions.js.map +1 -0
- package/dist/utils/scanner.d.ts +11 -0
- package/dist/utils/scanner.js +108 -0
- package/dist/utils/scanner.js.map +1 -0
- package/dist/utils/telemetry.d.ts +26 -0
- package/dist/utils/telemetry.js +108 -0
- package/dist/utils/telemetry.js.map +1 -0
- package/dist/wizard.d.ts +2 -0
- package/dist/wizard.js +94 -0
- package/dist/wizard.js.map +1 -0
- package/package.json +77 -0
- package/templates/agents/ai-ml-engineer/AGENT.md +41 -0
- package/templates/agents/analyst-agent/AGENT.md +36 -0
- package/templates/agents/backend-engineer/AGENT.md +85 -0
- package/templates/agents/business-analyst/AGENT.md +47 -0
- package/templates/agents/ceo-agent/AGENT.md +57 -0
- package/templates/agents/cfo-agent/AGENT.md +57 -0
- package/templates/agents/chro-agent/AGENT.md +57 -0
- package/templates/agents/ciso-agent/AGENT.md +57 -0
- package/templates/agents/cmo-agent/AGENT.md +57 -0
- package/templates/agents/code-architect/AGENT.md +69 -0
- package/templates/agents/code-explorer/AGENT.md +67 -0
- package/templates/agents/code-reviewer/AGENT.md +86 -0
- package/templates/agents/competitive-intel/AGENT.md +45 -0
- package/templates/agents/content-calendar-orchestrator/AGENT.md +37 -0
- package/templates/agents/content-marketer/AGENT.md +38 -0
- package/templates/agents/coo-agent/AGENT.md +57 -0
- package/templates/agents/cro-agent/AGENT.md +57 -0
- package/templates/agents/cto-agent/AGENT.md +57 -0
- package/templates/agents/data-engineer/AGENT.md +52 -0
- package/templates/agents/db-migrator/AGENT.md +40 -0
- package/templates/agents/debugger/AGENT.md +64 -0
- package/templates/agents/decision-recorder/AGENT.md +41 -0
- package/templates/agents/designer-agent/AGENT.md +38 -0
- package/templates/agents/devops-engineer/AGENT.md +73 -0
- package/templates/agents/ecommerce-optimizer-agent/AGENT.md +36 -0
- package/templates/agents/education-curriculum/AGENT.md +36 -0
- package/templates/agents/email-marketer/AGENT.md +37 -0
- package/templates/agents/finance-analyst-agent/AGENT.md +36 -0
- package/templates/agents/fintech-compliance/AGENT.md +36 -0
- package/templates/agents/founder-mode-agent/AGENT.md +57 -0
- package/templates/agents/frontend-engineer/AGENT.md +97 -0
- package/templates/agents/gaming-balance-agent/AGENT.md +36 -0
- package/templates/agents/gc-agent/AGENT.md +57 -0
- package/templates/agents/growth-hacker/AGENT.md +37 -0
- package/templates/agents/healthcare-compliance-agent/AGENT.md +36 -0
- package/templates/agents/instagram-orchestrator/AGENT.md +40 -0
- package/templates/agents/launch-orchestrator/AGENT.md +61 -0
- package/templates/agents/legal-researcher-agent/AGENT.md +36 -0
- package/templates/agents/linkedin-orchestrator/AGENT.md +38 -0
- package/templates/agents/market-researcher/AGENT.md +45 -0
- package/templates/agents/performance-profiler/AGENT.md +65 -0
- package/templates/agents/product-manager-agent/AGENT.md +33 -0
- package/templates/agents/product-strategist-agent/AGENT.md +37 -0
- package/templates/agents/publishing-orchestrator/AGENT.md +46 -0
- package/templates/agents/qa-reviewer/AGENT.md +45 -0
- package/templates/agents/real-estate-agent/AGENT.md +36 -0
- package/templates/agents/refactor-planner/AGENT.md +62 -0
- package/templates/agents/research-orchestrator/AGENT.md +37 -0
- package/templates/agents/researcher/AGENT.md +76 -0
- package/templates/agents/security-auditor/AGENT.md +61 -0
- package/templates/agents/seo-aeo/AGENT.md +45 -0
- package/templates/agents/seo-backlinks/AGENT.md +43 -0
- package/templates/agents/seo-brief/AGENT.md +51 -0
- package/templates/agents/seo-competitor/AGENT.md +44 -0
- package/templates/agents/seo-content/AGENT.md +55 -0
- package/templates/agents/seo-drift/AGENT.md +43 -0
- package/templates/agents/seo-ecommerce/AGENT.md +44 -0
- package/templates/agents/seo-google-api/AGENT.md +48 -0
- package/templates/agents/seo-image/AGENT.md +47 -0
- package/templates/agents/seo-international/AGENT.md +43 -0
- package/templates/agents/seo-local/AGENT.md +43 -0
- package/templates/agents/seo-maps/AGENT.md +43 -0
- package/templates/agents/seo-programmatic/AGENT.md +50 -0
- package/templates/agents/seo-schema/AGENT.md +37 -0
- package/templates/agents/seo-semantic/AGENT.md +47 -0
- package/templates/agents/seo-spa/AGENT.md +44 -0
- package/templates/agents/seo-sxo/AGENT.md +43 -0
- package/templates/agents/seo-technical/AGENT.md +56 -0
- package/templates/agents/social-media-manager/AGENT.md +36 -0
- package/templates/agents/sound-designer/AGENT.md +39 -0
- package/templates/agents/stack-tester/AGENT.md +42 -0
- package/templates/agents/storyboard-orchestrator/AGENT.md +36 -0
- package/templates/agents/tiktok-orchestrator/AGENT.md +39 -0
- package/templates/agents/twitter-orchestrator/AGENT.md +38 -0
- package/templates/agents/ux-researcher-agent/AGENT.md +36 -0
- package/templates/agents/video-pipeline/AGENT.md +53 -0
- package/templates/agents/youtube-orchestrator/AGENT.md +40 -0
- package/templates/skills/accessibility-auditor/SKILL.md +129 -0
- package/templates/skills/aeo-specialist/SKILL.md +145 -0
- package/templates/skills/analytics-expert/SKILL.md +128 -0
- package/templates/skills/architect/SKILL.md +258 -0
- package/templates/skills/brand-identity-designer/SKILL.md +156 -0
- package/templates/skills/brand-kit-builder/SKILL.md +182 -0
- package/templates/skills/business-coach/SKILL.md +85 -0
- package/templates/skills/ceo-advisor/SKILL.md +156 -0
- package/templates/skills/cfo-advisor/SKILL.md +146 -0
- package/templates/skills/chaos-engineer/SKILL.md +107 -0
- package/templates/skills/character-designer/SKILL.md +212 -0
- package/templates/skills/character-designer/knowledge/character-anatomy.md +119 -0
- package/templates/skills/character-designer/knowledge/composition.md +94 -0
- package/templates/skills/character-designer/knowledge/consistency-anchors.md +113 -0
- package/templates/skills/character-designer/knowledge/lighting.md +120 -0
- package/templates/skills/chro-advisor/SKILL.md +132 -0
- package/templates/skills/ci-cd-builder/SKILL.md +189 -0
- package/templates/skills/ciso-advisor/SKILL.md +123 -0
- package/templates/skills/cmo-advisor/SKILL.md +192 -0
- package/templates/skills/code-reviewer/SKILL.md +204 -0
- package/templates/skills/color-palette-builder/SKILL.md +143 -0
- package/templates/skills/community-manager/SKILL.md +127 -0
- package/templates/skills/composer/SKILL.md +173 -0
- package/templates/skills/composer/knowledge/arrangement-principles.md +137 -0
- package/templates/skills/composer/knowledge/composition-principles.md +97 -0
- package/templates/skills/composer/knowledge/consistency-anchors.md +149 -0
- package/templates/skills/composer/knowledge/cultural-traditions.md +193 -0
- package/templates/skills/composer/knowledge/dynamics-build-drop.md +148 -0
- package/templates/skills/composer/knowledge/genres/afrobeats.md +73 -0
- package/templates/skills/composer/knowledge/genres/ambient.md +62 -0
- package/templates/skills/composer/knowledge/genres/azerbaijani-mugham.md +90 -0
- package/templates/skills/composer/knowledge/genres/azerbaijani-pop.md +104 -0
- package/templates/skills/composer/knowledge/genres/blues.md +62 -0
- package/templates/skills/composer/knowledge/genres/choral.md +78 -0
- package/templates/skills/composer/knowledge/genres/classical.md +72 -0
- package/templates/skills/composer/knowledge/genres/country.md +64 -0
- package/templates/skills/composer/knowledge/genres/drill.md +71 -0
- package/templates/skills/composer/knowledge/genres/edm.md +75 -0
- package/templates/skills/composer/knowledge/genres/electronic.md +62 -0
- package/templates/skills/composer/knowledge/genres/film-score.md +92 -0
- package/templates/skills/composer/knowledge/genres/folk.md +67 -0
- package/templates/skills/composer/knowledge/genres/hip-hop.md +64 -0
- package/templates/skills/composer/knowledge/genres/house.md +63 -0
- package/templates/skills/composer/knowledge/genres/indie-folk.md +63 -0
- package/templates/skills/composer/knowledge/genres/indie-rock.md +60 -0
- package/templates/skills/composer/knowledge/genres/jazz-fusion.md +60 -0
- package/templates/skills/composer/knowledge/genres/jazz.md +66 -0
- package/templates/skills/composer/knowledge/genres/k-pop.md +81 -0
- package/templates/skills/composer/knowledge/genres/latin.md +88 -0
- package/templates/skills/composer/knowledge/genres/lo-fi.md +64 -0
- package/templates/skills/composer/knowledge/genres/meykhana.md +95 -0
- package/templates/skills/composer/knowledge/genres/orchestral.md +69 -0
- package/templates/skills/composer/knowledge/genres/persian-classical.md +104 -0
- package/templates/skills/composer/knowledge/genres/pop.md +60 -0
- package/templates/skills/composer/knowledge/genres/reggae.md +65 -0
- package/templates/skills/composer/knowledge/genres/rnb.md +62 -0
- package/templates/skills/composer/knowledge/genres/rock.md +61 -0
- package/templates/skills/composer/knowledge/genres/soul.md +63 -0
- package/templates/skills/composer/knowledge/genres/symphonic-mugham.md +92 -0
- package/templates/skills/composer/knowledge/genres/techno.md +63 -0
- package/templates/skills/composer/knowledge/genres/trap.md +61 -0
- package/templates/skills/composer/knowledge/genres/turkish-arabesque.md +87 -0
- package/templates/skills/composer/knowledge/genres/world-music.md +84 -0
- package/templates/skills/composer/knowledge/harmony-basics.md +105 -0
- package/templates/skills/composer/knowledge/instrumentation-guide.md +145 -0
- package/templates/skills/composer/knowledge/instruments/808.md +59 -0
- package/templates/skills/composer/knowledge/instruments/acoustic-guitar.md +46 -0
- package/templates/skills/composer/knowledge/instruments/balaban.md +74 -0
- package/templates/skills/composer/knowledge/instruments/bass.md +50 -0
- package/templates/skills/composer/knowledge/instruments/brass-section.md +60 -0
- package/templates/skills/composer/knowledge/instruments/cello-solo.md +53 -0
- package/templates/skills/composer/knowledge/instruments/choir.md +67 -0
- package/templates/skills/composer/knowledge/instruments/drum-machine.md +49 -0
- package/templates/skills/composer/knowledge/instruments/drums.md +57 -0
- package/templates/skills/composer/knowledge/instruments/electric-guitar.md +57 -0
- package/templates/skills/composer/knowledge/instruments/flute.md +56 -0
- package/templates/skills/composer/knowledge/instruments/kamancha.md +66 -0
- package/templates/skills/composer/knowledge/instruments/nagara.md +68 -0
- package/templates/skills/composer/knowledge/instruments/oud.md +70 -0
- package/templates/skills/composer/knowledge/instruments/piano.md +42 -0
- package/templates/skills/composer/knowledge/instruments/saxophone.md +66 -0
- package/templates/skills/composer/knowledge/instruments/saz.md +75 -0
- package/templates/skills/composer/knowledge/instruments/strings-orchestra.md +68 -0
- package/templates/skills/composer/knowledge/instruments/synth-bass.md +55 -0
- package/templates/skills/composer/knowledge/instruments/synth-lead.md +70 -0
- package/templates/skills/composer/knowledge/instruments/synth-pad.md +61 -0
- package/templates/skills/composer/knowledge/instruments/tar.md +67 -0
- package/templates/skills/composer/knowledge/instruments/trap-hihat.md +50 -0
- package/templates/skills/composer/knowledge/instruments/trumpet.md +63 -0
- package/templates/skills/composer/knowledge/instruments/violin-solo.md +51 -0
- package/templates/skills/composer/knowledge/key-signature-mood.md +128 -0
- package/templates/skills/composer/knowledge/lyrics-by-language.md +79 -0
- package/templates/skills/composer/knowledge/lyrics-craft.md +89 -0
- package/templates/skills/composer/knowledge/melody-craft.md +126 -0
- package/templates/skills/composer/knowledge/moods/aggressive.md +98 -0
- package/templates/skills/composer/knowledge/moods/bittersweet.md +97 -0
- package/templates/skills/composer/knowledge/moods/dreamy.md +98 -0
- package/templates/skills/composer/knowledge/moods/energetic.md +101 -0
- package/templates/skills/composer/knowledge/moods/ethereal.md +99 -0
- package/templates/skills/composer/knowledge/moods/happy.md +93 -0
- package/templates/skills/composer/knowledge/moods/melancholic-hopeful.md +96 -0
- package/templates/skills/composer/knowledge/moods/melancholic.md +99 -0
- package/templates/skills/composer/knowledge/moods/mysterious.md +97 -0
- package/templates/skills/composer/knowledge/moods/nostalgic.md +96 -0
- package/templates/skills/composer/knowledge/moods/peaceful.md +99 -0
- package/templates/skills/composer/knowledge/moods/playful.md +95 -0
- package/templates/skills/composer/knowledge/moods/romantic.md +99 -0
- package/templates/skills/composer/knowledge/moods/tense.md +97 -0
- package/templates/skills/composer/knowledge/moods/triumphant.md +104 -0
- package/templates/skills/composer/knowledge/personas/aygun-kazimova.md +67 -0
- package/templates/skills/composer/knowledge/personas/billie-eilish.md +80 -0
- package/templates/skills/composer/knowledge/personas/bon-iver.md +70 -0
- package/templates/skills/composer/knowledge/personas/daft-punk.md +71 -0
- package/templates/skills/composer/knowledge/personas/hans-zimmer.md +71 -0
- package/templates/skills/composer/knowledge/personas/hildur-gudnadottir.md +72 -0
- package/templates/skills/composer/knowledge/personas/kanye-west.md +75 -0
- package/templates/skills/composer/knowledge/personas/max-martin.md +65 -0
- package/templates/skills/composer/knowledge/personas/neutral-composer.md +66 -0
- package/templates/skills/composer/knowledge/personas/pharrell.md +70 -0
- package/templates/skills/composer/knowledge/personas/rashid-behbudov.md +60 -0
- package/templates/skills/composer/knowledge/personas/sezen-aksu.md +68 -0
- package/templates/skills/composer/knowledge/personas/sufjan-stevens.md +71 -0
- package/templates/skills/composer/knowledge/personas/the-weeknd.md +78 -0
- package/templates/skills/composer/knowledge/production-styles/ambient-textural.md +70 -0
- package/templates/skills/composer/knowledge/production-styles/demo-rough.md +70 -0
- package/templates/skills/composer/knowledge/production-styles/hi-fi.md +69 -0
- package/templates/skills/composer/knowledge/production-styles/live-feel.md +74 -0
- package/templates/skills/composer/knowledge/production-styles/lo-fi.md +55 -0
- package/templates/skills/composer/knowledge/production-styles/maximalist.md +69 -0
- package/templates/skills/composer/knowledge/production-styles/minimal.md +70 -0
- package/templates/skills/composer/knowledge/production-styles/orchestral-cinematic.md +69 -0
- package/templates/skills/composer/knowledge/production-styles/polished-modern.md +56 -0
- package/templates/skills/composer/knowledge/production-styles/vintage-analog.md +67 -0
- package/templates/skills/composer/knowledge/song-structure.md +97 -0
- package/templates/skills/composer/knowledge/tempo-bpm-guide.md +141 -0
- package/templates/skills/composer/knowledge/time-signature.md +124 -0
- package/templates/skills/composer/knowledge/vocal-direction.md +118 -0
- package/templates/skills/composer/knowledge/vocal-styles/duet-male-female.md +71 -0
- package/templates/skills/composer/knowledge/vocal-styles/falsetto-male.md +49 -0
- package/templates/skills/composer/knowledge/vocal-styles/female-alto.md +48 -0
- package/templates/skills/composer/knowledge/vocal-styles/female-mezzo.md +47 -0
- package/templates/skills/composer/knowledge/vocal-styles/female-soprano.md +48 -0
- package/templates/skills/composer/knowledge/vocal-styles/male-baritone.md +44 -0
- package/templates/skills/composer/knowledge/vocal-styles/male-bass.md +45 -0
- package/templates/skills/composer/knowledge/vocal-styles/male-tenor.md +41 -0
- package/templates/skills/composer/knowledge/vocal-styles/mugham-style.md +67 -0
- package/templates/skills/composer/knowledge/vocal-styles/rap-flow.md +75 -0
- package/templates/skills/composer/knowledge/vocal-styles/spoken-word.md +52 -0
- package/templates/skills/composer/knowledge/vocal-styles/whisper.md +55 -0
- package/templates/skills/content-strategist/SKILL.md +106 -0
- package/templates/skills/conversion-optimizer/SKILL.md +98 -0
- package/templates/skills/coo-advisor/SKILL.md +92 -0
- package/templates/skills/copywriter-pro/SKILL.md +151 -0
- package/templates/skills/cro-advisor/SKILL.md +105 -0
- package/templates/skills/cross-platform-strategist/SKILL.md +99 -0
- package/templates/skills/cto-advisor/SKILL.md +166 -0
- package/templates/skills/cultural-translator/SKILL.md +96 -0
- package/templates/skills/decision-maker/SKILL.md +145 -0
- package/templates/skills/director/SKILL.md +236 -0
- package/templates/skills/director/knowledge/camera-movements.md +118 -0
- package/templates/skills/director/knowledge/cameras/cameras.json +234 -0
- package/templates/skills/director/knowledge/cameras/cameras.md +53 -0
- package/templates/skills/director/knowledge/cameras/recommendations.md +75 -0
- package/templates/skills/director/knowledge/cinematography.md +87 -0
- package/templates/skills/director/knowledge/composition.md +94 -0
- package/templates/skills/director/knowledge/lens-selection.md +82 -0
- package/templates/skills/director/knowledge/lenses/lenses.json +292 -0
- package/templates/skills/director/knowledge/lenses/lenses.md +87 -0
- package/templates/skills/director/knowledge/lenses/selection-guide.md +105 -0
- package/templates/skills/director/knowledge/lighting.md +120 -0
- package/templates/skills/director/knowledge/personas/_visual-style-index.md +144 -0
- package/templates/skills/director/knowledge/personas/adam-berg.md +30 -0
- package/templates/skills/director/knowledge/personas/agnes-varda.md +30 -0
- package/templates/skills/director/knowledge/personas/alfonso-cuaron.md +30 -0
- package/templates/skills/director/knowledge/personas/andrea-arnold.md +30 -0
- package/templates/skills/director/knowledge/personas/andrew-stanton.md +33 -0
- package/templates/skills/director/knowledge/personas/apichatpong-weerasethakul.md +30 -0
- package/templates/skills/director/knowledge/personas/ari-aster.md +33 -0
- package/templates/skills/director/knowledge/personas/armando-iannucci.md +30 -0
- package/templates/skills/director/knowledge/personas/asif-kapadia.md +30 -0
- package/templates/skills/director/knowledge/personas/barry-jenkins.md +30 -0
- package/templates/skills/director/knowledge/personas/bob-persichetti.md +33 -0
- package/templates/skills/director/knowledge/personas/bong-joon-ho.md +33 -0
- package/templates/skills/director/knowledge/personas/brad-bird.md +30 -0
- package/templates/skills/director/knowledge/personas/cary-joji-fukunaga.md +30 -0
- package/templates/skills/director/knowledge/personas/chloe-zhao.md +30 -0
- package/templates/skills/director/knowledge/personas/chris-cunningham.md +30 -0
- package/templates/skills/director/knowledge/personas/chris-sanders.md +33 -0
- package/templates/skills/director/knowledge/personas/christopher-mcquarrie.md +30 -0
- package/templates/skills/director/knowledge/personas/coen-brothers.md +30 -0
- package/templates/skills/director/knowledge/personas/dardenne-brothers.md +30 -0
- package/templates/skills/director/knowledge/personas/david-robert-mitchell.md +33 -0
- package/templates/skills/director/knowledge/personas/dean-deblois.md +33 -0
- package/templates/skills/director/knowledge/personas/edgar-wright.md +30 -0
- package/templates/skills/director/knowledge/personas/errol-morris.md +30 -0
- package/templates/skills/director/knowledge/personas/fincher.md +33 -0
- package/templates/skills/director/knowledge/personas/floria-sigismondi.md +30 -0
- package/templates/skills/director/knowledge/personas/frederick-wiseman.md +30 -0
- package/templates/skills/director/knowledge/personas/genndy-tartakovsky.md +33 -0
- package/templates/skills/director/knowledge/personas/george-miller.md +30 -0
- package/templates/skills/director/knowledge/personas/greta-gerwig.md +30 -0
- package/templates/skills/director/knowledge/personas/hayao-miyazaki.md +30 -0
- package/templates/skills/director/knowledge/personas/henry-selick.md +33 -0
- package/templates/skills/director/knowledge/personas/hirokazu-kore-eda.md +30 -0
- package/templates/skills/director/knowledge/personas/hou-hsiao-hsien.md +30 -0
- package/templates/skills/director/knowledge/personas/hype-williams.md +30 -0
- package/templates/skills/director/knowledge/personas/james-cameron.md +33 -0
- package/templates/skills/director/knowledge/personas/jeff-nichols.md +33 -0
- package/templates/skills/director/knowledge/personas/joaquim-dos-santos.md +33 -0
- package/templates/skills/director/knowledge/personas/john-woo.md +30 -0
- package/templates/skills/director/knowledge/personas/jon-favreau.md +33 -0
- package/templates/skills/director/knowledge/personas/jonas-akerlund.md +30 -0
- package/templates/skills/director/knowledge/personas/jonathan-glazer.md +30 -0
- package/templates/skills/director/knowledge/personas/jordan-peele.md +30 -0
- package/templates/skills/director/knowledge/personas/joseph-kosinski.md +33 -0
- package/templates/skills/director/knowledge/personas/kathryn-bigelow.md +30 -0
- package/templates/skills/director/knowledge/personas/kubrick.md +33 -0
- package/templates/skills/director/knowledge/personas/kurosawa.md +33 -0
- package/templates/skills/director/knowledge/personas/lance-acord.md +30 -0
- package/templates/skills/director/knowledge/personas/lanthimos.md +33 -0
- package/templates/skills/director/knowledge/personas/lee-unkrich.md +33 -0
- package/templates/skills/director/knowledge/personas/makoto-shinkai.md +33 -0
- package/templates/skills/director/knowledge/personas/mamoru-hosoda.md +33 -0
- package/templates/skills/director/knowledge/personas/mark-romanek.md +30 -0
- package/templates/skills/director/knowledge/personas/martin-scorsese.md +30 -0
- package/templates/skills/director/knowledge/personas/masaaki-yuasa.md +33 -0
- package/templates/skills/director/knowledge/personas/michael-haneke.md +30 -0
- package/templates/skills/director/knowledge/personas/michel-gondry.md +30 -0
- package/templates/skills/director/knowledge/personas/miguel-sapochnik.md +33 -0
- package/templates/skills/director/knowledge/personas/neutral-director.md +32 -0
- package/templates/skills/director/knowledge/personas/nick-park.md +33 -0
- package/templates/skills/director/knowledge/personas/nicolas-winding-refn.md +33 -0
- package/templates/skills/director/knowledge/personas/nolan.md +33 -0
- package/templates/skills/director/knowledge/personas/nuri-bilge-ceylan.md +33 -0
- package/templates/skills/director/knowledge/personas/park-chan-wook.md +33 -0
- package/templates/skills/director/knowledge/personas/paul-thomas-anderson.md +30 -0
- package/templates/skills/director/knowledge/personas/pawel-pawlikowski.md +33 -0
- package/templates/skills/director/knowledge/personas/pedro-almodovar.md +30 -0
- package/templates/skills/director/knowledge/personas/pendleton-ward.md +33 -0
- package/templates/skills/director/knowledge/personas/pete-docter.md +30 -0
- package/templates/skills/director/knowledge/personas/peter-jackson.md +33 -0
- package/templates/skills/director/knowledge/personas/phil-lord-chris-miller.md +33 -0
- package/templates/skills/director/knowledge/personas/phoebe-waller-bridge.md +30 -0
- package/templates/skills/director/knowledge/personas/pierre-coffin.md +33 -0
- package/templates/skills/director/knowledge/personas/quentin-tarantino.md +30 -0
- package/templates/skills/director/knowledge/personas/rebecca-sugar.md +33 -0
- package/templates/skills/director/knowledge/personas/ridley-scott.md +30 -0
- package/templates/skills/director/knowledge/personas/robert-eggers.md +33 -0
- package/templates/skills/director/knowledge/personas/robert-zemeckis.md +33 -0
- package/templates/skills/director/knowledge/personas/roy-andersson.md +33 -0
- package/templates/skills/director/knowledge/personas/satoshi-kon.md +30 -0
- package/templates/skills/director/knowledge/personas/sean-baker.md +30 -0
- package/templates/skills/director/knowledge/personas/sofia-coppola.md +30 -0
- package/templates/skills/director/knowledge/personas/spike-jonze.md +30 -0
- package/templates/skills/director/knowledge/personas/steven-spielberg.md +30 -0
- package/templates/skills/director/knowledge/personas/taika-waititi.md +30 -0
- package/templates/skills/director/knowledge/personas/terrence-malick.md +30 -0
- package/templates/skills/director/knowledge/personas/tim-burton.md +33 -0
- package/templates/skills/director/knowledge/personas/villeneuve.md +33 -0
- package/templates/skills/director/knowledge/personas/vince-gilligan.md +30 -0
- package/templates/skills/director/knowledge/personas/werner-herzog.md +30 -0
- package/templates/skills/director/knowledge/personas/wes-anderson.md +33 -0
- package/templates/skills/director/knowledge/personas/wong-kar-wai.md +33 -0
- package/templates/skills/director/knowledge/personas/zhang-yimou.md +30 -0
- package/templates/skills/doc-writer/SKILL.md +293 -0
- package/templates/skills/e-commerce-optimizer/SKILL.md +120 -0
- package/templates/skills/elevenlabs/SKILL.md +122 -0
- package/templates/skills/elevenlabs/knowledge/audio-tags.md +52 -0
- package/templates/skills/elevenlabs/knowledge/azerbaijani-voice.md +46 -0
- package/templates/skills/elevenlabs/knowledge/sound-effects.md +131 -0
- package/templates/skills/elevenlabs/knowledge/text-to-speech.md +52 -0
- package/templates/skills/elevenlabs/knowledge/voice-changer.md +39 -0
- package/templates/skills/elevenlabs/knowledge/voice-design.md +100 -0
- package/templates/skills/email-sequence-builder/SKILL.md +174 -0
- package/templates/skills/experiment-designer/SKILL.md +95 -0
- package/templates/skills/finance-analyst/SKILL.md +105 -0
- package/templates/skills/founder-mode/SKILL.md +185 -0
- package/templates/skills/gc-advisor/SKILL.md +146 -0
- package/templates/skills/growth-coach/SKILL.md +95 -0
- package/templates/skills/growth-strategist/SKILL.md +181 -0
- package/templates/skills/healthcare-compliance/SKILL.md +109 -0
- package/templates/skills/image-prompt-engineer/SKILL.md +522 -0
- package/templates/skills/image-prompt-engineer/knowledge/character-anatomy.md +378 -0
- package/templates/skills/image-prompt-engineer/knowledge/cinematography.md +111 -0
- package/templates/skills/image-prompt-engineer/knowledge/color-grading.md +172 -0
- package/templates/skills/image-prompt-engineer/knowledge/composition.md +157 -0
- package/templates/skills/image-prompt-engineer/knowledge/consistency-anchors.md +113 -0
- package/templates/skills/image-prompt-engineer/knowledge/general/aspect-ratios.md +185 -0
- package/templates/skills/image-prompt-engineer/knowledge/general/prompt-budget.md +167 -0
- package/templates/skills/image-prompt-engineer/knowledge/lens-selection.md +82 -0
- package/templates/skills/image-prompt-engineer/knowledge/lighting.md +174 -0
- package/templates/skills/image-prompt-engineer/knowledge/location-design.md +236 -0
- package/templates/skills/image-prompt-engineer/knowledge/models/flux-pro.md +87 -0
- package/templates/skills/image-prompt-engineer/knowledge/models/gpt-image-2.md +120 -0
- package/templates/skills/image-prompt-engineer/knowledge/models/ideogram-v3.md +101 -0
- package/templates/skills/image-prompt-engineer/knowledge/models/imagen-4.md +73 -0
- package/templates/skills/image-prompt-engineer/knowledge/models/midjourney-v7.md +85 -0
- package/templates/skills/image-prompt-engineer/knowledge/models/nano-banana.md +128 -0
- package/templates/skills/image-prompt-engineer/knowledge/models/recraft-v3.md +94 -0
- package/templates/skills/image-prompt-engineer/knowledge/models/sd-3.5.md +90 -0
- package/templates/skills/image-prompt-engineer/knowledge/multi-reference-workflows.md +332 -0
- package/templates/skills/image-prompt-engineer/knowledge/physical-realism.md +604 -0
- package/templates/skills/image-validator/SKILL.md +303 -0
- package/templates/skills/image-validator/knowledge/physical-realism-checks.md +704 -0
- package/templates/skills/image-validator/knowledge/prompt-consistency-checks.md +485 -0
- package/templates/skills/image-validator/knowledge/script-consistency-checks.md +279 -0
- package/templates/skills/image-validator/knowledge/test-learnings.md +1816 -0
- package/templates/skills/image-validator/knowledge/validation-protocol.md +245 -0
- package/templates/skills/inbox-triage/SKILL.md +121 -0
- package/templates/skills/incident-commander/SKILL.md +192 -0
- package/templates/skills/instagram-expert/SKILL.md +159 -0
- package/templates/skills/journal-keeper/SKILL.md +139 -0
- package/templates/skills/knowledge-base-builder/SKILL.md +148 -0
- package/templates/skills/kubernetes-operator/SKILL.md +185 -0
- package/templates/skills/landing-page-builder/SKILL.md +125 -0
- package/templates/skills/learning-keeper/SKILL.md +212 -0
- package/templates/skills/legal-researcher/SKILL.md +112 -0
- package/templates/skills/life-coach/SKILL.md +90 -0
- package/templates/skills/linkedin-expert/SKILL.md +176 -0
- package/templates/skills/location-designer/SKILL.md +227 -0
- package/templates/skills/location-designer/knowledge/color-grading.md +124 -0
- package/templates/skills/location-designer/knowledge/composition.md +94 -0
- package/templates/skills/location-designer/knowledge/lighting.md +120 -0
- package/templates/skills/location-designer/knowledge/location-design.md +236 -0
- package/templates/skills/logo-designer/SKILL.md +113 -0
- package/templates/skills/lyricist/SKILL.md +194 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/classical-forms/ghazal-q/311/231z/311/231l.md +154 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/classical-forms/m/303/274st/311/231zad.md +134 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/classical-forms/m/303/274s/311/231dd/311/231s.md +131 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/classical-forms/m/303/274x/311/231mm/311/231s.md +141 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/classical-forms/q/311/231sid/311/231.md +129 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/classical-forms/rubai.md +104 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/classical-forms/t/311/231rcib/311/231nd.md +151 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/classical-forms/t/311/231rkibb/311/231nd.md +141 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/folk-forms/bayat/304/261.md +198 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/folk-forms/divani.md +171 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/folk-forms/g/311/231rayl/304/261.md +164 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/folk-forms/m/303/274x/311/231mm/311/231s-a/305/237/304/261q.md +195 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/folk-forms/qo/305/237ma.md +171 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/folk-forms/ustadnam/311/231.md +183 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/meter/11-heca-qo/305/237ma.md +128 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/meter/14-heca-divani.md +118 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/meter/7-heca-bayat/304/261-mani.md +133 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/meter/8-heca-g/311/231rayl/304/261.md +128 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/meter/heca-v/311/231zni-overview.md +101 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/meter/modern-s/311/231rb/311/231st.md +166 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/meter//311/231ruz-v/311/231zni-overview.md +145 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/modern-forms/modern-s/311/231rb/311/231st-/305/237eir.md +213 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/modern-forms/pop-mahn/304/261-s/303/266zl/311/231ri.md +240 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/modern-forms/rap-hip-hop-azerbaijani.md +274 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/modern-forms/rock-mahn/304/261-s/303/266zl/311/231ri.md +261 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/personas/anar-na/304/237/304/261lbaz.md +62 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/personas/aq/305/237in-yenisey.md +92 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/personas/a/305/237/304/261q-/311/231l/311/231sg/311/231r.md +84 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/personas/b/311/231xtiyar-vahabzad/311/231.md +85 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/personas/cahangir-cahangirov.md +58 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/personas/f/303/274zuli.md +77 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/personas/host-jamal-ali.md +59 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/personas/host-orxan-zeynall/304/261.md +76 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/personas/host-promete.md +59 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/personas/host-qaraqan.md +62 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/personas/meykhana-style.md +85 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/personas/miri-yusif.md +67 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/personas/modern-pop-lirik.md +85 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/personas/m/303/274/305/237fiq.md +85 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/personas/m/311/231mm/311/231d-araz.md +72 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/personas/neutral-azerbaijani-lyricist.md +102 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/personas/nizami-g/311/231nc/311/231vi.md +66 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/personas/n/311/231simi.md +72 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/personas/qism/311/231t.md +80 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/personas/ramiz-r/303/266v/305/237/311/231n.md +79 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/personas/r/311/231sul-rza.md +86 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/personas/sabir.md +77 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/personas/salam-sarvan.md +79 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/personas/s/311/231m/311/231d-vur/304/237un.md +78 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/personas/tofiq-quliyev.md +58 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/personas/vahid-/311/231ziz.md +68 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/personas/vaqif-bayatl/304/261-od/311/231r.md +60 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/personas/vaqif-s/311/231m/311/231do/304/237lu.md +72 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/personas/x/311/231tai.md +69 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/personas//305/237/311/231hriyar-del-gerani.md +78 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/techniques/alliterasya.md +221 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/techniques/cinas.md +176 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/techniques/istiar/311/231.md +168 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/techniques/m/303/274raci/311/231t.md +223 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/techniques/t/311/231krir-radif.md +220 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/techniques/t/311/231/305/237beh-metafora.md +161 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/themes/ayr/304/261l/304/261q-h/311/231sr/311/231t.md +227 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/themes/ekzistensial-h/311/231yat.md +213 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/themes/e/305/237q-m/311/231h/311/231bb/311/231t.md +229 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/themes/mistik-irfani.md +197 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/themes/m/303/274asir-h/311/231yat.md +225 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/themes/t/311/231bi/311/231t-f/311/231sill/311/231r.md +200 -0
- package/templates/skills/lyricist/knowledge/azerbaijani/themes/v/311/231t/311/231n-az/311/231rbaycan.md +214 -0
- package/templates/skills/lyricist/knowledge/english/overview.md +104 -0
- package/templates/skills/lyricist/knowledge/english/personas/bob-dylan.md +59 -0
- package/templates/skills/lyricist/knowledge/english/personas/bruce-springsteen.md +62 -0
- package/templates/skills/lyricist/knowledge/english/personas/drake.md +60 -0
- package/templates/skills/lyricist/knowledge/english/personas/frank-ocean.md +62 -0
- package/templates/skills/lyricist/knowledge/english/personas/joni-mitchell.md +60 -0
- package/templates/skills/lyricist/knowledge/english/personas/kendrick-lamar.md +61 -0
- package/templates/skills/lyricist/knowledge/english/personas/leonard-cohen.md +61 -0
- package/templates/skills/lyricist/knowledge/english/personas/neutral-english-lyricist.md +50 -0
- package/templates/skills/lyricist/knowledge/english/personas/phoebe-bridgers.md +61 -0
- package/templates/skills/lyricist/knowledge/english/personas/taylor-swift.md +61 -0
- package/templates/skills/lyricist/knowledge/russian/overview.md +88 -0
- package/templates/skills/lyricist/knowledge/russian/personas/neutral-russian-lyricist.md +47 -0
- package/templates/skills/lyricist/knowledge/russian/personas/okudzhava.md +67 -0
- package/templates/skills/lyricist/knowledge/russian/personas/pushkin.md +65 -0
- package/templates/skills/lyricist/knowledge/russian/personas/viktor-tsoi.md +68 -0
- package/templates/skills/lyricist/knowledge/russian/personas/vysotsky.md +69 -0
- package/templates/skills/lyricist/knowledge/russian/personas/yesenin.md +67 -0
- package/templates/skills/lyricist/knowledge/russian/personas/zemfira.md +69 -0
- package/templates/skills/lyricist/knowledge/turkish/overview.md +89 -0
- package/templates/skills/lyricist/knowledge/turkish/personas/baris-manco.md +66 -0
- package/templates/skills/lyricist/knowledge/turkish/personas/modern-turkish-rap.md +98 -0
- package/templates/skills/lyricist/knowledge/turkish/personas/nazim-hikmet.md +69 -0
- package/templates/skills/lyricist/knowledge/turkish/personas/neutral-turkish-lyricist.md +48 -0
- package/templates/skills/lyricist/knowledge/turkish/personas/orhan-gencebay.md +67 -0
- package/templates/skills/lyricist/knowledge/turkish/personas/sezen-aksu-lyric.md +70 -0
- package/templates/skills/lyricist/knowledge/turkish/personas/tarkan.md +67 -0
- package/templates/skills/lyricist/knowledge/turkish/personas/yunus-emre.md +72 -0
- package/templates/skills/lyricist/knowledge/turkish/personas/zeki-muren.md +65 -0
- package/templates/skills/mcp-server-builder/SKILL.md +226 -0
- package/templates/skills/meeting-notes/SKILL.md +155 -0
- package/templates/skills/migration-architect/SKILL.md +147 -0
- package/templates/skills/multilingual-content/SKILL.md +149 -0
- package/templates/skills/multilingual-copywriter/SKILL.md +206 -0
- package/templates/skills/multilingual-copywriter/knowledge/languages/az.md +179 -0
- package/templates/skills/paid-ads-strategist/SKILL.md +107 -0
- package/templates/skills/process-mapper/SKILL.md +114 -0
- package/templates/skills/product-manager/SKILL.md +98 -0
- package/templates/skills/psychologist/SKILL.md +94 -0
- package/templates/skills/rag-architect/SKILL.md +153 -0
- package/templates/skills/real-estate-analyzer/SKILL.md +131 -0
- package/templates/skills/refactor/SKILL.md +195 -0
- package/templates/skills/screenwriter/SKILL.md +248 -0
- package/templates/skills/screenwriter/knowledge/_visual-style-index.md +76 -0
- package/templates/skills/screenwriter/knowledge/categories/advertising/_category.md +172 -0
- package/templates/skills/screenwriter/knowledge/categories/advertising/formats/15s-pre-roll.md +137 -0
- package/templates/skills/screenwriter/knowledge/categories/advertising/formats/30s-tv-spot.md +171 -0
- package/templates/skills/screenwriter/knowledge/categories/advertising/formats/60s-brand-film.md +182 -0
- package/templates/skills/screenwriter/knowledge/categories/advertising/formats/6s-bumper.md +110 -0
- package/templates/skills/screenwriter/knowledge/categories/advertising/formats/90s-manifesto.md +184 -0
- package/templates/skills/screenwriter/knowledge/categories/advertising/formats/comparison-ad.md +207 -0
- package/templates/skills/screenwriter/knowledge/categories/advertising/formats/holiday-seasonal.md +223 -0
- package/templates/skills/screenwriter/knowledge/categories/advertising/formats/influencer-script.md +191 -0
- package/templates/skills/screenwriter/knowledge/categories/advertising/formats/product-demo.md +192 -0
- package/templates/skills/screenwriter/knowledge/categories/advertising/formats/retargeting.md +205 -0
- package/templates/skills/screenwriter/knowledge/categories/advertising/formats/testimonial.md +198 -0
- package/templates/skills/screenwriter/knowledge/categories/advertising/formats/tutorial-ad.md +258 -0
- package/templates/skills/screenwriter/knowledge/categories/advertising/formats/ugc-style.md +201 -0
- package/templates/skills/screenwriter/knowledge/categories/advertising/formats/unboxing.md +224 -0
- package/templates/skills/screenwriter/knowledge/categories/advertising/personas/bernbach.md +101 -0
- package/templates/skills/screenwriter/knowledge/categories/advertising/personas/clow.md +107 -0
- package/templates/skills/screenwriter/knowledge/categories/advertising/personas/modern-viral.md +137 -0
- package/templates/skills/screenwriter/knowledge/categories/advertising/personas/neutral-copywriter.md +146 -0
- package/templates/skills/screenwriter/knowledge/categories/advertising/personas/ogilvy.md +97 -0
- package/templates/skills/screenwriter/knowledge/categories/advertising/personas/wieden.md +118 -0
- package/templates/skills/screenwriter/knowledge/categories/animation/_category.md +29 -0
- package/templates/skills/screenwriter/knowledge/categories/animation/personas/andrew-stanton.md +32 -0
- package/templates/skills/screenwriter/knowledge/categories/animation/personas/brad-bird.md +32 -0
- package/templates/skills/screenwriter/knowledge/categories/animation/personas/dave-callaham.md +30 -0
- package/templates/skills/screenwriter/knowledge/categories/animation/personas/hayao-miyazaki.md +32 -0
- package/templates/skills/screenwriter/knowledge/categories/animation/personas/henry-selick.md +30 -0
- package/templates/skills/screenwriter/knowledge/categories/animation/personas/makoto-shinkai.md +33 -0
- package/templates/skills/screenwriter/knowledge/categories/animation/personas/mamoru-hosoda.md +31 -0
- package/templates/skills/screenwriter/knowledge/categories/animation/personas/mamoru-oshii.md +32 -0
- package/templates/skills/screenwriter/knowledge/categories/animation/personas/michael-arndt.md +31 -0
- package/templates/skills/screenwriter/knowledge/categories/animation/personas/pete-docter.md +33 -0
- package/templates/skills/screenwriter/knowledge/categories/animation/personas/phil-lord-chris-miller.md +32 -0
- package/templates/skills/screenwriter/knowledge/categories/animation/personas/wes-anderson.md +35 -0
- package/templates/skills/screenwriter/knowledge/categories/documentary/_category.md +84 -0
- package/templates/skills/screenwriter/knowledge/categories/documentary/formats/essay-doc.md +172 -0
- package/templates/skills/screenwriter/knowledge/categories/documentary/formats/interview-driven.md +140 -0
- package/templates/skills/screenwriter/knowledge/categories/documentary/formats/investigative.md +187 -0
- package/templates/skills/screenwriter/knowledge/categories/documentary/formats/personal-doc.md +163 -0
- package/templates/skills/screenwriter/knowledge/categories/documentary/formats/verite.md +172 -0
- package/templates/skills/screenwriter/knowledge/categories/documentary/personas/asif-kapadia.md +150 -0
- package/templates/skills/screenwriter/knowledge/categories/documentary/personas/errol-morris-writer.md +32 -0
- package/templates/skills/screenwriter/knowledge/categories/documentary/personas/errol-morris.md +143 -0
- package/templates/skills/screenwriter/knowledge/categories/documentary/personas/herzog.md +148 -0
- package/templates/skills/screenwriter/knowledge/categories/documentary/personas/ken-burns.md +141 -0
- package/templates/skills/screenwriter/knowledge/categories/documentary/personas/louis-theroux.md +140 -0
- package/templates/skills/screenwriter/knowledge/categories/documentary/personas/neutral-documentarian.md +130 -0
- package/templates/skills/screenwriter/knowledge/categories/documentary/personas/werner-herzog-writer.md +32 -0
- package/templates/skills/screenwriter/knowledge/categories/film/_category.md +130 -0
- package/templates/skills/screenwriter/knowledge/categories/film/formats/feature-film.md +241 -0
- package/templates/skills/screenwriter/knowledge/categories/film/formats/short-film-1-5min.md +165 -0
- package/templates/skills/screenwriter/knowledge/categories/film/formats/short-film-5-15min.md +198 -0
- package/templates/skills/screenwriter/knowledge/categories/film/genres/action.md +218 -0
- package/templates/skills/screenwriter/knowledge/categories/film/genres/biographical.md +204 -0
- package/templates/skills/screenwriter/knowledge/categories/film/genres/comedy.md +187 -0
- package/templates/skills/screenwriter/knowledge/categories/film/genres/crime.md +228 -0
- package/templates/skills/screenwriter/knowledge/categories/film/genres/drama.md +166 -0
- package/templates/skills/screenwriter/knowledge/categories/film/genres/experimental.md +210 -0
- package/templates/skills/screenwriter/knowledge/categories/film/genres/fantasy.md +213 -0
- package/templates/skills/screenwriter/knowledge/categories/film/genres/horror.md +202 -0
- package/templates/skills/screenwriter/knowledge/categories/film/genres/magical-realism.md +227 -0
- package/templates/skills/screenwriter/knowledge/categories/film/genres/mystery.md +224 -0
- package/templates/skills/screenwriter/knowledge/categories/film/genres/noir.md +237 -0
- package/templates/skills/screenwriter/knowledge/categories/film/genres/romance.md +215 -0
- package/templates/skills/screenwriter/knowledge/categories/film/genres/sci-fi.md +200 -0
- package/templates/skills/screenwriter/knowledge/categories/film/genres/surreal.md +246 -0
- package/templates/skills/screenwriter/knowledge/categories/film/genres/thriller.md +194 -0
- package/templates/skills/screenwriter/knowledge/categories/film/genres/war.md +255 -0
- package/templates/skills/screenwriter/knowledge/categories/film/genres/western.md +234 -0
- package/templates/skills/screenwriter/knowledge/categories/film/personas/alex-garland.md +31 -0
- package/templates/skills/screenwriter/knowledge/categories/film/personas/bong-joon-ho.md +190 -0
- package/templates/skills/screenwriter/knowledge/categories/film/personas/coens.md +184 -0
- package/templates/skills/screenwriter/knowledge/categories/film/personas/coppola-sofia.md +159 -0
- package/templates/skills/screenwriter/knowledge/categories/film/personas/farhadi.md +208 -0
- package/templates/skills/screenwriter/knowledge/categories/film/personas/fincher.md +141 -0
- package/templates/skills/screenwriter/knowledge/categories/film/personas/gerwig.md +148 -0
- package/templates/skills/screenwriter/knowledge/categories/film/personas/hampton-fancher.md +32 -0
- package/templates/skills/screenwriter/knowledge/categories/film/personas/james-cameron.md +32 -0
- package/templates/skills/screenwriter/knowledge/categories/film/personas/jonze.md +172 -0
- package/templates/skills/screenwriter/knowledge/categories/film/personas/lanthimos.md +192 -0
- package/templates/skills/screenwriter/knowledge/categories/film/personas/miyazaki.md +164 -0
- package/templates/skills/screenwriter/knowledge/categories/film/personas/neutral-screenwriter.md +163 -0
- package/templates/skills/screenwriter/knowledge/categories/film/personas/nolan.md +103 -0
- package/templates/skills/screenwriter/knowledge/categories/film/personas/nuri-bilge-ceylan.md +191 -0
- package/templates/skills/screenwriter/knowledge/categories/film/personas/park-chan-wook.md +174 -0
- package/templates/skills/screenwriter/knowledge/categories/film/personas/pta.md +180 -0
- package/templates/skills/screenwriter/knowledge/categories/film/personas/scorsese.md +163 -0
- package/templates/skills/screenwriter/knowledge/categories/film/personas/tarantino.md +150 -0
- package/templates/skills/screenwriter/knowledge/categories/film/personas/villeneuve.md +129 -0
- package/templates/skills/screenwriter/knowledge/categories/film/personas/walsh-boyens.md +32 -0
- package/templates/skills/screenwriter/knowledge/categories/film/personas/wes-anderson.md +149 -0
- package/templates/skills/screenwriter/knowledge/categories/film/personas/yilmaz-guney.md +202 -0
- package/templates/skills/screenwriter/knowledge/categories/music-video/_category.md +71 -0
- package/templates/skills/screenwriter/knowledge/categories/music-video/formats/concept-mv.md +146 -0
- package/templates/skills/screenwriter/knowledge/categories/music-video/formats/hybrid-mv.md +136 -0
- package/templates/skills/screenwriter/knowledge/categories/music-video/formats/lyric-driven.md +169 -0
- package/templates/skills/screenwriter/knowledge/categories/music-video/formats/narrative-mv.md +131 -0
- package/templates/skills/screenwriter/knowledge/categories/music-video/formats/performance-mv.md +169 -0
- package/templates/skills/screenwriter/knowledge/categories/music-video/personas/hype-williams.md +131 -0
- package/templates/skills/screenwriter/knowledge/categories/music-video/personas/michel-gondry.md +113 -0
- package/templates/skills/screenwriter/knowledge/categories/music-video/personas/neutral-mv-director.md +124 -0
- package/templates/skills/screenwriter/knowledge/categories/music-video/personas/spike-jonze.md +117 -0
- package/templates/skills/screenwriter/knowledge/categories/series/_category.md +156 -0
- package/templates/skills/screenwriter/knowledge/categories/series/formats/bottle-episode.md +198 -0
- package/templates/skills/screenwriter/knowledge/categories/series/formats/cold-open.md +195 -0
- package/templates/skills/screenwriter/knowledge/categories/series/formats/flashback-episode.md +202 -0
- package/templates/skills/screenwriter/knowledge/categories/series/formats/limited-series-episode.md +196 -0
- package/templates/skills/screenwriter/knowledge/categories/series/formats/mid-season-episode.md +164 -0
- package/templates/skills/screenwriter/knowledge/categories/series/formats/mid-season-finale.md +151 -0
- package/templates/skills/screenwriter/knowledge/categories/series/formats/pilot.md +196 -0
- package/templates/skills/screenwriter/knowledge/categories/series/formats/season-finale.md +157 -0
- package/templates/skills/screenwriter/knowledge/categories/series/formats/series-finale.md +183 -0
- package/templates/skills/screenwriter/knowledge/categories/series/personas/david-simon.md +131 -0
- package/templates/skills/screenwriter/knowledge/categories/series/personas/gilligan.md +124 -0
- package/templates/skills/screenwriter/knowledge/categories/series/personas/larry-david.md +140 -0
- package/templates/skills/screenwriter/knowledge/categories/series/personas/lindelof.md +146 -0
- package/templates/skills/screenwriter/knowledge/categories/series/personas/mike-white.md +172 -0
- package/templates/skills/screenwriter/knowledge/categories/series/personas/neutral-showrunner.md +150 -0
- package/templates/skills/screenwriter/knowledge/categories/series/personas/shonda.md +126 -0
- package/templates/skills/screenwriter/knowledge/categories/series/personas/sorkin.md +169 -0
- package/templates/skills/screenwriter/knowledge/categories/series/personas/tina-fey.md +151 -0
- package/templates/skills/screenwriter/knowledge/categories/series/personas/waller-bridge.md +195 -0
- package/templates/skills/screenwriter/knowledge/categories/series/personas/weiner.md +163 -0
- package/templates/skills/screenwriter/knowledge/categories/series/sub-types/anthology.md +99 -0
- package/templates/skills/screenwriter/knowledge/categories/series/sub-types/documentary-series.md +163 -0
- package/templates/skills/screenwriter/knowledge/categories/series/sub-types/kids-animated.md +114 -0
- package/templates/skills/screenwriter/knowledge/categories/series/sub-types/prestige-drama.md +76 -0
- package/templates/skills/screenwriter/knowledge/categories/series/sub-types/procedural.md +95 -0
- package/templates/skills/screenwriter/knowledge/categories/series/sub-types/sitcom-multi-cam.md +100 -0
- package/templates/skills/screenwriter/knowledge/categories/series/sub-types/sitcom-single-cam.md +85 -0
- package/templates/skills/screenwriter/knowledge/categories/series/sub-types/soap.md +89 -0
- package/templates/skills/screenwriter/knowledge/categories/short-form/_category.md +103 -0
- package/templates/skills/screenwriter/knowledge/categories/short-form/formats/before-after.md +134 -0
- package/templates/skills/screenwriter/knowledge/categories/short-form/formats/educational-explainer.md +129 -0
- package/templates/skills/screenwriter/knowledge/categories/short-form/formats/hook-resolve.md +123 -0
- package/templates/skills/screenwriter/knowledge/categories/short-form/formats/mini-vlog.md +118 -0
- package/templates/skills/screenwriter/knowledge/categories/short-form/formats/pov-narrative.md +124 -0
- package/templates/skills/screenwriter/knowledge/categories/short-form/formats/reel-narrative.md +100 -0
- package/templates/skills/screenwriter/knowledge/categories/short-form/formats/tiktok-skit.md +130 -0
- package/templates/skills/screenwriter/knowledge/categories/short-form/formats/tiktok-storytime.md +110 -0
- package/templates/skills/screenwriter/knowledge/categories/short-form/formats/tiktok-trend.md +126 -0
- package/templates/skills/screenwriter/knowledge/categories/short-form/formats/voiceover-listicle.md +147 -0
- package/templates/skills/screenwriter/knowledge/categories/short-form/formats/youtube-shorts.md +142 -0
- package/templates/skills/screenwriter/knowledge/categories/short-form/personas/atmospheric-cinematic.md +55 -0
- package/templates/skills/screenwriter/knowledge/categories/short-form/personas/atmospheric-reel.md +46 -0
- package/templates/skills/screenwriter/knowledge/categories/short-form/personas/educational-style.md +111 -0
- package/templates/skills/screenwriter/knowledge/categories/short-form/personas/khaby-style.md +109 -0
- package/templates/skills/screenwriter/knowledge/categories/short-form/personas/mr-beast-style.md +112 -0
- package/templates/skills/screenwriter/knowledge/categories/short-form/personas/neutral-creator.md +123 -0
- package/templates/skills/screenwriter/knowledge/categories/short-form/personas/tiktok-storytime-native.md +118 -0
- package/templates/skills/screenwriter/knowledge/categories/youtube-long/_category.md +81 -0
- package/templates/skills/screenwriter/knowledge/categories/youtube-long/formats/commentary.md +159 -0
- package/templates/skills/screenwriter/knowledge/categories/youtube-long/formats/documentary-style.md +180 -0
- package/templates/skills/screenwriter/knowledge/categories/youtube-long/formats/interview-podcast.md +187 -0
- package/templates/skills/screenwriter/knowledge/categories/youtube-long/formats/personal-story.md +186 -0
- package/templates/skills/screenwriter/knowledge/categories/youtube-long/formats/review.md +176 -0
- package/templates/skills/screenwriter/knowledge/categories/youtube-long/formats/sketch-long.md +164 -0
- package/templates/skills/screenwriter/knowledge/categories/youtube-long/formats/tutorial.md +164 -0
- package/templates/skills/screenwriter/knowledge/categories/youtube-long/formats/video-essay.md +187 -0
- package/templates/skills/screenwriter/knowledge/categories/youtube-long/formats/vlog.md +152 -0
- package/templates/skills/screenwriter/knowledge/categories/youtube-long/personas/casey-neistat.md +128 -0
- package/templates/skills/screenwriter/knowledge/categories/youtube-long/personas/nerdwriter.md +116 -0
- package/templates/skills/screenwriter/knowledge/categories/youtube-long/personas/neutral-youtuber.md +138 -0
- package/templates/skills/screenwriter/knowledge/categories/youtube-long/personas/tom-scott.md +120 -0
- package/templates/skills/screenwriter/knowledge/categories/youtube-long/personas/wendover.md +120 -0
- package/templates/skills/screenwriter/knowledge/core/character-arcs.md +164 -0
- package/templates/skills/screenwriter/knowledge/core/dialogue-craft.md +139 -0
- package/templates/skills/screenwriter/knowledge/core/fountain-format.md +193 -0
- package/templates/skills/screenwriter/knowledge/core/general-storytelling.md +117 -0
- package/templates/skills/screenwriter/knowledge/core/pacing.md +143 -0
- package/templates/skills/screenwriter/knowledge/platforms/cinema-theatrical.md +156 -0
- package/templates/skills/screenwriter/knowledge/platforms/instagram-reel.md +145 -0
- package/templates/skills/screenwriter/knowledge/platforms/streaming-hbo-prestige.md +134 -0
- package/templates/skills/screenwriter/knowledge/platforms/streaming-netflix-style.md +118 -0
- package/templates/skills/screenwriter/knowledge/platforms/tiktok-vertical.md +166 -0
- package/templates/skills/screenwriter/knowledge/platforms/tv-broadcast.md +85 -0
- package/templates/skills/screenwriter/knowledge/platforms/web-banner.md +156 -0
- package/templates/skills/screenwriter/knowledge/platforms/youtube.md +137 -0
- package/templates/skills/security-auditor/SKILL.md +223 -0
- package/templates/skills/seo-optimizer/SKILL.md +130 -0
- package/templates/skills/showrunner/SKILL.md +348 -0
- package/templates/skills/showrunner/knowledge/pipeline.md +164 -0
- package/templates/skills/simplify/SKILL.md +160 -0
- package/templates/skills/social-strategist/SKILL.md +130 -0
- package/templates/skills/storyboard-builder/SKILL.md +367 -0
- package/templates/skills/storyboard-builder/knowledge/composition.md +94 -0
- package/templates/skills/storyboard-builder/knowledge/consistency-anchors.md +113 -0
- package/templates/skills/storyboard-builder/knowledge/continuity-rules.md +152 -0
- package/templates/skills/storyboard-builder/knowledge/temporal-consistency.md +115 -0
- package/templates/skills/suno-prompt-engineer/SKILL.md +330 -0
- package/templates/skills/suno-prompt-engineer/knowledge/aiva.md +93 -0
- package/templates/skills/suno-prompt-engineer/knowledge/mubert.md +104 -0
- package/templates/skills/suno-prompt-engineer/knowledge/prompt-templates-library.md +971 -0
- package/templates/skills/suno-prompt-engineer/knowledge/stable-audio.md +102 -0
- package/templates/skills/suno-prompt-engineer/knowledge/suno-v4.md +125 -0
- package/templates/skills/suno-prompt-engineer/knowledge/suno-v5.md +130 -0
- package/templates/skills/suno-prompt-engineer/knowledge/udio.md +103 -0
- package/templates/skills/suno-prompt-engineer/knowledge/validated-styles-database.md +333 -0
- package/templates/skills/test-writer/SKILL.md +303 -0
- package/templates/skills/tiktok-expert/SKILL.md +147 -0
- package/templates/skills/typography-system-designer/SKILL.md +170 -0
- package/templates/skills/ui-ux-pro-max/SKILL.md +150 -0
- package/templates/skills/ux-researcher/SKILL.md +104 -0
- package/templates/skills/verify/SKILL.md +203 -0
- package/templates/skills/video-prompt-engineer/SKILL.md +331 -0
- package/templates/skills/video-prompt-engineer/knowledge/audio-sync.md +124 -0
- package/templates/skills/video-prompt-engineer/knowledge/camera-movements.md +192 -0
- package/templates/skills/video-prompt-engineer/knowledge/continuity-rules.md +152 -0
- package/templates/skills/video-prompt-engineer/knowledge/duration-pacing.md +130 -0
- package/templates/skills/video-prompt-engineer/knowledge/models/hailuo.md +78 -0
- package/templates/skills/video-prompt-engineer/knowledge/models/kling-2.md +280 -0
- package/templates/skills/video-prompt-engineer/knowledge/models/luma.md +97 -0
- package/templates/skills/video-prompt-engineer/knowledge/models/pika-2.md +76 -0
- package/templates/skills/video-prompt-engineer/knowledge/models/runway-gen-4.md +102 -0
- package/templates/skills/video-prompt-engineer/knowledge/models/seedance-2.md +80 -0
- package/templates/skills/video-prompt-engineer/knowledge/models/sora.md +116 -0
- package/templates/skills/video-prompt-engineer/knowledge/models/veo-3.md +95 -0
- package/templates/skills/video-prompt-engineer/knowledge/motion-vs-static.md +229 -0
- package/templates/skills/video-prompt-engineer/knowledge/physical-realism.md +369 -0
- package/templates/skills/video-prompt-engineer/knowledge/physics-rules.md +147 -0
- package/templates/skills/video-prompt-engineer/knowledge/subject-motion.md +220 -0
- package/templates/skills/video-prompt-engineer/knowledge/temporal-consistency.md +215 -0
- package/templates/skills/youtube-expert/SKILL.md +196 -0
- package/templates/skills/youtube-thumbnail-designer/SKILL.md +631 -0
- package/templates/skills/youtube-thumbnail-designer/knowledge/color-strategies.md +180 -0
- package/templates/skills/youtube-thumbnail-designer/knowledge/ctr-formulas.md +215 -0
- package/templates/skills/youtube-thumbnail-designer/knowledge/host-reference-generation.md +193 -0
- package/templates/skills/youtube-thumbnail-designer/knowledge/icon-and-graphic-elements.md +201 -0
- package/templates/skills/youtube-thumbnail-designer/knowledge/mobile-legibility.md +189 -0
- package/templates/skills/youtube-thumbnail-designer/knowledge/professional-techniques.md +507 -0
- package/templates/skills/youtube-thumbnail-designer/knowledge/safe-zones.md +172 -0
- package/templates/skills/youtube-thumbnail-designer/knowledge/topic-enrichment-research.md +241 -0
- package/templates/skills/youtube-thumbnail-designer/knowledge/typography.md +194 -0
- package/templates/skills/youtube-thumbnail-designer/knowledge/variant-differentiation.md +262 -0
- package/templates/skills/youtube-thumbnail-designer/knowledge/world-class-design-baseline.md +333 -0
- package/templates/skills/youtube-thumbnail-designer/knowledge/youtube-analysis.md +289 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
// Step 4 — MCP server selection
|
|
2
|
+
import { checkbox, select } from '@inquirer/prompts';
|
|
3
|
+
import chalk from 'chalk';
|
|
4
|
+
const ESSENTIAL_MCPS = [
|
|
5
|
+
{ name: 'Filesystem (file əməliyyatları)', value: 'filesystem', checked: true },
|
|
6
|
+
{ name: 'GitHub (repo, PR, issue)', value: 'github', checked: true },
|
|
7
|
+
{ name: 'Brave Search (web axtarış)', value: 'brave-search', checked: true },
|
|
8
|
+
{ name: 'Context7 (docs/library lookup)', value: 'context7', checked: true },
|
|
9
|
+
{ name: 'Memory (cross-session yaddaş)', value: 'memory', checked: true },
|
|
10
|
+
];
|
|
11
|
+
const OPTIONAL_MCPS = [
|
|
12
|
+
// Communication
|
|
13
|
+
{ name: 'Slack', value: 'slack' },
|
|
14
|
+
{ name: 'Telegram', value: 'telegram' },
|
|
15
|
+
{ name: 'Discord', value: 'discord' },
|
|
16
|
+
// Databases
|
|
17
|
+
{ name: 'Postgres', value: 'postgres' },
|
|
18
|
+
{ name: 'Supabase', value: 'supabase' },
|
|
19
|
+
{ name: 'MongoDB', value: 'mongodb' },
|
|
20
|
+
// Cloud
|
|
21
|
+
{ name: 'Vercel', value: 'vercel' },
|
|
22
|
+
{ name: 'Cloudflare', value: 'cloudflare' },
|
|
23
|
+
// Payments
|
|
24
|
+
{ name: 'Stripe', value: 'stripe' },
|
|
25
|
+
// Social Media
|
|
26
|
+
{ name: 'Meta (Instagram + Facebook)', value: 'meta' },
|
|
27
|
+
{ name: 'YouTube Data', value: 'youtube' },
|
|
28
|
+
{ name: 'LinkedIn', value: 'linkedin' },
|
|
29
|
+
// AI Providers
|
|
30
|
+
{ name: 'OpenAI', value: 'openai' },
|
|
31
|
+
{ name: 'ElevenLabs', value: 'elevenlabs' },
|
|
32
|
+
{ name: 'Replicate', value: 'replicate' },
|
|
33
|
+
// Productivity
|
|
34
|
+
{ name: 'Notion', value: 'notion' },
|
|
35
|
+
{ name: 'Linear', value: 'linear' },
|
|
36
|
+
// Browser
|
|
37
|
+
{ name: 'Playwright (browser automation)', value: 'playwright' },
|
|
38
|
+
{ name: 'Firecrawl (web scraping)', value: 'firecrawl' },
|
|
39
|
+
// Analytics
|
|
40
|
+
{ name: 'Google Analytics 4', value: 'ga4' },
|
|
41
|
+
// Observability
|
|
42
|
+
{ name: 'Sentry', value: 'sentry' },
|
|
43
|
+
];
|
|
44
|
+
export async function mcpsStep() {
|
|
45
|
+
console.log('');
|
|
46
|
+
console.log(chalk.bold.cyan('4/6 MCP server seçimi'));
|
|
47
|
+
console.log(chalk.dim(' ≤10 MCP aktiv saxla (Totalum 2026: çoxu agent-i yavaşladır).\n'));
|
|
48
|
+
const essential = await checkbox({
|
|
49
|
+
message: 'Day-1 Essential (tövsiyə hamısı):',
|
|
50
|
+
choices: ESSENTIAL_MCPS,
|
|
51
|
+
});
|
|
52
|
+
console.log('');
|
|
53
|
+
const optional = await checkbox({
|
|
54
|
+
message: 'Opsional MCP-lər (sənin işinə uyğun olanları seç):',
|
|
55
|
+
choices: OPTIONAL_MCPS,
|
|
56
|
+
});
|
|
57
|
+
const selected = [...essential, ...optional];
|
|
58
|
+
if (selected.length > 10) {
|
|
59
|
+
console.log('');
|
|
60
|
+
console.log(chalk.yellow(`⚠️ ${selected.length} MCP seçdin. Tövsiyə: ≤10.`));
|
|
61
|
+
console.log(chalk.dim(' Çox MCP agent-i yavaşladır (Totalum 2026 araşdırması).'));
|
|
62
|
+
const proceed = await select({
|
|
63
|
+
message: 'Davam edək?',
|
|
64
|
+
choices: [
|
|
65
|
+
{ name: 'Bəli, davam et', value: 'yes' },
|
|
66
|
+
{ name: 'Yox, geri qayıt + azalt', value: 'no' },
|
|
67
|
+
],
|
|
68
|
+
});
|
|
69
|
+
if (proceed === 'no') {
|
|
70
|
+
// Recursive call to redo selection
|
|
71
|
+
return mcpsStep();
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
console.log('');
|
|
75
|
+
console.log(chalk.green(`✓ ${selected.length} MCP seçildi`));
|
|
76
|
+
console.log(chalk.dim(' Credential-lər wizard sonu fərdi soruşulacaq.'));
|
|
77
|
+
return { selected };
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=4-mcps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"4-mcps.js","sourceRoot":"","sources":["../../src/steps/4-mcps.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
// Step 5 — Memory configuration
|
|
2
|
+
import { confirm, select } from '@inquirer/prompts';
|
|
3
|
+
import chalk from 'chalk';
|
|
4
|
+
export async function memoryStep() {
|
|
5
|
+
console.log('');
|
|
6
|
+
console.log(chalk.bold.cyan('5/6 Yaddaş konfiqurasiyası'));
|
|
7
|
+
console.log(chalk.dim(' Hər söhbətdə öyrəndiklərimi necə saxlayım?\n'));
|
|
8
|
+
const storage = await select({
|
|
9
|
+
message: 'Yaddaş arxitekturu?',
|
|
10
|
+
choices: [
|
|
11
|
+
{
|
|
12
|
+
name: 'Sadə fayllar (markdown + git)',
|
|
13
|
+
value: 'markdown-only',
|
|
14
|
+
description: 'Default. Sürətli (<10K qeyd), human-readable, git-portable.',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
name: 'Fayllar + SQLite indeks',
|
|
18
|
+
value: 'markdown-sqlite',
|
|
19
|
+
description: '10K+ qeydlər üçün. Sürət axtarış üçün.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'Fayllar + Mem0 vector layer',
|
|
23
|
+
value: 'markdown-mem0',
|
|
24
|
+
description: '100K+ qeydlər üçün. Semantic search.',
|
|
25
|
+
},
|
|
26
|
+
],
|
|
27
|
+
default: 'markdown-only',
|
|
28
|
+
});
|
|
29
|
+
console.log('');
|
|
30
|
+
const autoLearn = await confirm({
|
|
31
|
+
message: 'Səhvlərdən avtomatik öyrən? (learning-keeper aktiv olsun)',
|
|
32
|
+
default: true,
|
|
33
|
+
});
|
|
34
|
+
const saveMistakes = await confirm({
|
|
35
|
+
message: 'Səhv tarixçəsi saxla? (mistakes-log.md)',
|
|
36
|
+
default: true,
|
|
37
|
+
});
|
|
38
|
+
const saveVerifiedFacts = await confirm({
|
|
39
|
+
message: 'Araşdırma faktları saxla? (verified-facts.md)',
|
|
40
|
+
default: true,
|
|
41
|
+
});
|
|
42
|
+
console.log('');
|
|
43
|
+
console.log(chalk.green('✓ Yaddaş konfiqurasiyası tamamlandı'));
|
|
44
|
+
return {
|
|
45
|
+
storage: storage,
|
|
46
|
+
autoLearn,
|
|
47
|
+
saveMistakes,
|
|
48
|
+
saveVerifiedFacts,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=5-memory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"5-memory.js","sourceRoot":"","sources":["../../src/steps/5-memory.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,KAAK,UAAU,UAAU;IAM9B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC,CAAC;IAE5E,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC;QAC3B,OAAO,EAAE,qBAAqB;QAC9B,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,+BAA+B;gBACrC,KAAK,EAAE,eAAe;gBACtB,WAAW,EAAE,6DAA6D;aAC3E;YACD;gBACE,IAAI,EAAE,yBAAyB;gBAC/B,KAAK,EAAE,iBAAiB;gBACxB,WAAW,EAAE,wCAAwC;aACtD;YACD;gBACE,IAAI,EAAE,6BAA6B;gBACnC,KAAK,EAAE,eAAe;gBACtB,WAAW,EAAE,sCAAsC;aACpD;SACF;QACD,OAAO,EAAE,eAAe;KACzB,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC;QAC9B,OAAO,EAAE,2DAA2D;QACpE,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC;QACjC,OAAO,EAAE,yCAAyC;QAClD,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC;QACtC,OAAO,EAAE,+CAA+C;QACxD,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAC;IAEhE,OAAO;QACL,OAAO,EAAE,OAAgE;QACzE,SAAS;QACT,YAAY;QACZ,iBAAiB;KAClB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// Step 6 — Optional GitHub backup setup
|
|
2
|
+
import { confirm, input } from '@inquirer/prompts';
|
|
3
|
+
import chalk from 'chalk';
|
|
4
|
+
export async function githubStep() {
|
|
5
|
+
console.log('');
|
|
6
|
+
console.log(chalk.bold.cyan('6/6 GitHub backup (opsional)'));
|
|
7
|
+
console.log(chalk.dim(' ~/.claude/-i GitHub-da saxlayım — başqa kompüterə köçəndə bərpa.\n'));
|
|
8
|
+
const enabled = await confirm({
|
|
9
|
+
message: 'GitHub backup quraq?',
|
|
10
|
+
default: false,
|
|
11
|
+
});
|
|
12
|
+
if (!enabled) {
|
|
13
|
+
console.log(chalk.dim(' GitHub backup atlandı. Sonra `ai-bootstrap backup` ilə əlavə edə bilərsən.'));
|
|
14
|
+
return { enabled: false };
|
|
15
|
+
}
|
|
16
|
+
const repoUrl = await input({
|
|
17
|
+
message: 'GitHub repo URL? (məs. https://github.com/eminazeroglu/claude-config)',
|
|
18
|
+
validate: (v) => /^https?:\/\/github\.com\//.test(v) || 'GitHub URL olmalıdır',
|
|
19
|
+
});
|
|
20
|
+
const privateRepo = await confirm({
|
|
21
|
+
message: 'Private repo olmalıdır?',
|
|
22
|
+
default: true,
|
|
23
|
+
});
|
|
24
|
+
console.log('');
|
|
25
|
+
console.log(chalk.green('✓ GitHub backup konfiqurasiya edildi'));
|
|
26
|
+
console.log(chalk.dim(` Repo: ${repoUrl}`));
|
|
27
|
+
console.log(chalk.dim(` Private: ${privateRepo ? 'bəli' : 'xeyr'}`));
|
|
28
|
+
return {
|
|
29
|
+
enabled: true,
|
|
30
|
+
repoUrl,
|
|
31
|
+
privateRepo,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=6-github.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"6-github.js","sourceRoot":"","sources":["../../src/steps/6-github.ts"],"names":[],"mappings":"AAAA,wCAAwC;AAExC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,KAAK,UAAU,UAAU;IAK9B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC,CAAC;IAElG,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC;QAC5B,OAAO,EAAE,sBAAsB;QAC/B,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;IAEH,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,+EAA+E,CAAC,CAAC,CAAC;QACxG,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC;QAC1B,OAAO,EAAE,uEAAuE;QAChF,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,sBAAsB;KAC/E,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC;QAChC,OAAO,EAAE,yBAAyB;QAClC,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAEvE,OAAO;QACL,OAAO,EAAE,IAAI;QACb,OAAO;QACP,WAAW;KACZ,CAAC;AACJ,CAAC"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
export interface UserProfile {
|
|
2
|
+
name: string;
|
|
3
|
+
primaryLanguage: 'az' | 'en' | 'ru' | 'tr' | 'es' | string;
|
|
4
|
+
otherLanguages: string[];
|
|
5
|
+
role: string;
|
|
6
|
+
experience: 'beginner' | 'intermediate' | 'advanced' | 'expert';
|
|
7
|
+
country: string;
|
|
8
|
+
goals: {
|
|
9
|
+
sixMonth: string;
|
|
10
|
+
twelveMonth: string;
|
|
11
|
+
twentyFourMonth: string;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
export interface ProjectInfo {
|
|
15
|
+
name: string;
|
|
16
|
+
path: string;
|
|
17
|
+
type: ProjectType;
|
|
18
|
+
hasClaudeMd: boolean;
|
|
19
|
+
hasDocsFolder: boolean;
|
|
20
|
+
lastModified: Date;
|
|
21
|
+
}
|
|
22
|
+
export type ProjectType = 'saas-fullstack-pro' | 'saas-ai-pro' | 'ai-studio' | 'brand-site' | 'social-ops' | 'data-platform' | 'unknown';
|
|
23
|
+
export interface SkillBundle {
|
|
24
|
+
name: string;
|
|
25
|
+
description: string;
|
|
26
|
+
tiers: number[];
|
|
27
|
+
skillCount: number;
|
|
28
|
+
}
|
|
29
|
+
export interface McpServer {
|
|
30
|
+
id: string;
|
|
31
|
+
name: string;
|
|
32
|
+
category: string;
|
|
33
|
+
official: boolean;
|
|
34
|
+
requiresCredential: boolean;
|
|
35
|
+
description: string;
|
|
36
|
+
}
|
|
37
|
+
export interface WizardState {
|
|
38
|
+
profile?: UserProfile;
|
|
39
|
+
projectPaths: string[];
|
|
40
|
+
projects: ProjectInfo[];
|
|
41
|
+
selectedBundles: {
|
|
42
|
+
skills: string;
|
|
43
|
+
agents: string;
|
|
44
|
+
mcps: string;
|
|
45
|
+
};
|
|
46
|
+
memoryConfig: {
|
|
47
|
+
storage: 'markdown-only' | 'markdown-sqlite' | 'markdown-mem0';
|
|
48
|
+
autoLearn: boolean;
|
|
49
|
+
syncToGithub: boolean;
|
|
50
|
+
githubRepo?: string;
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
export interface PermissionGate {
|
|
54
|
+
action: string;
|
|
55
|
+
description: string;
|
|
56
|
+
required: boolean;
|
|
57
|
+
}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,4BAA4B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const HOME: string;
|
|
2
|
+
export declare const CLAUDE_DIR: string;
|
|
3
|
+
export declare const KNOWLEDGE_DIR: string;
|
|
4
|
+
export declare const SKILLS_DIR: string;
|
|
5
|
+
export declare const AGENTS_DIR: string;
|
|
6
|
+
export declare const SETTINGS_FILE: string;
|
|
7
|
+
export declare function ensureDir(path: string): void;
|
|
8
|
+
export declare function knowledgeFile(name: string): string;
|
|
9
|
+
export declare function isPathSafe(p: string): boolean;
|
|
10
|
+
export declare function expandHome(p: string): string;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
// Cross-platform path utilities
|
|
2
|
+
import { homedir } from 'node:os';
|
|
3
|
+
import { join } from 'node:path';
|
|
4
|
+
import { existsSync, mkdirSync } from 'node:fs';
|
|
5
|
+
export const HOME = homedir();
|
|
6
|
+
export const CLAUDE_DIR = join(HOME, '.claude');
|
|
7
|
+
export const KNOWLEDGE_DIR = join(CLAUDE_DIR, 'knowledge');
|
|
8
|
+
export const SKILLS_DIR = join(CLAUDE_DIR, 'skills');
|
|
9
|
+
export const AGENTS_DIR = join(CLAUDE_DIR, 'agents');
|
|
10
|
+
export const SETTINGS_FILE = join(CLAUDE_DIR, 'settings.json');
|
|
11
|
+
export function ensureDir(path) {
|
|
12
|
+
if (!existsSync(path)) {
|
|
13
|
+
mkdirSync(path, { recursive: true });
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export function knowledgeFile(name) {
|
|
17
|
+
return join(KNOWLEDGE_DIR, name);
|
|
18
|
+
}
|
|
19
|
+
export function isPathSafe(p) {
|
|
20
|
+
// Disallow absolute paths outside home or root drives
|
|
21
|
+
if (p.includes('..'))
|
|
22
|
+
return false;
|
|
23
|
+
if (!p.startsWith(HOME) && !p.startsWith('/Users') && !p.startsWith('/home') && !p.startsWith('/Volumes')) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
export function expandHome(p) {
|
|
29
|
+
if (p.startsWith('~/'))
|
|
30
|
+
return join(HOME, p.slice(2));
|
|
31
|
+
if (p === '~')
|
|
32
|
+
return HOME;
|
|
33
|
+
return p;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEhD,MAAM,CAAC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;AAC9B,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAChD,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AAC3D,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AACrD,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AACrD,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;AAE/D,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,CAAS;IAClC,sDAAsD;IACtD,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1G,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,CAAS;IAClC,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,IAAI,CAAC,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO,CAAC,CAAC;AACX,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface PermissionRequest {
|
|
2
|
+
action: string;
|
|
3
|
+
description: string;
|
|
4
|
+
scope?: string;
|
|
5
|
+
reversible: boolean;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Ask user for explicit permission before proceeding with a sensitive action.
|
|
9
|
+
* User can decline and we adapt the flow.
|
|
10
|
+
*/
|
|
11
|
+
export declare function askPermission(req: PermissionRequest): Promise<boolean>;
|
|
12
|
+
/**
|
|
13
|
+
* Batch permission request: ask once for multiple actions in a group.
|
|
14
|
+
*/
|
|
15
|
+
export declare function askBatchPermission(groupName: string, actions: string[]): Promise<boolean>;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
// Permission gating — explicit OK from user before risky actions
|
|
2
|
+
import { confirm } from '@inquirer/prompts';
|
|
3
|
+
import chalk from 'chalk';
|
|
4
|
+
/**
|
|
5
|
+
* Ask user for explicit permission before proceeding with a sensitive action.
|
|
6
|
+
* User can decline and we adapt the flow.
|
|
7
|
+
*/
|
|
8
|
+
export async function askPermission(req) {
|
|
9
|
+
console.log('');
|
|
10
|
+
console.log(chalk.yellow(`⚠️ İcazə tələbi: ${req.action}`));
|
|
11
|
+
console.log(chalk.dim(` ${req.description}`));
|
|
12
|
+
if (req.scope) {
|
|
13
|
+
console.log(chalk.dim(` Əhatə: ${req.scope}`));
|
|
14
|
+
}
|
|
15
|
+
console.log(chalk.dim(` Geri qaytarıla bilər: ${req.reversible ? 'bəli' : 'XEYR'}`));
|
|
16
|
+
console.log('');
|
|
17
|
+
return await confirm({
|
|
18
|
+
message: 'Davam edək?',
|
|
19
|
+
default: false,
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Batch permission request: ask once for multiple actions in a group.
|
|
24
|
+
*/
|
|
25
|
+
export async function askBatchPermission(groupName, actions) {
|
|
26
|
+
console.log('');
|
|
27
|
+
console.log(chalk.yellow(`⚠️ ${groupName} üçün icazə lazımdır:`));
|
|
28
|
+
for (const action of actions) {
|
|
29
|
+
console.log(chalk.dim(` - ${action}`));
|
|
30
|
+
}
|
|
31
|
+
console.log('');
|
|
32
|
+
return await confirm({
|
|
33
|
+
message: 'Hamısına icazə verirsən?',
|
|
34
|
+
default: false,
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=permissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/utils/permissions.ts"],"names":[],"mappings":"AAAA,iEAAiE;AAEjE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAsB;IACxD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,qBAAqB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAChD,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACvF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,OAAO,MAAM,OAAO,CAAC;QACnB,OAAO,EAAE,aAAa;QACtB,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,SAAiB,EACjB,OAAiB;IAEjB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,SAAS,uBAAuB,CAAC,CAAC,CAAC;IACnE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,OAAO,MAAM,OAAO,CAAC;QACnB,OAAO,EAAE,0BAA0B;QACnC,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ProjectInfo } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Scan a folder for projects.
|
|
4
|
+
* A "project" is a subfolder containing CLAUDE.md, package.json, or .git.
|
|
5
|
+
*/
|
|
6
|
+
export declare function scanFolder(folderPath: string): ProjectInfo[];
|
|
7
|
+
/**
|
|
8
|
+
* Parse comma-separated folder paths from user input.
|
|
9
|
+
* Example: "~/MyJobs, ~/Projects" → ["/Users/.../MyJobs", "/Users/.../Projects"]
|
|
10
|
+
*/
|
|
11
|
+
export declare function parseFolderList(input: string): string[];
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
// Project folder scanner
|
|
2
|
+
import { readdirSync, statSync, existsSync } from 'node:fs';
|
|
3
|
+
import { join } from 'node:path';
|
|
4
|
+
import { expandHome } from './paths.js';
|
|
5
|
+
/**
|
|
6
|
+
* Scan a folder for projects.
|
|
7
|
+
* A "project" is a subfolder containing CLAUDE.md, package.json, or .git.
|
|
8
|
+
*/
|
|
9
|
+
export function scanFolder(folderPath) {
|
|
10
|
+
const expanded = expandHome(folderPath);
|
|
11
|
+
if (!existsSync(expanded)) {
|
|
12
|
+
return [];
|
|
13
|
+
}
|
|
14
|
+
const projects = [];
|
|
15
|
+
let entries;
|
|
16
|
+
try {
|
|
17
|
+
entries = readdirSync(expanded);
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
return [];
|
|
21
|
+
}
|
|
22
|
+
for (const entry of entries) {
|
|
23
|
+
const fullPath = join(expanded, entry);
|
|
24
|
+
try {
|
|
25
|
+
const stat = statSync(fullPath);
|
|
26
|
+
if (!stat.isDirectory())
|
|
27
|
+
continue;
|
|
28
|
+
if (entry.startsWith('.'))
|
|
29
|
+
continue;
|
|
30
|
+
if (entry === 'node_modules')
|
|
31
|
+
continue;
|
|
32
|
+
const info = inspectFolder(fullPath, entry, stat.mtime);
|
|
33
|
+
if (info) {
|
|
34
|
+
projects.push(info);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
// Sort by most recently modified
|
|
42
|
+
return projects.sort((a, b) => b.lastModified.getTime() - a.lastModified.getTime());
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Inspect a single folder, returning ProjectInfo if it looks like a project.
|
|
46
|
+
*/
|
|
47
|
+
function inspectFolder(path, name, mtime) {
|
|
48
|
+
const hasClaudeMd = existsSync(join(path, 'CLAUDE.md'));
|
|
49
|
+
const hasPackageJson = existsSync(join(path, 'package.json'));
|
|
50
|
+
const hasGit = existsSync(join(path, '.git'));
|
|
51
|
+
const hasDocsFolder = existsSync(join(path, 'docs'));
|
|
52
|
+
// Skip if doesn't look like a project
|
|
53
|
+
if (!hasClaudeMd && !hasPackageJson && !hasGit) {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
const type = detectProjectType(path, name, hasClaudeMd, hasPackageJson);
|
|
57
|
+
return {
|
|
58
|
+
name,
|
|
59
|
+
path,
|
|
60
|
+
type,
|
|
61
|
+
hasClaudeMd,
|
|
62
|
+
hasDocsFolder,
|
|
63
|
+
lastModified: mtime,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Detect project type from folder structure and contents.
|
|
68
|
+
*/
|
|
69
|
+
function detectProjectType(path, name, hasClaudeMd, hasPackageJson) {
|
|
70
|
+
// AI Studio: has services/ folder (polyglot pattern)
|
|
71
|
+
if (existsSync(join(path, 'services'))) {
|
|
72
|
+
return 'ai-studio';
|
|
73
|
+
}
|
|
74
|
+
// Brand site: Astro
|
|
75
|
+
if (existsSync(join(path, 'astro.config.mjs')) || existsSync(join(path, 'astro.config.ts'))) {
|
|
76
|
+
return 'brand-site';
|
|
77
|
+
}
|
|
78
|
+
// SaaS: monorepo with apps/ + packages/
|
|
79
|
+
if (existsSync(join(path, 'apps')) && existsSync(join(path, 'packages'))) {
|
|
80
|
+
// Check for AI markers (pgvector, embeddings, RAG)
|
|
81
|
+
const hasAiMarkers = existsSync(join(path, 'apps', 'api')) &&
|
|
82
|
+
(existsSync(join(path, 'packages', 'embeddings')) ||
|
|
83
|
+
name.toLowerCase().includes('ai'));
|
|
84
|
+
return hasAiMarkers ? 'saas-ai-pro' : 'saas-fullstack-pro';
|
|
85
|
+
}
|
|
86
|
+
// Data platform: has memory/ folder + ETL focus
|
|
87
|
+
if (existsSync(join(path, 'memory')) || existsSync(join(path, 'etl'))) {
|
|
88
|
+
return 'data-platform';
|
|
89
|
+
}
|
|
90
|
+
// Social ops: content-management folder structure
|
|
91
|
+
if (existsSync(join(path, 'platforms')) ||
|
|
92
|
+
(existsSync(join(path, 'projects')) && existsSync(join(path, 'docs', 'journal')))) {
|
|
93
|
+
return 'social-ops';
|
|
94
|
+
}
|
|
95
|
+
return 'unknown';
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Parse comma-separated folder paths from user input.
|
|
99
|
+
* Example: "~/MyJobs, ~/Projects" → ["/Users/.../MyJobs", "/Users/.../Projects"]
|
|
100
|
+
*/
|
|
101
|
+
export function parseFolderList(input) {
|
|
102
|
+
return input
|
|
103
|
+
.split(',')
|
|
104
|
+
.map((p) => p.trim())
|
|
105
|
+
.filter((p) => p.length > 0)
|
|
106
|
+
.map(expandHome);
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=scanner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scanner.js","sourceRoot":"","sources":["../../src/utils/scanner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
interface TelemetryConfig {
|
|
2
|
+
version: '1.0';
|
|
3
|
+
enabled: boolean;
|
|
4
|
+
installId: string;
|
|
5
|
+
decidedAt: string;
|
|
6
|
+
events: number;
|
|
7
|
+
}
|
|
8
|
+
export declare function setTelemetryConsent(enabled: boolean): TelemetryConfig;
|
|
9
|
+
export declare function getTelemetryStatus(): {
|
|
10
|
+
configured: boolean;
|
|
11
|
+
enabled: boolean;
|
|
12
|
+
installId?: string;
|
|
13
|
+
events?: number;
|
|
14
|
+
};
|
|
15
|
+
export interface TelemetryEvent {
|
|
16
|
+
event: string;
|
|
17
|
+
properties?: Record<string, string | number | boolean | null>;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Send a telemetry event — only if user opted in AND endpoint URL is set.
|
|
21
|
+
* Failures are silently ignored (never break the user's CLI).
|
|
22
|
+
* Times out after 2 seconds.
|
|
23
|
+
*/
|
|
24
|
+
export declare function trackEvent(evt: TelemetryEvent): Promise<void>;
|
|
25
|
+
export declare function getEndpointEnvVar(): string;
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
// Telemetry — OPT-IN only.
|
|
2
|
+
//
|
|
3
|
+
// What we collect (if user consents):
|
|
4
|
+
// - ai-bootstrap version
|
|
5
|
+
// - Node version + platform
|
|
6
|
+
// - Anonymous install ID (random UUID generated once)
|
|
7
|
+
// - Event name (install / update / doctor / mcp-list / backup-sync)
|
|
8
|
+
// - Bundle selections (foundation/dev/marketer/etc.) — no PII
|
|
9
|
+
// - MCP IDs selected (no credentials, no usernames)
|
|
10
|
+
//
|
|
11
|
+
// What we NEVER collect:
|
|
12
|
+
// - User profile data (name, role, country, goals)
|
|
13
|
+
// - Project paths or names
|
|
14
|
+
// - Knowledge file contents
|
|
15
|
+
// - MCP credentials
|
|
16
|
+
// - Anything that identifies the user beyond the random UUID
|
|
17
|
+
//
|
|
18
|
+
// Storage: ~/.claude/telemetry.json controls opt-in + install ID.
|
|
19
|
+
// Endpoint: AI_BOOTSTRAP_TELEMETRY_URL env var (default: disabled).
|
|
20
|
+
// If endpoint not set, telemetry is no-op even if user opted in.
|
|
21
|
+
import { existsSync, readFileSync, writeFileSync } from 'node:fs';
|
|
22
|
+
import { randomUUID, randomBytes } from 'node:crypto';
|
|
23
|
+
import { join } from 'node:path';
|
|
24
|
+
import { CLAUDE_DIR, ensureDir } from './paths.js';
|
|
25
|
+
const TELEMETRY_FILE = join(CLAUDE_DIR, 'telemetry.json');
|
|
26
|
+
const DEFAULT_ENDPOINT_ENV = 'AI_BOOTSTRAP_TELEMETRY_URL';
|
|
27
|
+
function generateInstallId() {
|
|
28
|
+
try {
|
|
29
|
+
return randomUUID();
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
return randomBytes(16).toString('hex');
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function readConfig() {
|
|
36
|
+
if (!existsSync(TELEMETRY_FILE))
|
|
37
|
+
return null;
|
|
38
|
+
try {
|
|
39
|
+
return JSON.parse(readFileSync(TELEMETRY_FILE, 'utf-8'));
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
function writeConfig(cfg) {
|
|
46
|
+
ensureDir(CLAUDE_DIR);
|
|
47
|
+
writeFileSync(TELEMETRY_FILE, JSON.stringify(cfg, null, 2), 'utf-8');
|
|
48
|
+
}
|
|
49
|
+
export function setTelemetryConsent(enabled) {
|
|
50
|
+
const existing = readConfig();
|
|
51
|
+
const cfg = {
|
|
52
|
+
version: '1.0',
|
|
53
|
+
enabled,
|
|
54
|
+
installId: existing?.installId ?? generateInstallId(),
|
|
55
|
+
decidedAt: new Date().toISOString(),
|
|
56
|
+
events: existing?.events ?? 0,
|
|
57
|
+
};
|
|
58
|
+
writeConfig(cfg);
|
|
59
|
+
return cfg;
|
|
60
|
+
}
|
|
61
|
+
export function getTelemetryStatus() {
|
|
62
|
+
const cfg = readConfig();
|
|
63
|
+
if (!cfg)
|
|
64
|
+
return { configured: false, enabled: false };
|
|
65
|
+
return { configured: true, enabled: cfg.enabled, installId: cfg.installId, events: cfg.events };
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Send a telemetry event — only if user opted in AND endpoint URL is set.
|
|
69
|
+
* Failures are silently ignored (never break the user's CLI).
|
|
70
|
+
* Times out after 2 seconds.
|
|
71
|
+
*/
|
|
72
|
+
export async function trackEvent(evt) {
|
|
73
|
+
const cfg = readConfig();
|
|
74
|
+
if (!cfg || !cfg.enabled)
|
|
75
|
+
return;
|
|
76
|
+
const endpoint = process.env[DEFAULT_ENDPOINT_ENV];
|
|
77
|
+
if (!endpoint)
|
|
78
|
+
return;
|
|
79
|
+
const payload = {
|
|
80
|
+
installId: cfg.installId,
|
|
81
|
+
version: process.env.npm_package_version ?? 'unknown',
|
|
82
|
+
nodeVersion: process.version,
|
|
83
|
+
platform: process.platform,
|
|
84
|
+
arch: process.arch,
|
|
85
|
+
timestamp: new Date().toISOString(),
|
|
86
|
+
event: evt.event,
|
|
87
|
+
properties: evt.properties ?? {},
|
|
88
|
+
};
|
|
89
|
+
try {
|
|
90
|
+
const controller = new AbortController();
|
|
91
|
+
const timeout = setTimeout(() => controller.abort(), 2000);
|
|
92
|
+
await fetch(endpoint, {
|
|
93
|
+
method: 'POST',
|
|
94
|
+
headers: { 'Content-Type': 'application/json' },
|
|
95
|
+
body: JSON.stringify(payload),
|
|
96
|
+
signal: controller.signal,
|
|
97
|
+
});
|
|
98
|
+
clearTimeout(timeout);
|
|
99
|
+
writeConfig({ ...cfg, events: cfg.events + 1 });
|
|
100
|
+
}
|
|
101
|
+
catch {
|
|
102
|
+
// Silently ignore — telemetry must never break the CLI
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
export function getEndpointEnvVar() {
|
|
106
|
+
return DEFAULT_ENDPOINT_ENV;
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=telemetry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/utils/telemetry.ts"],"names":[],"mappings":"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"}
|
package/dist/wizard.d.ts
ADDED